package Ġcom . a 1 0 m ia om iao . bil im iao . net word Ċ Ċ import Ġcom . a 1 0 m ia om iao . bil im iao . entity . Result Info Ċ import Ġcom . a 1 0 m ia om iao . bil im iao . entity . Video Info Ċ import Ġio . reactivex . Observable Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġ 1 0 åĸ µ åĸ µ Ġon Ġ 2 0 1 7 / 1 1 / 1 4 . Ċ Ġ*/ Ċ object ĠB ili ApiService Ġ{ ĊĊĠĠĠ Ġfun Ġcreate Url ( url : ĠString , Ġvar arg Ġpairs : ĠPair < String , ĠString >): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠApi Helper . create Params (* pairs ) ĊĠĠĠĠĠĠĠ Ġreturn Ġurl Ġ+ Ġ" ?" Ġ+ ĠApi Helper . url encode ( params ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġb ili Api ( path : ĠString , Ġvar arg Ġpairs : ĠPair < String , ĠString >): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcreate Url (" https :// api . b ilib ili . com /$ path ", Ġ* pairs ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġb ili App ( path : ĠString , Ġvar arg Ġpairs : ĠPair < String , ĠString >): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcreate Url (" https :// app . b ilib ili . com /$ path ", Ġ* pairs ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġb ili Bang umi ( path : ĠString , Ġvar arg Ġpairs : ĠPair < String , ĠString >): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcreate Url (" https :// bang umi . b ilib ili . com /$ path ", Ġ* pairs ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// ------------- åĪĨ åĮº ----------------------- ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ åĪĨ åĮº è§Ĩé¢ĳ åĪĹè¡¨ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Region Type Video List ( rid : ĠInt , Ġrank Order : ĠString , Ġpage Num : ĠInt , ĠpageSize : ĠInt , Ġtime From : ĠString , Ġtime To : ĠString ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// s . search . b ilib ili . com / cate / search ? main _ ver = v 3 & search _ type = video & view _ type = hot _ rank & order =$ rank Order & copy _ right =- 1 & cate _ id =$ rid & page =$ pageNum & page size =$ pageSize & time _ from =$ time From & time _ to =$ time To " ĊĊĠĠĠ Ġ// ------------- è§Ĩé¢ĳ ä¿¡æģ¯ éĥ¨åĪĨ ----------- ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ è§Ĩé¢ĳ ä¿¡æģ¯ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Video Info ( aid : ĠString ) Ġ= Ġb ili App (" x / v 2 / view ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" aid " Ġto Ġaid , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" autoplay " Ġto Ġ" 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" qn " Ġto Ġ" 3 2 ") ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ è§Ĩé¢ĳ ä¿¡æģ¯ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Video Info By B vid ( b vid : ĠString ) Ġ= Ġb ili App (" x / v 2 / view ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" b vid " Ġto Ġb vid , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" autoplay " Ġto Ġ" 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" qn " Ġto Ġ" 3 2 ") ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ çķª åī § ä¿¡æģ¯ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Bang umi Info ( season Id : ĠString ) Ġ= Ġb ili Bang umi (" view / api / season ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" season _ id " Ġto Ġseason Id ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åįķ éĽĨ çķª åī § ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Season Episode Info ( id : ĠString ) Ġ= Ġb ili Api (" pg c / view / app / season ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" ep _ id " Ġto Ġid ) ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ çĽ´ æĴŃ ä¿¡æģ¯ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Live Info ( aid : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġurl Ġ= Ġ" https :// live . b ilib ili . com / App Room / index ? _ device = android & access _ key =& app key =${ Api Helper . app Key _ Android }& build = 4 3 4 0 0 0 & bul d = 4 3 4 0 0 0 & jump From = 2 4 0 0 0 & mob i _ app = android & platform = android & room _ id =$ aid & scale = xx hdpi " ĊĠĠĠĠĠĠĠ Ġurl Ġ+= Ġ"& sign =" Ġ+ ĠApi Helper . get Android Sign ( url ) ĊĠĠĠĠĠĠĠ Ġreturn Ġurl ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġget Room Info ( id : ĠString ) Ġ= Ġcreate Url (" https :// api . live . b ilib ili . com / room / v 1 / Room / get _ info ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" id " Ġto Ġid ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ éŁ³ é¢ĳ ä¿¡æģ¯ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Audio Info ( id : ĠString ) Ġ= Ġb ili Api (" audio / music - service - c / songs / playing " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġ" song _ id " Ġto Ġid ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ ä¸ĵ æłı ä¿¡æģ¯ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Cv Info ( aid : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġurl Ġ= Ġ" https :// api . b ilib ili . com / x / article / view info ? app key = 1 d 8 b 6 e 7 d 4 5 2 3 3 4 3 6 & build = 5 3 4 0 0 0 0 & id =$ aid & mob i _ app = android & platform = android & ts =${ Api Helper . getTime S pen () }" ĊĠĠĠĠĠĠĠ Ġurl Ġ+= Ġ"& sign =" Ġ+ ĠApi Helper . getNew Sign ( url ) ĊĠĠĠĠĠĠĠ Ġreturn Ġurl ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ å¼¹ å¹ķ åĪĹè¡¨ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Dan mak u List ( cid : ĠString ) Ġ= Ġ" https :// comment . b ilib ili . com /$ cid . xml " ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ è§Ĩé¢ĳ è¯Ħè®º ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Comment List ( aid : ĠString , Ġmin id : ĠInt , ĠpageSize : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġhttps :// api . b ilib ili . com / x / v 2 / reply / cursor ? app key = 1 d 8 b 6 e 7 d 4 5 2 3 3 4 3 6 & build = 5 3 4 0 0 0 0 & max _ id = 2 1 8 & mob i _ app = android & oid = 3 6 2 8 6 2 6 3 & plat = 2 & platform = android & size = 2 0 & sort = 0 & ts = 1 5 4 3 0 7 2 9 4 8 & type = 1 & sign = 5 3 df 6 7 ea 7 8 1 6 a 2 bf 6 4 4 b 4 9 0 7 5 bb 1 4 0 6 e ĊĠĠĠĠĠĠĠ Ġ// Ġhttps :// api . b ilib ili . com / x / v 2 / reply / cursor ? app key = 1 d 8 b 6 e 7 d 4 5 2 3 3 4 3 6 & build = 5 3 4 0 0 0 0 & mob i _ app = android & oid = 3 6 4 1 7 1 8 9 & plat = 2 & platform = android & size = 2 0 & sort = 1 5 4 3 0 7 3 2 6 6 1 9 9 & ts = 1 5 4 3 0 7 2 1 8 7 & type = 1 & sign = 4 9 da 4 5 9 2 3 9 fa 0 c 2 4 9 b 9 5 f 3 2 2 5 2 5 b 8 6 3 6 ĊĠĠĠĠĠĠĠ Ġvar Ġurl Ġ= Ġ" https :// api . b ilib ili . com / x / v 2 / reply / cursor ? app key = 1 d 8 b 6 e 7 d 4 5 2 3 3 4 3 6 & build = 5 3 4 0 0 0 0 & mob i _ app = android & oid =$ aid & plat = 2 & platform = android & size =$ pageSize & sort = 0 & ts =${ Api Helper . getTime S pen ()} & type = 1 " ĊĠĠĠĠĠĠĠ Ġif Ġ( min id Ġ> Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ+= Ġ"& max _ id =" Ġ+ Ġ( min id Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġurl Ġ+= Ġ"& sign =" Ġ+ ĠApi Helper . getNew Sign ( url ) ĊĠĠĠĠĠĠĠ Ġreturn Ġurl ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ è¯Ħè®º åĽŀå¤į åĪĹè¡¨ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Comment Reply List ( oid : ĠString , Ġr pid : ĠString , Ġmin _ id : ĠInt , ĠpageSize : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠGET Ġ/ x / v 2 / reply / reply / cursor ? app key = 1 d 8 b 6 e 7 d 4 5 2 3 3 4 3 6 & build = 5 3 9 0 0 0 0 & channel = b ilib ili 1 9 7 & mob i _ app = android & oid = 4 9 0 0 4 3 8 7 & plat = 2 & platform = android & root = 1 5 2 0 7 0 2 9 6 1 & size = 2 0 & sort = 0 & ts = 1 5 5 5 2 2 3 6 2 3 & type = 1 & sign = 4 4 e 7 d 9 7 3 8 c 1 c 1 7 1 7 0 3 f 2 c 9 7 2 c 9 9 d 9 6 7 9 ĠHTTP / 1 . 1 ĊĠĠĠĠĠĠĠ Ġ// ĠGET Ġ/ x / v 2 / reply / reply / cursor ? app key = 1 d 8 b 6 e 7 d 4 5 2 3 3 4 3 6 & build = 5 3 9 0 0 0 0 & channel = b ilib ili 1 9 7 & min _ id = 2 2 & mob i _ app = android & oid = 4 9 0 0 4 3 8 7 & plat = 2 & platform = android & root = 1 5 2 0 7 0 2 9 6 1 & size = 2 0 & sort = 0 & ts = 1 5 5 5 2 2 3 6 4 4 & type = 1 & sign = f 9 cc 0 e 3 7 cae 8 4 9 8 c 0 2 2 4 5 cd 6 f 7 6 b 9 4 9 f ĠHTTP / 1 . 1 ĊĠĠĠĠĠĠĠ Ġ// ĠGET Ġ/ x / v 2 / reply / reply / cursor ? app key = 1 d 8 b 6 e 7 d 4 5 2 3 3 4 3 6 & build = 5 3 9 0 0 0 0 & channel = b ilib ili 1 9 7 & min _ id = 4 2 & mob i _ app = android & oid = 4 9 0 0 4 3 8 7 & plat = 2 & platform = android & root = 1 5 2 0 7 0 2 9 6 1 & size = 2 0 & sort = 0 & ts = 1 5 5 5 2 2 3 6 4 4 & type = 1 & sign = 1 e 1 d 0 8 3 c 4 e 9 da 2 aac 4 9 cf 1 7 3 d 8 0 6 0 a 6 c ĠHTTP / 1 . 1 ĊĠĠĠĠĠĠĠ Ġvar Ġurl Ġ= Ġ" https :// api . b ilib ili . com / x / v 2 / reply / reply / cursor ? app key = 1 d 8 b 6 e 7 d 4 5 2 3 3 4 3 6 & build = 5 3 9 0 0 0 0 & channel = b ilib ili 1 9 7 & mob i _ app = android & oid =$ oid & plat = 2 & platform = android & root =$ r pid & size =$ pageSize & sort = 0 & ts =${ Api Helper . getTime S pen ()} & type = 1 " ĊĠĠĠĠĠĠĠ Ġif Ġ( min _ id Ġ> Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ+= Ġ"& min _ id =" Ġ+ Ġ( min _ id Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġurl Ġ+= Ġ"& sign =" Ġ+ ĠApi Helper . getNew Sign ( url ) ĊĠĠĠĠĠĠĠ Ġreturn Ġurl ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ------------- up ä¸» éĥ¨åĪĨ --------------- ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ up ä¸» çļĦ è§Ĩé¢ĳ åĪĹè¡¨ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Upper Video ( mid : ĠLong , Ġpage Num : ĠInt , ĠpageSize : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// api . b ilib ili . com / x / space / arc / search ? mid =$ mid & pn =$ pageNum & ps =$ pageSize & keyword =& order = pub date " ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ up ä¸» çļĦ é¢ĳ éģĵ åĪĹè¡¨ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Upper Chan ne ( mid : ĠLong ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// api . b ilib ili . com / x / space / channel / index ? mid =$ mid & guest = false & json p = json p " ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ up ä¸» é¢ĳ éģĵ çļĦ è§Ĩé¢ĳ åĪĹè¡¨ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Upper Chan ne Video ( mid : ĠInt , Ġcid : ĠInt , Ġpage Num : ĠInt , ĠpageSize : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// api . b ilib ili . com / x / space / channel / video ? mid =$ mid & cid =$ cid & pn =$ pageNum & ps =$ pageSize & order = 0 & json p = json p " ĊĊĠĠĠ Ġ// ------------ æĲľç´¢ éĥ¨åĪĨ ---------------- ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç» ¼ åĲĪ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Search Archive ( keyword : ĠString , Ġpage Num : ĠInt , ĠpageSize : ĠInt , Ġorder : ĠString , Ġduration : ĠInt , Ġrid : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// app . b ilib ili . com / x / v 2 / search ? action Key = app key & app key = 2 7 eb 5 3 fc 9 0 5 8 f 8 c 3 & build = 3 7 1 0 & device = phone & duration =$ duration & mob i _ app = iphone & order =$ order & platform = ios & rid =$ rid & keyword =$ keyword & pn =$ pageNum & ps =$ pageSize " ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çķª åī § ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Search Bang umi ( keyword : ĠString , Ġpage Num : ĠInt , ĠpageSize : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// app . b ilib ili . com / x / v 2 / search / type ? action Key = app key & app key = 2 7 eb 5 3 fc 9 0 5 8 f 8 c 3 & build = 3 7 1 0 & device = phone & mob i _ app = iphone & platform = ios & type = 1 & keyword =$ keyword & pn =$ pageNum & ps =$ pageSize " ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çĽ´ æĴŃ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Search Upper ( keyword : ĠString , Ġpage Num : ĠInt , ĠpageSize : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// app . b ilib ili . com / x / v 2 / search / type ? action Key = app key & app key = 2 7 eb 5 3 fc 9 0 5 8 f 8 c 3 & build = 3 7 1 0 & device = phone & mob i _ app = iphone & platform = ios & type = 2 & keyword =$ keyword & pn =$ pageNum & ps =$ pageSize " ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġd ili ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Search D ili ( keyword : ĠString , Ġpage Num : ĠInt , ĠpageSize : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// 1 0 m ia om iao . cn / m iao / bil im iao / search / bang umi ? keyword =$ keyword & pn =$ pageNum & ps =$ pageSize & v = 0 " ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å½± è§Ĩ æĲľç´¢ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Search Movie ( keyword : ĠString , Ġpage Num : ĠInt , ĠpageSize : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// app . b ilib ili . com / x / v 2 / search / type ? action Key = app key & app key = 2 7 eb 5 3 fc 9 0 5 8 f 8 c 3 & build = 3 7 1 0 & device = phone & mob i _ app = iphone & platform = ios & type = 3 & keyword =$ keyword & pn =$ pageNum & ps =$ pageSize " ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åħ³éĶ®åŃĹ åĪĹè¡¨ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠgetKey Word ( keyword : ĠString ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// s . search . b ilib ili . com / main / suggest ? suggest _ type = accur ate & sub _ type = tag & main _ ver = v 1 & term =$ keyword " ĊĊĠĠĠ Ġfun Ġget Space ( id : ĠString ) Ġ= Ġb ili App (" x / v 2 / space ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" vm id " Ġto Ġid ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æĶ¶ èĹı å¤¹ åĪĹè¡¨ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġg at Med ial ist () Ġ= Ġb ili Api (" med ial ist / gateway / base / space ") ĊĊĠĠĠ Ġfun Ġg at Med ial ist ( up _ mid : ĠLong ) Ġ= Ġb ili Api (" med ial ist / gateway / base / space ", ĊĠĠĠĠĠĠĠ Ġ" up _ mid " Ġto Ġup _ mid . toString ()) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æĶ¶ èĹı å¤¹ åĪĹè¡¨ è¯¦æĥħ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġg at Med ial ist Detail ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmedia _ id : ĠLong , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpn : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġps : ĠInt ĊĠĠĠ Ġ) Ġ= Ġb ili Api ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" med ial ist / gateway / base / detail ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" media _ id " Ġto Ġmedia _ id . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" pn " Ġto Ġpn . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" ps " Ġto Ġps . toString () ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æĶ¶ èĹı çķª åī § ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Follow Bang umi ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpn : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġps : ĠInt ĊĠĠĠ Ġ) Ġ Ġ= Ġb ili Api (" pg c / app / follow / bang umi ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" pn " Ġto Ġpn . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" ps " Ġto Ġps . toString () ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfun Ġget Follow Bang umi ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv mid : ĠLong , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpn : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġps : ĠInt ĊĠĠĠ Ġ) Ġ= Ġb ili App (" x / v 2 / space / bang umi ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" vm id " Ġto Ġv mid . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" pn " Ġto Ġpn . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" ps " Ġto Ġps . toString ()) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åİĨåı² è®°å½ķ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget History ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpn : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġps : ĠInt ĊĠĠĠ Ġ) Ġ= Ġb ili Api (" x / v 2 / history ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" pn " Ġto Ġpn . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" ps " Ġto Ġps . toString () ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfun Ġget Region () Ġ= Ġb ili App (" x / v 2 / region / index ") ĊĊ Ċ }