11
22/*ziye
33
4- 11.3 修复重写问题
5- 11.9 调整礼盒通知问题
6- 11.10 修复loon重写问题
4+ //返利网1212天天领现金,活动时间 12月 5号 9号到12号
5+ 每天1.95
76
7+ 下载地址 http://m.a8fdj.cn/Invite/promotion?id=775&spm=page_name.h5.pty-wxzcpv~std-65354&go=http%3A%2F%2Fhuodong.a8fdj.cn%2Fh5%2FInvitefriendsreward%2FregisterCallback%3Fuserid%3D373511081%26id%3D775%26sn%3D47ecab06aba43e015082e531d8214eb5
88
9- 复制到微信里打开领取红包并下载 http://huodong.0w2ne27.cn/h5/Fanlishare20201111/share?spm=page_name.h5.pty-sharepv~module-home~std-76452&invite_userid=373511081
10-
11- 下载后
9+ 下载后登录
1210
1311进入 我的 点击 天天领现金 获取cookie
1412
1513⚠️会卡住,但是能获取到cookie,然后注释重写就行了!
16-
14+ 提现请先微信关注返利网公众号
1715
1816hostname=huodong.fanli.com,
1917
18+ 时间👇
2019
21-
22- #返利网红包
23- ############## 圈x
24- https:\/\/huodong\.fanli\.com\/h5\/Fanlishare20201111\/ajaxInit url script-request-header https://raw.githubusercontent.com/ziye12/JavaScript/master/flwhbziye.js
20+ 0 1-16 10 5,9,10,11,12 * *
2521
2622
2723
24+ #返利网红包
25+ ############## 圈x
26+ https:\/\/huodong\.fanli\.com\/h5\/Fanlishare20201212\/ajaxInit url script-request-header https://raw.githubusercontent.com/ziye12/JavaScript/master/flwhbziye.js
2827
2928
3029
3130#返利网红包
3231############## loon
3332
34- http-request ^https:\/\/huodong\.fanli\.com\/h5\/Fanlishare20201111\/ajaxInit script-path=https://raw.githubusercontent.com/ziye12/JavaScript/master/flwhbziye.js, timeout=10, tag=返利网获取ck
35-
3633
34+ https:\/\/huodong\.fanli\.com\/h5\/Fanlishare20201212\/ajaxDoTask76728 script-path=https://raw.githubusercontent.com/ziye12/JavaScript/master/flwhbziye.js, requires-header=true
3735
3836
3937#返利网红包
4038############## surge
4139
42- 返利网红包 = type=http-request,pattern=https:\/\/huodong\.fanli\.com\/h5\/Fanlishare20201111\/ajaxInit ,script-path=https://raw.githubusercontent.com/ziye12/JavaScript/master/flwhbziye.js, requires-header=true
40+ 返利网红包 = type=http-request,pattern=https:\/\/huodong\.fanli\.com\/h5\/Fanlishare20201212\/ajaxDoTask76728 ,script-path=https://raw.githubusercontent.com/ziye12/JavaScript/master/flwhbziye.js, requires-header=true
4341
4442
4543
@@ -50,14 +48,14 @@ http-request ^https:\/\/huodong\.fanli\.com\/h5\/Fanlishare20201111\/ajaxInit sc
5048
5149
5250
53- const sy = init ( )
54-
5551const jsname = '返利网红包'
52+ const $ = Env ( jsname )
53+
5654
5755const logs = 0 ; //0为关闭日志,1为开启
5856const notifyInterval = 1 //0为关闭通知,1为开启
5957const jbid = 1 ;
60- const txbz = 1 //设置余额大于等于多少提现,必须大于0.3
58+ const txbz = 1.95 //设置余额大于等于多少提现,必须大于0.3
6159
6260
6361
@@ -69,9 +67,9 @@ const flwhbheaderKey = 'flwhbhd'+jbid
6967
7068
7169
72- const flwhburlVal = sy . getdata ( flwhburlKey )
70+ const flwhburlVal = $ . getdata ( flwhburlKey )
7371
74- const flwhbheaderVal = sy . getdata ( flwhbheaderKey )
72+ const flwhbheaderVal = $ . getdata ( flwhbheaderKey )
7573
7674const flwhbbodyVal = ''
7775
@@ -101,15 +99,15 @@ function GetCookie() {
10199
102100
103101
104- if ( $request && $request . url . indexOf ( "/ ajaxInit?init_reward=&invite_userid=&wx_openid= " ) >= 0 ) {
102+ if ( $request && $request . url . indexOf ( "ajaxInit" ) >= 0 ) {
105103
106104 const flwhburlVal = $request . url
107- if ( flwhburlVal ) sy . setdata ( flwhburlVal , flwhburlKey )
108- sy . log ( `[${ jsname } ] 获取url请求: 成功,flwhburlVal: ${ flwhburlVal } ` )
105+ if ( flwhburlVal ) $ . setdata ( flwhburlVal , flwhburlKey )
106+ $ . log ( `[${ jsname } ] 获取url请求: 成功,flwhburlVal: ${ flwhburlVal } ` )
109107const flwhbheaderVal = JSON . stringify ( $request . headers )
110- if ( flwhbheaderVal ) sy . setdata ( flwhbheaderVal , flwhbheaderKey )
111- sy . log ( `[${ jsname } ] 获取Cookie: 成功,flwhbheaderVal: ${ flwhbheaderVal } ` )
112- sy . msg ( flwhbheaderKey , `获取Cookie: 成功🎉` , `` )
108+ if ( flwhbheaderVal ) $ . setdata ( flwhbheaderVal , flwhbheaderKey )
109+ $ . log ( `[${ jsname } ] 获取Cookie: 成功,flwhbheaderVal: ${ flwhbheaderVal } ` )
110+ $ . msg ( flwhbheaderKey , `获取Cookie: 成功🎉` , `` )
113111
114112
115113 }
@@ -135,11 +133,13 @@ const flwhbheaderVal = JSON.stringify($request.headers)
135133 { ( function ( i ) {
136134 setTimeout ( function ( ) {
137135
138- if ( i == 0 ) flwhbtask ( i ) ;
139- if ( i == 1 ) flwhblh ( i ) ;
136+ if ( i == 0 ) flwhbtask ( ) ;
137+ if ( i == 1 ) flwhblh ( ) ;
140138
141- else if ( i == 2 ) showmsg ( i ) ;
142- } , ( i + 1 ) * 1000 ) ;
139+ else if ( i == 2 ) {
140+ showmsg ( )
141+ $ . done ( ) }
142+ } , ( i + 1 ) * 500 ) ;
143143 } ) ( i )
144144
145145
@@ -158,16 +158,14 @@ return new Promise((resolve, reject) => {
158158 headers : JSON . parse ( flwhbheaderVal ) ,
159159 body : flwhbbodyVal
160160 } ;
161- sy . get ( toflwhburl , ( error , response , data ) => {
162- if ( logs ) sy . log ( `${ jsname } , 账户信息: ${ data } ` )
161+ $ . get ( toflwhburl , ( error , response , data ) => {
162+ if ( logs ) $ . log ( `${ jsname } , 账户信息: ${ data } ` )
163163 signinfo = JSON . parse ( data )
164164 if ( signinfo . status == 1 )
165165 {
166166tz += '【收益总计】🎉:' + signinfo . data . user_total_money + '元' + '\n' +
167167'【账户余额】🎉:' + signinfo . data . user_current_money + '\n' +
168- '【邀请奖励】🎉:' + signinfo . data . invite_money + '元' + '\n' +
169- '【邀请人数】🎉:' + signinfo . data . invite_users . length + '\n'
170-
168+ '【今日奖励】🎉:' + signinfo . data . get_money_76728 + '元' + '\n'
171169
172170}
173171
@@ -193,13 +191,13 @@ return new Promise((resolve, reject) => {
193191
194192 const toflwhblhurl = {
195193
196- url : 'https://huodong.fanli.com/h5/Fanlishare20201111/ ajaxDoTask76728' ,
194+ url : flwhburlVal . replace ( / a j a x I n i t / g , ` ajaxDoTask76728` ) ,
197195
198196 headers : JSON . parse ( flwhbheaderVal ) ,
199197 body : flwhbbodyVal
200198 } ;
201- sy . get ( toflwhblhurl , ( error , response , data ) => {
202- if ( logs ) sy . log ( `${ jsname } , 惊喜礼盒: ${ data } ` )
199+ $ . get ( toflwhblhurl , ( error , response , data ) => {
200+ if ( logs ) $ . log ( `${ jsname } , 惊喜礼盒: ${ data } ` )
203201 jxlh = JSON . parse ( data )
204202 if ( jxlh . data . remain_num_76728 > 0 )
205203 {
@@ -240,13 +238,13 @@ return new Promise((resolve, reject) => {
240238
241239 const toflwhbtxurl = {
242240
243- url : 'https://huodong.fanli.com/h5/Fanlishare20201111/ ajaxExchangeCash' ,
241+ url : flwhburlVal . replace ( / a j a x I n i t / g , ` ajaxExchangeCash` ) ,
244242
245243 headers : JSON . parse ( flwhbheaderVal ) ,
246244
247245 } ;
248- sy . get ( toflwhbtxurl , ( error , response , data ) => {
249- if ( logs ) sy . log ( `${ jsname } , 余额提现: ${ data } ` )
246+ $ . get ( toflwhbtxurl , ( error , response , data ) => {
247+ if ( logs ) $ . log ( `${ jsname } , 余额提现: ${ data } ` )
250248 txtx = JSON . parse ( data )
251249 if ( txtx . status == 1 )
252250 {
@@ -275,65 +273,12 @@ tz+='【余额提现】✖️:'+txtx.info+'\n'
275273
276274function showmsg ( ) {
277275
278- console . log ( tz )
276+
279277
280278if ( notifyInterval == 1 )
281- sy . msg ( jsname , '' , tz )
279+ $ . msg ( jsname , '' , tz )
282280}
283281
284282
285- function init ( ) {
286- isSurge = ( ) => {
287- return undefined !== this . $httpClient
288- }
289- isQuanX = ( ) => {
290- return undefined !== this . $task
291- }
292- getdata = ( key ) => {
293- if ( isSurge ( ) ) return $persistentStore . read ( key )
294- if ( isQuanX ( ) ) return $prefs . valueForKey ( key )
295- }
296- setdata = ( key , val ) => {
297- if ( isSurge ( ) ) return $persistentStore . write ( key , val )
298- if ( isQuanX ( ) ) return $prefs . setValueForKey ( key , val )
299- }
300- msg = ( title , subtitle = '' , body = '' ) => {
301- if ( isSurge ( ) ) $notification . post ( title , subtitle , body )
302- if ( isQuanX ( ) ) $notify ( title , subtitle , body )
303- }
304- log = ( msg ) => {
305- console . log ( `${ msg } \n` )
306- }
307- get = ( options , callback ) => {
308- if ( isQuanX ( ) ) {
309- if ( typeof options == 'string' ) options = { url : options }
310- options [ 'method' ] = 'GET'
311- return $task . fetch ( options ) . then (
312- ( response ) => {
313- response [ 'status' ] = response . statusCode
314- callback ( null , response , response . body )
315- } ,
316- ( reason ) => callback ( reason . error , null , null )
317- )
318- }
319- if ( isSurge ( ) ) return $httpClient . get ( options , callback )
320- }
321- post = ( options , callback ) => {
322- if ( isQuanX ( ) ) {
323- if ( typeof options == 'string' ) options = { url : options }
324- options [ 'method' ] = 'POST'
325- $task . fetch ( options ) . then (
326- ( response ) => {
327- response [ 'status' ] = response . statusCode
328- callback ( null , response , response . body )
329- } ,
330- ( reason ) => callback ( reason . error , null , null )
331- )
332- }
333- if ( isSurge ( ) ) $httpClient . post ( options , callback )
334- }
335- done = ( value = { } ) => {
336- $done ( value )
337- }
338- return { isSurge, isQuanX, msg, log, getdata, setdata, get, post, done }
339- }
283+ // prettier-ignore
284+ function Env ( t , e ) { class s { constructor ( t ) { this . env = t } send ( t , e = "GET" ) { t = "string" == typeof t ?{ url :t } :t ; let s = this . get ; return "POST" === e && ( s = this . post ) , new Promise ( ( e , i ) => { s . call ( this , t , ( t , s , r ) => { t ?i ( t ) :e ( s ) } ) } ) } get ( t ) { return this . send . call ( this . env , t ) } post ( t ) { return this . send . call ( this . env , t , "POST" ) } } return new class { constructor ( t , e ) { this . name = t , this . http = new s ( this ) , this . data = null , this . dataFile = "box.dat" , this . logs = [ ] , this . isMute = ! 1 , this . isNeedRewrite = ! 1 , this . logSeparator = "\n" , this . startTime = ( new Date ) . getTime ( ) , Object . assign ( this , e ) , this . log ( "" , `\ud83d\udd14${ this . name } , \u5f00\u59cb!` ) } isNode ( ) { return "undefined" != typeof module && ! ! module . exports } isQuanX ( ) { return "undefined" != typeof $task } isSurge ( ) { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon ( ) { return "undefined" != typeof $loon } toObj ( t , e = null ) { try { return JSON . parse ( t ) } catch { return e } } toStr ( t , e = null ) { try { return JSON . stringify ( t ) } catch { return e } } getjson ( t , e ) { let s = e ; const i = this . getdata ( t ) ; if ( i ) try { s = JSON . parse ( this . getdata ( t ) ) } catch { } return s } setjson ( t , e ) { try { return this . setdata ( JSON . stringify ( t ) , e ) } catch { return ! 1 } } getScript ( t ) { return new Promise ( e => { this . get ( { url :t } , ( t , s , i ) => e ( i ) ) } ) } runScript ( t , e ) { return new Promise ( s => { let i = this . getdata ( "@chavy_boxjs_userCfgs.httpapi" ) ; i = i ?i . replace ( / \n / g, "" ) . trim ( ) :i ; let r = this . getdata ( "@chavy_boxjs_userCfgs.httpapi_timeout" ) ; r = r ?1 * r :20 , r = e && e . timeout ?e . timeout :r ; const [ o , h ] = i . split ( "@" ) , a = { url :`http://${ h } /v1/scripting/evaluate` , body :{ script_text :t , mock_type :"cron" , timeout :r } , headers :{ "X-Key" :o , Accept :"*/*" } } ; this . post ( a , ( t , e , i ) => s ( i ) ) } ) . catch ( t => this . logErr ( t ) ) } loaddata ( ) { if ( ! this . isNode ( ) ) return { } ; { this . fs = this . fs ?this . fs :require ( "fs" ) , this . path = this . path ?this . path :require ( "path" ) ; const t = this . path . resolve ( this . dataFile ) , e = this . path . resolve ( process . cwd ( ) , this . dataFile ) , s = this . fs . existsSync ( t ) , i = ! s && this . fs . existsSync ( e ) ; if ( ! s && ! i ) return { } ; { const i = s ?t :e ; try { return JSON . parse ( this . fs . readFileSync ( i ) ) } catch ( t ) { return { } } } } } writedata ( ) { if ( this . isNode ( ) ) { this . fs = this . fs ?this . fs :require ( "fs" ) , this . path = this . path ?this . path :require ( "path" ) ; const t = this . path . resolve ( this . dataFile ) , e = this . path . resolve ( process . cwd ( ) , this . dataFile ) , s = this . fs . existsSync ( t ) , i = ! s && this . fs . existsSync ( e ) , r = JSON . stringify ( this . data ) ; s ?this . fs . writeFileSync ( t , r ) :i ?this . fs . writeFileSync ( e , r ) :this . fs . writeFileSync ( t , r ) } } lodash_get ( t , e , s ) { const i = e . replace ( / \[ ( \d + ) \] / g, ".$1" ) . split ( "." ) ; let r = t ; for ( const t of i ) if ( r = Object ( r ) [ t ] , void 0 === r ) return s ; return r } lodash_set ( t , e , s ) { return Object ( t ) !== t ?t :( Array . isArray ( e ) || ( e = e . toString ( ) . match ( / [ ^ . [ \] ] + / g) || [ ] ) , e . slice ( 0 , - 1 ) . reduce ( ( t , s , i ) => Object ( t [ s ] ) === t [ s ] ?t [ s ] :t [ s ] = Math . abs ( e [ i + 1 ] ) >> 0 == + e [ i + 1 ] ?[ ] :{ } , t ) [ e [ e . length - 1 ] ] = s , t ) } getdata ( t ) { let e = this . getval ( t ) ; if ( / ^ @ / . test ( t ) ) { const [ , s , i ] = / ^ @ ( .* ?) \. ( .* ?) $ / . exec ( t ) , r = s ?this . getval ( s ) :"" ; if ( r ) try { const t = JSON . parse ( r ) ; e = t ?this . lodash_get ( t , i , "" ) :e } catch ( t ) { e = "" } } return e } setdata ( t , e ) { let s = ! 1 ; if ( / ^ @ / . test ( e ) ) { const [ , i , r ] = / ^ @ ( .* ?) \. ( .* ?) $ / . exec ( e ) , o = this . getval ( i ) , h = i ?"null" === o ?null :o || "{}" :"{}" ; try { const e = JSON . parse ( h ) ; this . lodash_set ( e , r , t ) , s = this . setval ( JSON . stringify ( e ) , i ) } catch ( e ) { const o = { } ; this . lodash_set ( o , r , t ) , s = this . setval ( JSON . stringify ( o ) , i ) } } else s = this . setval ( t , e ) ; return s } getval ( t ) { return this . isSurge ( ) || this . isLoon ( ) ?$persistentStore . read ( t ) :this . isQuanX ( ) ?$prefs . valueForKey ( t ) :this . isNode ( ) ?( this . data = this . loaddata ( ) , this . data [ t ] ) :this . data && this . data [ t ] || null } setval ( t , e ) { return this . isSurge ( ) || this . isLoon ( ) ?$persistentStore . write ( t , e ) :this . isQuanX ( ) ?$prefs . setValueForKey ( t , e ) :this . isNode ( ) ?( this . data = this . loaddata ( ) , this . data [ e ] = t , this . writedata ( ) , ! 0 ) :this . data && this . data [ e ] || null } initGotEnv ( t ) { this . got = this . got ?this . got :require ( "got" ) , this . cktough = this . cktough ?this . cktough :require ( "tough-cookie" ) , this . ckjar = this . ckjar ?this . ckjar :new this . cktough . CookieJar , t && ( t . headers = t . headers ?t . headers :{ } , void 0 === t . headers . Cookie && void 0 === t . cookieJar && ( t . cookieJar = this . ckjar ) ) } get ( t , e = ( ( ) => { } ) ) { t . headers && ( delete t . headers [ "Content-Type" ] , delete t . headers [ "Content-Length" ] ) , this . isSurge ( ) || this . isLoon ( ) ?( this . isSurge ( ) && this . isNeedRewrite && ( t . headers = t . headers || { } , Object . assign ( t . headers , { "X-Surge-Skip-Scripting" :! 1 } ) ) , $httpClient . get ( t , ( t , s , i ) => { ! t && s && ( s . body = i , s . statusCode = s . status ) , e ( t , s , i ) } ) ) :this . isQuanX ( ) ?( this . isNeedRewrite && ( t . opts = t . opts || { } , Object . assign ( t . opts , { hints :! 1 } ) ) , $task . fetch ( t ) . then ( t => { const { statusCode :s , statusCode :i , headers :r , body :o } = t ; e ( null , { status :s , statusCode :i , headers :r , body :o } , o ) } , t => e ( t ) ) ) :this . isNode ( ) && ( this . initGotEnv ( t ) , this . got ( t ) . on ( "redirect" , ( t , e ) => { try { if ( t . headers [ "set-cookie" ] ) { const s = t . headers [ "set-cookie" ] . map ( this . cktough . Cookie . parse ) . toString ( ) ; this . ckjar . setCookieSync ( s , null ) , e . cookieJar = this . ckjar } } catch ( t ) { this . logErr ( t ) } } ) . then ( t => { const { statusCode :s , statusCode :i , headers :r , body :o } = t ; e ( null , { status :s , statusCode :i , headers :r , body :o } , o ) } , t => { const { message :s , response :i } = t ; e ( s , i , i && i . body ) } ) ) } post ( t , e = ( ( ) => { } ) ) { if ( t . body && t . headers && ! t . headers [ "Content-Type" ] && ( t . headers [ "Content-Type" ] = "application/x-www-form-urlencoded" ) , t . headers && delete t . headers [ "Content-Length" ] , this . isSurge ( ) || this . isLoon ( ) ) this . isSurge ( ) && this . isNeedRewrite && ( t . headers = t . headers || { } , Object . assign ( t . headers , { "X-Surge-Skip-Scripting" :! 1 } ) ) , $httpClient . post ( t , ( t , s , i ) => { ! t && s && ( s . body = i , s . statusCode = s . status ) , e ( t , s , i ) } ) ; else if ( this . isQuanX ( ) ) t . method = "POST" , this . isNeedRewrite && ( t . opts = t . opts || { } , Object . assign ( t . opts , { hints :! 1 } ) ) , $task . fetch ( t ) . then ( t => { const { statusCode :s , statusCode :i , headers :r , body :o } = t ; e ( null , { status :s , statusCode :i , headers :r , body :o } , o ) } , t => e ( t ) ) ; else if ( this . isNode ( ) ) { this . initGotEnv ( t ) ; const { url :s , ...i } = t ; this . got . post ( s , i ) . then ( t => { const { statusCode :s , statusCode :i , headers :r , body :o } = t ; e ( null , { status :s , statusCode :i , headers :r , body :o } , o ) } , t => { const { message :s , response :i } = t ; e ( s , i , i && i . body ) } ) } } time ( t ) { let e = { "M+" :( new Date ) . getMonth ( ) + 1 , "d+" :( new Date ) . getDate ( ) , "H+" :( new Date ) . getHours ( ) , "m+" :( new Date ) . getMinutes ( ) , "s+" :( new Date ) . getSeconds ( ) , "q+" :Math . floor ( ( ( new Date ) . getMonth ( ) + 3 ) / 3 ) , S :( new Date ) . getMilliseconds ( ) } ; / ( y + ) / . test ( t ) && ( t = t . replace ( RegExp . $1 , ( ( new Date ) . getFullYear ( ) + "" ) . substr ( 4 - RegExp . $1 . length ) ) ) ; for ( let s in e ) new RegExp ( "(" + s + ")" ) . test ( t ) && ( t = t . replace ( RegExp . $1 , 1 == RegExp . $1 . length ?e [ s ] :( "00" + e [ s ] ) . substr ( ( "" + e [ s ] ) . length ) ) ) ; return t } msg ( e = t , s = "" , i = "" , r ) { const o = t => { if ( ! t ) return t ; if ( "string" == typeof t ) return this . isLoon ( ) ?t :this . isQuanX ( ) ?{ "open-url" :t } :this . isSurge ( ) ?{ url :t } :void 0 ; if ( "object" == typeof t ) { if ( this . isLoon ( ) ) { let e = t . openUrl || t . url || t [ "open-url" ] , s = t . mediaUrl || t [ "media-url" ] ; return { openUrl :e , mediaUrl :s } } if ( this . isQuanX ( ) ) { let e = t [ "open-url" ] || t . url || t . openUrl , s = t [ "media-url" ] || t . mediaUrl ; return { "open-url" :e , "media-url" :s } } if ( this . isSurge ( ) ) { let e = t . url || t . openUrl || t [ "open-url" ] ; return { url :e } } } } ; this . isMute || ( this . isSurge ( ) || this . isLoon ( ) ?$notification . post ( e , s , i , o ( r ) ) :this . isQuanX ( ) && $notify ( e , s , i , o ( r ) ) ) ; let h = [ "" , "==============\ud83d\udce3\u7cfb\u7edf\u901a\u77e5\ud83d\udce3==============" ] ; h . push ( e ) , s && h . push ( s ) , i && h . push ( i ) , console . log ( h . join ( "\n" ) ) , this . logs = this . logs . concat ( h ) } log ( ...t ) { t . length > 0 && ( this . logs = [ ...this . logs , ...t ] ) , console . log ( t . join ( this . logSeparator ) ) } logErr ( t , e ) { const s = ! this . isSurge ( ) && ! this . isQuanX ( ) && ! this . isLoon ( ) ; s ?this . log ( "" , `\u2757\ufe0f${ this . name } , \u9519\u8bef!` , t . stack ) :this . log ( "" , `\u2757\ufe0f${ this . name } , \u9519\u8bef!` , t ) } wait ( t ) { return new Promise ( e => setTimeout ( e , t ) ) } done ( t = { } ) { const e = ( new Date ) . getTime ( ) , s = ( e - this . startTime ) / 1e3 ; this . log ( "" , `\ud83d\udd14${ this . name } , \u7ed3\u675f! \ud83d\udd5b ${ s } \u79d2` ) , this . log ( ) , ( this . isSurge ( ) || this . isQuanX ( ) || this . isLoon ( ) ) && $done ( t ) } } ( t , e ) }
0 commit comments