From 008804d4494d3f28c0a8b3751e531898312ca0d4 Mon Sep 17 00:00:00 2001 From: "YZ\\249929363" <249929363@qq.com> Date: Fri, 21 Jun 2024 18:41:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=AA=E9=98=B3=EF=BC=8C=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E4=BA=86=E4=B8=80=E7=89=88=E6=A8=A1=E6=9D=BF=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/Script/module/Config/GameConfig.ts | 20 +- assets/Script/module/Tool/GameTool.ts | 2 +- assets/resources/Json/GM_INFO.json | 2 +- build/Sun_moves.zip | Bin 463630 -> 463645 bytes .../{config.3383c.json => config.b4ae4.json} | 0 build/Sun_moves/assets/main/index.3383c.js | 1 - build/Sun_moves/assets/main/index.b4ae4.js | 1 + build/Sun_moves/index.html | 4 +- .../{main.23980.js => main.90bc5.js} | 4 +- .../{settings.52d49.js => settings.64ad6.js} | 2 +- .../2d69a479-18ec-4787-b35f-e9a9b3247435.json | 2 +- .../43bfc27a-ff6e-45b3-87c7-504d0f781397.js | 2 +- ...3bfc27a-ff6e-45b3-87c7-504d0f781397.js.map | 2 +- .../c5692be7-8703-45e4-9f67-23b54d290356.js | 20 +- ...5692be7-8703-45e4-9f67-23b54d290356.js.map | 2 +- library/uuid-to-mtime.json | 242 +- local/layout.editor.json | 28 +- settings/project.json | 2 +- temp/quick-scripts/dst/__file_stats__.json | 2 +- temp/quick-scripts/dst/__qc_bundle__.js | 3782 ++++++++--------- temp/quick-scripts/dst/__quick_compile__.js | 2 +- .../assets/Script/module/Config/GameConfig.js | 22 +- .../dst/assets/Script/module/Tool/GameTool.js | 4 +- .../assets/Script/module/Config/GameConfig.js | 20 +- .../Script/module/Config/GameConfig.js.map | 2 +- .../src/assets/Script/module/Tool/GameTool.js | 2 +- .../assets/Script/module/Tool/GameTool.js.map | 2 +- 27 files changed, 2088 insertions(+), 2086 deletions(-) rename build/Sun_moves/assets/main/{config.3383c.json => config.b4ae4.json} (100%) delete mode 100644 build/Sun_moves/assets/main/index.3383c.js create mode 100644 build/Sun_moves/assets/main/index.b4ae4.js rename build/Sun_moves/{main.23980.js => main.90bc5.js} (98%) rename build/Sun_moves/src/{settings.52d49.js => settings.64ad6.js} (81%) diff --git a/assets/Script/module/Config/GameConfig.ts b/assets/Script/module/Config/GameConfig.ts index 813bbe3..759c1b4 100644 --- a/assets/Script/module/Config/GameConfig.ts +++ b/assets/Script/module/Config/GameConfig.ts @@ -55,35 +55,37 @@ export class GameConfig { } static init(){ + this.GM_INFO_init(); + this.CLICK_init(); + this.LEVEL_INFO_init(); + var self = this; cc.resources.load('Json/GM_INFO', (err: any, res: cc.JsonAsset) => { if (err) { - this.GM_INFO_init(); - this.Authentication(); + self.Authentication(); return; } let jsonData: object = res.json!; - this.GM_INFO = jsonData["data"]; - this.Authentication(); + self.GM_INFO = jsonData["data"]; + self.Authentication(); }) cc.resources.load('Json/CLICK_DATA', (err: any, res: cc.JsonAsset) => { if (err) { - this.CLICK_init(); + return; } let jsonData: object = res.json!; - this.CLICK_DATA = jsonData["data"]; + self.CLICK_DATA = jsonData["data"]; }) cc.resources.load('Json/LEVEL_INFO', (err: any, res: cc.JsonAsset) => { if (err) { - this.LEVEL_INFO_init(); return; } let jsonData: object = res.json!; - this.LEVEL_INFO = jsonData["data"]; + self.LEVEL_INFO = jsonData["data"]; }) //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次 - this.GAME_DATA = [ + self.GAME_DATA = [ ] } diff --git a/assets/Script/module/Tool/GameTool.ts b/assets/Script/module/Tool/GameTool.ts index 5537c51..515f340 100644 --- a/assets/Script/module/Tool/GameTool.ts +++ b/assets/Script/module/Tool/GameTool.ts @@ -33,7 +33,7 @@ var GameTool = { "data": data }; - // console.log("上传数据:") + console.log("上传数据:",postData); cc.fx.HttpUtil.uploadUserLogData(postData,function(){}) }, //上传排行榜 type为1 diff --git a/assets/resources/Json/GM_INFO.json b/assets/resources/Json/GM_INFO.json index a05048d..6b1115c 100644 --- a/assets/resources/Json/GM_INFO.json +++ b/assets/resources/Json/GM_INFO.json @@ -3,7 +3,7 @@ "mean_Time": 0, "total": 0, "currSeed": 203213, - "gameId": 100009, + "gameId": "100009", "userId": 0, "guide": true, "url": "http://api.sparkus.cn", diff --git a/build/Sun_moves.zip b/build/Sun_moves.zip index 56c86597b12db58214351784a47e2ae55cad9a20..91f2d56e9da3957198ad77ee51a5642bef8624b9 100644 GIT binary patch delta 38580 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 diff --git a/build/Sun_moves/assets/main/config.3383c.json b/build/Sun_moves/assets/main/config.b4ae4.json similarity index 100% rename from build/Sun_moves/assets/main/config.3383c.json rename to build/Sun_moves/assets/main/config.b4ae4.json diff --git a/build/Sun_moves/assets/main/index.3383c.js b/build/Sun_moves/assets/main/index.3383c.js deleted file mode 100644 index a1f9734..0000000 --- a/build/Sun_moves/assets/main/index.3383c.js +++ /dev/null @@ -1 +0,0 @@ -window.__require=function t(e,i,o){function n(a,c){if(!i[a]){if(!e[a]){var s=a.split("/");if(s=s[s.length-1],!e[s]){var h="function"==typeof __require&&__require;if(!c&&h)return h(s,!0);if(r)return r(s,!0);throw new Error("Cannot find module '"+a+"'")}a=s}var l=i[a]={exports:{}};e[a][0].call(l.exports,function(t){return n(e[a][1][t]||t)},l,l.exports,t,e,i,o)}return i[a].exports}for(var r="function"==typeof __require&&__require,a=0;a=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,c=a.ccclass,s=a.property,h=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.audioGameBgm0=null,e.audioButtonClick=null,e.audioWarning=null,e.audioWin=null,e.luodui=null,e}var i;return n(e,t),i=e,e.prototype.ctor=function(){this.mAudioMap={},this.bgMusicVolume=.1,this.effectMusicVolume=1,this.mMusicSwitch=1,this.mEffectSwitch=1},e.prototype.play=function(t,e,i,o){if((!o||this.mMusicSwitch)&&(o||this.mEffectSwitch)){var n=o?this.bgMusicVolume:this.effectMusicVolume;if(cc.sys.isBrowser){t==this.brickSound&&(n=.1),n=1;var r=cc.audioEngine.play(t,e,n);return i&&cc.audioEngine.setFinishCallback(r,function(){i.call(this)}.bind(this)),this.mAudioMap[t]=r,t}return t}},e.prototype.save=function(){},e.prototype.onLoad=function(){null==i._instance?(i._instance=this,cc.game.addPersistRootNode(this.node),this.reward=!1,this.finish=!1,this.rewardCount=0,this.ctor(),this.preload()):this.node.destroy()},e.prototype.preload=function(){cc.sys.platform===cc.sys.WECHAT_GAME&&[this.audioGameBgm0].forEach(function(){})},e.prototype.getAudioMusicSwitch=function(){return this.mMusicSwitch},e.prototype.getAudioEffectSwitch=function(){return this.mEffectSwitch},e.prototype.trunAudioSound=function(t){this.switchMusic(t),this.switchEffect(t)},e.prototype.switchMusic=function(t){this.mMusicSwitch!=(t?1:0)&&(this.mMusicSwitch=1-this.mMusicSwitch),t?this.playMusicGame():this.stopMusic()},e.prototype.switchEffect=function(t){this.mEffectSwitch!=(t?1:0)&&(this.mEffectSwitch=1-this.mEffectSwitch)},e.prototype.onHide=function(){cc.audioEngine.pauseAll()},e.prototype.onShow=function(){cc.audioEngine.resumeAll()},e.prototype.playMusic=function(t,e,i){i=!(void 0!==i&&!i),this.stopMusic(),this.mMusicKey=this.play(t,i,e,!0)},e.prototype.playMusicGame=function(){this.playMusic(this.audioGameBgm0,{},!0)},e.prototype.stopMusic=function(){var t=this.mAudioMap[this.mMusicKey];void 0!==t&&(cc.sys.isBrowser?cc.audioEngine.stop(t):t.stop(),cc.audioEngine.stop(t))},e.prototype.playJump=function(){},e.prototype.playLuo=function(){return this.play(this.luodui,!1,null,this.mEffectSwitch)},e.prototype.playGround=function(){},e.prototype.playPz=function(){},e.prototype.playGameStart=function(){},e.prototype.playGameOver=function(){},e.prototype.playGameResultFailed=function(){},e.prototype.playGameResultSuccess=function(){},e.prototype.playWarning=function(){return this.play(this.audioWarning,!1,null,this.mEffectSwitch)},e.prototype.playBrick=function(){},e.prototype.brickBoom=function(){},e.prototype.playAudioButton=function(){return this.play(this.audioButtonClick,!1,null,this.mEffectSwitch)},e.prototype.playWin=function(){return this.play(this.audioWin,!1,null,this.mEffectSwitch)},e.prototype.playRandomMatch=function(){this.playMusic(this.audioGameBgm0,{},!0)},e.prototype.playMatchFoundSound=function(){this.stopMusic()},r([s(cc.AudioClip)],e.prototype,"audioGameBgm0",void 0),r([s(cc.AudioClip)],e.prototype,"audioButtonClick",void 0),r([s(cc.AudioClip)],e.prototype,"audioWarning",void 0),r([s(cc.AudioClip)],e.prototype,"audioWin",void 0),r([s(cc.AudioClip)],e.prototype,"luodui",void 0),i=r([c],e)}(cc.Component);i.default=h,cc._RF.pop()},{}],DynamicAtlasManager:[function(t,e){"use strict";cc._RF.push(e,"5c9b8FZiaNLMrMDs9T3rByf","DynamicAtlasManager"),cc.Class({extends:cc.Component,properties:{},onLoad:function(){cc.dynamicAtlasManager.enabled=!1}}),cc._RF.pop()},{}],GameAppStart:[function(t,e,i){"use strict";cc._RF.push(e,"61d4ccY2ztLMYIh8WvqPPAw","GameAppStart"),Object.defineProperty(i,"__esModule",{value:!0});var o=t("../Config/GameConfig"),n=t("../Crypto/HttpUtil"),r=t("../Music/AudioManager"),a=t("../Notification/Notification"),c=t("../Storage/Storage"),s=t("../Tool/GameTool");window.initMgr=function(){cc.fx||(cc.fx={},console.log("\u521d\u59cb\u5316"),cc.fx.StateInfo={debugMode:!0,networkConnected:!0,networkType:"none",isOnForeground:!0},cc.fx.GameConfig=o.GameConfig,cc.fx.HttpUtil=n.default,cc.fx.GameTool=s.GameTool,cc.fx.AudioManager=r.default,cc.fx.Notifications=a.Notifications,cc.fx.StorageMessage=c.StorageMessage,cc.fx.ShareInfo={queryId:-1},cc.fx.BurialShareType={Default:"default",Invite:"invite",DailyInviteRoomJoin:"invite_join_room",DailyInviteFriend:"invite_friend",DailyInviteGroup:"invate_group",DailyInviteGroupAlive:"invate_alive",DailyInviteGroupReward:"invate_rewared",DailyInviteGroupBox:"invate_box",DailyInviteGroupBall:"invate_ball",MatchResult:"matchResult",MatchFix5:"MatchFix5",MatchFix20:"MatchFix20",MatchFix100:"MatchFix100",MatchFix500:"MatchFix500",NewerRedEnvelope:"newerRedEnvelope",CoinRoomResult:"coinRoomResult",HighRate:"highRate",CoinRoomWinStreak:"coinRoomWinStreak",CoinRoomBankruptcy1:"coinRoomBankruptcy1",CoinRoomBankruptcy2:"coinRoomBankruptcy2",CoinRoomBankruptcy3:"coinRoomBankruptcy3"},cc.fx.ShareWhereReward={Group:"group",Friend:"friend",All:"all"},cc.fx.clickStatEventType={clickStatEventTypeVideoAD:20173201,clickStatEventTypeClickAdVideo:20173202,clickStatEventTypeBannerAD:20173203,clickStatEventTypeUserFrom:99990001,clickStatEventTypeShare:99990002,clickStatEventTypeClickAdBtn:99990007,clickStatEventTypeBannerAD2:67890033,clickStatEventTypeSubmitVersionInfo:9999,clickStatEventTypeClickFirstAd:99990003,clickStatEventTypeClickSecondAd:99990004,clickStatEventTypeWxLoginStart:10001,clickStatEventTypeWxLoginSuccess:10002,clickStatEventTypeWxLoginFailed:10003,clickStatEventTypeAuthorizationStart:10003,clickStatEventTypeAuthorizationSuccess:10004,clickStatEventTypeAuthorizationFailed:10005,clickStatEventTypeLoginSDKStart:10007,clickStatEventTypeLoginSDKSuccess:10008,clickStatEventTypeLoginSDKFailed:10009,clickStatEventTypeTCP_Start:10009,clickStatEventTypeTCP_Success:10010,clickStatEventTypeTCP_Failed:10011})},cc._RF.pop()},{"../Config/GameConfig":"GameConfig","../Crypto/HttpUtil":"HttpUtil","../Music/AudioManager":"AudioManager","../Notification/Notification":"Notification","../Storage/Storage":"Storage","../Tool/GameTool":"GameTool"}],GameConfig:[function(t,e,i){"use strict";cc._RF.push(e,"c5692vnhwNF5J9nI7VNKQNW","GameConfig");var o=this&&this.__decorate||function(t,e,i,o){var n,r=arguments.length,a=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,o);else for(var c=t.length-1;c>=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0}),i.GameConfig=void 0;var n=cc._decorator,r=n.ccclass,a=(n.property,function(){function t(){}var e;return e=t,Object.defineProperty(t,"Instance",{get:function(){return null==this._instance&&(this._instance=new e),this._instance},enumerable:!1,configurable:!0}),t.init=function(){var t=this;cc.resources.load("Json/GM_INFO",function(e,i){if(e)return t.GM_INFO_init(),void t.Authentication();var o=i.json;t.GM_INFO=o.data,t.Authentication()}),cc.resources.load("Json/CLICK_DATA",function(e,i){if(e)t.CLICK_init();else{var o=i.json;t.CLICK_DATA=o.data}}),cc.resources.load("Json/LEVEL_INFO",function(e,i){if(e)t.LEVEL_INFO_init();else{var o=i.json;t.LEVEL_INFO=o.data}}),this.GAME_DATA=[]},t.GM_INFO_init=function(){this.GM_INFO={mean_Time:0,total:0,currSeed:203213,gameId:"100009",userId:0,guide:!0,url:"http://api.sparkus.cn",success:!1,matchId:null,custom:0}},t.CLICK_init=function(){this.CLICK_DATA={type:1,success:!1,round:0,totalSunCount:0,movedSunCount:0,sunSpeed:0,overlapSunCount:0,colorList:[],duration:0,difficultyLevel:0,sunList:[],stepTimeList:[],remainder:120}},t.LEVEL_INFO_init=function(){this.LEVEL_INFO=[{number:3,moveNumber:0,moveSpeed:0,maxDistance:200,maxMove:1200,repeat:0},{number:4,moveNumber:0,moveSpeed:0,maxDistance:200,maxMove:1200,repeat:0},{number:4,moveNumber:0,moveSpeed:0,maxDistance:200,maxMove:1200,repeat:1},{number:5,moveNumber:1,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:0},{number:5,moveNumber:0,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1},{number:6,moveNumber:0,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1},{number:6,moveNumber:3,moveSpeed:4,maxDistance:200,maxMove:1200,repeat:0},{number:7,moveNumber:0,moveSpeed:4,maxDistance:200,maxMove:1200,repeat:0},{number:7,moveNumber:3,moveSpeed:4,maxDistance:200,maxMove:1200,repeat:0},{number:7,moveNumber:3,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1},{number:8,moveNumber:3,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:0},{number:8,moveNumber:5,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1},{number:9,moveNumber:3,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:0},{number:9,moveNumber:5,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1},{number:10,moveNumber:5,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1},{number:3,moveNumber:0,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:0},{number:4,moveNumber:0,moveSpeed:0,maxDistance:200,maxMove:1200,repeat:0},{number:4,moveNumber:1,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:0},{number:4,moveNumber:0,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1},{number:4,moveNumber:1,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1},{number:5,moveNumber:1,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:0},{number:5,moveNumber:0,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1},{number:5,moveNumber:1,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1},{number:5,moveNumber:2,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1},{number:5,moveNumber:3,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1}]},t.Authentication=function(){cc.fx.GameTool.Authentication()},t._instance=null,e=o([r("GameConfig")],t)}());i.GameConfig=a,cc._RF.pop()},{}],GameManager:[function(t,e,i){"use strict";cc._RF.push(e,"b0432BA295DjIOcuitdGKO1","GameManager");var o,n=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,o){var n,r=arguments.length,a=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,o);else for(var c=t.length-1;c>=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,c=a.ccclass,s=a.property,h=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.ball=null,e.qiu1=null,e.qiu2=null,e.qiu3=null,e.linePrefab=null,e.hit=null,e.bg1=null,e.bg2=null,e.time=null,e.begin=!1,e.fuhuo=!1,e.over=!1,e.show=!1,e.levelLabel=null,e}return n(e,t),e.prototype.onLoad=function(){},e.prototype.start=function(){this.fit(),this.init()},e.prototype.init=function(){this.node.getChildByName("GameOver").zIndex=100,this.node.getChildByName("GameOver").active=!1,this.ball.zIndex=100,this.bg1=this.node.getChildByName("bg1"),this.bg2=this.node.getChildByName("bg2"),this.time=this.node.getChildByName("Top").getChildByName("time").getComponent(cc.Label),this.node.getChildByName("showBtn").active=!1,this.begin=!1,this.over=!1,this.fuhuo=!0,this.pause=!0,this.show=!1,this.round=0,this.level=2,this.countTime=60,0!=cc.fx.GameConfig.GM_INFO.custom&&(this.level=cc.fx.GameConfig.GM_INFO.custom,cc.fx.GameConfig.GM_INFO.custom+=1,this.countTime=12e6),this.timeCount=.1,this.clickNow=0,this.clickCount=0,this.timeStart=0,this.repeat=-1,this.numberRepeat=-1,this.route_Array=[],this.moveArray=[],this.now_Array=[],this.ball_Array=[],this.Pos_Array=[],this.time_Array=[],this.color_Array=[],cc.fx.GameConfig.GAME_DATA=[],cc.fx.GameConfig.GM_INFO.success=!1,this.startTime=0,this.overTime=0,this.winTime=0,cc.fx.GameConfig.GM_INFO.total=0,cc.fx.GameConfig.GM_INFO.mean_Time=0,this.schedule(this.updateCountDownTime,1),this.startGame()},e.prototype.fit=function(){this.fitTop=450,this.fitBot=-600,this.setFit()||(this.fitTop=600,this.fitBot=-700)},e.prototype.getSetScreenResolutionFlag=function(){var t=cc.winSize,e=t.width;return!(t.height/e>16.2/9)},e.prototype.setFit=function(){return this.getSetScreenResolutionFlag()},e.prototype.backScene=function(){cc.director.loadScene("LoadScene")},e.prototype.reStart=function(t){this.node.getChildByName("showBtn").active=!1,this.destroyLine(),this.timeCount=.1,this.clickNow=0,this.timeStart=0,this.repeat=-1,this.numberRepeat=-1,this.begin=!1,this.route_Array=[],this.now_Array=[],this.ball_Array=[],this.Pos_Array=[],this.moveArray=[],this.time_Array=[],this.color_Array=[],0==t?this.bgMove(1):1==t?this.startGame():2==t&&this.bgMove(-1)},e.prototype.getTime=function(){return(new Date).getTime()},e.prototype.passLevel=function(){var t=this;if(this.destroyLine(),0==this.over&&this.countTime>=0){for(var e=[],i=0,o=this.ball_Array[0],n=1;n=0)for(var i=this.ball_Array[0],o=function(o){cc.tween(n.ball_Array[o]).to(2,{x:i.x,y:i.y}).call(function(){e.ball_Array[o].active=!1,o==e.ball_Array.length-1&&(e.ball.opacity=255,e.ball.position=cc.v3(i.x,i.y,0),e.clearSun(),e.reStart(t))}).start()},n=this,r=1;r0&&this.createLine(cc.v2(this.ball_Array[this.clickNow-1].x,this.ball_Array[this.clickNow-1].y),cc.v2(this.ball_Array[this.clickNow].x,this.ball_Array[this.clickNow].y),.2),this.clickNow+=1,this.ball_Array[this.clickNow-1]&&(this.ball_Array[this.clickNow-1].getChildByName("guang").active=!1),this.clickNow==this.now_Array.length){this.pause=!0,cc.fx.GameConfig.GM_INFO.total+=this.clickNow,this.overTime=cc.fx.GameTool.getTime(),this.startTime>0&&this.overTime>0&&(cc.fx.GameConfig.GM_INFO.mean_Time+=this.overTime-this.startTime);var o=parseInt((this.overTime-this.startTime)/100+"");this.startTime=0,this.overTime=0,this.level<4&&this.level>1||this.level;var n=this.node.getChildByName("Win");n.active=!0,n.setScale(0),cc.fx.AudioManager._instance.playWin(),this.round+=1;var r=[];if(this.moveArray.length>0)for(var a=0;a50&&(cc.fx.GameConfig.CLICK_DATA.duration=50),this.setData(),cc.tween(n).delay(.4).to(.01,{scale:2.5}).to(.35,{scale:1}).delay(.4).call(function(){n.active=!1,e.destroyLine(),0==e.over&&e.countTime>=0&&(e.level>=15?(cc.fx.GameConfig.GM_INFO.success=!0,e.level+=0,e.fuhuo=!0,e.passLevel()):(e.level+=1,e.fuhuo=!0,e.passLevel()))}).start()}}else this.setLoss()}},e.prototype.setLoss=function(){cc.fx.AudioManager._instance.playWarning(),this.begin=!1,this.overTime=cc.fx.GameTool.getTime(),this.startTime>0&&this.overTime>0&&(cc.fx.GameConfig.GM_INFO.mean_Time+=this.overTime-this.startTime);var t=parseInt((this.overTime-this.startTime)/100+"");t>58&&(t=58),this.startTime=0,this.overTime=0,this.level<4&&this.level>1||this.level,this.round+=1;var e=[];if(this.moveArray.length>0)for(var i=0;i50&&(cc.fx.GameConfig.CLICK_DATA.duration=50),this.setData(),1==this.fuhuo?(this.fuhuo=!1,this.loseLevel(1)):this.level>2?(this.level-=1,this.fuhuo=!0,this.loseLevel(2)):this.loseLevel(1);var o=this.node.getChildByName("Over");cc.tween(o).to(.25,{opacity:255}).delay(.1).to(.2,{opacity:0}).delay(.1).to(.15,{opacity:255}).delay(.1).to(.1,{opacity:0}).start()},e.prototype.startGame=function(){0==this.over&&this.countTime>0&&(this.pause=!0,this.createSun(),this.begin=!1,cc.tween(this.ball).to(.5,{opacity:255,scale:1.3}).start())},e.prototype.runGame=function(){for(var t=this,e=-650,i=function(i){e=1e3*o.now_Array[i].time+e,setTimeout(function(){if(0==t.over){var e=t.now_Array[i].timeCount;e>.5&&(e=.5),0!=i&&t.ball&&t.now_Array[i]&&t.createLine(cc.v2(t.ball.x,t.ball.y),cc.v2(t.now_Array[i].x,t.now_Array[i].y),t.now_Array[i].time-e),cc.tween(t.ball).to(t.now_Array[i].time-e,{x:t.now_Array[i].x,y:t.now_Array[i].y}).to(.1,{scale:1}).call(function(){t.createBall(i,t.now_Array[i].color,t.now_Array[i].speed,t.now_Array[i].repeat),i==t.now_Array.length-1&&(t.ball.opacity=0,setTimeout(function(){t.destroyLine(),t.beginGame(),cc.fx.GameConfig.LEVEL_INFO[t.level-1].moveNumber<1?t.pause=!1:t.moveAction()},150))}).start()}},e)},o=this,n=0;n=2&&e.moveSpeed,1==e.repeat){this.repeat=parseInt(Math.random()*(e.number-1)+1+"");var i=0;this.repeat>4?(this.numberRepeat=parseInt(4*Math.random()+""),this.repeat==e.number-1&&(this.numberRepeat=this.repeat-parseInt(3*Math.random()+2+"")),i=this.Pos_Array[this.numberRepeat],this.Pos_Array[this.repeat]=i):(0==this.repeat&&(this.repeat=1),e.number-1-this.repeat==2?(this.numberRepeat=e.number-1,i=this.Pos_Array[this.numberRepeat]):e.number-1-this.repeat==1?(this.numberRepeat=this.repeat-2,i=this.Pos_Array[this.numberRepeat]):e.number-1-this.repeat==0?(this.numberRepeat=this.repeat-2,i=this.Pos_Array[this.numberRepeat]):e.number-1-this.repeat>2?(this.numberRepeat=parseInt(Math.random()*(e.number-this.repeat-2)+"")+this.repeat+2,i=this.Pos_Array[this.numberRepeat]):(this.numberRepeat=this.repeat-2,i=this.Pos_Array[this.numberRepeat]),this.Pos_Array[this.repeat]=i)}if(e.moveNumber>0){for(var o=cc.v2(0,0),n=0;n=0;c--)0==this.moveArray[c]&&(this.moveArray[c]=1,this.moveArray[0]=0,c=-1);for(var s=0;s=0;h--)h!=s&&0==this.moveArray[h]&&h!=this.repeat&&h!=this.numberRepeat&&(this.moveArray[h]=1,this.moveArray[s]=0,h=-1);for(var l=function(e){1==u.moveArray[e]&&setTimeout(function(){o=t.getPos2(!0,e),t.Pos_Array[e]=o},300*(a+=1))},u=this,p=0;p=2&&(o=7-i.moveSpeed/2),i.moveNumber>0){for(var n=0;n=0;r--)r!=n&&0==this.moveArray[r]&&r!=this.repeat&&r!=this.numberRepeat&&(this.moveArray[r]=1,this.moveArray[n]=0,r=-1);for(var a=0,c=0;c0)for(var r=0;r0)for(var r=0;r160&&(1==n?(cc.fx.GameConfig,r=s800&&(s=800),c=s/800*.6):2==n?(s>1200&&(s=1200),c=s/1200*1):3==n&&(s>1200&&(s=1200),c=s/1200*1.5),c},e.prototype.getDistance2=function(t,e,i,o,n){var r=!1,a=i-t,c=o-e,s=Math.sqrt(a*a+c*c);return s>160&&(r=1!=n||s0&&0==this.pause){if(this.countTime-=1,this.time.string=cc.fx.GameTool.getTimeMargin(this.countTime),this.countTime<5){cc.tween(this.time.node).to(.25,{scale:1.5,color:cc.color(255,0,0)}).to(.25,{scale:1,color:cc.color(255,255,255)}).start();var t=this.node.getChildByName("Over");cc.tween(t).to(.2,{opacity:255}).delay(.1).to(.2,{opacity:0}).start()}if(this.countTime<=0){this.begin=!1,this.over=!0,this.unschedule(this.updateCountDownTime),this.setLoss();var e=0;this.clickCount>0&&(e=parseInt(cc.fx.GameConfig.GM_INFO.mean_Time/this.clickCount+"")),cc.fx.GameConfig.GM_INFO.mean_Time=parseInt(e/100+""),cc.fx.GameConfig.GM_INFO.mean_Time=cc.fx.GameConfig.GM_INFO.mean_Time/10,e>1e4&&(e=100*(10*Math.random()+5)),this.gameOver(e)}}},e.prototype.setData=function(){cc.fx.GameTool.setGameData()},e.prototype.gameOver=function(t){cc.fx.GameTool.setRank(t),this.node.getChildByName("GameOver").active=!0,this.node.getChildByName("GameOver").opacity=0,cc.tween(this.node.getChildByName("GameOver")).to(.4,{opacity:255}).delay(2).to(.4,{opacity:50}).call(function(){cc.director.loadScene("OverScene")}).start()},e.prototype.showNumber=function(){0==this.show?this.show=!0:1==this.show&&(this.show=!1);for(var t=0;t=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,c=a.ccclass,s=a.property,h=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.count=null,e.time=null,e.selfNode=null,e.one=null,e.two=null,e.three=null,e.four=null,e.five=null,e}return n(e,t),e.prototype.start=function(){this.count.string=cc.fx.GameConfig.GM_INFO.total+"",cc.fx.GameConfig.GM_INFO.mean_Time>10&&(cc.fx.GameConfig.GM_INFO.mean_Time=(parseInt(10*Math.random()+"")+5)/10),this.time.string=cc.fx.GameConfig.GM_INFO.mean_Time+"s",this.init()},e.prototype.init=function(){this.listData=[],this.selfData=null,this.one.active=!1,this.two.active=!1,this.three.active=!1,this.four.active=!1,this.five.active=!1,this.getRank()},e.prototype.openRank=function(){cc.director.loadScene("RankScene")},e.prototype.again=function(){cc.director.loadScene("GameScene")},e.prototype.getRank=function(){var t=this;cc.fx.GameTool.getRank({length:5},function(e){return t.getRankData(e)})},e.prototype.getRankData=function(t){if(t){cc.fx.GameTool.getRankData(t,this,4),cc.fx.GameTool.setPic(this.selfNode.getChildByName("pic").getChildByName("icon"),this.selfData.pic);for(var e=0;e<=4;e++)this.setRank(e,this.listData[e])}},e.prototype.setRank=function(t,e){var i=null;0==t?i=this.one:1==t?i=this.two:2==t?i=this.three:3==t?i=this.four:4==t&&(i=this.five),i&&(i.active=!0,cc.fx.GameTool.subName(e.nickName,4),i.getChildByName("name").getComponent(cc.Label).string=e.nickName,i.getChildByName("total").getComponent(cc.Label).string=e.totalSunCount,cc.fx.GameTool.setPic(i.getChildByName("pic").getChildByName("icon"),e.pic))},r([s(cc.Label)],e.prototype,"count",void 0),r([s(cc.Label)],e.prototype,"time",void 0),r([s(cc.Node)],e.prototype,"selfNode",void 0),r([s(cc.Node)],e.prototype,"one",void 0),r([s(cc.Node)],e.prototype,"two",void 0),r([s(cc.Node)],e.prototype,"three",void 0),r([s(cc.Node)],e.prototype,"four",void 0),r([s(cc.Node)],e.prototype,"five",void 0),r([c],e)}(cc.Component);i.default=h,cc._RF.pop()},{}],GameTool:[function(t,e,i){"use strict";cc._RF.push(e,"43bfcJ6/25Fs4fHUE0PeBOX","GameTool"),Object.defineProperty(i,"__esModule",{value:!0}),i.GameTool=void 0;var o={_startTime:0,_endTime:0,_totalTime:0,Authentication:function(){var t="user_"+cc.fx.GameConfig.GM_INFO.gameId,e=JSON.parse(localStorage.getItem(t));if("undifend"==e||null==e||""==e){var i="http://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback="+location.href;window.location.href=i}else cc.fx.StorageMessage.setStorage(t,e),cc.fx.GameConfig.GM_INFO.userId=parseInt(e.userId)},setGameData:function(){cc.fx.GameConfig.GAME_DATA=[],cc.fx.GameConfig.GAME_DATA.push(cc.fx.GameConfig.CLICK_DATA),cc.fx.GameConfig.CLICK_init();var t=cc.fx.GameConfig.GAME_DATA,e=this.getMatchId(),i={gameId:cc.fx.GameConfig.GM_INFO.gameId,userId:cc.fx.GameConfig.GM_INFO.userId,matchId:e,data:t};cc.fx.HttpUtil.uploadUserLogData(i,function(){})},setRank:function(t){var e={gameId:cc.fx.GameConfig.GM_INFO.gameId,userId:cc.fx.GameConfig.GM_INFO.userId,type:1,reactionTime:t,totalSunCount:cc.fx.GameConfig.GM_INFO.total,success:cc.fx.GameConfig.GM_INFO.success};cc.fx.HttpUtil.rankData(1,function(){},e)},getRank:function(t,e){var i=t.length,o={gameId:cc.fx.GameConfig.GM_INFO.gameId,userId:cc.fx.GameConfig.GM_INFO.userId,page:1,pageSize:i};cc.fx.HttpUtil.rankData(2,function(t){e(t)},o)},getMatchId:function(){var t=cc.sys.localStorage.getItem("matchId");if("undifend"==t||null==t)t=this.setMatchId();else if(1==this.containsNanana(t))t=this.setMatchId();else{var e=parseInt(t[10]);1==this.level&&(e+=1),t=t.slice(0,10)+e+"",cc.fx.GameConfig.GM_INFO.matchId=t,cc.sys.localStorage.setItem("matchId",t)}return t},containsNanana:function(t){return/na/i.test(t)},setMatchId:function(){for(var t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",e=[],i=0;i<10;i++){var o=Math.floor(Math.random()*t.length),n=t.charAt(o);e.push(n)}var r=e.join("")+1+"";return cc.sys.localStorage.setItem("matchNumber",1),cc.sys.localStorage.setItem("matchId",r),cc.fx.GameConfig.GM_INFO.matchId=r,r},subName:function(t,e){return t.length>e&&(t=t.substring(0,e)+"..."),t},setPic:function(t,e){t.active=!1;var i=e;setTimeout(function(){fetch(i).then(function(t){return t.headers.get("Content-Length")}).then(function(e){"5093"==e&&(t.active=!0)}).catch(function(t){console.error("Error fetching X-Info:",t)})},100),cc.assetManager.loadRemote(i,{ext:".jpg"},function(e,i){i?(t.active=!0,t.getComponent(cc.Sprite).spriteFrame=new cc.SpriteFrame(i)):console.log(e,i)})},getRankData:function(t,e,i){e.listData=t.data.list,e.selfData=t.data.info;var o=[],n=!1;cc.fx.GameTool.setPic(e.selfNode.getChildByName("pic").getChildByName("icon"),e.selfData.pic);for(var r=0;r<=e.listData.length-1;r++)o.push({rank:r+1,name:e.listData[r].nickName,total:e.listData[r].totalSunCount,pic:e.listData[r].pic}),cc.fx.GameConfig.GM_INFO.userId==e.listData[r].userId&&(n=!0,e.rankNumber=r,e.selfNode.getChildByName("rankLab").getComponent(cc.Label).string=r+1+""),r==e.listData.length-1&&0==n&&(e.rankNumber=r,e.selfNode.getChildByName("rankLab").getComponent(cc.Label).string="99+");switch(cc.fx.GameTool.subName(e.selfData.nickName,i),e.selfNode.getChildByName("nameLab").getComponent(cc.Label).string=e.selfData.nickName,e.selfNode.getChildByName("totalLab").getComponent(cc.Label).string=e.selfData.totalSunCount,e.selfNode.getChildByName("rankLab").getComponent(cc.Label).string){case"1":e.selfNode.getChildByName("rank").getChildByName("one").active=!0;break;case"2":e.selfNode.getChildByName("rank").getChildByName("two").active=!0;break;case"3":e.selfNode.getChildByName("rank").getChildByName("three").active=!0}6==i&&(e.rankList.setData(o),e.selfNode.opacity=255,0==e.selfData.totalSunCount&&(e.selfNode.opacity=0))},getSetScreenResolutionFlag:function(){var t=cc.winSize,e=t.width;return!(t.height/e>16.2/9)},setFit:function(){return cc.fx.GameTool.getSetScreenResolutionFlag()},getGameInfo:function(){return!1},setGameInfo:function(){},getTimeMargin:function(t){var e,i;e=t,i=parseInt(e/3600+"");var o=parseInt((e-3600*i)/60+""),n=""+o;o<10&&(n="0"+o);var r=e-3600*i-60*o,a=r+"";return r<10&&(a="0"+r),n+":"+a},getTime:function(){return(new Date).getTime()},pushLister:function(){},removeAllLister:function(){}};i.GameTool=o,cc._RF.pop()},{}],GuideManager:[function(t,e,i){"use strict";cc._RF.push(e,"3fd2fh6vHNJeISUizW09xat","GuideManager");var o,n=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,o){var n,r=arguments.length,a=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,o);else for(var c=t.length-1;c>=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,c=a.ccclass,s=a.property,h=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.dialog=null,e.ball=null,e.qiu1=null,e.linePrefab=null,e}return n(e,t),e.prototype.start=function(){cc.fx.GameConfig.GM_INFO.custom=0,this.init(),this.startGuide(0)},e.prototype.init=function(){this.custom=1,this.ball.zIndex=100,this.Pos_Array=[],this.ball_Array=[],this.begin=!1,this.clickNow=0,this.tip=null},e.prototype.startGuide=function(t){var e=this,i="tip"+this.custom;0!=t?cc.tween(this.node).to(.5,{opacity:255}).call(function(){e.custom+=1,0!=t&&(e.custom=2),2==e.custom?e.createSun(!0):3==e.custom?e.createSun(!1):4==e.custom?e.begin=!0:5==e.custom&&cc.director.loadScene("GameScene")}).start():(this.tip=this.dialog.getChildByName(i),this.tip.active=!0,this.tip.opacity=0,cc.tween(this.tip).to(.5,{opacity:255}).start())},e.prototype.beginClick=function(){for(var t=0;t800&&(a=800),a/800*.8},e.prototype.passLevel=function(){var t=this,e=this.node.getChildByName("Win");e.active=!0,e.setScale(0),cc.tween(e).delay(.4).to(.01,{scale:2.5}).to(.35,{scale:1}).delay(.6).call(function(){e.active=!1,setTimeout(function(){t.destroyLine();for(var e=[],i=0,o=t.ball_Array[0],n=1;n0&&this.createLine(cc.v2(this.ball_Array[this.clickNow-1].x,this.ball_Array[this.clickNow-1].y),cc.v2(this.ball_Array[this.clickNow].x,this.ball_Array[this.clickNow].y),.2),this.clickNow+=1,cc.fx.GameConfig.GM_INFO.total+=1,setTimeout(function(){e.ball_Array[e.clickNow-1]&&(e.ball_Array[e.clickNow-1].getChildByName("guang").active=!1)},200),3==this.clickNow&&this.passLevel()):this.loseLevel())},e.prototype.loseLevel=function(){var t=this;this.begin=!1,cc.fx.AudioManager._instance.playWarning(),this.destroyLine();for(var e=this.ball_Array[0],i=function(i){cc.tween(o.ball_Array[i]).to(.6,{x:e.x,y:e.y}).call(function(){t.ball_Array[i].active=!1,i==t.ball_Array.length-1&&(t.ball.opacity=0,t.ball.position=cc.v3(e.x,e.y,0),t.clearSun(),t.custom=1,t.startGuide(1))}).start()},o=this,n=1;n=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a},a=this&&this.__awaiter||function(t,e,i,o){return new(i||(i=Promise))(function(n,r){function a(t){try{s(o.next(t))}catch(e){r(e)}}function c(t){try{s(o.throw(t))}catch(e){r(e)}}function s(t){var e;t.done?n(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(a,c)}s((o=o.apply(t,e||[])).next())})},c=this&&this.__generator||function(t,e){var i,o,n,r,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return r={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function c(t){return function(e){return s([t,e])}}function s(r){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,o&&(n=2&r[0]?o.return:r[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,r[1])).done)return n;switch(o=0,n&&(r=[2&r[0],n.value]),r[0]){case 0:case 1:n=r;break;case 4:return a.label++,{value:r[1],done:!1};case 5:a.label++,o=r[1],r=[0];continue;case 7:r=a.ops.pop(),a.trys.pop();continue;default:if(!(n=(n=a.trys).length>0&&n[n.length-1])&&(6===r[0]||2===r[0])){a=0;continue}if(3===r[0]&&(!n||r[1]>n[0]&&r[1]=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,c=a.ccclass,s=(a.property,function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=null,e.itemIndex=0,e}return n(e,t),e.prototype.dataChanged=function(){cc.fx.GameTool.subName(this.data.name,6),this.node.getChildByName("rankLab").getComponent(cc.Label).string=this.data.rank+"",this.node.getChildByName("nameLab").getComponent(cc.Label).string=this.data.name+"",this.node.getChildByName("totalLab").getComponent(cc.Label).string=this.data.total+"",this.node.getChildByName("rank").getChildByName("one").active=!1,this.node.getChildByName("rank").getChildByName("two").active=!1,this.node.getChildByName("rank").getChildByName("three").active=!1,1==this.data.rank?(this.node.getChildByName("rank").getChildByName("one").active=!0,this.node.getChildByName("rankLab").active=!1):2==this.data.rank?(this.node.getChildByName("rank").getChildByName("two").active=!0,this.node.getChildByName("rankLab").active=!1):3==this.data.rank?(this.node.getChildByName("rank").getChildByName("three").active=!0,this.node.getChildByName("rankLab").active=!1):this.node.getChildByName("rankLab").active=!0,this.setPic()},e.prototype.setPic=function(){var t=this;this.node.getChildByName("pic").getChildByName("icon").active=!1,this.node.getChildByName("pic").getChildByName("pic").active=!1;var e=this.data.pic;fetch(e).then(function(t){return t.headers.get("Content-Length")}).then(function(e){"5093"==e&&(t.node.getChildByName("pic").getChildByName("icon").active=!0)}).catch(function(t){console.error("Error fetching X-Info:",t)}),cc.assetManager.loadRemote(e,{ext:".png"},function(e,i){i?(t.node.getChildByName("pic").getChildByName("pic").active=!0,t.node.getChildByName("pic").getChildByName("pic").getComponent(cc.Sprite).spriteFrame=new cc.SpriteFrame(i)):console.log(e,i)})},r([c],e)}(cc.Component));i.default=s,cc._RF.pop()},{}],List:[function(t,e,i){"use strict";cc._RF.push(e,"d5421HgLShFKIjj5f18m1mi","List");var o,n=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,o){var n,r=arguments.length,a=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,o);else for(var c=t.length-1;c>=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0}),i.StartAxisType=i.ListType=void 0;var a,c,s=t("./ItemRender"),h=cc._decorator,l=h.ccclass,u=h.property;(function(t){t[t.Horizontal=1]="Horizontal",t[t.Vertical=2]="Vertical",t[t.Grid=3]="Grid"})(a=i.ListType||(i.ListType={})),function(t){t[t.Horizontal=1]="Horizontal",t[t.Vertical=2]="Vertical"}(c=i.StartAxisType||(i.StartAxisType={}));var p=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.itemRender=null,e.type=a.Vertical,e.startAxis=c.Horizontal,e.spaceX=0,e.spaceY=0,e.padding_top=0,e.padding_buttom=0,e.padding_left=0,e._padding=0,e.padding_right=0,e.scrollView=null,e.content=null,e.itemDataList=[],e.spawnCount=0,e.itemList=[],e.itemHeight=0,e.itemWidth=0,e.itemPool=[],e.halfScrollView=0,e.lastContentPosX=0,e.lastContentPosY=0,e.gridRow=0,e.gridCol=0,e.updateTimer=0,e.updateInterval=.1,e.bScrolling=!1,e.updateFun=function(){},e}return n(e,t),e.prototype.onLoad=function(){this.itemHeight=this.itemRender.height,this.itemWidth=this.itemRender.width,this.scrollView=this.node.getComponent(cc.ScrollView),this.content=this.scrollView.content,this.content.anchorX=0,this.content.anchorY=1,this.content.removeAllChildren(),this.scrollView.node.on("scrolling",this.onScrolling,this)},e.prototype.setData=function(t){this.itemDataList=t.slice(),this.updateContent()},e.prototype.countListParam=function(){var t=this.itemDataList.length;this.type==a.Vertical?(this.scrollView.horizontal=!1,this.scrollView.vertical=!0,this.content.width=this.content.parent.width,this.content.height=t*this.itemHeight+(t-1)*this.spaceY+this.padding_top+this.padding_buttom,this.spawnCount=Math.round(this.scrollView.node.height/(this.itemHeight+this.spaceY))+2,this.halfScrollView=this.scrollView.node.height/2+this.itemHeight/2+this.spaceY,this.updateFun=this.updateV):this.type==a.Horizontal?(this.scrollView.horizontal=!0,this.scrollView.vertical=!1,this.content.width=t*this.itemWidth+(t-1)*this.spaceX+this.padding_left+this.padding_right,this.content.height=this.content.parent.height,this.spawnCount=Math.round(this.scrollView.node.width/(this.itemWidth+this.spaceX))+2,this.halfScrollView=this.scrollView.node.width/2+this.itemWidth/2+this.spaceX,this.updateFun=this.udpateH):this.type==a.Grid&&(this.startAxis==c.Vertical?(this.scrollView.horizontal=!1,this.scrollView.vertical=!0,this.content.width=this.content.parent.width,this.padding_left+this.padding_right+this.itemWidth+this.spaceX>this.content.width&&(this.padding_left=0,this.padding_right=0,console.error("padding_left\u6216padding_right\u8fc7\u5927")),this.gridCol=Math.floor((this.content.width-this.padding_left-this.padding_right)/(this.itemWidth+this.spaceX)),this.gridRow=Math.ceil(t/this.gridCol),this.content.height=this.gridRow*this.itemHeight+(this.gridRow-1)*this.spaceY+this.padding_top+this.padding_buttom,this.spawnCount=Math.round(this.scrollView.node.height/(this.itemHeight+this.spaceY))*this.gridCol+2*this.gridCol,this.halfScrollView=this.scrollView.node.height/2+this.itemHeight/2+this.spaceY,this.updateFun=this.updateGrid_V):this.startAxis==c.Horizontal&&(this.scrollView.horizontal=!0,this.scrollView.vertical=!1,this.content.height=this.content.parent.height,this.padding_top+this.padding_buttom+this.itemHeight+this.spaceY>this.content.height&&(this.padding_top=0,this.padding_buttom=0,console.error("padding_top\u6216padding_buttom\u8fc7\u5927")),this.gridRow=Math.floor((this.content.height-this.padding_top-this.padding_buttom)/(this.itemHeight+this.spaceY)),this.gridCol=Math.ceil(t/this.gridRow),this.content.width=this.gridCol*this.itemWidth+(this.gridCol-1)*this.spaceX+this.padding_left+this.padding_right,this.spawnCount=Math.round(this.scrollView.node.width/(this.itemWidth+this.spaceX))*this.gridRow+2*this.gridRow,this.halfScrollView=this.scrollView.node.width/2+this.itemWidth/2+this.spaceX,this.updateFun=this.updateGrid_H))},e.prototype.createList=function(t,e){this.itemDataList.length>this.spawnCount&&t+this.spawnCount-1>=this.itemDataList.length?(t=this.itemDataList.length-this.spawnCount,e=this.scrollView.getMaxScrollOffset()):this.itemDataList.length<=this.spawnCount&&(t=0);for(var i=0;ithis.itemDataList.length-t&&((o=this.itemList.pop()).removeFromParent(),this.itemPool.push(o))}this.scrollView.scrollToOffset(e)},e.prototype.getItem=function(){return 0==this.itemPool.length?cc.instantiate(this.itemRender):this.itemPool.pop()},e.prototype.update=function(t){0!=this.bScrolling&&(this.updateTimer+=t,this.updateTimerthis.lastContentPosY,n=(this.itemHeight+this.spaceY)*e.length,r=0;ri&&t.y-n-this.padding_buttom>-this.content.height){var c=(h=t.getComponent(s.default)).itemIndex+e.length;h.itemIndex=c,h.data=this.itemDataList[c],h.dataChanged(),t.y=t.y-n}}else if(a.y<-i&&t.y+n+this.padding_top<0){var h;c=(h=t.getComponent(s.default)).itemIndex-e.length,h.itemIndex=c,h.data=this.itemDataList[c],h.dataChanged(),t.y=t.y+n}}this.lastContentPosY=this.scrollView.content.y},e.prototype.udpateH=function(){for(var t,e=this.itemList,i=this.halfScrollView,o=this.scrollView.content.x>this.lastContentPosX,n=(this.itemWidth+this.spaceX)*e.length,r=0;ri&&t.x-n-this.padding_left>0){var c=(h=t.getComponent(s.default)).itemIndex-e.length;h.itemIndex=c,h.data=this.itemDataList[c],h.dataChanged(),t.x=t.x-n}}else if(a.x<-i&&t.x+n+this.padding_rightthis.lastContentPosY,n=(this.itemHeight+this.spaceY)*(this.spawnCount/this.gridCol),r=0;ri&&t.y-n-this.padding_buttom>-this.content.height){var c=(h=t.getComponent(s.default)).itemIndex+this.spawnCount/this.gridCol*this.gridCol;null!=this.itemDataList[c]?(t.y=t.y-n,h.itemIndex=c,h.data=this.itemDataList[c],h.dataChanged(),t.opacity=255):(t.y=t.y-n,h.itemIndex=c,t.opacity=0)}}else if(a.y<-i&&t.y+n+this.padding_top<0){var h;c=(h=t.getComponent(s.default)).itemIndex-this.spawnCount/this.gridCol*this.gridCol,null!=this.itemDataList[c]?(t.y=t.y+n,h.itemIndex=c,h.data=this.itemDataList[c],h.dataChanged(),t.opacity=255):(t.y=t.y+n,h.itemIndex=c,t.opacity=0)}}this.lastContentPosY=this.scrollView.content.y},e.prototype.updateGrid_H=function(){for(var t,e=this.itemList,i=this.halfScrollView,o=this.scrollView.content.x>this.lastContentPosX,n=(this.itemWidth+this.spaceX)*(this.spawnCount/this.gridRow),r=0;ri&&t.x-n-this.padding_left>0){var c=(h=t.getComponent(s.default)).itemIndex-this.spawnCount/this.gridRow*this.gridRow;null!=this.itemDataList[c]?(t.x=t.x-n,h.itemIndex=c,h.data=this.itemDataList[c],h.dataChanged(),t.opacity=255):(t.x=t.x-n,h.itemIndex=c,t.opacity=0)}}else if(a.x<-i&&t.x+n+this.padding_right=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,c=a.ccclass,s=(a.property,a.requireComponent,function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.start=function(){window.initMgr(),cc.fx.GameConfig.init()},e.prototype.startGame=function(){cc.director.loadScene("GuideScene")},e.prototype.clickBtn=function(t,e){cc.fx.GameConfig.GM_INFO.custom=parseInt(e),cc.director.loadScene("GameScene")},e.prototype.openRank=function(){cc.director.loadScene("RankScene")},e.prototype.update=function(){},r([c],e)}(cc.Component));i.default=s,cc._RF.pop()},{}],Notification:[function(t,e,i){"use strict";cc._RF.push(e,"55403VjGlpPL564gsdiZBg3","Notification"),Object.defineProperty(i,"__esModule",{value:!0}),i.Notifications=void 0;i.Notifications={_eventMap:[],on:function(t,e,i){void 0===this._eventMap[t]&&(this._eventMap[t]=[]),this._eventMap[t].push({callback:e,target:i})},emit:function(t,e){var i=this._eventMap[t];if(void 0!==i)for(var o=0;o=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=t("./module/RankList/List"),c=cc._decorator,s=c.ccclass,h=c.property,l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.Player=null,e.selfNode=null,e.phone=null,e}return n(e,t),e.prototype.onLoad=function(){this.init()},e.prototype.init=function(){this.rankList=cc.find("ScrollView",this.node).getComponent(a.default),this.Player.getChildByName("rank").active=!1,this.listData=[],this.selfData=null,this.rankNumber=100,this.rankTotal=100,this.selfNode.opacity=0},e.prototype.start=function(){this.Player.active=!1,this.getRank()},e.prototype.getRank=function(){var t=this;cc.fx.GameTool.getRank({length:100},function(e){return t.getRankData(e)})},e.prototype.getRankData=function(t){t&&(cc.fx.GameTool.getRankData(t,this,6),this.setPic(this.selfData.pic))},e.prototype.backClick=function(){cc.director.loadScene("LoadScene")},e.prototype.playerAction=function(){var t=this;this.Player.getChildByName("rank").active=!1;var e=1;if(this.tween=cc.tween(this.Player).to(2,{position:cc.v3(210,453,0)}).call(function(){t.Player.getChildByName("rank").active=!0,t.Player.getChildByName("rank").getChildByName("number").getComponent(cc.Label).string=parseInt(100*e+"")+"%"}).start(),e=(this.listData.length-this.rankNumber)/this.listData.length,this.listData.length>=99&&this.rankNumber>=99){e=(49*Math.random()+1)/100;var i=cc.sys.localStorage.getItem("matchNumber");null!=i&&null!=i||(e=0)}setTimeout(function(){t.tween&&t.tween.stop(),t.Player.getChildByName("rank").active=!0,t.Player.getChildByName("rank").getChildByName("number").getComponent(cc.Label).string=parseInt(100*e+"")+"%"},2e3*e)},e.prototype.setPic=function(t){var e=this;this.phone.node.parent.getChildByName("icon").active=!1,this.phone.node.active=!1,this.Player.active=!0,this.Player.opacity=0,this.Player.getChildByName("mask").getChildByName("icon").active=!1,this.Player.getChildByName("mask").getChildByName("phone").active=!1,fetch(t).then(function(t){return t.headers.get("Content-Length")}).then(function(t){"5093"==t&&(e.phone.node.parent.getChildByName("icon").active=!0,e.Player.getChildByName("mask").getChildByName("icon").active=!0)}).catch(function(t){console.error("Error fetching X-Info:",t)});var i=this;cc.assetManager.loadRemote(t,{ext:".png"},function(t,e){i.Player.opacity=255,e?(i.phone.node.active=!0,i.phone.spriteFrame=new cc.SpriteFrame(e),i.Player.getChildByName("mask").getChildByName("icon").active=!1,i.Player.getChildByName("mask").getChildByName("phone").active=!0,i.Player.getChildByName("mask").getChildByName("phone").getComponent(cc.Sprite).spriteFrame=new cc.SpriteFrame(e),setTimeout(function(){i.playerAction()},500)):(i.Player.getChildByName("mask").getChildByName("icon").active=!0,setTimeout(function(){i.playerAction()},500))})},r([h(cc.Node)],e.prototype,"Player",void 0),r([h(cc.Node)],e.prototype,"selfNode",void 0),r([h(cc.Sprite)],e.prototype,"phone",void 0),r([s],e)}(cc.Component);i.default=l,cc._RF.pop()},{"./module/RankList/List":"List"}],Storage:[function(t,e,i){"use strict";cc._RF.push(e,"1002938VFRJd70RiAno9Iys","Storage"),Object.defineProperty(i,"__esModule",{value:!0}),i.StorageMessage=void 0;var o={getStorage:function(t){var e=null;return cc.sys.localStorage.getItem(t)&&(e=cc.sys.localStorage.getItem(t)),e&&(e=JSON.parse(e)),e},setStorage:function(t,e){var i=JSON.stringify(e);cc.sys.localStorage.setItem(t,i)},removeStorage:function(t){cc.sys.localStorage.getItem(t)&&cc.sys.localStorage.removeItem(t)}};i.StorageMessage=o,cc._RF.pop()},{}],Sun:[function(t,e,i){"use strict";cc._RF.push(e,"4be67sdkexCyqLl0NHd9N1f","Sun");var o,n=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,o){var n,r=arguments.length,a=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,o);else for(var c=t.length-1;c>=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,c=a.ccclass,s=(a.property,function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.start=function(){},e.prototype.init=function(t,e,i,o){this.touch=!0,this.move=!1,this.id_Number=t,this._color=e,this._speed=i,this._repeat=o,cc.tween(this.node.getChildByName("shan")).repeatForever(cc.tween().to(1,{opacity:0,scale:.5}).delay(.2).to(1,{opacity:255,scale:1.2}).delay(.5)).start()},e.prototype.showNumber=function(t){this.node.getChildByName("number").active=t,1==t&&(this.node.getChildByName("number").getComponent(cc.Label).string=this.id_Number+"")},e.prototype.clickBtn=function(t,e){"1"===e?0==this.move&&1==this.touch&&("GameNode"==this.node.parent.parent.name?1==this.node.parent.parent.getComponent("GameManager").begin&&(cc.tween(this.node.getChildByName("action")).to(.5,{opacity:0,scale:1.8}).start(),cc.tween(this.node).to(.3,{scale:1.3}).to(.3,{scale:1}).start(),this.touch=!1,this.node.zIndex=-1,cc.fx.Notifications.emit("clickSun",this.id_Number)):(this.touch=!1,this.node.zIndex=-1,cc.fx.Notifications.emit("clickSun",this.id_Number))):1==this.touch&&1==this.node.parent.parent.getComponent("GuideManager").begin&&(this.touch=!1,this.node.zIndex=-1,cc.fx.Notifications.emit("clickSun",this.id_Number))},r([c],e)}(cc.Component));i.default=s,cc._RF.pop()},{}],"crypto-js.min":[function(t,e,i){"use strict";cc._RF.push(e,"e64e1qXyT9CV6s0gDQdj/ed","crypto-js.min"),function(t,o){"object"==typeof i?e.exports=i=o():"function"==typeof define&&define.amd?define([],o):(void 0).CryptoJS=o()}(0,function(){var t,e,i,o,n,r,a,c=c||function(t){var e=Object.create||function(){function t(){}return function(e){var i;return t.prototype=e,i=new t,t.prototype=null,i}}(),i={},o=i.lib={},n=o.Base={extend:function(t){var i=e(this);return t&&i.mixIn(t),i.hasOwnProperty("init")&&this.init!==i.init||(i.init=function(){i.$super.init.apply(this,arguments)}),i.init.prototype=i,i.$super=this,i},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}},r=o.WordArray=n.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=null!=e?e:4*t.length},toString:function(t){return(t||c).stringify(this)},concat:function(t){var e=this.words,i=t.words,o=this.sigBytes,n=t.sigBytes;if(this.clamp(),o%4)for(var r=0;r>>2]>>>24-r%4*8&255;e[o+r>>>2]|=a<<24-(o+r)%4*8}else for(r=0;r>>2]=i[r>>>2];return this.sigBytes+=n,this},clamp:function(){var e=this.words,i=this.sigBytes;e[i>>>2]&=4294967295<<32-i%4*8,e.length=t.ceil(i/4)},clone:function(){var t=n.clone.call(this);return t.words=this.words.slice(0),t},random:function(e){for(var i,o=[],n=function(e){e=e;var i=987654321,o=4294967295;return function(){var n=((i=36969*(65535&i)+(i>>16)&o)<<16)+(e=18e3*(65535&e)+(e>>16)&o)&o;return n/=4294967296,(n+=.5)*(t.random()>.5?1:-1)}},a=0;a>>2]>>>24-n%4*8&255;o.push((r>>>4).toString(16)),o.push((15&r).toString(16))}return o.join("")},parse:function(t){for(var e=t.length,i=[],o=0;o>>3]|=parseInt(t.substr(o,2),16)<<24-o%8*4;return new r.init(i,e/2)}},s=a.Latin1={stringify:function(t){for(var e=t.words,i=t.sigBytes,o=[],n=0;n>>2]>>>24-n%4*8&255;o.push(String.fromCharCode(r))}return o.join("")},parse:function(t){for(var e=t.length,i=[],o=0;o>>2]|=(255&t.charCodeAt(o))<<24-o%4*8;return new r.init(i,e)}},h=a.Utf8={stringify:function(t){try{return decodeURIComponent(escape(s.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return s.parse(unescape(encodeURIComponent(t)))}},l=o.BufferedBlockAlgorithm=n.extend({reset:function(){this._data=new r.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=h.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(e){var i=this._data,o=i.words,n=i.sigBytes,a=this.blockSize,c=n/(4*a),s=(c=e?t.ceil(c):t.max((0|c)-this._minBufferSize,0))*a,h=t.min(4*s,n);if(s){for(var l=0;l>>6-a%4*2;n[r>>>2]|=(c|s)<<24-r%4*8,r++}return i.create(n,r)}var e=c,i=e.lib.WordArray;e.enc.Base64={stringify:function(t){var e=t.words,i=t.sigBytes,o=this._map;t.clamp();for(var n=[],r=0;r>>2]>>>24-r%4*8&255)<<16|(e[r+1>>>2]>>>24-(r+1)%4*8&255)<<8|e[r+2>>>2]>>>24-(r+2)%4*8&255,c=0;c<4&&r+.75*c>>6*(3-c)&63));var s=o.charAt(64);if(s)for(;n.length%4;)n.push(s);return n.join("")},parse:function(e){var i=e.length,o=this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var r=0;r>>32-r)+e}function i(t,e,i,o,n,r,a){var c=t+(e&o|i&~o)+n+a;return(c<>>32-r)+e}function o(t,e,i,o,n,r,a){var c=t+(e^i^o)+n+a;return(c<>>32-r)+e}function n(t,e,i,o,n,r,a){var c=t+(i^(e|~o))+n+a;return(c<>>32-r)+e}var r=c,a=r.lib,s=a.WordArray,h=a.Hasher,l=r.algo,u=[];!function(){for(var e=0;e<64;e++)u[e]=4294967296*t.abs(t.sin(e+1))|0}();var p=l.MD5=h.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,r){for(var a=0;a<16;a++){var c=r+a,s=t[c];t[c]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}var h=this._hash.words,l=t[r+0],p=t[r+1],f=t[r+2],d=t[r+3],y=t[r+4],m=t[r+5],g=t[r+6],v=t[r+7],_=t[r+8],b=t[r+9],C=t[r+10],w=t[r+11],x=t[r+12],A=t[r+13],S=t[r+14],k=t[r+15],B=h[0],N=h[1],M=h[2],P=h[3];B=e(B,N,M,P,l,7,u[0]),P=e(P,B,N,M,p,12,u[1]),M=e(M,P,B,N,f,17,u[2]),N=e(N,M,P,B,d,22,u[3]),B=e(B,N,M,P,y,7,u[4]),P=e(P,B,N,M,m,12,u[5]),M=e(M,P,B,N,g,17,u[6]),N=e(N,M,P,B,v,22,u[7]),B=e(B,N,M,P,_,7,u[8]),P=e(P,B,N,M,b,12,u[9]),M=e(M,P,B,N,C,17,u[10]),N=e(N,M,P,B,w,22,u[11]),B=e(B,N,M,P,x,7,u[12]),P=e(P,B,N,M,A,12,u[13]),M=e(M,P,B,N,S,17,u[14]),B=i(B,N=e(N,M,P,B,k,22,u[15]),M,P,p,5,u[16]),P=i(P,B,N,M,g,9,u[17]),M=i(M,P,B,N,w,14,u[18]),N=i(N,M,P,B,l,20,u[19]),B=i(B,N,M,P,m,5,u[20]),P=i(P,B,N,M,C,9,u[21]),M=i(M,P,B,N,k,14,u[22]),N=i(N,M,P,B,y,20,u[23]),B=i(B,N,M,P,b,5,u[24]),P=i(P,B,N,M,S,9,u[25]),M=i(M,P,B,N,d,14,u[26]),N=i(N,M,P,B,_,20,u[27]),B=i(B,N,M,P,A,5,u[28]),P=i(P,B,N,M,f,9,u[29]),M=i(M,P,B,N,v,14,u[30]),B=o(B,N=i(N,M,P,B,x,20,u[31]),M,P,m,4,u[32]),P=o(P,B,N,M,_,11,u[33]),M=o(M,P,B,N,w,16,u[34]),N=o(N,M,P,B,S,23,u[35]),B=o(B,N,M,P,p,4,u[36]),P=o(P,B,N,M,y,11,u[37]),M=o(M,P,B,N,v,16,u[38]),N=o(N,M,P,B,C,23,u[39]),B=o(B,N,M,P,A,4,u[40]),P=o(P,B,N,M,l,11,u[41]),M=o(M,P,B,N,d,16,u[42]),N=o(N,M,P,B,g,23,u[43]),B=o(B,N,M,P,b,4,u[44]),P=o(P,B,N,M,x,11,u[45]),M=o(M,P,B,N,k,16,u[46]),B=n(B,N=o(N,M,P,B,f,23,u[47]),M,P,l,6,u[48]),P=n(P,B,N,M,v,10,u[49]),M=n(M,P,B,N,S,15,u[50]),N=n(N,M,P,B,m,21,u[51]),B=n(B,N,M,P,x,6,u[52]),P=n(P,B,N,M,d,10,u[53]),M=n(M,P,B,N,C,15,u[54]),N=n(N,M,P,B,p,21,u[55]),B=n(B,N,M,P,_,6,u[56]),P=n(P,B,N,M,k,10,u[57]),M=n(M,P,B,N,g,15,u[58]),N=n(N,M,P,B,A,21,u[59]),B=n(B,N,M,P,y,6,u[60]),P=n(P,B,N,M,w,10,u[61]),M=n(M,P,B,N,f,15,u[62]),N=n(N,M,P,B,b,21,u[63]),h[0]=h[0]+B|0,h[1]=h[1]+N|0,h[2]=h[2]+M|0,h[3]=h[3]+P|0},_doFinalize:function(){var e=this._data,i=e.words,o=8*this._nDataBytes,n=8*e.sigBytes;i[n>>>5]|=128<<24-n%32;var r=t.floor(o/4294967296),a=o;i[15+(n+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),i[14+(n+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),e.sigBytes=4*(i.length+1),this._process();for(var c=this._hash,s=c.words,h=0;h<4;h++){var l=s[h];s[h]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}return c},clone:function(){var t=h.clone.call(this);return t._hash=this._hash.clone(),t}});r.MD5=h._createHelper(p),r.HmacMD5=h._createHmacHelper(p)}(Math),e=(t=c).lib,i=e.WordArray,o=e.Hasher,n=t.algo,r=[],a=n.SHA1=o.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var i=this._hash.words,o=i[0],n=i[1],a=i[2],c=i[3],s=i[4],h=0;h<80;h++){if(h<16)r[h]=0|t[e+h];else{var l=r[h-3]^r[h-8]^r[h-14]^r[h-16];r[h]=l<<1|l>>>31}var u=(o<<5|o>>>27)+s+r[h];u+=h<20?1518500249+(n&a|~n&c):h<40?1859775393+(n^a^c):h<60?(n&a|n&c|a&c)-1894007588:(n^a^c)-899497514,s=c,c=a,a=n<<30|n>>>2,n=o,o=u}i[0]=i[0]+o|0,i[1]=i[1]+n|0,i[2]=i[2]+a|0,i[3]=i[3]+c|0,i[4]=i[4]+s|0},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,o=8*t.sigBytes;return e[o>>>5]|=128<<24-o%32,e[14+(o+64>>>9<<4)]=Math.floor(i/4294967296),e[15+(o+64>>>9<<4)]=i,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=o.clone.call(this);return t._hash=this._hash.clone(),t}}),t.SHA1=o._createHelper(a),t.HmacSHA1=o._createHmacHelper(a),function(t){var e=c,i=e.lib,o=i.WordArray,n=i.Hasher,r=e.algo,a=[],s=[];!function(){function e(e){for(var i=t.sqrt(e),o=2;o<=i;o++)if(!(e%o))return!1;return!0}function i(t){return 4294967296*(t-(0|t))|0}for(var o=2,n=0;n<64;)e(o)&&(n<8&&(a[n]=i(t.pow(o,.5))),s[n]=i(t.pow(o,1/3)),n++),o++}();var h=[],l=r.SHA256=n.extend({_doReset:function(){this._hash=new o.init(a.slice(0))},_doProcessBlock:function(t,e){for(var i=this._hash.words,o=i[0],n=i[1],r=i[2],a=i[3],c=i[4],l=i[5],u=i[6],p=i[7],f=0;f<64;f++){if(f<16)h[f]=0|t[e+f];else{var d=h[f-15],y=(d<<25|d>>>7)^(d<<14|d>>>18)^d>>>3,m=h[f-2],g=(m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10;h[f]=y+h[f-7]+g+h[f-16]}var v=o&n^o&r^n&r,_=(o<<30|o>>>2)^(o<<19|o>>>13)^(o<<10|o>>>22),b=p+((c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25))+(c&l^~c&u)+s[f]+h[f];p=u,u=l,l=c,c=a+b|0,a=r,r=n,n=o,o=b+(_+v)|0}i[0]=i[0]+o|0,i[1]=i[1]+n|0,i[2]=i[2]+r|0,i[3]=i[3]+a|0,i[4]=i[4]+c|0,i[5]=i[5]+l|0,i[6]=i[6]+u|0,i[7]=i[7]+p|0},_doFinalize:function(){var e=this._data,i=e.words,o=8*this._nDataBytes,n=8*e.sigBytes;return i[n>>>5]|=128<<24-n%32,i[14+(n+64>>>9<<4)]=t.floor(o/4294967296),i[15+(n+64>>>9<<4)]=o,e.sigBytes=4*i.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}});e.SHA256=n._createHelper(l),e.HmacSHA256=n._createHmacHelper(l)}(Math),function(){function t(t){return t<<8&4278255360|t>>>8&16711935}var e=c,i=e.lib.WordArray,o=e.enc;o.Utf16=o.Utf16BE={stringify:function(t){for(var e=t.words,i=t.sigBytes,o=[],n=0;n>>2]>>>16-n%4*8&65535;o.push(String.fromCharCode(r))}return o.join("")},parse:function(t){for(var e=t.length,o=[],n=0;n>>1]|=t.charCodeAt(n)<<16-n%2*16;return i.create(o,2*e)}},o.Utf16LE={stringify:function(e){for(var i=e.words,o=e.sigBytes,n=[],r=0;r>>2]>>>16-r%4*8&65535);n.push(String.fromCharCode(a))}return n.join("")},parse:function(e){for(var o=e.length,n=[],r=0;r>>1]|=t(e.charCodeAt(r)<<16-r%2*16);return i.create(n,2*o)}}}(),function(){if("function"==typeof ArrayBuffer){var t=c.lib.WordArray,e=t.init;(t.init=function(t){if(t instanceof ArrayBuffer&&(t=new Uint8Array(t)),(t instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array)&&(t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength)),t instanceof Uint8Array){for(var i=t.byteLength,o=[],n=0;n>>2]|=t[n]<<24-n%4*8;e.call(this,o,i)}else e.apply(this,arguments)}).prototype=t}}(),function(){function t(t,e,i){return t^e^i}function e(t,e,i){return t&e|~t&i}function i(t,e,i){return(t|~e)^i}function o(t,e,i){return t&i|e&~i}function n(t,e,i){return t^(e|~i)}function r(t,e){return t<>>32-e}var a=c,s=a.lib,h=s.WordArray,l=s.Hasher,u=a.algo,p=h.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),f=h.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),d=h.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),y=h.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),m=h.create([0,1518500249,1859775393,2400959708,2840853838]),g=h.create([1352829926,1548603684,1836072691,2053994217,0]),v=u.RIPEMD160=l.extend({_doReset:function(){this._hash=h.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(a,c){for(var s=0;s<16;s++){var h=c+s,l=a[h];a[h]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}var u,v,_,b,C,w,x,A,S,k,B,N=this._hash.words,M=m.words,P=g.words,L=p.words,I=f.words,R=d.words,G=y.words;for(w=u=N[0],x=v=N[1],A=_=N[2],S=b=N[3],k=C=N[4],s=0;s<80;s+=1)B=u+a[c+L[s]]|0,B+=s<16?t(v,_,b)+M[0]:s<32?e(v,_,b)+M[1]:s<48?i(v,_,b)+M[2]:s<64?o(v,_,b)+M[3]:n(v,_,b)+M[4],B=(B=r(B|=0,R[s]))+C|0,u=C,C=b,b=r(_,10),_=v,v=B,B=w+a[c+I[s]]|0,B+=s<16?n(x,A,S)+P[0]:s<32?o(x,A,S)+P[1]:s<48?i(x,A,S)+P[2]:s<64?e(x,A,S)+P[3]:t(x,A,S)+P[4],B=(B=r(B|=0,G[s]))+k|0,w=k,k=S,S=r(A,10),A=x,x=B;B=N[1]+_+S|0,N[1]=N[2]+b+k|0,N[2]=N[3]+C+w|0,N[3]=N[4]+u+x|0,N[4]=N[0]+v+A|0,N[0]=B},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,o=8*t.sigBytes;e[o>>>5]|=128<<24-o%32,e[14+(o+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t.sigBytes=4*(e.length+1),this._process();for(var n=this._hash,r=n.words,a=0;a<5;a++){var c=r[a];r[a]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}return n},clone:function(){var t=l.clone.call(this);return t._hash=this._hash.clone(),t}});a.RIPEMD160=l._createHelper(v),a.HmacRIPEMD160=l._createHmacHelper(v)}(Math),function(){var t=c,e=t.lib.Base,i=t.enc.Utf8;t.algo.HMAC=e.extend({init:function(t,e){t=this._hasher=new t.init,"string"==typeof e&&(e=i.parse(e));var o=t.blockSize,n=4*o;e.sigBytes>n&&(e=t.finalize(e)),e.clamp();for(var r=this._oKey=e.clone(),a=this._iKey=e.clone(),c=r.words,s=a.words,h=0;h>>24)|4278255360&(r<<24|r>>>8),a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),(N=i[n]).high^=a,N.low^=r}for(var c=0;c<24;c++){for(var p=0;p<5;p++){for(var f=0,d=0,y=0;y<5;y++)f^=(N=i[p+5*y]).high,d^=N.low;var m=u[p];m.high=f,m.low=d}for(p=0;p<5;p++){var g=u[(p+4)%5],v=u[(p+1)%5],_=v.high,b=v.low;for(f=g.high^(_<<1|b>>>31),d=g.low^(b<<1|_>>>31),y=0;y<5;y++)(N=i[p+5*y]).high^=f,N.low^=d}for(var C=1;C<25;C++){var w=(N=i[C]).high,x=N.low,A=s[C];A<32?(f=w<>>32-A,d=x<>>32-A):(f=x<>>64-A,d=w<>>64-A);var S=u[h[C]];S.high=f,S.low=d}var k=u[0],B=i[0];for(k.high=B.high,k.low=B.low,p=0;p<5;p++)for(y=0;y<5;y++){var N=i[C=p+5*y],M=u[C],P=u[(p+1)%5+5*y],L=u[(p+2)%5+5*y];N.high=M.high^~P.high&L.high,N.low=M.low^~P.low&L.low}N=i[0];var I=l[c];N.high^=I.high,N.low^=I.low}},_doFinalize:function(){var e=this._data,i=e.words,n=(this._nDataBytes,8*e.sigBytes),r=32*this.blockSize;i[n>>>5]|=1<<24-n%32,i[(t.ceil((n+1)/r)*r>>>5)-1]|=128,e.sigBytes=4*i.length,this._process();for(var a=this._state,c=this.cfg.outputLength/8,s=c/8,h=[],l=0;l>>24)|4278255360&(p<<24|p>>>8),f=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),h.push(f),h.push(p)}return new o.init(h,c)},clone:function(){for(var t=n.clone.call(this),e=t._state=this._state.slice(0),i=0;i<25;i++)e[i]=e[i].clone();return t}});e.SHA3=n._createHelper(p),e.HmacSHA3=n._createHmacHelper(p)}(Math),function(){function t(){return n.create.apply(n,arguments)}var e=c,i=e.lib.Hasher,o=e.x64,n=o.Word,r=o.WordArray,a=e.algo,s=[t(1116352408,3609767458),t(1899447441,602891725),t(3049323471,3964484399),t(3921009573,2173295548),t(961987163,4081628472),t(1508970993,3053834265),t(2453635748,2937671579),t(2870763221,3664609560),t(3624381080,2734883394),t(310598401,1164996542),t(607225278,1323610764),t(1426881987,3590304994),t(1925078388,4068182383),t(2162078206,991336113),t(2614888103,633803317),t(3248222580,3479774868),t(3835390401,2666613458),t(4022224774,944711139),t(264347078,2341262773),t(604807628,2007800933),t(770255983,1495990901),t(1249150122,1856431235),t(1555081692,3175218132),t(1996064986,2198950837),t(2554220882,3999719339),t(2821834349,766784016),t(2952996808,2566594879),t(3210313671,3203337956),t(3336571891,1034457026),t(3584528711,2466948901),t(113926993,3758326383),t(338241895,168717936),t(666307205,1188179964),t(773529912,1546045734),t(1294757372,1522805485),t(1396182291,2643833823),t(1695183700,2343527390),t(1986661051,1014477480),t(2177026350,1206759142),t(2456956037,344077627),t(2730485921,1290863460),t(2820302411,3158454273),t(3259730800,3505952657),t(3345764771,106217008),t(3516065817,3606008344),t(3600352804,1432725776),t(4094571909,1467031594),t(275423344,851169720),t(430227734,3100823752),t(506948616,1363258195),t(659060556,3750685593),t(883997877,3785050280),t(958139571,3318307427),t(1322822218,3812723403),t(1537002063,2003034995),t(1747873779,3602036899),t(1955562222,1575990012),t(2024104815,1125592928),t(2227730452,2716904306),t(2361852424,442776044),t(2428436474,593698344),t(2756734187,3733110249),t(3204031479,2999351573),t(3329325298,3815920427),t(3391569614,3928383900),t(3515267271,566280711),t(3940187606,3454069534),t(4118630271,4000239992),t(116418474,1914138554),t(174292421,2731055270),t(289380356,3203993006),t(460393269,320620315),t(685471733,587496836),t(852142971,1086792851),t(1017036298,365543100),t(1126000580,2618297676),t(1288033470,3409855158),t(1501505948,4234509866),t(1607167915,987167468),t(1816402316,1246189591)],h=[];!function(){for(var e=0;e<80;e++)h[e]=t()}();var l=a.SHA512=i.extend({_doReset:function(){this._hash=new r.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var i=this._hash.words,o=i[0],n=i[1],r=i[2],a=i[3],c=i[4],l=i[5],u=i[6],p=i[7],f=o.high,d=o.low,y=n.high,m=n.low,g=r.high,v=r.low,_=a.high,b=a.low,C=c.high,w=c.low,x=l.high,A=l.low,S=u.high,k=u.low,B=p.high,N=p.low,M=f,P=d,L=y,I=m,R=g,G=v,D=_,O=b,T=C,F=w,E=x,H=A,z=S,j=k,V=B,W=N,K=0;K<80;K++){var U=h[K];if(K<16)var X=U.high=0|t[e+2*K],q=U.low=0|t[e+2*K+1];else{var Y=h[K-15],J=Y.high,Z=Y.low,Q=(J>>>1|Z<<31)^(J>>>8|Z<<24)^J>>>7,$=(Z>>>1|J<<31)^(Z>>>8|J<<24)^(Z>>>7|J<<25),tt=h[K-2],et=tt.high,it=tt.low,ot=(et>>>19|it<<13)^(et<<3|it>>>29)^et>>>6,nt=(it>>>19|et<<13)^(it<<3|et>>>29)^(it>>>6|et<<26),rt=h[K-7],at=rt.high,ct=rt.low,st=h[K-16],ht=st.high,lt=st.low;X=(X=(X=Q+at+((q=$+ct)>>>0<$>>>0?1:0))+ot+((q+=nt)>>>0>>0?1:0))+ht+((q+=lt)>>>0>>0?1:0),U.high=X,U.low=q}var ut,pt=T&E^~T&z,ft=F&H^~F&j,dt=M&L^M&R^L&R,yt=P&I^P&G^I&G,mt=(M>>>28|P<<4)^(M<<30|P>>>2)^(M<<25|P>>>7),gt=(P>>>28|M<<4)^(P<<30|M>>>2)^(P<<25|M>>>7),vt=(T>>>14|F<<18)^(T>>>18|F<<14)^(T<<23|F>>>9),_t=(F>>>14|T<<18)^(F>>>18|T<<14)^(F<<23|T>>>9),bt=s[K],Ct=bt.high,wt=bt.low,xt=V+vt+((ut=W+_t)>>>0>>0?1:0),At=gt+yt;V=z,W=j,z=E,j=H,E=T,H=F,T=D+(xt=(xt=(xt=xt+pt+((ut+=ft)>>>0>>0?1:0))+Ct+((ut+=wt)>>>0>>0?1:0))+X+((ut+=q)>>>0>>0?1:0))+((F=O+ut|0)>>>0>>0?1:0)|0,D=R,O=G,R=L,G=I,L=M,I=P,M=xt+(mt+dt+(At>>>0>>0?1:0))+((P=ut+At|0)>>>0>>0?1:0)|0}d=o.low=d+P,o.high=f+M+(d>>>0

>>0?1:0),m=n.low=m+I,n.high=y+L+(m>>>0>>0?1:0),v=r.low=v+G,r.high=g+R+(v>>>0>>0?1:0),b=a.low=b+O,a.high=_+D+(b>>>0>>0?1:0),w=c.low=w+F,c.high=C+T+(w>>>0>>0?1:0),A=l.low=A+H,l.high=x+E+(A>>>0>>0?1:0),k=u.low=k+j,u.high=S+z+(k>>>0>>0?1:0),N=p.low=N+W,p.high=B+V+(N>>>0>>0?1:0)},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,o=8*t.sigBytes;return e[o>>>5]|=128<<24-o%32,e[30+(o+128>>>10<<5)]=Math.floor(i/4294967296),e[31+(o+128>>>10<<5)]=i,t.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var t=i.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:32});e.SHA512=i._createHelper(l),e.HmacSHA512=i._createHmacHelper(l)}(),function(){var t=c,e=t.x64,i=e.Word,o=e.WordArray,n=t.algo,r=n.SHA512,a=n.SHA384=r.extend({_doReset:function(){this._hash=new o.init([new i.init(3418070365,3238371032),new i.init(1654270250,914150663),new i.init(2438529370,812702999),new i.init(355462360,4144912697),new i.init(1731405415,4290775857),new i.init(2394180231,1750603025),new i.init(3675008525,1694076839),new i.init(1203062813,3204075428)])},_doFinalize:function(){var t=r._doFinalize.call(this);return t.sigBytes-=16,t}});t.SHA384=r._createHelper(a),t.HmacSHA384=r._createHmacHelper(a)}(),c.lib.Cipher||function(t){var e=c,i=e.lib,o=i.Base,n=i.WordArray,r=i.BufferedBlockAlgorithm,a=e.enc,s=(a.Utf8,a.Base64),h=e.algo.EvpKDF,l=i.Cipher=r.extend({cfg:o.extend(),createEncryptor:function(t,e){return this.create(this._ENC_XFORM_MODE,t,e)},createDecryptor:function(t,e){return this.create(this._DEC_XFORM_MODE,t,e)},init:function(t,e,i){this.cfg=this.cfg.extend(i),this._xformMode=t,this._key=e,this.reset()},reset:function(){r.reset.call(this),this._doReset()},process:function(t){return this._append(t),this._process()},finalize:function(t){return t&&this._append(t),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function t(t){return"string"==typeof t?_:g}return function(e){return{encrypt:function(i,o,n){return t(o).encrypt(e,i,o,n)},decrypt:function(i,o,n){return t(o).decrypt(e,i,o,n)}}}}()}),u=(i.StreamCipher=l.extend({_doFinalize:function(){return this._process(!0)},blockSize:1}),e.mode={}),p=i.BlockCipherMode=o.extend({createEncryptor:function(t,e){return this.Encryptor.create(t,e)},createDecryptor:function(t,e){return this.Decryptor.create(t,e)},init:function(t,e){this._cipher=t,this._iv=e}}),f=u.CBC=function(){function e(e,i,o){var n=this._iv;if(n){var r=n;this._iv=t}else r=this._prevBlock;for(var a=0;a>>2];t.sigBytes-=e}},y=(i.BlockCipher=l.extend({cfg:l.cfg.extend({mode:f,padding:d}),reset:function(){l.reset.call(this);var t=this.cfg,e=t.iv,i=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var o=i.createEncryptor;else o=i.createDecryptor,this._minBufferSize=1;this._mode&&this._mode.__creator==o?this._mode.init(this,e&&e.words):(this._mode=o.call(i,this,e&&e.words),this._mode.__creator=o)},_doProcessBlock:function(t,e){this._mode.processBlock(t,e)},_doFinalize:function(){var t=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){t.pad(this._data,this.blockSize);var e=this._process(!0)}else e=this._process(!0),t.unpad(e);return e},blockSize:4}),i.CipherParams=o.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}})),m=(e.format={}).OpenSSL={stringify:function(t){var e=t.ciphertext,i=t.salt;if(i)var o=n.create([1398893684,1701076831]).concat(i).concat(e);else o=e;return o.toString(s)},parse:function(t){var e=s.parse(t),i=e.words;if(1398893684==i[0]&&1701076831==i[1]){var o=n.create(i.slice(2,4));i.splice(0,4),e.sigBytes-=16}return y.create({ciphertext:e,salt:o})}},g=i.SerializableCipher=o.extend({cfg:o.extend({format:m}),encrypt:function(t,e,i,o){o=this.cfg.extend(o);var n=t.createEncryptor(i,o),r=n.finalize(e),a=n.cfg;return y.create({ciphertext:r,key:i,iv:a.iv,algorithm:t,mode:a.mode,padding:a.padding,blockSize:t.blockSize,formatter:o.format})},decrypt:function(t,e,i,o){return o=this.cfg.extend(o),e=this._parse(e,o.format),t.createDecryptor(i,o).finalize(e.ciphertext)},_parse:function(t,e){return"string"==typeof t?e.parse(t,this):t}}),v=(e.kdf={}).OpenSSL={execute:function(t,e,i,o){o||(o=n.random(8));var r=h.create({keySize:e+i}).compute(t,o),a=n.create(r.words.slice(e),4*i);return r.sigBytes=4*e,y.create({key:r,iv:a,salt:o})}},_=i.PasswordBasedCipher=g.extend({cfg:g.cfg.extend({kdf:v}),encrypt:function(t,e,i,o){var n=(o=this.cfg.extend(o)).kdf.execute(i,t.keySize,t.ivSize);o.iv=n.iv;var r=g.encrypt.call(this,t,e,n.key,o);return r.mixIn(n),r},decrypt:function(t,e,i,o){o=this.cfg.extend(o),e=this._parse(e,o.format);var n=o.kdf.execute(i,t.keySize,t.ivSize,e.salt);return o.iv=n.iv,g.decrypt.call(this,t,e,n.key,o)}})}(),c.mode.CFB=function(){function t(t,e,i,o){var n=this._iv;if(n){var r=n.slice(0);this._iv=void 0}else r=this._prevBlock;o.encryptBlock(r,0);for(var a=0;a>>2]|=n<<24-r%4*8,t.sigBytes+=n},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},c.pad.Iso10126={pad:function(t,e){var i=4*e,o=i-t.sigBytes%i;t.concat(c.lib.WordArray.random(o-1)).concat(c.lib.WordArray.create([o<<24],1))},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},c.pad.Iso97971={pad:function(t,e){t.concat(c.lib.WordArray.create([2147483648],1)),c.pad.ZeroPadding.pad(t,e)},unpad:function(t){c.pad.ZeroPadding.unpad(t),t.sigBytes--}},c.mode.OFB=function(){var t=c.lib.BlockCipherMode.extend(),e=t.Encryptor=t.extend({processBlock:function(t,e){var i=this._cipher,o=i.blockSize,n=this._iv,r=this._keystream;n&&(r=this._keystream=n.slice(0),this._iv=void 0),i.encryptBlock(r,0);for(var a=0;a>>8^255&d^99,o[i]=d,n[d]=i;var y=t[i],m=t[y],g=t[m],v=257*t[d]^16843008*d;r[i]=v<<24|v>>>8,a[i]=v<<16|v>>>16,s[i]=v<<8|v>>>24,h[i]=v,v=16843009*g^65537*m^257*y^16843008*i,l[d]=v<<24|v>>>8,u[d]=v<<16|v>>>16,p[d]=v<<8|v>>>24,f[d]=v,i?(i=y^t[t[t[g^y]]],c^=t[t[c]]):i=c=1}}();var d=[0,1,2,4,8,16,32,64,128,27,54],y=i.AES=e.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var t=this._keyPriorReset=this._key,e=t.words,i=t.sigBytes/4,n=4*((this._nRounds=i+6)+1),r=this._keySchedule=[],a=0;a6&&a%i==4&&(c=o[c>>>24]<<24|o[c>>>16&255]<<16|o[c>>>8&255]<<8|o[255&c]):(c=o[(c=c<<8|c>>>24)>>>24]<<24|o[c>>>16&255]<<16|o[c>>>8&255]<<8|o[255&c],c^=d[a/i|0]<<24),r[a]=r[a-i]^c}for(var s=this._invKeySchedule=[],h=0;h>>24]]^u[o[c>>>16&255]]^p[o[c>>>8&255]]^f[o[255&c]]}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,r,a,s,h,o)},decryptBlock:function(t,e){var i=t[e+1];t[e+1]=t[e+3],t[e+3]=i,this._doCryptBlock(t,e,this._invKeySchedule,l,u,p,f,n),i=t[e+1],t[e+1]=t[e+3],t[e+3]=i},_doCryptBlock:function(t,e,i,o,n,r,a,c){for(var s=this._nRounds,h=t[e]^i[0],l=t[e+1]^i[1],u=t[e+2]^i[2],p=t[e+3]^i[3],f=4,d=1;d>>24]^n[l>>>16&255]^r[u>>>8&255]^a[255&p]^i[f++],m=o[l>>>24]^n[u>>>16&255]^r[p>>>8&255]^a[255&h]^i[f++],g=o[u>>>24]^n[p>>>16&255]^r[h>>>8&255]^a[255&l]^i[f++],v=o[p>>>24]^n[h>>>16&255]^r[l>>>8&255]^a[255&u]^i[f++];h=y,l=m,u=g,p=v}y=(c[h>>>24]<<24|c[l>>>16&255]<<16|c[u>>>8&255]<<8|c[255&p])^i[f++],m=(c[l>>>24]<<24|c[u>>>16&255]<<16|c[p>>>8&255]<<8|c[255&h])^i[f++],g=(c[u>>>24]<<24|c[p>>>16&255]<<16|c[h>>>8&255]<<8|c[255&l])^i[f++],v=(c[p>>>24]<<24|c[h>>>16&255]<<16|c[l>>>8&255]<<8|c[255&u])^i[f++],t[e]=y,t[e+1]=m,t[e+2]=g,t[e+3]=v},keySize:8});t.AES=e._createHelper(y)}(),function(){function t(t,e){var i=(this._lBlock>>>t^this._rBlock)&e;this._rBlock^=i,this._lBlock^=i<>>t^this._lBlock)&e;this._lBlock^=i,this._rBlock^=i<>>5]>>>31-o%32&1}for(var n=this._subKeys=[],r=0;r<16;r++){var a=n[r]=[],c=l[r];for(i=0;i<24;i++)a[i/6|0]|=e[(h[i]-1+c)%28]<<31-i%6,a[4+(i/6|0)]|=e[28+(h[i+24]-1+c)%28]<<31-i%6;for(a[0]=a[0]<<1|a[0]>>>31,i=1;i<7;i++)a[i]=a[i]>>>4*(i-1)+3;a[7]=a[7]<<5|a[7]>>>27}var u=this._invSubKeys=[];for(i=0;i<16;i++)u[i]=n[15-i]},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._subKeys)},decryptBlock:function(t,e){this._doCryptBlock(t,e,this._invSubKeys)},_doCryptBlock:function(i,o,n){this._lBlock=i[o],this._rBlock=i[o+1],t.call(this,4,252645135),t.call(this,16,65535),e.call(this,2,858993459),e.call(this,8,16711935),t.call(this,1,1431655765);for(var r=0;r<16;r++){for(var a=n[r],c=this._lBlock,s=this._rBlock,h=0,l=0;l<8;l++)h|=u[l][((s^a[l])&p[l])>>>0];this._lBlock=s,this._rBlock=c^h}var f=this._lBlock;this._lBlock=this._rBlock,this._rBlock=f,t.call(this,1,1431655765),e.call(this,8,16711935),e.call(this,2,858993459),t.call(this,16,65535),t.call(this,4,252645135),i[o]=this._lBlock,i[o+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});i.DES=r._createHelper(f);var d=a.TripleDES=r.extend({_doReset:function(){var t=this._key.words;this._des1=f.createEncryptor(n.create(t.slice(0,2))),this._des2=f.createEncryptor(n.create(t.slice(2,4))),this._des3=f.createEncryptor(n.create(t.slice(4,6)))},encryptBlock:function(t,e){this._des1.encryptBlock(t,e),this._des2.decryptBlock(t,e),this._des3.encryptBlock(t,e)},decryptBlock:function(t,e){this._des3.decryptBlock(t,e),this._des2.encryptBlock(t,e),this._des1.decryptBlock(t,e)},keySize:6,ivSize:2,blockSize:2});i.TripleDES=r._createHelper(d)}(),function(){function t(){for(var t=this._S,e=this._i,i=this._j,o=0,n=0;n<4;n++){i=(i+t[e=(e+1)%256])%256;var r=t[e];t[e]=t[i],t[i]=r,o|=t[(t[e]+t[i])%256]<<24-8*n}return this._i=e,this._j=i,o}var e=c,i=e.lib.StreamCipher,o=e.algo,n=o.RC4=i.extend({_doReset:function(){for(var t=this._key,e=t.words,i=t.sigBytes,o=this._S=[],n=0;n<256;n++)o[n]=n;n=0;for(var r=0;n<256;n++){var a=n%i,c=e[a>>>2]>>>24-a%4*8&255;r=(r+o[n]+c)%256;var s=o[n];o[n]=o[r],o[r]=s}this._i=this._j=0},_doProcessBlock:function(e,i){e[i]^=t.call(this)},keySize:8,ivSize:0});e.RC4=i._createHelper(n);var r=o.RC4Drop=n.extend({cfg:n.cfg.extend({drop:192}),_doReset:function(){n._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)t.call(this)}});e.RC4Drop=i._createHelper(r)}(),c.mode.CTRGladman=function(){function t(t){if(255==(t>>24&255)){var e=t>>16&255,i=t>>8&255,o=255&t;255===e?(e=0,255===i?(i=0,255===o?o=0:++o):++i):++e,t=0,t+=e<<16,t+=i<<8,t+=o}else t+=1<<24;return t}function e(e){return 0===(e[0]=t(e[0]))&&(e[1]=t(e[1])),e}var i=c.lib.BlockCipherMode.extend(),o=i.Encryptor=i.extend({processBlock:function(t,i){var o=this._cipher,n=o.blockSize,r=this._iv,a=this._counter;r&&(a=this._counter=r.slice(0),this._iv=void 0),e(a);var c=a.slice(0);o.encryptBlock(c,0);for(var s=0;s>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0,i=0;i<8;i++){var o=t[i]+e[i],n=65535&o,c=o>>>16,s=((n*n>>>17)+n*c>>>15)+c*c,h=((4294901760&o)*o|0)+((65535&o)*o|0);a[i]=s^h}t[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,t[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,t[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,t[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,t[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,t[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,t[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,t[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}var e=c,i=e.lib.StreamCipher,o=e.algo,n=[],r=[],a=[],s=o.Rabbit=i.extend({_doReset:function(){for(var e=this._key.words,i=this.cfg.iv,o=0;o<4;o++)e[o]=16711935&(e[o]<<8|e[o]>>>24)|4278255360&(e[o]<<24|e[o]>>>8);var n=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],r=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,o=0;o<4;o++)t.call(this);for(o=0;o<8;o++)r[o]^=n[o+4&7];if(i){var a=i.words,c=a[0],s=a[1],h=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),l=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),u=h>>>16|4294901760&l,p=l<<16|65535&h;for(r[0]^=h,r[1]^=u,r[2]^=l,r[3]^=p,r[4]^=h,r[5]^=u,r[6]^=l,r[7]^=p,o=0;o<4;o++)t.call(this)}},_doProcessBlock:function(e,i){var o=this._X;t.call(this),n[0]=o[0]^o[5]>>>16^o[3]<<16,n[1]=o[2]^o[7]>>>16^o[5]<<16,n[2]=o[4]^o[1]>>>16^o[7]<<16,n[3]=o[6]^o[3]>>>16^o[1]<<16;for(var r=0;r<4;r++)n[r]=16711935&(n[r]<<8|n[r]>>>24)|4278255360&(n[r]<<24|n[r]>>>8),e[i+r]^=n[r]},blockSize:4,ivSize:2});e.Rabbit=i._createHelper(s)}(),c.mode.CTR=function(){var t=c.lib.BlockCipherMode.extend(),e=t.Encryptor=t.extend({processBlock:function(t,e){var i=this._cipher,o=i.blockSize,n=this._iv,r=this._counter;n&&(r=this._counter=n.slice(0),this._iv=void 0);var a=r.slice(0);i.encryptBlock(a,0),r[o-1]=r[o-1]+1|0;for(var c=0;c>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0,i=0;i<8;i++){var o=t[i]+e[i],n=65535&o,c=o>>>16,s=((n*n>>>17)+n*c>>>15)+c*c,h=((4294901760&o)*o|0)+((65535&o)*o|0);a[i]=s^h}t[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,t[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,t[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,t[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,t[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,t[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,t[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,t[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}var e=c,i=e.lib.StreamCipher,o=e.algo,n=[],r=[],a=[],s=o.RabbitLegacy=i.extend({_doReset:function(){var e=this._key.words,i=this.cfg.iv,o=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],n=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var r=0;r<4;r++)t.call(this);for(r=0;r<8;r++)n[r]^=o[r+4&7];if(i){var a=i.words,c=a[0],s=a[1],h=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),l=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),u=h>>>16|4294901760&l,p=l<<16|65535&h;for(n[0]^=h,n[1]^=u,n[2]^=l,n[3]^=p,n[4]^=h,n[5]^=u,n[6]^=l,n[7]^=p,r=0;r<4;r++)t.call(this)}},_doProcessBlock:function(e,i){var o=this._X;t.call(this),n[0]=o[0]^o[5]>>>16^o[3]<<16,n[1]=o[2]^o[7]>>>16^o[5]<<16,n[2]=o[4]^o[1]>>>16^o[7]<<16,n[3]=o[6]^o[3]>>>16^o[1]<<16;for(var r=0;r<4;r++)n[r]=16711935&(n[r]<<8|n[r]>>>24)|4278255360&(n[r]<<24|n[r]>>>8),e[i+r]^=n[r]},blockSize:4,ivSize:2});e.RabbitLegacy=i._createHelper(s)}(),c.pad.ZeroPadding={pad:function(t,e){var i=4*e;t.clamp(),t.sigBytes+=i-(t.sigBytes%i||i)},unpad:function(t){for(var e=t.words,i=t.sigBytes-1;!(e[i>>>2]>>>24-i%4*8&255);)i--;t.sigBytes=i+1}},c}),cc._RF.pop()},{}],"use_v2.1-2.2.1_cc.Toggle_event":[function(t,e){"use strict";cc._RF.push(e,"7a231Rz0d9LBYYgY3bDYlLB","use_v2.1-2.2.1_cc.Toggle_event"),cc.Toggle&&(cc.Toggle._triggerEventInScript_isChecked=!0),cc._RF.pop()},{}]},{},["DynamicAtlasManager","GameManager","GameOver","GuideManager","Load","RankManager","Sun","GameConfig","HttpUtil","crypto-js.min","GameAppStart","AudioManager","Notification","ItemRender","List","Storage","GameTool","use_v2.1-2.2.1_cc.Toggle_event"]); \ No newline at end of file diff --git a/build/Sun_moves/assets/main/index.b4ae4.js b/build/Sun_moves/assets/main/index.b4ae4.js new file mode 100644 index 0000000..7286199 --- /dev/null +++ b/build/Sun_moves/assets/main/index.b4ae4.js @@ -0,0 +1 @@ +window.__require=function t(e,i,o){function n(a,c){if(!i[a]){if(!e[a]){var s=a.split("/");if(s=s[s.length-1],!e[s]){var h="function"==typeof __require&&__require;if(!c&&h)return h(s,!0);if(r)return r(s,!0);throw new Error("Cannot find module '"+a+"'")}a=s}var l=i[a]={exports:{}};e[a][0].call(l.exports,function(t){return n(e[a][1][t]||t)},l,l.exports,t,e,i,o)}return i[a].exports}for(var r="function"==typeof __require&&__require,a=0;a=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,c=a.ccclass,s=a.property,h=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.audioGameBgm0=null,e.audioButtonClick=null,e.audioWarning=null,e.audioWin=null,e.luodui=null,e}var i;return n(e,t),i=e,e.prototype.ctor=function(){this.mAudioMap={},this.bgMusicVolume=.1,this.effectMusicVolume=1,this.mMusicSwitch=1,this.mEffectSwitch=1},e.prototype.play=function(t,e,i,o){if((!o||this.mMusicSwitch)&&(o||this.mEffectSwitch)){var n=o?this.bgMusicVolume:this.effectMusicVolume;if(cc.sys.isBrowser){t==this.brickSound&&(n=.1),n=1;var r=cc.audioEngine.play(t,e,n);return i&&cc.audioEngine.setFinishCallback(r,function(){i.call(this)}.bind(this)),this.mAudioMap[t]=r,t}return t}},e.prototype.save=function(){},e.prototype.onLoad=function(){null==i._instance?(i._instance=this,cc.game.addPersistRootNode(this.node),this.reward=!1,this.finish=!1,this.rewardCount=0,this.ctor(),this.preload()):this.node.destroy()},e.prototype.preload=function(){cc.sys.platform===cc.sys.WECHAT_GAME&&[this.audioGameBgm0].forEach(function(){})},e.prototype.getAudioMusicSwitch=function(){return this.mMusicSwitch},e.prototype.getAudioEffectSwitch=function(){return this.mEffectSwitch},e.prototype.trunAudioSound=function(t){this.switchMusic(t),this.switchEffect(t)},e.prototype.switchMusic=function(t){this.mMusicSwitch!=(t?1:0)&&(this.mMusicSwitch=1-this.mMusicSwitch),t?this.playMusicGame():this.stopMusic()},e.prototype.switchEffect=function(t){this.mEffectSwitch!=(t?1:0)&&(this.mEffectSwitch=1-this.mEffectSwitch)},e.prototype.onHide=function(){cc.audioEngine.pauseAll()},e.prototype.onShow=function(){cc.audioEngine.resumeAll()},e.prototype.playMusic=function(t,e,i){i=!(void 0!==i&&!i),this.stopMusic(),this.mMusicKey=this.play(t,i,e,!0)},e.prototype.playMusicGame=function(){this.playMusic(this.audioGameBgm0,{},!0)},e.prototype.stopMusic=function(){var t=this.mAudioMap[this.mMusicKey];void 0!==t&&(cc.sys.isBrowser?cc.audioEngine.stop(t):t.stop(),cc.audioEngine.stop(t))},e.prototype.playJump=function(){},e.prototype.playLuo=function(){return this.play(this.luodui,!1,null,this.mEffectSwitch)},e.prototype.playGround=function(){},e.prototype.playPz=function(){},e.prototype.playGameStart=function(){},e.prototype.playGameOver=function(){},e.prototype.playGameResultFailed=function(){},e.prototype.playGameResultSuccess=function(){},e.prototype.playWarning=function(){return this.play(this.audioWarning,!1,null,this.mEffectSwitch)},e.prototype.playBrick=function(){},e.prototype.brickBoom=function(){},e.prototype.playAudioButton=function(){return this.play(this.audioButtonClick,!1,null,this.mEffectSwitch)},e.prototype.playWin=function(){return this.play(this.audioWin,!1,null,this.mEffectSwitch)},e.prototype.playRandomMatch=function(){this.playMusic(this.audioGameBgm0,{},!0)},e.prototype.playMatchFoundSound=function(){this.stopMusic()},r([s(cc.AudioClip)],e.prototype,"audioGameBgm0",void 0),r([s(cc.AudioClip)],e.prototype,"audioButtonClick",void 0),r([s(cc.AudioClip)],e.prototype,"audioWarning",void 0),r([s(cc.AudioClip)],e.prototype,"audioWin",void 0),r([s(cc.AudioClip)],e.prototype,"luodui",void 0),i=r([c],e)}(cc.Component);i.default=h,cc._RF.pop()},{}],DynamicAtlasManager:[function(t,e){"use strict";cc._RF.push(e,"5c9b8FZiaNLMrMDs9T3rByf","DynamicAtlasManager"),cc.Class({extends:cc.Component,properties:{},onLoad:function(){cc.dynamicAtlasManager.enabled=!1}}),cc._RF.pop()},{}],GameAppStart:[function(t,e,i){"use strict";cc._RF.push(e,"61d4ccY2ztLMYIh8WvqPPAw","GameAppStart"),Object.defineProperty(i,"__esModule",{value:!0});var o=t("../Config/GameConfig"),n=t("../Crypto/HttpUtil"),r=t("../Music/AudioManager"),a=t("../Notification/Notification"),c=t("../Storage/Storage"),s=t("../Tool/GameTool");window.initMgr=function(){cc.fx||(cc.fx={},console.log("\u521d\u59cb\u5316"),cc.fx.StateInfo={debugMode:!0,networkConnected:!0,networkType:"none",isOnForeground:!0},cc.fx.GameConfig=o.GameConfig,cc.fx.HttpUtil=n.default,cc.fx.GameTool=s.GameTool,cc.fx.AudioManager=r.default,cc.fx.Notifications=a.Notifications,cc.fx.StorageMessage=c.StorageMessage,cc.fx.ShareInfo={queryId:-1},cc.fx.BurialShareType={Default:"default",Invite:"invite",DailyInviteRoomJoin:"invite_join_room",DailyInviteFriend:"invite_friend",DailyInviteGroup:"invate_group",DailyInviteGroupAlive:"invate_alive",DailyInviteGroupReward:"invate_rewared",DailyInviteGroupBox:"invate_box",DailyInviteGroupBall:"invate_ball",MatchResult:"matchResult",MatchFix5:"MatchFix5",MatchFix20:"MatchFix20",MatchFix100:"MatchFix100",MatchFix500:"MatchFix500",NewerRedEnvelope:"newerRedEnvelope",CoinRoomResult:"coinRoomResult",HighRate:"highRate",CoinRoomWinStreak:"coinRoomWinStreak",CoinRoomBankruptcy1:"coinRoomBankruptcy1",CoinRoomBankruptcy2:"coinRoomBankruptcy2",CoinRoomBankruptcy3:"coinRoomBankruptcy3"},cc.fx.ShareWhereReward={Group:"group",Friend:"friend",All:"all"},cc.fx.clickStatEventType={clickStatEventTypeVideoAD:20173201,clickStatEventTypeClickAdVideo:20173202,clickStatEventTypeBannerAD:20173203,clickStatEventTypeUserFrom:99990001,clickStatEventTypeShare:99990002,clickStatEventTypeClickAdBtn:99990007,clickStatEventTypeBannerAD2:67890033,clickStatEventTypeSubmitVersionInfo:9999,clickStatEventTypeClickFirstAd:99990003,clickStatEventTypeClickSecondAd:99990004,clickStatEventTypeWxLoginStart:10001,clickStatEventTypeWxLoginSuccess:10002,clickStatEventTypeWxLoginFailed:10003,clickStatEventTypeAuthorizationStart:10003,clickStatEventTypeAuthorizationSuccess:10004,clickStatEventTypeAuthorizationFailed:10005,clickStatEventTypeLoginSDKStart:10007,clickStatEventTypeLoginSDKSuccess:10008,clickStatEventTypeLoginSDKFailed:10009,clickStatEventTypeTCP_Start:10009,clickStatEventTypeTCP_Success:10010,clickStatEventTypeTCP_Failed:10011})},cc._RF.pop()},{"../Config/GameConfig":"GameConfig","../Crypto/HttpUtil":"HttpUtil","../Music/AudioManager":"AudioManager","../Notification/Notification":"Notification","../Storage/Storage":"Storage","../Tool/GameTool":"GameTool"}],GameConfig:[function(t,e,i){"use strict";cc._RF.push(e,"c5692vnhwNF5J9nI7VNKQNW","GameConfig");var o=this&&this.__decorate||function(t,e,i,o){var n,r=arguments.length,a=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,o);else for(var c=t.length-1;c>=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0}),i.GameConfig=void 0;var n=cc._decorator,r=n.ccclass,a=(n.property,function(){function t(){}var e;return e=t,Object.defineProperty(t,"Instance",{get:function(){return null==this._instance&&(this._instance=new e),this._instance},enumerable:!1,configurable:!0}),t.init=function(){this.GM_INFO_init(),this.CLICK_init(),this.LEVEL_INFO_init();var t=this;cc.resources.load("Json/GM_INFO",function(e,i){if(e)t.Authentication();else{var o=i.json;t.GM_INFO=o.data,t.Authentication()}}),cc.resources.load("Json/CLICK_DATA",function(e,i){if(!e){var o=i.json;t.CLICK_DATA=o.data}}),cc.resources.load("Json/LEVEL_INFO",function(e,i){if(!e){var o=i.json;t.LEVEL_INFO=o.data}}),t.GAME_DATA=[]},t.GM_INFO_init=function(){this.GM_INFO={mean_Time:0,total:0,currSeed:203213,gameId:"100009",userId:0,guide:!0,url:"http://api.sparkus.cn",success:!1,matchId:null,custom:0}},t.CLICK_init=function(){this.CLICK_DATA={type:1,success:!1,round:0,totalSunCount:0,movedSunCount:0,sunSpeed:0,overlapSunCount:0,colorList:[],duration:0,difficultyLevel:0,sunList:[],stepTimeList:[],remainder:120}},t.LEVEL_INFO_init=function(){this.LEVEL_INFO=[{number:3,moveNumber:0,moveSpeed:0,maxDistance:200,maxMove:1200,repeat:0},{number:4,moveNumber:0,moveSpeed:0,maxDistance:200,maxMove:1200,repeat:0},{number:4,moveNumber:0,moveSpeed:0,maxDistance:200,maxMove:1200,repeat:1},{number:5,moveNumber:1,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:0},{number:5,moveNumber:0,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1},{number:6,moveNumber:0,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1},{number:6,moveNumber:3,moveSpeed:4,maxDistance:200,maxMove:1200,repeat:0},{number:7,moveNumber:0,moveSpeed:4,maxDistance:200,maxMove:1200,repeat:0},{number:7,moveNumber:3,moveSpeed:4,maxDistance:200,maxMove:1200,repeat:0},{number:7,moveNumber:3,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1},{number:8,moveNumber:3,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:0},{number:8,moveNumber:5,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1},{number:9,moveNumber:3,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:0},{number:9,moveNumber:5,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1},{number:10,moveNumber:5,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1},{number:3,moveNumber:0,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:0},{number:4,moveNumber:0,moveSpeed:0,maxDistance:200,maxMove:1200,repeat:0},{number:4,moveNumber:1,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:0},{number:4,moveNumber:0,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1},{number:4,moveNumber:1,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1},{number:5,moveNumber:1,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:0},{number:5,moveNumber:0,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1},{number:5,moveNumber:1,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1},{number:5,moveNumber:2,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1},{number:5,moveNumber:3,moveSpeed:6,maxDistance:200,maxMove:1200,repeat:1}]},t.Authentication=function(){cc.fx.GameTool.Authentication()},t._instance=null,e=o([r("GameConfig")],t)}());i.GameConfig=a,cc._RF.pop()},{}],GameManager:[function(t,e,i){"use strict";cc._RF.push(e,"b0432BA295DjIOcuitdGKO1","GameManager");var o,n=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,o){var n,r=arguments.length,a=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,o);else for(var c=t.length-1;c>=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,c=a.ccclass,s=a.property,h=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.ball=null,e.qiu1=null,e.qiu2=null,e.qiu3=null,e.linePrefab=null,e.hit=null,e.bg1=null,e.bg2=null,e.time=null,e.begin=!1,e.fuhuo=!1,e.over=!1,e.show=!1,e.levelLabel=null,e}return n(e,t),e.prototype.onLoad=function(){},e.prototype.start=function(){this.fit(),this.init()},e.prototype.init=function(){this.node.getChildByName("GameOver").zIndex=100,this.node.getChildByName("GameOver").active=!1,this.ball.zIndex=100,this.bg1=this.node.getChildByName("bg1"),this.bg2=this.node.getChildByName("bg2"),this.time=this.node.getChildByName("Top").getChildByName("time").getComponent(cc.Label),this.node.getChildByName("showBtn").active=!1,this.begin=!1,this.over=!1,this.fuhuo=!0,this.pause=!0,this.show=!1,this.round=0,this.level=2,this.countTime=60,0!=cc.fx.GameConfig.GM_INFO.custom&&(this.level=cc.fx.GameConfig.GM_INFO.custom,cc.fx.GameConfig.GM_INFO.custom+=1,this.countTime=12e6),this.timeCount=.1,this.clickNow=0,this.clickCount=0,this.timeStart=0,this.repeat=-1,this.numberRepeat=-1,this.route_Array=[],this.moveArray=[],this.now_Array=[],this.ball_Array=[],this.Pos_Array=[],this.time_Array=[],this.color_Array=[],cc.fx.GameConfig.GAME_DATA=[],cc.fx.GameConfig.GM_INFO.success=!1,this.startTime=0,this.overTime=0,this.winTime=0,cc.fx.GameConfig.GM_INFO.total=0,cc.fx.GameConfig.GM_INFO.mean_Time=0,this.schedule(this.updateCountDownTime,1),this.startGame()},e.prototype.fit=function(){this.fitTop=450,this.fitBot=-600,this.setFit()||(this.fitTop=600,this.fitBot=-700)},e.prototype.getSetScreenResolutionFlag=function(){var t=cc.winSize,e=t.width;return!(t.height/e>16.2/9)},e.prototype.setFit=function(){return this.getSetScreenResolutionFlag()},e.prototype.backScene=function(){cc.director.loadScene("LoadScene")},e.prototype.reStart=function(t){this.node.getChildByName("showBtn").active=!1,this.destroyLine(),this.timeCount=.1,this.clickNow=0,this.timeStart=0,this.repeat=-1,this.numberRepeat=-1,this.begin=!1,this.route_Array=[],this.now_Array=[],this.ball_Array=[],this.Pos_Array=[],this.moveArray=[],this.time_Array=[],this.color_Array=[],0==t?this.bgMove(1):1==t?this.startGame():2==t&&this.bgMove(-1)},e.prototype.getTime=function(){return(new Date).getTime()},e.prototype.passLevel=function(){var t=this;if(this.destroyLine(),0==this.over&&this.countTime>=0){for(var e=[],i=0,o=this.ball_Array[0],n=1;n=0)for(var i=this.ball_Array[0],o=function(o){cc.tween(n.ball_Array[o]).to(2,{x:i.x,y:i.y}).call(function(){e.ball_Array[o].active=!1,o==e.ball_Array.length-1&&(e.ball.opacity=255,e.ball.position=cc.v3(i.x,i.y,0),e.clearSun(),e.reStart(t))}).start()},n=this,r=1;r0&&this.createLine(cc.v2(this.ball_Array[this.clickNow-1].x,this.ball_Array[this.clickNow-1].y),cc.v2(this.ball_Array[this.clickNow].x,this.ball_Array[this.clickNow].y),.2),this.clickNow+=1,this.ball_Array[this.clickNow-1]&&(this.ball_Array[this.clickNow-1].getChildByName("guang").active=!1),this.clickNow==this.now_Array.length){this.pause=!0,cc.fx.GameConfig.GM_INFO.total+=this.clickNow,this.overTime=cc.fx.GameTool.getTime(),this.startTime>0&&this.overTime>0&&(cc.fx.GameConfig.GM_INFO.mean_Time+=this.overTime-this.startTime);var o=parseInt((this.overTime-this.startTime)/100+"");this.startTime=0,this.overTime=0,this.level<4&&this.level>1||this.level;var n=this.node.getChildByName("Win");n.active=!0,n.setScale(0),cc.fx.AudioManager._instance.playWin(),this.round+=1;var r=[];if(this.moveArray.length>0)for(var a=0;a50&&(cc.fx.GameConfig.CLICK_DATA.duration=50),this.setData(),cc.tween(n).delay(.4).to(.01,{scale:2.5}).to(.35,{scale:1}).delay(.4).call(function(){n.active=!1,e.destroyLine(),0==e.over&&e.countTime>=0&&(e.level>=15?(cc.fx.GameConfig.GM_INFO.success=!0,e.level+=0,e.fuhuo=!0,e.passLevel()):(e.level+=1,e.fuhuo=!0,e.passLevel()))}).start()}}else this.setLoss()}},e.prototype.setLoss=function(){cc.fx.AudioManager._instance.playWarning(),this.begin=!1,this.overTime=cc.fx.GameTool.getTime(),this.startTime>0&&this.overTime>0&&(cc.fx.GameConfig.GM_INFO.mean_Time+=this.overTime-this.startTime);var t=parseInt((this.overTime-this.startTime)/100+"");t>58&&(t=58),this.startTime=0,this.overTime=0,this.level<4&&this.level>1||this.level,this.round+=1;var e=[];if(this.moveArray.length>0)for(var i=0;i50&&(cc.fx.GameConfig.CLICK_DATA.duration=50),this.setData(),1==this.fuhuo?(this.fuhuo=!1,this.loseLevel(1)):this.level>2?(this.level-=1,this.fuhuo=!0,this.loseLevel(2)):this.loseLevel(1);var o=this.node.getChildByName("Over");cc.tween(o).to(.25,{opacity:255}).delay(.1).to(.2,{opacity:0}).delay(.1).to(.15,{opacity:255}).delay(.1).to(.1,{opacity:0}).start()},e.prototype.startGame=function(){0==this.over&&this.countTime>0&&(this.pause=!0,this.createSun(),this.begin=!1,cc.tween(this.ball).to(.5,{opacity:255,scale:1.3}).start())},e.prototype.runGame=function(){for(var t=this,e=-650,i=function(i){e=1e3*o.now_Array[i].time+e,setTimeout(function(){if(0==t.over){var e=t.now_Array[i].timeCount;e>.5&&(e=.5),0!=i&&t.ball&&t.now_Array[i]&&t.createLine(cc.v2(t.ball.x,t.ball.y),cc.v2(t.now_Array[i].x,t.now_Array[i].y),t.now_Array[i].time-e),cc.tween(t.ball).to(t.now_Array[i].time-e,{x:t.now_Array[i].x,y:t.now_Array[i].y}).to(.1,{scale:1}).call(function(){t.createBall(i,t.now_Array[i].color,t.now_Array[i].speed,t.now_Array[i].repeat),i==t.now_Array.length-1&&(t.ball.opacity=0,setTimeout(function(){t.destroyLine(),t.beginGame(),cc.fx.GameConfig.LEVEL_INFO[t.level-1].moveNumber<1?t.pause=!1:t.moveAction()},150))}).start()}},e)},o=this,n=0;n=2&&e.moveSpeed,1==e.repeat){this.repeat=parseInt(Math.random()*(e.number-1)+1+"");var i=0;this.repeat>4?(this.numberRepeat=parseInt(4*Math.random()+""),this.repeat==e.number-1&&(this.numberRepeat=this.repeat-parseInt(3*Math.random()+2+"")),i=this.Pos_Array[this.numberRepeat],this.Pos_Array[this.repeat]=i):(0==this.repeat&&(this.repeat=1),e.number-1-this.repeat==2?(this.numberRepeat=e.number-1,i=this.Pos_Array[this.numberRepeat]):e.number-1-this.repeat==1?(this.numberRepeat=this.repeat-2,i=this.Pos_Array[this.numberRepeat]):e.number-1-this.repeat==0?(this.numberRepeat=this.repeat-2,i=this.Pos_Array[this.numberRepeat]):e.number-1-this.repeat>2?(this.numberRepeat=parseInt(Math.random()*(e.number-this.repeat-2)+"")+this.repeat+2,i=this.Pos_Array[this.numberRepeat]):(this.numberRepeat=this.repeat-2,i=this.Pos_Array[this.numberRepeat]),this.Pos_Array[this.repeat]=i)}if(e.moveNumber>0){for(var o=cc.v2(0,0),n=0;n=0;c--)0==this.moveArray[c]&&(this.moveArray[c]=1,this.moveArray[0]=0,c=-1);for(var s=0;s=0;h--)h!=s&&0==this.moveArray[h]&&h!=this.repeat&&h!=this.numberRepeat&&(this.moveArray[h]=1,this.moveArray[s]=0,h=-1);for(var l=function(e){1==u.moveArray[e]&&setTimeout(function(){o=t.getPos2(!0,e),t.Pos_Array[e]=o},300*(a+=1))},u=this,p=0;p=2&&(o=7-i.moveSpeed/2),i.moveNumber>0){for(var n=0;n=0;r--)r!=n&&0==this.moveArray[r]&&r!=this.repeat&&r!=this.numberRepeat&&(this.moveArray[r]=1,this.moveArray[n]=0,r=-1);for(var a=0,c=0;c0)for(var r=0;r0)for(var r=0;r160&&(1==n?(cc.fx.GameConfig,r=s800&&(s=800),c=s/800*.6):2==n?(s>1200&&(s=1200),c=s/1200*1):3==n&&(s>1200&&(s=1200),c=s/1200*1.5),c},e.prototype.getDistance2=function(t,e,i,o,n){var r=!1,a=i-t,c=o-e,s=Math.sqrt(a*a+c*c);return s>160&&(r=1!=n||s0&&0==this.pause){if(this.countTime-=1,this.time.string=cc.fx.GameTool.getTimeMargin(this.countTime),this.countTime<5){cc.tween(this.time.node).to(.25,{scale:1.5,color:cc.color(255,0,0)}).to(.25,{scale:1,color:cc.color(255,255,255)}).start();var t=this.node.getChildByName("Over");cc.tween(t).to(.2,{opacity:255}).delay(.1).to(.2,{opacity:0}).start()}if(this.countTime<=0){this.begin=!1,this.over=!0,this.unschedule(this.updateCountDownTime),this.setLoss();var e=0;this.clickCount>0&&(e=parseInt(cc.fx.GameConfig.GM_INFO.mean_Time/this.clickCount+"")),cc.fx.GameConfig.GM_INFO.mean_Time=parseInt(e/100+""),cc.fx.GameConfig.GM_INFO.mean_Time=cc.fx.GameConfig.GM_INFO.mean_Time/10,e>1e4&&(e=100*(10*Math.random()+5)),this.gameOver(e)}}},e.prototype.setData=function(){cc.fx.GameTool.setGameData()},e.prototype.gameOver=function(t){cc.fx.GameTool.setRank(t),this.node.getChildByName("GameOver").active=!0,this.node.getChildByName("GameOver").opacity=0,cc.tween(this.node.getChildByName("GameOver")).to(.4,{opacity:255}).delay(2).to(.4,{opacity:50}).call(function(){cc.director.loadScene("OverScene")}).start()},e.prototype.showNumber=function(){0==this.show?this.show=!0:1==this.show&&(this.show=!1);for(var t=0;t=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,c=a.ccclass,s=a.property,h=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.count=null,e.time=null,e.selfNode=null,e.one=null,e.two=null,e.three=null,e.four=null,e.five=null,e}return n(e,t),e.prototype.start=function(){this.count.string=cc.fx.GameConfig.GM_INFO.total+"",cc.fx.GameConfig.GM_INFO.mean_Time>10&&(cc.fx.GameConfig.GM_INFO.mean_Time=(parseInt(10*Math.random()+"")+5)/10),this.time.string=cc.fx.GameConfig.GM_INFO.mean_Time+"s",this.init()},e.prototype.init=function(){this.listData=[],this.selfData=null,this.one.active=!1,this.two.active=!1,this.three.active=!1,this.four.active=!1,this.five.active=!1,this.getRank()},e.prototype.openRank=function(){cc.director.loadScene("RankScene")},e.prototype.again=function(){cc.director.loadScene("GameScene")},e.prototype.getRank=function(){var t=this;cc.fx.GameTool.getRank({length:5},function(e){return t.getRankData(e)})},e.prototype.getRankData=function(t){if(t){cc.fx.GameTool.getRankData(t,this,4),cc.fx.GameTool.setPic(this.selfNode.getChildByName("pic").getChildByName("icon"),this.selfData.pic);for(var e=0;e<=4;e++)this.setRank(e,this.listData[e])}},e.prototype.setRank=function(t,e){var i=null;0==t?i=this.one:1==t?i=this.two:2==t?i=this.three:3==t?i=this.four:4==t&&(i=this.five),i&&(i.active=!0,cc.fx.GameTool.subName(e.nickName,4),i.getChildByName("name").getComponent(cc.Label).string=e.nickName,i.getChildByName("total").getComponent(cc.Label).string=e.totalSunCount,cc.fx.GameTool.setPic(i.getChildByName("pic").getChildByName("icon"),e.pic))},r([s(cc.Label)],e.prototype,"count",void 0),r([s(cc.Label)],e.prototype,"time",void 0),r([s(cc.Node)],e.prototype,"selfNode",void 0),r([s(cc.Node)],e.prototype,"one",void 0),r([s(cc.Node)],e.prototype,"two",void 0),r([s(cc.Node)],e.prototype,"three",void 0),r([s(cc.Node)],e.prototype,"four",void 0),r([s(cc.Node)],e.prototype,"five",void 0),r([c],e)}(cc.Component);i.default=h,cc._RF.pop()},{}],GameTool:[function(t,e,i){"use strict";cc._RF.push(e,"43bfcJ6/25Fs4fHUE0PeBOX","GameTool"),Object.defineProperty(i,"__esModule",{value:!0}),i.GameTool=void 0;var o={_startTime:0,_endTime:0,_totalTime:0,Authentication:function(){var t="user_"+cc.fx.GameConfig.GM_INFO.gameId,e=JSON.parse(localStorage.getItem(t));if("undifend"==e||null==e||""==e){var i="http://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback="+location.href;window.location.href=i}else cc.fx.StorageMessage.setStorage(t,e),cc.fx.GameConfig.GM_INFO.userId=parseInt(e.userId)},setGameData:function(){cc.fx.GameConfig.GAME_DATA=[],cc.fx.GameConfig.GAME_DATA.push(cc.fx.GameConfig.CLICK_DATA),cc.fx.GameConfig.CLICK_init();var t=cc.fx.GameConfig.GAME_DATA,e=this.getMatchId(),i={gameId:cc.fx.GameConfig.GM_INFO.gameId,userId:cc.fx.GameConfig.GM_INFO.userId,matchId:e,data:t};console.log("\u4e0a\u4f20\u6570\u636e:",i),cc.fx.HttpUtil.uploadUserLogData(i,function(){})},setRank:function(t){var e={gameId:cc.fx.GameConfig.GM_INFO.gameId,userId:cc.fx.GameConfig.GM_INFO.userId,type:1,reactionTime:t,totalSunCount:cc.fx.GameConfig.GM_INFO.total,success:cc.fx.GameConfig.GM_INFO.success};cc.fx.HttpUtil.rankData(1,function(){},e)},getRank:function(t,e){var i=t.length,o={gameId:cc.fx.GameConfig.GM_INFO.gameId,userId:cc.fx.GameConfig.GM_INFO.userId,page:1,pageSize:i};cc.fx.HttpUtil.rankData(2,function(t){e(t)},o)},getMatchId:function(){var t=cc.sys.localStorage.getItem("matchId");if("undifend"==t||null==t)t=this.setMatchId();else if(1==this.containsNanana(t))t=this.setMatchId();else{var e=parseInt(t[10]);1==this.level&&(e+=1),t=t.slice(0,10)+e+"",cc.fx.GameConfig.GM_INFO.matchId=t,cc.sys.localStorage.setItem("matchId",t)}return t},containsNanana:function(t){return/na/i.test(t)},setMatchId:function(){for(var t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",e=[],i=0;i<10;i++){var o=Math.floor(Math.random()*t.length),n=t.charAt(o);e.push(n)}var r=e.join("")+1+"";return cc.sys.localStorage.setItem("matchNumber",1),cc.sys.localStorage.setItem("matchId",r),cc.fx.GameConfig.GM_INFO.matchId=r,r},subName:function(t,e){return t.length>e&&(t=t.substring(0,e)+"..."),t},setPic:function(t,e){t.active=!1;var i=e;setTimeout(function(){fetch(i).then(function(t){return t.headers.get("Content-Length")}).then(function(e){"5093"==e&&(t.active=!0)}).catch(function(t){console.error("Error fetching X-Info:",t)})},100),cc.assetManager.loadRemote(i,{ext:".jpg"},function(e,i){i?(t.active=!0,t.getComponent(cc.Sprite).spriteFrame=new cc.SpriteFrame(i)):console.log(e,i)})},getRankData:function(t,e,i){e.listData=t.data.list,e.selfData=t.data.info;var o=[],n=!1;cc.fx.GameTool.setPic(e.selfNode.getChildByName("pic").getChildByName("icon"),e.selfData.pic);for(var r=0;r<=e.listData.length-1;r++)o.push({rank:r+1,name:e.listData[r].nickName,total:e.listData[r].totalSunCount,pic:e.listData[r].pic}),cc.fx.GameConfig.GM_INFO.userId==e.listData[r].userId&&(n=!0,e.rankNumber=r,e.selfNode.getChildByName("rankLab").getComponent(cc.Label).string=r+1+""),r==e.listData.length-1&&0==n&&(e.rankNumber=r,e.selfNode.getChildByName("rankLab").getComponent(cc.Label).string="99+");switch(cc.fx.GameTool.subName(e.selfData.nickName,i),e.selfNode.getChildByName("nameLab").getComponent(cc.Label).string=e.selfData.nickName,e.selfNode.getChildByName("totalLab").getComponent(cc.Label).string=e.selfData.totalSunCount,e.selfNode.getChildByName("rankLab").getComponent(cc.Label).string){case"1":e.selfNode.getChildByName("rank").getChildByName("one").active=!0;break;case"2":e.selfNode.getChildByName("rank").getChildByName("two").active=!0;break;case"3":e.selfNode.getChildByName("rank").getChildByName("three").active=!0}6==i&&(e.rankList.setData(o),e.selfNode.opacity=255,0==e.selfData.totalSunCount&&(e.selfNode.opacity=0))},getSetScreenResolutionFlag:function(){var t=cc.winSize,e=t.width;return!(t.height/e>16.2/9)},setFit:function(){return cc.fx.GameTool.getSetScreenResolutionFlag()},getGameInfo:function(){return!1},setGameInfo:function(){},getTimeMargin:function(t){var e,i;e=t,i=parseInt(e/3600+"");var o=parseInt((e-3600*i)/60+""),n=""+o;o<10&&(n="0"+o);var r=e-3600*i-60*o,a=r+"";return r<10&&(a="0"+r),n+":"+a},getTime:function(){return(new Date).getTime()},pushLister:function(){},removeAllLister:function(){}};i.GameTool=o,cc._RF.pop()},{}],GuideManager:[function(t,e,i){"use strict";cc._RF.push(e,"3fd2fh6vHNJeISUizW09xat","GuideManager");var o,n=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,o){var n,r=arguments.length,a=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,o);else for(var c=t.length-1;c>=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,c=a.ccclass,s=a.property,h=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.dialog=null,e.ball=null,e.qiu1=null,e.linePrefab=null,e}return n(e,t),e.prototype.start=function(){cc.fx.GameConfig.GM_INFO.custom=0,this.init(),this.startGuide(0)},e.prototype.init=function(){this.custom=1,this.ball.zIndex=100,this.Pos_Array=[],this.ball_Array=[],this.begin=!1,this.clickNow=0,this.tip=null},e.prototype.startGuide=function(t){var e=this,i="tip"+this.custom;0!=t?cc.tween(this.node).to(.5,{opacity:255}).call(function(){e.custom+=1,0!=t&&(e.custom=2),2==e.custom?e.createSun(!0):3==e.custom?e.createSun(!1):4==e.custom?e.begin=!0:5==e.custom&&cc.director.loadScene("GameScene")}).start():(this.tip=this.dialog.getChildByName(i),this.tip.active=!0,this.tip.opacity=0,cc.tween(this.tip).to(.5,{opacity:255}).start())},e.prototype.beginClick=function(){for(var t=0;t800&&(a=800),a/800*.8},e.prototype.passLevel=function(){var t=this,e=this.node.getChildByName("Win");e.active=!0,e.setScale(0),cc.tween(e).delay(.4).to(.01,{scale:2.5}).to(.35,{scale:1}).delay(.6).call(function(){e.active=!1,setTimeout(function(){t.destroyLine();for(var e=[],i=0,o=t.ball_Array[0],n=1;n0&&this.createLine(cc.v2(this.ball_Array[this.clickNow-1].x,this.ball_Array[this.clickNow-1].y),cc.v2(this.ball_Array[this.clickNow].x,this.ball_Array[this.clickNow].y),.2),this.clickNow+=1,cc.fx.GameConfig.GM_INFO.total+=1,setTimeout(function(){e.ball_Array[e.clickNow-1]&&(e.ball_Array[e.clickNow-1].getChildByName("guang").active=!1)},200),3==this.clickNow&&this.passLevel()):this.loseLevel())},e.prototype.loseLevel=function(){var t=this;this.begin=!1,cc.fx.AudioManager._instance.playWarning(),this.destroyLine();for(var e=this.ball_Array[0],i=function(i){cc.tween(o.ball_Array[i]).to(.6,{x:e.x,y:e.y}).call(function(){t.ball_Array[i].active=!1,i==t.ball_Array.length-1&&(t.ball.opacity=0,t.ball.position=cc.v3(e.x,e.y,0),t.clearSun(),t.custom=1,t.startGuide(1))}).start()},o=this,n=1;n=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a},a=this&&this.__awaiter||function(t,e,i,o){return new(i||(i=Promise))(function(n,r){function a(t){try{s(o.next(t))}catch(e){r(e)}}function c(t){try{s(o.throw(t))}catch(e){r(e)}}function s(t){var e;t.done?n(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(a,c)}s((o=o.apply(t,e||[])).next())})},c=this&&this.__generator||function(t,e){var i,o,n,r,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return r={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function c(t){return function(e){return s([t,e])}}function s(r){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,o&&(n=2&r[0]?o.return:r[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,r[1])).done)return n;switch(o=0,n&&(r=[2&r[0],n.value]),r[0]){case 0:case 1:n=r;break;case 4:return a.label++,{value:r[1],done:!1};case 5:a.label++,o=r[1],r=[0];continue;case 7:r=a.ops.pop(),a.trys.pop();continue;default:if(!(n=(n=a.trys).length>0&&n[n.length-1])&&(6===r[0]||2===r[0])){a=0;continue}if(3===r[0]&&(!n||r[1]>n[0]&&r[1]=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,c=a.ccclass,s=(a.property,function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=null,e.itemIndex=0,e}return n(e,t),e.prototype.dataChanged=function(){cc.fx.GameTool.subName(this.data.name,6),this.node.getChildByName("rankLab").getComponent(cc.Label).string=this.data.rank+"",this.node.getChildByName("nameLab").getComponent(cc.Label).string=this.data.name+"",this.node.getChildByName("totalLab").getComponent(cc.Label).string=this.data.total+"",this.node.getChildByName("rank").getChildByName("one").active=!1,this.node.getChildByName("rank").getChildByName("two").active=!1,this.node.getChildByName("rank").getChildByName("three").active=!1,1==this.data.rank?(this.node.getChildByName("rank").getChildByName("one").active=!0,this.node.getChildByName("rankLab").active=!1):2==this.data.rank?(this.node.getChildByName("rank").getChildByName("two").active=!0,this.node.getChildByName("rankLab").active=!1):3==this.data.rank?(this.node.getChildByName("rank").getChildByName("three").active=!0,this.node.getChildByName("rankLab").active=!1):this.node.getChildByName("rankLab").active=!0,this.setPic()},e.prototype.setPic=function(){var t=this;this.node.getChildByName("pic").getChildByName("icon").active=!1,this.node.getChildByName("pic").getChildByName("pic").active=!1;var e=this.data.pic;fetch(e).then(function(t){return t.headers.get("Content-Length")}).then(function(e){"5093"==e&&(t.node.getChildByName("pic").getChildByName("icon").active=!0)}).catch(function(t){console.error("Error fetching X-Info:",t)}),cc.assetManager.loadRemote(e,{ext:".png"},function(e,i){i?(t.node.getChildByName("pic").getChildByName("pic").active=!0,t.node.getChildByName("pic").getChildByName("pic").getComponent(cc.Sprite).spriteFrame=new cc.SpriteFrame(i)):console.log(e,i)})},r([c],e)}(cc.Component));i.default=s,cc._RF.pop()},{}],List:[function(t,e,i){"use strict";cc._RF.push(e,"d5421HgLShFKIjj5f18m1mi","List");var o,n=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,o){var n,r=arguments.length,a=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,o);else for(var c=t.length-1;c>=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0}),i.StartAxisType=i.ListType=void 0;var a,c,s=t("./ItemRender"),h=cc._decorator,l=h.ccclass,u=h.property;(function(t){t[t.Horizontal=1]="Horizontal",t[t.Vertical=2]="Vertical",t[t.Grid=3]="Grid"})(a=i.ListType||(i.ListType={})),function(t){t[t.Horizontal=1]="Horizontal",t[t.Vertical=2]="Vertical"}(c=i.StartAxisType||(i.StartAxisType={}));var p=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.itemRender=null,e.type=a.Vertical,e.startAxis=c.Horizontal,e.spaceX=0,e.spaceY=0,e.padding_top=0,e.padding_buttom=0,e.padding_left=0,e._padding=0,e.padding_right=0,e.scrollView=null,e.content=null,e.itemDataList=[],e.spawnCount=0,e.itemList=[],e.itemHeight=0,e.itemWidth=0,e.itemPool=[],e.halfScrollView=0,e.lastContentPosX=0,e.lastContentPosY=0,e.gridRow=0,e.gridCol=0,e.updateTimer=0,e.updateInterval=.1,e.bScrolling=!1,e.updateFun=function(){},e}return n(e,t),e.prototype.onLoad=function(){this.itemHeight=this.itemRender.height,this.itemWidth=this.itemRender.width,this.scrollView=this.node.getComponent(cc.ScrollView),this.content=this.scrollView.content,this.content.anchorX=0,this.content.anchorY=1,this.content.removeAllChildren(),this.scrollView.node.on("scrolling",this.onScrolling,this)},e.prototype.setData=function(t){this.itemDataList=t.slice(),this.updateContent()},e.prototype.countListParam=function(){var t=this.itemDataList.length;this.type==a.Vertical?(this.scrollView.horizontal=!1,this.scrollView.vertical=!0,this.content.width=this.content.parent.width,this.content.height=t*this.itemHeight+(t-1)*this.spaceY+this.padding_top+this.padding_buttom,this.spawnCount=Math.round(this.scrollView.node.height/(this.itemHeight+this.spaceY))+2,this.halfScrollView=this.scrollView.node.height/2+this.itemHeight/2+this.spaceY,this.updateFun=this.updateV):this.type==a.Horizontal?(this.scrollView.horizontal=!0,this.scrollView.vertical=!1,this.content.width=t*this.itemWidth+(t-1)*this.spaceX+this.padding_left+this.padding_right,this.content.height=this.content.parent.height,this.spawnCount=Math.round(this.scrollView.node.width/(this.itemWidth+this.spaceX))+2,this.halfScrollView=this.scrollView.node.width/2+this.itemWidth/2+this.spaceX,this.updateFun=this.udpateH):this.type==a.Grid&&(this.startAxis==c.Vertical?(this.scrollView.horizontal=!1,this.scrollView.vertical=!0,this.content.width=this.content.parent.width,this.padding_left+this.padding_right+this.itemWidth+this.spaceX>this.content.width&&(this.padding_left=0,this.padding_right=0,console.error("padding_left\u6216padding_right\u8fc7\u5927")),this.gridCol=Math.floor((this.content.width-this.padding_left-this.padding_right)/(this.itemWidth+this.spaceX)),this.gridRow=Math.ceil(t/this.gridCol),this.content.height=this.gridRow*this.itemHeight+(this.gridRow-1)*this.spaceY+this.padding_top+this.padding_buttom,this.spawnCount=Math.round(this.scrollView.node.height/(this.itemHeight+this.spaceY))*this.gridCol+2*this.gridCol,this.halfScrollView=this.scrollView.node.height/2+this.itemHeight/2+this.spaceY,this.updateFun=this.updateGrid_V):this.startAxis==c.Horizontal&&(this.scrollView.horizontal=!0,this.scrollView.vertical=!1,this.content.height=this.content.parent.height,this.padding_top+this.padding_buttom+this.itemHeight+this.spaceY>this.content.height&&(this.padding_top=0,this.padding_buttom=0,console.error("padding_top\u6216padding_buttom\u8fc7\u5927")),this.gridRow=Math.floor((this.content.height-this.padding_top-this.padding_buttom)/(this.itemHeight+this.spaceY)),this.gridCol=Math.ceil(t/this.gridRow),this.content.width=this.gridCol*this.itemWidth+(this.gridCol-1)*this.spaceX+this.padding_left+this.padding_right,this.spawnCount=Math.round(this.scrollView.node.width/(this.itemWidth+this.spaceX))*this.gridRow+2*this.gridRow,this.halfScrollView=this.scrollView.node.width/2+this.itemWidth/2+this.spaceX,this.updateFun=this.updateGrid_H))},e.prototype.createList=function(t,e){this.itemDataList.length>this.spawnCount&&t+this.spawnCount-1>=this.itemDataList.length?(t=this.itemDataList.length-this.spawnCount,e=this.scrollView.getMaxScrollOffset()):this.itemDataList.length<=this.spawnCount&&(t=0);for(var i=0;ithis.itemDataList.length-t&&((o=this.itemList.pop()).removeFromParent(),this.itemPool.push(o))}this.scrollView.scrollToOffset(e)},e.prototype.getItem=function(){return 0==this.itemPool.length?cc.instantiate(this.itemRender):this.itemPool.pop()},e.prototype.update=function(t){0!=this.bScrolling&&(this.updateTimer+=t,this.updateTimerthis.lastContentPosY,n=(this.itemHeight+this.spaceY)*e.length,r=0;ri&&t.y-n-this.padding_buttom>-this.content.height){var c=(h=t.getComponent(s.default)).itemIndex+e.length;h.itemIndex=c,h.data=this.itemDataList[c],h.dataChanged(),t.y=t.y-n}}else if(a.y<-i&&t.y+n+this.padding_top<0){var h;c=(h=t.getComponent(s.default)).itemIndex-e.length,h.itemIndex=c,h.data=this.itemDataList[c],h.dataChanged(),t.y=t.y+n}}this.lastContentPosY=this.scrollView.content.y},e.prototype.udpateH=function(){for(var t,e=this.itemList,i=this.halfScrollView,o=this.scrollView.content.x>this.lastContentPosX,n=(this.itemWidth+this.spaceX)*e.length,r=0;ri&&t.x-n-this.padding_left>0){var c=(h=t.getComponent(s.default)).itemIndex-e.length;h.itemIndex=c,h.data=this.itemDataList[c],h.dataChanged(),t.x=t.x-n}}else if(a.x<-i&&t.x+n+this.padding_rightthis.lastContentPosY,n=(this.itemHeight+this.spaceY)*(this.spawnCount/this.gridCol),r=0;ri&&t.y-n-this.padding_buttom>-this.content.height){var c=(h=t.getComponent(s.default)).itemIndex+this.spawnCount/this.gridCol*this.gridCol;null!=this.itemDataList[c]?(t.y=t.y-n,h.itemIndex=c,h.data=this.itemDataList[c],h.dataChanged(),t.opacity=255):(t.y=t.y-n,h.itemIndex=c,t.opacity=0)}}else if(a.y<-i&&t.y+n+this.padding_top<0){var h;c=(h=t.getComponent(s.default)).itemIndex-this.spawnCount/this.gridCol*this.gridCol,null!=this.itemDataList[c]?(t.y=t.y+n,h.itemIndex=c,h.data=this.itemDataList[c],h.dataChanged(),t.opacity=255):(t.y=t.y+n,h.itemIndex=c,t.opacity=0)}}this.lastContentPosY=this.scrollView.content.y},e.prototype.updateGrid_H=function(){for(var t,e=this.itemList,i=this.halfScrollView,o=this.scrollView.content.x>this.lastContentPosX,n=(this.itemWidth+this.spaceX)*(this.spawnCount/this.gridRow),r=0;ri&&t.x-n-this.padding_left>0){var c=(h=t.getComponent(s.default)).itemIndex-this.spawnCount/this.gridRow*this.gridRow;null!=this.itemDataList[c]?(t.x=t.x-n,h.itemIndex=c,h.data=this.itemDataList[c],h.dataChanged(),t.opacity=255):(t.x=t.x-n,h.itemIndex=c,t.opacity=0)}}else if(a.x<-i&&t.x+n+this.padding_right=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,c=a.ccclass,s=(a.property,a.requireComponent,function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.start=function(){window.initMgr(),cc.fx.GameConfig.init()},e.prototype.startGame=function(){cc.director.loadScene("GuideScene")},e.prototype.clickBtn=function(t,e){cc.fx.GameConfig.GM_INFO.custom=parseInt(e),cc.director.loadScene("GameScene")},e.prototype.openRank=function(){cc.director.loadScene("RankScene")},e.prototype.update=function(){},r([c],e)}(cc.Component));i.default=s,cc._RF.pop()},{}],Notification:[function(t,e,i){"use strict";cc._RF.push(e,"55403VjGlpPL564gsdiZBg3","Notification"),Object.defineProperty(i,"__esModule",{value:!0}),i.Notifications=void 0;i.Notifications={_eventMap:[],on:function(t,e,i){void 0===this._eventMap[t]&&(this._eventMap[t]=[]),this._eventMap[t].push({callback:e,target:i})},emit:function(t,e){var i=this._eventMap[t];if(void 0!==i)for(var o=0;o=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=t("./module/RankList/List"),c=cc._decorator,s=c.ccclass,h=c.property,l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.Player=null,e.selfNode=null,e.phone=null,e}return n(e,t),e.prototype.onLoad=function(){this.init()},e.prototype.init=function(){this.rankList=cc.find("ScrollView",this.node).getComponent(a.default),this.Player.getChildByName("rank").active=!1,this.listData=[],this.selfData=null,this.rankNumber=100,this.rankTotal=100,this.selfNode.opacity=0},e.prototype.start=function(){this.Player.active=!1,this.getRank()},e.prototype.getRank=function(){var t=this;cc.fx.GameTool.getRank({length:100},function(e){return t.getRankData(e)})},e.prototype.getRankData=function(t){t&&(cc.fx.GameTool.getRankData(t,this,6),this.setPic(this.selfData.pic))},e.prototype.backClick=function(){cc.director.loadScene("LoadScene")},e.prototype.playerAction=function(){var t=this;this.Player.getChildByName("rank").active=!1;var e=1;if(this.tween=cc.tween(this.Player).to(2,{position:cc.v3(210,453,0)}).call(function(){t.Player.getChildByName("rank").active=!0,t.Player.getChildByName("rank").getChildByName("number").getComponent(cc.Label).string=parseInt(100*e+"")+"%"}).start(),e=(this.listData.length-this.rankNumber)/this.listData.length,this.listData.length>=99&&this.rankNumber>=99){e=(49*Math.random()+1)/100;var i=cc.sys.localStorage.getItem("matchNumber");null!=i&&null!=i||(e=0)}setTimeout(function(){t.tween&&t.tween.stop(),t.Player.getChildByName("rank").active=!0,t.Player.getChildByName("rank").getChildByName("number").getComponent(cc.Label).string=parseInt(100*e+"")+"%"},2e3*e)},e.prototype.setPic=function(t){var e=this;this.phone.node.parent.getChildByName("icon").active=!1,this.phone.node.active=!1,this.Player.active=!0,this.Player.opacity=0,this.Player.getChildByName("mask").getChildByName("icon").active=!1,this.Player.getChildByName("mask").getChildByName("phone").active=!1,fetch(t).then(function(t){return t.headers.get("Content-Length")}).then(function(t){"5093"==t&&(e.phone.node.parent.getChildByName("icon").active=!0,e.Player.getChildByName("mask").getChildByName("icon").active=!0)}).catch(function(t){console.error("Error fetching X-Info:",t)});var i=this;cc.assetManager.loadRemote(t,{ext:".png"},function(t,e){i.Player.opacity=255,e?(i.phone.node.active=!0,i.phone.spriteFrame=new cc.SpriteFrame(e),i.Player.getChildByName("mask").getChildByName("icon").active=!1,i.Player.getChildByName("mask").getChildByName("phone").active=!0,i.Player.getChildByName("mask").getChildByName("phone").getComponent(cc.Sprite).spriteFrame=new cc.SpriteFrame(e),setTimeout(function(){i.playerAction()},500)):(i.Player.getChildByName("mask").getChildByName("icon").active=!0,setTimeout(function(){i.playerAction()},500))})},r([h(cc.Node)],e.prototype,"Player",void 0),r([h(cc.Node)],e.prototype,"selfNode",void 0),r([h(cc.Sprite)],e.prototype,"phone",void 0),r([s],e)}(cc.Component);i.default=l,cc._RF.pop()},{"./module/RankList/List":"List"}],Storage:[function(t,e,i){"use strict";cc._RF.push(e,"1002938VFRJd70RiAno9Iys","Storage"),Object.defineProperty(i,"__esModule",{value:!0}),i.StorageMessage=void 0;var o={getStorage:function(t){var e=null;return cc.sys.localStorage.getItem(t)&&(e=cc.sys.localStorage.getItem(t)),e&&(e=JSON.parse(e)),e},setStorage:function(t,e){var i=JSON.stringify(e);cc.sys.localStorage.setItem(t,i)},removeStorage:function(t){cc.sys.localStorage.getItem(t)&&cc.sys.localStorage.removeItem(t)}};i.StorageMessage=o,cc._RF.pop()},{}],Sun:[function(t,e,i){"use strict";cc._RF.push(e,"4be67sdkexCyqLl0NHd9N1f","Sun");var o,n=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,o){var n,r=arguments.length,a=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,o);else for(var c=t.length-1;c>=0;c--)(n=t[c])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,c=a.ccclass,s=(a.property,function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.start=function(){},e.prototype.init=function(t,e,i,o){this.touch=!0,this.move=!1,this.id_Number=t,this._color=e,this._speed=i,this._repeat=o,cc.tween(this.node.getChildByName("shan")).repeatForever(cc.tween().to(1,{opacity:0,scale:.5}).delay(.2).to(1,{opacity:255,scale:1.2}).delay(.5)).start()},e.prototype.showNumber=function(t){this.node.getChildByName("number").active=t,1==t&&(this.node.getChildByName("number").getComponent(cc.Label).string=this.id_Number+"")},e.prototype.clickBtn=function(t,e){"1"===e?0==this.move&&1==this.touch&&("GameNode"==this.node.parent.parent.name?1==this.node.parent.parent.getComponent("GameManager").begin&&(cc.tween(this.node.getChildByName("action")).to(.5,{opacity:0,scale:1.8}).start(),cc.tween(this.node).to(.3,{scale:1.3}).to(.3,{scale:1}).start(),this.touch=!1,this.node.zIndex=-1,cc.fx.Notifications.emit("clickSun",this.id_Number)):(this.touch=!1,this.node.zIndex=-1,cc.fx.Notifications.emit("clickSun",this.id_Number))):1==this.touch&&1==this.node.parent.parent.getComponent("GuideManager").begin&&(this.touch=!1,this.node.zIndex=-1,cc.fx.Notifications.emit("clickSun",this.id_Number))},r([c],e)}(cc.Component));i.default=s,cc._RF.pop()},{}],"crypto-js.min":[function(t,e,i){"use strict";cc._RF.push(e,"e64e1qXyT9CV6s0gDQdj/ed","crypto-js.min"),function(t,o){"object"==typeof i?e.exports=i=o():"function"==typeof define&&define.amd?define([],o):(void 0).CryptoJS=o()}(0,function(){var t,e,i,o,n,r,a,c=c||function(t){var e=Object.create||function(){function t(){}return function(e){var i;return t.prototype=e,i=new t,t.prototype=null,i}}(),i={},o=i.lib={},n=o.Base={extend:function(t){var i=e(this);return t&&i.mixIn(t),i.hasOwnProperty("init")&&this.init!==i.init||(i.init=function(){i.$super.init.apply(this,arguments)}),i.init.prototype=i,i.$super=this,i},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}},r=o.WordArray=n.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=null!=e?e:4*t.length},toString:function(t){return(t||c).stringify(this)},concat:function(t){var e=this.words,i=t.words,o=this.sigBytes,n=t.sigBytes;if(this.clamp(),o%4)for(var r=0;r>>2]>>>24-r%4*8&255;e[o+r>>>2]|=a<<24-(o+r)%4*8}else for(r=0;r>>2]=i[r>>>2];return this.sigBytes+=n,this},clamp:function(){var e=this.words,i=this.sigBytes;e[i>>>2]&=4294967295<<32-i%4*8,e.length=t.ceil(i/4)},clone:function(){var t=n.clone.call(this);return t.words=this.words.slice(0),t},random:function(e){for(var i,o=[],n=function(e){e=e;var i=987654321,o=4294967295;return function(){var n=((i=36969*(65535&i)+(i>>16)&o)<<16)+(e=18e3*(65535&e)+(e>>16)&o)&o;return n/=4294967296,(n+=.5)*(t.random()>.5?1:-1)}},a=0;a>>2]>>>24-n%4*8&255;o.push((r>>>4).toString(16)),o.push((15&r).toString(16))}return o.join("")},parse:function(t){for(var e=t.length,i=[],o=0;o>>3]|=parseInt(t.substr(o,2),16)<<24-o%8*4;return new r.init(i,e/2)}},s=a.Latin1={stringify:function(t){for(var e=t.words,i=t.sigBytes,o=[],n=0;n>>2]>>>24-n%4*8&255;o.push(String.fromCharCode(r))}return o.join("")},parse:function(t){for(var e=t.length,i=[],o=0;o>>2]|=(255&t.charCodeAt(o))<<24-o%4*8;return new r.init(i,e)}},h=a.Utf8={stringify:function(t){try{return decodeURIComponent(escape(s.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return s.parse(unescape(encodeURIComponent(t)))}},l=o.BufferedBlockAlgorithm=n.extend({reset:function(){this._data=new r.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=h.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(e){var i=this._data,o=i.words,n=i.sigBytes,a=this.blockSize,c=n/(4*a),s=(c=e?t.ceil(c):t.max((0|c)-this._minBufferSize,0))*a,h=t.min(4*s,n);if(s){for(var l=0;l>>6-a%4*2;n[r>>>2]|=(c|s)<<24-r%4*8,r++}return i.create(n,r)}var e=c,i=e.lib.WordArray;e.enc.Base64={stringify:function(t){var e=t.words,i=t.sigBytes,o=this._map;t.clamp();for(var n=[],r=0;r>>2]>>>24-r%4*8&255)<<16|(e[r+1>>>2]>>>24-(r+1)%4*8&255)<<8|e[r+2>>>2]>>>24-(r+2)%4*8&255,c=0;c<4&&r+.75*c>>6*(3-c)&63));var s=o.charAt(64);if(s)for(;n.length%4;)n.push(s);return n.join("")},parse:function(e){var i=e.length,o=this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var r=0;r>>32-r)+e}function i(t,e,i,o,n,r,a){var c=t+(e&o|i&~o)+n+a;return(c<>>32-r)+e}function o(t,e,i,o,n,r,a){var c=t+(e^i^o)+n+a;return(c<>>32-r)+e}function n(t,e,i,o,n,r,a){var c=t+(i^(e|~o))+n+a;return(c<>>32-r)+e}var r=c,a=r.lib,s=a.WordArray,h=a.Hasher,l=r.algo,u=[];!function(){for(var e=0;e<64;e++)u[e]=4294967296*t.abs(t.sin(e+1))|0}();var p=l.MD5=h.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,r){for(var a=0;a<16;a++){var c=r+a,s=t[c];t[c]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}var h=this._hash.words,l=t[r+0],p=t[r+1],f=t[r+2],d=t[r+3],y=t[r+4],m=t[r+5],g=t[r+6],v=t[r+7],_=t[r+8],b=t[r+9],C=t[r+10],w=t[r+11],x=t[r+12],A=t[r+13],S=t[r+14],k=t[r+15],B=h[0],N=h[1],M=h[2],P=h[3];B=e(B,N,M,P,l,7,u[0]),P=e(P,B,N,M,p,12,u[1]),M=e(M,P,B,N,f,17,u[2]),N=e(N,M,P,B,d,22,u[3]),B=e(B,N,M,P,y,7,u[4]),P=e(P,B,N,M,m,12,u[5]),M=e(M,P,B,N,g,17,u[6]),N=e(N,M,P,B,v,22,u[7]),B=e(B,N,M,P,_,7,u[8]),P=e(P,B,N,M,b,12,u[9]),M=e(M,P,B,N,C,17,u[10]),N=e(N,M,P,B,w,22,u[11]),B=e(B,N,M,P,x,7,u[12]),P=e(P,B,N,M,A,12,u[13]),M=e(M,P,B,N,S,17,u[14]),B=i(B,N=e(N,M,P,B,k,22,u[15]),M,P,p,5,u[16]),P=i(P,B,N,M,g,9,u[17]),M=i(M,P,B,N,w,14,u[18]),N=i(N,M,P,B,l,20,u[19]),B=i(B,N,M,P,m,5,u[20]),P=i(P,B,N,M,C,9,u[21]),M=i(M,P,B,N,k,14,u[22]),N=i(N,M,P,B,y,20,u[23]),B=i(B,N,M,P,b,5,u[24]),P=i(P,B,N,M,S,9,u[25]),M=i(M,P,B,N,d,14,u[26]),N=i(N,M,P,B,_,20,u[27]),B=i(B,N,M,P,A,5,u[28]),P=i(P,B,N,M,f,9,u[29]),M=i(M,P,B,N,v,14,u[30]),B=o(B,N=i(N,M,P,B,x,20,u[31]),M,P,m,4,u[32]),P=o(P,B,N,M,_,11,u[33]),M=o(M,P,B,N,w,16,u[34]),N=o(N,M,P,B,S,23,u[35]),B=o(B,N,M,P,p,4,u[36]),P=o(P,B,N,M,y,11,u[37]),M=o(M,P,B,N,v,16,u[38]),N=o(N,M,P,B,C,23,u[39]),B=o(B,N,M,P,A,4,u[40]),P=o(P,B,N,M,l,11,u[41]),M=o(M,P,B,N,d,16,u[42]),N=o(N,M,P,B,g,23,u[43]),B=o(B,N,M,P,b,4,u[44]),P=o(P,B,N,M,x,11,u[45]),M=o(M,P,B,N,k,16,u[46]),B=n(B,N=o(N,M,P,B,f,23,u[47]),M,P,l,6,u[48]),P=n(P,B,N,M,v,10,u[49]),M=n(M,P,B,N,S,15,u[50]),N=n(N,M,P,B,m,21,u[51]),B=n(B,N,M,P,x,6,u[52]),P=n(P,B,N,M,d,10,u[53]),M=n(M,P,B,N,C,15,u[54]),N=n(N,M,P,B,p,21,u[55]),B=n(B,N,M,P,_,6,u[56]),P=n(P,B,N,M,k,10,u[57]),M=n(M,P,B,N,g,15,u[58]),N=n(N,M,P,B,A,21,u[59]),B=n(B,N,M,P,y,6,u[60]),P=n(P,B,N,M,w,10,u[61]),M=n(M,P,B,N,f,15,u[62]),N=n(N,M,P,B,b,21,u[63]),h[0]=h[0]+B|0,h[1]=h[1]+N|0,h[2]=h[2]+M|0,h[3]=h[3]+P|0},_doFinalize:function(){var e=this._data,i=e.words,o=8*this._nDataBytes,n=8*e.sigBytes;i[n>>>5]|=128<<24-n%32;var r=t.floor(o/4294967296),a=o;i[15+(n+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),i[14+(n+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),e.sigBytes=4*(i.length+1),this._process();for(var c=this._hash,s=c.words,h=0;h<4;h++){var l=s[h];s[h]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}return c},clone:function(){var t=h.clone.call(this);return t._hash=this._hash.clone(),t}});r.MD5=h._createHelper(p),r.HmacMD5=h._createHmacHelper(p)}(Math),e=(t=c).lib,i=e.WordArray,o=e.Hasher,n=t.algo,r=[],a=n.SHA1=o.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var i=this._hash.words,o=i[0],n=i[1],a=i[2],c=i[3],s=i[4],h=0;h<80;h++){if(h<16)r[h]=0|t[e+h];else{var l=r[h-3]^r[h-8]^r[h-14]^r[h-16];r[h]=l<<1|l>>>31}var u=(o<<5|o>>>27)+s+r[h];u+=h<20?1518500249+(n&a|~n&c):h<40?1859775393+(n^a^c):h<60?(n&a|n&c|a&c)-1894007588:(n^a^c)-899497514,s=c,c=a,a=n<<30|n>>>2,n=o,o=u}i[0]=i[0]+o|0,i[1]=i[1]+n|0,i[2]=i[2]+a|0,i[3]=i[3]+c|0,i[4]=i[4]+s|0},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,o=8*t.sigBytes;return e[o>>>5]|=128<<24-o%32,e[14+(o+64>>>9<<4)]=Math.floor(i/4294967296),e[15+(o+64>>>9<<4)]=i,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=o.clone.call(this);return t._hash=this._hash.clone(),t}}),t.SHA1=o._createHelper(a),t.HmacSHA1=o._createHmacHelper(a),function(t){var e=c,i=e.lib,o=i.WordArray,n=i.Hasher,r=e.algo,a=[],s=[];!function(){function e(e){for(var i=t.sqrt(e),o=2;o<=i;o++)if(!(e%o))return!1;return!0}function i(t){return 4294967296*(t-(0|t))|0}for(var o=2,n=0;n<64;)e(o)&&(n<8&&(a[n]=i(t.pow(o,.5))),s[n]=i(t.pow(o,1/3)),n++),o++}();var h=[],l=r.SHA256=n.extend({_doReset:function(){this._hash=new o.init(a.slice(0))},_doProcessBlock:function(t,e){for(var i=this._hash.words,o=i[0],n=i[1],r=i[2],a=i[3],c=i[4],l=i[5],u=i[6],p=i[7],f=0;f<64;f++){if(f<16)h[f]=0|t[e+f];else{var d=h[f-15],y=(d<<25|d>>>7)^(d<<14|d>>>18)^d>>>3,m=h[f-2],g=(m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10;h[f]=y+h[f-7]+g+h[f-16]}var v=o&n^o&r^n&r,_=(o<<30|o>>>2)^(o<<19|o>>>13)^(o<<10|o>>>22),b=p+((c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25))+(c&l^~c&u)+s[f]+h[f];p=u,u=l,l=c,c=a+b|0,a=r,r=n,n=o,o=b+(_+v)|0}i[0]=i[0]+o|0,i[1]=i[1]+n|0,i[2]=i[2]+r|0,i[3]=i[3]+a|0,i[4]=i[4]+c|0,i[5]=i[5]+l|0,i[6]=i[6]+u|0,i[7]=i[7]+p|0},_doFinalize:function(){var e=this._data,i=e.words,o=8*this._nDataBytes,n=8*e.sigBytes;return i[n>>>5]|=128<<24-n%32,i[14+(n+64>>>9<<4)]=t.floor(o/4294967296),i[15+(n+64>>>9<<4)]=o,e.sigBytes=4*i.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}});e.SHA256=n._createHelper(l),e.HmacSHA256=n._createHmacHelper(l)}(Math),function(){function t(t){return t<<8&4278255360|t>>>8&16711935}var e=c,i=e.lib.WordArray,o=e.enc;o.Utf16=o.Utf16BE={stringify:function(t){for(var e=t.words,i=t.sigBytes,o=[],n=0;n>>2]>>>16-n%4*8&65535;o.push(String.fromCharCode(r))}return o.join("")},parse:function(t){for(var e=t.length,o=[],n=0;n>>1]|=t.charCodeAt(n)<<16-n%2*16;return i.create(o,2*e)}},o.Utf16LE={stringify:function(e){for(var i=e.words,o=e.sigBytes,n=[],r=0;r>>2]>>>16-r%4*8&65535);n.push(String.fromCharCode(a))}return n.join("")},parse:function(e){for(var o=e.length,n=[],r=0;r>>1]|=t(e.charCodeAt(r)<<16-r%2*16);return i.create(n,2*o)}}}(),function(){if("function"==typeof ArrayBuffer){var t=c.lib.WordArray,e=t.init;(t.init=function(t){if(t instanceof ArrayBuffer&&(t=new Uint8Array(t)),(t instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array)&&(t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength)),t instanceof Uint8Array){for(var i=t.byteLength,o=[],n=0;n>>2]|=t[n]<<24-n%4*8;e.call(this,o,i)}else e.apply(this,arguments)}).prototype=t}}(),function(){function t(t,e,i){return t^e^i}function e(t,e,i){return t&e|~t&i}function i(t,e,i){return(t|~e)^i}function o(t,e,i){return t&i|e&~i}function n(t,e,i){return t^(e|~i)}function r(t,e){return t<>>32-e}var a=c,s=a.lib,h=s.WordArray,l=s.Hasher,u=a.algo,p=h.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),f=h.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),d=h.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),y=h.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),m=h.create([0,1518500249,1859775393,2400959708,2840853838]),g=h.create([1352829926,1548603684,1836072691,2053994217,0]),v=u.RIPEMD160=l.extend({_doReset:function(){this._hash=h.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(a,c){for(var s=0;s<16;s++){var h=c+s,l=a[h];a[h]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}var u,v,_,b,C,w,x,A,S,k,B,N=this._hash.words,M=m.words,P=g.words,L=p.words,I=f.words,R=d.words,G=y.words;for(w=u=N[0],x=v=N[1],A=_=N[2],S=b=N[3],k=C=N[4],s=0;s<80;s+=1)B=u+a[c+L[s]]|0,B+=s<16?t(v,_,b)+M[0]:s<32?e(v,_,b)+M[1]:s<48?i(v,_,b)+M[2]:s<64?o(v,_,b)+M[3]:n(v,_,b)+M[4],B=(B=r(B|=0,R[s]))+C|0,u=C,C=b,b=r(_,10),_=v,v=B,B=w+a[c+I[s]]|0,B+=s<16?n(x,A,S)+P[0]:s<32?o(x,A,S)+P[1]:s<48?i(x,A,S)+P[2]:s<64?e(x,A,S)+P[3]:t(x,A,S)+P[4],B=(B=r(B|=0,G[s]))+k|0,w=k,k=S,S=r(A,10),A=x,x=B;B=N[1]+_+S|0,N[1]=N[2]+b+k|0,N[2]=N[3]+C+w|0,N[3]=N[4]+u+x|0,N[4]=N[0]+v+A|0,N[0]=B},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,o=8*t.sigBytes;e[o>>>5]|=128<<24-o%32,e[14+(o+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t.sigBytes=4*(e.length+1),this._process();for(var n=this._hash,r=n.words,a=0;a<5;a++){var c=r[a];r[a]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}return n},clone:function(){var t=l.clone.call(this);return t._hash=this._hash.clone(),t}});a.RIPEMD160=l._createHelper(v),a.HmacRIPEMD160=l._createHmacHelper(v)}(Math),function(){var t=c,e=t.lib.Base,i=t.enc.Utf8;t.algo.HMAC=e.extend({init:function(t,e){t=this._hasher=new t.init,"string"==typeof e&&(e=i.parse(e));var o=t.blockSize,n=4*o;e.sigBytes>n&&(e=t.finalize(e)),e.clamp();for(var r=this._oKey=e.clone(),a=this._iKey=e.clone(),c=r.words,s=a.words,h=0;h>>24)|4278255360&(r<<24|r>>>8),a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),(N=i[n]).high^=a,N.low^=r}for(var c=0;c<24;c++){for(var p=0;p<5;p++){for(var f=0,d=0,y=0;y<5;y++)f^=(N=i[p+5*y]).high,d^=N.low;var m=u[p];m.high=f,m.low=d}for(p=0;p<5;p++){var g=u[(p+4)%5],v=u[(p+1)%5],_=v.high,b=v.low;for(f=g.high^(_<<1|b>>>31),d=g.low^(b<<1|_>>>31),y=0;y<5;y++)(N=i[p+5*y]).high^=f,N.low^=d}for(var C=1;C<25;C++){var w=(N=i[C]).high,x=N.low,A=s[C];A<32?(f=w<>>32-A,d=x<>>32-A):(f=x<>>64-A,d=w<>>64-A);var S=u[h[C]];S.high=f,S.low=d}var k=u[0],B=i[0];for(k.high=B.high,k.low=B.low,p=0;p<5;p++)for(y=0;y<5;y++){var N=i[C=p+5*y],M=u[C],P=u[(p+1)%5+5*y],L=u[(p+2)%5+5*y];N.high=M.high^~P.high&L.high,N.low=M.low^~P.low&L.low}N=i[0];var I=l[c];N.high^=I.high,N.low^=I.low}},_doFinalize:function(){var e=this._data,i=e.words,n=(this._nDataBytes,8*e.sigBytes),r=32*this.blockSize;i[n>>>5]|=1<<24-n%32,i[(t.ceil((n+1)/r)*r>>>5)-1]|=128,e.sigBytes=4*i.length,this._process();for(var a=this._state,c=this.cfg.outputLength/8,s=c/8,h=[],l=0;l>>24)|4278255360&(p<<24|p>>>8),f=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),h.push(f),h.push(p)}return new o.init(h,c)},clone:function(){for(var t=n.clone.call(this),e=t._state=this._state.slice(0),i=0;i<25;i++)e[i]=e[i].clone();return t}});e.SHA3=n._createHelper(p),e.HmacSHA3=n._createHmacHelper(p)}(Math),function(){function t(){return n.create.apply(n,arguments)}var e=c,i=e.lib.Hasher,o=e.x64,n=o.Word,r=o.WordArray,a=e.algo,s=[t(1116352408,3609767458),t(1899447441,602891725),t(3049323471,3964484399),t(3921009573,2173295548),t(961987163,4081628472),t(1508970993,3053834265),t(2453635748,2937671579),t(2870763221,3664609560),t(3624381080,2734883394),t(310598401,1164996542),t(607225278,1323610764),t(1426881987,3590304994),t(1925078388,4068182383),t(2162078206,991336113),t(2614888103,633803317),t(3248222580,3479774868),t(3835390401,2666613458),t(4022224774,944711139),t(264347078,2341262773),t(604807628,2007800933),t(770255983,1495990901),t(1249150122,1856431235),t(1555081692,3175218132),t(1996064986,2198950837),t(2554220882,3999719339),t(2821834349,766784016),t(2952996808,2566594879),t(3210313671,3203337956),t(3336571891,1034457026),t(3584528711,2466948901),t(113926993,3758326383),t(338241895,168717936),t(666307205,1188179964),t(773529912,1546045734),t(1294757372,1522805485),t(1396182291,2643833823),t(1695183700,2343527390),t(1986661051,1014477480),t(2177026350,1206759142),t(2456956037,344077627),t(2730485921,1290863460),t(2820302411,3158454273),t(3259730800,3505952657),t(3345764771,106217008),t(3516065817,3606008344),t(3600352804,1432725776),t(4094571909,1467031594),t(275423344,851169720),t(430227734,3100823752),t(506948616,1363258195),t(659060556,3750685593),t(883997877,3785050280),t(958139571,3318307427),t(1322822218,3812723403),t(1537002063,2003034995),t(1747873779,3602036899),t(1955562222,1575990012),t(2024104815,1125592928),t(2227730452,2716904306),t(2361852424,442776044),t(2428436474,593698344),t(2756734187,3733110249),t(3204031479,2999351573),t(3329325298,3815920427),t(3391569614,3928383900),t(3515267271,566280711),t(3940187606,3454069534),t(4118630271,4000239992),t(116418474,1914138554),t(174292421,2731055270),t(289380356,3203993006),t(460393269,320620315),t(685471733,587496836),t(852142971,1086792851),t(1017036298,365543100),t(1126000580,2618297676),t(1288033470,3409855158),t(1501505948,4234509866),t(1607167915,987167468),t(1816402316,1246189591)],h=[];!function(){for(var e=0;e<80;e++)h[e]=t()}();var l=a.SHA512=i.extend({_doReset:function(){this._hash=new r.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var i=this._hash.words,o=i[0],n=i[1],r=i[2],a=i[3],c=i[4],l=i[5],u=i[6],p=i[7],f=o.high,d=o.low,y=n.high,m=n.low,g=r.high,v=r.low,_=a.high,b=a.low,C=c.high,w=c.low,x=l.high,A=l.low,S=u.high,k=u.low,B=p.high,N=p.low,M=f,P=d,L=y,I=m,R=g,G=v,D=_,O=b,T=C,F=w,E=x,H=A,z=S,j=k,V=B,W=N,K=0;K<80;K++){var U=h[K];if(K<16)var X=U.high=0|t[e+2*K],q=U.low=0|t[e+2*K+1];else{var Y=h[K-15],J=Y.high,Z=Y.low,Q=(J>>>1|Z<<31)^(J>>>8|Z<<24)^J>>>7,$=(Z>>>1|J<<31)^(Z>>>8|J<<24)^(Z>>>7|J<<25),tt=h[K-2],et=tt.high,it=tt.low,ot=(et>>>19|it<<13)^(et<<3|it>>>29)^et>>>6,nt=(it>>>19|et<<13)^(it<<3|et>>>29)^(it>>>6|et<<26),rt=h[K-7],at=rt.high,ct=rt.low,st=h[K-16],ht=st.high,lt=st.low;X=(X=(X=Q+at+((q=$+ct)>>>0<$>>>0?1:0))+ot+((q+=nt)>>>0>>0?1:0))+ht+((q+=lt)>>>0>>0?1:0),U.high=X,U.low=q}var ut,pt=T&E^~T&z,ft=F&H^~F&j,dt=M&L^M&R^L&R,yt=P&I^P&G^I&G,mt=(M>>>28|P<<4)^(M<<30|P>>>2)^(M<<25|P>>>7),gt=(P>>>28|M<<4)^(P<<30|M>>>2)^(P<<25|M>>>7),vt=(T>>>14|F<<18)^(T>>>18|F<<14)^(T<<23|F>>>9),_t=(F>>>14|T<<18)^(F>>>18|T<<14)^(F<<23|T>>>9),bt=s[K],Ct=bt.high,wt=bt.low,xt=V+vt+((ut=W+_t)>>>0>>0?1:0),At=gt+yt;V=z,W=j,z=E,j=H,E=T,H=F,T=D+(xt=(xt=(xt=xt+pt+((ut+=ft)>>>0>>0?1:0))+Ct+((ut+=wt)>>>0>>0?1:0))+X+((ut+=q)>>>0>>0?1:0))+((F=O+ut|0)>>>0>>0?1:0)|0,D=R,O=G,R=L,G=I,L=M,I=P,M=xt+(mt+dt+(At>>>0>>0?1:0))+((P=ut+At|0)>>>0>>0?1:0)|0}d=o.low=d+P,o.high=f+M+(d>>>0

>>0?1:0),m=n.low=m+I,n.high=y+L+(m>>>0>>0?1:0),v=r.low=v+G,r.high=g+R+(v>>>0>>0?1:0),b=a.low=b+O,a.high=_+D+(b>>>0>>0?1:0),w=c.low=w+F,c.high=C+T+(w>>>0>>0?1:0),A=l.low=A+H,l.high=x+E+(A>>>0>>0?1:0),k=u.low=k+j,u.high=S+z+(k>>>0>>0?1:0),N=p.low=N+W,p.high=B+V+(N>>>0>>0?1:0)},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,o=8*t.sigBytes;return e[o>>>5]|=128<<24-o%32,e[30+(o+128>>>10<<5)]=Math.floor(i/4294967296),e[31+(o+128>>>10<<5)]=i,t.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var t=i.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:32});e.SHA512=i._createHelper(l),e.HmacSHA512=i._createHmacHelper(l)}(),function(){var t=c,e=t.x64,i=e.Word,o=e.WordArray,n=t.algo,r=n.SHA512,a=n.SHA384=r.extend({_doReset:function(){this._hash=new o.init([new i.init(3418070365,3238371032),new i.init(1654270250,914150663),new i.init(2438529370,812702999),new i.init(355462360,4144912697),new i.init(1731405415,4290775857),new i.init(2394180231,1750603025),new i.init(3675008525,1694076839),new i.init(1203062813,3204075428)])},_doFinalize:function(){var t=r._doFinalize.call(this);return t.sigBytes-=16,t}});t.SHA384=r._createHelper(a),t.HmacSHA384=r._createHmacHelper(a)}(),c.lib.Cipher||function(t){var e=c,i=e.lib,o=i.Base,n=i.WordArray,r=i.BufferedBlockAlgorithm,a=e.enc,s=(a.Utf8,a.Base64),h=e.algo.EvpKDF,l=i.Cipher=r.extend({cfg:o.extend(),createEncryptor:function(t,e){return this.create(this._ENC_XFORM_MODE,t,e)},createDecryptor:function(t,e){return this.create(this._DEC_XFORM_MODE,t,e)},init:function(t,e,i){this.cfg=this.cfg.extend(i),this._xformMode=t,this._key=e,this.reset()},reset:function(){r.reset.call(this),this._doReset()},process:function(t){return this._append(t),this._process()},finalize:function(t){return t&&this._append(t),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function t(t){return"string"==typeof t?_:g}return function(e){return{encrypt:function(i,o,n){return t(o).encrypt(e,i,o,n)},decrypt:function(i,o,n){return t(o).decrypt(e,i,o,n)}}}}()}),u=(i.StreamCipher=l.extend({_doFinalize:function(){return this._process(!0)},blockSize:1}),e.mode={}),p=i.BlockCipherMode=o.extend({createEncryptor:function(t,e){return this.Encryptor.create(t,e)},createDecryptor:function(t,e){return this.Decryptor.create(t,e)},init:function(t,e){this._cipher=t,this._iv=e}}),f=u.CBC=function(){function e(e,i,o){var n=this._iv;if(n){var r=n;this._iv=t}else r=this._prevBlock;for(var a=0;a>>2];t.sigBytes-=e}},y=(i.BlockCipher=l.extend({cfg:l.cfg.extend({mode:f,padding:d}),reset:function(){l.reset.call(this);var t=this.cfg,e=t.iv,i=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var o=i.createEncryptor;else o=i.createDecryptor,this._minBufferSize=1;this._mode&&this._mode.__creator==o?this._mode.init(this,e&&e.words):(this._mode=o.call(i,this,e&&e.words),this._mode.__creator=o)},_doProcessBlock:function(t,e){this._mode.processBlock(t,e)},_doFinalize:function(){var t=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){t.pad(this._data,this.blockSize);var e=this._process(!0)}else e=this._process(!0),t.unpad(e);return e},blockSize:4}),i.CipherParams=o.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}})),m=(e.format={}).OpenSSL={stringify:function(t){var e=t.ciphertext,i=t.salt;if(i)var o=n.create([1398893684,1701076831]).concat(i).concat(e);else o=e;return o.toString(s)},parse:function(t){var e=s.parse(t),i=e.words;if(1398893684==i[0]&&1701076831==i[1]){var o=n.create(i.slice(2,4));i.splice(0,4),e.sigBytes-=16}return y.create({ciphertext:e,salt:o})}},g=i.SerializableCipher=o.extend({cfg:o.extend({format:m}),encrypt:function(t,e,i,o){o=this.cfg.extend(o);var n=t.createEncryptor(i,o),r=n.finalize(e),a=n.cfg;return y.create({ciphertext:r,key:i,iv:a.iv,algorithm:t,mode:a.mode,padding:a.padding,blockSize:t.blockSize,formatter:o.format})},decrypt:function(t,e,i,o){return o=this.cfg.extend(o),e=this._parse(e,o.format),t.createDecryptor(i,o).finalize(e.ciphertext)},_parse:function(t,e){return"string"==typeof t?e.parse(t,this):t}}),v=(e.kdf={}).OpenSSL={execute:function(t,e,i,o){o||(o=n.random(8));var r=h.create({keySize:e+i}).compute(t,o),a=n.create(r.words.slice(e),4*i);return r.sigBytes=4*e,y.create({key:r,iv:a,salt:o})}},_=i.PasswordBasedCipher=g.extend({cfg:g.cfg.extend({kdf:v}),encrypt:function(t,e,i,o){var n=(o=this.cfg.extend(o)).kdf.execute(i,t.keySize,t.ivSize);o.iv=n.iv;var r=g.encrypt.call(this,t,e,n.key,o);return r.mixIn(n),r},decrypt:function(t,e,i,o){o=this.cfg.extend(o),e=this._parse(e,o.format);var n=o.kdf.execute(i,t.keySize,t.ivSize,e.salt);return o.iv=n.iv,g.decrypt.call(this,t,e,n.key,o)}})}(),c.mode.CFB=function(){function t(t,e,i,o){var n=this._iv;if(n){var r=n.slice(0);this._iv=void 0}else r=this._prevBlock;o.encryptBlock(r,0);for(var a=0;a>>2]|=n<<24-r%4*8,t.sigBytes+=n},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},c.pad.Iso10126={pad:function(t,e){var i=4*e,o=i-t.sigBytes%i;t.concat(c.lib.WordArray.random(o-1)).concat(c.lib.WordArray.create([o<<24],1))},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},c.pad.Iso97971={pad:function(t,e){t.concat(c.lib.WordArray.create([2147483648],1)),c.pad.ZeroPadding.pad(t,e)},unpad:function(t){c.pad.ZeroPadding.unpad(t),t.sigBytes--}},c.mode.OFB=function(){var t=c.lib.BlockCipherMode.extend(),e=t.Encryptor=t.extend({processBlock:function(t,e){var i=this._cipher,o=i.blockSize,n=this._iv,r=this._keystream;n&&(r=this._keystream=n.slice(0),this._iv=void 0),i.encryptBlock(r,0);for(var a=0;a>>8^255&d^99,o[i]=d,n[d]=i;var y=t[i],m=t[y],g=t[m],v=257*t[d]^16843008*d;r[i]=v<<24|v>>>8,a[i]=v<<16|v>>>16,s[i]=v<<8|v>>>24,h[i]=v,v=16843009*g^65537*m^257*y^16843008*i,l[d]=v<<24|v>>>8,u[d]=v<<16|v>>>16,p[d]=v<<8|v>>>24,f[d]=v,i?(i=y^t[t[t[g^y]]],c^=t[t[c]]):i=c=1}}();var d=[0,1,2,4,8,16,32,64,128,27,54],y=i.AES=e.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var t=this._keyPriorReset=this._key,e=t.words,i=t.sigBytes/4,n=4*((this._nRounds=i+6)+1),r=this._keySchedule=[],a=0;a6&&a%i==4&&(c=o[c>>>24]<<24|o[c>>>16&255]<<16|o[c>>>8&255]<<8|o[255&c]):(c=o[(c=c<<8|c>>>24)>>>24]<<24|o[c>>>16&255]<<16|o[c>>>8&255]<<8|o[255&c],c^=d[a/i|0]<<24),r[a]=r[a-i]^c}for(var s=this._invKeySchedule=[],h=0;h>>24]]^u[o[c>>>16&255]]^p[o[c>>>8&255]]^f[o[255&c]]}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,r,a,s,h,o)},decryptBlock:function(t,e){var i=t[e+1];t[e+1]=t[e+3],t[e+3]=i,this._doCryptBlock(t,e,this._invKeySchedule,l,u,p,f,n),i=t[e+1],t[e+1]=t[e+3],t[e+3]=i},_doCryptBlock:function(t,e,i,o,n,r,a,c){for(var s=this._nRounds,h=t[e]^i[0],l=t[e+1]^i[1],u=t[e+2]^i[2],p=t[e+3]^i[3],f=4,d=1;d>>24]^n[l>>>16&255]^r[u>>>8&255]^a[255&p]^i[f++],m=o[l>>>24]^n[u>>>16&255]^r[p>>>8&255]^a[255&h]^i[f++],g=o[u>>>24]^n[p>>>16&255]^r[h>>>8&255]^a[255&l]^i[f++],v=o[p>>>24]^n[h>>>16&255]^r[l>>>8&255]^a[255&u]^i[f++];h=y,l=m,u=g,p=v}y=(c[h>>>24]<<24|c[l>>>16&255]<<16|c[u>>>8&255]<<8|c[255&p])^i[f++],m=(c[l>>>24]<<24|c[u>>>16&255]<<16|c[p>>>8&255]<<8|c[255&h])^i[f++],g=(c[u>>>24]<<24|c[p>>>16&255]<<16|c[h>>>8&255]<<8|c[255&l])^i[f++],v=(c[p>>>24]<<24|c[h>>>16&255]<<16|c[l>>>8&255]<<8|c[255&u])^i[f++],t[e]=y,t[e+1]=m,t[e+2]=g,t[e+3]=v},keySize:8});t.AES=e._createHelper(y)}(),function(){function t(t,e){var i=(this._lBlock>>>t^this._rBlock)&e;this._rBlock^=i,this._lBlock^=i<>>t^this._lBlock)&e;this._lBlock^=i,this._rBlock^=i<>>5]>>>31-o%32&1}for(var n=this._subKeys=[],r=0;r<16;r++){var a=n[r]=[],c=l[r];for(i=0;i<24;i++)a[i/6|0]|=e[(h[i]-1+c)%28]<<31-i%6,a[4+(i/6|0)]|=e[28+(h[i+24]-1+c)%28]<<31-i%6;for(a[0]=a[0]<<1|a[0]>>>31,i=1;i<7;i++)a[i]=a[i]>>>4*(i-1)+3;a[7]=a[7]<<5|a[7]>>>27}var u=this._invSubKeys=[];for(i=0;i<16;i++)u[i]=n[15-i]},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._subKeys)},decryptBlock:function(t,e){this._doCryptBlock(t,e,this._invSubKeys)},_doCryptBlock:function(i,o,n){this._lBlock=i[o],this._rBlock=i[o+1],t.call(this,4,252645135),t.call(this,16,65535),e.call(this,2,858993459),e.call(this,8,16711935),t.call(this,1,1431655765);for(var r=0;r<16;r++){for(var a=n[r],c=this._lBlock,s=this._rBlock,h=0,l=0;l<8;l++)h|=u[l][((s^a[l])&p[l])>>>0];this._lBlock=s,this._rBlock=c^h}var f=this._lBlock;this._lBlock=this._rBlock,this._rBlock=f,t.call(this,1,1431655765),e.call(this,8,16711935),e.call(this,2,858993459),t.call(this,16,65535),t.call(this,4,252645135),i[o]=this._lBlock,i[o+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});i.DES=r._createHelper(f);var d=a.TripleDES=r.extend({_doReset:function(){var t=this._key.words;this._des1=f.createEncryptor(n.create(t.slice(0,2))),this._des2=f.createEncryptor(n.create(t.slice(2,4))),this._des3=f.createEncryptor(n.create(t.slice(4,6)))},encryptBlock:function(t,e){this._des1.encryptBlock(t,e),this._des2.decryptBlock(t,e),this._des3.encryptBlock(t,e)},decryptBlock:function(t,e){this._des3.decryptBlock(t,e),this._des2.encryptBlock(t,e),this._des1.decryptBlock(t,e)},keySize:6,ivSize:2,blockSize:2});i.TripleDES=r._createHelper(d)}(),function(){function t(){for(var t=this._S,e=this._i,i=this._j,o=0,n=0;n<4;n++){i=(i+t[e=(e+1)%256])%256;var r=t[e];t[e]=t[i],t[i]=r,o|=t[(t[e]+t[i])%256]<<24-8*n}return this._i=e,this._j=i,o}var e=c,i=e.lib.StreamCipher,o=e.algo,n=o.RC4=i.extend({_doReset:function(){for(var t=this._key,e=t.words,i=t.sigBytes,o=this._S=[],n=0;n<256;n++)o[n]=n;n=0;for(var r=0;n<256;n++){var a=n%i,c=e[a>>>2]>>>24-a%4*8&255;r=(r+o[n]+c)%256;var s=o[n];o[n]=o[r],o[r]=s}this._i=this._j=0},_doProcessBlock:function(e,i){e[i]^=t.call(this)},keySize:8,ivSize:0});e.RC4=i._createHelper(n);var r=o.RC4Drop=n.extend({cfg:n.cfg.extend({drop:192}),_doReset:function(){n._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)t.call(this)}});e.RC4Drop=i._createHelper(r)}(),c.mode.CTRGladman=function(){function t(t){if(255==(t>>24&255)){var e=t>>16&255,i=t>>8&255,o=255&t;255===e?(e=0,255===i?(i=0,255===o?o=0:++o):++i):++e,t=0,t+=e<<16,t+=i<<8,t+=o}else t+=1<<24;return t}function e(e){return 0===(e[0]=t(e[0]))&&(e[1]=t(e[1])),e}var i=c.lib.BlockCipherMode.extend(),o=i.Encryptor=i.extend({processBlock:function(t,i){var o=this._cipher,n=o.blockSize,r=this._iv,a=this._counter;r&&(a=this._counter=r.slice(0),this._iv=void 0),e(a);var c=a.slice(0);o.encryptBlock(c,0);for(var s=0;s>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0,i=0;i<8;i++){var o=t[i]+e[i],n=65535&o,c=o>>>16,s=((n*n>>>17)+n*c>>>15)+c*c,h=((4294901760&o)*o|0)+((65535&o)*o|0);a[i]=s^h}t[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,t[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,t[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,t[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,t[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,t[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,t[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,t[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}var e=c,i=e.lib.StreamCipher,o=e.algo,n=[],r=[],a=[],s=o.Rabbit=i.extend({_doReset:function(){for(var e=this._key.words,i=this.cfg.iv,o=0;o<4;o++)e[o]=16711935&(e[o]<<8|e[o]>>>24)|4278255360&(e[o]<<24|e[o]>>>8);var n=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],r=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,o=0;o<4;o++)t.call(this);for(o=0;o<8;o++)r[o]^=n[o+4&7];if(i){var a=i.words,c=a[0],s=a[1],h=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),l=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),u=h>>>16|4294901760&l,p=l<<16|65535&h;for(r[0]^=h,r[1]^=u,r[2]^=l,r[3]^=p,r[4]^=h,r[5]^=u,r[6]^=l,r[7]^=p,o=0;o<4;o++)t.call(this)}},_doProcessBlock:function(e,i){var o=this._X;t.call(this),n[0]=o[0]^o[5]>>>16^o[3]<<16,n[1]=o[2]^o[7]>>>16^o[5]<<16,n[2]=o[4]^o[1]>>>16^o[7]<<16,n[3]=o[6]^o[3]>>>16^o[1]<<16;for(var r=0;r<4;r++)n[r]=16711935&(n[r]<<8|n[r]>>>24)|4278255360&(n[r]<<24|n[r]>>>8),e[i+r]^=n[r]},blockSize:4,ivSize:2});e.Rabbit=i._createHelper(s)}(),c.mode.CTR=function(){var t=c.lib.BlockCipherMode.extend(),e=t.Encryptor=t.extend({processBlock:function(t,e){var i=this._cipher,o=i.blockSize,n=this._iv,r=this._counter;n&&(r=this._counter=n.slice(0),this._iv=void 0);var a=r.slice(0);i.encryptBlock(a,0),r[o-1]=r[o-1]+1|0;for(var c=0;c>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0,i=0;i<8;i++){var o=t[i]+e[i],n=65535&o,c=o>>>16,s=((n*n>>>17)+n*c>>>15)+c*c,h=((4294901760&o)*o|0)+((65535&o)*o|0);a[i]=s^h}t[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,t[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,t[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,t[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,t[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,t[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,t[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,t[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}var e=c,i=e.lib.StreamCipher,o=e.algo,n=[],r=[],a=[],s=o.RabbitLegacy=i.extend({_doReset:function(){var e=this._key.words,i=this.cfg.iv,o=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],n=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var r=0;r<4;r++)t.call(this);for(r=0;r<8;r++)n[r]^=o[r+4&7];if(i){var a=i.words,c=a[0],s=a[1],h=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),l=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),u=h>>>16|4294901760&l,p=l<<16|65535&h;for(n[0]^=h,n[1]^=u,n[2]^=l,n[3]^=p,n[4]^=h,n[5]^=u,n[6]^=l,n[7]^=p,r=0;r<4;r++)t.call(this)}},_doProcessBlock:function(e,i){var o=this._X;t.call(this),n[0]=o[0]^o[5]>>>16^o[3]<<16,n[1]=o[2]^o[7]>>>16^o[5]<<16,n[2]=o[4]^o[1]>>>16^o[7]<<16,n[3]=o[6]^o[3]>>>16^o[1]<<16;for(var r=0;r<4;r++)n[r]=16711935&(n[r]<<8|n[r]>>>24)|4278255360&(n[r]<<24|n[r]>>>8),e[i+r]^=n[r]},blockSize:4,ivSize:2});e.RabbitLegacy=i._createHelper(s)}(),c.pad.ZeroPadding={pad:function(t,e){var i=4*e;t.clamp(),t.sigBytes+=i-(t.sigBytes%i||i)},unpad:function(t){for(var e=t.words,i=t.sigBytes-1;!(e[i>>>2]>>>24-i%4*8&255);)i--;t.sigBytes=i+1}},c}),cc._RF.pop()},{}],"use_v2.1-2.2.1_cc.Toggle_event":[function(t,e){"use strict";cc._RF.push(e,"7a231Rz0d9LBYYgY3bDYlLB","use_v2.1-2.2.1_cc.Toggle_event"),cc.Toggle&&(cc.Toggle._triggerEventInScript_isChecked=!0),cc._RF.pop()},{}]},{},["DynamicAtlasManager","GameManager","GameOver","GuideManager","Load","RankManager","Sun","GameConfig","HttpUtil","crypto-js.min","GameAppStart","AudioManager","Notification","ItemRender","List","Storage","GameTool","use_v2.1-2.2.1_cc.Toggle_event"]); \ No newline at end of file diff --git a/build/Sun_moves/index.html b/build/Sun_moves/index.html index 4001795..317035a 100644 --- a/build/Sun_moves/index.html +++ b/build/Sun_moves/index.html @@ -137,9 +137,9 @@ - + - + diff --git a/build/Sun_moves/main.23980.js b/build/Sun_moves/main.90bc5.js similarity index 98% rename from build/Sun_moves/main.23980.js rename to build/Sun_moves/main.90bc5.js index f63b5e0..09b59a1 100644 --- a/build/Sun_moves/main.23980.js +++ b/build/Sun_moves/main.90bc5.js @@ -117,7 +117,7 @@ window.boot = function () { if (window.jsb) { var isRuntime = (typeof loadRuntime === 'function'); if (isRuntime) { - require('src/settings.52d49.js'); + require('src/settings.64ad6.js'); require('src/cocos2d-runtime.js'); if (CC_PHYSICS_BUILTIN || CC_PHYSICS_CANNON) { require('src/physics.js'); @@ -125,7 +125,7 @@ if (window.jsb) { require('jsb-adapter/engine/index.js'); } else { - require('src/settings.52d49.js'); + require('src/settings.64ad6.js'); require('src/cocos2d-jsb.js'); if (CC_PHYSICS_BUILTIN || CC_PHYSICS_CANNON) { require('src/physics.js'); diff --git a/build/Sun_moves/src/settings.52d49.js b/build/Sun_moves/src/settings.64ad6.js similarity index 81% rename from build/Sun_moves/src/settings.52d49.js rename to build/Sun_moves/src/settings.64ad6.js index 6ad38c3..b108ee3 100644 --- a/build/Sun_moves/src/settings.52d49.js +++ b/build/Sun_moves/src/settings.64ad6.js @@ -1 +1 @@ -window._CCSettings={platform:"web-mobile",groupList:["default"],collisionMatrix:[[true]],hasResourcesBundle:true,hasStartSceneBundle:false,remoteBundles:[],subpackages:[],launchScene:"db://assets/Scene/LoadScene.fire",orientation:"portrait",jsList:[],bundleVers:{internal:"52d36",resources:"c9e69",main:"3383c"}}; \ No newline at end of file +window._CCSettings={platform:"web-mobile",groupList:["default"],collisionMatrix:[[true]],hasResourcesBundle:true,hasStartSceneBundle:false,remoteBundles:[],subpackages:[],launchScene:"db://assets/Scene/LoadScene.fire",orientation:"portrait",jsList:[],bundleVers:{internal:"52d36",resources:"361a9",main:"b4ae4"}}; \ No newline at end of file diff --git a/library/imports/2d/2d69a479-18ec-4787-b35f-e9a9b3247435.json b/library/imports/2d/2d69a479-18ec-4787-b35f-e9a9b3247435.json index e8b8a7f..c44a4f1 100644 --- a/library/imports/2d/2d69a479-18ec-4787-b35f-e9a9b3247435.json +++ b/library/imports/2d/2d69a479-18ec-4787-b35f-e9a9b3247435.json @@ -8,7 +8,7 @@ "mean_Time": 0, "total": 0, "currSeed": 203213, - "gameId": 100009, + "gameId": "100009", "userId": 0, "guide": true, "url": "http://api.sparkus.cn", diff --git a/library/imports/43/43bfc27a-ff6e-45b3-87c7-504d0f781397.js b/library/imports/43/43bfc27a-ff6e-45b3-87c7-504d0f781397.js index d4c06de..d7dd64c 100644 --- a/library/imports/43/43bfc27a-ff6e-45b3-87c7-504d0f781397.js +++ b/library/imports/43/43bfc27a-ff6e-45b3-87c7-504d0f781397.js @@ -37,7 +37,7 @@ var GameTool = { "matchId": matchId, "data": data }; - // console.log("上传数据:") + console.log("上传数据:", postData); cc.fx.HttpUtil.uploadUserLogData(postData, function () { }); }, //上传排行榜 type为1 diff --git a/library/imports/43/43bfc27a-ff6e-45b3-87c7-504d0f781397.js.map b/library/imports/43/43bfc27a-ff6e-45b3-87c7-504d0f781397.js.map index d6b6756..de91614 100644 --- a/library/imports/43/43bfc27a-ff6e-45b3-87c7-504d0f781397.js.map +++ b/library/imports/43/43bfc27a-ff6e-45b3-87c7-504d0f781397.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\module\\Tool\\GameTool.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\n//最大工具类 各种公共方法,以及处理上传,获取后端接口数据\r\nvar GameTool = {\r\n _startTime: 0,\r\n _endTime: 0,\r\n _totalTime: 0,\r\n //获取userId\r\n Authentication(){\r\n let name = \"user_\" + cc.fx.GameConfig.GM_INFO.gameId;\r\n var data = JSON.parse(localStorage.getItem(name));\r\n if(data == \"undifend\" || data==null || data == \"\"){\r\n let url = \"http://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=\"+location.href;\r\n window.location.href = url;\r\n }\r\n else{\r\n cc.fx.StorageMessage.setStorage(name,data);\r\n cc.fx.GameConfig.GM_INFO.userId = parseInt(data.userId);\r\n }\r\n },\r\n\r\n //埋点上传\r\n setGameData(){\r\n //GAME_DATA 初始化 每次清零\r\n cc.fx.GameConfig.GAME_DATA = [];\r\n cc.fx.GameConfig.GAME_DATA.push(cc.fx.GameConfig.CLICK_DATA);\r\n cc.fx.GameConfig.CLICK_init();\r\n let data = cc.fx.GameConfig.GAME_DATA;\r\n let matchId = this.getMatchId();\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"matchId\":matchId,\r\n \"data\": data\r\n };\r\n\r\n // console.log(\"上传数据:\")\r\n cc.fx.HttpUtil.uploadUserLogData(postData,function(){})\r\n },\r\n //上传排行榜 type为1\r\n setRank(data){\r\n //GAME_DATA 初始化 每次清零\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"type\":1,\r\n \"reactionTime\": data,\r\n \"totalSunCount\": cc.fx.GameConfig.GM_INFO.total,\r\n \"success\": cc.fx.GameConfig.GM_INFO.success\r\n };\r\n cc.fx.HttpUtil.rankData(1,function(){},postData);\r\n },\r\n //获取排行榜 type为2\r\n getRank(data,callback){\r\n let rankLength = data.length;\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"page\":1,\r\n \"pageSize\":rankLength\r\n }; \r\n //回调进getRankData\r\n cc.fx.HttpUtil.rankData(2,data =>{callback(data)},postData);\r\n },\r\n //获取matchId 用于上传每次点击数据里面记录id方便查询\r\n getMatchId (){\r\n let matchId = cc.sys.localStorage.getItem(\"matchId\");\r\n if(matchId == \"undifend\" || matchId==null){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n if(this.containsNanana(matchId) == true){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n let char = parseInt(matchId[10]);\r\n if(this.level == 1){\r\n char += 1;\r\n }\r\n matchId = matchId.slice(0, 10) + char + \"\";\r\n cc.fx.GameConfig.GM_INFO.matchId = matchId;\r\n cc.sys.localStorage.setItem(\"matchId\",matchId);\r\n }\r\n }\r\n return matchId;\r\n },\r\n //检测matchId 如果有缓存以前的nanana数据清除\r\n containsNanana(str) {\r\n return /na/i.test(str);\r\n },\r\n //重新设置MatchId\r\n setMatchId (){\r\n // 定义包含可用字符的字符集\r\n const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\r\n // 创建一个数组以保存随机字符\r\n const uuidArray = [];\r\n // 循环10次 生成10位的UUID\r\n for (let i = 0; i < 10; i++) {\r\n // 生成随机索引,范围是字符集的长度\r\n const randomIndex = Math.floor(Math.random() * characters.length);\r\n // 从字符集中获取随机字符\r\n const randomChar = characters.charAt(randomIndex);\r\n // 将字符添加到数组中\r\n uuidArray.push(randomChar);\r\n }\r\n let data = uuidArray.join('') + 1 + \"\";\r\n cc.sys.localStorage.setItem(\"matchNumber\",1);\r\n cc.sys.localStorage.setItem(\"matchId\",data);\r\n cc.fx.GameConfig.GM_INFO.matchId = data;\r\n return data;\r\n },\r\n //截取名字\r\n subName(name,length){\r\n if(name.length > length){\r\n name = name.substring(0,length) + \"...\"\r\n }\r\n return name;\r\n },\r\n //设置头像\r\n setPic(node,pic){\r\n node.active = false;\r\n let url = pic;\r\n setTimeout(() => {\r\n fetch(url)\r\n .then(response => {\r\n return response.headers.get('Content-Length');\r\n })\r\n .then(errNo => {\r\n if(errNo == \"5093\"){\r\n node.active = true;\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error fetching X-Info:', error);\r\n });\r\n }, 100);\r\n cc.assetManager.loadRemote(url, {ext:'.jpg'},(err, texture:cc.Texture2D) => {\r\n if(texture){\r\n node.active = true;\r\n node.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture);\r\n }\r\n else{\r\n console.log(err,texture)\r\n }\r\n })\r\n },\r\n //第一个参数把目标带进来处理,第二个参数为名字长度,不同场景不同需求\r\n //名字4短,小排行,名字6长,大排行\r\n getRankData(data,target,nameLength){\r\n target.listData = data.data.list;\r\n target.selfData = data.data.info;\r\n let rankData = [];\r\n let self = false;\r\n cc.fx.GameTool.setPic(target.selfNode.getChildByName(\"pic\").getChildByName(\"icon\"),target.selfData.pic);\r\n for(let i=0;i<=target.listData.length-1;i++){\r\n rankData.push({rank:(i+1), name:target.listData[i].nickName, total:target.listData[i].totalSunCount, pic:target.listData[i].pic});\r\n if(cc.fx.GameConfig.GM_INFO.userId == target.listData[i].userId){\r\n self = true;\r\n target.rankNumber = i;\r\n target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string =(i+1) + \"\"; \r\n }\r\n if(i == (target.listData.length-1) && self == false){\r\n target.rankNumber = i;\r\n target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string = \"99+\"; \r\n }\r\n }\r\n cc.fx.GameTool.subName(target.selfData.nickName,nameLength);\r\n target.selfNode.getChildByName(\"nameLab\").getComponent(cc.Label).string = target.selfData.nickName;\r\n target.selfNode.getChildByName(\"totalLab\").getComponent(cc.Label).string = target.selfData.totalSunCount;\r\n switch(target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string){\r\n case \"1\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"one\").active = true;\r\n break;\r\n case \"2\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"two\").active = true;\r\n break;\r\n case \"3\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"three\").active = true;\r\n break;\r\n\r\n }\r\n // 大排行\r\n if(nameLength == 6){\r\n target.rankList.setData(rankData);\r\n target.selfNode.opacity = 255;\r\n if(target.selfData.totalSunCount == 0) target.selfNode.opacity = 0;\r\n }\r\n },\r\n\r\n getSetScreenResolutionFlag: function () {\r\n let size = cc.winSize;\r\n let width = size.width;\r\n let height = size.height;\r\n if ((height / width) > (16.2 / 9)) return false;\r\n return true;\r\n },\r\n //判断全面屏适配\r\n setFit: function (canvas) {\r\n let flag = cc.fx.GameTool.getSetScreenResolutionFlag();\r\n if (flag) {\r\n \t// console.log(\"不是全面屏\");\r\n } else {\r\n \t// console.log(\"是全面屏\");\r\n }\r\n return flag;\r\n },\r\n //获取游戏信息\r\n getGameInfo: function(node){\r\n var jg = false;\r\n return jg;\r\n },\r\n //设置游戏信息\r\n setGameInfo: function(pd){\r\n \r\n },\r\n //输入秒,返回需要展示时间格式\r\n getTimeMargin:(second) => {\r\n let total = 0;\r\n total = second;\r\n let hour = 0;\r\n hour = parseInt((total / 3600) + \"\");//计算整数小时数\r\n let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数\r\n let min = parseInt((afterHour / 60)+\"\");//计算整数分\r\n let m = \"\" + min; \r\n if(min < 10) m = \"0\"+min;\r\n let afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数\r\n let miao = afterMin + \"\";\r\n if(afterMin < 10) miao = \"0\" + afterMin;\r\n return m + ':' + miao\r\n },\r\n\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = new Date().getTime();\r\n return timestamp;\r\n },\r\n pushLister:function () {\r\n \r\n },\r\n removeAllLister:function () {\r\n \r\n },\r\n\r\n};\r\nexport { GameTool };"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\module\\Tool\\GameTool.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\n//最大工具类 各种公共方法,以及处理上传,获取后端接口数据\r\nvar GameTool = {\r\n _startTime: 0,\r\n _endTime: 0,\r\n _totalTime: 0,\r\n //获取userId\r\n Authentication(){\r\n let name = \"user_\" + cc.fx.GameConfig.GM_INFO.gameId;\r\n var data = JSON.parse(localStorage.getItem(name));\r\n if(data == \"undifend\" || data==null || data == \"\"){\r\n let url = \"http://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=\"+location.href;\r\n window.location.href = url;\r\n }\r\n else{\r\n cc.fx.StorageMessage.setStorage(name,data);\r\n cc.fx.GameConfig.GM_INFO.userId = parseInt(data.userId);\r\n }\r\n },\r\n\r\n //埋点上传\r\n setGameData(){\r\n //GAME_DATA 初始化 每次清零\r\n cc.fx.GameConfig.GAME_DATA = [];\r\n cc.fx.GameConfig.GAME_DATA.push(cc.fx.GameConfig.CLICK_DATA);\r\n cc.fx.GameConfig.CLICK_init();\r\n let data = cc.fx.GameConfig.GAME_DATA;\r\n let matchId = this.getMatchId();\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"matchId\":matchId,\r\n \"data\": data\r\n };\r\n\r\n console.log(\"上传数据:\",postData);\r\n cc.fx.HttpUtil.uploadUserLogData(postData,function(){})\r\n },\r\n //上传排行榜 type为1\r\n setRank(data){\r\n //GAME_DATA 初始化 每次清零\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"type\":1,\r\n \"reactionTime\": data,\r\n \"totalSunCount\": cc.fx.GameConfig.GM_INFO.total,\r\n \"success\": cc.fx.GameConfig.GM_INFO.success\r\n };\r\n cc.fx.HttpUtil.rankData(1,function(){},postData);\r\n },\r\n //获取排行榜 type为2\r\n getRank(data,callback){\r\n let rankLength = data.length;\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"page\":1,\r\n \"pageSize\":rankLength\r\n }; \r\n //回调进getRankData\r\n cc.fx.HttpUtil.rankData(2,data =>{callback(data)},postData);\r\n },\r\n //获取matchId 用于上传每次点击数据里面记录id方便查询\r\n getMatchId (){\r\n let matchId = cc.sys.localStorage.getItem(\"matchId\");\r\n if(matchId == \"undifend\" || matchId==null){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n if(this.containsNanana(matchId) == true){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n let char = parseInt(matchId[10]);\r\n if(this.level == 1){\r\n char += 1;\r\n }\r\n matchId = matchId.slice(0, 10) + char + \"\";\r\n cc.fx.GameConfig.GM_INFO.matchId = matchId;\r\n cc.sys.localStorage.setItem(\"matchId\",matchId);\r\n }\r\n }\r\n return matchId;\r\n },\r\n //检测matchId 如果有缓存以前的nanana数据清除\r\n containsNanana(str) {\r\n return /na/i.test(str);\r\n },\r\n //重新设置MatchId\r\n setMatchId (){\r\n // 定义包含可用字符的字符集\r\n const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\r\n // 创建一个数组以保存随机字符\r\n const uuidArray = [];\r\n // 循环10次 生成10位的UUID\r\n for (let i = 0; i < 10; i++) {\r\n // 生成随机索引,范围是字符集的长度\r\n const randomIndex = Math.floor(Math.random() * characters.length);\r\n // 从字符集中获取随机字符\r\n const randomChar = characters.charAt(randomIndex);\r\n // 将字符添加到数组中\r\n uuidArray.push(randomChar);\r\n }\r\n let data = uuidArray.join('') + 1 + \"\";\r\n cc.sys.localStorage.setItem(\"matchNumber\",1);\r\n cc.sys.localStorage.setItem(\"matchId\",data);\r\n cc.fx.GameConfig.GM_INFO.matchId = data;\r\n return data;\r\n },\r\n //截取名字\r\n subName(name,length){\r\n if(name.length > length){\r\n name = name.substring(0,length) + \"...\"\r\n }\r\n return name;\r\n },\r\n //设置头像\r\n setPic(node,pic){\r\n node.active = false;\r\n let url = pic;\r\n setTimeout(() => {\r\n fetch(url)\r\n .then(response => {\r\n return response.headers.get('Content-Length');\r\n })\r\n .then(errNo => {\r\n if(errNo == \"5093\"){\r\n node.active = true;\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error fetching X-Info:', error);\r\n });\r\n }, 100);\r\n cc.assetManager.loadRemote(url, {ext:'.jpg'},(err, texture:cc.Texture2D) => {\r\n if(texture){\r\n node.active = true;\r\n node.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture);\r\n }\r\n else{\r\n console.log(err,texture)\r\n }\r\n })\r\n },\r\n //第一个参数把目标带进来处理,第二个参数为名字长度,不同场景不同需求\r\n //名字4短,小排行,名字6长,大排行\r\n getRankData(data,target,nameLength){\r\n target.listData = data.data.list;\r\n target.selfData = data.data.info;\r\n let rankData = [];\r\n let self = false;\r\n cc.fx.GameTool.setPic(target.selfNode.getChildByName(\"pic\").getChildByName(\"icon\"),target.selfData.pic);\r\n for(let i=0;i<=target.listData.length-1;i++){\r\n rankData.push({rank:(i+1), name:target.listData[i].nickName, total:target.listData[i].totalSunCount, pic:target.listData[i].pic});\r\n if(cc.fx.GameConfig.GM_INFO.userId == target.listData[i].userId){\r\n self = true;\r\n target.rankNumber = i;\r\n target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string =(i+1) + \"\"; \r\n }\r\n if(i == (target.listData.length-1) && self == false){\r\n target.rankNumber = i;\r\n target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string = \"99+\"; \r\n }\r\n }\r\n cc.fx.GameTool.subName(target.selfData.nickName,nameLength);\r\n target.selfNode.getChildByName(\"nameLab\").getComponent(cc.Label).string = target.selfData.nickName;\r\n target.selfNode.getChildByName(\"totalLab\").getComponent(cc.Label).string = target.selfData.totalSunCount;\r\n switch(target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string){\r\n case \"1\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"one\").active = true;\r\n break;\r\n case \"2\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"two\").active = true;\r\n break;\r\n case \"3\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"three\").active = true;\r\n break;\r\n\r\n }\r\n // 大排行\r\n if(nameLength == 6){\r\n target.rankList.setData(rankData);\r\n target.selfNode.opacity = 255;\r\n if(target.selfData.totalSunCount == 0) target.selfNode.opacity = 0;\r\n }\r\n },\r\n\r\n getSetScreenResolutionFlag: function () {\r\n let size = cc.winSize;\r\n let width = size.width;\r\n let height = size.height;\r\n if ((height / width) > (16.2 / 9)) return false;\r\n return true;\r\n },\r\n //判断全面屏适配\r\n setFit: function (canvas) {\r\n let flag = cc.fx.GameTool.getSetScreenResolutionFlag();\r\n if (flag) {\r\n \t// console.log(\"不是全面屏\");\r\n } else {\r\n \t// console.log(\"是全面屏\");\r\n }\r\n return flag;\r\n },\r\n //获取游戏信息\r\n getGameInfo: function(node){\r\n var jg = false;\r\n return jg;\r\n },\r\n //设置游戏信息\r\n setGameInfo: function(pd){\r\n \r\n },\r\n //输入秒,返回需要展示时间格式\r\n getTimeMargin:(second) => {\r\n let total = 0;\r\n total = second;\r\n let hour = 0;\r\n hour = parseInt((total / 3600) + \"\");//计算整数小时数\r\n let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数\r\n let min = parseInt((afterHour / 60)+\"\");//计算整数分\r\n let m = \"\" + min; \r\n if(min < 10) m = \"0\"+min;\r\n let afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数\r\n let miao = afterMin + \"\";\r\n if(afterMin < 10) miao = \"0\" + afterMin;\r\n return m + ':' + miao\r\n },\r\n\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = new Date().getTime();\r\n return timestamp;\r\n },\r\n pushLister:function () {\r\n \r\n },\r\n removeAllLister:function () {\r\n \r\n },\r\n\r\n};\r\nexport { GameTool };"]} \ No newline at end of file diff --git a/library/imports/c5/c5692be7-8703-45e4-9f67-23b54d290356.js b/library/imports/c5/c5692be7-8703-45e4-9f67-23b54d290356.js index 295aa3f..ff5941f 100644 --- a/library/imports/c5/c5692be7-8703-45e4-9f67-23b54d290356.js +++ b/library/imports/c5/c5692be7-8703-45e4-9f67-23b54d290356.js @@ -27,35 +27,35 @@ var GameConfig = /** @class */ (function () { configurable: true }); GameConfig.init = function () { - var _this = this; + this.GM_INFO_init(); + this.CLICK_init(); + this.LEVEL_INFO_init(); + var self = this; cc.resources.load('Json/GM_INFO', function (err, res) { if (err) { - _this.GM_INFO_init(); - _this.Authentication(); + self.Authentication(); return; } var jsonData = res.json; - _this.GM_INFO = jsonData["data"]; - _this.Authentication(); + self.GM_INFO = jsonData["data"]; + self.Authentication(); }); cc.resources.load('Json/CLICK_DATA', function (err, res) { if (err) { - _this.CLICK_init(); return; } var jsonData = res.json; - _this.CLICK_DATA = jsonData["data"]; + self.CLICK_DATA = jsonData["data"]; }); cc.resources.load('Json/LEVEL_INFO', function (err, res) { if (err) { - _this.LEVEL_INFO_init(); return; } var jsonData = res.json; - _this.LEVEL_INFO = jsonData["data"]; + self.LEVEL_INFO = jsonData["data"]; }); //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次 - this.GAME_DATA = []; + self.GAME_DATA = []; }; //数据备用 GameConfig.GM_INFO_init = function () { diff --git a/library/imports/c5/c5692be7-8703-45e4-9f67-23b54d290356.js.map b/library/imports/c5/c5692be7-8703-45e4-9f67-23b54d290356.js.map index fe3abc6..b2d0b44 100644 --- a/library/imports/c5/c5692be7-8703-45e4-9f67-23b54d290356.js.map +++ b/library/imports/c5/c5692be7-8703-45e4-9f67-23b54d290356.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\module\\Config\\GameConfig.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\n\r\nconst { ccclass, property } = cc._decorator;\r\n@ccclass('GameConfig')\r\nexport class GameConfig {\r\n //所有控制信息都通过GameAppStart内控制\r\n private static _instance : GameConfig = null;\r\n //用于盛放埋点数据上传,每次上传后清空\r\n static GM_INFO: {\r\n // isEnd: false,\r\n mean_Time: number; //平均放箭速度\r\n total: number; //总共对的个数\r\n currSeed: number; //用于随机数种子\r\n gameId: string; //游戏ID\r\n userId: number; //用户ID\r\n guide: boolean; //是否有引导\r\n url: string; //访问域名\r\n success: boolean; //用户游戏成功与否\r\n matchId: any; //用于埋点上传的ID\r\n custom: number; //用于测试跳关卡\r\n };\r\n static CLICK_DATA: {\r\n type: number; //上传数据类型\r\n success: boolean; //此局游戏胜负 \r\n round: number; //回合数\r\n totalSunCount: number; //太阳总数\r\n movedSunCount: number; //可移动太阳个数\r\n sunSpeed: number; //太阳移动速度\r\n overlapSunCount: number; //重叠太阳个数\r\n colorList: any[]; //太阳颜色数组\r\n duration: number; //每次点击的反应时间\r\n difficultyLevel: number; //此次难度\r\n sunList: any[]; //太阳数组,用于存放太阳类型 0:普通 1:移动 2:重叠\r\n stepTimeList: any[]; //每次点击间隔\r\n remainder: number; //游戏剩余时间\r\n };\r\n static LEVEL_INFO: { //第一难度\r\n number: number; //太阳总数 \r\n moveNumber: number; //太阳可移动个数\r\n moveSpeed: number; //太阳移动速度等级\r\n maxDistance: number; //布局后移动最大距离\r\n maxMove: number; //每个太阳之间距离最大间距\r\n repeat: number; //是否重叠,现在0 不重叠 1 重叠1个\r\n }[];\r\n static GAME_DATA: any[];\r\n\r\n\r\n static get Instance()\r\n {\r\n if (this._instance == null)\r\n {\r\n this._instance = new GameConfig();\r\n }\r\n return this._instance;\r\n }\r\n\r\n static init(){\r\n cc.resources.load('Json/GM_INFO', (err: any, res: cc.JsonAsset) => {\r\n if (err) {\r\n this.GM_INFO_init();\r\n this.Authentication();\r\n return;\r\n }\r\n let jsonData: object = res.json!;\r\n this.GM_INFO = jsonData[\"data\"];\r\n this.Authentication();\r\n })\r\n cc.resources.load('Json/CLICK_DATA', (err: any, res: cc.JsonAsset) => {\r\n if (err) {\r\n this.CLICK_init();\r\n return;\r\n }\r\n let jsonData: object = res.json!;\r\n this.CLICK_DATA = jsonData[\"data\"];\r\n })\r\n cc.resources.load('Json/LEVEL_INFO', (err: any, res: cc.JsonAsset) => {\r\n if (err) {\r\n this.LEVEL_INFO_init();\r\n return;\r\n }\r\n let jsonData: object = res.json!;\r\n this.LEVEL_INFO = jsonData[\"data\"];\r\n })\r\n\r\n //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次\r\n this.GAME_DATA = [\r\n ]\r\n }\r\n \r\n //数据备用\r\n static GM_INFO_init() {\r\n this.GM_INFO = {\r\n // isEnd: false,\r\n mean_Time: 0, //平均放箭速度\r\n total: 0, //总共对的个数\r\n currSeed: 203213, //用于随机数种子\r\n gameId: '100009', //游戏ID\r\n userId: 0, //用户ID\r\n guide: true, //是否有引导\r\n url: \"http://api.sparkus.cn\",//访问域名\r\n success: false, //用户游戏成功与否\r\n matchId: null, //用于埋点上传的ID\r\n custom: 0 //用于测试跳关卡\r\n };\r\n }\r\n static CLICK_init() {\r\n this.CLICK_DATA =\r\n {\r\n type: 1, //上传数据类型\r\n success: false, //此局游戏胜负 \r\n round: 0, //回合数\r\n totalSunCount: 0, //太阳总数\r\n movedSunCount: 0, //可移动太阳个数\r\n sunSpeed: 0, //太阳移动速度\r\n overlapSunCount: 0, //重叠太阳个数\r\n colorList: [], //太阳颜色数组\r\n duration: 0, //每次点击的反应时间\r\n difficultyLevel: 0, //此次难度\r\n sunList: [], //太阳数组,用于存放太阳类型 0:普通 1:移动 2:重叠\r\n stepTimeList: [], //每次点击间隔\r\n remainder: 120 //游戏剩余时间\r\n }\r\n }\r\n static LEVEL_INFO_init() {\r\n this.LEVEL_INFO = [\r\n { //第一难度\r\n number: 3, //太阳总数 \r\n moveNumber: 0, //太阳可移动个数\r\n moveSpeed: 0, //太阳移动速度等级\r\n maxDistance: 200, //布局后移动最大距离\r\n maxMove: 1200, //每个太阳之间距离最大间距\r\n repeat: 0 //是否重叠,现在0 不重叠 1 重叠1个\r\n },\r\n { //第二难度\r\n number: 4,\r\n moveNumber: 0,\r\n moveSpeed: 0,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第三难度\r\n number: 4,\r\n moveNumber: 0,\r\n moveSpeed: 0,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第四难度\r\n number: 5,\r\n moveNumber: 1,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第五难度\r\n number: 5,\r\n moveNumber: 0,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第六难度\r\n number: 6,\r\n moveNumber: 0,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第七难度\r\n number: 6,\r\n moveNumber: 3,\r\n moveSpeed: 4,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第八难度\r\n number: 7,\r\n moveNumber: 0,\r\n moveSpeed: 4,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第九难度\r\n number: 7,\r\n moveNumber: 3,\r\n moveSpeed: 4,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第十难度\r\n number: 7,\r\n moveNumber: 3,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第十一难度\r\n number: 8,\r\n moveNumber: 3,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第十二难度\r\n number: 8,\r\n moveNumber: 5,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第十三难度\r\n number: 9,\r\n moveNumber: 3,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第十四难度\r\n number: 9,\r\n moveNumber: 5,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第十五难度\r\n number: 10,\r\n moveNumber: 5,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //11 \r\n number: 3,\r\n moveNumber: 0,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //12 \r\n number: 4,\r\n moveNumber: 0,\r\n moveSpeed: 0,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //13 \r\n number: 4,\r\n moveNumber: 1,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //14 \r\n number: 4,\r\n moveNumber: 0,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //15 \r\n number: 4,\r\n moveNumber: 1,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //16 \r\n number: 5,\r\n moveNumber: 1,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //17 \r\n number: 5,\r\n moveNumber: 0,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //18 \r\n number: 5,\r\n moveNumber: 1,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //19 \r\n number: 5,\r\n moveNumber: 2,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //20 \r\n number: 5,\r\n moveNumber: 3,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n }\r\n\r\n ]\r\n }\r\n static Authentication(){\r\n cc.fx.GameTool.Authentication();\r\n }\r\n}\r\n\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\module\\Config\\GameConfig.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\n\r\nconst { ccclass, property } = cc._decorator;\r\n@ccclass('GameConfig')\r\nexport class GameConfig {\r\n //所有控制信息都通过GameAppStart内控制\r\n private static _instance : GameConfig = null;\r\n //用于盛放埋点数据上传,每次上传后清空\r\n static GM_INFO: {\r\n // isEnd: false,\r\n mean_Time: number; //平均放箭速度\r\n total: number; //总共对的个数\r\n currSeed: number; //用于随机数种子\r\n gameId: string; //游戏ID\r\n userId: number; //用户ID\r\n guide: boolean; //是否有引导\r\n url: string; //访问域名\r\n success: boolean; //用户游戏成功与否\r\n matchId: any; //用于埋点上传的ID\r\n custom: number; //用于测试跳关卡\r\n };\r\n static CLICK_DATA: {\r\n type: number; //上传数据类型\r\n success: boolean; //此局游戏胜负 \r\n round: number; //回合数\r\n totalSunCount: number; //太阳总数\r\n movedSunCount: number; //可移动太阳个数\r\n sunSpeed: number; //太阳移动速度\r\n overlapSunCount: number; //重叠太阳个数\r\n colorList: any[]; //太阳颜色数组\r\n duration: number; //每次点击的反应时间\r\n difficultyLevel: number; //此次难度\r\n sunList: any[]; //太阳数组,用于存放太阳类型 0:普通 1:移动 2:重叠\r\n stepTimeList: any[]; //每次点击间隔\r\n remainder: number; //游戏剩余时间\r\n };\r\n static LEVEL_INFO: { //第一难度\r\n number: number; //太阳总数 \r\n moveNumber: number; //太阳可移动个数\r\n moveSpeed: number; //太阳移动速度等级\r\n maxDistance: number; //布局后移动最大距离\r\n maxMove: number; //每个太阳之间距离最大间距\r\n repeat: number; //是否重叠,现在0 不重叠 1 重叠1个\r\n }[];\r\n static GAME_DATA: any[];\r\n\r\n\r\n static get Instance()\r\n {\r\n if (this._instance == null)\r\n {\r\n this._instance = new GameConfig();\r\n }\r\n return this._instance;\r\n }\r\n\r\n static init(){\r\n this.GM_INFO_init();\r\n this.CLICK_init();\r\n this.LEVEL_INFO_init();\r\n var self = this;\r\n cc.resources.load('Json/GM_INFO', (err: any, res: cc.JsonAsset) => {\r\n if (err) {\r\n self.Authentication();\r\n return;\r\n }\r\n let jsonData: object = res.json!;\r\n self.GM_INFO = jsonData[\"data\"];\r\n self.Authentication();\r\n })\r\n cc.resources.load('Json/CLICK_DATA', (err: any, res: cc.JsonAsset) => {\r\n if (err) {\r\n \r\n return;\r\n }\r\n let jsonData: object = res.json!;\r\n self.CLICK_DATA = jsonData[\"data\"];\r\n })\r\n cc.resources.load('Json/LEVEL_INFO', (err: any, res: cc.JsonAsset) => {\r\n if (err) {\r\n return;\r\n }\r\n let jsonData: object = res.json!;\r\n self.LEVEL_INFO = jsonData[\"data\"];\r\n })\r\n\r\n //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次\r\n self.GAME_DATA = [\r\n ]\r\n }\r\n \r\n //数据备用\r\n static GM_INFO_init() {\r\n this.GM_INFO = {\r\n // isEnd: false,\r\n mean_Time: 0, //平均放箭速度\r\n total: 0, //总共对的个数\r\n currSeed: 203213, //用于随机数种子\r\n gameId: '100009', //游戏ID\r\n userId: 0, //用户ID\r\n guide: true, //是否有引导\r\n url: \"http://api.sparkus.cn\",//访问域名\r\n success: false, //用户游戏成功与否\r\n matchId: null, //用于埋点上传的ID\r\n custom: 0 //用于测试跳关卡\r\n };\r\n }\r\n static CLICK_init() {\r\n this.CLICK_DATA =\r\n {\r\n type: 1, //上传数据类型\r\n success: false, //此局游戏胜负 \r\n round: 0, //回合数\r\n totalSunCount: 0, //太阳总数\r\n movedSunCount: 0, //可移动太阳个数\r\n sunSpeed: 0, //太阳移动速度\r\n overlapSunCount: 0, //重叠太阳个数\r\n colorList: [], //太阳颜色数组\r\n duration: 0, //每次点击的反应时间\r\n difficultyLevel: 0, //此次难度\r\n sunList: [], //太阳数组,用于存放太阳类型 0:普通 1:移动 2:重叠\r\n stepTimeList: [], //每次点击间隔\r\n remainder: 120 //游戏剩余时间\r\n }\r\n }\r\n static LEVEL_INFO_init() {\r\n this.LEVEL_INFO = [\r\n { //第一难度\r\n number: 3, //太阳总数 \r\n moveNumber: 0, //太阳可移动个数\r\n moveSpeed: 0, //太阳移动速度等级\r\n maxDistance: 200, //布局后移动最大距离\r\n maxMove: 1200, //每个太阳之间距离最大间距\r\n repeat: 0 //是否重叠,现在0 不重叠 1 重叠1个\r\n },\r\n { //第二难度\r\n number: 4,\r\n moveNumber: 0,\r\n moveSpeed: 0,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第三难度\r\n number: 4,\r\n moveNumber: 0,\r\n moveSpeed: 0,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第四难度\r\n number: 5,\r\n moveNumber: 1,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第五难度\r\n number: 5,\r\n moveNumber: 0,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第六难度\r\n number: 6,\r\n moveNumber: 0,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第七难度\r\n number: 6,\r\n moveNumber: 3,\r\n moveSpeed: 4,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第八难度\r\n number: 7,\r\n moveNumber: 0,\r\n moveSpeed: 4,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第九难度\r\n number: 7,\r\n moveNumber: 3,\r\n moveSpeed: 4,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第十难度\r\n number: 7,\r\n moveNumber: 3,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第十一难度\r\n number: 8,\r\n moveNumber: 3,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第十二难度\r\n number: 8,\r\n moveNumber: 5,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第十三难度\r\n number: 9,\r\n moveNumber: 3,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第十四难度\r\n number: 9,\r\n moveNumber: 5,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第十五难度\r\n number: 10,\r\n moveNumber: 5,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //11 \r\n number: 3,\r\n moveNumber: 0,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //12 \r\n number: 4,\r\n moveNumber: 0,\r\n moveSpeed: 0,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //13 \r\n number: 4,\r\n moveNumber: 1,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //14 \r\n number: 4,\r\n moveNumber: 0,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //15 \r\n number: 4,\r\n moveNumber: 1,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //16 \r\n number: 5,\r\n moveNumber: 1,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //17 \r\n number: 5,\r\n moveNumber: 0,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //18 \r\n number: 5,\r\n moveNumber: 1,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //19 \r\n number: 5,\r\n moveNumber: 2,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //20 \r\n number: 5,\r\n moveNumber: 3,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n }\r\n\r\n ]\r\n }\r\n static Authentication(){\r\n cc.fx.GameTool.Authentication();\r\n }\r\n}\r\n\r\n"]} \ No newline at end of file diff --git a/library/uuid-to-mtime.json b/library/uuid-to-mtime.json index a69ae8e..226fce9 100644 --- a/library/uuid-to-mtime.json +++ b/library/uuid-to-mtime.json @@ -370,8 +370,8 @@ "relativePath": "Script\\module\\Crypto\\HttpUtil.ts" }, "9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d": { - "asset": 1718622363469, - "meta": 1718622363475, + "asset": 1718958796311, + "meta": 1718958796317, "relativePath": "Scene\\LoadScene.fire" }, "805c69df-dfdf-4759-97ae-5a7341f424c7": { @@ -384,11 +384,6 @@ "meta": 1718607561362, "relativePath": "Script\\module\\RankList\\ItemRender.ts" }, - "43bfc27a-ff6e-45b3-87c7-504d0f781397": { - "asset": 1718607249147, - "meta": 1718607561393, - "relativePath": "Script\\module\\Tool\\GameTool.ts" - }, "e74a9f7d-2031-4e69-bcb2-9998174088b2": { "asset": 1718607291362, "meta": 1718607561414, @@ -404,11 +399,6 @@ "meta": 1718612898273, "relativePath": "resources\\Json" }, - "2d69a479-18ec-4787-b35f-e9a9b3247435": { - "asset": 1718613751724, - "meta": 1718613773369, - "relativePath": "resources\\Json\\GM_INFO.json" - }, "e1d57e63-4f2f-467d-9c55-0a889d5533a8": { "asset": 1718613823190, "meta": 1718613998653, @@ -421,427 +411,427 @@ }, "9836134e-b892-4283-b6b2-78b5acf3ed45": { "asset": 1714966328642, - "meta": 1718622356836, + "meta": 1718958547847, "relativePath": "effects" }, "abc2cb62-7852-4525-a90d-d474487b88f2": { "asset": 1714966328642, - "meta": 1718622356954, + "meta": 1718958547969, "relativePath": "effects\\builtin-phong.effect" }, "e2f00085-c597-422d-9759-52c360279106": { "asset": 1714966328642, - "meta": 1718622357004, + "meta": 1718958548015, "relativePath": "effects\\builtin-toon.effect" }, "430eccbf-bf2c-4e6e-8c0c-884bbb487f32": { "asset": 1714966328642, - "meta": 1718622357018, + "meta": 1718958548027, "relativePath": "effects\\__builtin-editor-gizmo-line.effect" }, "6c5cf6e1-b044-4eac-9431-835644d57381": { "asset": 1714966328642, - "meta": 1718622357027, + "meta": 1718958548034, "relativePath": "effects\\__builtin-editor-gizmo-unlit.effect" }, "115286d1-2e10-49ee-aab4-341583f607e8": { "asset": 1714966328642, - "meta": 1718622357065, + "meta": 1718958548067, "relativePath": "effects\\__builtin-editor-gizmo.effect" }, "f8e6b000-5643-4b86-9080-aa680ce1f599": { "asset": 1714966328706, - "meta": 1718622356836, + "meta": 1718958547848, "relativePath": "image" }, "5c3eedba-6c41-4c0c-9ba7-d91f813cbd1c": { "asset": 1714966328721, - "meta": 1718622356837, + "meta": 1718958547849, "relativePath": "materials" }, "fc09f9bd-2cce-4605-b630-8145ef809ed6": { "asset": 1714966328721, - "meta": 1718622356838, + "meta": 1718958547850, "relativePath": "misc" }, "4bab67cb-18e6-4099-b840-355f0473f890": { "asset": 1714966328689, - "meta": 1718622357170, + "meta": 1718958548158, "relativePath": "image\\default_scrollbar_bg.png" }, "db019bf7-f71c-4111-98cf-918ea180cb48": { "asset": 1714966328737, - "meta": 1718622356839, + "meta": 1718958547851, "relativePath": "model" }, "e851e89b-faa2-4484-bea6-5c01dd9f06e2": { "asset": 1714966328658, - "meta": 1718622357120, + "meta": 1718958548125, "relativePath": "image\\default_btn_normal.png" }, "e39e96e6-6f6e-413f-bcf1-ac7679bb648a": { "asset": 1714966328737, - "meta": 1718622357138, + "meta": 1718958548130, "relativePath": "model\\prefab" }, "99170b0b-d210-46f1-b213-7d9e3f23098a": { "asset": 1714966328673, - "meta": 1718622357131, + "meta": 1718958548155, "relativePath": "image\\default_progressbar_bg.png" }, "6e056173-d285-473c-b206-40a7fff5386e": { "asset": 1714966328689, - "meta": 1718622357176, + "meta": 1718958548163, "relativePath": "image\\default_sprite.png" }, "617323dd-11f4-4dd3-8eec-0caf6b3b45b9": { "asset": 1714966328689, - "meta": 1718622357171, + "meta": 1718958548166, "relativePath": "image\\default_scrollbar_vertical_bg.png" }, "b43ff3c2-02bb-4874-81f7-f2dea6970f18": { "asset": 1714966328658, - "meta": 1718622357168, + "meta": 1718958548113, "relativePath": "image\\default_btn_pressed.png" }, "71561142-4c83-4933-afca-cb7a17f67053": { "asset": 1714966328658, - "meta": 1718622357137, + "meta": 1718958548120, "relativePath": "image\\default_btn_disabled.png" }, "d81ec8ad-247c-4e62-aa3c-d35c4193c7af": { "asset": 1714966328673, - "meta": 1718622357122, + "meta": 1718958548162, "relativePath": "image\\default_panel.png" }, "cfef78f1-c8df-49b7-8ed0-4c953ace2621": { "asset": 1714966328673, - "meta": 1718622357124, + "meta": 1718958548128, "relativePath": "image\\default_progressbar.png" }, "f6e6dd15-71d1-4ffe-ace7-24fd39942c05": { "asset": 1714966328752, - "meta": 1718622356840, + "meta": 1718958547852, "relativePath": "obsolete" }, "edd215b9-2796-4a05-aaf5-81f96c9281ce": { "asset": 1714966328658, - "meta": 1718622357167, + "meta": 1718958548110, "relativePath": "image\\default_editbox_bg.png" }, "c4480a0a-6ac5-443f-8b40-361a14257fc8": { "asset": 1714966328706, - "meta": 1718622357605, + "meta": 1718958548444, "relativePath": "materials\\builtin-phong.mtl" }, "f743d2b6-b7ea-4c14-a55b-547ed4d0a045": { "asset": 1714966328752, - "meta": 1718622356841, + "meta": 1718958547853, "relativePath": "particle" }, "567dcd80-8bf4-4535-8a5a-313f1caf078a": { "asset": 1714966328673, - "meta": 1718622357139, + "meta": 1718958548161, "relativePath": "image\\default_radio_button_off.png" }, "a87cc147-01b2-43f8-8e42-a7ca90b0c757": { "asset": 1714966328721, - "meta": 1718622357515, + "meta": 1718958548377, "relativePath": "model\\prefab\\box.prefab" }, "600301aa-3357-4a10-b086-84f011fa32ba": { "asset": 1714966328642, - "meta": 1718622357127, + "meta": 1718958548117, "relativePath": "image\\default-particle.png" }, "ae6c6c98-11e4-452f-8758-75f5c6a56e83": { "asset": 1714966328831, - "meta": 1718622356842, + "meta": 1718958547853, "relativePath": "prefab" }, "fe1417b6-fe6b-46a4-ae7c-9fd331f33a2a": { "asset": 1714966328737, - "meta": 1718622357536, + "meta": 1718958548379, "relativePath": "model\\prefab\\capsule.prefab" }, "9d60001f-b5f4-4726-a629-2659e3ded0b8": { "asset": 1714966328673, - "meta": 1718622357134, + "meta": 1718958548115, "relativePath": "image\\default_radio_button_on.png" }, "b5fc2cf2-7942-483d-be1f-bbeadc4714ad": { "asset": 1714966328737, - "meta": 1718622357540, + "meta": 1718958548383, "relativePath": "model\\prefab\\cone.prefab" }, "3f376125-a699-40ca-ad05-04d662eaa1f2": { "asset": 1714966328737, - "meta": 1718622357533, + "meta": 1718958548380, "relativePath": "model\\prefab\\plane.prefab" }, "0291c134-b3da-4098-b7b5-e397edbe947f": { "asset": 1714966328689, - "meta": 1718622357165, + "meta": 1718958548159, "relativePath": "image\\default_scrollbar.png" }, "1c5e4038-953a-44c2-b620-0bbfc6170477": { "asset": 1714966328737, - "meta": 1718622357531, + "meta": 1718958548385, "relativePath": "model\\prefab\\cylinder.prefab" }, "6c9ef10d-b479-420b-bfe6-39cdda6a8ae0": { "asset": 1714966328737, - "meta": 1718622357523, + "meta": 1718958548387, "relativePath": "model\\prefab\\quad.prefab" }, "d6d3ca85-4681-47c1-b5dd-d036a9d39ea2": { "asset": 1714966328689, - "meta": 1718622357174, + "meta": 1718958548156, "relativePath": "image\\default_scrollbar_vertical.png" }, "de510076-056b-484f-b94c-83bef217d0e1": { "asset": 1714966328737, - "meta": 1718622357528, + "meta": 1718958548381, "relativePath": "model\\prefab\\torus.prefab" }, "2d9a4b85-b0ab-4c46-84c5-18f393ab2058": { "asset": 1714966328737, - "meta": 1718622357519, + "meta": 1718958548391, "relativePath": "model\\prefab\\sphere.prefab" }, "0275e94c-56a7-410f-bd1a-fc7483f7d14a": { "asset": 1714966328705, - "meta": 1718622357178, + "meta": 1718958548168, "relativePath": "image\\default_sprite_splash.png" }, "897ef7a1-4860-4f64-968d-f5924b18668a": { "asset": 1714966328752, - "meta": 1718622357185, + "meta": 1718958548176, "relativePath": "prefab\\2d-camera.prefab" }, "70d7cdb0-04cd-41bb-9480-c06a4785f386": { "asset": 1714966328768, - "meta": 1718622357187, + "meta": 1718958548173, "relativePath": "prefab\\3d-camera.prefab" }, "a3ee0214-b432-4865-9666-4a3211814282": { "asset": 1714966328800, - "meta": 1718622357188, + "meta": 1718958548176, "relativePath": "prefab\\light" }, "ed88f13d-fcad-4848-aa35-65a2cb973584": { "asset": 1714966328768, - "meta": 1718622357192, + "meta": 1718958548178, "relativePath": "prefab\\3d-stage.prefab" }, "70bbeb73-6dc2-4ee4-8faf-76b3a0e34ec4": { "asset": 1714966328768, - "meta": 1718622357190, + "meta": 1718958548183, "relativePath": "prefab\\3d-particle.prefab" }, "972b9a4d-47ee-4c74-b5c3-61d8a69bc29f": { "asset": 1714966328768, - "meta": 1718622357195, + "meta": 1718958548180, "relativePath": "prefab\\button.prefab" }, "2c937608-2562-40ea-b264-7395df6f0cea": { "asset": 1714966328768, - "meta": 1718622357197, + "meta": 1718958548182, "relativePath": "prefab\\canvas.prefab" }, "61aeb05b-3b32-452b-8eed-2b76deeed554": { "asset": 1714966328783, - "meta": 1718622357200, + "meta": 1718958548186, "relativePath": "prefab\\editbox.prefab" }, "27756ebb-3d33-44b0-9b96-e858fadd4dd4": { "asset": 1714966328783, - "meta": 1718622357203, + "meta": 1718958548190, "relativePath": "prefab\\label.prefab" }, "785a442c-3ceb-45be-a46e-7317f625f3b9": { "asset": 1714966328783, - "meta": 1718622357205, + "meta": 1718958548192, "relativePath": "prefab\\layout.prefab" }, "cd33edea-55f5-46c2-958d-357a01384a36": { "asset": 1714966328800, - "meta": 1718622357207, + "meta": 1718958548195, "relativePath": "prefab\\particlesystem.prefab" }, "ca8401fe-ad6e-41a8-bd46-8e3e4e9945be": { "asset": 1714966328800, - "meta": 1718622357209, + "meta": 1718958548194, "relativePath": "prefab\\pageview.prefab" }, "5965ffac-69da-4b55-bcde-9225d0613c28": { "asset": 1714966328800, - "meta": 1718622357211, + "meta": 1718958548200, "relativePath": "prefab\\progressBar.prefab" }, "4a37dd57-78cd-4cec-aad4-f11a73d12b63": { "asset": 1714966328800, - "meta": 1718622357215, + "meta": 1718958548199, "relativePath": "prefab\\richtext.prefab" }, "32044bd2-481f-4cf1-a656-e2b2fb1594eb": { "asset": 1714966328800, - "meta": 1718622357213, + "meta": 1718958548198, "relativePath": "prefab\\scrollview.prefab" }, "0004d1cf-a0ad-47d8-ab17-34d3db9d35a3": { "asset": 1714966328800, - "meta": 1718622357217, + "meta": 1718958548204, "relativePath": "prefab\\slider.prefab" }, "96083d03-c332-4a3f-9386-d03e2d19e8ee": { "asset": 1714966328815, - "meta": 1718622357226, + "meta": 1718958548224, "relativePath": "prefab\\sprite.prefab" }, "2be36297-9abb-4fee-8049-9ed5e271da8a": { "asset": 1714966328721, - "meta": 1718622357352, + "meta": 1718958548229, "relativePath": "misc\\default_video.mp4" }, "d8afc78c-4eac-4a9f-83dd-67bc70344d33": { "asset": 1714966328862, - "meta": 1718622356843, + "meta": 1718958547854, "relativePath": "resources" }, "294c1663-4adf-4a1e-a795-53808011a38a": { "asset": 1714966328862, - "meta": 1718622357346, + "meta": 1718958548225, "relativePath": "resources\\effects" }, "bbee2217-c261-49bd-a8ce-708d6bcc3500": { "asset": 1714966328893, - "meta": 1718622357348, + "meta": 1718958548226, "relativePath": "resources\\materials" }, "73a0903d-d80e-4e3c-aa67-f999543c08f5": { "asset": 1714966328706, - "meta": 1718622357347, + "meta": 1718958548231, "relativePath": "image\\default_toggle_checkmark.png" }, "7de03a80-4457-438d-95a7-3e7cdffd6086": { "asset": 1714966328815, - "meta": 1718622357351, + "meta": 1718958548236, "relativePath": "prefab\\tiledmap.prefab" }, "30682f87-9f0d-4f17-8a44-72863791461b": { "asset": 1714966328831, - "meta": 1718622357374, + "meta": 1718958548254, "relativePath": "resources\\effects\\builtin-2d-graphics.effect" }, "bf0a434c-84dd-4a8e-a08a-7a36f180cc75": { "asset": 1714966328815, - "meta": 1718622357360, + "meta": 1718958548241, "relativePath": "prefab\\toggleContainer.prefab" }, "144c3297-af63-49e8-b8ef-1cfa29b3be28": { "asset": 1714966328831, - "meta": 1718622357387, + "meta": 1718958548261, "relativePath": "resources\\effects\\builtin-2d-gray-sprite.effect" }, "d29077ba-1627-4a72-9579-7b56a235340c": { "asset": 1714966328706, - "meta": 1718622357362, + "meta": 1718958548237, "relativePath": "image\\default_toggle_normal.png" }, "0e42ba95-1fa1-46aa-b2cf-143cd1bcee2c": { "asset": 1714966328815, - "meta": 1718622357354, + "meta": 1718958548239, "relativePath": "prefab\\tiledtile.prefab" }, "f18742d7-56d2-4eb5-ae49-2d9d710b37c8": { "asset": 1714966328831, - "meta": 1718622357404, + "meta": 1718958548270, "relativePath": "resources\\effects\\builtin-2d-label.effect" }, "b181c1e4-0a72-4a91-bfb0-ae6f36ca60bd": { "asset": 1714966328706, - "meta": 1718622357345, + "meta": 1718958548228, "relativePath": "image\\default_toggle_pressed.png" }, "1f55e3be-b89b-4b79-88de-47fd31018044": { "asset": 1714966328815, - "meta": 1718622357349, + "meta": 1718958548233, "relativePath": "prefab\\sprite_splash.prefab" }, "0e93aeaa-0b53-4e40-b8e0-6268b4e07bd7": { "asset": 1714966328831, - "meta": 1718622357412, + "meta": 1718958548277, "relativePath": "resources\\effects\\builtin-2d-spine.effect" }, "c25b9d50-c8fc-4d27-beeb-6e7c1f2e5c0f": { "asset": 1714966328706, - "meta": 1718622357368, + "meta": 1718958548222, "relativePath": "image\\default_toggle_disabled.png" }, "0d784963-d024-4ea6-a7db-03be0ad63010": { "asset": 1714966328815, - "meta": 1718622357356, + "meta": 1718958548242, "relativePath": "prefab\\toggle.prefab" }, "2874f8dd-416c-4440-81b7-555975426e93": { "asset": 1714966328846, - "meta": 1718622357428, + "meta": 1718958548294, "relativePath": "resources\\effects\\builtin-2d-sprite.effect" }, "d1b8be49-b0a0-435c-83b7-552bed4bbe35": { "asset": 1714966328815, - "meta": 1718622357365, + "meta": 1718958548244, "relativePath": "prefab\\toggleGroup.prefab" }, "829a282c-b049-4019-bd38-5ace8d8a6417": { "asset": 1714966328846, - "meta": 1718622357474, + "meta": 1718958548342, "relativePath": "resources\\effects\\builtin-3d-particle.effect" }, "2a7c0036-e0b3-4fe1-8998-89a54b8a2bec": { "asset": 1714966328846, - "meta": 1718622357494, + "meta": 1718958548360, "relativePath": "resources\\effects\\builtin-3d-trail.effect" }, "c0040c95-c57f-49cd-9cbc-12316b73d0d4": { "asset": 1714966328846, - "meta": 1718622357504, + "meta": 1718958548365, "relativePath": "resources\\effects\\builtin-clear-stencil.effect" }, "6d91e591-4ce0-465c-809f-610ec95019c6": { "asset": 1714966328862, - "meta": 1718622357515, + "meta": 1718958548376, "relativePath": "resources\\effects\\builtin-unlit.effect" }, "232d2782-c4bd-4bb4-9e01-909f03d6d3b9": { "asset": 1714966328815, - "meta": 1718622357379, + "meta": 1718958548254, "relativePath": "prefab\\videoplayer.prefab" }, "8c5001fd-07ee-4a4b-a8a0-63e15195e94d": { "asset": 1714966328831, - "meta": 1718622357478, + "meta": 1718958548344, "relativePath": "prefab\\webview.prefab" }, "61906da3-7003-4bda-9abc-5769c76faee4": { "asset": 1714966328783, - "meta": 1718622357535, + "meta": 1718958548386, "relativePath": "prefab\\light\\ambient.prefab" }, "ddb99b39-7004-47cd-9705-751905c43c46": { "asset": 1714966328800, - "meta": 1718622357526, + "meta": 1718958548389, "relativePath": "prefab\\light\\directional.prefab" }, "0cf30284-9073-46bc-9eba-e62b69dbbff3": { "asset": 1714966328800, - "meta": 1718622357541, + "meta": 1718958548390, "relativePath": "prefab\\light\\point.prefab" }, "f5331fd2-bf42-4ee3-a3fd-3e1657600eff": { "asset": 1714966328800, - "meta": 1718622357539, + "meta": 1718958548394, "relativePath": "prefab\\light\\spot.prefab" }, "58403fe7-d7a2-426b-9b19-84d3236731a8": { @@ -851,77 +841,77 @@ }, "6f801092-0c37-4f30-89ef-c8d960825b36": { "asset": 1714966328862, - "meta": 1718622357626, + "meta": 1718958548473, "relativePath": "resources\\materials\\builtin-2d-base.mtl" }, "3a7bb79f-32fd-422e-ada2-96f518fed422": { "asset": 1714966328862, - "meta": 1718622357630, + "meta": 1718958548475, "relativePath": "resources\\materials\\builtin-2d-gray-sprite.mtl" }, "e02d87d4-e599-4d16-8001-e14891ac6506": { "asset": 1714966328878, - "meta": 1718622357630, + "meta": 1718958548477, "relativePath": "resources\\materials\\builtin-2d-label.mtl" }, "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432": { "asset": 1714966328878, - "meta": 1718622357634, + "meta": 1718958548478, "relativePath": "resources\\materials\\builtin-2d-sprite.mtl" }, "a153945d-2511-4c14-be7b-05d242f47d57": { "asset": 1714966328862, - "meta": 1718622357626, + "meta": 1718958548473, "relativePath": "resources\\materials\\builtin-2d-graphics.mtl" }, "8a96b965-2dc0-4e03-aa90-3b79cb93b5b4": { "asset": 1714966328752, - "meta": 1718622357357, + "meta": 1718958548247, "relativePath": "obsolete\\atom.png" }, "cf7e0bb8-a81c-44a9-ad79-d28d43991032": { "asset": 1714966328878, - "meta": 1718622357630, + "meta": 1718958548474, "relativePath": "resources\\materials\\builtin-clear-stencil.mtl" }, "2a296057-247c-4a1c-bbeb-0548b6c98650": { "asset": 1714966328893, - "meta": 1718622357634, + "meta": 1718958548479, "relativePath": "resources\\materials\\builtin-unlit.mtl" }, "7afd064b-113f-480e-b793-8817d19f63c3": { "asset": 1714966328878, - "meta": 1718622357630, + "meta": 1718958548480, "relativePath": "resources\\materials\\builtin-2d-spine.mtl" }, "466d4f9b-e5f4-4ea8-85d5-3c6e9a65658a": { "asset": 1714966328878, - "meta": 1718622357634, + "meta": 1718958548475, "relativePath": "resources\\materials\\builtin-3d-trail.mtl" }, "432fa09c-cf03-4cff-a186-982604408a07": { "asset": 1714966328878, - "meta": 1718622357630, + "meta": 1718958548480, "relativePath": "resources\\materials\\builtin-3d-particle.mtl" }, "d0a82d39-bede-46c4-b698-c81ff0dedfff": { "asset": 1714966328752, - "meta": 1718622357366, + "meta": 1718958548246, "relativePath": "particle\\atom.png" }, "b8223619-7e38-47c4-841f-9160c232495a": { "asset": 1714966328752, - "meta": 1718622357662, + "meta": 1718958548509, "relativePath": "obsolete\\atom.plist" }, "b2687ac4-099e-403c-a192-ff477686f4f5": { "asset": 1714966328752, - "meta": 1718622357662, + "meta": 1718958548510, "relativePath": "particle\\atom.plist" }, "954fec8b-cd16-4bb9-a3b7-7719660e7558": { "asset": 1714966328737, - "meta": 1718622359203, + "meta": 1718958550052, "relativePath": "model\\primitives.fbx" }, "b0432040-dbde-438c-839c-ba2b5d18a3b5": { @@ -934,19 +924,29 @@ "meta": 1718621731780, "relativePath": "Script\\GuideManager.ts" }, - "454ad829-851a-40ea-8ab9-941e828357ca": { - "asset": 1718621727785, - "meta": 1718621731790, - "relativePath": "Script\\Load.ts" - }, "61d4c718-db3b-4b31-8221-f16bea3cf030": { - "asset": 1718621682254, - "meta": 1718621731802, + "asset": 1718678046798, + "meta": 1718678051992, "relativePath": "Script\\module\\GameStart\\GameAppStart.ts" }, + "43bfc27a-ff6e-45b3-87c7-504d0f781397": { + "asset": 1718956940757, + "meta": 1718956941605, + "relativePath": "Script\\module\\Tool\\GameTool.ts" + }, + "454ad829-851a-40ea-8ab9-941e828357ca": { + "asset": 1718957407957, + "meta": 1718957428778, + "relativePath": "Script\\Load.ts" + }, + "2d69a479-18ec-4787-b35f-e9a9b3247435": { + "asset": 1718957630005, + "meta": 1718957766138, + "relativePath": "resources\\Json\\GM_INFO.json" + }, "c5692be7-8703-45e4-9f67-23b54d290356": { - "asset": 1718622344918, - "meta": 1718622359333, + "asset": 1718958794632, + "meta": 1718958795870, "relativePath": "Script\\module\\Config\\GameConfig.ts" } } \ No newline at end of file diff --git a/local/layout.editor.json b/local/layout.editor.json index 2df9491..fe14384 100644 --- a/local/layout.editor.json +++ b/local/layout.editor.json @@ -5,21 +5,21 @@ "main": true, "url": "app://editor/index.html", "windowType": "dockable", - "x": -8, - "y": -8, - "width": 1296, - "height": 688, + "x": 0, + "y": 0, + "width": 1280, + "height": 672, "layout": { "type": "dock-h", "children": [ { - "width": 207.1666717529297, - "height": 571, + "width": 205, + "height": 556.3333740234375, "type": "dock-v", "children": [ { - "width": 207.1666717529297, - "height": 307.9895935058594, + "width": 205, + "height": 300.1770935058594, "type": "panel", "active": 0, "children": [ @@ -27,8 +27,8 @@ ] }, { - "width": 207.1666717529297, - "height": 260, + "width": 205, + "height": 253.15625, "type": "panel", "active": 0, "children": [ @@ -38,8 +38,8 @@ ] }, { - "width": 759.59375, - "height": 571, + "width": 750.9896240234375, + "height": 556.3333740234375, "type": "panel", "active": 0, "children": [ @@ -47,8 +47,8 @@ ] }, { - "width": 307.2395935058594, - "height": 571, + "width": 304, + "height": 556.3333740234375, "type": "panel", "active": 0, "children": [ diff --git a/settings/project.json b/settings/project.json index 2eb2ffc..5e71a15 100644 --- a/settings/project.json +++ b/settings/project.json @@ -1,5 +1,5 @@ { - "last-module-event-record-time": 1718267224813, + "last-module-event-record-time": 1718957481996, "group-list": [ "default" ], diff --git a/temp/quick-scripts/dst/__file_stats__.json b/temp/quick-scripts/dst/__file_stats__.json index f8f369a..86a8ea0 100644 --- a/temp/quick-scripts/dst/__file_stats__.json +++ b/temp/quick-scripts/dst/__file_stats__.json @@ -1 +1 @@ -{"version":"1.0.8","stats":{"C:/Work/Project/Sun_moves/temp/quick-scripts/src/__qc_index__.js":"2024-06-17T11:05:59.565Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GuideManager.js":"2024-06-17T11:05:59.509Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js":"2024-06-17T11:05:59.526Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GameOver.js":"2024-06-17T11:05:59.527Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Sun.js":"2024-06-17T11:05:59.516Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/RankManager.js":"2024-06-17T11:05:59.535Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/DynamicAtlasManager.js":"2024-06-17T11:05:59.520Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Notification/Notification.js":"2024-06-17T11:05:59.517Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Load.js":"2024-06-17T11:05:59.512Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GameManager.js":"2024-06-17T11:05:59.527Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js":"2024-06-17T11:05:59.530Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Storage/Storage.js":"2024-06-17T11:05:59.508Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/GameStart/GameAppStart.js":"2024-06-17T11:05:59.522Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Music/AudioManager.js":"2024-06-17T11:05:59.519Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/RankList/List.js":"2024-06-17T11:05:59.532Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Crypto/crypto-js.min.js":"2024-06-17T11:05:59.534Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Tool/GameTool.js":"2024-06-17T11:05:59.511Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/RankList/ItemRender.js":"2024-06-17T11:05:59.531Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Crypto/HttpUtil.js":"2024-06-17T11:05:59.524Z"}} +{"version":"1.0.8","stats":{"C:/Work/Project/Sun_moves/temp/quick-scripts/src/__qc_index__.js":"2024-06-21T08:29:10.345Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/DynamicAtlasManager.js":"2024-06-21T08:29:10.305Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js":"2024-06-21T08:29:10.309Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GuideManager.js":"2024-06-21T08:29:10.296Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Sun.js":"2024-06-21T08:29:10.301Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Load.js":"2024-06-21T08:29:10.297Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GameOver.js":"2024-06-21T08:29:10.310Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/RankManager.js":"2024-06-21T08:29:10.317Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GameManager.js":"2024-06-21T08:29:10.311Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Crypto/crypto-js.min.js":"2024-06-21T08:29:10.316Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/RankList/ItemRender.js":"2024-06-21T08:29:10.313Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Music/AudioManager.js":"2024-06-21T08:29:10.304Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Storage/Storage.js":"2024-06-21T08:29:10.295Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/GameStart/GameAppStart.js":"2024-06-21T08:29:10.306Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Notification/Notification.js":"2024-06-21T08:29:10.303Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Tool/GameTool.js":"2024-06-21T08:29:10.297Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js":"2024-06-21T08:29:10.312Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Crypto/HttpUtil.js":"2024-06-21T08:29:10.307Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/RankList/List.js":"2024-06-21T08:29:10.314Z"}} diff --git a/temp/quick-scripts/dst/__qc_bundle__.js b/temp/quick-scripts/dst/__qc_bundle__.js index 151011b..243d587 100644 --- a/temp/quick-scripts/dst/__qc_bundle__.js +++ b/temp/quick-scripts/dst/__qc_bundle__.js @@ -41,6 +41,91 @@ require('./assets/migration/use_v2.1-2.2.1_cc.Toggle_event'); })(); //------QC-SOURCE-SPLIT------ + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/DynamicAtlasManager.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '5c9b8FZiaNLMrMDs9T3rByf', 'DynamicAtlasManager'); +// Script/DynamicAtlasManager.js + +"use strict"; + +cc.Class({ + "extends": cc.Component, + properties: {}, + onLoad: function onLoad() { + cc.dynamicAtlasManager.enabled = false; + } +}); + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxEeW5hbWljQXRsYXNNYW5hZ2VyLmpzIl0sIm5hbWVzIjpbImNjIiwiQ2xhc3MiLCJDb21wb25lbnQiLCJwcm9wZXJ0aWVzIiwib25Mb2FkIiwiZHluYW1pY0F0bGFzTWFuYWdlciIsImVuYWJsZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUFBLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ0wsYUFBU0QsRUFBRSxDQUFDRSxTQURQO0FBR0xDLEVBQUFBLFVBQVUsRUFBRSxFQUhQO0FBTUxDLEVBQUFBLE1BTkssb0JBTUs7QUFDTkosSUFBQUEsRUFBRSxDQUFDSyxtQkFBSCxDQUF1QkMsT0FBdkIsR0FBaUMsS0FBakM7QUFDSDtBQVJJLENBQVQiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImNjLkNsYXNzKHtcclxuICAgIGV4dGVuZHM6IGNjLkNvbXBvbmVudCxcclxuXHJcbiAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICB9LFxyXG5cclxuICAgIG9uTG9hZCAoKSB7XHJcbiAgICAgICAgY2MuZHluYW1pY0F0bGFzTWFuYWdlci5lbmFibGVkID0gZmFsc2U7XHJcbiAgICB9LFxyXG59KTtcclxuIl19 +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '7a231Rz0d9LBYYgY3bDYlLB', 'use_v2.1-2.2.1_cc.Toggle_event'); +// migration/use_v2.1-2.2.1_cc.Toggle_event.js + +"use strict"; + +/* + * This script is automatically generated by Cocos Creator and is only used for projects compatible with the v2.1.0 ~ 2.2.1 version. + * You do not need to manually add this script in any other project. + * If you don't use cc.Toggle in your project, you can delete this script directly. + * If your project is hosted in VCS such as git, submit this script together. + * + * 此脚本由 Cocos Creator 自动生成,仅用于兼容 v2.1.0 ~ 2.2.1 版本的工程, + * 你无需在任何其它项目中手动添加此脚本。 + * 如果你的项目中没用到 Toggle,可直接删除该脚本。 + * 如果你的项目有托管于 git 等版本库,请将此脚本一并上传。 + */ +if (cc.Toggle) { + // Whether to trigger 'toggle' and 'checkEvents' events when modifying 'toggle.isChecked' in the code + // 在代码中修改 'toggle.isChecked' 时是否触发 'toggle' 与 'checkEvents' 事件 + cc.Toggle._triggerEventInScript_isChecked = true; +} + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcbWlncmF0aW9uXFx1c2VfdjIuMS0yLjIuMV9jYy5Ub2dnbGVfZXZlbnQuanMiXSwibmFtZXMiOlsiY2MiLCJUb2dnbGUiLCJfdHJpZ2dlckV2ZW50SW5TY3JpcHRfaXNDaGVja2VkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxJQUFJQSxFQUFFLENBQUNDLE1BQVAsRUFBZTtBQUNYO0FBQ0E7QUFDQUQsRUFBQUEsRUFBRSxDQUFDQyxNQUFILENBQVVDLCtCQUFWLEdBQTRDLElBQTVDO0FBQ0giLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFRoaXMgc2NyaXB0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IENvY29zIENyZWF0b3IgYW5kIGlzIG9ubHkgdXNlZCBmb3IgcHJvamVjdHMgY29tcGF0aWJsZSB3aXRoIHRoZSB2Mi4xLjAg772eIDIuMi4xIHZlcnNpb24uXHJcbiAqIFlvdSBkbyBub3QgbmVlZCB0byBtYW51YWxseSBhZGQgdGhpcyBzY3JpcHQgaW4gYW55IG90aGVyIHByb2plY3QuXHJcbiAqIElmIHlvdSBkb24ndCB1c2UgY2MuVG9nZ2xlIGluIHlvdXIgcHJvamVjdCwgeW91IGNhbiBkZWxldGUgdGhpcyBzY3JpcHQgZGlyZWN0bHkuXHJcbiAqIElmIHlvdXIgcHJvamVjdCBpcyBob3N0ZWQgaW4gVkNTIHN1Y2ggYXMgZ2l0LCBzdWJtaXQgdGhpcyBzY3JpcHQgdG9nZXRoZXIuXHJcbiAqXHJcbiAqIOatpOiEmuacrOeUsSBDb2NvcyBDcmVhdG9yIOiHquWKqOeUn+aIkO+8jOS7heeUqOS6juWFvOWuuSB2Mi4xLjAgfiAyLjIuMSDniYjmnKznmoTlt6XnqIvvvIxcclxuICog5L2g5peg6ZyA5Zyo5Lu75L2V5YW25a6D6aG555uu5Lit5omL5Yqo5re75Yqg5q2k6ISa5pys44CCXHJcbiAqIOWmguaenOS9oOeahOmhueebruS4reayoeeUqOWIsCBUb2dnbGXvvIzlj6/nm7TmjqXliKDpmaTor6XohJrmnKzjgIJcclxuICog5aaC5p6c5L2g55qE6aG555uu5pyJ5omY566h5LqOIGdpdCDnrYnniYjmnKzlupPvvIzor7flsIbmraTohJrmnKzkuIDlubbkuIrkvKDjgIJcclxuICovXHJcblxyXG5pZiAoY2MuVG9nZ2xlKSB7XHJcbiAgICAvLyBXaGV0aGVyIHRvIHRyaWdnZXIgJ3RvZ2dsZScgYW5kICdjaGVja0V2ZW50cycgZXZlbnRzIHdoZW4gbW9kaWZ5aW5nICd0b2dnbGUuaXNDaGVja2VkJyBpbiB0aGUgY29kZVxyXG4gICAgLy8g5Zyo5Luj56CB5Lit5L+u5pS5ICd0b2dnbGUuaXNDaGVja2VkJyDml7bmmK/lkKbop6blj5EgJ3RvZ2dsZScg5LiOICdjaGVja0V2ZW50cycg5LqL5Lu2XHJcbiAgICBjYy5Ub2dnbGUuX3RyaWdnZXJFdmVudEluU2NyaXB0X2lzQ2hlY2tlZCA9IHRydWU7XHJcbn1cclxuIl19 +//------QC-SOURCE-SPLIT------ + (function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; @@ -424,7 +509,7 @@ cc._RF.pop(); (function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js'; + var __filename = 'preview-scripts/assets/Script/Sun.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { @@ -432,27 +517,101 @@ cc._RF.pop(); }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '7a231Rz0d9LBYYgY3bDYlLB', 'use_v2.1-2.2.1_cc.Toggle_event'); -// migration/use_v2.1-2.2.1_cc.Toggle_event.js +cc._RF.push(module, '4be67sdkexCyqLl0NHd9N1f', 'Sun'); +// Script/Sun.ts "use strict"; - -/* - * This script is automatically generated by Cocos Creator and is only used for projects compatible with the v2.1.0 ~ 2.2.1 version. - * You do not need to manually add this script in any other project. - * If you don't use cc.Toggle in your project, you can delete this script directly. - * If your project is hosted in VCS such as git, submit this script together. - * - * 此脚本由 Cocos Creator 自动生成,仅用于兼容 v2.1.0 ~ 2.2.1 版本的工程, - * 你无需在任何其它项目中手动添加此脚本。 - * 如果你的项目中没用到 Toggle,可直接删除该脚本。 - * 如果你的项目有托管于 git 等版本库,请将此脚本一并上传。 - */ -if (cc.Toggle) { - // Whether to trigger 'toggle' and 'checkEvents' events when modifying 'toggle.isChecked' in the code - // 在代码中修改 'toggle.isChecked' 时是否触发 'toggle' 与 'checkEvents' 事件 - cc.Toggle._triggerEventInScript_isChecked = true; -} +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +var NewClass = /** @class */ (function (_super) { + __extends(NewClass, _super); + function NewClass() { + return _super !== null && _super.apply(this, arguments) || this; + } + // onLoad () {} + NewClass.prototype.start = function () { + }; + //初始化数据 + NewClass.prototype.init = function (_id, color, speed, repeat) { + this.touch = true; + this.move = false; + this.id_Number = _id; + this._color = color; + this._speed = speed; + this._repeat = repeat; + //太阳动画 + cc.tween(this.node.getChildByName("shan")) + .repeatForever(cc.tween() + .to(1, { opacity: 0, scale: 0.5, }) + .delay(0.2) + .to(1, { opacity: 255, scale: 1.2 }) + .delay(0.5)) + .start(); + }; + //用于作弊 测试 + NewClass.prototype.showNumber = function (type) { + this.node.getChildByName("number").active = type; + if (type == true) + this.node.getChildByName("number").getComponent(cc.Label).string = this.id_Number + ""; + }; + //点击事件 + NewClass.prototype.clickBtn = function (event, data) { + if (data === "1") { + if (this.move == false && this.touch == true) { + if (this.node.parent.parent.name == "GameNode") { + if (this.node.parent.parent.getComponent("GameManager").begin == true) { + cc.tween(this.node.getChildByName("action")) + .to(0.5, { opacity: 0, scale: 1.8 }) + .start(); + cc.tween(this.node) + .to(0.3, { scale: 1.3 }) + .to(0.3, { scale: 1 }) + .start(); + this.touch = false; + this.node.zIndex = -1; + cc.fx.Notifications.emit("clickSun", this.id_Number); + } + } + else { + this.touch = false; + this.node.zIndex = -1; + cc.fx.Notifications.emit("clickSun", this.id_Number); + } + } + } + else { + if (this.touch == true && this.node.parent.parent.getComponent("GuideManager").begin == true) { + this.touch = false; + this.node.zIndex = -1; + cc.fx.Notifications.emit("clickSun", this.id_Number); + } + } + }; + NewClass = __decorate([ + ccclass + ], NewClass); + return NewClass; +}(cc.Component)); +exports.default = NewClass; cc._RF.pop(); } @@ -465,7 +624,89 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcbWlncmF0aW9uXFx1c2VfdjIuMS0yLjIuMV9jYy5Ub2dnbGVfZXZlbnQuanMiXSwibmFtZXMiOlsiY2MiLCJUb2dnbGUiLCJfdHJpZ2dlckV2ZW50SW5TY3JpcHRfaXNDaGVja2VkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxJQUFJQSxFQUFFLENBQUNDLE1BQVAsRUFBZTtBQUNYO0FBQ0E7QUFDQUQsRUFBQUEsRUFBRSxDQUFDQyxNQUFILENBQVVDLCtCQUFWLEdBQTRDLElBQTVDO0FBQ0giLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFRoaXMgc2NyaXB0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IENvY29zIENyZWF0b3IgYW5kIGlzIG9ubHkgdXNlZCBmb3IgcHJvamVjdHMgY29tcGF0aWJsZSB3aXRoIHRoZSB2Mi4xLjAg772eIDIuMi4xIHZlcnNpb24uXHJcbiAqIFlvdSBkbyBub3QgbmVlZCB0byBtYW51YWxseSBhZGQgdGhpcyBzY3JpcHQgaW4gYW55IG90aGVyIHByb2plY3QuXHJcbiAqIElmIHlvdSBkb24ndCB1c2UgY2MuVG9nZ2xlIGluIHlvdXIgcHJvamVjdCwgeW91IGNhbiBkZWxldGUgdGhpcyBzY3JpcHQgZGlyZWN0bHkuXHJcbiAqIElmIHlvdXIgcHJvamVjdCBpcyBob3N0ZWQgaW4gVkNTIHN1Y2ggYXMgZ2l0LCBzdWJtaXQgdGhpcyBzY3JpcHQgdG9nZXRoZXIuXHJcbiAqXHJcbiAqIOatpOiEmuacrOeUsSBDb2NvcyBDcmVhdG9yIOiHquWKqOeUn+aIkO+8jOS7heeUqOS6juWFvOWuuSB2Mi4xLjAgfiAyLjIuMSDniYjmnKznmoTlt6XnqIvvvIxcclxuICog5L2g5peg6ZyA5Zyo5Lu75L2V5YW25a6D6aG555uu5Lit5omL5Yqo5re75Yqg5q2k6ISa5pys44CCXHJcbiAqIOWmguaenOS9oOeahOmhueebruS4reayoeeUqOWIsCBUb2dnbGXvvIzlj6/nm7TmjqXliKDpmaTor6XohJrmnKzjgIJcclxuICog5aaC5p6c5L2g55qE6aG555uu5pyJ5omY566h5LqOIGdpdCDnrYnniYjmnKzlupPvvIzor7flsIbmraTohJrmnKzkuIDlubbkuIrkvKDjgIJcclxuICovXHJcblxyXG5pZiAoY2MuVG9nZ2xlKSB7XHJcbiAgICAvLyBXaGV0aGVyIHRvIHRyaWdnZXIgJ3RvZ2dsZScgYW5kICdjaGVja0V2ZW50cycgZXZlbnRzIHdoZW4gbW9kaWZ5aW5nICd0b2dnbGUuaXNDaGVja2VkJyBpbiB0aGUgY29kZVxyXG4gICAgLy8g5Zyo5Luj56CB5Lit5L+u5pS5ICd0b2dnbGUuaXNDaGVja2VkJyDml7bmmK/lkKbop6blj5EgJ3RvZ2dsZScg5LiOICdjaGVja0V2ZW50cycg5LqL5Lu2XHJcbiAgICBjYy5Ub2dnbGUuX3RyaWdnZXJFdmVudEluU2NyaXB0X2lzQ2hlY2tlZCA9IHRydWU7XHJcbn1cclxuIl19 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,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NkJBQ2pCLEtBQUssRUFBRSxDQUFDO3dCQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO3dCQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQzt3QkFDdEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7cUJBQ3ZEO2lCQUNKO3FCQUNHO29CQUNBLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO29CQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDdEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQ3ZEO2FBRUo7U0FDSjthQUNHO1lBQ0EsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUM7Z0JBQ3pGLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2dCQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDdEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDdkQ7U0FDSjtJQUNMLENBQUM7SUFwRWdCLFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0FxRTVCO0lBQUQsZUFBQztDQXJFRCxBQXFFQyxDQXJFcUMsRUFBRSxDQUFDLFNBQVMsR0FxRWpEO2tCQXJFb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG4gICAgaWRfTnVtYmVyOm51bWJlclxyXG4gICAgX3NwZWVkOm51bWJlclxyXG4gICAgX2NvbG9yOm51bWJlclxyXG4gICAgdG91Y2g6Ym9vbGVhblxyXG4gICAgX3JlcGVhdDpib29sZWFuXHJcbiAgICBtb3ZlOmJvb2xlYW5cclxuICAgIC8vIG9uTG9hZCAoKSB7fVxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgfVxyXG4gICAgLy/liJ3lp4vljJbmlbDmja5cclxuICAgIGluaXQoX2lkLGNvbG9yLHNwZWVkLHJlcGVhdCl7XHJcbiAgICAgICAgdGhpcy50b3VjaCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5tb3ZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pZF9OdW1iZXIgID0gX2lkO1xyXG4gICAgICAgIHRoaXMuX2NvbG9yID0gY29sb3I7XHJcbiAgICAgICAgdGhpcy5fc3BlZWQgPSBzcGVlZDtcclxuICAgICAgICB0aGlzLl9yZXBlYXQgPSByZXBlYXQ7XHJcbiAgICAgICAgLy/lpKrpmLPliqjnlLtcclxuICAgICAgICBjYy50d2Vlbih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzaGFuXCIpKVxyXG4gICAgICAgIC5yZXBlYXRGb3JldmVyKFxyXG4gICAgICAgICAgICBjYy50d2VlbigpXHJcbiAgICAgICAgICAgIC50bygxLHtvcGFjaXR5OjAsc2NhbGU6MC41LH0pXHJcbiAgICAgICAgICAgIC5kZWxheSgwLjIpXHJcbiAgICAgICAgICAgIC50bygxLHtvcGFjaXR5OjI1NSxzY2FsZToxLjJ9KVxyXG4gICAgICAgICAgICAuZGVsYXkoMC41KVxyXG4gICAgICAgIClcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v55So5LqO5L2c5byKIOa1i+ivlVxyXG4gICAgc2hvd051bWJlcih0eXBlKXtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJudW1iZXJcIikuYWN0aXZlID0gdHlwZTtcclxuICAgICAgICBpZih0eXBlID09IHRydWUpXHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIm51bWJlclwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRoaXMuaWRfTnVtYmVyICsgXCJcIjtcclxuICAgIH1cclxuICAgIC8v54K55Ye75LqL5Lu2XHJcbiAgICBjbGlja0J0bihldmVudCxkYXRhKXtcclxuICAgICAgICBpZihkYXRhID09PSBcIjFcIil7XHJcbiAgICAgICAgICAgIGlmKCB0aGlzLm1vdmUgPT0gZmFsc2UgJiYgdGhpcy50b3VjaCA9PSB0cnVlKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMubm9kZS5wYXJlbnQucGFyZW50Lm5hbWUgPT0gXCJHYW1lTm9kZVwiKXtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm5vZGUucGFyZW50LnBhcmVudC5nZXRDb21wb25lbnQoXCJHYW1lTWFuYWdlclwiKS5iZWdpbiA9PSB0cnVlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYWN0aW9uXCIpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudG8oMC41LHtvcGFjaXR5OjAsc2NhbGU6MS44fSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMubm9kZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvKDAuMyx7c2NhbGU6MS4zfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvKDAuMyx7c2NhbGU6MX0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubm9kZS56SW5kZXggPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KFwiY2xpY2tTdW5cIix0aGlzLmlkX051bWJlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub2RlLnpJbmRleCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChcImNsaWNrU3VuXCIsdGhpcy5pZF9OdW1iZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgaWYoIHRoaXMudG91Y2ggPT0gdHJ1ZSAmJiB0aGlzLm5vZGUucGFyZW50LnBhcmVudC5nZXRDb21wb25lbnQoXCJHdWlkZU1hbmFnZXJcIikuYmVnaW4gPT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuekluZGV4ID0gLTE7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoXCJjbGlja1N1blwiLHRoaXMuaWRfTnVtYmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0= +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/Load.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '454adgphRpA6oq5lB6Cg1fK', 'Load'); +// Script/Load.ts + +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, requireComponent = _a.requireComponent; +var NewClass = /** @class */ (function (_super) { + __extends(NewClass, _super); + function NewClass() { + return _super !== null && _super.apply(this, arguments) || this; + } + NewClass.prototype.start = function () { + window.initMgr(); + cc.fx.GameConfig.init(); + // cc.fx.AudioManager._instance.init(); + }; + //开始游戏,跳转至引导页面 + NewClass.prototype.startGame = function () { + cc.director.loadScene("GuideScene"); + }; + //备用,用来测试跳转 指定关卡 + NewClass.prototype.clickBtn = function (event, data) { + cc.fx.GameConfig.GM_INFO.custom = parseInt(data); + cc.director.loadScene("GameScene"); + }; + //打开排行榜 + NewClass.prototype.openRank = function () { + cc.director.loadScene("RankScene"); + }; + NewClass.prototype.update = function (dt) { + }; + NewClass = __decorate([ + ccclass + ], NewClass); + return NewClass; +}(cc.Component)); +exports.default = NewClass; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxMb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNNLElBQUEsS0FBd0MsRUFBRSxDQUFDLFVBQVUsRUFBcEQsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFBLEVBQUUsZ0JBQWdCLHNCQUFpQixDQUFDO0FBRzVEO0lBQXNDLDRCQUFZO0lBQWxEOztJQXVCQSxDQUFDO0lBdEJHLHdCQUFLLEdBQUw7UUFDSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEIsdUNBQXVDO0lBQzNDLENBQUM7SUFFRCxjQUFjO0lBQ2QsNEJBQVMsR0FBVDtRQUNJLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxnQkFBZ0I7SUFDaEIsMkJBQVEsR0FBUixVQUFTLEtBQUssRUFBQyxJQUFJO1FBQ2YsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakQsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUNELE9BQU87SUFDUCwyQkFBUSxHQUFSO1FBQ0ksRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVTLHlCQUFNLEdBQWhCLFVBQWlCLEVBQVU7SUFDM0IsQ0FBQztJQXRCZ0IsUUFBUTtRQUQ1QixPQUFPO09BQ2EsUUFBUSxDQXVCNUI7SUFBRCxlQUFDO0NBdkJELEFBdUJDLENBdkJxQyxFQUFFLENBQUMsU0FBUyxHQXVCakQ7a0JBdkJvQixRQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eSwgcmVxdWlyZUNvbXBvbmVudH0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHdpbmRvdy5pbml0TWdyKCk7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5pbml0KCk7XHJcbiAgICAgICAgLy8gY2MuZnguQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZS5pbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy/lvIDlp4vmuLjmiI/vvIzot7Povazoh7PlvJXlr7zpobXpnaJcclxuICAgIHN0YXJ0R2FtZSgpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkd1aWRlU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+Wkh+eUqO+8jOeUqOadpea1i+ivlei3s+i9rCDmjIflrprlhbPljaFcclxuICAgIGNsaWNrQnRuKGV2ZW50LGRhdGEpe1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5jdXN0b20gPSBwYXJzZUludChkYXRhKTtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICB9ICAgXHJcbiAgICAvL+aJk+W8gOaOkuihjOamnFxyXG4gICAgb3BlblJhbmsoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJSYW5rU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHByb3RlY3RlZCB1cGRhdGUoZHQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgfVxyXG59XHJcbiJdfQ== //------QC-SOURCE-SPLIT------ (function() { @@ -634,127 +875,6 @@ cc._RF.pop(); } })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lT3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDTSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQTJGQztRQXpGRyxXQUFLLEdBQWEsSUFBSSxDQUFDO1FBRXZCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFFdEIsY0FBUSxHQUFZLElBQUksQ0FBQztRQUV6QixTQUFHLEdBQVksSUFBSSxDQUFDO1FBRXBCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFFcEIsV0FBSyxHQUFZLElBQUksQ0FBQztRQUV0QixVQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJCLFVBQUksR0FBWSxJQUFJLENBQUM7O0lBMkV6QixDQUFDO0lBeEVHLGVBQWU7SUFDZix3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDeEQsSUFBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLEVBQUUsRUFBQztZQUN2QyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFBO1NBQzVFO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7UUFDNUQsSUFBSSxDQUFDLElBQUks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Q29udGVudCI6WyJcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcbiAgICBAcHJvcGVydHkoY2MuTGFiZWwpXHJcbiAgICBjb3VudDogY2MuTGFiZWwgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxyXG4gICAgdGltZTogY2MuTGFiZWwgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBzZWxmTm9kZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIG9uZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIHR3bzogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIHRocmVlOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgZm91cjogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGZpdmU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgbGlzdERhdGE6IGFueTtcclxuICAgIHNlbGZEYXRhOiBhbnk7XHJcbiAgICAvLyBvbkxvYWQgKCkge31cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICB0aGlzLmNvdW50LnN0cmluZyA9IGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy50b3RhbCArIFwiXCI7XHJcbiAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1lYW5fVGltZSA+IDEwKXtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1lYW5fVGltZSA9IChwYXJzZUludChNYXRoLnJhbmRvbSgpKjEwK1wiXCIpKzUpLzEwXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudGltZS5zdHJpbmcgPSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWVhbl9UaW1lICsgXCJzXCI7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdCgpe1xyXG4gICAgICAgIHRoaXMubGlzdERhdGEgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGZEYXRhID0gbnVsbDtcclxuICAgICAgICB0aGlzLm9uZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnR3by5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRocmVlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZm91ci5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZpdmUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5nZXRSYW5rKCk7XHJcbiAgICB9XHJcbiAgICAvL+aJk+W8gOaOkuihjOamnFxyXG4gICAgb3BlblJhbmsoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJSYW5rU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+mHjeaWsOW8gOWni+eOqVxyXG4gICAgYWdhaW4oKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluaOkuihjOamnFxyXG4gICAgZ2V0UmFuaygpe1xyXG4gICAgICAgIC8v6I635Y+W5o6S6KGM5qac5pWw5o2uICDmiYDpnIDmlbDmja7ph49cclxuICAgICAgICBsZXQgZGF0YUZpbGUgPSB7XHJcbiAgICAgICAgICAgIGxlbmd0aDo1XHJcbiAgICAgICAgfVxyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rKGRhdGFGaWxlLGRhdGEgPT50aGlzLmdldFJhbmtEYXRhKGRhdGEpKTtcclxuICAgIH1cclxuICAgIC8v6K6+572u5o6S6KGM5L+h5oGvXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhKXtcclxuICAgICAgICBpZihkYXRhKXtcclxuICAgICAgICAgICAgIGNjLmZ4LkdhbWVUb29sLmdldFJhbmtEYXRhKGRhdGEsdGhpcyw0KTtcclxuICAgICAgICAgICAgIGNjLmZ4LkdhbWVUb29sLnNldFBpYyh0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKSx0aGlzLnNlbGZEYXRhLnBpYyk7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT0wO2k8PTQ7aSsrKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0UmFuayhpLHRoaXMubGlzdERhdGFbaV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/moLnmja7lhoXlrrnloavlhYXmjpLooYzmppxcclxuICAgIHNldFJhbmsobnVtLGRhdGEpe1xyXG4gICAgICAgIHZhciBoaXROb2RlID0gbnVsbDtcclxuICAgICAgICBpZihudW0gPT0gMCl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gMSl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLnR3bztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gMil7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLnRocmVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSAzKXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMuZm91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gNCl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLmZpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGhpdE5vZGUpe1xyXG4gICAgICAgICAgICBoaXROb2RlLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5zdWJOYW1lKGRhdGEubmlja05hbWUsNCk7XHJcbiAgICAgICAgICAgIGhpdE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJuYW1lXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gZGF0YS5uaWNrTmFtZTtcclxuICAgICAgICAgICAgaGl0Tm9kZS5nZXRDaGlsZEJ5TmFtZShcInRvdGFsXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gZGF0YS50b3RhbFN1bkNvdW50O1xyXG4gICAgICAgICAgICAgY2MuZnguR2FtZVRvb2wuc2V0UGljKGhpdE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLGRhdGEucGljKTtcclxuICAgICAgICB9XHJcbiAgICB9ICAgXHJcbn1cclxuIl19 -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/Sun.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '4be67sdkexCyqLl0NHd9N1f', 'Sun'); -// Script/Sun.ts - -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var NewClass = /** @class */ (function (_super) { - __extends(NewClass, _super); - function NewClass() { - return _super !== null && _super.apply(this, arguments) || this; - } - // onLoad () {} - NewClass.prototype.start = function () { - }; - //初始化数据 - NewClass.prototype.init = function (_id, color, speed, repeat) { - this.touch = true; - this.move = false; - this.id_Number = _id; - this._color = color; - this._speed = speed; - this._repeat = repeat; - //太阳动画 - cc.tween(this.node.getChildByName("shan")) - .repeatForever(cc.tween() - .to(1, { opacity: 0, scale: 0.5, }) - .delay(0.2) - .to(1, { opacity: 255, scale: 1.2 }) - .delay(0.5)) - .start(); - }; - //用于作弊 测试 - NewClass.prototype.showNumber = function (type) { - this.node.getChildByName("number").active = type; - if (type == true) - this.node.getChildByName("number").getComponent(cc.Label).string = this.id_Number + ""; - }; - //点击事件 - NewClass.prototype.clickBtn = function (event, data) { - if (data === "1") { - if (this.move == false && this.touch == true) { - if (this.node.parent.parent.name == "GameNode") { - if (this.node.parent.parent.getComponent("GameManager").begin == true) { - cc.tween(this.node.getChildByName("action")) - .to(0.5, { opacity: 0, scale: 1.8 }) - .start(); - cc.tween(this.node) - .to(0.3, { scale: 1.3 }) - .to(0.3, { scale: 1 }) - .start(); - this.touch = false; - this.node.zIndex = -1; - cc.fx.Notifications.emit("clickSun", this.id_Number); - } - } - else { - this.touch = false; - this.node.zIndex = -1; - cc.fx.Notifications.emit("clickSun", this.id_Number); - } - } - } - else { - if (this.touch == true && this.node.parent.parent.getComponent("GuideManager").begin == true) { - this.touch = false; - this.node.zIndex = -1; - cc.fx.Notifications.emit("clickSun", this.id_Number); - } - } - }; - NewClass = __decorate([ - ccclass - ], NewClass); - return NewClass; -}(cc.Component)); -exports.default = NewClass; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,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NkJBQ2pCLEtBQUssRUFBRSxDQUFDO3dCQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO3dCQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQzt3QkFDdEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7cUJBQ3ZEO2lCQUNKO3FCQUNHO29CQUNBLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO29CQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDdEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQ3ZEO2FBRUo7U0FDSjthQUNHO1lBQ0EsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUM7Z0JBQ3pGLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2dCQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDdEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDdkQ7U0FDSjtJQUNMLENBQUM7SUFwRWdCLFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0FxRTVCO0lBQUQsZUFBQztDQXJFRCxBQXFFQyxDQXJFcUMsRUFBRSxDQUFDLFNBQVMsR0FxRWpEO2tCQXJFb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG4gICAgaWRfTnVtYmVyOm51bWJlclxyXG4gICAgX3NwZWVkOm51bWJlclxyXG4gICAgX2NvbG9yOm51bWJlclxyXG4gICAgdG91Y2g6Ym9vbGVhblxyXG4gICAgX3JlcGVhdDpib29sZWFuXHJcbiAgICBtb3ZlOmJvb2xlYW5cclxuICAgIC8vIG9uTG9hZCAoKSB7fVxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgfVxyXG4gICAgLy/liJ3lp4vljJbmlbDmja5cclxuICAgIGluaXQoX2lkLGNvbG9yLHNwZWVkLHJlcGVhdCl7XHJcbiAgICAgICAgdGhpcy50b3VjaCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5tb3ZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pZF9OdW1iZXIgID0gX2lkO1xyXG4gICAgICAgIHRoaXMuX2NvbG9yID0gY29sb3I7XHJcbiAgICAgICAgdGhpcy5fc3BlZWQgPSBzcGVlZDtcclxuICAgICAgICB0aGlzLl9yZXBlYXQgPSByZXBlYXQ7XHJcbiAgICAgICAgLy/lpKrpmLPliqjnlLtcclxuICAgICAgICBjYy50d2Vlbih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzaGFuXCIpKVxyXG4gICAgICAgIC5yZXBlYXRGb3JldmVyKFxyXG4gICAgICAgICAgICBjYy50d2VlbigpXHJcbiAgICAgICAgICAgIC50bygxLHtvcGFjaXR5OjAsc2NhbGU6MC41LH0pXHJcbiAgICAgICAgICAgIC5kZWxheSgwLjIpXHJcbiAgICAgICAgICAgIC50bygxLHtvcGFjaXR5OjI1NSxzY2FsZToxLjJ9KVxyXG4gICAgICAgICAgICAuZGVsYXkoMC41KVxyXG4gICAgICAgIClcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v55So5LqO5L2c5byKIOa1i+ivlVxyXG4gICAgc2hvd051bWJlcih0eXBlKXtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJudW1iZXJcIikuYWN0aXZlID0gdHlwZTtcclxuICAgICAgICBpZih0eXBlID09IHRydWUpXHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIm51bWJlclwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRoaXMuaWRfTnVtYmVyICsgXCJcIjtcclxuICAgIH1cclxuICAgIC8v54K55Ye75LqL5Lu2XHJcbiAgICBjbGlja0J0bihldmVudCxkYXRhKXtcclxuICAgICAgICBpZihkYXRhID09PSBcIjFcIil7XHJcbiAgICAgICAgICAgIGlmKCB0aGlzLm1vdmUgPT0gZmFsc2UgJiYgdGhpcy50b3VjaCA9PSB0cnVlKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMubm9kZS5wYXJlbnQucGFyZW50Lm5hbWUgPT0gXCJHYW1lTm9kZVwiKXtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm5vZGUucGFyZW50LnBhcmVudC5nZXRDb21wb25lbnQoXCJHYW1lTWFuYWdlclwiKS5iZWdpbiA9PSB0cnVlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYWN0aW9uXCIpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudG8oMC41LHtvcGFjaXR5OjAsc2NhbGU6MS44fSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMubm9kZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvKDAuMyx7c2NhbGU6MS4zfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvKDAuMyx7c2NhbGU6MX0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubm9kZS56SW5kZXggPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KFwiY2xpY2tTdW5cIix0aGlzLmlkX051bWJlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub2RlLnpJbmRleCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChcImNsaWNrU3VuXCIsdGhpcy5pZF9OdW1iZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgaWYoIHRoaXMudG91Y2ggPT0gdHJ1ZSAmJiB0aGlzLm5vZGUucGFyZW50LnBhcmVudC5nZXRDb21wb25lbnQoXCJHdWlkZU1hbmFnZXJcIikuYmVnaW4gPT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuekluZGV4ID0gLTE7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoXCJjbGlja1N1blwiLHRoaXMuaWRfTnVtYmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0= //------QC-SOURCE-SPLIT------ (function() { @@ -945,201 +1065,6 @@ cc._RF.pop(); } })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxSYW5rTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwrQ0FBMEM7QUFDcEMsSUFBQSxLQUF3QixFQUFFLENBQUMsVUFBVSxFQUFuQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWtCLENBQUM7QUFDNUMsS0FBSztBQUVMO0lBQXlDLCtCQUFZO0lBQXJEO1FBQUEscUVBK0hDO1FBN0hHLFlBQU0sR0FBWSxJQUFJLENBQUM7UUFFdkIsY0FBUSxHQUFZLElBQUksQ0FBQztRQUV6QixXQUFLLEdBQWMsSUFBSSxDQUFDOztJQXlINUIsQ0FBQztJQWpIRyw0QkFBTSxHQUFOO1FBQ0ksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPO0lBQ1AsMEJBQUksR0FBSjtRQUNJLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxjQUFJLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2xELElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUUsR0FBRyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsMkJBQUssR0FBTDtRQUNJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJ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QUcsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUMzQyxVQUFVLENBQUM7b0JBQ1AsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN4QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDWDtpQkFDRztnQkFDQSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztnQkFDeEUsVUFBVSxDQUFDO29CQUNQLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDeEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQ1g7UUFFTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUEzSEQ7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFVLFFBQVE7K0NBQ2I7SUFFdkI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFVLFdBQVc7aURBQ2Q7SUFFekI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFRLFFBQVE7OENBQ1o7SUFOUCxXQUFXO1FBRC9CLE9BQU87T0FDYSxXQUFXLENBK0gvQjtJQUFELGtCQUFDO0NBL0hELEFBK0hDLENBL0h3QyxFQUFFLENBQUMsU0FBUyxHQStIcEQ7a0JBL0hvQixXQUFXIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCBMaXN0IGZyb20gXCIuL21vZHVsZS9SYW5rTGlzdC9MaXN0XCI7XHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbi8v5o6S6KGM5qacXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJhbmtNYW5hZ2VyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKSAgICAgICAgICAvL+eUqOaIt+S4iuaWueWktOWDj1xyXG4gICAgUGxheWVyOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKSAgICAgICAgICAvL+eUqOaIt+acgOS4i+aWueS4quS6uuS/oeaBr1xyXG4gICAgc2VsZk5vZGU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlNwcml0ZSkgICAgICAgIC8v55So5oi35aS05YOP5o2i5Zu+XHJcbiAgICBwaG9uZTogY2MuU3ByaXRlID0gbnVsbDtcclxuICAgIHByaXZhdGUgcmFua0xpc3Q6IExpc3Q7ICAgICAvL+aOkuihjOamnFxyXG4gICAgdHdlZW46IGNjLlR3ZWVuPGNjLk5vZGU+OyAgIC8v5pyA5LiK5pa555So5oi35aS05YOP5Yqo55S7XHJcbiAgICBsaXN0RGF0YTogYW55OyAgICAgICAgICAgICAgLy/mgLvliJfooajkv6Hmga9cclxuICAgIHNlbGZEYXRhOiBhbnk7ICAgICAgICAgICAgICAvL+iHquW3seS/oeaBr1xyXG4gICAgcmFua051bWJlcjogbnVtYmVyOyAgICAgICAgIC8v55So5oi36Ieq5bex5o6S5ZCNIOacieWPr+iDveS4jeWcqOaOkuihjOamnOWGhTk5K1xyXG4gICAgcmFua1RvdGFsOiBudW1iZXI7ICAgICAgICAgIC8v6I635Y+W5o6S6KGM5qac55So5oi35pWw6YePIOeOsOWcqOS4ujEwMFxyXG5cclxuICAgIG9uTG9hZCgpIHtcclxuICAgICAgICB0aGlzLmluaXQoKTtcclxuICAgIH1cclxuICAgIC8v5Yid5aeL5YyW5pWw5o2uXHJcbiAgICBpbml0KCl7XHJcbiAgICAgICAgdGhpcy5yYW5rTGlzdCA9IGNjLmZpbmQoXCJTY3JvbGxWaWV3XCIsIHRoaXMubm9kZSkuZ2V0Q29tcG9uZW50KExpc3QpO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmxpc3REYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5zZWxmRGF0YSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5yYW5rTnVtYmVyID0gMTAwO1xyXG4gICAgICAgIHRoaXMucmFua1RvdGFsPSAxMDA7XHJcbiAgICAgICAgdGhpcy5zZWxmTm9kZS5vcGFjaXR5ID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydCgpIHtcclxuICAgICAgICB0aGlzLlBsYXllci5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmdldFJhbmsoKTtcclxuICAgIH1cclxuICAgIC8v6LCD55So6I635Y+W5o6S6KGM5qac5o6l5Y+jXHJcbiAgICBnZXRSYW5rKCl7XHJcbiAgICAgICAgbGV0IGRhdGFGaWxlID0ge1xyXG4gICAgICAgICAgICBsZW5ndGg6MTAwXHJcbiAgICAgICAgfVxyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rKGRhdGFGaWxlLGRhdGEgPT50aGlzLmdldFJhbmtEYXRhKGRhdGEpKTtcclxuICAgIH1cclxuICAgIC8v5a6e6ZmF6K6+572u5o6S6KGM5pWw5o2uXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhKXtcclxuICAgICAgICBpZihkYXRhKXtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rRGF0YShkYXRhLHRoaXMsNik7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0UGljKHRoaXMuc2VsZkRhdGEucGljKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+i/lOWbnuaMiemSrlxyXG4gICAgYmFja0NsaWNrKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiTG9hZFNjZW5lXCIpO1xyXG4gICAgfVxyXG4gICAgLy/mnIDkuIrmlrnnlKjmiLfliqjnlLtcclxuICAgIHBsYXllckFjdGlvbigpe1xyXG4gICAgICAgIC8vLTI1NCAzNzcgIDIxMCA0NTNcclxuICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgbGV0IHRpbWUgPSAxO1xyXG4gICAgICAgIHRoaXMudHdlZW4gPSBjYy50d2Vlbih0aGlzLlBsYXllcilcclxuICAgICAgICAudG8oMix7cG9zaXRpb246Y2MudjMoMjEwLDQ1MywwKX0pXHJcbiAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJudW1iZXJcIilcclxuICAgICAgICAgICAgLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gIHBhcnNlSW50KHRpbWUqMTAwICsgXCJcIikgKyBcIiVcIjtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIHRpbWUgPSAodGhpcy5saXN0RGF0YS5sZW5ndGggLSB0aGlzLnJhbmtOdW1iZXIpL3RoaXMubGlzdERhdGEubGVuZ3RoO1xyXG4gICAgICAgIGlmKHRoaXMubGlzdERhdGEubGVuZ3RoID49IDk5KXtcclxuICAgICAgICAgICAgaWYodGhpcy5yYW5rTnVtYmVyID49IDk5KXtcclxuICAgICAgICAgICAgICAgIHRpbWUgPSAoTWF0aC5yYW5kb20oKSo0OSsxKS8xMDBcclxuICAgICAgICAgICAgICAgIHZhciBtYXRjaElkID0gY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibWF0Y2hOdW1iZXJcIik7XHJcbiAgICAgICAgICAgICAgICBpZihtYXRjaElkID09IG51bGwgfHwgbWF0Y2hJZCA9PSB1bmRlZmluZWQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRpbWUgPSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0aGlzLnR3ZWVuKXRoaXMudHdlZW4uc3RvcCgpO1xyXG4gICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwibnVtYmVyXCIpXHJcbiAgICAgICAgICAgIC5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9ICBwYXJzZUludCh0aW1lKjEwMCArIFwiXCIpICsgXCIlXCI7XHJcbiAgICAgICAgfSwgdGltZSoyMDAwKTtcclxuXHJcbiAgICB9XHJcbiAgICAvL+iuvue9ruWktOWDjyAg5aSE55CG55qE6YC76L6R5q+U6L6D5aSa77yM5LiN55So5YWs5YWx57G755qE5LqGXHJcbiAgICBwdWJsaWMgc2V0UGljKHBpYyl7XHJcbiAgICAgICAgdGhpcy5waG9uZS5ub2RlLnBhcmVudC5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5waG9uZS5ub2RlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5QbGF5ZXIub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaG9uZVwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICBmZXRjaChwaWMpXHJcbiAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ0NvbnRlbnQtTGVuZ3RoJyk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAudGhlbihlcnJObyA9PiB7XHJcbiAgICAgICAgICAgIGlmKGVyck5vID09IFwiNTA5M1wiKXtcclxuICAgICAgICAgICAgICAgIHRoaXMucGhvbmUubm9kZS5wYXJlbnQuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIFgtSW5mbzonLCBlcnJvcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIGNjLmFzc2V0TWFuYWdlci5sb2FkUmVtb3RlKHBpYywge2V4dDonLnBuZyd9LChlcnIsIHRleHR1cmU6Y2MuVGV4dHVyZTJEKSA9PiB7XHJcbiAgICAgICAgICAgIHNlbGYuUGxheWVyLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgIGlmKHRleHR1cmUpe1xyXG4gICAgICAgICAgICAgICAgc2VsZi5waG9uZS5ub2RlLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBzZWxmLnBob25lLnNwcml0ZUZyYW1lID0gbmV3IGNjLlNwcml0ZUZyYW1lKHRleHR1cmUpO1xyXG4gICAgICAgICAgICAgICAgc2VsZi5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHNlbGYuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcInBob25lXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBzZWxmLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaG9uZVwiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKVxyXG4gICAgICAgICAgICAgICAgLnNwcml0ZUZyYW1lID0gbmV3IGNjLlNwcml0ZUZyYW1lKHRleHR1cmUpO1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5wbGF5ZXJBY3Rpb24oKTtcclxuICAgICAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHNlbGYuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHNlbGYucGxheWVyQWN0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ== -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/DynamicAtlasManager.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '5c9b8FZiaNLMrMDs9T3rByf', 'DynamicAtlasManager'); -// Script/DynamicAtlasManager.js - -"use strict"; - -cc.Class({ - "extends": cc.Component, - properties: {}, - onLoad: function onLoad() { - cc.dynamicAtlasManager.enabled = false; - } -}); - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxEeW5hbWljQXRsYXNNYW5hZ2VyLmpzIl0sIm5hbWVzIjpbImNjIiwiQ2xhc3MiLCJDb21wb25lbnQiLCJwcm9wZXJ0aWVzIiwib25Mb2FkIiwiZHluYW1pY0F0bGFzTWFuYWdlciIsImVuYWJsZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUFBLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ0wsYUFBU0QsRUFBRSxDQUFDRSxTQURQO0FBR0xDLEVBQUFBLFVBQVUsRUFBRSxFQUhQO0FBTUxDLEVBQUFBLE1BTkssb0JBTUs7QUFDTkosSUFBQUEsRUFBRSxDQUFDSyxtQkFBSCxDQUF1QkMsT0FBdkIsR0FBaUMsS0FBakM7QUFDSDtBQVJJLENBQVQiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImNjLkNsYXNzKHtcclxuICAgIGV4dGVuZHM6IGNjLkNvbXBvbmVudCxcclxuXHJcbiAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICB9LFxyXG5cclxuICAgIG9uTG9hZCAoKSB7XHJcbiAgICAgICAgY2MuZHluYW1pY0F0bGFzTWFuYWdlci5lbmFibGVkID0gZmFsc2U7XHJcbiAgICB9LFxyXG59KTtcclxuIl19 -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/module/Notification/Notification.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '55403VjGlpPL564gsdiZBg3', 'Notification'); -// Script/module/Notification/Notification.ts - -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Notifications = void 0; -//全局通知 -var Notifications = { - _eventMap: [], - on: function (masgId, callback, target) { - if (this._eventMap[masgId] === undefined) { - this._eventMap[masgId] = []; - } - this._eventMap[masgId].push({ callback: callback, target: target }); - }, - emit: function (masgId, parameter) { - var array = this._eventMap[masgId]; - if (array === undefined) - return; - for (var i = 0; i < array.length; i++) { - var element = array[i]; - if (element) - element.callback.call(element.target, parameter); - } - }, - off: function (masgId, callback) { - var array = this._eventMap[masgId]; - if (array === undefined) - return; - for (var i = 0; i < array.length; i++) { - var element = array[i]; - if (element && element.callback === callback) { - array[i] = undefined; - break; - } - } - }, - offMasgId: function (masgId) { - this._eventMap[masgId] = undefined; - }, - removeAllMsg: function () { - for (var k in this._eventMap) { - if (this._eventMap[k]) { - this.offMasgId(k); - } - } - } -}; -exports.Notifications = Notifications; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXE5vdGlmaWNhdGlvblxcTm90aWZpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE1BQU07QUFDTixJQUFJLGFBQWEsR0FBRztJQUNoQixTQUFTLEVBQUUsRUFBRTtJQUNiLEVBQUUsRUFBRSxVQUFVLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTTtRQUNsQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQy9CO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxJQUFJLEVBQUUsVUFBVSxNQUFNLEVBQUUsU0FBUztRQUM3QixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLElBQUksS0FBSyxLQUFLLFNBQVM7WUFBRSxPQUFPO1FBRWhDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixJQUFJLE9BQU87Z0JBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztTQUNqRTtJQUNMLENBQUM7SUFFRCxHQUFHLEVBQUUsVUFBVSxNQUFNLEVBQUUsUUFBUTtRQUMzQixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLElBQUksS0FBSyxLQUFLLFNBQVM7WUFBRSxPQUFPO1FBQ2hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRTtnQkFDMUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztnQkFDckIsTUFBTTthQUNUO1NBQ0o7SUFDTCxDQUFDO0lBRUQsU0FBUyxFQUFFLFVBQVUsTUFBTTtRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsWUFBWSxFQUFFO1FBQ1YsS0FBSyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzFCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNyQjtTQUNKO0lBQ0wsQ0FBQztDQUNKLENBQUM7QUFDTyxzQ0FBYSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8v5YWo5bGA6YCa55+lXG52YXIgTm90aWZpY2F0aW9ucyA9IHtcbiAgICBfZXZlbnRNYXA6IFtdLFxuICAgIG9uOiBmdW5jdGlvbiAobWFzZ0lkLCBjYWxsYmFjaywgdGFyZ2V0KSB7XG4gICAgICAgIGlmICh0aGlzLl9ldmVudE1hcFttYXNnSWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2V2ZW50TWFwW21hc2dJZF0gPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9ldmVudE1hcFttYXNnSWRdLnB1c2goeyBjYWxsYmFjazogY2FsbGJhY2ssIHRhcmdldDogdGFyZ2V0IH0pO1xuICAgIH0sXG5cbiAgICBlbWl0OiBmdW5jdGlvbiAobWFzZ0lkLCBwYXJhbWV0ZXIpIHtcbiAgICAgICAgbGV0IGFycmF5ID0gdGhpcy5fZXZlbnRNYXBbbWFzZ0lkXTtcbiAgICAgICAgaWYgKGFycmF5ID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgZWxlbWVudCA9IGFycmF5W2ldO1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQpIGVsZW1lbnQuY2FsbGJhY2suY2FsbChlbGVtZW50LnRhcmdldCwgcGFyYW1ldGVyKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBvZmY6IGZ1bmN0aW9uIChtYXNnSWQsIGNhbGxiYWNrKSB7XG4gICAgICAgIGxldCBhcnJheSA9IHRoaXMuX2V2ZW50TWFwW21hc2dJZF07XG4gICAgICAgIGlmIChhcnJheSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGxldCBlbGVtZW50ID0gYXJyYXlbaV07XG4gICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LmNhbGxiYWNrID09PSBjYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIGFycmF5W2ldID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcblxuICAgIG9mZk1hc2dJZDogZnVuY3Rpb24gKG1hc2dJZCkge1xuICAgICAgICB0aGlzLl9ldmVudE1hcFttYXNnSWRdID0gdW5kZWZpbmVkO1xuICAgIH0sXG5cbiAgICByZW1vdmVBbGxNc2c6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZm9yIChsZXQgayBpbiB0aGlzLl9ldmVudE1hcCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2V2ZW50TWFwW2tdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vZmZNYXNnSWQoayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuZXhwb3J0IHsgTm90aWZpY2F0aW9ucyB9OyJdfQ== -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/Load.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '454adgphRpA6oq5lB6Cg1fK', 'Load'); -// Script/Load.ts - -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, requireComponent = _a.requireComponent; -var NewClass = /** @class */ (function (_super) { - __extends(NewClass, _super); - function NewClass() { - return _super !== null && _super.apply(this, arguments) || this; - } - NewClass.prototype.start = function () { - window.initMgr(); - cc.fx.GameConfig.init(); - // cc.fx.AudioManager._instance.init(); - }; - //开始游戏,跳转至引导页面 - NewClass.prototype.startGame = function () { - cc.director.loadScene("GuideScene"); - }; - //备用,用来测试跳转 指定关卡 - NewClass.prototype.clickBtn = function (event, data) { - cc.fx.GameConfig.GM_INFO.custom = parseInt(data); - cc.director.loadScene("GameScene"); - }; - //打开排行榜 - NewClass.prototype.openRank = function () { - cc.director.loadScene("RankScene"); - }; - NewClass.prototype.update = function (dt) { - }; - NewClass = __decorate([ - ccclass - ], NewClass); - return NewClass; -}(cc.Component)); -exports.default = NewClass; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxMb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNNLElBQUEsS0FBd0MsRUFBRSxDQUFDLFVBQVUsRUFBcEQsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFBLEVBQUUsZ0JBQWdCLHNCQUFpQixDQUFDO0FBRzVEO0lBQXNDLDRCQUFZO0lBQWxEOztJQXVCQSxDQUFDO0lBdEJHLHdCQUFLLEdBQUw7UUFDSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEIsdUNBQXVDO0lBQzNDLENBQUM7SUFFRCxjQUFjO0lBQ2QsNEJBQVMsR0FBVDtRQUNJLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxnQkFBZ0I7SUFDaEIsMkJBQVEsR0FBUixVQUFTLEtBQUssRUFBQyxJQUFJO1FBQ2YsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakQsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUNELE9BQU87SUFDUCwyQkFBUSxHQUFSO1FBQ0ksRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVTLHlCQUFNLEdBQWhCLFVBQWlCLEVBQVU7SUFDM0IsQ0FBQztJQXRCZ0IsUUFBUTtRQUQ1QixPQUFPO09BQ2EsUUFBUSxDQXVCNUI7SUFBRCxlQUFDO0NBdkJELEFBdUJDLENBdkJxQyxFQUFFLENBQUMsU0FBUyxHQXVCakQ7a0JBdkJvQixRQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eSwgcmVxdWlyZUNvbXBvbmVudH0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHdpbmRvdy5pbml0TWdyKCk7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5pbml0KCk7XHJcbiAgICAgICAgLy8gY2MuZnguQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZS5pbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy/lvIDlp4vmuLjmiI/vvIzot7Povazoh7PlvJXlr7zpobXpnaJcclxuICAgIHN0YXJ0R2FtZSgpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkd1aWRlU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+Wkh+eUqO+8jOeUqOadpea1i+ivlei3s+i9rCDmjIflrprlhbPljaFcclxuICAgIGNsaWNrQnRuKGV2ZW50LGRhdGEpe1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5jdXN0b20gPSBwYXJzZUludChkYXRhKTtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICB9ICAgXHJcbiAgICAvL+aJk+W8gOaOkuihjOamnFxyXG4gICAgb3BlblJhbmsoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJSYW5rU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHByb3RlY3RlZCB1cGRhdGUoZHQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgfVxyXG59XHJcbiJdfQ== //------QC-SOURCE-SPLIT------ (function() { @@ -2169,1473 +2094,6 @@ cc._RF.pop(); } })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxTQUFTO0FBQ0gsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFFMUM7SUFBeUMsK0JBQVk7SUFBckQ7UUFBQSxxRUE0NUJDO1FBMTVCRyxVQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJCLFVBQUksR0FBYyxJQUFJLENBQUM7UUFFdkIsVUFBSSxHQUFjLElBQUksQ0FBQztRQUV2QixVQUFJLEdBQWMsSUFBSSxDQUFDO1FBRXZCLGdCQUFVLEdBQWMsSUFBSSxDQUFDO1FBRTdCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFDcEIsU0FBRyxHQUFZLElBQUksQ0FBQztRQUNwQixTQUFHLEdBQVksSUFBSSxDQUFDO1FBQ3BCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFDdEIsV0FBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixXQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLFVBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIsVUFBSSxHQUFZLEtBQUssQ0FBQztRQW9CdEIsZ0JBQVUsR0FBYSxJQUFJLENBQUM7O0lBcTNCaEMsQ0FBQztJQTkyQkcsNEJBQU0sR0FBTixjQUFXLENBQUM7SUFDWiwyQkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPO0lBQ1AsMEJBQUksR0FBSjtRQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNw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LENBQUM7WUFDTCxJQUFJLEdBQUcsT0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDMUMsVUFBVSxDQUFDO2dCQUNQLElBQUcsS0FBSSxDQUFDLElBQUksSUFBSSxLQUFLLEVBQUM7b0JBQ2xCLElBQUksSUFBSSxHQUFHLEtBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO29CQUN2QyxJQUFHLElBQUksR0FBRyxHQUFHO3dCQUFFLElBQUksR0FBRyxHQUFHLENBQUM7b0JBQzFCLElBQUcsQ0FBQyxJQUFJLENBQUMsRUFBQzt3QkFDTixJQUFHLEtBQUksQ0FBQyxJQUFJLElBQUksS0FBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBQzs0QkFDOUIsS0FBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxLQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUM3RixLQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxJQUFJLENBQUMsQ0FBQzt5QkFDaEM7cUJBQ0o7b0JBRUQsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDO3lCQUNsQixFQUFFLENBQUMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsSUFBSSxFQUFDLEVBQUMsQ0FBQyxFQUFDLEtBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxLQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO3lCQUM3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QUFDO1lBQUUsVUFBVSxHQUFHLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsUUFBUTtRQUNSLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsR0FBQyxTQUFTLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO1lBQ2hDLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLEdBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakksSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFDLFNBQVMsQ0FBQztZQUMvRyxJQUFJLEdBQUcsRUFBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBQyxTQUFTLENBQUMsU0FBUyxFQUFDLE1B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QUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2hFO0lBQ0wsQ0FBQztJQUNELDhCQUFRLEdBQVI7UUFDSSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUNELCtCQUFTLEdBQVQ7UUFDSSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsNEJBQU0sR0FBTixVQUFRLEVBQUU7SUFDVixDQUFDO0lBejVCRDtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzZDQUNHO0lBRXJCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7NkNBQ0c7SUFFdkI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQzs2Q0FDRztJQUV2QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDOzZDQUNHO0lBRXZCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7bURBQ1M7SUFFN0I7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzs0Q0FDRTtJQTJCcEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQzttREFDUztJQXZDWCxXQUFXO1FBRC9CLE9BQU87T0FDYSxXQUFXLENBNDVCL0I7SUFBRCxrQkFBQztDQTU1QkQsQUE0NUJDLENBNTVCd0MsRUFBRSxDQUFDLFNBQVMsR0E0NUJwRDtrQkE1NUJvQixXQUFXIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8g5Li75ri45oiP5o6n5Yi257G7XHJcbmNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBHYW1lTWFuYWdlciBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGJhbGw6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHFpdTE6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgcWl1MjogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICBxaXUzOiBjYy5QcmVmYWIgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIGxpbmVQcmVmYWI6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGhpdDogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBiZzE6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgYmcyOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIHRpbWU6IGNjLkxhYmVsID0gbnVsbDtcclxuICAgIGJlZ2luOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBmdWh1bzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgb3ZlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgc2hvdzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgY291bnRUaW1lOm51bWJlcjtcclxuICAgIHRpbWVDb3VudDpudW1iZXI7XHJcbiAgICBmaXRUb3A6bnVtYmVyO1xyXG4gICAgZml0Qm90Om51bWJlcjtcclxuICAgIGxldmVsOm51bWJlcjtcclxuICAgIGNsaWNrTm93Om51bWJlcjtcclxuICAgIHN0YXJ0VGltZTpudW1iZXI7XHJcbiAgICBvdmVyVGltZTpudW1iZXI7XHJcbiAgICB3aW5UaW1lOm51bWJlcjtcclxuICAgIGNsaWNrQ291bnQ6bnVtYmVyO1xyXG4gICAgdGltZVN0YXJ0Om51bWJlcjtcclxuICAgIHJvdXRlX0FycmF5OiBhbnlbXTtcclxuICAgIG5vd19BcnJheTogYW55W107XHJcbiAgICBiYWxsX0FycmF5OiBhbnlbXTtcclxuICAgIExpbmVfQXJyYXk6IGFueVtdO1xyXG4gICAgUG9zX0FycmF5OiBhbnlbXTtcclxuICAgIHRpbWVfQXJyYXk6IGFueVtdO1xyXG4gICAgY29sb3JfQXJyYXk6IGFueVtdO1xyXG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxyXG4gICAgbGV2ZWxMYWJlbDogY2MuTGFiZWwgPSBudWxsO1xyXG4gICAgc3RhdGljIF9pbnN0YW5jZTogYW55O1xyXG4gICAgbW92ZUFycmF5OiBudW1iZXJbXTtcclxuICAgIHJlcGVhdDogbnVtYmVyO1xyXG4gICAgbnVtYmVyUmVwZWF0OiBudW1iZXI7XHJcbiAgICByb3VuZDogbnVtYmVyO1xyXG4gICAgcGF1c2U6IGJvb2xlYW47XHJcbiAgICBvbkxvYWQgKCkge31cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICB0aGlzLmZpdCgpO1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG4gICAgLy/liJ3lp4vljJbmlbDmja5cclxuICAgIGluaXQoKXtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJHYW1lT3ZlclwiKS56SW5kZXggPSAxMDA7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5iYWxsLnpJbmRleCA9IDEwMDtcclxuICAgICAgICB0aGlzLmJnMSA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImJnMVwiKTtcclxuICAgICAgICB0aGlzLmJnMiA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImJnMlwiKTtcclxuICAgICAgICB0aGlzLnRpbWUgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJUb3BcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ0aW1lXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCk7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwic2hvd0J0blwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmJlZ2luID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5vdmVyID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5mdWh1byA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5wYXVzZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zaG93ID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5yb3VuZCA9IDA7IFxyXG4gICAgICAgIHRoaXMubGV2ZWwgPSAyO1xyXG4gICAgICAgIHRoaXMuY291bnRUaW1lID0gNjA7XHJcbiAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmN1c3RvbSAhPSAwKXtcclxuICAgICAgICAgICAgdGhpcy5sZXZlbCA9IGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5jdXN0b207XHJcbiAgICAgICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmN1c3RvbSArPSAxO1xyXG4gICAgICAgICAgICB0aGlzLmNvdW50VGltZSA9IDEyMDAwMDAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyB0aGlzLmxldmVsTGFiZWwuc3RyaW5nID0gdGhpcy5sZXZlbCArIFwiXCI7XHJcbiAgICAgICAgdGhpcy50aW1lQ291bnQgPSAwLjE7XHJcbiAgICAgICAgdGhpcy5jbGlja05vdyA9IDA7XHJcbiAgICAgICAgdGhpcy5jbGlja0NvdW50ID0gMDtcclxuICAgICAgICB0aGlzLnRpbWVTdGFydCA9IDA7XHJcbiAgICAgICAgdGhpcy5yZXBlYXQgPSAtMTtcclxuICAgICAgICB0aGlzLm51bWJlclJlcGVhdCA9IC0xO1xyXG4gICAgICAgIHRoaXMucm91dGVfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLm1vdmVBcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMubm93X0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5iYWxsX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5Qb3NfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLnRpbWVfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmNvbG9yX0FycmF5ID0gW107XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HQU1FX0RBVEEgPSBbXTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uc3VjY2VzcyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc3RhcnRUaW1lID0gMDtcclxuICAgICAgICB0aGlzLm92ZXJUaW1lID0gMDtcclxuICAgICAgICB0aGlzLndpblRpbWUgPSAwO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy50b3RhbCA9IDA7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1lYW5fVGltZSA9IDA7XHJcbiAgICAgICAgdGhpcy5zY2hlZHVsZSh0aGlzLnVwZGF0ZUNvdW50RG93blRpbWUsMSk7XHJcbiAgICAgICAgdGhpcy5zdGFydEdhbWUoKTtcclxuICAgIH1cclxuICAgIC8v5qC55o2u5piv5ZCm5YWo6Z2i5bGP77yM5YGa54us56uL6YCC6YWN5pa56Z2iXHJcbiAgICBmaXQoKXtcclxuICAgICAgICB0aGlzLmZpdFRvcCA9IDQ1MDsgIC8vNjAwXHJcbiAgICAgICAgdGhpcy5maXRCb3QgPSAtNjAwOyAvLy03MDBcclxuICAgICAgICB2YXIgamcgPSB0aGlzLnNldEZpdCgpO1xyXG4gICAgICAgIGlmKCFqZyl7XHJcbiAgICAgICAgICAgIHRoaXMuZml0VG9wID0gNjAwO1xyXG4gICAgICAgICAgICB0aGlzLmZpdEJvdCA9IC03MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/liKTmlq3lhajpnaLlsY9cclxuICAgIGdldFNldFNjcmVlblJlc29sdXRpb25GbGFnICgpIHtcclxuICAgICAgICBsZXQgc2l6ZSA9IGNjLndpblNpemU7XHJcbiAgICAgICAgbGV0IHdpZHRoID0gc2l6ZS53aWR0aDtcclxuICAgICAgICBsZXQgaGVpZ2h0ID0gc2l6ZS5oZWlnaHQ7XHJcbiAgICAgICAgaWYgKChoZWlnaHQgLyB3aWR0aCkgPiAoMTYuMiAvIDkpKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICAvL+WIpOaWreWFqOmdouWxj+mAgumFjVxyXG4gICAgc2V0Rml0ICgpIHtcclxuICAgICAgICBsZXQgZmxhZyA9IHRoaXMuZ2V0U2V0U2NyZWVuUmVzb2x1dGlvbkZsYWcoKTtcclxuICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmbGFnO1xyXG4gICAgfVxyXG4gICAgLy/ov5Tlm57pppbpobVcclxuICAgIGJhY2tTY2VuZSgpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkxvYWRTY2VuZVwiKTtcclxuICAgIH1cclxuICAgIC8v5LiL5LiA5YWz77yM5oiW6ICF6YeN5paw5byA5aeL77yM5oiW6ICF6L+U5Zue5LiK5LiA5YWz77yM5qC55o2ubGV2ZWzlhrPlrppcclxuICAgIHJlU3RhcnQodHlwZSl7XHJcbiAgICAgICAgLy8gaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmN1c3RvbSAhPSAwKXtcclxuICAgICAgICAvLyAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiTG9hZFNjZW5lXCIpO1xyXG4gICAgICAgIC8vICAgICByZXR1cm47XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInNob3dCdG5cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgIHRoaXMudGltZUNvdW50ID0gMC4xO1xyXG4gICAgICAgIHRoaXMuY2xpY2tOb3cgPSAwO1xyXG4gICAgICAgIHRoaXMudGltZVN0YXJ0ID0gMDtcclxuICAgICAgICB0aGlzLnJlcGVhdCA9IC0xO1xyXG4gICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gLTE7XHJcbiAgICAgICAgdGhpcy5iZWdpbiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucm91dGVfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLm5vd19BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuYmFsbF9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuUG9zX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5tb3ZlQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLnRpbWVfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmNvbG9yX0FycmF5ID0gW107XHJcbiAgICAgICAgaWYodHlwZSA9PSAwKXtcclxuICAgICAgICAgICAgdGhpcy5iZ01vdmUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodHlwZSA9PSAxKXtcclxuICAgICAgICAgICAgdGhpcy5zdGFydEdhbWUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0eXBlID09IDIpe1xyXG4gICAgICAgICAgICB0aGlzLmJnTW92ZSgtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluaXtumXtOaIs1xyXG4gICAgZ2V0VGltZSgpe1xyXG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHJldHVybiB0aW1lc3RhbXA7XHJcbiAgICB9XHJcbiAgICAvL+iOt+iDnFxyXG4gICAgcGFzc0xldmVsKCl7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgIGlmKHRoaXMub3ZlciA9PSBmYWxzZSAmJiB0aGlzLmNvdW50VGltZSA+PSAwKXtcclxuICAgICAgICAgICAgbGV0IHRpbWVBcnJheSA9IFtdO1xyXG4gICAgICAgICAgICBsZXQgdGltZUNvdW50ID0gMDtcclxuICAgICAgICAgICAgbGV0IGJhbGwgPSB0aGlzLmJhbGxfQXJyYXlbMF07XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT0xOyBpPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IHRpbWUgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuYmFsbF9BcnJheVtpXS54LHRoaXMuYmFsbF9BcnJheVtpXS55LFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtpLTFdLngsdGhpcy5iYWxsX0FycmF5W2ktMV0ueSwyKTtcclxuICAgICAgICAgICAgICAgIHRpbWVBcnJheS5wdXNoKHRpbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvcihsZXQgaz0xOyBrPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBrKyspe1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4oYmFsbClcclxuICAgICAgICAgICAgICAgICAgICAudG8odGltZUFycmF5W2stMV0se3g6dGhpcy5iYWxsX0FycmF5W2tdLngseTp0aGlzLmJhbGxfQXJyYXlba10ueX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoayA9PSB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLnBvc2l0aW9uID0gY2MudjMoYmFsbC54LGJhbGwueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWxsLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJTdW4oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlU3RhcnQoMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAyMDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgIH0sIHRpbWVDb3VudCoxMDAwKTtcclxuICAgICAgICAgICAgICAgIHRpbWVDb3VudCArPSAodGltZUFycmF5W2stMV0rMC4xKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5aSx6LSlXHJcbiAgICBsb3NlTGV2ZWwodHlwZSl7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgIGlmKHRoaXMub3ZlciA9PSBmYWxzZSAmJiB0aGlzLmNvdW50VGltZSA+PSAwKXtcclxuICAgICAgICAgICAgbGV0IGJhbGwgPSB0aGlzLmJhbGxfQXJyYXlbMF07XHJcbiAgICAgICAgICAgIGZvcihsZXQgaz0xOyBrPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBrKyspe1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5iYWxsX0FycmF5W2tdKVxyXG4gICAgICAgICAgICAgICAgLnRvKDIse3g6YmFsbC54LHk6YmFsbC55fSlcclxuICAgICAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICBpZihrID09IHRoaXMuYmFsbF9BcnJheS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbC5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGwucG9zaXRpb24gPSBjYy52MyhiYWxsLngsYmFsbC55LDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyU3VuKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVTdGFydCh0eXBlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLnN0YXJ0KClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5riF55CG5aSq6ZizXHJcbiAgICBjbGVhclN1bigpe1xyXG4gICAgICAgIGZvcihsZXQgaz0wOyBrPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBrKyspe1xyXG4gICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlba10ucmVtb3ZlRnJvbVBhcmVudCgpO1xyXG4gICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlba10gPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v54K55Ye75aSq6Ziz5omn6KGM5pa55rOVXHJcbiAgICBjbGlja1N1bihkYXRhKXtcclxuICAgICAgICBpZih0aGlzLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICB0aGlzLmNsaWNrQ291bnQgKz0gMTtcclxuICAgICAgICAgICAgbGV0IGNsaWNrVGltZSA9ICBjYy5meC5HYW1lVG9vbC5nZXRUaW1lKCk7XHJcbiAgICAgICAgICAgIHRoaXMudGltZV9BcnJheS5wdXNoKChjbGlja1RpbWUgLSB0aGlzLnRpbWVTdGFydCkpXHJcbiAgICAgICAgICAgIHRoaXMudGltZVN0YXJ0ID0gIGNjLmZ4LkdhbWVUb29sLmdldFRpbWUoKTtcclxuICAgICAgICAgICAgaWYoZGF0YSA9PSB0aGlzLmNsaWNrTm93KXtcclxuICAgICAgICAgICAgICAgIGNjLmZ4LkF1ZGlvTWFuYWdlci5faW5zdGFuY2UucGxheUF1ZGlvQnV0dG9uKCk7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmNsaWNrTm93ID4gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVMaW5lKGNjLnYyKHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93LTFdLngsdGhpcy5iYWxsX0FycmF5W3RoaXMuY2xpY2tOb3ctMV0ueSksXHJcbiAgICAgICAgICAgICAgICAgICAgY2MudjIodGhpcy5iYWxsX0FycmF5W3RoaXMuY2xpY2tOb3ddLngsdGhpcy5iYWxsX0FycmF5W3RoaXMuY2xpY2tOb3ddLnkpLFxyXG4gICAgICAgICAgICAgICAgICAgIDAuMik7ICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNsaWNrTm93ICs9IDE7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXSlcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXS5nZXRDaGlsZEJ5TmFtZShcImd1YW5nXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5jbGlja05vdyA9PSB0aGlzLm5vd19BcnJheS5sZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGF1c2UgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy50b3RhbCArPSB0aGlzLmNsaWNrTm93O1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3ZlclRpbWUgPSAgY2MuZnguR2FtZVRvb2wuZ2V0VGltZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuc3RhcnRUaW1lID4gMCAmJiB0aGlzLm92ZXJUaW1lID4gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tZWFuX1RpbWUgKz0gKHRoaXMub3ZlclRpbWUgLSB0aGlzLnN0YXJ0VGltZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBmaW5pc2hfdGltZSA9IHBhcnNlSW50KCh0aGlzLm92ZXJUaW1lIC0gdGhpcy5zdGFydFRpbWUpLzEwMCtcIlwiKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0VGltZSA9IDA7IHRoaXMub3ZlclRpbWUgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBjb2xvciA9IFwieVwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubGV2ZWwgPCA0ICYmIHRoaXMubGV2ZWwgPiAxKWNvbG9yID0gXCJ5clwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYodGhpcy5sZXZlbCA+PSA0KSBjb2xvciA9IFwieXJiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHdpbiA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIldpblwiKTtcclxuICAgICAgICAgICAgICAgICAgICB3aW4uYWN0aXZlID0gdHJ1ZTsgd2luLnNldFNjYWxlKDApO1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4LkF1ZGlvTWFuYWdlci5faW5zdGFuY2UucGxheVdpbigpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm91bmQgKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgc3VuQXJyYXkgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm1vdmVBcnJheS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBtPTAgOyBtPHRoaXMubW92ZUFycmF5Lmxlbmd0aDttKyspe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYobSA9PSB0aGlzLnJlcGVhdCB8fCBtID09IHRoaXMubnVtYmVyUmVwZWF0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheVttXSA9IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW5BcnJheS5wdXNoKHRoaXMubW92ZUFycmF5W21dKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IobGV0IG09MCA7IG08dGhpcy5iYWxsX0FycmF5Lmxlbmd0aDttKyspe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYobSA9PSB0aGlzLnJlcGVhdCB8fCBtID09IHRoaXMubnVtYmVyUmVwZWF0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW5BcnJheS5wdXNoKDIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1bkFycmF5LnB1c2goMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19EQVRBID0gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6MSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M6dHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdW5kOnRoaXMucm91bmQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbFN1bkNvdW50OnRoaXMubm93X0FycmF5Lmxlbmd0aCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdmVkU3VuQ291bnQ6Y2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV0ubW92ZU51bWJlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1blNwZWVkOmNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1vdmVTcGVlZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJsYXBTdW5Db3VudDpjYy5meC5HYW1lQ29uZmlnLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5yZXBlYXQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvckxpc3Q6dGhpcy5jb2xvcl9BcnJheSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOmZpbmlzaF90aW1lLzEwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlmZmljdWx0eUxldmVsOnRoaXMubGV2ZWwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW5MaXN0OnN1bkFycmF5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RlcFRpbWVMaXN0OnRoaXMudGltZV9BcnJheSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbWFpbmRlcjp0aGlzLmNvdW50VGltZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5DTElDS19EQVRBLmR1cmF0aW9uID4gNTApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX0RBVEEuZHVyYXRpb24gPSA1MDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXREYXRhKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4od2luKVxyXG4gICAgICAgICAgICAgICAgICAgIC5kZWxheSgwLjQpXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMDEse3NjYWxlOjIuNX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMzUse3NjYWxlOjF9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5kZWxheSgwLjQpXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbi5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2UgJiYgdGhpcy5jb3VudFRpbWUgPj0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmxldmVsID49IDE1KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uc3VjY2VzcyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sZXZlbCArPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZ1aHVvID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhc3NMZXZlbCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxldmVsICs9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5sZXZlbExhYmVsLnN0cmluZyA9IHRoaXMubGV2ZWwgKyBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZnVodW8gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGFzc0xldmVsKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldExvc3MoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5omn6KGM5aSx6LSlXHJcbiAgICBzZXRMb3NzKCl7XHJcbiAgICAgICAgY2MuZnguQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZS5wbGF5V2FybmluZygpO1xyXG4gICAgICAgIHRoaXMuYmVnaW4gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm92ZXJUaW1lID0gIGNjLmZ4LkdhbWVUb29sLmdldFRpbWUoKTtcclxuICAgICAgICBpZih0aGlzLnN0YXJ0VGltZSA+IDAgJiYgdGhpcy5vdmVyVGltZSA+IDApe1xyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWVhbl9UaW1lICs9ICh0aGlzLm92ZXJUaW1lIC0gdGhpcy5zdGFydFRpbWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgZmluaXNoX3RpbWUgPSBwYXJzZUludCgodGhpcy5vdmVyVGltZSAtIHRoaXMuc3RhcnRUaW1lKS8xMDArXCJcIik7XHJcbiAgICAgICAgaWYoZmluaXNoX3RpbWUgPiA1OCkgZmluaXNoX3RpbWUgPSA1ODtcclxuICAgICAgICB0aGlzLnN0YXJ0VGltZSA9IDA7IHRoaXMub3ZlclRpbWUgPSAwO1xyXG4gICAgICAgIGxldCBjb2xvciA9IFwieVwiO1xyXG4gICAgICAgIGlmKHRoaXMubGV2ZWwgPCA0ICYmIHRoaXMubGV2ZWwgPiAxKWNvbG9yID0gXCJ5clwiO1xyXG4gICAgICAgIGVsc2UgaWYodGhpcy5sZXZlbCA+PSA0KSBjb2xvciA9IFwieXJiXCI7XHJcbiAgICAgICAgdGhpcy5yb3VuZCArPSAxO1xyXG4gICAgICAgIGxldCBzdW5BcnJheSA9IFtdO1xyXG4gICAgICAgIGlmKHRoaXMubW92ZUFycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBmb3IobGV0IG09MCA7IG08dGhpcy5tb3ZlQXJyYXkubGVuZ3RoO20rKyl7XHJcbiAgICAgICAgICAgICAgICBpZihtID09IHRoaXMucmVwZWF0IHx8IG0gPT0gdGhpcy5udW1iZXJSZXBlYXQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W21dID0gMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHN1bkFycmF5LnB1c2godGhpcy5tb3ZlQXJyYXlbbV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGZvcihsZXQgbT0wIDsgbTx0aGlzLmJhbGxfQXJyYXkubGVuZ3RoO20rKyl7XHJcbiAgICAgICAgICAgICAgICBpZihtID09IHRoaXMucmVwZWF0IHx8IG0gPT0gdGhpcy5udW1iZXJSZXBlYXQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHN1bkFycmF5LnB1c2goMik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCgwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX0RBVEEgPSBcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHR5cGU6MSxcclxuICAgICAgICAgICAgc3VjY2VzczpmYWxzZSxcclxuICAgICAgICAgICAgcm91bmQ6dGhpcy5yb3VuZCxcclxuICAgICAgICAgICAgdG90YWxTdW5Db3VudDp0aGlzLm5vd19BcnJheS5sZW5ndGgsXHJcbiAgICAgICAgICAgIG1vdmVkU3VuQ291bnQ6Y2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV0ubW92ZU51bWJlcixcclxuICAgICAgICAgICAgc3VuU3BlZWQ6Y2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV0ubW92ZVNwZWVkLFxyXG4gICAgICAgICAgICBvdmVybGFwU3VuQ291bnQ6Y2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV0ucmVwZWF0LFxyXG4gICAgICAgICAgICBjb2xvckxpc3Q6dGhpcy5jb2xvcl9BcnJheSxcclxuICAgICAgICAgICAgZHVyYXRpb246ZmluaXNoX3RpbWUvMTAsXHJcbiAgICAgICAgICAgIGRpZmZpY3VsdHlMZXZlbDp0aGlzLmxldmVsLFxyXG4gICAgICAgICAgICBzdW5MaXN0OnN1bkFycmF5LFxyXG4gICAgICAgICAgICBzdGVwVGltZUxpc3Q6dGhpcy50aW1lX0FycmF5LFxyXG4gICAgICAgICAgICByZW1haW5kZXI6dGhpcy5jb3VudFRpbWVcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5DTElDS19EQVRBLmR1cmF0aW9uID4gNTApe1xyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX0RBVEEuZHVyYXRpb24gPSA1MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXREYXRhKCk7XHJcbiAgICAgICAgaWYodGhpcy5mdWh1byA9PSB0cnVlKXtcclxuICAgICAgICAgICAgdGhpcy5mdWh1byA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmxvc2VMZXZlbCgxKTtcclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGlmKHRoaXMubGV2ZWwgPiAyKXtcclxuICAgICAgICAgICAgICAgIHRoaXMubGV2ZWwgLT0gMTtcclxuICAgICAgICAgICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuZnVodW8gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5mdWh1byA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb3NlTGV2ZWwoMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9zZUxldmVsKDEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBvdmVyID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiT3ZlclwiKTtcclxuICAgICAgICBjYy50d2VlbihvdmVyKVxyXG4gICAgICAgIC50bygwLjI1LHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgLmRlbGF5KDAuMSlcclxuICAgICAgICAudG8oMC4yLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgLnRvKDAuMTUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAuZGVsYXkoMC4xKVxyXG4gICAgICAgIC50bygwLjEse29wYWNpdHk6MH0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICB9XHJcbiAgICAvL+W8gOWni+a4uOaIj1xyXG4gICAgc3RhcnRHYW1lKCl7XHJcbiAgICAgICAgaWYodGhpcy5vdmVyID09IGZhbHNlICYmIHRoaXMuY291bnRUaW1lID4gMCl7XHJcbiAgICAgICAgICAgIHRoaXMucGF1c2UgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVN1bigpO1xyXG4gICAgICAgICAgICB0aGlzLmJlZ2luID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbClcclxuICAgICAgICAgICAgLnRvKDAuNSx7b3BhY2l0eToyNTUsc2NhbGU6MS4zfSlcclxuICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/miafooYzlpKrpmLPov5DooYzliqjnlLvvvIzku6Xlj4rlkI7pnaLnp7vliqjliqjnlLtcclxuICAgIHJ1bkdhbWUoKXtcclxuICAgICAgICBsZXQgdGltZSA9IC02NTA7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy5ub3dfQXJyYXkubGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICB0aW1lID0gdGhpcy5ub3dfQXJyYXlbaV0udGltZSoxMDAwICsgdGltZTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2Upe1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB0ZW1wID0gdGhpcy5ub3dfQXJyYXlbaV0udGltZUNvdW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRlbXAgPiAwLjUpIHRlbXAgPSAwLjU7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaSAhPSAwKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5iYWxsICYmIHRoaXMubm93X0FycmF5W2ldKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlTGluZShjYy52Mih0aGlzLmJhbGwueCx0aGlzLmJhbGwueSksY2MudjIodGhpcy5ub3dfQXJyYXlbaV0ueCx0aGlzLm5vd19BcnJheVtpXS55KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubm93X0FycmF5W2ldLnRpbWUtdGVtcCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5iYWxsKVxyXG4gICAgICAgICAgICAgICAgICAgIC50byh0aGlzLm5vd19BcnJheVtpXS50aW1lLXRlbXAse3g6dGhpcy5ub3dfQXJyYXlbaV0ueCx5OnRoaXMubm93X0FycmF5W2ldLnl9KVxyXG4gICAgICAgICAgICAgICAgICAgIC50bygwLjEse3NjYWxlOjF9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5jYWxsKCgpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlQmFsbChpLHRoaXMubm93X0FycmF5W2ldLmNvbG9yLHRoaXMubm93X0FycmF5W2ldLnNwZWVkLHRoaXMubm93X0FycmF5W2ldLnJlcGVhdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGkgPT0gdGhpcy5ub3dfQXJyYXkubGVuZ3RoIC0xKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbC5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVzdHJveUxpbmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJlZ2luR2FtZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1vdmVOdW1iZXI8MSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGF1c2UgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQWN0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAxNTApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LCB0aW1lKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+iuvue9ruenu+WKqOmHjeWPoOaVsOaNrlxyXG4gICAgY3JlYXRlTW92ZSgpe1xyXG4gICAgICAgIGlmKHRoaXMub3ZlciA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgIGxldCBpbmZvID0gY2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV07XHJcbiAgICAgICAgICAgIC8v5pS55Y+Y56e75Yqo6YCf5bqmXHJcbiAgICAgICAgICAgIHZhciBzcGVlZCA9IDc7XHJcbiAgICAgICAgICAgIGlmKGluZm8ubW92ZVNwZWVkID49IDIpe1xyXG4gICAgICAgICAgICAgICAgc3BlZWQgPSA3IC0gaW5mby5tb3ZlU3BlZWQvMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihpbmZvLnJlcGVhdCA9PSAxKXtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVwZWF0ICA9IHBhcnNlSW50KChNYXRoLnJhbmRvbSgpKihpbmZvLm51bWJlci0xKSsxKSArIFwiXCIpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHRlbXBOdW1iZXIgPSAwO1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5yZXBlYXQgPSA0O1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5yZXBlYXQgID4gNCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5udW1iZXJSZXBlYXQgPSBwYXJzZUludChNYXRoLnJhbmRvbSgpKjQgKyBcIlwiKTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLnJlcGVhdCAgPT0gKGluZm8ubnVtYmVyLTEpKSAgLy/lpoLmnpzmmK/mnIDlkI7kuIDkuKog5LiN6IO96Lef56ys5LiA5Liq6YeN5Y+gXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5udW1iZXJSZXBlYXQgPSB0aGlzLnJlcGVhdCAgLSBwYXJzZUludCggKE1hdGgucmFuZG9tKCkqMyArIDIpKyBcIlwiKVxyXG4gICAgICAgICAgICAgICAgICAgIHRlbXBOdW1iZXIgPSAgdGhpcy5Qb3NfQXJyYXlbdGhpcy5udW1iZXJSZXBlYXRdO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuUG9zX0FycmF5W3RoaXMucmVwZWF0IF0gPSB0ZW1wTnVtYmVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXsgLy8gMCAxIDIgMyA0IDUgXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gNiAtIDMgLSAxICA9IDIgNCAgMDEgNFxyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMucmVwZWF0ICA9PSAwKSB0aGlzLnJlcGVhdCAgPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKChpbmZvLm51bWJlci0xLXRoaXMucmVwZWF0ICkgPT0gMil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gaW5mby5udW1iZXIgLSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wTnVtYmVyID0gIHRoaXMuUG9zX0FycmF5W3RoaXMubnVtYmVyUmVwZWF0XTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZigoaW5mby5udW1iZXItMS10aGlzLnJlcGVhdCApID09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm51bWJlclJlcGVhdCA9IHRoaXMucmVwZWF0IC0gMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcE51bWJlciA9ICB0aGlzLlBvc19BcnJheVt0aGlzLm51bWJlclJlcGVhdF07XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKChpbmZvLm51bWJlci0xLXRoaXMucmVwZWF0ICkgPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gdGhpcy5yZXBlYXQgLSAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wTnVtYmVyID0gIHRoaXMuUG9zX0FycmF5W3RoaXMubnVtYmVyUmVwZWF0XTtcclxuICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoKGluZm8ubnVtYmVyLTEtdGhpcy5yZXBlYXQgKSA+IDIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm51bWJlclJlcGVhdCA9IHBhcnNlSW50KE1hdGgucmFuZG9tKCkqKGluZm8ubnVtYmVyLXRoaXMucmVwZWF0IC0yKSArIFwiXCIpICsgdGhpcy5yZXBlYXQgICsgMiA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBOdW1iZXIgPSAgdGhpcy5Qb3NfQXJyYXlbdGhpcy5udW1iZXJSZXBlYXRdO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm51bWJlclJlcGVhdCA9IHRoaXMucmVwZWF0IC0gMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcE51bWJlciA9ICB0aGlzLlBvc19BcnJheVt0aGlzLm51bWJlclJlcGVhdF07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuUG9zX0FycmF5W3RoaXMucmVwZWF0XSA9IHRlbXBOdW1iZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYoaW5mby5tb3ZlTnVtYmVyID4gMCl7XHJcbiAgICAgICAgICAgICAgICAvLzAgMSAyIDMgNCA1IDYgNyA4IDlcclxuICAgICAgICAgICAgICAgIC8v5Y+v56e75Yqo5Yy65YiGXHJcbiAgICAgICAgICAgICAgICBsZXQgcG9zID0gY2MudjIoMCwwKTtcclxuICAgICAgICAgICAgICAgIGZvcihsZXQgej0wOyB6PGluZm8ubnVtYmVyOyB6Kyspe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W3pdID0gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZvcihsZXQgcD0wOyBwPGluZm8ubW92ZU51bWJlcjsgcCsrKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheVtpbmZvLm51bWJlci0xLXBdID0gMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxldCB0aW1lT3V0ID0gMDtcclxuICAgICAgICAgICAgICAgIC8v5omT5Lmx5Y+v56e75Yqo6aG65bqPXHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheS5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5tb3ZlQXJyYXlbMF0gPT0gMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCByPWluZm8ubnVtYmVyLTE7IHI+PTA7IHItLSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubW92ZUFycmF5W3JdID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbcl0gPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbMF0gPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy/lsIbph43lj6DnmoTorr7nva7kuLrkuI3lj6/np7vliqggIDEgMSAxIDEgMCAwIDEgMCAwIDAgICAvIDIgN1xyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBrID0wOyBrPHRoaXMubW92ZUFycmF5Lmxlbmd0aDtrKyspe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubW92ZUFycmF5W2tdPT0xICYmIChrID09IHRoaXMucmVwZWF0IHx8IGsgPT0gdGhpcy5udW1iZXJSZXBlYXQpKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBtID0gdGhpcy5tb3ZlQXJyYXkubGVuZ3RoLTE7IG0gPj0gMDsgbS0tKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKG0gIT0gayAmJiB0aGlzLm1vdmVBcnJheVttXSA9PSAwICYmIG0hPSB0aGlzLnJlcGVhdCAmJiBtIT0gdGhpcy5udW1iZXJSZXBlYXQpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W21dID0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheVtrXSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbSAgPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZvcihsZXQgaSA9MDsgaTx0aGlzLlBvc19BcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm1vdmVBcnJheSBbaV0gPT0gMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVPdXQgKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3MgPSB0aGlzLmdldFBvczIodHJ1ZSxpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuUG9zX0FycmF5W2ldID0gcG9zO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCB0aW1lT3V0KjMwMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v56e75Yqo5ZCO5pWw5o2uIOmHjeaWsOWIt+S4gOmBjei1i+WAvFxyXG4gICAgdXBkYXRlQXJyYXkoKXtcclxuICAgICAgICBmb3IobGV0IGk9MDsgaTx0aGlzLm5vd19BcnJheS5sZW5ndGgtMTtpKyspe1xyXG4gICAgICAgICAgICB0aGlzLm5vd19BcnJheVtpXS54ID0gdGhpcy5Qb3NfQXJyYXlbaV0ueDtcclxuICAgICAgICAgICAgdGhpcy5ub3dfQXJyYXlbaV0ueSA9IHRoaXMuUG9zX0FycmF5W2ldLnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/lpKrpmLPliJ3lp4vljJblkI7np7vliqjmlrnms5VcclxuICAgIG1vdmVBY3Rpb24oKXtcclxuICAgICAgICB0aGlzLnVwZGF0ZUFycmF5KCk7XHJcbiAgICAgICAgbGV0IG1vdmVBcnJheSA9IHRoaXMubW92ZUFycmF5O1xyXG4gICAgICAgIGxldCBpbmZvID0gY2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV07XHJcbiAgICAgICAgLy/mlLnlj5jnp7vliqjpgJ/luqZcclxuICAgICAgICB2YXIgc3BlZWQgPSA3O1xyXG4gICAgICAgIGlmKGluZm8ubW92ZVNwZWVkID49IDIpe1xyXG4gICAgICAgICAgICBzcGVlZCA9IDcgLSBpbmZvLm1vdmVTcGVlZC8yO1xyXG4gICAgICAgIH0gIFxyXG4gICAgICAgIGlmKGluZm8ubW92ZU51bWJlciA+IDApe1xyXG4gICAgICAgICAgICAvLzAgMSAyIDMgNCA1IDYgNyA4IDlcclxuICAgICAgICAgICAgLy/lj6/np7vliqjljLrliIZcclxuICAgICAgICAgICAgLy/lsIbph43lj6DnmoTorr7nva7kuLrkuI3lj6/np7vliqggIDEgMSAxIDEgMCAwIDEgMCAwIDAgICAvIDIgN1xyXG4gICAgICAgICAgICBmb3IobGV0IGsgPTA7IGs8dGhpcy5tb3ZlQXJyYXkubGVuZ3RoO2srKyl7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm1vdmVBcnJheVtrXT09MSAmJiAoayA9PSB0aGlzLnJlcGVhdCB8fCBrID09IHRoaXMubnVtYmVyUmVwZWF0KSl7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBtID0gdGhpcy5tb3ZlQXJyYXkubGVuZ3RoLTE7IG0gPj0gMDsgbS0tKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYobSAhPSBrICYmIHRoaXMubW92ZUFycmF5W21dID09IDAgJiYgbSE9IHRoaXMucmVwZWF0ICYmIG0hPSB0aGlzLm51bWJlclJlcGVhdCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheVttXSA9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheVtrXSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtICA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBsYXN0TnVtYmVyID0gMDtcclxuICAgICAgICAgICAgLy/plIHlrprmnIDlkI7kuIDkuKrlj6/np7vliqjnmoRcclxuICAgICAgICAgICAgZm9yKGxldCBqID0wOyBqPG1vdmVBcnJheS5sZW5ndGg7aisrKXtcclxuICAgICAgICAgICAgICAgIGlmKG1vdmVBcnJheVtqXT09MSl7XHJcbiAgICAgICAgICAgICAgICAgICAgbGFzdE51bWJlciA9IGo7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZm9yKGxldCBpID0wOyBpPHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgIGlmKG1vdmVBcnJheVtpXSA9PSAxKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihpICE9IGxhc3ROdW1iZXIpeyAgICAvL+WmguaenOS4jeaYr+acgOWQjuS4gOS4quenu+WKqOeahFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgdGltZSA9IHNwZWVkKnRoaXMuY2FsY3VsYXRlRGlzdGFuY2UodGhpcy5iYWxsX0FycmF5W2ldLngsdGhpcy5iYWxsX0FycmF5W2ldLnksdGhpcy5Qb3NfQXJyYXlbaV0ueCx0aGlzLlBvc19BcnJheVtpXS55LDMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlbaV0uZ2V0Q29tcG9uZW50KFwiU3VuXCIpLm1vdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy50d2Vlbih0aGlzLmJhbGxfQXJyYXlbaV0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC50byh0aW1lLHtwb3NpdGlvbjp0aGlzLlBvc19BcnJheVtpXX0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ldLmdldENvbXBvbmVudChcIlN1blwiKS5tb3ZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvL+WmguaenOaYr+acgOWQjuS4gOS4qlxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0aW1lID0gc3BlZWQqdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLmJhbGxfQXJyYXlbaV0ueCx0aGlzLmJhbGxfQXJyYXlbaV0ueSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnksMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtpXS5nZXRDb21wb25lbnQoXCJTdW5cIikubW92ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbF9BcnJheVtpXSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvKHRpbWUse3Bvc2l0aW9uOnRoaXMuUG9zX0FycmF5W2ldfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ldLmdldENvbXBvbmVudChcIlN1blwiKS5tb3ZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+avj+asoemHjeaWsOW8gOWni+aWsOS4gOi9ruWEv+a4uOaIj1xyXG4gICAgYmVnaW5HYW1lKCl7XHJcbiAgICAgICAgdGhpcy5iZWdpbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zdGFydFRpbWUgPSAgY2MuZnguR2FtZVRvb2wuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMudGltZVN0YXJ0ID0gIGNjLmZ4LkdhbWVUb29sLmdldFRpbWUoKTtcclxuICAgICAgICB0aGlzLnBhdXNlID0gZmFsc2U7XHJcbiAgICAgICAgLy8gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwic2hvd0J0blwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8v5Yib5bu65aSq6Ziz5omA6ZyA5pWw5o2uXHJcbiAgICBjcmVhdGVTdW4oKXtcclxuICAgICAgICBsZXQgbGV2ZWxEYXRhID0gY2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV07XHJcbiAgICAgICAgbGV0IHRpZW1PdXQgPSAwO1xyXG4gICAgICAgIGZvcihsZXQgbD0wOyBsPGxldmVsRGF0YS5udW1iZXI7bCsrKXtcclxuICAgICAgICAgICAgdGllbU91dCArPSAxO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMub3ZlciA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHBvcyA9IHRoaXMuZ2V0UG9zKGZhbHNlLGwpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuUG9zX0FycmF5LnB1c2gocG9zKTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLlBvc19BcnJheS5sZW5ndGggPT0gbGV2ZWxEYXRhLm51bWJlcil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlTW92ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVBvcygpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH0sIHRpZW1PdXQqMTAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+WIm+W7uuWkqumYs+S9jee9ru+8jOminOiJsuS/oeaBr+etieaVsOaNrlxyXG4gICAgY3JlYXRlUG9zKCl7XHJcbiAgICAgICAgbGV0IGRhdGEgPSB7eDp0aGlzLmJhbGwueCx5OnRoaXMuYmFsbC55LHRpbWU6MCx0aW1lQ291bnQ6MCxjb2xvcjowLHNwZWVkOjAscmVwZWF0OmZhbHNlfTtcclxuICAgICAgICBsZXQgbGV2ZWxEYXRhID0gY2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV07XHJcbiAgICAgICAgLy/popzoibLljLrliIZcclxuICAgICAgICBsZXQgY29sb3JBcnJheSA9IFswLDFdO1xyXG4gICAgICAgIGZvcihsZXQgaj0wOyBqPGxldmVsRGF0YS5udW1iZXItMjtqKyspe1xyXG4gICAgICAgICAgICBsZXQgY29sb3JUZW1wID0gcGFyc2VJbnQoTWF0aC5yYW5kb20oKSozK1wiXCIpO1xyXG4gICAgICAgICAgICBpZihsZXZlbERhdGEubnVtYmVyIDwgNiAmJiBjb2xvclRlbXAgPT0gMikgY29sb3JUZW1wID0gMDtcclxuICAgICAgICAgICAgY29sb3JBcnJheS5wdXNoKGNvbG9yVGVtcCk7XHJcbiAgICAgICAgICAgIGNvbG9yQXJyYXkuc29ydCgoKSA9PiBNYXRoLnJhbmRvbSgpIC0gMC41KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3JBcnJheS5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpO1xyXG4gICAgICAgIGlmKGxldmVsRGF0YS5udW1iZXIgPT0gNCkgY29sb3JBcnJheSA9IFswLDAsMCwwXTtcclxuICAgICAgICB0aGlzLmNvbG9yX0FycmF5ID0gY29sb3JBcnJheTtcclxuICAgICAgICAvL+WtmOWCqOWkqumYs+aVsOaNrlxyXG4gICAgICAgIGZvcihsZXQgaT0wOyBpPGxldmVsRGF0YS5udW1iZXI7aSsrKXtcclxuICAgICAgICAgICAgbGV0IHRpbWVDb3VudCA9IHRoaXMudGltZUNvdW50ICsgKDAuNi10aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuYmFsbC54LHRoaXMuYmFsbC55LHRoaXMuUG9zX0FycmF5W2ldLngsdGhpcy5Qb3NfQXJyYXlbaV0ueSwxKSk7XHJcbiAgICAgICAgICAgIGxldCB0aW1lID0gdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLmJhbGwueCx0aGlzLmJhbGwueSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnksMSkrdGltZUNvdW50O1xyXG4gICAgICAgICAgICBkYXRhID0ge3g6dGhpcy5Qb3NfQXJyYXlbaV0ueCx5OnRoaXMuUG9zX0FycmF5W2ldLnksdGltZTp0aW1lLHRpbWVDb3VudDp0aW1lQ291bnQsY29sb3I6Y29sb3JBcnJheVtpXSxzcGVlZDpsZXZlbERhdGEubW92ZVNwZWVkLHJlcGVhdDpmYWxzZX07XHJcbiAgICAgICAgICAgIGlmKHRoaXMucmVwZWF0ID09IGkpe1xyXG4gICAgICAgICAgICAgICAgZGF0YS5yZXBlYXQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5udW1iZXJSZXBlYXQgPT0gaSl7XHJcbiAgICAgICAgICAgICAgICBkYXRhLnJlcGVhdCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5ub3dfQXJyYXkucHVzaChkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5ydW5HYW1lKCk7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPlu+8jE7kuKrlpKrpmLPkvY3nva7nmoTmlrnms5XvvIzlkoxQT1My5YiG5byA5Lik5Liq5pa55rOV77yM6Ziy5q2i6YCS5b2S5rqi5Ye6XHJcbiAgICBnZXRQb3ModHlwZSxudW0pe1xyXG4gICAgICAgIGxldCBwb3NYID0gTWF0aC5yYW5kb20oKSo2MjAgLSAzMTA7XHJcbiAgICAgICAgbGV0IHBvc1kgPSBNYXRoLnJhbmRvbSgpKih0aGlzLmZpdFRvcC10aGlzLmZpdEJvdCkgKyB0aGlzLmZpdEJvdDtcclxuICAgICAgICBsZXQgcG9pbnQgPSBjYy52Mihwb3NYLHBvc1kpO1xyXG4gICAgICAgIGlmKHRoaXMuUG9zX0FycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MDsgaTx0aGlzLlBvc19BcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCBkaXN0YW5jZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgbGV0IHBkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBpZihpID09IG51bSkgcGQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgZGlzdGFuY2UgPSB0aGlzLmdldERpc3RhbmNlKHBvc1gscG9zWSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnkscGQpXHJcbiAgICAgICAgICAgICAgICBpZihkaXN0YW5jZSA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IDEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvaW50ID0gdGhpcy5nZXRQb3ModHlwZSxudW0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYoZGlzdGFuY2UgPT0gdHJ1ZSAmJiBpID09ICh0aGlzLlBvc19BcnJheS5sZW5ndGgtMSkpe1xyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb2ludDtcclxuICAgIH1cclxuICAgIC8v6I635Y+W77yMTuS4quWkqumYs+WPr+enu+WKqOS9jee9rueahOaWueazle+8jOWSjFBPU+WIhuW8gOeul+mYsuatoumAkuW9kua6ouWHulxyXG4gICAgZ2V0UG9zMih0eXBlLG51bSl7XHJcbiAgICAgICAgbGV0IHBvc1ggPSBNYXRoLnJhbmRvbSgpKjYyMCAtIDMxMDtcclxuICAgICAgICBsZXQgcG9zWSA9IE1hdGgucmFuZG9tKCkqKHRoaXMuZml0VG9wLXRoaXMuZml0Qm90KSArIHRoaXMuZml0Qm90O1xyXG4gICAgICAgIGxldCBwb2ludCA9IGNjLnYyKHBvc1gscG9zWSk7XHJcbiAgICAgICAgaWYodGhpcy5Qb3NfQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT0wOyBpPHRoaXMuUG9zX0FycmF5Lmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IGRpc3RhbmNlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBsZXQgcGQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGlmKGkgPT0gbnVtKSBwZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBkaXN0YW5jZSA9IHRoaXMuZ2V0RGlzdGFuY2UyKHBvc1gscG9zWSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnkscGQpXHJcbiAgICAgICAgICAgICAgICBpZihkaXN0YW5jZSA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IDEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvaW50ID0gdGhpcy5nZXRQb3MyKHR5cGUsbnVtKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmKGRpc3RhbmNlID09IHRydWUgJiYgaSA9PSAodGhpcy5Qb3NfQXJyYXkubGVuZ3RoLTEpKXtcclxuICAgICAgICAgICAgICAgICAgICBpID0gMTAwMDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9pbnQ7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluS4pOeCueS5i+mXtOi3neemu++8jOi/lOWbnuWIpOaWreaYr+WQpuWcqOS4gOWumuiMg+WbtOWGhSDlsIbmnaXmj5Dlh7rliLDlt6XlhbfnsbtcclxuICAgIGdldERpc3RhbmNlKHgxLCB5MSwgeDIsIHkyLG51bSkge1xyXG4gICAgICAgIHZhciBqZyA9IGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IGR4ID0geDIgLSB4MTtcclxuICAgICAgICBjb25zdCBkeSA9IHkyIC0geTE7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGlmKGRpc3RhbmNlID4gMTYwKXtcclxuICAgICAgICAgICAgaWYobnVtID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZ1xyXG4gICAgICAgICAgICAgICAgaWYoZGlzdGFuY2UgPCBjYy5meC5HYW1lQ29uZmlnLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tYXhNb3ZlKXtcclxuICAgICAgICAgICAgICAgICAgICBqZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgZWxzZSBqZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBpZihkaXN0YW5jZSA8IGNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1heE1vdmUpe1xyXG4gICAgICAgICAgICAgICAgICAgIGpnID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICBlbHNlIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGpnO1xyXG4gICAgfVxyXG4gICAgLy/lkb3kuK3liqjnlLtcclxuICAgIGhpdEFjdGlvbihkYXRhKXtcclxuICAgICAgICB0aGlzLmhpdC5hY3RpdmUgPSB0cnVlOyB0aGlzLmhpdC5vcGFjaXR5ID0gMDtcclxuICAgICAgICB0aGlzLmhpdC5zZXRQb3NpdGlvblxyXG4gICAgICAgIHRoaXMuaGl0LnNldFBvc2l0aW9uKHRoaXMuYmFsbF9BcnJheVtkYXRhXS54KzM1LHRoaXMuYmFsbF9BcnJheVtkYXRhXS55KzM1KTtcclxuICAgICAgICBjYy50d2Vlbih0aGlzLmhpdClcclxuICAgICAgICAudG8oMCx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC50bygwLjIse3Bvc2l0aW9uOmNjLnYzKHRoaXMuaGl0LngtMzUsdGhpcy5oaXQueS0zNSwwKX0pXHJcbiAgICAgICAgLmRlbGF5KDAuMilcclxuICAgICAgICAudG8oMC4xLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICB0aGlzLmhpdC5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgfVxyXG4gICAgLy/liJvpgKDlpKrpmLNcclxuICAgIGNyZWF0ZUJhbGwobnVtYmVyLGNvbG9yLHNwZWVkLHJlcGVhdCl7XHJcbiAgICAgICAgbGV0IGJhbGwgPSBudWxsO1xyXG4gICAgICAgIGlmKGNvbG9yID09IDApYmFsbCA9IGNjLmluc3RhbnRpYXRlKHRoaXMucWl1MSk7XHJcbiAgICAgICAgZWxzZSBpZihjb2xvciA9PSAxKWJhbGwgPSBjYy5pbnN0YW50aWF0ZSh0aGlzLnFpdTIpO1xyXG4gICAgICAgIGVsc2UgaWYoY29sb3IgPT0gMiliYWxsID0gY2MuaW5zdGFudGlhdGUodGhpcy5xaXUzKTtcclxuICAgICAgICBiYWxsLnBhcmVudCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlN1blwiKTtcclxuICAgICAgICBiYWxsLnpJbmRleCA9IHRoaXMubm93X0FycmF5Lmxlbmd0aCAtIG51bWJlcjtcclxuICAgICAgICBiYWxsLnNldFBvc2l0aW9uKHRoaXMuYmFsbC54LHRoaXMuYmFsbC55KTtcclxuICAgICAgICBiYWxsLmdldENvbXBvbmVudChcIlN1blwiKS5pbml0KG51bWJlcixjb2xvcixzcGVlZCxyZXBlYXQpO1xyXG4gICAgICAgIHRoaXMuYmFsbF9BcnJheS5wdXNoKGJhbGwpO1xyXG4gICAgfVxyXG4gICAgLy/plIDmr4Hov57nur9cclxuICAgIGRlc3Ryb3lMaW5lKCkge1xyXG4gICAgICAgIGZvcihsZXQgaSA9MDsgaTwgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGluZVwiKS5jaGlsZHJlbi5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgaWYodGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGluZVwiKS5jaGlsZHJlbltpXSl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLmNoaWxkcmVuW2ldLnJlbW92ZUZyb21QYXJlbnQoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW5baV0gPSBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikucmVtb3ZlQWxsQ2hpbGRyZW4oKTtcclxuICAgIH1cclxuICAgIC8v5Yib5bu66L+e57q/XHJcbiAgICBjcmVhdGVMaW5lKHN0YXJ0LGVuZCx0aW1lKXtcclxuICAgICAgICBsZXQgbGluZSA9IGNjLmluc3RhbnRpYXRlKHRoaXMubGluZVByZWZhYik7XHJcbiAgICAgICAgbGluZS5wYXJlbnQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpO1xyXG4gICAgICAgIGxpbmUuc2V0UG9zaXRpb24oc3RhcnQueCxzdGFydC55KTtcclxuICAgICAgICBjb25zdCBkeCA9IGVuZC54IC0gc3RhcnQueDtcclxuICAgICAgICBjb25zdCBkeSA9IGVuZC55IC0gc3RhcnQueTtcclxuICAgICAgICB2YXIgZGlzdGFuY2UgPSBNYXRoLnNxcnQoZHgqZHggKyBkeSpkeSk7XHJcbiAgICAgICAgbGluZS5oZWlnaHQgPSBkaXN0YW5jZTtcclxuICAgICAgICBsaW5lLmdldENvbXBvbmVudChjYy5TcHJpdGUpLmZpbGxSYW5nZSA9IDA7XHJcbiAgICAgICAgbGluZS5hbmdsZSA9IC10aGlzLmNhbGN1bGF0ZUFuZ2xlKHN0YXJ0Lngsc3RhcnQueSxlbmQueCxlbmQueSk7XHJcbiAgICAgICAgY2MudHdlZW4obGluZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKSlcclxuICAgICAgICAudG8odGltZSx7ZmlsbFJhbmdlOjF9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgfVxyXG4gICAgLy/ojrflj5bkuKTngrnkuYvpl7TnmoTop5LluqbvvIzlsIbmnaXpg73lj6/mlL7lt6XlhbfnsbtcclxuICAgIGNhbGN1bGF0ZUFuZ2xlKHgxLCB5MSwgeDIsIHkyKSB7XHJcbiAgICAgICAgdmFyIGFuZ2xlID0gTWF0aC5hdGFuMih5Mi15MSx4Mi14MSkqMTgwIC8gTWF0aC5QSSAtIDkwO1xyXG4gICAgICAgIHJldHVybiAtYW5nbGU7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluS4pOeCueS5i+mXtOeahOi3neemuyDov5Tlm57lr7nlupTml7bpl7RcclxuICAgIGNhbGN1bGF0ZURpc3RhbmNlKHgxLCB5MSwgeDIsIHkyLCBudW0pIHtcclxuICAgICAgICBjb25zdCBkeCA9IHgyIC0geDE7XHJcbiAgICAgICAgY29uc3QgZHkgPSB5MiAtIHkxO1xyXG4gICAgICAgIGxldCB0aW1lID0gMDtcclxuICAgICAgICB2YXIgZGlzdGFuY2UgPSBNYXRoLnNxcnQoZHgqZHggKyBkeSpkeSk7XHJcbiAgICAgICAgaWYobnVtID09IDEpe1xyXG4gICAgICAgICAgICBpZihkaXN0YW5jZSA+IDgwMCkgZGlzdGFuY2UgPSA4MDA7XHJcbiAgICAgICAgICAgIHRpbWUgPSBkaXN0YW5jZS84MDAgKiAwLjY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDIpe1xyXG4gICAgICAgICAgICBpZihkaXN0YW5jZSA+IDEyMDApIGRpc3RhbmNlID0gMTIwMDtcclxuICAgICAgICAgICAgdGltZSA9IGRpc3RhbmNlLzEyMDAgKiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSAzKXtcclxuICAgICAgICAgICAgaWYoZGlzdGFuY2UgPiAxMjAwKSBkaXN0YW5jZSA9IDEyMDA7XHJcbiAgICAgICAgICAgIHRpbWUgPSBkaXN0YW5jZS8xMjAwICogMS41O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRpbWU7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluS4pOeCueS5i+mXtOi3neemuyAg6L+U5Zue6Led56a75Yik5patXHJcbiAgICBnZXREaXN0YW5jZTIoeDEsIHkxLCB4MiwgeTIsbnVtKSB7XHJcbiAgICAgICAgdmFyIGpnID0gZmFsc2U7XHJcbiAgICAgICAgY29uc3QgZHggPSB4MiAtIHgxO1xyXG4gICAgICAgIGNvbnN0IGR5ID0geTIgLSB5MTtcclxuICAgICAgICB2YXIgZGlzdGFuY2UgPSBNYXRoLnNxcnQoZHgqZHggKyBkeSpkeSk7XHJcbiAgICAgICAgaWYoZGlzdGFuY2UgPiAxNjApe1xyXG4gICAgICAgICAgICBpZihudW0gPT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgICAgICBpZihkaXN0YW5jZSA8IGNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1heERpc3RhbmNlKSBqZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGpnID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gamc7XHJcbiAgICB9XHJcbiAgICAvL+iDjOaZr+enu+WKqFxyXG4gICAgYmdNb3ZlKHR5cGUpe1xyXG4gICAgICAgIGxldCByYW5kb20gPSBNYXRoLnJhbmRvbSgpKjMwMCArIDMwMDtcclxuICAgICAgICBsZXQgcG9zWCA9IE1hdGgucmFuZG9tKCkqNjAwIC0gMzAwO1xyXG4gICAgICAgIGxldCB5MSA9IHRoaXMuYmcxLnkgLSByYW5kb20qdHlwZTtcclxuICAgICAgICBsZXQgdGltZTEgPSAwLjcqKHJhbmRvbS80MDApO1xyXG4gICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbClcclxuICAgICAgICAudG8oMC4zLHtzY2FsZToxLjN9KVxyXG4gICAgICAgIC50byh0aW1lMSx7eDpwb3NYfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICBjYy50d2Vlbih0aGlzLmJnMSlcclxuICAgICAgICAuZGVsYXkoMC4zKVxyXG4gICAgICAgIC50byh0aW1lMSx7eTp5MX0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmKHRoaXMub3ZlciA9PSBmYWxzZSkgdGhpcy5zdGFydEdhbWUoKTtcclxuICAgICAgICB9LCB0aW1lMSoxNTAwKTtcclxuICAgIH1cclxuICAgIC8v5aaC5p6c5piv5YCS6K6h5pe2IOiwg+eUqOatpOaWueazlVxyXG4gICAgdXBkYXRlQ291bnREb3duVGltZSAoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY291bnRUaW1lID4gMCAmJiB0aGlzLnBhdXNlID09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY291bnRUaW1lIC09IDE7XHJcbiAgICAgICAgICAgIHRoaXMudGltZS5zdHJpbmcgPSAgY2MuZnguR2FtZVRvb2wuZ2V0VGltZU1hcmdpbih0aGlzLmNvdW50VGltZSk7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuY291bnRUaW1lIDwgNSl7XHJcbiAgICAgICAgICAgICAgICBjYy50d2Vlbih0aGlzLnRpbWUubm9kZSlcclxuICAgICAgICAgICAgICAgIC50bygwLjI1LHtzY2FsZToxLjUsY29sb3I6Y2MuY29sb3IoMjU1LDAsMCl9KVxyXG4gICAgICAgICAgICAgICAgLnRvKDAuMjUse3NjYWxlOjEsY29sb3I6Y2MuY29sb3IoMjU1LDI1NSwyNTUpfSlcclxuICAgICAgICAgICAgICAgIC5zdGFydCgpXHJcbiAgICAgICAgICAgICAgICBsZXQgb3ZlciA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIk92ZXJcIik7XHJcbiAgICAgICAgICAgICAgICBjYy50d2VlbihvdmVyKVxyXG4gICAgICAgICAgICAgICAgLnRvKDAuMix7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAgICAgLmRlbGF5KDAuMSlcclxuICAgICAgICAgICAgICAgIC50bygwLjIse29wYWNpdHk6MH0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZih0aGlzLmNvdW50VGltZSA8PSAwKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmVnaW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMub3ZlciA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVuc2NoZWR1bGUodGhpcy51cGRhdGVDb3VudERvd25UaW1lKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9zcygpO1xyXG4gICAgICAgICAgICAgICAgdmFyIHRpbWUgPSAwO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5jbGlja0NvdW50ID4gMCkgdGltZSA9IHBhcnNlSW50KGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tZWFuX1RpbWUvdGhpcy5jbGlja0NvdW50ICsgXCJcIik7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWVhbl9UaW1lID0gcGFyc2VJbnQodGltZS8xMDAgKyBcIlwiKTtcclxuICAgICAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tZWFuX1RpbWUgPSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWVhbl9UaW1lIC8xMDtcclxuICAgICAgICAgICAgICAgIGlmKHRpbWUgPiAxMDAwMCkgdGltZSA9IChNYXRoLnJhbmRvbSgpKjEwKzUpKjEwMDtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ2FtZU92ZXIodGltZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+S4iuS8oOavj+asoeaTjeS9nOaVsOaNrlxyXG4gICAgc2V0RGF0YSgpe1xyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRHYW1lRGF0YSgpO1xyXG4gICAgfVxyXG4gICAgLy/kuIrkvKDmjpLooYzmppzmlbDmja5cclxuICAgIGdhbWVPdmVyKHRpbWUpe1xyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRSYW5rKHRpbWUpO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikpXHJcbiAgICAgICAgLnRvKDAuNCx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgyKVxyXG4gICAgICAgIC50bygwLjQse29wYWNpdHk6NTB9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJPdmVyU2NlbmVcIik7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKVxyXG4gICAgfVxyXG4gICAgLy/kvZzlvIrvvIzmtYvor5XnlKhcclxuICAgIHNob3dOdW1iZXIoKXtcclxuICAgICAgICBpZih0aGlzLnNob3cgPT0gZmFsc2UpIHRoaXMuc2hvdyA9IHRydWU7XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnNob3cgPT0gdHJ1ZSkgdGhpcy5zaG93ID0gZmFsc2U7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ldLmdldENvbXBvbmVudChcIlN1blwiKS5zaG93TnVtYmVyKHRoaXMuc2hvdyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25FbmFibGUgKCkge1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oXCJjbGlja1N1blwiLCB0aGlzLmNsaWNrU3VuLCB0aGlzKTtcclxuICAgIH1cclxuICAgIG9uRGlzYWJsZSAoKSB7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoXCJjbGlja1N1blwiLCB0aGlzLmNsaWNrU3VuKTtcclxuICAgIH1cclxuICAgIHVwZGF0ZSAoZHQpIHtcclxuICAgIH1cclxufVxyXG4iXX0= -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/module/Config/GameConfig.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'c5692vnhwNF5J9nI7VNKQNW', 'GameConfig'); -// Script/module/Config/GameConfig.ts - -"use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.GameConfig = void 0; -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var GameConfig = /** @class */ (function () { - function GameConfig() { - } - GameConfig_1 = GameConfig; - Object.defineProperty(GameConfig, "Instance", { - get: function () { - if (this._instance == null) { - this._instance = new GameConfig_1(); - } - return this._instance; - }, - enumerable: false, - configurable: true - }); - GameConfig.init = function () { - var _this = this; - cc.resources.load('Json/GM_INFO', function (err, res) { - if (err) { - _this.GM_INFO_init(); - _this.Authentication(); - return; - } - var jsonData = res.json; - _this.GM_INFO = jsonData["data"]; - _this.Authentication(); - }); - cc.resources.load('Json/CLICK_DATA', function (err, res) { - if (err) { - _this.CLICK_init(); - return; - } - var jsonData = res.json; - _this.CLICK_DATA = jsonData["data"]; - }); - cc.resources.load('Json/LEVEL_INFO', function (err, res) { - if (err) { - _this.LEVEL_INFO_init(); - return; - } - var jsonData = res.json; - _this.LEVEL_INFO = jsonData["data"]; - }); - //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次 - this.GAME_DATA = []; - }; - //数据备用 - GameConfig.GM_INFO_init = function () { - this.GM_INFO = { - // isEnd: false, - mean_Time: 0, - total: 0, - currSeed: 203213, - gameId: '100009', - userId: 0, - guide: true, - url: "http://api.sparkus.cn", - success: false, - matchId: null, - custom: 0 //用于测试跳关卡 - }; - }; - GameConfig.CLICK_init = function () { - this.CLICK_DATA = - { - type: 1, - success: false, - round: 0, - totalSunCount: 0, - movedSunCount: 0, - sunSpeed: 0, - overlapSunCount: 0, - colorList: [], - duration: 0, - difficultyLevel: 0, - sunList: [], - stepTimeList: [], - remainder: 120 //游戏剩余时间 - }; - }; - GameConfig.LEVEL_INFO_init = function () { - this.LEVEL_INFO = [ - { - number: 3, - moveNumber: 0, - moveSpeed: 0, - maxDistance: 200, - maxMove: 1200, - repeat: 0 //是否重叠,现在0 不重叠 1 重叠1个 - }, - { - number: 4, - moveNumber: 0, - moveSpeed: 0, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 4, - moveNumber: 0, - moveSpeed: 0, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 5, - moveNumber: 1, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 5, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 6, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 6, - moveNumber: 3, - moveSpeed: 4, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 7, - moveNumber: 0, - moveSpeed: 4, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 7, - moveNumber: 3, - moveSpeed: 4, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 7, - moveNumber: 3, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 8, - moveNumber: 3, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 8, - moveNumber: 5, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 9, - moveNumber: 3, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 9, - moveNumber: 5, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 10, - moveNumber: 5, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 3, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 4, - moveNumber: 0, - moveSpeed: 0, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 4, - moveNumber: 1, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 4, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 4, - moveNumber: 1, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 5, - moveNumber: 1, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 5, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 5, - moveNumber: 1, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 5, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 5, - moveNumber: 3, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - } - ]; - }; - GameConfig.Authentication = function () { - cc.fx.GameTool.Authentication(); - }; - var GameConfig_1; - //所有控制信息都通过GameAppStart内控制 - GameConfig._instance = null; - GameConfig = GameConfig_1 = __decorate([ - ccclass('GameConfig') - ], GameConfig); - return GameConfig; -}()); -exports.GameConfig = GameConfig; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENvbmZpZ1xcR2FtZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFTSxJQUFBLEtBQXdCLEVBQUUsQ0FBQyxVQUFVLEVBQW5DLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBa0IsQ0FBQztBQUU1QztJQUFBO0lBdVVBLENBQUM7bUJBdlVZLFVBQVU7SUEyQ25CLHNCQUFXLHNCQUFRO2FBQW5CO1lBRUksSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksRUFDMUI7Z0JBQ0ksSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFlBQVUsRUFBRSxDQUFDO2FBQ3JDO1lBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzFCLENBQUM7OztPQUFBO0lBRU0sZUFBSSxHQUFYO1FBQUEsaUJBK0JDO1FBOUJHLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFDLEdBQVEsRUFBRSxHQUFpQjtZQUMxRCxJQUFJLEdBQUcsRUFBRTtnQkFDTCxLQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BCLEtBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdEIsT0FBTzthQUNWO1lBQ0QsSUFBSSxRQUFRLEdBQVcsR0FBRyxDQUFDLElBQUssQ0FBQztZQUNqQyxLQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoQyxLQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUE7UUFDRixFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxVQUFDLEdBQVEsRUFBRSxHQUFpQjtZQUM3RCxJQUFJLEdBQUcsRUFBRTtnQkFDTCxLQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2xCLE9BQU87YUFDVjtZQUNELElBQUksUUFBUSxHQUFXLEdBQUcsQ0FBQyxJQUFLLENB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LEVBQUUsQ0FBQzthQUNaO1NBRUosQ0FBQTtJQUNMLENBQUM7SUFDTSx5QkFBYyxHQUFyQjtRQUNJLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7O0lBclVELDBCQUEwQjtJQUNYLG9CQUFTLEdBQWdCLElBQUksQ0FBQztJQUZwQyxVQUFVO1FBRHRCLE9BQU8sQ0FBQyxZQUFZLENBQUM7T0FDVCxVQUFVLENBdVV0QjtJQUFELGlCQUFDO0NBdlVELEFBdVVDLElBQUE7QUF2VVksZ0NBQVUiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbkBjY2NsYXNzKCdHYW1lQ29uZmlnJylcclxuZXhwb3J0IGNsYXNzIEdhbWVDb25maWcgIHtcclxuICAgIC8v5omA5pyJ5o6n5Yi25L+h5oGv6YO96YCa6L+HR2FtZUFwcFN0YXJ05YaF5o6n5Yi2XHJcbiAgICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2UgOiBHYW1lQ29uZmlnID0gbnVsbDtcclxuICAgIC8v55So5LqO55ub5pS+5Z+L54K55pWw5o2u5LiK5Lyg77yM5q+P5qyh5LiK5Lyg5ZCO5riF56m6XHJcbiAgICBzdGF0aWMgR01fSU5GTzoge1xyXG4gICAgICAgIC8vIGlzRW5kOiBmYWxzZSxcclxuICAgICAgICBtZWFuX1RpbWU6IG51bWJlcjsgLy/lubPlnYfmlL7nrq3pgJ/luqZcclxuICAgICAgICB0b3RhbDogbnVtYmVyOyAvL+aAu+WFseWvueeahOS4quaVsFxyXG4gICAgICAgIGN1cnJTZWVkOiBudW1iZXI7IC8v55So5LqO6ZqP5py65pWw56eN5a2QXHJcbiAgICAgICAgZ2FtZUlkOiBzdHJpbmc7IC8v5ri45oiPSURcclxuICAgICAgICB1c2VySWQ6IG51bWJlcjsgLy/nlKjmiLdJRFxyXG4gICAgICAgIGd1aWRlOiBib29sZWFuOyAvL+aYr+WQpuacieW8leWvvFxyXG4gICAgICAgIHVybDogc3RyaW5nOyAvL+iuv+mXruWfn+WQjVxyXG4gICAgICAgIHN1Y2Nlc3M6IGJvb2xlYW47IC8v55So5oi35ri45oiP5oiQ5Yqf5LiO5ZCmXHJcbiAgICAgICAgbWF0Y2hJZDogYW55OyAvL+eUqOS6juWfi+eCueS4iuS8oOeahElEXHJcbiAgICAgICAgY3VzdG9tOiBudW1iZXI7IC8v55So5LqO5rWL6K+V6Lez5YWz5Y2hXHJcbiAgICB9O1xyXG4gICAgc3RhdGljIENMSUNLX0RBVEE6IHtcclxuICAgICAgICB0eXBlOiBudW1iZXI7IC8v5LiK5Lyg5pWw5o2u57G75Z6LXHJcbiAgICAgICAgc3VjY2VzczogYm9vbGVhbjsgLy/mraTlsYDmuLjmiI/og5zotJ8gICAgXHJcbiAgICAgICAgcm91bmQ6IG51bWJlcjsgLy/lm57lkIjmlbBcclxuICAgICAgICB0b3RhbFN1bkNvdW50OiBudW1iZXI7IC8v5aSq6Ziz5oC75pWwXHJcbiAgICAgICAgbW92ZWRTdW5Db3VudDogbnVtYmVyOyAvL+WPr+enu+WKqOWkqumYs+S4quaVsFxyXG4gICAgICAgIHN1blNwZWVkOiBudW1iZXI7IC8v5aSq6Ziz56e75Yqo6YCf5bqmXHJcbiAgICAgICAgb3ZlcmxhcFN1bkNvdW50OiBudW1iZXI7IC8v6YeN5Y+g5aSq6Ziz5Liq5pWwXHJcbiAgICAgICAgY29sb3JMaXN0OiBhbnlbXTsgLy/lpKrpmLPpopzoibLmlbDnu4RcclxuICAgICAgICBkdXJhdGlvbjogbnVtYmVyOyAvL+avj+asoeeCueWHu+eahOWPjeW6lOaXtumXtFxyXG4gICAgICAgIGRpZmZpY3VsdHlMZXZlbDogbnVtYmVyOyAvL+atpOasoemavuW6plxyXG4gICAgICAgIHN1bkxpc3Q6IGFueVtdOyAvL+WkqumYs+aVsOe7hO+8jOeUqOS6juWtmOaUvuWkqumYs+exu+WeiyAwOuaZrumAmiAxOuenu+WKqCAyOumHjeWPoFxyXG4gICAgICAgIHN0ZXBUaW1lTGlzdDogYW55W107IC8v5q+P5qyh54K55Ye76Ze06ZqUXHJcbiAgICAgICAgcmVtYWluZGVyOiBudW1iZXI7IC8v5ri45oiP5Ymp5L2Z5pe26Ze0XHJcbiAgICB9O1xyXG4gICAgc3RhdGljIExFVkVMX0lORk86IHsgLy/nrKzkuIDpmr7luqZcclxuICAgICAgICBudW1iZXI6IG51bWJlcjsgLy/lpKrpmLPmgLvmlbAgXHJcbiAgICAgICAgbW92ZU51bWJlcjogbnVtYmVyOyAvL+WkqumYs+WPr+enu+WKqOS4quaVsFxyXG4gICAgICAgIG1vdmVTcGVlZDogbnVtYmVyOyAvL+WkqumYs+enu+WKqOmAn+W6puetiee6p1xyXG4gICAgICAgIG1heERpc3RhbmNlOiBudW1iZXI7IC8v5biD5bGA5ZCO56e75Yqo5pyA5aSn6Led56a7XHJcbiAgICAgICAgbWF4TW92ZTogbnVtYmVyOyAvL+avj+S4quWkqumYs+S5i+mXtOi3neemu+acgOWkp+mXtOi3nVxyXG4gICAgICAgIHJlcGVhdDogbnVtYmVyOyAvL+aYr+WQpumHjeWPoO+8jOeOsOWcqDAg5LiN6YeN5Y+gIDEg6YeN5Y+gMeS4qlxyXG4gICAgfVtdO1xyXG4gICAgc3RhdGljIEdBTUVfREFUQTogYW55W107XHJcblxyXG5cclxuICAgIHN0YXRpYyBnZXQgSW5zdGFuY2UoKVxyXG4gICAge1xyXG4gICAgICAgIGlmICh0aGlzLl9pbnN0YW5jZSA9PSBudWxsKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5faW5zdGFuY2UgPSBuZXcgR2FtZUNvbmZpZygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5faW5zdGFuY2U7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGluaXQoKXtcclxuICAgICAgICBjYy5yZXNvdXJjZXMubG9hZCgnSnNvbi9HTV9JTkZPJywgKGVycjogYW55LCByZXM6IGNjLkpzb25Bc3NldCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXJyKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLkdNX0lORk9faW5pdCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5BdXRoZW50aWNhdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBqc29uRGF0YTogb2JqZWN0ID0gcmVzLmpzb24hO1xyXG4gICAgICAgICAgICB0aGlzLkdNX0lORk8gPSBqc29uRGF0YVtcImRhdGFcIl07XHJcbiAgICAgICAgICAgIHRoaXMuQXV0aGVudGljYXRpb24oKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIGNjLnJlc291cmNlcy5sb2FkKCdKc29uL0NMSUNLX0RBVEEnLCAoZXJyOiBhbnksIHJlczogY2MuSnNvbkFzc2V0KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlcnIpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuQ0xJQ0tfaW5pdCgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBqc29uRGF0YTogb2JqZWN0ID0gcmVzLmpzb24hO1xyXG4gICAgICAgICAgICB0aGlzLkNMSUNLX0RBVEEgPSBqc29uRGF0YVtcImRhdGFcIl07XHJcbiAgICAgICAgfSlcclxuICAgICAgICBjYy5yZXNvdXJjZXMubG9hZCgnSnNvbi9MRVZFTF9JTkZPJywgKGVycjogYW55LCByZXM6IGNjLkpzb25Bc3NldCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXJyKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLkxFVkVMX0lORk9faW5pdCgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBqc29uRGF0YTogb2JqZWN0ID0gcmVzLmpzb24hO1xyXG4gICAgICAgICAgICB0aGlzLkxFVkVMX0lORk8gPSBqc29uRGF0YVtcImRhdGFcIl07XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgICAgLy9HQU1FX0RBVEEg5bqf5byD5LqG77yM5pqC5pe25LiN5Yig6Zmk5Lul6Ziy5ZCO6Z2i5L+u5pS55ZueIOS4gOaVtOWxgOS8oOS4gOasoVxyXG4gICAgICAgIHRoaXMuR0FNRV9EQVRBID0gW1xyXG4gICAgICAgIF1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy/mlbDmja7lpIfnlKhcclxuICAgIHN0YXRpYyBHTV9JTkZPX2luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5HTV9JTkZPID0ge1xyXG4gICAgICAgICAgICAvLyBpc0VuZDogZmFsc2UsXHJcbiAgICAgICAgICAgIG1lYW5fVGltZTogMCwgICAgICAgICAgICAgICAgLy/lubPlnYfmlL7nrq3pgJ/luqZcclxuICAgICAgICAgICAgdG90YWw6IDAsICAgICAgICAgICAgICAgICAgICAvL+aAu+WFseWvueeahOS4quaVsFxyXG4gICAgICAgICAgICBjdXJyU2VlZDogMjAzMjEzLCAgICAgICAgICAgLy/nlKjkuo7pmo/mnLrmlbDnp43lrZBcclxuICAgICAgICAgICAgZ2FtZUlkOiAnMTAwMDA5JywgICAgICAgICAgIC8v5ri45oiPSURcclxuICAgICAgICAgICAgdXNlcklkOiAwLCAgICAgICAgICAgICAgICAgIC8v55So5oi3SURcclxuICAgICAgICAgICAgZ3VpZGU6IHRydWUsICAgICAgICAgICAgICAgICAvL+aYr+WQpuacieW8leWvvFxyXG4gICAgICAgICAgICB1cmw6IFwiaHR0cDovL2FwaS5zcGFya3VzLmNuXCIsLy/orr/pl67ln5/lkI1cclxuICAgICAgICAgICAgc3VjY2VzczogZmFsc2UsICAgICAgICAgICAgIC8v55So5oi35ri45oiP5oiQ5Yqf5LiO5ZCmXHJcbiAgICAgICAgICAgIG1hdGNoSWQ6IG51bGwsICAgICAgICAgICAgICAvL+eUqOS6juWfi+eCueS4iuS8oOeahElEXHJcbiAgICAgICAgICAgIGN1c3RvbTogMCAgICAgICAgICAgICAgICAgICAvL+eUqOS6jua1i+ivlei3s+WFs+WNoVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgQ0xJQ0tfaW5pdCgpIHtcclxuICAgICAgICB0aGlzLkNMSUNLX0RBVEEgPVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdHlwZTogMSwgICAgICAgICAgICAvL+S4iuS8oOaVsOaNruexu+Wei1xyXG4gICAgICAgICAgICBzdWNjZXNzOiBmYWxzZSwgICAgIC8v5q2k5bGA5ri45oiP6IOc6LSfICAgIFxyXG4gICAgICAgICAgICByb3VuZDogMCwgICAgICAgICAgIC8v5Zue5ZCI5pWwXHJcbiAgICAgICAgICAgIHRvdGFsU3VuQ291bnQ6IDAsICAgLy/lpKrpmLPmgLvmlbBcclxuICAgICAgICAgICAgbW92ZWRTdW5Db3VudDogMCwgICAvL+WPr+enu+WKqOWkqumYs+S4quaVsFxyXG4gICAgICAgICAgICBzdW5TcGVlZDogMCwgICAgICAgIC8v5aSq6Ziz56e75Yqo6YCf5bqmXHJcbiAgICAgICAgICAgIG92ZXJsYXBTdW5Db3VudDogMCwgLy/ph43lj6DlpKrpmLPkuKrmlbBcclxuICAgICAgICAgICAgY29sb3JMaXN0OiBbXSwgICAgICAvL+WkqumYs+minOiJsuaVsOe7hFxyXG4gICAgICAgICAgICBkdXJhdGlvbjogMCwgICAgICAgIC8v5q+P5qyh54K55Ye755qE5Y+N5bqU5pe26Ze0XHJcbiAgICAgICAgICAgIGRpZmZpY3VsdHlMZXZlbDogMCwgLy/mraTmrKHpmr7luqZcclxuICAgICAgICAgICAgc3VuTGlzdDogW10sICAgICAgICAvL+WkqumYs+aVsOe7hO+8jOeUqOS6juWtmOaUvuWkqumYs+exu+WeiyAwOuaZrumAmiAxOuenu+WKqCAyOumHjeWPoFxyXG4gICAgICAgICAgICBzdGVwVGltZUxpc3Q6IFtdLCAgIC8v5q+P5qyh54K55Ye76Ze06ZqUXHJcbiAgICAgICAgICAgIHJlbWFpbmRlcjogMTIwICAgICAgLy/muLjmiI/liankvZnml7bpl7RcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgTEVWRUxfSU5GT19pbml0KCkge1xyXG4gICAgICAgIHRoaXMuTEVWRUxfSU5GTyA9IFtcclxuICAgICAgICAgICAgeyAgIC8v56ys5LiA6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDMsICAgICAgIC8v5aSq6Ziz5oC75pWwIFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCwgICAvL+WkqumYs+WPr+enu+WKqOS4quaVsFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiAwLCAgICAvL+WkqumYs+enu+WKqOmAn+W6puetiee6p1xyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCwgLy/luIPlsYDlkI7np7vliqjmnIDlpKfot53nprtcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsICAgIC8v5q+P5Liq5aSq6Ziz5LmL6Ze06Led56a75pyA5aSn6Ze06LedXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDAgICAgICAgIC8v5piv5ZCm6YeN5Y+g77yM546w5ZyoMCDkuI3ph43lj6AgMSDph43lj6Ax5LiqXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOS6jOmavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogMCxcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOS4iemavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogMCxcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOWbm+mavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOS6lOmavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOWFremavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA2LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOS4g+mavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA2LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNCxcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOWFq+mavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA3LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNCxcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOS5nemavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA3LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNCxcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOWNgemavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA3LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOWNgeS4gOmavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA4LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOWNgeS6jOmavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA4LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOWNgeS4iemavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA5LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOWNgeWbm+mavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA5LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOWNgeS6lOmavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiAxMCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xMSBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogMyxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xMiBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDAsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xMyBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xNCBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xNSBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xNiBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xNyBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xOCBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xOSBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDIsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8yMCBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDMsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIF1cclxuICAgIH1cclxuICAgIHN0YXRpYyBBdXRoZW50aWNhdGlvbigpe1xyXG4gICAgICAgIGNjLmZ4LkdhbWVUb29sLkF1dGhlbnRpY2F0aW9uKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbiJdfQ== -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/module/Storage/Storage.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '1002938VFRJd70RiAno9Iys', 'Storage'); -// Script/module/Storage/Storage.ts - -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.StorageMessage = void 0; -//缓存浏览器数据 -var StorageMessage = { - getStorage: function (key) { - var result = null; - if (cc.sys.localStorage.getItem(key)) { - var result = cc.sys.localStorage.getItem(key); - } - if (result) { - result = JSON.parse(result); - } - return result; - }, - setStorage: function (key, value) { - //主动拉起分享接口 - var temp = JSON.stringify(value); - cc.sys.localStorage.setItem(key, temp); - }, - removeStorage: function (key) { - //主动删除消息接口 - if (cc.sys.localStorage.getItem(key)) { - cc.sys.localStorage.removeItem(key); - } - }, -}; -exports.StorageMessage = StorageMessage; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFN0b3JhZ2VcXFN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsU0FBUztBQUNULElBQUksY0FBYyxHQUFHO0lBQ2pCLFVBQVUsRUFBRyxVQUFTLEdBQUc7UUFDckIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDO1lBQ2xDLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMvQztRQUVELElBQUcsTUFBTSxFQUFDO1lBQ1IsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDN0I7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBQ0QsVUFBVSxFQUFHLFVBQVMsR0FBRyxFQUFDLEtBQUs7UUFDM0IsVUFBVTtRQUNWLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0lBQ0QsYUFBYSxFQUFHLFVBQVMsR0FBRztRQUMxQixVQUFVO1FBQ1YsSUFBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUM7WUFDbEMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1NBQ3BDO0lBQ0gsQ0FBQztDQUNKLENBQUM7QUFFTyx3Q0FBYyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8v57yT5a2Y5rWP6KeI5Zmo5pWw5o2uXG52YXIgU3RvcmFnZU1lc3NhZ2UgPSB7XG4gICAgZ2V0U3RvcmFnZSA6IGZ1bmN0aW9uKGtleSl7XG4gICAgICAgIHZhciByZXN1bHQgPSBudWxsO1xuICAgICAgICBpZihjYy5zeXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KSl7XG4gICAgICAgICAgdmFyIHJlc3VsdCA9IGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBpZihyZXN1bHQpe1xuICAgICAgICAgIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzdWx0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sXG4gICAgc2V0U3RvcmFnZSA6IGZ1bmN0aW9uKGtleSx2YWx1ZSl7XG4gICAgICAgIC8v5Li75Yqo5ouJ6LW35YiG5Lqr5o6l5Y+jXG4gICAgICAgIHZhciB0ZW1wID0gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICAgICAgICBjYy5zeXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCB0ZW1wKVxuICAgIH0sXG4gICAgcmVtb3ZlU3RvcmFnZSA6IGZ1bmN0aW9uKGtleSl7XG4gICAgICAvL+S4u+WKqOWIoOmZpOa2iOaBr+aOpeWPo1xuICAgICAgaWYoY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSkpe1xuICAgICAgICBjYy5zeXMubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KVxuICAgICAgfVxuICAgIH0sXG59O1xuXG5leHBvcnQgeyBTdG9yYWdlTWVzc2FnZSB9OyJdfQ== -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/module/GameStart/GameAppStart.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '61d4ccY2ztLMYIh8WvqPPAw', 'GameAppStart'); -// Script/module/GameStart/GameAppStart.ts - -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var GameConfig_1 = require("../Config/GameConfig"); -var HttpUtil_1 = require("../Crypto/HttpUtil"); -var AudioManager_1 = require("../Music/AudioManager"); -var Notification_1 = require("../Notification/Notification"); -var Storage_1 = require("../Storage/Storage"); -var GameTool_1 = require("../Tool/GameTool"); -window.initMgr = function () { - if (cc.fx) { - return; - } - cc.fx = {}; - console.log("初始化"); - //基础状态信息 - cc.fx.StateInfo = { - debugMode: true, - networkConnected: true, - networkType: 'none', - isOnForeground: true //当前是否是在前台 - }; - //应用系统信息 - //配置文件 - cc.fx.GameConfig = GameConfig_1.GameConfig; - cc.fx.HttpUtil = HttpUtil_1.default; - cc.fx.GameTool = GameTool_1.GameTool; - cc.fx.AudioManager = AudioManager_1.default; - cc.fx.Notifications = Notification_1.Notifications; - cc.fx.StorageMessage = Storage_1.StorageMessage; - cc.fx.ShareInfo = { - queryId: -1 //分享id - }; - /* - * 客户端埋点分享类型 - */ - cc.fx.BurialShareType = { - Default: "default", - Invite: "invite", - DailyInviteRoomJoin: 'invite_join_room', - DailyInviteFriend: 'invite_friend', - DailyInviteGroup: 'invate_group', - DailyInviteGroupAlive: 'invate_alive', - DailyInviteGroupReward: 'invate_rewared', - DailyInviteGroupBox: 'invate_box', - DailyInviteGroupBall: 'invate_ball', - MatchResult: 'matchResult', - MatchFix5: 'MatchFix5', - MatchFix20: 'MatchFix20', - MatchFix100: 'MatchFix100', - MatchFix500: 'MatchFix500', - NewerRedEnvelope: 'newerRedEnvelope', - CoinRoomResult: 'coinRoomResult', - HighRate: "highRate", - CoinRoomWinStreak: 'coinRoomWinStreak', - CoinRoomBankruptcy1: 'coinRoomBankruptcy1', - CoinRoomBankruptcy2: 'coinRoomBankruptcy2', - CoinRoomBankruptcy3: 'coinRoomBankruptcy3', - }; - /* - * 分享到哪儿给奖励 group frined all - */ - cc.fx.ShareWhereReward = { - Group: "group", - Friend: "friend", - All: "all", - }; - //暂时不用 - cc.fx.clickStatEventType = { - clickStatEventTypeVideoAD: 20173201, - clickStatEventTypeClickAdVideo: 20173202, - clickStatEventTypeBannerAD: 20173203, - clickStatEventTypeUserFrom: 99990001, - clickStatEventTypeShare: 99990002, - clickStatEventTypeClickAdBtn: 99990007, - clickStatEventTypeBannerAD2: 67890033, - clickStatEventTypeSubmitVersionInfo: 9999, - clickStatEventTypeClickFirstAd: 99990003, - clickStatEventTypeClickSecondAd: 99990004, - clickStatEventTypeWxLoginStart: 10001, - clickStatEventTypeWxLoginSuccess: 10002, - clickStatEventTypeWxLoginFailed: 10003, - clickStatEventTypeAuthorizationStart: 10003, - clickStatEventTypeAuthorizationSuccess: 10004, - clickStatEventTypeAuthorizationFailed: 10005, - clickStatEventTypeLoginSDKStart: 10007, - clickStatEventTypeLoginSDKSuccess: 10008, - clickStatEventTypeLoginSDKFailed: 10009, - clickStatEventTypeTCP_Start: 10009, - clickStatEventTypeTCP_Success: 10010, - clickStatEventTypeTCP_Failed: 10011, - }; -}; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXEdhbWVTdGFydFxcR2FtZUFwcFN0YXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQWtEO0FBQ2xELCtDQUEwQztBQUMxQyxzREFBaUQ7QUFFakQsNkRBQTZEO0FBQzdELDhDQUFvRDtBQUNwRCw2Q0FBNEM7QUFFNUMsTUFBTSxDQUFDLE9BQU8sR0FBRztJQUNiLElBQUcsRUFBRSxDQUFDLEVBQUUsRUFDUjtRQUNJLE9BQU87S0FDVjtJQUNELEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQixRQUFRO0lBQ1IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUc7UUFDZCxTQUFTLEVBQUUsSUFBSTtRQUNmLGdCQUFnQixFQUFFLElBQUk7UUFDdEIsV0FBVyxFQUFFLE1BQU07UUFDbkIsY0FBYyxFQUFFLElBQUksQ0FBTSxVQUFVO0tBQ3ZDLENBQUM7SUFFRixRQUFRO0lBQ1IsTUFBTTtJQUNOLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxHQUFHLHVCQUFVLENBQUM7SUFDOUIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEdBQUcsa0JBQVEsQ0FBQztJQUMxQixFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsR0FBRyxtQkFBUSxDQUFDO0lBQzFCLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxHQUFHLHNCQUFZLENBQUM7SUFDbEMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEdBQUcsNEJBQWEsQ0FBQztJQUNwQyxFQUFFLENBQUMsRUFBRSxDQUFDLGNBQWMsR0FBRyx3QkFBYyxDQUFDO0lBRXRDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHO1FBQ2QsT0FBTyxFQUFHLENBQUMsQ0FBQyxDQUFjLE1BQU07S0FDbkMsQ0FBQztJQUVGOztNQUVFO0lBQ0YsRUFBRSxDQUFDLEVBQUUsQ0FBQyxlQUFlLEdBQUc7UUFDcEIsT0FBTyxFQUFHLFNBQVM7UUFDbkIsTUFBTSxFQUFHLFFBQVE7UUFFakIsbUJBQW1CLEVBQUMsa0JBQWtCO1FBQ3RDLGlCQUFpQixFQUFHLGVBQWU7UUFDbkMsZ0JBQWdCLEVBQUcsY0FBYztRQUNqQyxxQkFBcUIsRUFBRSxjQUFjO1FBQ3JDLHNCQUFzQixFQUFFLGdCQUFnQjtRQUN4QyxtQkFBbUIsRUFBRSxZQUFZO1FBQ2pDLG9CQUFvQixFQUFFLGFBQWE7UUFFbkMsV0FBVyxFQUFHLGFBQWE7UUFDM0IsU0FBUyxFQUFFLFdBQVc7UUFDdEIsVUFBVSxFQUFFLFlBQVk7UUFDeEIsV0FBVyxFQUFFLGFBQWE7UUFDMUIsV0FBVyxFQUFFLGFBQWE7UUFDMUIsZ0JBQWdCLEVBQUUsa0JBQWtCO1FBQ3BDLGNBQWMsRUFBRSxnQkFBZ0I7UUFDaEMsUUFBUSxFQUFHLFVBQVU7UUFDckIsaUJBQWlCLEVBQUUsbUJBQW1CO1FBQ3RDLG1CQUFtQixFQUFFLHFCQUFxQjtRQUMxQyxtQkFBbUIsRUFBRSxxQkFBcUI7UUFDMUMsbUJBQW1CLEVBQUUscUJBQXFCO0tBQzdDLENBQUM7SUFFRjs7T0FFRztJQUNILEVBQUUsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEdBQUc7UUFDckIsS0FBSyxFQUFFLE9BQU87UUFDZCxNQUFNLEVBQUcsUUFBUTtRQUNqQixHQUFHLEVBQUcsS0FBSztLQUNkLENBQUM7SUFHRixNQUFNO0lBQ04sRUFBRSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsR0FBRztRQUN2Qix5QkFBeUIsRUFBRyxRQUFRO1FBQ3BDLDhCQUE4QixFQUFHLFFBQVE7UUFDekMsMEJBQTBCLEVBQUcsUUFBUTtRQUNyQywwQkFBMEIsRUFBRyxRQUFRO1FBQ3JDLHVCQUF1QixFQUFHLFFBQVE7UUFDbEMsNEJBQTRCLEVBQUcsUUFBUTtRQUN2QywyQkFBMkIsRUFBRyxRQUFRO1FBQ3RDLG1DQUFtQyxFQUFHLElBQUk7UUFDMUMsOEJBQThCLEVBQUcsUUFBUTtRQUN6QywrQkFBK0IsRUFBRyxRQUFRO1FBQzFDLDhCQUE4QixFQUFHLEtBQUs7UUFDdEMsZ0NBQWdDLEVBQUcsS0FBSztRQUN4QywrQkFBK0IsRUFBRyxLQUFLO1FBQ3ZDLG9DQUFvQyxFQUFHLEtBQUs7UUFDNUMsc0NBQXNDLEVBQUcsS0FBSztRQUM5QyxxQ0FBcUMsRUFBRyxLQUFLO1FBQzdDLCtCQUErQixFQUFHLEtBQUs7UUFDdkMsaUNBQWlDLEVBQUcsS0FBSztRQUN6QyxnQ0FBZ0MsRUFBRyxLQUFLO1FBQ3hDLDJCQUEyQixFQUFHLEtBQUs7UUFDbkMsNkJBQTZCLEVBQUcsS0FBSztRQUNyQyw0QkFBNEIsRUFBRyxLQUFLO0tBQ3ZDLENBQUM7QUFFTixDQUFDLENBQUMiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHYW1lQ29uZmlnIH0gZnJvbSBcIi4uL0NvbmZpZy9HYW1lQ29uZmlnXCI7XHJcbmltcG9ydCBIdHRwVXRpbCBmcm9tIFwiLi4vQ3J5cHRvL0h0dHBVdGlsXCI7XHJcbmltcG9ydCBBdWRpb01hbmFnZXIgZnJvbSBcIi4uL011c2ljL0F1ZGlvTWFuYWdlclwiO1xyXG5cclxuaW1wb3J0IHsgTm90aWZpY2F0aW9ucyB9IGZyb20gXCIuLi9Ob3RpZmljYXRpb24vTm90aWZpY2F0aW9uXCI7XHJcbmltcG9ydCB7IFN0b3JhZ2VNZXNzYWdlIH0gZnJvbSBcIi4uL1N0b3JhZ2UvU3RvcmFnZVwiO1xyXG5pbXBvcnQgeyBHYW1lVG9vbCB9IGZyb20gXCIuLi9Ub29sL0dhbWVUb29sXCI7XHJcblxyXG53aW5kb3cuaW5pdE1nciA9IGZ1bmN0aW9uKCkge1xyXG4gICAgaWYoY2MuZngpXHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY2MuZnggPSB7fTtcclxuICAgIGNvbnNvbGUubG9nKFwi5Yid5aeL5YyWXCIpO1xyXG4gICAgLy/ln7rnoYDnirbmgIHkv6Hmga9cclxuICAgIGNjLmZ4LlN0YXRlSW5mbyA9IHtcclxuICAgICAgICBkZWJ1Z01vZGU6IHRydWUsXHJcbiAgICAgICAgbmV0d29ya0Nvbm5lY3RlZDogdHJ1ZSwgICAvL+e9kee7nOeKtuaAgVxyXG4gICAgICAgIG5ldHdvcmtUeXBlOiAnbm9uZScsICAgICAgLy/nvZHnu5znsbvlnotcclxuICAgICAgICBpc09uRm9yZWdyb3VuZDogdHJ1ZSAgICAgIC8v5b2T5YmN5piv5ZCm5piv5Zyo5YmN5Y+wXHJcbiAgICB9O1xyXG5cclxuICAgIC8v5bqU55So57O757uf5L+h5oGvXHJcbiAgICAvL+mFjee9ruaWh+S7tlxyXG4gICAgY2MuZnguR2FtZUNvbmZpZyA9IEdhbWVDb25maWc7XHJcbiAgICBjYy5meC5IdHRwVXRpbCA9IEh0dHBVdGlsO1xyXG4gICAgY2MuZnguR2FtZVRvb2wgPSBHYW1lVG9vbDtcclxuICAgIGNjLmZ4LkF1ZGlvTWFuYWdlciA9IEF1ZGlvTWFuYWdlcjtcclxuICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMgPSBOb3RpZmljYXRpb25zO1xyXG4gICAgY2MuZnguU3RvcmFnZU1lc3NhZ2UgPSBTdG9yYWdlTWVzc2FnZTtcclxuXHJcbiAgICBjYy5meC5TaGFyZUluZm8gPSB7XHJcbiAgICAgICAgcXVlcnlJZCA6IC0xICAgICAgICAgICAgICAvL+WIhuS6q2lkXHJcbiAgICB9O1xyXG5cclxuICAgIC8qXHJcbiAgICAgICAgKiDlrqLmiLfnq6/ln4vngrnliIbkuqvnsbvlnotcclxuICAgICovXHJcbiAgICBjYy5meC5CdXJpYWxTaGFyZVR5cGUgPSB7XHJcbiAgICAgICAgRGVmYXVsdCA6IFwiZGVmYXVsdFwiLCAgICAgICAgLy/pu5jorqTliIbkuqvnsbvlnoss5YiG5Lqr5Yiw576kXHJcbiAgICAgICAgSW52aXRlIDogXCJpbnZpdGVcIiwgICAgICAgICAgLy8g6YKA6K+35aW95Y+LXHJcblxyXG4gICAgICAgIERhaWx5SW52aXRlUm9vbUpvaW46J2ludml0ZV9qb2luX3Jvb20nLCAvL+mCgOivt+WlveWPi+WKoOWFpVxyXG4gICAgICAgIERhaWx5SW52aXRlRnJpZW5kIDogJ2ludml0ZV9mcmllbmQnLCAvLyDml6XluLjpgoDor7flpb3lj4tcclxuICAgICAgICBEYWlseUludml0ZUdyb3VwIDogJ2ludmF0ZV9ncm91cCcsIC8vIOaXpeW4uOWIhuS6q+e+pFxyXG4gICAgICAgIERhaWx5SW52aXRlR3JvdXBBbGl2ZTogJ2ludmF0ZV9hbGl2ZScsIC8v5pel5bi45YiG5Lqr576k5aSN5rS7XHJcbiAgICAgICAgRGFpbHlJbnZpdGVHcm91cFJld2FyZDogJ2ludmF0ZV9yZXdhcmVkJywvL+WIhuS6q+WlluWKsee/u+WAjVxyXG4gICAgICAgIERhaWx5SW52aXRlR3JvdXBCb3g6ICdpbnZhdGVfYm94JywgIC8v5a6d566x5YiG5Lqr5aWW5YqxXHJcbiAgICAgICAgRGFpbHlJbnZpdGVHcm91cEJhbGw6ICdpbnZhdGVfYmFsbCcsICAvL+WIhuS6q+mihuWPlueQg+eQg1xyXG5cclxuICAgICAgICBNYXRjaFJlc3VsdCA6ICdtYXRjaFJlc3VsdCcsICAvLyDmr5TotZvnu5PnrpfliIbkuqtcclxuICAgICAgICBNYXRjaEZpeDU6ICdNYXRjaEZpeDUnLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gNeWFg+e6ouWMhei1m1xyXG4gICAgICAgIE1hdGNoRml4MjA6ICdNYXRjaEZpeDIwJywgICAgICAgICAgICAgICAgICAgICAgICAvLyAyMOWFg+e6ouWMhei1m1xyXG4gICAgICAgIE1hdGNoRml4MTAwOiAnTWF0Y2hGaXgxMDAnLCAgICAgICAgICAgICAgICAgICAgICAvLyAxMDDlhYPnuqLljIXotZtcclxuICAgICAgICBNYXRjaEZpeDUwMDogJ01hdGNoRml4NTAwJywgICAgICAgICAgICAgICAgICAgICAgLy8gNTAw5YWD57qi5YyF6LWbXHJcbiAgICAgICAgTmV3ZXJSZWRFbnZlbG9wZTogJ25ld2VyUmVkRW52ZWxvcGUnLCAgICAgICAgICAgIC8vIOaWsOaJi+e6ouWMhVxyXG4gICAgICAgIENvaW5Sb29tUmVzdWx0OiAnY29pblJvb21SZXN1bHQnLCAgICAgICAgICAgICAgICAvLyDph5HluIHmoYznu5PnrpdcclxuICAgICAgICBIaWdoUmF0ZSA6IFwiaGlnaFJhdGVcIiwvL+mrmOWAjeWIhuS6q1xyXG4gICAgICAgIENvaW5Sb29tV2luU3RyZWFrOiAnY29pblJvb21XaW5TdHJlYWsnLCAgICAgICAgIC8vIOi/nuiDnFxyXG4gICAgICAgIENvaW5Sb29tQmFua3J1cHRjeTE6ICdjb2luUm9vbUJhbmtydXB0Y3kxJywgICAgICAgICAvLyDph5HluIHmoYznoLTkuqdcclxuICAgICAgICBDb2luUm9vbUJhbmtydXB0Y3kyOiAnY29pblJvb21CYW5rcnVwdGN5MicsICAgICAgICAgLy8g6YeR5biB5qGM56C05LqnXHJcbiAgICAgICAgQ29pblJvb21CYW5rcnVwdGN5MzogJ2NvaW5Sb29tQmFua3J1cHRjeTMnLCAgICAgICAgIC8vIOmHkeW4geahjOegtOS6p1xyXG4gICAgfTtcclxuXHJcbiAgICAvKlxyXG4gICAgICog5YiG5Lqr5Yiw5ZOq5YS/57uZ5aWW5YqxIGdyb3VwIGZyaW5lZCBhbGxcclxuICAgICAqL1xyXG4gICAgY2MuZnguU2hhcmVXaGVyZVJld2FyZCA9IHtcclxuICAgICAgICBHcm91cCA6XCJncm91cFwiLCAvL+W+ruS/oee+pFxyXG4gICAgICAgIEZyaWVuZCA6IFwiZnJpZW5kXCIsLy/lpb3lj4tcclxuICAgICAgICBBbGwgOiBcImFsbFwiLCAvL+S4jeWMuuWIhlxyXG4gICAgfTtcclxuXHJcblxyXG4gICAgLy/mmoLml7bkuI3nlKhcclxuICAgIGNjLmZ4LmNsaWNrU3RhdEV2ZW50VHlwZSA9IHtcclxuICAgICAgICBjbGlja1N0YXRFdmVudFR5cGVWaWRlb0FEIDogMjAxNzMyMDEsLy/op4bpopHmkq3mlL7lrozmiJBcclxuICAgICAgICBjbGlja1N0YXRFdmVudFR5cGVDbGlja0FkVmlkZW8gOiAyMDE3MzIwMiwvL+inhumikeaSreaUvuS4uuWujOaIkFxyXG4gICAgICAgIGNsaWNrU3RhdEV2ZW50VHlwZUJhbm5lckFEIDogMjAxNzMyMDMsLy9iYW5uZXLmkq3mlL7kuLrlrozmiJBcclxuICAgICAgICBjbGlja1N0YXRFdmVudFR5cGVVc2VyRnJvbSA6IDk5OTkwMDAxLC8v55So5oi35p2l5rqQXHJcbiAgICAgICAgY2xpY2tTdGF0RXZlbnRUeXBlU2hhcmUgOiA5OTk5MDAwMiwvL+eUqOaIt+WIhuS6q1xyXG4gICAgICAgIGNsaWNrU3RhdEV2ZW50VHlwZUNsaWNrQWRCdG4gOiA5OTk5MDAwNywvL+eCueWHu+WIhua1gWljb25cclxuICAgICAgICBjbGlja1N0YXRFdmVudFR5cGVCYW5uZXJBRDIgOiA2Nzg5MDAzMywgLy8gYmFubmVy5bm/5ZGK5bmy6aKEXHJcbiAgICAgICAgY2xpY2tTdGF0RXZlbnRUeXBlU3VibWl0VmVyc2lvbkluZm8gOiA5OTk5LCAvL+S4iuaKpeW+ruS/oeeJiOacrOWPiuWfuuehgOW6k+S/oeaBr1xyXG4gICAgICAgIGNsaWNrU3RhdEV2ZW50VHlwZUNsaWNrRmlyc3RBZCA6IDk5OTkwMDAzLCAvL+WIhua1gWljb27mmL7npLpcclxuICAgICAgICBjbGlja1N0YXRFdmVudFR5cGVDbGlja1NlY29uZEFkIDogOTk5OTAwMDQsIC8v546p5a6254K55Ye75YiG5rWB5oyJ6ZKuXHJcbiAgICAgICAgY2xpY2tTdGF0RXZlbnRUeXBlV3hMb2dpblN0YXJ0IDogMTAwMDEsLy/lvq7kv6HnmbvlvZXlvIDlp4tcclxuICAgICAgICBjbGlja1N0YXRFdmVudFR5cGVXeExvZ2luU3VjY2VzcyA6IDEwMDAyLC8v5b6u5L+h55m75b2V5oiQ5YqfXHJcbiAgICAgICAgY2xpY2tTdGF0RXZlbnRUeXBlV3hMb2dpbkZhaWxlZCA6IDEwMDAzLC8v5b6u5L+h55m75b2V5aSx6LSlXHJcbiAgICAgICAgY2xpY2tTdGF0RXZlbnRUeXBlQXV0aG9yaXphdGlvblN0YXJ0IDogMTAwMDMsLy/mjojmnYPlvIDlp4tcclxuICAgICAgICBjbGlja1N0YXRFdmVudFR5cGVBdXRob3JpemF0aW9uU3VjY2VzcyA6IDEwMDA0LC8v5o6I5p2D5oiQ5YqfXHJcbiAgICAgICAgY2xpY2tTdGF0RXZlbnRUeXBlQXV0aG9yaXphdGlvbkZhaWxlZCA6IDEwMDA1LC8v5o6I5p2D5aSx6LSlXHJcbiAgICAgICAgY2xpY2tTdGF0RXZlbnRUeXBlTG9naW5TREtTdGFydCA6IDEwMDA3LC8v55m75b2VU0RL5byA5aeLXHJcbiAgICAgICAgY2xpY2tTdGF0RXZlbnRUeXBlTG9naW5TREtTdWNjZXNzIDogMTAwMDgsLy/nmbvlvZVTREvmiJDlip9cclxuICAgICAgICBjbGlja1N0YXRFdmVudFR5cGVMb2dpblNES0ZhaWxlZCA6IDEwMDA5LC8v55m75b2VU0RL5pe25aSx6LSlXHJcbiAgICAgICAgY2xpY2tTdGF0RXZlbnRUeXBlVENQX1N0YXJ0IDogMTAwMDksLy9UQ1Dov57mjqXlvIDlp4tcclxuICAgICAgICBjbGlja1N0YXRFdmVudFR5cGVUQ1BfU3VjY2VzcyA6IDEwMDEwLC8vVENQ6L+e5o6l5oiQ5YqfXHJcbiAgICAgICAgY2xpY2tTdGF0RXZlbnRUeXBlVENQX0ZhaWxlZCA6IDEwMDExLC8vVENQ6L+e5o6l5aSx6LSlXHJcbiAgICB9O1xyXG5cclxufTsiXX0= -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/module/Music/AudioManager.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '58403/n16JCa5sZhNMjZzGo', 'AudioManager'); -// Script/module/Music/AudioManager.ts - -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var AudioManager = /** @class */ (function (_super) { - __extends(AudioManager, _super); - function AudioManager() { - var _this = _super !== null && _super.apply(this, arguments) || this; - //背景音乐 - _this.audioGameBgm0 = null; - //跳跃 - _this.audioButtonClick = null; - //落地上 - _this.audioWarning = null; - //碰撞 - _this.audioWin = null; - //落方块上 - _this.luodui = null; - return _this; - } - AudioManager_1 = AudioManager; - AudioManager.prototype.ctor = function () { - this.mAudioMap = {}; - /** - * 默认音量大小 - * @type {number} - */ - this.bgMusicVolume = 0.1; - this.effectMusicVolume = 1; - this.mMusicSwitch = 1; - this.mEffectSwitch = 1; - }; - AudioManager.prototype.play = function (audioSource, loop, callback, isBgMusic) { - if (isBgMusic && !this.mMusicSwitch) - return; - if (!isBgMusic && !this.mEffectSwitch) - return; - var volume = isBgMusic ? this.bgMusicVolume : this.effectMusicVolume; - if (cc.sys.isBrowser) { - if (audioSource == this.brickSound) { - volume = 0.1; - } - volume = 1; - var context = cc.audioEngine.play(audioSource, loop, volume); - if (callback) { - cc.audioEngine.setFinishCallback(context, function () { - callback.call(this); - }.bind(this)); - } - // cc.wwx.OutPut.log('play audio effect isBrowser: ' + context.src); - this.mAudioMap[audioSource] = context; - return audioSource; - } - else { - return audioSource; - } - }; - AudioManager.prototype.save = function () { - // cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Music_Volume, this.mMusicSwitch); - // cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Effect_Volume, this.mEffectSwitch); - }; - AudioManager.prototype.onLoad = function () { - if (AudioManager_1._instance == null) { - AudioManager_1._instance = this; - cc.game.addPersistRootNode(this.node); - } - else { - this.node.destroy(); - return; - } - this.reward = false; - this.finish = false; - this.rewardCount = 0; - this.ctor(); - this.preload(); - }; - AudioManager.prototype.preload = function () { - if (!(cc.sys.platform === cc.sys.WECHAT_GAME)) { - return; - } - var musics = [ - this.audioGameBgm0, - ]; - musics.forEach(function (path) { - // var musicPath = wxDownloader.REMOTE_SERVER_ROOT + path; - // if (musicPath != wxDownloader.REMOTE_SERVER_ROOT && musicPath.endsWith('.mp3')) { - // cc.loader.load(musicPath, function(err, remoteUrl) { - // if (err) { - // cc.error(err.message || err); - // return; - // } - // }); - // } - }); - }; - AudioManager.prototype.getAudioMusicSwitch = function () { - return this.mMusicSwitch; - }; - AudioManager.prototype.getAudioEffectSwitch = function () { - return this.mEffectSwitch; - }; - AudioManager.prototype.trunAudioSound = function (on) { - this.switchMusic(on); - this.switchEffect(on); - }; - AudioManager.prototype.switchMusic = function (on) { - if (this.mMusicSwitch != (on ? 1 : 0)) { - this.mMusicSwitch = 1 - this.mMusicSwitch; - // this.save(); - } - if (on) { - this.playMusicGame(); - } - else { - this.stopMusic(); - } - }; - AudioManager.prototype.switchEffect = function (on) { - if (this.mEffectSwitch != (on ? 1 : 0)) { - this.mEffectSwitch = 1 - this.mEffectSwitch; - // this.save(); - } - }; - AudioManager.prototype.onHide = function () { - cc.audioEngine.pauseAll(); - // if (CC_JSB) { - // } else { - // for (var key in this.mAudioMap) { - // if (key === this.mMusicKey) { - // this.mAudioMap[key].pause(); - // } else { - // this.mAudioMap[key].stop(); - // } - // } - // } - }; - AudioManager.prototype.onShow = function () { - cc.audioEngine.resumeAll(); - // if (CC_JSB) { - // } else { - // if (!this.mMusicSwitch) return; - // var context = this.mAudioMap[this.mMusicKey]; - // if (context) { - // context.play(); - // } - // } - }; - AudioManager.prototype.playMusic = function (key, callback, loop) { - loop = typeof loop == 'undefined' || loop ? true : false; - this.stopMusic(); - this.mMusicKey = this.play(key, loop, callback, true); - }; - /** - * 游戏背景音乐 - */ - AudioManager.prototype.playMusicGame = function () { - this.playMusic(this.audioGameBgm0, {}, true); - }; - /** - * 停止背景音乐播放 - */ - AudioManager.prototype.stopMusic = function () { - // cc.wwx.OutPut.log('stopMusic audio effect wx: ' + this.mMusicKey); - var context = this.mAudioMap[this.mMusicKey]; - if (typeof (context) != 'undefined') { - if (cc.sys.isBrowser) { - cc.audioEngine.stop(context); - } - else { - context.stop(); - } - cc.audioEngine.stop(context); - } - }; - // 炸弹、火箭爆炸音效 - AudioManager.prototype.playJump = function () { - }; - //激光音效 - AudioManager.prototype.playLuo = function () { - return this.play(this.luodui, false, null, this.mEffectSwitch); - }; - //技能音效 - AudioManager.prototype.playGround = function () { - }; - //技能音效 - AudioManager.prototype.playPz = function () { - }; - /* - * 游戏开始音效 - * - */ - AudioManager.prototype.playGameStart = function () { - }; - /* - * 失败的游戏结束 - */ - AudioManager.prototype.playGameOver = function () { - }; - /* - * 成功的游戏结束 - */ - AudioManager.prototype.playGameResultFailed = function () { - }; - /* - * 成功的游戏结束 - */ - AudioManager.prototype.playGameResultSuccess = function () { - }; - /** - * 报警的音效 - */ - AudioManager.prototype.playWarning = function () { - return this.play(this.audioWarning, false, null, this.mEffectSwitch); - }; - /* - * 方块碰撞的声音 - */ - AudioManager.prototype.playBrick = function () { - // return this.play(this.brickSound,false); - }; - //方块破碎的声音 - AudioManager.prototype.brickBoom = function () { - }; - /** - * 按钮 - */ - AudioManager.prototype.playAudioButton = function () { - return this.play(this.audioButtonClick, false, null, this.mEffectSwitch); - }; - AudioManager.prototype.playWin = function () { - return this.play(this.audioWin, false, null, this.mEffectSwitch); - }; - AudioManager.prototype.playRandomMatch = function () { - this.playMusic(this.audioGameBgm0, {}, true); - }; - AudioManager.prototype.playMatchFoundSound = function () { - this.stopMusic(); - // return this.play(this.matchFoundSound, false); - }; - var AudioManager_1; - __decorate([ - property(cc.AudioClip) - ], AudioManager.prototype, "audioGameBgm0", void 0); - __decorate([ - property(cc.AudioClip) - ], AudioManager.prototype, "audioButtonClick", void 0); - __decorate([ - property(cc.AudioClip) - ], AudioManager.prototype, "audioWarning", void 0); - __decorate([ - property(cc.AudioClip) - ], AudioManager.prototype, "audioWin", void 0); - __decorate([ - property(cc.AudioClip) - ], AudioManager.prototype, "luodui", void 0); - AudioManager = AudioManager_1 = __decorate([ - ccclass - ], AudioManager); - return AudioManager; -}(cc.Component)); -exports.default = AudioManager; -; -// export { AudioManager }; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXE11c2ljXFxBdWRpb01hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQU0sSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFFMUM7SUFBMEMsZ0NBQVk7SUFBdEQ7UUFBQSxxRUFvU0M7UUFsU0csTUFBTTtRQUVOLG1CQUFhLEdBQWlCLElBQUksQ0FBQztRQUNuQyxJQUFJO1FBRUosc0JBQWdCLEdBQWlCLElBQUksQ0FBQztRQUN0QyxLQUFLO1FBRUwsa0JBQVksR0FBaUIsSUFBSSxDQUFDO1FBQ2xDLElBQUk7UUFFSixjQUFRLEdBQWlCLElBQUksQ0FBQztRQUM5QixNQUFNO1FBRU4sWUFBTSxHQUFpQixJQUFJLENBQUM7O0lBb1JoQyxDQUFDO3FCQXBTb0IsWUFBWTtJQStCN0IsMkJBQUksR0FBSjtRQUVJLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCOzs7V0FHRztRQUNILElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFFM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUNELDJCQUFJLEdBQUosVUFBTSxXQUFXLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTO1FBQ3hDLElBQUksU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVk7WUFBRSxPQUFPO1FBQzVDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUFFLE9BQU87UUFDOUMsSUFBSSxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENB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eUMsRUFBRSxDQUFDLFNBQVMsR0FvU3JEO2tCQXBTb0IsWUFBWTtBQW9TaEMsQ0FBQztBQUVGLDJCQUEyQiIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xuQGNjY2xhc3NcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEF1ZGlvTWFuYWdlciBleHRlbmRzIGNjLkNvbXBvbmVudCB7XG5cbiAgICAvL+iDjOaZr+mfs+S5kFxuICAgIEBwcm9wZXJ0eShjYy5BdWRpb0NsaXApXG4gICAgYXVkaW9HYW1lQmdtMDogY2MuQXVkaW9DbGlwID0gbnVsbDtcbiAgICAvL+i3s+i3g1xuICAgIEBwcm9wZXJ0eShjYy5BdWRpb0NsaXApXG4gICAgYXVkaW9CdXR0b25DbGljazogY2MuQXVkaW9DbGlwID0gbnVsbDtcbiAgICAvL+iQveWcsOS4ilxuICAgIEBwcm9wZXJ0eShjYy5BdWRpb0NsaXApXG4gICAgYXVkaW9XYXJuaW5nOiBjYy5BdWRpb0NsaXAgPSBudWxsO1xuICAgIC8v56Kw5pKeXG4gICAgQHByb3BlcnR5KGNjLkF1ZGlvQ2xpcClcbiAgICBhdWRpb1dpbjogY2MuQXVkaW9DbGlwID0gbnVsbDtcbiAgICAvL+iQveaWueWdl+S4ilxuICAgIEBwcm9wZXJ0eShjYy5BdWRpb0NsaXApXG4gICAgbHVvZHVpOiBjYy5BdWRpb0NsaXAgPSBudWxsO1xuXG4gICAgbUF1ZGlvTWFwOiB7fTtcbiAgICBiZ011c2ljVm9sdW1lOiBudW1iZXI7XG4gICAgZWZmZWN0TXVzaWNWb2x1bWU6IG51bWJlcjtcbiAgICBtTXVzaWNTd2l0Y2g6IG51bWJlcjtcbiAgICBtRWZmZWN0U3dpdGNoOiBudW1iZXI7XG4gICAgYnJpY2tTb3VuZDogYW55O1xuICAgIHJld2FyZDogYm9vbGVhbjtcbiAgICBmaW5pc2g6IGJvb2xlYW47XG4gICAgcmV3YXJkQ291bnQ6IG51bWJlcjtcblxuICAgIG1NdXNpY0tleTogYW55O1xuICAgIHN0YXRpYyBfaW5zdGFuY2U6IGFueTtcblxuICAgIGN0b3IgKCkge1xuICAgICAgICBcbiAgICAgICAgdGhpcy5tQXVkaW9NYXAgPSB7fTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIOm7mOiupOmfs+mHj+Wkp+Wwj1xuICAgICAgICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5iZ011c2ljVm9sdW1lID0gMC4xO1xuICAgICAgICB0aGlzLmVmZmVjdE11c2ljVm9sdW1lID0gMTtcblxuICAgICAgICB0aGlzLm1NdXNpY1N3aXRjaCA9IDE7XG4gICAgICAgIHRoaXMubUVmZmVjdFN3aXRjaCA9IDE7XG4gICAgfVxuICAgIHBsYXkgKGF1ZGlvU291cmNlLCBsb29wLCBjYWxsYmFjaywgaXNCZ011c2ljKSB7XG4gICAgICAgIGlmIChpc0JnTXVzaWMgJiYgIXRoaXMubU11c2ljU3dpdGNoKSByZXR1cm47XG4gICAgICAgIGlmICghaXNCZ011c2ljICYmICF0aGlzLm1FZmZlY3RTd2l0Y2gpIHJldHVybjtcbiAgICAgICAgdmFyIHZvbHVtZSA9IGlzQmdNdXNpYyA/IHRoaXMuYmdNdXNpY1ZvbHVtZSA6IHRoaXMuZWZmZWN0TXVzaWNWb2x1bWU7XG5cbiAgICAgICAgaWYgKGNjLnN5cy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIGlmKGF1ZGlvU291cmNlID09IHRoaXMuYnJpY2tTb3VuZCl7XG4gICAgICAgICAgICAgICAgdm9sdW1lID0gMC4xO1xuICAgICAgICAgICAgfSBcbiAgICAgICAgICAgIHZvbHVtZSA9IDE7XG4gICAgICAgICAgICB2YXIgY29udGV4dCA9IGNjLmF1ZGlvRW5naW5lLnBsYXkoYXVkaW9Tb3VyY2UsIGxvb3AsIHZvbHVtZSk7XG4gICAgICAgICAgICBpZiAoY2FsbGJhY2spe1xuICAgICAgICAgICAgICAgIGNjLmF1ZGlvRW5naW5lLnNldEZpbmlzaENhbGxiYWNrKGNvbnRleHQsIGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrLmNhbGwodGhpcyk7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGNjLnd3eC5PdXRQdXQubG9nKCdwbGF5IGF1ZGlvIGVmZmVjdCBpc0Jyb3dzZXI6ICcgKyBjb250ZXh0LnNyYyk7XG5cbiAgICAgICAgICAgIHRoaXMubUF1ZGlvTWFwW2F1ZGlvU291cmNlXSA9IGNvbnRleHQ7XG4gICAgICAgICAgICByZXR1cm4gYXVkaW9Tb3VyY2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gYXVkaW9Tb3VyY2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzYXZlICgpIHtcbiAgICAgICAgLy8gY2Mud3d4LlN0b3JhZ2Uuc2V0SXRlbShjYy53d3guU3RvcmFnZS5LZXlfU2V0dGluZ19NdXNpY19Wb2x1bWUsIHRoaXMubU11c2ljU3dpdGNoKTtcbiAgICAgICAgLy8gY2Mud3d4LlN0b3JhZ2Uuc2V0SXRlbShjYy53d3guU3RvcmFnZS5LZXlfU2V0dGluZ19FZmZlY3RfVm9sdW1lLCB0aGlzLm1FZmZlY3RTd2l0Y2gpO1xuICAgIH1cbiAgICBvbkxvYWQoKSB7XG5cbiAgICAgICAgaWYgKEF1ZGlvTWFuYWdlci5faW5zdGFuY2UgPT0gbnVsbCkge1xuICAgICAgICAgICAgQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZSA9IHRoaXM7XG4gICAgICAgICAgICBjYy5nYW1lLmFkZFBlcnNpc3RSb290Tm9kZSh0aGlzLm5vZGUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5ub2RlLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJld2FyZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmZpbmlzaCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJld2FyZENvdW50ID0gMDtcbiAgICAgICAgdGhpcy5jdG9yKCk7XG5cbiAgICAgICAgdGhpcy5wcmVsb2FkKCk7XG4gICAgfVxuICAgIHByZWxvYWQgKCkge1xuICAgICAgICBpZiAoIShjYy5zeXMucGxhdGZvcm0gPT09IGNjLnN5cy5XRUNIQVRfR0FNRSkpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgdmFyIG11c2ljcyA9IFtcbiAgICAgICAgICAgIHRoaXMuYXVkaW9HYW1lQmdtMCxcbiAgICAgICAgXTtcbiAgICAgICAgbXVzaWNzLmZvckVhY2goZnVuY3Rpb24ocGF0aCkge1xuICAgICAgICAgICAgLy8gdmFyIG11c2ljUGF0aCA9IHd4RG93bmxvYWRlci5SRU1PVEVfU0VSVkVSX1JPT1QgKyBwYXRoO1xuICAgICAgICAgICAgLy8gaWYgKG11c2ljUGF0aCAhPSB3eERvd25sb2FkZXIuUkVNT1RFX1NFUlZFUl9ST09UICYmIG11c2ljUGF0aC5lbmRzV2l0aCgnLm1wMycpKSB7XG4gICAgICAgICAgICAvLyAgICAgY2MubG9hZGVyLmxvYWQobXVzaWNQYXRoLCBmdW5jdGlvbihlcnIsIHJlbW90ZVVybCkge1xuICAgICAgICAgICAgLy8gICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAvLyAgICAgICAgICAgICBjYy5lcnJvcihlcnIubWVzc2FnZSB8fCBlcnIpO1xuICAgICAgICAgICAgLy8gICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgLy8gICAgICAgICB9XG4gICAgICAgICAgICAvLyAgICAgfSk7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgZ2V0QXVkaW9NdXNpY1N3aXRjaCgpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5tTXVzaWNTd2l0Y2g7XG5cbiAgICB9XG4gICAgZ2V0QXVkaW9FZmZlY3RTd2l0Y2goKVxuICAgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubUVmZmVjdFN3aXRjaDtcbiAgICB9XG4gICAgdHJ1bkF1ZGlvU291bmQob24pXG4gICAge1xuICAgICAgICB0aGlzLnN3aXRjaE11c2ljKG9uKTtcbiAgICAgICAgdGhpcy5zd2l0Y2hFZmZlY3Qob24pXG4gICAgfVxuICAgIHN3aXRjaE11c2ljIChvbikge1xuICAgICAgICBpZiAodGhpcy5tTXVzaWNTd2l0Y2ggIT0gKG9uPzE6MCkpXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRoaXMubU11c2ljU3dpdGNoID0gMS10aGlzLm1NdXNpY1N3aXRjaDtcbiAgICAgICAgICAgIC8vIHRoaXMuc2F2ZSgpO1xuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgaWYob24pXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRoaXMucGxheU11c2ljR2FtZSgpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2VcbiAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5zdG9wTXVzaWMoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzd2l0Y2hFZmZlY3QgKG9uKSB7XG4gICAgICAgIGlmICh0aGlzLm1FZmZlY3RTd2l0Y2ggIT0gKG9uPzE6MCkpe1xuICAgICAgICAgICAgdGhpcy5tRWZmZWN0U3dpdGNoID0gMS10aGlzLm1FZmZlY3RTd2l0Y2g7XG4gICAgICAgICAgICAvLyB0aGlzLnNhdmUoKTtcblxuICAgICAgICB9XG4gICAgfVxuICAgIG9uSGlkZSAoKSB7XG4gICAgICAgIGNjLmF1ZGlvRW5naW5lLnBhdXNlQWxsKCk7XG5cbiAgICAgICAgLy8gaWYgKENDX0pTQikge1xuICAgICAgICAvLyB9IGVsc2Uge1xuICAgICAgICAvLyAgICAgZm9yICh2YXIga2V5IGluIHRoaXMubUF1ZGlvTWFwKSB7XG4gICAgICAgIC8vICAgICAgICAgaWYgKGtleSA9PT0gdGhpcy5tTXVzaWNLZXkpIHtcbiAgICAgICAgLy8gICAgICAgICAgICAgdGhpcy5tQXVkaW9NYXBba2V5XS5wYXVzZSgpO1xuICAgICAgICAvLyAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vICAgICAgICAgICAgIHRoaXMubUF1ZGlvTWFwW2tleV0uc3RvcCgpO1xuICAgICAgICAvLyAgICAgICAgIH1cbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfVxuICAgIH1cblxuICAgIG9uU2hvdyAoKSB7XG4gICAgICAgIGNjLmF1ZGlvRW5naW5lLnJlc3VtZUFsbCgpO1xuXG4gICAgICAgIC8vIGlmIChDQ19KU0IpIHtcbiAgICAgICAgLy8gfSBlbHNlIHtcbiAgICAgICAgLy8gICAgIGlmICghdGhpcy5tTXVzaWNTd2l0Y2gpIHJldHVybjtcbiAgICAgICAgLy8gICAgIHZhciBjb250ZXh0ID0gdGhpcy5tQXVkaW9NYXBbdGhpcy5tTXVzaWNLZXldO1xuICAgICAgICAvLyAgICAgaWYgKGNvbnRleHQpIHtcbiAgICAgICAgLy8gICAgICAgICBjb250ZXh0LnBsYXkoKTtcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfVxuICAgIH1cbiAgICBwbGF5TXVzaWMgKGtleSwgY2FsbGJhY2ssIGxvb3ApIHtcbiAgICAgICAgbG9vcCA9IHR5cGVvZiBsb29wID09ICd1bmRlZmluZWQnICB8fCBsb29wID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB0aGlzLnN0b3BNdXNpYygpO1xuICAgICAgICB0aGlzLm1NdXNpY0tleSA9IHRoaXMucGxheShrZXksIGxvb3AsIGNhbGxiYWNrLCB0cnVlKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICog5ri45oiP6IOM5pmv6Z+z5LmQXG4gICAgICovXG4gICAgcGxheU11c2ljR2FtZSAoKSB7XG4gICAgICAgIHRoaXMucGxheU11c2ljKHRoaXMuYXVkaW9HYW1lQmdtMCx7fSx0cnVlKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICog5YGc5q2i6IOM5pmv6Z+z5LmQ5pKt5pS+XG4gICAgICovXG4gICAgc3RvcE11c2ljICgpIHtcbiAgICAgICAgLy8gY2Mud3d4Lk91dFB1dC5sb2coJ3N0b3BNdXNpYyBhdWRpbyBlZmZlY3Qgd3g6ICcgKyB0aGlzLm1NdXNpY0tleSk7XG5cbiAgICAgICAgdmFyIGNvbnRleHQgPSB0aGlzLm1BdWRpb01hcFt0aGlzLm1NdXNpY0tleV07XG5cbiAgICAgICAgaWYgKHR5cGVvZihjb250ZXh0KSAhPSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgaWYgKGNjLnN5cy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgICAgICBjYy5hdWRpb0VuZ2luZS5zdG9wKGNvbnRleHQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb250ZXh0LnN0b3AoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNjLmF1ZGlvRW5naW5lLnN0b3AoY29udGV4dCk7XG5cbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyDngrjlvLnjgIHngavnrq3niIbngrjpn7PmlYhcbiAgICBwbGF5SnVtcCAoKSB7XG4gICAgIFxuICAgIH1cbiAgICAvL+a/gOWFiemfs+aViFxuICAgIHBsYXlMdW8oKVxuICAgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLmx1b2R1aSwgZmFsc2UsbnVsbCx0aGlzLm1FZmZlY3RTd2l0Y2gpO1xuICAgIH1cbiAgICAvL+aKgOiDvemfs+aViFxuICAgIHBsYXlHcm91bmQoKVxuICAgIHtcbiAgICAgXG4gICAgfVxuXG4gICAgLy/mioDog73pn7PmlYhcbiAgICBwbGF5UHooKVxuICAgIHtcbiAgICBcbiAgICB9XG4gICAgLypcbiAgICAgKiDmuLjmiI/lvIDlp4vpn7PmlYhcbiAgICAgKlxuICAgICAqL1xuICAgICBwbGF5R2FtZVN0YXJ0KClcbiAgICAge1xuICAgICBcbiAgICAgfVxuICAgICAvKlxuICAgICAgKiDlpLHotKXnmoTmuLjmiI/nu5PmnZ9cbiAgICAgICovXG4gICAgIHBsYXlHYW1lT3ZlcigpXG4gICAgIHtcbiAgIFxuICAgICB9XG4gICAgLypcbiAgICAgICog5oiQ5Yqf55qE5ri45oiP57uT5p2fXG4gICAgICAqL1xuICAgIHBsYXlHYW1lUmVzdWx0RmFpbGVkKClcbiAgICB7XG5cbiAgICB9XG4gICAgLypcbiAgKiDmiJDlip/nmoTmuLjmiI/nu5PmnZ9cbiAgKi9cbiAgICBwbGF5R2FtZVJlc3VsdFN1Y2Nlc3MoKVxuICAgIHtcblxuICAgIH1cbiAgICAvKipcbiAgICAgKiDmiqXorabnmoTpn7PmlYhcbiAgICAgKi9cbiAgICBwbGF5V2FybmluZygpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9XYXJuaW5nLCBmYWxzZSxudWxsLHRoaXMubUVmZmVjdFN3aXRjaCk7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiDmlrnlnZfnorDmkp7nmoTlo7Dpn7NcbiAgICAgKi9cbiAgICBwbGF5QnJpY2soKVxuICAgIHtcbiAgICAgICAgLy8gcmV0dXJuIHRoaXMucGxheSh0aGlzLmJyaWNrU291bmQsZmFsc2UpO1xuICAgIH1cbiAgICAvL+aWueWdl+egtOeijueahOWjsOmfs1xuICAgIGJyaWNrQm9vbSgpe1xuICAgXG4gICAgfVxuICAgIC8qKlxuICAgICAqIOaMiemSrlxuICAgICAqL1xuICAgIHBsYXlBdWRpb0J1dHRvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5hdWRpb0J1dHRvbkNsaWNrLCBmYWxzZSxudWxsLHRoaXMubUVmZmVjdFN3aXRjaCk7XG4gICAgfVxuXG4gICAgcGxheVdpbigpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9XaW4sIGZhbHNlLG51bGwsdGhpcy5tRWZmZWN0U3dpdGNoKTtcbiAgICB9XG5cbiAgICBwbGF5UmFuZG9tTWF0Y2goKVxuICAgIHtcbiAgICAgICAgdGhpcy5wbGF5TXVzaWModGhpcy5hdWRpb0dhbWVCZ20wLHt9LHRydWUpO1xuICAgIH1cbiAgICBwbGF5TWF0Y2hGb3VuZFNvdW5kKClcbiAgICB7XG4gICAgICAgIHRoaXMuc3RvcE11c2ljKCk7XG4gICAgICAgIC8vIHJldHVybiB0aGlzLnBsYXkodGhpcy5tYXRjaEZvdW5kU291bmQsIGZhbHNlKTtcbiAgICB9XG5cbn07XG5cbi8vIGV4cG9ydCB7IEF1ZGlvTWFuYWdlciB9OyJdfQ== -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/module/RankList/List.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'd5421HgLShFKIjj5f18m1mi', 'List'); -// Script/module/RankList/List.ts - -"use strict"; -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.StartAxisType = exports.ListType = void 0; -var ItemRender_1 = require("./ItemRender"); -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -/**列表排列方式 */ -var ListType; -(function (ListType) { - /**水平排列 */ - ListType[ListType["Horizontal"] = 1] = "Horizontal"; - /**垂直排列 */ - ListType[ListType["Vertical"] = 2] = "Vertical"; - /**网格排列 */ - ListType[ListType["Grid"] = 3] = "Grid"; -})(ListType = exports.ListType || (exports.ListType = {})); -/**网格布局中的方向 */ -var StartAxisType; -(function (StartAxisType) { - /**水平排列 */ - StartAxisType[StartAxisType["Horizontal"] = 1] = "Horizontal"; - /**垂直排列 */ - StartAxisType[StartAxisType["Vertical"] = 2] = "Vertical"; -})(StartAxisType = exports.StartAxisType || (exports.StartAxisType = {})); -/** - * 列表 - * 根据cocos_example的listView改动而来 - * @author chenkai 2020.7.8 - * @example - * 1.创建cocos的ScrollView组件,添加List,设置List属性即可 - * - */ -var List = /** @class */ (function (_super) { - __extends(List, _super); - function List() { - var _this = _super !== null && _super.apply(this, arguments) || this; - //==================== 属性面板 ========================= - /**列表选项 */ - _this.itemRender = null; - /**排列方式 */ - _this.type = ListType.Vertical; - /**网格布局中的方向 */ - _this.startAxis = StartAxisType.Horizontal; - /**列表项之间X间隔 */ - _this.spaceX = 0; - /**列表项之间Y间隔 */ - _this.spaceY = 0; - /**上间距 */ - _this.padding_top = 0; - /**下间距 */ - _this.padding_buttom = 0; - /**左间距 */ - _this.padding_left = 0; - _this._padding = 0; - /**右间距 */ - _this.padding_right = 0; - //====================== 滚动容器 =============================== - /**列表滚动容器 */ - _this.scrollView = null; - /**scrollView的内容容器 */ - _this.content = null; - //======================== 列表项 =========================== - /**列表项数据 */ - _this.itemDataList = []; - /**应创建的实例数量 */ - _this.spawnCount = 0; - /**存放列表项实例的数组 */ - _this.itemList = []; - /**item的高度 */ - _this.itemHeight = 0; - /**item的宽度 */ - _this.itemWidth = 0; - /**存放不再使用中的列表项 */ - _this.itemPool = []; - //======================= 计算参数 ========================== - /**距离scrollView中心点的距离,超过这个距离的item会被重置,一般设置为 scrollVIew.height/2 + item.heigt/2 + space,因为这个距离item正好超出scrollView显示范围 */ - _this.halfScrollView = 0; - /**上一次content的X值,用于和现在content的X值比较,得出是向左还是向右滚动 */ - _this.lastContentPosX = 0; - /**上一次content的Y值,用于和现在content的Y值比较,得出是向上还是向下滚动 */ - _this.lastContentPosY = 0; - /**网格行数 */ - _this.gridRow = 0; - /**网格列数 */ - _this.gridCol = 0; - /**刷新时间,单位s */ - _this.updateTimer = 0; - /**刷新间隔,单位s */ - _this.updateInterval = 0.1; - /**是否滚动容器 */ - _this.bScrolling = false; - /**刷新的函数 */ - _this.updateFun = function () { }; - return _this; - } - List.prototype.onLoad = function () { - this.itemHeight = this.itemRender.height; - this.itemWidth = this.itemRender.width; - this.scrollView = this.node.getComponent(cc.ScrollView); - this.content = this.scrollView.content; - this.content.anchorX = 0; - this.content.anchorY = 1; - this.content.removeAllChildren(); - this.scrollView.node.on("scrolling", this.onScrolling, this); - }; - /** - * 列表数据 (列表数据复制使用,如果列表数据改变,则需要重新设置一遍数据) - * @param itemDataList item数据列表 - */ - List.prototype.setData = function (itemDataList) { - this.itemDataList = itemDataList.slice(); - this.updateContent(); - }; - /**计算列表的各项参数 */ - List.prototype.countListParam = function () { - var dataLen = this.itemDataList.length; - if (this.type == ListType.Vertical) { - this.scrollView.horizontal = false; - this.scrollView.vertical = true; - this.content.width = this.content.parent.width; - this.content.height = dataLen * this.itemHeight + (dataLen - 1) * this.spaceY + this.padding_top + this.padding_buttom; - this.spawnCount = Math.round(this.scrollView.node.height / (this.itemHeight + this.spaceY)) + 2; //计算创建的item实例数量,比当前scrollView容器能放下的item数量再加上2个 - this.halfScrollView = this.scrollView.node.height / 2 + this.itemHeight / 2 + this.spaceY; //计算bufferZone,item的显示范围 - this.updateFun = this.updateV; - } - else if (this.type == ListType.Horizontal) { - this.scrollView.horizontal = true; - this.scrollView.vertical = false; - this.content.width = dataLen * this.itemWidth + (dataLen - 1) * this.spaceX + this.padding_left + this.padding_right; - this.content.height = this.content.parent.height; - this.spawnCount = Math.round(this.scrollView.node.width / (this.itemWidth + this.spaceX)) + 2; - this.halfScrollView = this.scrollView.node.width / 2 + this.itemWidth / 2 + this.spaceX; - this.updateFun = this.udpateH; - } - else if (this.type == ListType.Grid) { - if (this.startAxis == StartAxisType.Vertical) { - this.scrollView.horizontal = false; - this.scrollView.vertical = true; - this.content.width = this.content.parent.width; - //如果left和right间隔过大,导致放不下一个item,则left和right都设置为0,相当于不生效 - if (this.padding_left + this.padding_right + this.itemWidth + this.spaceX > this.content.width) { - this.padding_left = 0; - this.padding_right = 0; - console.error("padding_left或padding_right过大"); - } - this.gridCol = Math.floor((this.content.width - this.padding_left - this.padding_right) / (this.itemWidth + this.spaceX)); - this.gridRow = Math.ceil(dataLen / this.gridCol); - this.content.height = this.gridRow * this.itemHeight + (this.gridRow - 1) * this.spaceY + this.padding_top + this.padding_buttom; - this.spawnCount = Math.round(this.scrollView.node.height / (this.itemHeight + this.spaceY)) * this.gridCol + this.gridCol * 2; - this.halfScrollView = this.scrollView.node.height / 2 + this.itemHeight / 2 + this.spaceY; - this.updateFun = this.updateGrid_V; - } - else if (this.startAxis == StartAxisType.Horizontal) { - this.scrollView.horizontal = true; - this.scrollView.vertical = false; - //计算高间隔 - this.content.height = this.content.parent.height; - //如果left和right间隔过大,导致放不下一个item,则left和right都设置为0,相当于不生效 - if (this.padding_top + this.padding_buttom + this.itemHeight + this.spaceY > this.content.height) { - this.padding_top = 0; - this.padding_buttom = 0; - console.error("padding_top或padding_buttom过大"); - } - this.gridRow = Math.floor((this.content.height - this.padding_top - this.padding_buttom) / (this.itemHeight + this.spaceY)); - this.gridCol = Math.ceil(dataLen / this.gridRow); - this.content.width = this.gridCol * this.itemWidth + (this.gridCol - 1) * this.spaceX + this.padding_left + this.padding_right; - this.spawnCount = Math.round(this.scrollView.node.width / (this.itemWidth + this.spaceX)) * this.gridRow + this.gridRow * 2; - this.halfScrollView = this.scrollView.node.width / 2 + this.itemWidth / 2 + this.spaceX; - this.updateFun = this.updateGrid_H; - } - } - }; - /** - * 创建列表 - * @param startIndex 起始显示的数据索引 0表示第一项 - * @param offset scrollView偏移量 - */ - List.prototype.createList = function (startIndex, offset) { - //当需要显示的数据长度 > 虚拟列表长度, 删除最末尾几个数据时,列表需要重置位置到scrollView最底端 - if (this.itemDataList.length > this.spawnCount && (startIndex + this.spawnCount - 1) >= this.itemDataList.length) { - startIndex = this.itemDataList.length - this.spawnCount; - offset = this.scrollView.getMaxScrollOffset(); - //当需要显示的数据长度 <= 虚拟列表长度, 隐藏多余的虚拟列表项 - } - else if (this.itemDataList.length <= this.spawnCount) { - startIndex = 0; - } - for (var i = 0; i < this.spawnCount; i++) { - var item = void 0; - //需要显示的数据索引在数据范围内,则item实例显示出来 - if (i + startIndex < this.itemDataList.length) { - if (this.itemList[i] == null) { - item = this.getItem(); - this.itemList.push(item); - item.parent = this.content; - } - else { - item = this.itemList[i]; - } - //需要显示的数据索引超过了数据范围,则item实例隐藏起来 - } - else { - //item实例数量 > 需要显示的数据量 - if (this.itemList.length > (this.itemDataList.length - startIndex)) { - item = this.itemList.pop(); - item.removeFromParent(); - this.itemPool.push(item); - } - continue; - } - var itemRender = item.getComponent(ItemRender_1.default); - itemRender.itemIndex = i + startIndex; - itemRender.data = this.itemDataList[i + startIndex]; - itemRender.dataChanged(); - if (this.type == ListType.Vertical) { - //因为content的锚点X是0,所以item的x值是content.with/2表示居中,锚点Y是1,所以item的y值从content顶部向下是0到负无穷。所以item.y= -item.height/2时,是在content的顶部。 - item.setPosition(this.content.width / 2, -item.height * (0.5 + i + startIndex) - this.spaceY * (i + startIndex) - this.padding_top); - } - else if (this.type == ListType.Horizontal) { - item.setPosition(item.width * (0.5 + i + startIndex) + this.spaceX * (i + startIndex) + this.padding_left, -this.content.height / 2); - } - else if (this.type == ListType.Grid) { - if (this.startAxis == StartAxisType.Vertical) { - var row = Math.floor((i + startIndex) / this.gridCol); - var col = (i + startIndex) % this.gridCol; - item.setPosition(item.width * (0.5 + col) + this.spaceX * col + this.padding_left, -item.height * (0.5 + row) - this.spaceY * row - this.padding_top); - item.opacity = 255; - } - else if (this.startAxis == StartAxisType.Horizontal) { - var row = (i + startIndex) % this.gridRow; - var col = Math.floor((i + startIndex) / this.gridRow); - item.setPosition(item.width * (0.5 + col) + this.spaceX * col + this.padding_left, -item.height * (0.5 + row) - this.spaceY * row - this.padding_top); - item.opacity = 255; - } - } - } - this.scrollView.scrollToOffset(offset); - }; - /**获取一个列表项 */ - List.prototype.getItem = function () { - if (this.itemPool.length == 0) { - return cc.instantiate(this.itemRender); - } - else { - return this.itemPool.pop(); - } - }; - List.prototype.update = function (dt) { - if (this.bScrolling == false) { - return; - } - this.updateTimer += dt; - if (this.updateTimer < this.updateInterval) { - return; - } - this.updateTimer = 0; - this.bScrolling = false; - this.updateFun(); - }; - List.prototype.onScrolling = function () { - this.bScrolling = true; - }; - /**垂直排列 */ - List.prototype.updateV = function () { - var items = this.itemList; - var item; - var bufferZone = this.halfScrollView; - var isUp = this.scrollView.content.y > this.lastContentPosY; - var offset = (this.itemHeight + this.spaceY) * items.length; - for (var i = 0; i < items.length; i++) { - item = items[i]; - var viewPos = this.getPositionInView(item); - if (isUp) { - //item上滑时,超出了scrollView上边界,将item移动到下方复用,item移动到下方的位置必须不超过content的下边界 - if (viewPos.y > bufferZone && item.y - offset - this.padding_buttom > -this.content.height) { - var itemRender = item.getComponent(ItemRender_1.default); - var itemIndex = itemRender.itemIndex + items.length; - itemRender.itemIndex = itemIndex; - itemRender.data = this.itemDataList[itemIndex]; - itemRender.dataChanged(); - item.y = item.y - offset; - } - } - else { - //item下滑时,超出了scrollView下边界,将item移动到上方复用,item移动到上方的位置必须不超过content的上边界 - if (viewPos.y < -bufferZone && item.y + offset + this.padding_top < 0) { - var itemRender = item.getComponent(ItemRender_1.default); - var itemIndex = itemRender.itemIndex - items.length; - itemRender.itemIndex = itemIndex; - itemRender.data = this.itemDataList[itemIndex]; - itemRender.dataChanged(); - item.y = item.y + offset; - } - } - } - this.lastContentPosY = this.scrollView.content.y; - }; - /**水平排列 */ - List.prototype.udpateH = function () { - var items = this.itemList; - var item; - var bufferZone = this.halfScrollView; - var isRight = this.scrollView.content.x > this.lastContentPosX; - var offset = (this.itemWidth + this.spaceX) * items.length; - for (var i = 0; i < items.length; i++) { - item = items[i]; - var viewPos = this.getPositionInView(item); - if (isRight) { - //item右滑时,超出了scrollView右边界,将item移动到左方复用,item移动到左方的位置必须不超过content的左边界 - if (viewPos.x > bufferZone && item.x - offset - this.padding_left > 0) { - var itemRender = item.getComponent(ItemRender_1.default); - var itemIndex = itemRender.itemIndex - items.length; - itemRender.itemIndex = itemIndex; - itemRender.data = this.itemDataList[itemIndex]; - itemRender.dataChanged(); - item.x = item.x - offset; - } - } - else { - //item左滑时,超出了scrollView左边界,将item移动到右方复用,item移动到右方的位置必须不超过content的右边界 - if (viewPos.x < -bufferZone && item.x + offset + this.padding_right < this.content.width) { - var itemRender = item.getComponent(ItemRender_1.default); - var itemIndex = itemRender.itemIndex + items.length; - itemRender.itemIndex = itemIndex; - itemRender.data = this.itemDataList[itemIndex]; - itemRender.dataChanged(); - item.x = item.x + offset; - } - } - } - this.lastContentPosX = this.scrollView.content.x; - }; - /**网格垂直排列 */ - List.prototype.updateGrid_V = function () { - var items = this.itemList; - var item; - var bufferZone = this.halfScrollView; - var isUp = this.scrollView.content.y > this.lastContentPosY; - var offset = (this.itemHeight + this.spaceY) * (this.spawnCount / this.gridCol); - for (var i = 0; i < items.length; i++) { - item = items[i]; - var viewPos = this.getPositionInView(item); - if (isUp) { - //item上滑时,超出了scrollView上边界,将item移动到下方复用,item移动到下方的位置必须不超过content的下边界 - if (viewPos.y > bufferZone && item.y - offset - this.padding_buttom > -this.content.height) { - var itemRender = item.getComponent(ItemRender_1.default); - var itemIndex = itemRender.itemIndex + (this.spawnCount / this.gridCol) * this.gridCol; - if (this.itemDataList[itemIndex] != null) { - item.y = item.y - offset; - itemRender.itemIndex = itemIndex; - itemRender.data = this.itemDataList[itemIndex]; - itemRender.dataChanged(); - item.opacity = 255; - } - else { - item.y = item.y - offset; - itemRender.itemIndex = itemIndex; - item.opacity = 0; - } - } - } - else { //item下滑时,超出了scrollView下边界,将item移动到上方复用,item移动到上方的位置必须不超过content的上边界 - if (viewPos.y < -bufferZone && item.y + offset + this.padding_top < 0) { - var itemRender = item.getComponent(ItemRender_1.default); - var itemIndex = itemRender.itemIndex - (this.spawnCount / this.gridCol) * this.gridCol; - if (this.itemDataList[itemIndex] != null) { - item.y = item.y + offset; - itemRender.itemIndex = itemIndex; - itemRender.data = this.itemDataList[itemIndex]; - itemRender.dataChanged(); - item.opacity = 255; - } - else { - item.y = item.y + offset; - itemRender.itemIndex = itemIndex; - item.opacity = 0; - } - } - } - } - this.lastContentPosY = this.scrollView.content.y; - }; - /**网格水平排列 */ - List.prototype.updateGrid_H = function () { - var items = this.itemList; - var item; - var bufferZone = this.halfScrollView; - var isRight = this.scrollView.content.x > this.lastContentPosX; - var offset = (this.itemWidth + this.spaceX) * (this.spawnCount / this.gridRow); - for (var i = 0; i < items.length; i++) { - item = items[i]; - var viewPos = this.getPositionInView(item); - if (isRight) { - //item右滑时,超出了scrollView右边界,将item移动到左方复用,item移动到左方的位置必须不超过content的左边界 - if (viewPos.x > bufferZone && item.x - offset - this.padding_left > 0) { - var itemRender = item.getComponent(ItemRender_1.default); - var itemIndex = itemRender.itemIndex - (this.spawnCount / this.gridRow) * this.gridRow; - if (this.itemDataList[itemIndex] != null) { - item.x = item.x - offset; - itemRender.itemIndex = itemIndex; - itemRender.data = this.itemDataList[itemIndex]; - itemRender.dataChanged(); - item.opacity = 255; - } - else { - item.x = item.x - offset; - itemRender.itemIndex = itemIndex; - item.opacity = 0; - } - } - } - else { - //item左滑时,超出了scrollView左边界,将item移动到右方复用,item移动到右方的位置必须不超过content的右边界 - if (viewPos.x < -bufferZone && item.x + offset + this.padding_right < this.content.width) { - var itemRender = item.getComponent(ItemRender_1.default); - var itemIndex = itemRender.itemIndex + (this.spawnCount / this.gridRow) * this.gridRow; - if (this.itemDataList[itemIndex] != null) { - item.x = item.x + offset; - itemRender.itemIndex = itemIndex; - itemRender.data = this.itemDataList[itemIndex]; - itemRender.dataChanged(); - item.opacity = 255; - } - else { - item.x = item.x + offset; - itemRender.itemIndex = itemIndex; - item.opacity = 0; - } - } - } - } - this.lastContentPosX = this.scrollView.content.x; - }; - /**获取item在scrollView的局部坐标 */ - List.prototype.getPositionInView = function (item) { - var worldPos = item.parent.convertToWorldSpaceAR(item.position); - var viewPos = this.scrollView.node.convertToNodeSpaceAR(worldPos); - return viewPos; - }; - /**获取列表数据 */ - List.prototype.getListData = function () { - return this.itemDataList; - }; - /** - * 增加一项数据到列表的末尾 - * @param data 数据 - */ - List.prototype.addItem = function (data) { - this.itemDataList.push(data); - this.updateContent(); - }; - /** - * 增加一项数据到列表指定位置 - * @param index 位置,0表示第1项 - * @param data 数据 - */ - List.prototype.addItemAt = function (index, data) { - if (this.itemDataList[index] != null || this.itemDataList.length == index) { - this.itemDataList.splice(index, 1, data); - this.updateContent(); - } - }; - /** - * 删除一项数据 - * @param index 删除项的位置 ,0表示第1项 - */ - List.prototype.deleteItem = function (index) { - if (this.itemDataList[index] != null) { - this.itemDataList.splice(index, 1); - this.updateContent(); - } - }; - /** - * 改变一项数据 - * @param index 位置,0表示第1项 - * @param data 替换的数据 - */ - List.prototype.changeItem = function (index, data) { - if (this.itemDataList[index] != null) { - this.itemDataList[index] = data; - this.updateContent(); - } - }; - /**获取第一个Item的位置 */ - List.prototype.updateContent = function () { - //显示列表实例为0个 - if (this.itemList.length == 0) { - this.countListParam(); - this.createList(0, new cc.Vec2(0, 0)); - //显示列表的实例不为0个,则需要重新排列item实例数组 - } - else { - if (this.type == ListType.Vertical) { - this.itemList.sort(function (a, b) { - return b.y - a.y; - }); - } - else if (this.type == ListType.Horizontal) { - this.itemList.sort(function (a, b) { - return a.x - b.x; - }); - } - else if (this.type == ListType.Grid) { - if (this.startAxis == StartAxisType.Vertical) { - this.itemList.sort(function (a, b) { - return a.x - b.x; - }); - this.itemList.sort(function (a, b) { - return b.y - a.y; - }); - } - else if (this.startAxis == StartAxisType.Horizontal) { - this.itemList.sort(function (a, b) { - return b.y - a.y; - }); - this.itemList.sort(function (a, b) { - return a.x - b.x; - }); - } - } - this.countListParam(); - //获取第一个item实例需要显示的数据索引 - var startIndex = this.itemList[0].getComponent(ItemRender_1.default).itemIndex; - if (this.type == ListType.Grid && this.startAxis == StartAxisType.Vertical) { - startIndex += (startIndex + this.spawnCount) % this.gridCol; - } - else if (this.type == ListType.Grid && this.startAxis == StartAxisType.Horizontal) { - startIndex += (startIndex + this.spawnCount) % this.gridRow; - } - //getScrollOffset()和scrollToOffset()的x值是相反的 - var offset = this.scrollView.getScrollOffset(); - offset.x = -offset.x; - this.createList(startIndex, offset); - } - }; - /**销毁 */ - List.prototype.onDestroy = function () { - //清理列表项 - var len = this.itemList.length; - for (var i = 0; i < len; i++) { - if (cc.isValid(this.itemList[i], true)) { - this.itemList[i].destroy(); - } - } - this.itemList.length = 0; - //清理对象池 - len = this.itemPool.length; - for (var i = 0; i < len; i++) { - if (cc.isValid(this.itemPool[i], true)) { - this.itemPool[i].destroy(); - } - } - this.itemPool.length = 0; - //清理列表数据 - this.itemDataList.length = 0; - }; - __decorate([ - property({ type: cc.Node, tooltip: "列表项" }) - ], List.prototype, "itemRender", void 0); - __decorate([ - property({ type: cc.Enum(ListType), tooltip: "排列方式" }) - ], List.prototype, "type", void 0); - __decorate([ - property({ type: cc.Enum(StartAxisType), tooltip: "网格布局中的方向", visible: function () { return this.type == ListType.Grid; } }) - ], List.prototype, "startAxis", void 0); - __decorate([ - property({ type: cc.Integer, tooltip: "列表项X间隔", visible: function () { return (this.type == ListType.Horizontal || this.type == ListType.Grid); } }) - ], List.prototype, "spaceX", void 0); - __decorate([ - property({ type: cc.Integer, tooltip: "列表项Y间隔", visible: function () { return this.type == ListType.Vertical || this.type == ListType.Grid; } }) - ], List.prototype, "spaceY", void 0); - __decorate([ - property({ type: cc.Integer, tooltip: "上间距", visible: function () { return (this.type == ListType.Vertical || this.type == ListType.Grid); } }) - ], List.prototype, "padding_top", void 0); - __decorate([ - property({ type: cc.Integer, tooltip: "下间距", visible: function () { return (this.type == ListType.Vertical || this.type == ListType.Grid); } }) - ], List.prototype, "padding_buttom", void 0); - __decorate([ - property({ type: cc.Integer, tooltip: "左间距", visible: function () { return (this.type == ListType.Horizontal || this.type == ListType.Grid); } }) - ], List.prototype, "padding_left", void 0); - __decorate([ - property(cc.Integer) - ], List.prototype, "_padding", void 0); - __decorate([ - property({ type: cc.Integer, tooltip: "右间距", visible: function () { return (this.type == ListType.Horizontal || this.type == ListType.Grid); } }) - ], List.prototype, "padding_right", void 0); - List = __decorate([ - ccclass - ], List); - return List; -}(cc.Component)); -exports.default = List; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFJhbmtMaXN0XFxMaXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvQkFBb0I7QUFDcEIsd0VBQXdFO0FBQ3hFLG1CQUFtQjtBQUNuQixrRkFBa0Y7QUFDbEYsOEJBQThCO0FBQzlCLGtGQUFrRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsRiwyQ0FBcUM7QUFFL0IsSUFBQSxLQUF3QixFQUFFLENBQUMsVUFBVSxFQUFuQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWtCLENBQUM7QUFFNUMsWUFBWTtBQUNaLElBQVksUUFPWDtBQVBELFdBQVksUUFBUTtJQUNoQixVQUFVO0lBQ1YsbURBQWMsQ0FBQTtJQUNkLFVBQVU7SUFDViwrQ0FBWSxDQUFBO0lBQ1osVUFBVTtJQUNWLHVDQUFRLENBQUE7QUFDWixDQUFDLEVBUFcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFPbkI7QUFFRCxjQUFjO0FBQ2QsSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3JCLFVBQVU7SUFDViw2REFBYyxDQUFBO0lBQ2QsVUFBVTtJQUNWLHlEQUFZLENBQUE7QUFDaEIsQ0FBQyxFQUxXLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBS3hCO0FBRUQ7Ozs7Ozs7R0FPRztBQUVIO0lBQWtDLHdCQUFZO0lBQTlDO1FBQUEscUVBeWlCQztRQXZpQkcscURBQXFEO1FBQ3JELFVBQVU7UUFFSCxnQkFBVSxHQUFZLElBQUksQ0FBQztRQUVsQyxVQUFVO1FBRUgsVUFBSSxHQUFhLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFFMUMsY0FBYztRQUVQLGVBQVMsR0FBa0IsYUFBYSxDQUFDLFVBQVUsQ0FBQztRQUUzRCxjQUFjO1FBRVAsWUFBTSxHQUFXLENBQUMsQ0FBQztRQUUxQixjQUFjO1FBRVAsWUFBTSxHQUFXLENBQUMsQ0FBQztRQUUxQixTQUFTO1FBRUYsaUJBQVcsR0FBVyxDQUFDLENB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SSxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQzs4Q0FDdEc7SUFLaEM7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQzswQ0FDTztJQUk1QjtRQURDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxnQkFBSyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLENBQUM7K0NBQ3JHO0lBMUNoQixJQUFJO1FBRHhCLE9BQU87T0FDYSxJQUFJLENBeWlCeEI7SUFBRCxXQUFDO0NBemlCRCxBQXlpQkMsQ0F6aUJpQyxFQUFFLENBQUMsU0FBUyxHQXlpQjdDO2tCQXppQm9CLElBQUkiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMZWFybiBUeXBlU2NyaXB0OlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy90eXBlc2NyaXB0Lmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5pbXBvcnQgSXRlbVJlbmRlciBmcm9tIFwiLi9JdGVtUmVuZGVyXCJcclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG4vKirliJfooajmjpLliJfmlrnlvI8gKi9cclxuZXhwb3J0IGVudW0gTGlzdFR5cGUge1xyXG4gICAgLyoq5rC05bmz5o6S5YiXICovXHJcbiAgICBIb3Jpem9udGFsID0gMSxcclxuICAgIC8qKuWeguebtOaOkuWIlyAqL1xyXG4gICAgVmVydGljYWwgPSAyLFxyXG4gICAgLyoq572R5qC85o6S5YiXICovXHJcbiAgICBHcmlkID0gM1xyXG59XHJcblxyXG4vKirnvZHmoLzluIPlsYDkuK3nmoTmlrnlkJEgKi9cclxuZXhwb3J0IGVudW0gU3RhcnRBeGlzVHlwZSB7XHJcbiAgICAvKirmsLTlubPmjpLliJcgKi9cclxuICAgIEhvcml6b250YWwgPSAxLFxyXG4gICAgLyoq5Z6C55u05o6S5YiXICovXHJcbiAgICBWZXJ0aWNhbCA9IDIsXHJcbn1cclxuXHJcbi8qKlxyXG4gKiDliJfooahcclxuICog5qC55o2uY29jb3NfZXhhbXBsZeeahGxpc3RWaWV35pS55Yqo6ICM5p2lXHJcbiAqIEBhdXRob3IgY2hlbmthaSAyMDIwLjcuOFxyXG4gKiBAZXhhbXBsZVxyXG4gKiAgMS7liJvlu7pjb2Nvc+eahFNjcm9sbFZpZXfnu4Tku7bvvIzmt7vliqBMaXN077yM6K6+572uTGlzdOWxnuaAp+WNs+WPr1xyXG4gKiAgXHJcbiAqL1xyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMaXN0IGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuXHJcbiAgICAvLz09PT09PT09PT09PT09PT09PT09IOWxnuaAp+mdouadvyA9PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAvKirliJfooajpgInpobkgKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLk5vZGUsIHRvb2x0aXA6IFwi5YiX6KGo6aG5XCIgfSlcclxuICAgIHB1YmxpYyBpdGVtUmVuZGVyOiBjYy5Ob2RlID0gbnVsbDtcclxuXHJcbiAgICAvKirmjpLliJfmlrnlvI8gKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkVudW0oTGlzdFR5cGUpLCB0b29sdGlwOiBcIuaOkuWIl+aWueW8j1wiIH0pXHJcbiAgICBwdWJsaWMgdHlwZTogTGlzdFR5cGUgPSBMaXN0VHlwZS5WZXJ0aWNhbDtcclxuXHJcbiAgICAvKirnvZHmoLzluIPlsYDkuK3nmoTmlrnlkJEgKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkVudW0oU3RhcnRBeGlzVHlwZSksIHRvb2x0aXA6IFwi572R5qC85biD5bGA5Lit55qE5pa55ZCRXCIsIHZpc2libGUoKSB7IHJldHVybiB0aGlzLnR5cGUgPT0gTGlzdFR5cGUuR3JpZCB9IH0pXHJcbiAgICBwdWJsaWMgc3RhcnRBeGlzOiBTdGFydEF4aXNUeXBlID0gU3RhcnRBeGlzVHlwZS5Ib3Jpem9udGFsO1xyXG5cclxuICAgIC8qKuWIl+ihqOmhueS5i+mXtFjpl7TpmpQgKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkludGVnZXIsIHRvb2x0aXA6IFwi5YiX6KGo6aG5WOmXtOmalFwiLCB2aXNpYmxlKCkgeyByZXR1cm4gKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5Ib3Jpem9udGFsIHx8IHRoaXMudHlwZSA9PSBMaXN0VHlwZS5HcmlkKSB9IH0pXHJcbiAgICBwdWJsaWMgc3BhY2VYOiBudW1iZXIgPSAwO1xyXG5cclxuICAgIC8qKuWIl+ihqOmhueS5i+mXtFnpl7TpmpQgKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkludGVnZXIsIHRvb2x0aXA6IFwi5YiX6KGo6aG5WemXtOmalFwiLCB2aXNpYmxlKCkgeyByZXR1cm4gdGhpcy50eXBlID09IExpc3RUeXBlLlZlcnRpY2FsIHx8IHRoaXMudHlwZSA9PSBMaXN0VHlwZS5HcmlkIH0gfSlcclxuICAgIHB1YmxpYyBzcGFjZVk6IG51bWJlciA9IDA7XHJcblxyXG4gICAgLyoq5LiK6Ze06LedICovXHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBjYy5JbnRlZ2VyLCB0b29sdGlwOiBcIuS4iumXtOi3nVwiLCB2aXNpYmxlKCkgeyByZXR1cm4gKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5WZXJ0aWNhbCB8fCB0aGlzLnR5cGUgPT0gTGlzdFR5cGUuR3JpZCkgfSB9KVxyXG4gICAgcHVibGljIHBhZGRpbmdfdG9wOiBudW1iZXIgPSAwO1xyXG5cclxuICAgIC8qKuS4i+mXtOi3nSAqL1xyXG4gICAgQHByb3BlcnR5KHsgdHlwZTogY2MuSW50ZWdlciwgdG9vbHRpcDogXCLkuIvpl7Tot51cIiwgdmlzaWJsZSgpIHsgcmV0dXJuICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuVmVydGljYWwgfHwgdGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQpIH0gfSlcclxuICAgIHB1YmxpYyBwYWRkaW5nX2J1dHRvbTogbnVtYmVyID0gMDtcclxuXHJcbiAgICAvKirlt6bpl7Tot50gKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkludGVnZXIsIHRvb2x0aXA6IFwi5bem6Ze06LedXCIsIHZpc2libGUoKSB7IHJldHVybiAodGhpcy50eXBlID09IExpc3RUeXBlLkhvcml6b250YWwgfHwgdGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQpIH0gfSlcclxuICAgIHB1YmxpYyBwYWRkaW5nX2xlZnQ6IG51bWJlciA9IDA7XHJcblxyXG5cclxuXHJcbiAgICBAcHJvcGVydHkoY2MuSW50ZWdlcilcclxuICAgIHB1YmxpYyBfcGFkZGluZzogbnVtYmVyID0gMDtcclxuXHJcbiAgICAvKirlj7Ppl7Tot50gKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkludGVnZXIsIHRvb2x0aXA6IFwi5Y+z6Ze06LedXCIsIHZpc2libGUoKSB7IHJldHVybiAodGhpcy50eXBlID09IExpc3RUeXBlLkhvcml6b250YWwgfHwgdGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQpIH0gfSlcclxuICAgIHB1YmxpYyBwYWRkaW5nX3JpZ2h0OiBudW1iZXIgPSAwO1xyXG5cclxuICAgIC8vPT09PT09PT09PT09PT09PT09PT09PSDmu5rliqjlrrnlmaggPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgLyoq5YiX6KGo5rua5Yqo5a655ZmoICovXHJcbiAgICBwdWJsaWMgc2Nyb2xsVmlldzogY2MuU2Nyb2xsVmlldyA9IG51bGw7XHJcbiAgICAvKipzY3JvbGxWaWV355qE5YaF5a655a655ZmoICovXHJcbiAgICBwcml2YXRlIGNvbnRlbnQ6IGNjLk5vZGUgPSBudWxsO1xyXG5cclxuICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09IOWIl+ihqOmhuSA9PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgIC8qKuWIl+ihqOmhueaVsOaNriAqL1xyXG4gICAgcHJpdmF0ZSBpdGVtRGF0YUxpc3Q6IEFycmF5PGFueT4gPSBbXTtcclxuICAgIC8qKuW6lOWIm+W7uueahOWunuS+i+aVsOmHjyAqL1xyXG4gICAgcHJpdmF0ZSBzcGF3bkNvdW50OiBudW1iZXIgPSAwO1xyXG4gICAgLyoq5a2Y5pS+5YiX6KGo6aG55a6e5L6L55qE5pWw57uEICovXHJcbiAgICBwcml2YXRlIGl0ZW1MaXN0OiBBcnJheTxjYy5Ob2RlPiA9IFtdO1xyXG4gICAgLyoqaXRlbeeahOmrmOW6piAqL1xyXG4gICAgcHJpdmF0ZSBpdGVtSGVpZ2h0OiBudW1iZXIgPSAwO1xyXG4gICAgLyoqaXRlbeeahOWuveW6piAqL1xyXG4gICAgcHJpdmF0ZSBpdGVtV2lkdGg6IG51bWJlciA9IDA7XHJcbiAgICAvKirlrZjmlL7kuI3lho3kvb/nlKjkuK3nmoTliJfooajpobkgKi9cclxuICAgIHByaXZhdGUgaXRlbVBvb2w6IEFycmF5PGNjLk5vZGU+ID0gW107XHJcblxyXG4gICAgLy89PT09PT09PT09PT09PT09PT09PT09PSDorqHnrpflj4LmlbAgPT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgIC8qKui3neemu3Njcm9sbFZpZXfkuK3lv4PngrnnmoTot53nprvvvIzotoXov4fov5nkuKrot53nprvnmoRpdGVt5Lya6KKr6YeN572u77yM5LiA6Iis6K6+572u5Li6IHNjcm9sbFZJZXcuaGVpZ2h0LzIgKyBpdGVtLmhlaWd0LzIgKyBzcGFjZe+8jOWboOS4uui/meS4qui3neemu2l0ZW3mraPlpb3otoXlh7pzY3JvbGxWaWV35pi+56S66IyD5Zu0ICovXHJcbiAgICBwcml2YXRlIGhhbGZTY3JvbGxWaWV3OiBudW1iZXIgPSAwO1xyXG4gICAgLyoq5LiK5LiA5qyhY29udGVudOeahFjlgLzvvIznlKjkuo7lkoznjrDlnKhjb250ZW5055qEWOWAvOavlOi+g++8jOW+l+WHuuaYr+WQkeW3pui/mOaYr+WQkeWPs+a7muWKqCAqL1xyXG4gICAgcHJpdmF0ZSBsYXN0Q29udGVudFBvc1g6IG51bWJlciA9IDA7XHJcbiAgICAvKirkuIrkuIDmrKFjb250ZW5055qEWeWAvO+8jOeUqOS6juWSjOeOsOWcqGNvbnRlbnTnmoRZ5YC85q+U6L6D77yM5b6X5Ye65piv5ZCR5LiK6L+Y5piv5ZCR5LiL5rua5YqoICovXHJcbiAgICBwcml2YXRlIGxhc3RDb250ZW50UG9zWTogbnVtYmVyID0gMDtcclxuICAgIC8qKue9keagvOihjOaVsCAqL1xyXG4gICAgcHJpdmF0ZSBncmlkUm93OiBudW1iZXIgPSAwO1xyXG4gICAgLyoq572R5qC85YiX5pWwICovXHJcbiAgICBwcml2YXRlIGdyaWRDb2w6IG51bWJlciA9IDA7XHJcbiAgICAvKirliLfmlrDml7bpl7TvvIzljZXkvY1zICovXHJcbiAgICBwcml2YXRlIHVwZGF0ZVRpbWVyOiBudW1iZXIgPSAwO1xyXG4gICAgLyoq5Yi35paw6Ze06ZqU77yM5Y2V5L2NcyAqL1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVJbnRlcnZhbDogbnVtYmVyID0gMC4xO1xyXG4gICAgLyoq5piv5ZCm5rua5Yqo5a655ZmoICovXHJcbiAgICBwcml2YXRlIGJTY3JvbGxpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIC8qKuWIt+aWsOeahOWHveaVsCAqL1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVGdW46IEZ1bmN0aW9uID0gZnVuY3Rpb24gKCkgeyB9O1xyXG5cclxuICAgIG9uTG9hZCgpIHtcclxuICAgICAgICB0aGlzLml0ZW1IZWlnaHQgPSB0aGlzLml0ZW1SZW5kZXIuaGVpZ2h0O1xyXG4gICAgICAgIHRoaXMuaXRlbVdpZHRoID0gdGhpcy5pdGVtUmVuZGVyLndpZHRoO1xyXG4gICAgICAgIHRoaXMuc2Nyb2xsVmlldyA9IHRoaXMubm9kZS5nZXRDb21wb25lbnQoY2MuU2Nyb2xsVmlldyk7XHJcbiAgICAgICAgdGhpcy5jb250ZW50ID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQ7XHJcbiAgICAgICAgdGhpcy5jb250ZW50LmFuY2hvclggPSAwO1xyXG4gICAgICAgIHRoaXMuY29udGVudC5hbmNob3JZID0gMTtcclxuICAgICAgICB0aGlzLmNvbnRlbnQucmVtb3ZlQWxsQ2hpbGRyZW4oKTtcclxuICAgICAgICB0aGlzLnNjcm9sbFZpZXcubm9kZS5vbihcInNjcm9sbGluZ1wiLCB0aGlzLm9uU2Nyb2xsaW5nLCB0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOWIl+ihqOaVsOaNriAo5YiX6KGo5pWw5o2u5aSN5Yi25L2/55So77yM5aaC5p6c5YiX6KGo5pWw5o2u5pS55Y+Y77yM5YiZ6ZyA6KaB6YeN5paw6K6+572u5LiA6YGN5pWw5o2uKVxyXG4gICAgICogQHBhcmFtIGl0ZW1EYXRhTGlzdCBpdGVt5pWw5o2u5YiX6KGoXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXREYXRhKGl0ZW1EYXRhTGlzdDogQXJyYXk8YW55Pikge1xyXG4gICAgICAgIHRoaXMuaXRlbURhdGFMaXN0ID0gaXRlbURhdGFMaXN0LnNsaWNlKCk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XHJcbiAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAvKirorqHnrpfliJfooajnmoTlkITpobnlj4LmlbAgKi9cclxuICAgIHByaXZhdGUgY291bnRMaXN0UGFyYW0oKSB7XHJcbiAgICAgICAgbGV0IGRhdGFMZW4gPSB0aGlzLml0ZW1EYXRhTGlzdC5sZW5ndGg7XHJcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5WZXJ0aWNhbCkge1xyXG4gICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcuaG9yaXpvbnRhbCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcudmVydGljYWwgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnQud2lkdGggPSB0aGlzLmNvbnRlbnQucGFyZW50LndpZHRoO1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnQuaGVpZ2h0ID0gZGF0YUxlbiAqIHRoaXMuaXRlbUhlaWdodCArIChkYXRhTGVuIC0gMSkgKiB0aGlzLnNwYWNlWSArIHRoaXMucGFkZGluZ190b3AgKyB0aGlzLnBhZGRpbmdfYnV0dG9tO1xyXG4gICAgICAgICAgICB0aGlzLnNwYXduQ291bnQgPSBNYXRoLnJvdW5kKHRoaXMuc2Nyb2xsVmlldy5ub2RlLmhlaWdodCAvICh0aGlzLml0ZW1IZWlnaHQgKyB0aGlzLnNwYWNlWSkpICsgMjsgLy/orqHnrpfliJvlu7rnmoRpdGVt5a6e5L6L5pWw6YeP77yM5q+U5b2T5YmNc2Nyb2xsVmlld+WuueWZqOiDveaUvuS4i+eahGl0ZW3mlbDph4/lho3liqDkuIoy5LiqXHJcbiAgICAgICAgICAgIHRoaXMuaGFsZlNjcm9sbFZpZXcgPSB0aGlzLnNjcm9sbFZpZXcubm9kZS5oZWlnaHQgLyAyICsgdGhpcy5pdGVtSGVpZ2h0IC8gMiArIHRoaXMuc3BhY2VZOyAvL+iuoeeul2J1ZmZlclpvbmXvvIxpdGVt55qE5pi+56S66IyD5Zu0XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRnVuID0gdGhpcy51cGRhdGVWO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkhvcml6b250YWwpIHtcclxuICAgICAgICAgICAgdGhpcy5zY3JvbGxWaWV3Lmhvcml6b250YWwgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcudmVydGljYWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jb250ZW50LndpZHRoID0gZGF0YUxlbiAqIHRoaXMuaXRlbVdpZHRoICsgKGRhdGFMZW4gLSAxKSAqIHRoaXMuc3BhY2VYICsgdGhpcy5wYWRkaW5nX2xlZnQgKyB0aGlzLnBhZGRpbmdfcmlnaHQ7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGVudC5oZWlnaHQgPSB0aGlzLmNvbnRlbnQucGFyZW50LmhlaWdodDtcclxuICAgICAgICAgICAgdGhpcy5zcGF3bkNvdW50ID0gTWF0aC5yb3VuZCh0aGlzLnNjcm9sbFZpZXcubm9kZS53aWR0aCAvICh0aGlzLml0ZW1XaWR0aCArIHRoaXMuc3BhY2VYKSkgKyAyO1xyXG4gICAgICAgICAgICB0aGlzLmhhbGZTY3JvbGxWaWV3ID0gdGhpcy5zY3JvbGxWaWV3Lm5vZGUud2lkdGggLyAyICsgdGhpcy5pdGVtV2lkdGggLyAyICsgdGhpcy5zcGFjZVg7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRnVuID0gdGhpcy51ZHBhdGVIO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuc3RhcnRBeGlzID09IFN0YXJ0QXhpc1R5cGUuVmVydGljYWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVmlldy5ob3Jpem9udGFsID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcudmVydGljYWwgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50LndpZHRoID0gdGhpcy5jb250ZW50LnBhcmVudC53aWR0aDtcclxuICAgICAgICAgICAgICAgIC8v5aaC5p6cbGVmdOWSjHJpZ2h06Ze06ZqU6L+H5aSn77yM5a+86Ie05pS+5LiN5LiL5LiA5LiqaXRlbe+8jOWImWxlZnTlkoxyaWdodOmDveiuvue9ruS4ujDvvIznm7jlvZPkuo7kuI3nlJ/mlYhcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBhZGRpbmdfbGVmdCArIHRoaXMucGFkZGluZ19yaWdodCArIHRoaXMuaXRlbVdpZHRoICsgdGhpcy5zcGFjZVggPiB0aGlzLmNvbnRlbnQud2lkdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZGRpbmdfbGVmdCA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWRkaW5nX3JpZ2h0ID0gMDtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwicGFkZGluZ19sZWZ05oiWcGFkZGluZ19yaWdodOi/h+Wkp1wiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWRDb2wgPSBNYXRoLmZsb29yKCh0aGlzLmNvbnRlbnQud2lkdGggLSB0aGlzLnBhZGRpbmdfbGVmdCAtIHRoaXMucGFkZGluZ19yaWdodCkgLyAodGhpcy5pdGVtV2lkdGggKyB0aGlzLnNwYWNlWCkpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkUm93ID0gTWF0aC5jZWlsKGRhdGFMZW4gLyB0aGlzLmdyaWRDb2wpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50LmhlaWdodCA9IHRoaXMuZ3JpZFJvdyAqIHRoaXMuaXRlbUhlaWdodCArICh0aGlzLmdyaWRSb3cgLSAxKSAqIHRoaXMuc3BhY2VZICsgdGhpcy5wYWRkaW5nX3RvcCArIHRoaXMucGFkZGluZ19idXR0b207XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNwYXduQ291bnQgPSBNYXRoLnJvdW5kKHRoaXMuc2Nyb2xsVmlldy5ub2RlLmhlaWdodCAvICh0aGlzLml0ZW1IZWlnaHQgKyB0aGlzLnNwYWNlWSkpICogdGhpcy5ncmlkQ29sICsgdGhpcy5ncmlkQ29sICogMjtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGFsZlNjcm9sbFZpZXcgPSB0aGlzLnNjcm9sbFZpZXcubm9kZS5oZWlnaHQgLyAyICsgdGhpcy5pdGVtSGVpZ2h0IC8gMiArIHRoaXMuc3BhY2VZO1xyXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVGdW4gPSB0aGlzLnVwZGF0ZUdyaWRfVjtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnN0YXJ0QXhpcyA9PSBTdGFydEF4aXNUeXBlLkhvcml6b250YWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVmlldy5ob3Jpem9udGFsID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVmlldy52ZXJ0aWNhbCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgLy/orqHnrpfpq5jpl7TpmpRcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udGVudC5oZWlnaHQgPSB0aGlzLmNvbnRlbnQucGFyZW50LmhlaWdodDtcclxuICAgICAgICAgICAgICAgIC8v5aaC5p6cbGVmdOWSjHJpZ2h06Ze06ZqU6L+H5aSn77yM5a+86Ie05pS+5LiN5LiL5LiA5LiqaXRlbe+8jOWImWxlZnTlkoxyaWdodOmDveiuvue9ruS4ujDvvIznm7jlvZPkuo7kuI3nlJ/mlYhcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBhZGRpbmdfdG9wICsgdGhpcy5wYWRkaW5nX2J1dHRvbSArIHRoaXMuaXRlbUhlaWdodCArIHRoaXMuc3BhY2VZID4gdGhpcy5jb250ZW50LmhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFkZGluZ190b3AgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFkZGluZ19idXR0b20gPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJwYWRkaW5nX3RvcOaIlnBhZGRpbmdfYnV0dG9t6L+H5aSnXCIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZFJvdyA9IE1hdGguZmxvb3IoKHRoaXMuY29udGVudC5oZWlnaHQgLSB0aGlzLnBhZGRpbmdfdG9wIC0gdGhpcy5wYWRkaW5nX2J1dHRvbSkgLyAodGhpcy5pdGVtSGVpZ2h0ICsgdGhpcy5zcGFjZVkpKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZENvbCA9IE1hdGguY2VpbChkYXRhTGVuIC8gdGhpcy5ncmlkUm93KTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udGVudC53aWR0aCA9IHRoaXMuZ3JpZENvbCAqIHRoaXMuaXRlbVdpZHRoICsgKHRoaXMuZ3JpZENvbCAtIDEpICogdGhpcy5zcGFjZVggKyB0aGlzLnBhZGRpbmdfbGVmdCArIHRoaXMucGFkZGluZ19yaWdodDtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3Bhd25Db3VudCA9IE1hdGgucm91bmQodGhpcy5zY3JvbGxWaWV3Lm5vZGUud2lkdGggLyAodGhpcy5pdGVtV2lkdGggKyB0aGlzLnNwYWNlWCkpICogdGhpcy5ncmlkUm93ICsgdGhpcy5ncmlkUm93ICogMjtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGFsZlNjcm9sbFZpZXcgPSB0aGlzLnNjcm9sbFZpZXcubm9kZS53aWR0aCAvIDIgKyB0aGlzLml0ZW1XaWR0aCAvIDIgKyB0aGlzLnNwYWNlWDtcclxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlRnVuID0gdGhpcy51cGRhdGVHcmlkX0g7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDliJvlu7rliJfooaggXHJcbiAgICAgKiBAcGFyYW0gc3RhcnRJbmRleCDotbflp4vmmL7npLrnmoTmlbDmja7ntKLlvJUgMOihqOekuuesrOS4gOmhuVxyXG4gICAgICogQHBhcmFtIG9mZnNldCAgICAgc2Nyb2xsVmlld+WBj+enu+mHj1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGNyZWF0ZUxpc3Qoc3RhcnRJbmRleDogbnVtYmVyLCBvZmZzZXQ6IGNjLlZlYzIpIHtcclxuICAgICAgICAvL+W9k+mcgOimgeaYvuekuueahOaVsOaNrumVv+W6piA+IOiZmuaLn+WIl+ihqOmVv+W6pu+8jCDliKDpmaTmnIDmnKvlsL7lh6DkuKrmlbDmja7ml7bvvIzliJfooajpnIDopoHph43nva7kvY3nva7liLBzY3JvbGxWaWV35pyA5bqV56uvXHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbURhdGFMaXN0Lmxlbmd0aCA+IHRoaXMuc3Bhd25Db3VudCAmJiAoc3RhcnRJbmRleCArIHRoaXMuc3Bhd25Db3VudCAtIDEpID49IHRoaXMuaXRlbURhdGFMaXN0Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICBzdGFydEluZGV4ID0gdGhpcy5pdGVtRGF0YUxpc3QubGVuZ3RoIC0gdGhpcy5zcGF3bkNvdW50O1xyXG4gICAgICAgICAgICBvZmZzZXQgPSB0aGlzLnNjcm9sbFZpZXcuZ2V0TWF4U2Nyb2xsT2Zmc2V0KCk7XHJcblxyXG4gICAgICAgICAgICAvL+W9k+mcgOimgeaYvuekuueahOaVsOaNrumVv+W6piA8PSDomZrmi5/liJfooajplb/luqbvvIwg6ZqQ6JeP5aSa5L2Z55qE6Jma5ouf5YiX6KGo6aG5IFxyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pdGVtRGF0YUxpc3QubGVuZ3RoIDw9IHRoaXMuc3Bhd25Db3VudCkge1xyXG4gICAgICAgICAgICBzdGFydEluZGV4ID0gMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5zcGF3bkNvdW50OyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IGl0ZW06IGNjLk5vZGU7XHJcbiAgICAgICAgICAgIC8v6ZyA6KaB5pi+56S655qE5pWw5o2u57Si5byV5Zyo5pWw5o2u6IyD5Zu05YaF77yM5YiZaXRlbeWunuS+i+aYvuekuuWHuuadpVxyXG4gICAgICAgICAgICBpZiAoaSArIHN0YXJ0SW5kZXggPCB0aGlzLml0ZW1EYXRhTGlzdC5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW1MaXN0W2ldID09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtID0gdGhpcy5nZXRJdGVtKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ucGFyZW50ID0gdGhpcy5jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtID0gdGhpcy5pdGVtTGlzdFtpXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8v6ZyA6KaB5pi+56S655qE5pWw5o2u57Si5byV6LaF6L+H5LqG5pWw5o2u6IyD5Zu077yM5YiZaXRlbeWunuS+i+makOiXj+i1t+adpVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy9pdGVt5a6e5L6L5pWw6YePID4g6ZyA6KaB5pi+56S655qE5pWw5o2u6YePXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pdGVtTGlzdC5sZW5ndGggPiAodGhpcy5pdGVtRGF0YUxpc3QubGVuZ3RoIC0gc3RhcnRJbmRleCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtID0gdGhpcy5pdGVtTGlzdC5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnJlbW92ZUZyb21QYXJlbnQoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLml0ZW1Qb29sLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpICsgc3RhcnRJbmRleDtcclxuICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaSArIHN0YXJ0SW5kZXhdO1xyXG4gICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLlZlcnRpY2FsKSB7XHJcbiAgICAgICAgICAgICAgICAvL+WboOS4umNvbnRlbnTnmoTplJrngrlY5pivMO+8jOaJgOS7pWl0ZW3nmoR45YC85pivY29udGVudC53aXRoLzLooajnpLrlsYXkuK3vvIzplJrngrlZ5pivMe+8jOaJgOS7pWl0ZW3nmoR55YC85LuOY29udGVudOmhtumDqOWQkeS4i+aYrzDliLDotJ/ml6DnqbfjgILmiYDku6VpdGVtLnk9IC1pdGVtLmhlaWdodC8y5pe277yM5piv5ZyoY29udGVudOeahOmhtumDqOOAglxyXG4gICAgICAgICAgICAgICAgaXRlbS5zZXRQb3NpdGlvbih0aGlzLmNvbnRlbnQud2lkdGggLyAyLCAtaXRlbS5oZWlnaHQgKiAoMC41ICsgaSArIHN0YXJ0SW5kZXgpIC0gdGhpcy5zcGFjZVkgKiAoaSArIHN0YXJ0SW5kZXgpIC0gdGhpcy5wYWRkaW5nX3RvcCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkhvcml6b250YWwpIHtcclxuICAgICAgICAgICAgICAgIGl0ZW0uc2V0UG9zaXRpb24oaXRlbS53aWR0aCAqICgwLjUgKyBpICsgc3RhcnRJbmRleCkgKyB0aGlzLnNwYWNlWCAqIChpICsgc3RhcnRJbmRleCkgKyB0aGlzLnBhZGRpbmdfbGVmdCwgLXRoaXMuY29udGVudC5oZWlnaHQgLyAyKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuR3JpZCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc3RhcnRBeGlzID09IFN0YXJ0QXhpc1R5cGUuVmVydGljYWwpIHtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgcm93ID0gTWF0aC5mbG9vcigoaSArIHN0YXJ0SW5kZXgpIC8gdGhpcy5ncmlkQ29sKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgY29sID0gKGkgKyBzdGFydEluZGV4KSAlIHRoaXMuZ3JpZENvbDtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnNldFBvc2l0aW9uKGl0ZW0ud2lkdGggKiAoMC41ICsgY29sKSArIHRoaXMuc3BhY2VYICogY29sICsgdGhpcy5wYWRkaW5nX2xlZnQsIC1pdGVtLmhlaWdodCAqICgwLjUgKyByb3cpIC0gdGhpcy5zcGFjZVkgKiByb3cgLSB0aGlzLnBhZGRpbmdfdG9wKTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3RhcnRBeGlzID09IFN0YXJ0QXhpc1R5cGUuSG9yaXpvbnRhbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciByb3cgPSAoaSArIHN0YXJ0SW5kZXgpICUgdGhpcy5ncmlkUm93O1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBjb2wgPSBNYXRoLmZsb29yKChpICsgc3RhcnRJbmRleCkgLyB0aGlzLmdyaWRSb3cpO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uc2V0UG9zaXRpb24oaXRlbS53aWR0aCAqICgwLjUgKyBjb2wpICsgdGhpcy5zcGFjZVggKiBjb2wgKyB0aGlzLnBhZGRpbmdfbGVmdCwgLWl0ZW0uaGVpZ2h0ICogKDAuNSArIHJvdykgLSB0aGlzLnNwYWNlWSAqIHJvdyAtIHRoaXMucGFkZGluZ190b3ApO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zY3JvbGxWaWV3LnNjcm9sbFRvT2Zmc2V0KG9mZnNldCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoq6I635Y+W5LiA5Liq5YiX6KGo6aG5ICovXHJcbiAgICBwcml2YXRlIGdldEl0ZW0oKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbVBvb2wubGVuZ3RoID09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNjLmluc3RhbnRpYXRlKHRoaXMuaXRlbVJlbmRlcik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXRlbVBvb2wucG9wKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZShkdCkge1xyXG4gICAgICAgIGlmICh0aGlzLmJTY3JvbGxpbmcgPT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnVwZGF0ZVRpbWVyICs9IGR0O1xyXG4gICAgICAgIGlmICh0aGlzLnVwZGF0ZVRpbWVyIDwgdGhpcy51cGRhdGVJbnRlcnZhbCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudXBkYXRlVGltZXIgPSAwO1xyXG4gICAgICAgIHRoaXMuYlNjcm9sbGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudXBkYXRlRnVuKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25TY3JvbGxpbmcoKSB7XHJcbiAgICAgICAgdGhpcy5iU2Nyb2xsaW5nID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKirlnoLnm7TmjpLliJcgKi9cclxuICAgIHByaXZhdGUgdXBkYXRlVigpIHtcclxuICAgICAgICBsZXQgaXRlbXMgPSB0aGlzLml0ZW1MaXN0O1xyXG4gICAgICAgIGxldCBpdGVtO1xyXG4gICAgICAgIGxldCBidWZmZXJab25lID0gdGhpcy5oYWxmU2Nyb2xsVmlldztcclxuICAgICAgICBsZXQgaXNVcCA9IHRoaXMuc2Nyb2xsVmlldy5jb250ZW50LnkgPiB0aGlzLmxhc3RDb250ZW50UG9zWTtcclxuICAgICAgICBsZXQgb2Zmc2V0ID0gKHRoaXMuaXRlbUhlaWdodCArIHRoaXMuc3BhY2VZKSAqIGl0ZW1zLmxlbmd0aDtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1tpXTtcclxuICAgICAgICAgICAgbGV0IHZpZXdQb3MgPSB0aGlzLmdldFBvc2l0aW9uSW5WaWV3KGl0ZW0pO1xyXG4gICAgICAgICAgICBpZiAoaXNVcCkge1xyXG4gICAgICAgICAgICAgICAgLy9pdGVt5LiK5ruR5pe277yM6LaF5Ye65LqGc2Nyb2xsVmlld+S4iui+ueeVjO+8jOWwhml0ZW3np7vliqjliLDkuIvmlrnlpI3nlKjvvIxpdGVt56e75Yqo5Yiw5LiL5pa555qE5L2N572u5b+F6aG75LiN6LaF6L+HY29udGVudOeahOS4i+i+ueeVjFxyXG4gICAgICAgICAgICAgICAgaWYgKHZpZXdQb3MueSA+IGJ1ZmZlclpvbmUgJiYgaXRlbS55IC0gb2Zmc2V0IC0gdGhpcy5wYWRkaW5nX2J1dHRvbSA+IC10aGlzLmNvbnRlbnQuaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gaXRlbVJlbmRlci5pdGVtSW5kZXggKyBpdGVtcy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS55ID0gaXRlbS55IC0gb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy9pdGVt5LiL5ruR5pe277yM6LaF5Ye65LqGc2Nyb2xsVmlld+S4i+i+ueeVjO+8jOWwhml0ZW3np7vliqjliLDkuIrmlrnlpI3nlKjvvIxpdGVt56e75Yqo5Yiw5LiK5pa555qE5L2N572u5b+F6aG75LiN6LaF6L+HY29udGVudOeahOS4iui+ueeVjFxyXG4gICAgICAgICAgICAgICAgaWYgKHZpZXdQb3MueSA8IC1idWZmZXJab25lICYmIGl0ZW0ueSArIG9mZnNldCArIHRoaXMucGFkZGluZ190b3AgPCAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gaXRlbVJlbmRlci5pdGVtSW5kZXggLSBpdGVtcy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS55ID0gaXRlbS55ICsgb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGFzdENvbnRlbnRQb3NZID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQueTtcclxuICAgIH1cclxuXHJcbiAgICAvKirmsLTlubPmjpLliJcgKi9cclxuICAgIHByaXZhdGUgdWRwYXRlSCgpIHtcclxuICAgICAgICBsZXQgaXRlbXMgPSB0aGlzLml0ZW1MaXN0O1xyXG4gICAgICAgIGxldCBpdGVtO1xyXG4gICAgICAgIGxldCBidWZmZXJab25lID0gdGhpcy5oYWxmU2Nyb2xsVmlldztcclxuICAgICAgICBsZXQgaXNSaWdodCA9IHRoaXMuc2Nyb2xsVmlldy5jb250ZW50LnggPiB0aGlzLmxhc3RDb250ZW50UG9zWDtcclxuICAgICAgICBsZXQgb2Zmc2V0ID0gKHRoaXMuaXRlbVdpZHRoICsgdGhpcy5zcGFjZVgpICogaXRlbXMubGVuZ3RoO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaXRlbSA9IGl0ZW1zW2ldO1xyXG4gICAgICAgICAgICBsZXQgdmlld1BvcyA9IHRoaXMuZ2V0UG9zaXRpb25JblZpZXcoaXRlbSk7XHJcbiAgICAgICAgICAgIGlmIChpc1JpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAvL2l0ZW3lj7Pmu5Hml7bvvIzotoXlh7rkuoZzY3JvbGxWaWV35Y+z6L6555WM77yM5bCGaXRlbeenu+WKqOWIsOW3puaWueWkjeeUqO+8jGl0ZW3np7vliqjliLDlt6bmlrnnmoTkvY3nva7lv4XpobvkuI3otoXov4djb250ZW5055qE5bem6L6555WMXHJcbiAgICAgICAgICAgICAgICBpZiAodmlld1Bvcy54ID4gYnVmZmVyWm9uZSAmJiBpdGVtLnggLSBvZmZzZXQgLSB0aGlzLnBhZGRpbmdfbGVmdCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbVJlbmRlcjogSXRlbVJlbmRlciA9IGl0ZW0uZ2V0Q29tcG9uZW50KEl0ZW1SZW5kZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtSW5kZXggPSBpdGVtUmVuZGVyLml0ZW1JbmRleCAtIGl0ZW1zLmxlbmd0aDtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGEgPSB0aGlzLml0ZW1EYXRhTGlzdFtpdGVtSW5kZXhdO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YUNoYW5nZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnggPSBpdGVtLnggLSBvZmZzZXQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvL2l0ZW3lt6bmu5Hml7bvvIzotoXlh7rkuoZzY3JvbGxWaWV35bem6L6555WM77yM5bCGaXRlbeenu+WKqOWIsOWPs+aWueWkjeeUqO+8jGl0ZW3np7vliqjliLDlj7PmlrnnmoTkvY3nva7lv4XpobvkuI3otoXov4djb250ZW5055qE5Y+z6L6555WMXHJcbiAgICAgICAgICAgICAgICBpZiAodmlld1Bvcy54IDwgLWJ1ZmZlclpvbmUgJiYgaXRlbS54ICsgb2Zmc2V0ICsgdGhpcy5wYWRkaW5nX3JpZ2h0IDwgdGhpcy5jb250ZW50LndpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gaXRlbVJlbmRlci5pdGVtSW5kZXggKyBpdGVtcy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS54ID0gaXRlbS54ICsgb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGFzdENvbnRlbnRQb3NYID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQueDtcclxuICAgIH1cclxuXHJcbiAgICAvKirnvZHmoLzlnoLnm7TmjpLliJcgKi9cclxuICAgIHByaXZhdGUgdXBkYXRlR3JpZF9WKCkge1xyXG4gICAgICAgIGxldCBpdGVtcyA9IHRoaXMuaXRlbUxpc3Q7XHJcbiAgICAgICAgbGV0IGl0ZW06IGNjLk5vZGU7XHJcbiAgICAgICAgbGV0IGJ1ZmZlclpvbmUgPSB0aGlzLmhhbGZTY3JvbGxWaWV3O1xyXG4gICAgICAgIGxldCBpc1VwID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQueSA+IHRoaXMubGFzdENvbnRlbnRQb3NZO1xyXG4gICAgICAgIGxldCBvZmZzZXQgPSAodGhpcy5pdGVtSGVpZ2h0ICsgdGhpcy5zcGFjZVkpICogKHRoaXMuc3Bhd25Db3VudCAvIHRoaXMuZ3JpZENvbCk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpdGVtID0gaXRlbXNbaV07XHJcbiAgICAgICAgICAgIGxldCB2aWV3UG9zID0gdGhpcy5nZXRQb3NpdGlvbkluVmlldyhpdGVtKTtcclxuICAgICAgICAgICAgaWYgKGlzVXApIHtcclxuICAgICAgICAgICAgICAgIC8vaXRlbeS4iua7keaXtu+8jOi2heWHuuS6hnNjcm9sbFZpZXfkuIrovrnnlYzvvIzlsIZpdGVt56e75Yqo5Yiw5LiL5pa55aSN55So77yMaXRlbeenu+WKqOWIsOS4i+aWueeahOS9jee9ruW/hemhu+S4jei2hei/h2NvbnRlbnTnmoTkuIvovrnnlYxcclxuICAgICAgICAgICAgICAgIGlmICh2aWV3UG9zLnkgPiBidWZmZXJab25lICYmIGl0ZW0ueSAtIG9mZnNldCAtIHRoaXMucGFkZGluZ19idXR0b20gPiAtdGhpcy5jb250ZW50LmhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtUmVuZGVyOiBJdGVtUmVuZGVyID0gaXRlbS5nZXRDb21wb25lbnQoSXRlbVJlbmRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1JbmRleCA9IGl0ZW1SZW5kZXIuaXRlbUluZGV4ICsgKHRoaXMuc3Bhd25Db3VudCAvIHRoaXMuZ3JpZENvbCkgKiB0aGlzLmdyaWRDb2w7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXRlbURhdGFMaXN0W2l0ZW1JbmRleF0gIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnkgPSBpdGVtLnkgLSBvZmZzZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuaXRlbUluZGV4ID0gaXRlbUluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGEgPSB0aGlzLml0ZW1EYXRhTGlzdFtpdGVtSW5kZXhdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnkgPSBpdGVtLnkgLSBvZmZzZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuaXRlbUluZGV4ID0gaXRlbUluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHsvL2l0ZW3kuIvmu5Hml7bvvIzotoXlh7rkuoZzY3JvbGxWaWV35LiL6L6555WM77yM5bCGaXRlbeenu+WKqOWIsOS4iuaWueWkjeeUqO+8jGl0ZW3np7vliqjliLDkuIrmlrnnmoTkvY3nva7lv4XpobvkuI3otoXov4djb250ZW5055qE5LiK6L6555WMXHJcbiAgICAgICAgICAgICAgICBpZiAodmlld1Bvcy55IDwgLWJ1ZmZlclpvbmUgJiYgaXRlbS55ICsgb2Zmc2V0ICsgdGhpcy5wYWRkaW5nX3RvcCA8IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbVJlbmRlcjogSXRlbVJlbmRlciA9IGl0ZW0uZ2V0Q29tcG9uZW50KEl0ZW1SZW5kZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtSW5kZXggPSBpdGVtUmVuZGVyLml0ZW1JbmRleCAtICh0aGlzLnNwYXduQ291bnQgLyB0aGlzLmdyaWRDb2wpICogdGhpcy5ncmlkQ29sO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW1EYXRhTGlzdFtpdGVtSW5kZXhdICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS55ID0gaXRlbS55ICsgb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhQ2hhbmdlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS55ID0gaXRlbS55ICsgb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5sYXN0Q29udGVudFBvc1kgPSB0aGlzLnNjcm9sbFZpZXcuY29udGVudC55O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKue9keagvOawtOW5s+aOkuWIlyAqL1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVHcmlkX0goKSB7XHJcbiAgICAgICAgbGV0IGl0ZW1zID0gdGhpcy5pdGVtTGlzdDtcclxuICAgICAgICBsZXQgaXRlbTtcclxuICAgICAgICBsZXQgYnVmZmVyWm9uZSA9IHRoaXMuaGFsZlNjcm9sbFZpZXc7XHJcbiAgICAgICAgbGV0IGlzUmlnaHQgPSB0aGlzLnNjcm9sbFZpZXcuY29udGVudC54ID4gdGhpcy5sYXN0Q29udGVudFBvc1g7XHJcbiAgICAgICAgbGV0IG9mZnNldCA9ICh0aGlzLml0ZW1XaWR0aCArIHRoaXMuc3BhY2VYKSAqICh0aGlzLnNwYXduQ291bnQgLyB0aGlzLmdyaWRSb3cpO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaXRlbSA9IGl0ZW1zW2ldO1xyXG4gICAgICAgICAgICBsZXQgdmlld1BvcyA9IHRoaXMuZ2V0UG9zaXRpb25JblZpZXcoaXRlbSk7XHJcbiAgICAgICAgICAgIGlmIChpc1JpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAvL2l0ZW3lj7Pmu5Hml7bvvIzotoXlh7rkuoZzY3JvbGxWaWV35Y+z6L6555WM77yM5bCGaXRlbeenu+WKqOWIsOW3puaWueWkjeeUqO+8jGl0ZW3np7vliqjliLDlt6bmlrnnmoTkvY3nva7lv4XpobvkuI3otoXov4djb250ZW5055qE5bem6L6555WMXHJcbiAgICAgICAgICAgICAgICBpZiAodmlld1Bvcy54ID4gYnVmZmVyWm9uZSAmJiBpdGVtLnggLSBvZmZzZXQgLSB0aGlzLnBhZGRpbmdfbGVmdCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbVJlbmRlcjogSXRlbVJlbmRlciA9IGl0ZW0uZ2V0Q29tcG9uZW50KEl0ZW1SZW5kZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtSW5kZXggPSBpdGVtUmVuZGVyLml0ZW1JbmRleCAtICh0aGlzLnNwYXduQ291bnQgLyB0aGlzLmdyaWRSb3cpICogdGhpcy5ncmlkUm93O1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW1EYXRhTGlzdFtpdGVtSW5kZXhdICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS54ID0gaXRlbS54IC0gb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhQ2hhbmdlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS54ID0gaXRlbS54IC0gb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvL2l0ZW3lt6bmu5Hml7bvvIzotoXlh7rkuoZzY3JvbGxWaWV35bem6L6555WM77yM5bCGaXRlbeenu+WKqOWIsOWPs+aWueWkjeeUqO+8jGl0ZW3np7vliqjliLDlj7PmlrnnmoTkvY3nva7lv4XpobvkuI3otoXov4djb250ZW5055qE5Y+z6L6555WMXHJcbiAgICAgICAgICAgICAgICBpZiAodmlld1Bvcy54IDwgLWJ1ZmZlclpvbmUgJiYgaXRlbS54ICsgb2Zmc2V0ICsgdGhpcy5wYWRkaW5nX3JpZ2h0IDwgdGhpcy5jb250ZW50LndpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gaXRlbVJlbmRlci5pdGVtSW5kZXggKyAodGhpcy5zcGF3bkNvdW50IC8gdGhpcy5ncmlkUm93KSAqIHRoaXMuZ3JpZFJvdztcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ueCA9IGl0ZW0ueCArIG9mZnNldDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YSA9IHRoaXMuaXRlbURhdGFMaXN0W2l0ZW1JbmRleF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YUNoYW5nZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ueCA9IGl0ZW0ueCArIG9mZnNldDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGFzdENvbnRlbnRQb3NYID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQueDtcclxuICAgIH1cclxuXHJcbiAgICAvKirojrflj5ZpdGVt5Zyoc2Nyb2xsVmlld+eahOWxgOmDqOWdkOaghyAqL1xyXG4gICAgcHJpdmF0ZSBnZXRQb3NpdGlvbkluVmlldyhpdGVtKSB7XHJcbiAgICAgICAgbGV0IHdvcmxkUG9zID0gaXRlbS5wYXJlbnQuY29udmVydFRvV29ybGRTcGFjZUFSKGl0ZW0ucG9zaXRpb24pO1xyXG4gICAgICAgIGxldCB2aWV3UG9zID0gdGhpcy5zY3JvbGxWaWV3Lm5vZGUuY29udmVydFRvTm9kZVNwYWNlQVIod29ybGRQb3MpO1xyXG4gICAgICAgIHJldHVybiB2aWV3UG9zO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKuiOt+WPluWIl+ihqOaVsOaNriAqL1xyXG4gICAgcHVibGljIGdldExpc3REYXRhKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1EYXRhTGlzdDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOWinuWKoOS4gOmhueaVsOaNruWIsOWIl+ihqOeahOacq+WwvlxyXG4gICAgICogQHBhcmFtIGRhdGEg5pWw5o2uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhZGRJdGVtKGRhdGE6IGFueSkge1xyXG4gICAgICAgIHRoaXMuaXRlbURhdGFMaXN0LnB1c2goZGF0YSk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDlop7liqDkuIDpobnmlbDmja7liLDliJfooajmjIflrprkvY3nva5cclxuICAgICAqIEBwYXJhbSBpbmRleCAgIOS9jee9ru+8jDDooajnpLrnrKwx6aG5XHJcbiAgICAgKiBAcGFyYW0gZGF0YSAg5pWw5o2uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhZGRJdGVtQXQoaW5kZXg6IG51bWJlciwgZGF0YTogYW55KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbURhdGFMaXN0W2luZGV4XSAhPSBudWxsIHx8IHRoaXMuaXRlbURhdGFMaXN0Lmxlbmd0aCA9PSBpbmRleCkge1xyXG4gICAgICAgICAgICB0aGlzLml0ZW1EYXRhTGlzdC5zcGxpY2UoaW5kZXgsIDEsIGRhdGEpO1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNvbnRlbnQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDliKDpmaTkuIDpobnmlbDmja5cclxuICAgICAqIEBwYXJhbSBpbmRleCDliKDpmaTpobnnmoTkvY3nva4gLDDooajnpLrnrKwx6aG5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkZWxldGVJdGVtKGluZGV4OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAodGhpcy5pdGVtRGF0YUxpc3RbaW5kZXhdICE9IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy5pdGVtRGF0YUxpc3Quc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5pS55Y+Y5LiA6aG55pWw5o2uXHJcbiAgICAgKiBAcGFyYW0gaW5kZXggICDkvY3nva4sMOihqOekuuesrDHpoblcclxuICAgICAqIEBwYXJhbSBkYXRhICDmm7/mjaLnmoTmlbDmja5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNoYW5nZUl0ZW0oaW5kZXg6IG51bWJlciwgZGF0YTogYW55KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbURhdGFMaXN0W2luZGV4XSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXRlbURhdGFMaXN0W2luZGV4XSA9IGRhdGE7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKirojrflj5bnrKzkuIDkuKpJdGVt55qE5L2N572uICovXHJcbiAgICBwcml2YXRlIHVwZGF0ZUNvbnRlbnQoKSB7XHJcbiAgICAgICAgLy/mmL7npLrliJfooajlrp7kvovkuLow5LiqXHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbUxpc3QubGVuZ3RoID09IDApIHtcclxuICAgICAgICAgICAgdGhpcy5jb3VudExpc3RQYXJhbSgpO1xyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUxpc3QoMCwgbmV3IGNjLlZlYzIoMCwgMCkpO1xyXG4gICAgICAgICAgICAvL+aYvuekuuWIl+ihqOeahOWunuS+i+S4jeS4ujDkuKrvvIzliJnpnIDopoHph43mlrDmjpLliJdpdGVt5a6e5L6L5pWw57uEXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5WZXJ0aWNhbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBiLnkgLSBhLnk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuSG9yaXpvbnRhbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhLnggLSBiLng7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuR3JpZCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc3RhcnRBeGlzID09IFN0YXJ0QXhpc1R5cGUuVmVydGljYWwpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLml0ZW1MaXN0LnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhLnggLSBiLng7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYi55IC0gYS55O1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnN0YXJ0QXhpcyA9PSBTdGFydEF4aXNUeXBlLkhvcml6b250YWwpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLml0ZW1MaXN0LnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBiLnkgLSBhLnk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYS54IC0gYi54O1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNvdW50TGlzdFBhcmFtKCk7XHJcblxyXG4gICAgICAgICAgICAvL+iOt+WPluesrOS4gOS4qml0ZW3lrp7kvovpnIDopoHmmL7npLrnmoTmlbDmja7ntKLlvJVcclxuICAgICAgICAgICAgdmFyIHN0YXJ0SW5kZXggPSB0aGlzLml0ZW1MaXN0WzBdLmdldENvbXBvbmVudChJdGVtUmVuZGVyKS5pdGVtSW5kZXg7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQgJiYgdGhpcy5zdGFydEF4aXMgPT0gU3RhcnRBeGlzVHlwZS5WZXJ0aWNhbCkge1xyXG4gICAgICAgICAgICAgICAgc3RhcnRJbmRleCArPSAoc3RhcnRJbmRleCArIHRoaXMuc3Bhd25Db3VudCkgJSB0aGlzLmdyaWRDb2w7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQgJiYgdGhpcy5zdGFydEF4aXMgPT0gU3RhcnRBeGlzVHlwZS5Ib3Jpem9udGFsKSB7XHJcbiAgICAgICAgICAgICAgICBzdGFydEluZGV4ICs9IChzdGFydEluZGV4ICsgdGhpcy5zcGF3bkNvdW50KSAlIHRoaXMuZ3JpZFJvdztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy9nZXRTY3JvbGxPZmZzZXQoKeWSjHNjcm9sbFRvT2Zmc2V0KCnnmoR45YC85piv55u45Y+N55qEXHJcbiAgICAgICAgICAgIHZhciBvZmZzZXQ6IGNjLlZlYzIgPSB0aGlzLnNjcm9sbFZpZXcuZ2V0U2Nyb2xsT2Zmc2V0KCk7XHJcbiAgICAgICAgICAgIG9mZnNldC54ID0gLSBvZmZzZXQueDtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlTGlzdChzdGFydEluZGV4LCBvZmZzZXQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKirplIDmr4EgKi9cclxuICAgIHB1YmxpYyBvbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgLy/muIXnkIbliJfooajpoblcclxuICAgICAgICBsZXQgbGVuID0gdGhpcy5pdGVtTGlzdC5sZW5ndGg7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoY2MuaXNWYWxpZCh0aGlzLml0ZW1MaXN0W2ldLCB0cnVlKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdFtpXS5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5pdGVtTGlzdC5sZW5ndGggPSAwO1xyXG4gICAgICAgIC8v5riF55CG5a+56LGh5rGgXHJcbiAgICAgICAgbGVuID0gdGhpcy5pdGVtUG9vbC5sZW5ndGg7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoY2MuaXNWYWxpZCh0aGlzLml0ZW1Qb29sW2ldLCB0cnVlKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtUG9vbFtpXS5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5pdGVtUG9vbC5sZW5ndGggPSAwO1xyXG4gICAgICAgIC8v5riF55CG5YiX6KGo5pWw5o2uXHJcbiAgICAgICAgdGhpcy5pdGVtRGF0YUxpc3QubGVuZ3RoID0gMDtcclxuICAgIH1cclxufVxyXG4iXX0= //------QC-SOURCE-SPLIT------ (function() { @@ -5987,6 +4445,695 @@ cc._RF.pop(); } })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENyeXB0b1xcY3J5cHRvLWpzLm1pbi5qcyJdLCJuYW1lcyI6WyJ0IiwiciIsImV4cG9ydHMiLCJtb2R1bGUiLCJkZWZpbmUiLCJhbWQiLCJDcnlwdG9KUyIsImUiLCJPYmplY3QiLCJjcmVhdGUiLCJwcm90b3R5cGUiLCJpIiwibiIsImxpYiIsIm8iLCJCYXNlIiwiZXh0ZW5kIiwibWl4SW4iLCJoYXNPd25Qcm9wZXJ0eSIsImluaXQiLCIkc3VwZXIiLCJhcHBseSIsImFyZ3VtZW50cyIsInRvU3RyaW5nIiwiY2xvbmUiLCJzIiwiV29yZEFycmF5Iiwid29yZHMiLCJzaWdCeXRlcyIsImxlbmd0aCIsImMiLCJzdHJpbmdpZnkiLCJjb25jYXQiLCJjbGFtcCIsImNlaWwiLCJjYWxsIiwic2xpY2UiLCJyYW5kb20iLCJhIiwicHVzaCIsImVuYyIsIkhleCIsImpvaW4iLCJwYXJzZSIsInBhcnNlSW50Iiwic3Vic3RyIiwiaCIsIkxhdGluMSIsIlN0cmluZyIsImZyb21DaGFyQ29kZSIsImNoYXJDb2RlQXQiLCJsIiwiVXRmOCIsImRlY29kZVVSSUNvbXBvbmVudCIsImVzY2FwZSIsIkVycm9yIiwidW5lc2NhcGUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJmIiwiQnVmZmVyZWRCbG9ja0FsZ29yaXRobSIsInJlc2V0IiwiX2RhdGEiLCJfbkRhdGFCeXRlcyIsIl9hcHBlbmQiLCJfcHJvY2VzcyIsImJsb2NrU2l6ZSIsIm1heCIsIl9taW5CdWZmZXJTaXplIiwibWluIiwiX2RvUHJvY2Vzc0Jsb2NrIiwidSIsInNwbGljZSIsIkhhc2hlciIsImNmZyIsIl9kb1Jlc2V0IiwidXBkYXRlIiwiZmluYWxpemUiLCJfZG9GaW5hbGl6ZSIsIl9jcmVhdGVIZWxwZXIiLCJfY3JlYXRlSG1hY0hlbHBlciIsIkhNQUMiLCJhbGdvIiwiTWF0aCIsIkJhc2U2NCIsIl9tYXAiLCJjaGFyQXQiLCJfcmV2ZXJzZU1hcCIsImluZGV4T2YiLCJhYnMiLCJzaW4iLCJNRDUiLCJfaGFzaCIsImQiLCJ2IiwicCIsIl8iLCJ5IiwiZyIsIkIiLCJ3IiwiayIsIlMiLCJtIiwieCIsImIiLCJIIiwieiIsIkEiLCJDIiwiRCIsImZsb29yIiwiSG1hY01ENSIsIlNIQTEiLCJIbWFjU0hBMSIsInNxcnQiLCJwb3ciLCJTSEEyNTYiLCJIbWFjU0hBMjU2IiwiVXRmMTYiLCJVdGYxNkJFIiwiVXRmMTZMRSIsIkFycmF5QnVmZmVyIiwiVWludDhBcnJheSIsIkludDhBcnJheSIsIlVpbnQ4Q2xhbXBlZEFycmF5IiwiSW50MTZBcnJheSIsIlVpbnQxNkFycmF5IiwiSW50MzJBcnJheSIsIlVpbnQzMkFycmF5IiwiRmxvYXQzMkFycmF5IiwiRmxvYXQ2NEFycmF5IiwiYnVmZmVyIiwiYnl0ZU9mZnNldCIsImJ5dGVMZW5ndGgiLCJSSVBFTUQxNjAiLCJSIiwiRSIsIk0iLCJGIiwiSG1hY1JJUEVNRDE2MCIsIl9oYXNoZXIiLCJfb0tleSIsIl9pS2V5IiwiUEJLREYyIiwia2V5U2l6ZSIsImhhc2hlciIsIml0ZXJhdGlvbnMiLCJjb21wdXRlIiwiRXZwS0RGIiwiU0hBMjI0IiwiSG1hY1NIQTIyNCIsIng2NCIsIldvcmQiLCJoaWdoIiwibG93IiwidG9YMzIiLCJTSEEzIiwib3V0cHV0TGVuZ3RoIiwiX3N0YXRlIiwiSG1hY1NIQTMiLCJTSEE1MTIiLCJQIiwiVyIsIk8iLCJVIiwiSSIsIksiLCJYIiwiTCIsImoiLCJOIiwiVCIsIloiLCJxIiwiRyIsIkoiLCIkIiwiUSIsIlYiLCJZIiwidHQiLCJydCIsImV0IiwiaXQiLCJudCIsIm90Iiwic3QiLCJhdCIsImN0IiwiaHQiLCJsdCIsImZ0IiwidXQiLCJkdCIsInZ0IiwicHQiLCJfdCIsInl0IiwiZ3QiLCJCdCIsInd0Iiwia3QiLCJTdCIsIm10IiwieHQiLCJidCIsIkhtYWNTSEE1MTIiLCJTSEEzODQiLCJIbWFjU0hBMzg0IiwiQ2lwaGVyIiwiY3JlYXRlRW5jcnlwdG9yIiwiX0VOQ19YRk9STV9NT0RFIiwiY3JlYXRlRGVjcnlwdG9yIiwiX0RFQ19YRk9STV9NT0RFIiwiX3hmb3JtTW9kZSIsIl9rZXkiLCJwcm9jZXNzIiwiaXZTaXplIiwiZW5jcnlwdCIsImRlY3J5cHQiLCJTdHJlYW1DaXBoZXIiLCJtb2RlIiwiQmxvY2tDaXBoZXJNb2RlIiwiRW5jcnlwdG9yIiwiRGVjcnlwdG9yIiwiX2NpcGhlciIsIl9pdiIsIkNCQyIsIl9wcmV2QmxvY2siLCJwcm9jZXNzQmxvY2siLCJlbmNyeXB0QmxvY2siLCJkZWNyeXB0QmxvY2siLCJwYWQiLCJQa2NzNyIsInVucGFkIiwiQmxvY2tDaXBoZXIiLCJwYWRkaW5nIiwiaXYiLCJfbW9kZSIsIl9fY3JlYXRvciIsIkNpcGhlclBhcmFtcyIsImZvcm1hdHRlciIsImZvcm1hdCIsIk9wZW5TU0wiLCJjaXBoZXJ0ZXh0Iiwic2FsdCIsIlNlcmlhbGl6YWJsZUNpcGhlciIsImtleSIsImFsZ29yaXRobSIsIl9wYXJzZSIsImtkZiIsImV4ZWN1dGUiLCJQYXNzd29yZEJhc2VkQ2lwaGVyIiwiQ0ZCIiwiRUNCIiwiQW5zaVg5MjMiLCJJc28xMDEyNiIsIklzbzk3OTcxIiwiWmVyb1BhZGRpbmciLCJPRkIiLCJfa2V5c3RyZWFtIiwiTm9QYWRkaW5nIiwiQUVTIiwiX25Sb3VuZHMiLCJfa2V5UHJpb3JSZXNldCIsIl9rZXlTY2hlZHVsZSIsIl9pbnZLZXlTY2hlZHVsZSIsIl9kb0NyeXB0QmxvY2siLCJfbEJsb2NrIiwiX3JCbG9jayIsIkRFUyIsIl9zdWJLZXlzIiwiX2ludlN1YktleXMiLCJUcmlwbGVERVMiLCJfZGVzMSIsIl9kZXMyIiwiX2RlczMiLCJfUyIsIl9pIiwiX2oiLCJSQzQiLCJSQzREcm9wIiwiZHJvcCIsIkNUUkdsYWRtYW4iLCJfY291bnRlciIsIl9YIiwiX0MiLCJfYiIsIlJhYmJpdCIsIkNUUiIsIlJhYmJpdExlZ2FjeSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxDQUFDLFVBQVNBLENBQVQsRUFBV0MsQ0FBWCxFQUFhO0FBQUMs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RUFBYSxDQUFiLEVBQWUsQ0FBZixFQUFpQixDQUFqQixFQUFtQixDQUFuQixFQUFxQixFQUFyQixFQUF3QixFQUF4QixFQUEyQixFQUEzQixFQUE4QixFQUE5QixFQUFpQyxDQUFqQyxFQUFtQyxDQUFuQyxFQUFxQyxDQUFyQyxFQUF1QyxDQUF2QyxFQUF5QyxDQUF6QyxFQUEyQyxDQUEzQyxFQUE2QyxDQUE3QyxFQUErQyxFQUEvQyxFQUFrRCxFQUFsRCxFQUFxRCxDQUFyRCxFQUF1RCxDQUF2RCxFQUF5RCxFQUF6RCxFQUE0RCxDQUE1RCxFQUE4RCxFQUE5RCxFQUFpRSxFQUFqRSxFQUFvRSxDQUFwRSxFQUFzRSxFQUF0RSxFQUF5RSxDQUF6RSxFQUEyRSxFQUEzRSxFQUE4RSxFQUE5RSxFQUFpRixFQUFqRixFQUFvRixFQUFwRixFQUF1RixDQUF2RixFQUF5RixDQUF6RixFQUEyRixFQUEzRixFQUE4RixDQUE5RixFQUFnRyxFQUFoRyxFQUFtRyxFQUFuRyxFQUFzRyxFQUF0RyxFQUF5RyxDQUF6RyxFQUEyRyxFQUEzRyxFQUE4RyxDQUE5RyxFQUFnSCxDQUFoSCxFQUFrSCxFQUFsSCxFQUFxSCxDQUFySCxFQUF1SCxDQUF2SCxFQUF5SCxFQUF6SCxFQUE0SCxFQUE1SCxFQUErSCxFQUEvSCxFQUFrSSxFQUFsSSxFQUFxSSxFQUFySSxFQUF3SSxFQUF4SSxFQUEySSxDQUEzSSxFQUE2SSxDQUE3SSxFQUErSSxDQUEvSSxFQUFpSixFQUFqSixFQUFvSixDQUFwSixFQUFzSixDQUF0SixFQUF3SixDQUF4SixFQUEwSixDQUExSixFQUE0SixDQUE1SixFQUE4SixFQUE5SixFQUFpSyxDQUFqSyxFQUFtSyxFQUFuSyxFQUFzSyxDQUF0SyxFQUF3SyxFQUF4SyxFQUEySyxDQUEzSyxFQUE2SyxDQUE3SyxFQUErSyxFQUEvSyxFQUFrTCxFQUFsTCxFQUFxTCxDQUFyTCxFQUF1TCxFQUF2TCxFQUEwTCxFQUExTCxFQUE2TCxFQUE3TCxFQUFnTSxFQUFoTSxFQUFtTSxDQUFuTSxFQUFxTSxDQUFyTSxFQUF1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ckIsQ0FBQyxHQUFDLENBQWI7QUFBZTtBQUExSyxHQURueVgsRUFDKzhYUCxDQUR0OVg7QUFDdzlYLENBRGpoZixDQUFELEVBRUEiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIiFmdW5jdGlvbih0LHIpe1wib2JqZWN0XCI9PXR5cGVvZiBleHBvcnRzP21vZHVsZS5leHBvcnRzPWV4cG9ydHM9cigpOlwiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoW10scik6dC5DcnlwdG9KUz1yKCl9KHRoaXMsZnVuY3Rpb24oKXt2YXIgdD10fHxmdW5jdGlvbih0LHIpe3ZhciBlPU9iamVjdC5jcmVhdGV8fGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gZnVuY3Rpb24ocil7dmFyIGU7cmV0dXJuIHQucHJvdG90eXBlPXIsZT1uZXcgdCx0LnByb3RvdHlwZT1udWxsLGV9fSgpLGk9e30sbj1pLmxpYj17fSxvPW4uQmFzZT1mdW5jdGlvbigpe3JldHVybntleHRlbmQ6ZnVuY3Rpb24odCl7dmFyIHI9ZSh0aGlzKTtyZXR1cm4gdCYmci5taXhJbih0KSxyLmhhc093blByb3BlcnR5KFwiaW5pdFwiKSYmdGhpcy5pbml0IT09ci5pbml0fHwoci5pbml0PWZ1bmN0aW9uKCl7ci4kc3VwZXIuaW5pdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxyLmluaXQucHJvdG90eXBlPXIsci4kc3VwZXI9dGhpcyxyfSxjcmVhdGU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmV4dGVuZCgpO3JldHVybiB0LmluaXQuYXBwbHkodCxhcmd1bWVudHMpLHR9LGluaXQ6ZnVuY3Rpb24oKXt9LG1peEluOmZ1bmN0aW9uKHQpe2Zvcih2YXIgciBpbiB0KXQuaGFzT3duUHJvcGVydHkocikmJih0aGlzW3JdPXRbcl0pO3QuaGFzT3duUHJvcGVydHkoXCJ0b1N0cmluZ1wiKSYmKHRoaXMudG9TdHJpbmc9dC50b1N0cmluZyl9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5pdC5wcm90b3R5cGUuZXh0ZW5kKHRoaXMpfX19KCkscz1uLldvcmRBcnJheT1vLmV4dGVuZCh7aW5pdDpmdW5jdGlvbih0LGUpe3Q9dGhpcy53b3Jkcz10fHxbXSxlIT1yP3RoaXMuc2lnQnl0ZXM9ZTp0aGlzLnNpZ0J5dGVzPTQqdC5sZW5ndGh9LHRvU3RyaW5nOmZ1bmN0aW9uKHQpe3JldHVybih0fHxjKS5zdHJpbmdpZnkodGhpcyl9LGNvbmNhdDpmdW5jdGlvbih0KXt2YXIgcj10aGlzLndvcmRzLGU9dC53b3JkcyxpPXRoaXMuc2lnQnl0ZXMsbj10LnNpZ0J5dGVzO2lmKHRoaXMuY2xhbXAoKSxpJTQpZm9yKHZhciBvPTA7bzxuO28rKyl7dmFyIHM9ZVtvPj4+Ml0+Pj4yNC1vJTQqOCYyNTU7cltpK28+Pj4yXXw9czw8MjQtKGkrbyklNCo4fWVsc2UgZm9yKHZhciBvPTA7bzxuO28rPTQpcltpK28+Pj4yXT1lW28+Pj4yXTtyZXR1cm4gdGhpcy5zaWdCeXRlcys9bix0aGlzfSxjbGFtcDpmdW5jdGlvbigpe3ZhciByPXRoaXMud29yZHMsZT10aGlzLnNpZ0J5dGVzO3JbZT4+PjJdJj00Mjk0OTY3Mjk1PDwzMi1lJTQqOCxyLmxlbmd0aD10LmNlaWwoZS80KX0sY2xvbmU6ZnVuY3Rpb24oKXt2YXIgdD1vLmNsb25lLmNhbGwodGhpcyk7cmV0dXJuIHQud29yZHM9dGhpcy53b3Jkcy5zbGljZSgwKSx0fSxyYW5kb206ZnVuY3Rpb24ocil7Zm9yKHZhciBlLGk9W10sbj1mdW5jdGlvbihyKXt2YXIgcj1yLGU9OTg3NjU0MzIxLGk9NDI5NDk2NzI5NTtyZXR1cm4gZnVuY3Rpb24oKXtlPTM2OTY5Kig2NTUzNSZlKSsoZT4+MTYpJmkscj0xOGUzKig2NTUzNSZyKSsocj4+MTYpJmk7dmFyIG49KGU8PDE2KStyJmk7cmV0dXJuIG4vPTQyOTQ5NjcyOTYsbis9LjUsbioodC5yYW5kb20oKT4uNT8xOi0xKX19LG89MDtvPHI7bys9NCl7dmFyIGE9big0Mjk0OTY3Mjk2KihlfHx0LnJhbmRvbSgpKSk7ZT05ODc2NTQwNzEqYSgpLGkucHVzaCg0Mjk0OTY3Mjk2KmEoKXwwKX1yZXR1cm4gbmV3IHMuaW5pdChpLHIpfX0pLGE9aS5lbmM9e30sYz1hLkhleD17c3RyaW5naWZ5OmZ1bmN0aW9uKHQpe2Zvcih2YXIgcj10LndvcmRzLGU9dC5zaWdCeXRlcyxpPVtdLG49MDtuPGU7bisrKXt2YXIgbz1yW24+Pj4yXT4+PjI0LW4lNCo4JjI1NTtpLnB1c2goKG8+Pj40KS50b1N0cmluZygxNikpLGkucHVzaCgoMTUmbykudG9TdHJpbmcoMTYpKX1yZXR1cm4gaS5qb2luKFwiXCIpfSxwYXJzZTpmdW5jdGlvbih0KXtmb3IodmFyIHI9dC5sZW5ndGgsZT1bXSxpPTA7aTxyO2krPTIpZVtpPj4+M118PXBhcnNlSW50KHQuc3Vic3RyKGksMiksMTYpPDwyNC1pJTgqNDtyZXR1cm4gbmV3IHMuaW5pdChlLHIvMil9fSxoPWEuTGF0aW4xPXtzdHJpbmdpZnk6ZnVuY3Rpb24odCl7Zm9yKHZhciByPXQud29yZHMsZT10LnNpZ0J5dGVzLGk9W10sbj0wO248ZTtuKyspe3ZhciBvPXJbbj4+PjJdPj4+MjQtbiU0KjgmMjU1O2kucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKG8pKX1yZXR1cm4gaS5qb2luKFwiXCIpfSxwYXJzZTpmdW5jdGlvbih0KXtmb3IodmFyIHI9dC5sZW5ndGgsZT1bXSxpPTA7aTxyO2krKyllW2k+Pj4yXXw9KDI1NSZ0LmNoYXJDb2RlQXQoaSkpPDwyNC1pJTQqODtyZXR1cm4gbmV3IHMuaW5pdChlLHIpfX0sbD1hLlV0Zjg9e3N0cmluZ2lmeTpmdW5jdGlvbih0KXt0cnl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlc2NhcGUoaC5zdHJpbmdpZnkodCkpKX1jYXRjaCh0KXt0aHJvdyBuZXcgRXJyb3IoXCJNYWxmb3JtZWQgVVRGLTggZGF0YVwiKX19LHBhcnNlOmZ1bmN0aW9uKHQpe3JldHVybiBoLnBhcnNlKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudCh0KSkpfX0sZj1uLkJ1ZmZlcmVkQmxvY2tBbGdvcml0aG09by5leHRlbmQoe3Jlc2V0OmZ1bmN0aW9uKCl7dGhpcy5fZGF0YT1uZXcgcy5pbml0LHRoaXMuX25EYXRhQnl0ZXM9MH0sX2FwcGVuZDpmdW5jdGlvbih0KXtcInN0cmluZ1wiPT10eXBlb2YgdCYmKHQ9bC5wYXJzZSh0KSksdGhpcy5fZGF0YS5jb25jYXQodCksdGhpcy5fbkRhdGFCeXRlcys9dC5zaWdCeXRlc30sX3Byb2Nlc3M6ZnVuY3Rpb24ocil7dmFyIGU9dGhpcy5fZGF0YSxpPWUud29yZHMsbj1lLnNpZ0J5dGVzLG89dGhpcy5ibG9ja1NpemUsYT00Km8sYz1uL2E7Yz1yP3QuY2VpbChjKTp0Lm1heCgoMHxjKS10aGlzLl9taW5CdWZmZXJTaXplLDApO3ZhciBoPWMqbyxsPXQubWluKDQqaCxuKTtpZihoKXtmb3IodmFyIGY9MDtmPGg7Zis9byl0aGlzLl9kb1Byb2Nlc3NCbG9jayhpLGYpO3ZhciB1PWkuc3BsaWNlKDAsaCk7ZS5zaWdCeXRlcy09bH1yZXR1cm4gbmV3IHMuaW5pdCh1LGwpfSxjbG9uZTpmdW5jdGlvbigpe3ZhciB0PW8uY2xvbmUuY2FsbCh0aGlzKTtyZXR1cm4gdC5fZGF0YT10aGlzLl9kYXRhLmNsb25lKCksdH0sX21pbkJ1ZmZlclNpemU6MH0pLHU9KG4uSGFzaGVyPWYuZXh0ZW5kKHtjZmc6by5leHRlbmQoKSxpbml0OmZ1bmN0aW9uKHQpe3RoaXMuY2ZnPXRoaXMuY2ZnLmV4dGVuZCh0KSx0aGlzLnJlc2V0KCl9LHJlc2V0OmZ1bmN0aW9uKCl7Zi5yZXNldC5jYWxsKHRoaXMpLHRoaXMuX2RvUmVzZXQoKX0sdXBkYXRlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9hcHBlbmQodCksdGhpcy5fcHJvY2VzcygpLHRoaXN9LGZpbmFsaXplOmZ1bmN0aW9uKHQpe3QmJnRoaXMuX2FwcGVuZCh0KTt2YXIgcj10aGlzLl9kb0ZpbmFsaXplKCk7cmV0dXJuIHJ9LGJsb2NrU2l6ZToxNixfY3JlYXRlSGVscGVyOmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihyLGUpe3JldHVybiBuZXcgdC5pbml0KGUpLmZpbmFsaXplKHIpfX0sX2NyZWF0ZUhtYWNIZWxwZXI6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHIsZSl7cmV0dXJuIG5ldyB1LkhNQUMuaW5pdCh0LGUpLmZpbmFsaXplKHIpfX19KSxpLmFsZ289e30pO3JldHVybiBpfShNYXRoKTtyZXR1cm4gZnVuY3Rpb24oKXtmdW5jdGlvbiByKHQscixlKXtmb3IodmFyIGk9W10sbz0wLHM9MDtzPHI7cysrKWlmKHMlNCl7dmFyIGE9ZVt0LmNoYXJDb2RlQXQocy0xKV08PHMlNCoyLGM9ZVt0LmNoYXJDb2RlQXQocyldPj4+Ni1zJTQqMjtpW28+Pj4yXXw9KGF8Yyk8PDI0LW8lNCo4LG8rK31yZXR1cm4gbi5jcmVhdGUoaSxvKX12YXIgZT10LGk9ZS5saWIsbj1pLldvcmRBcnJheSxvPWUuZW5jO28uQmFzZTY0PXtzdHJpbmdpZnk6ZnVuY3Rpb24odCl7dmFyIHI9dC53b3JkcyxlPXQuc2lnQnl0ZXMsaT10aGlzLl9tYXA7dC5jbGFtcCgpO2Zvcih2YXIgbj1bXSxvPTA7bzxlO28rPTMpZm9yKHZhciBzPXJbbz4+PjJdPj4+MjQtbyU0KjgmMjU1LGE9cltvKzE+Pj4yXT4+PjI0LShvKzEpJTQqOCYyNTUsYz1yW28rMj4+PjJdPj4+MjQtKG8rMiklNCo4JjI1NSxoPXM8PDE2fGE8PDh8YyxsPTA7bDw0JiZvKy43NSpsPGU7bCsrKW4ucHVzaChpLmNoYXJBdChoPj4+NiooMy1sKSY2MykpO3ZhciBmPWkuY2hhckF0KDY0KTtpZihmKWZvcig7bi5sZW5ndGglNDspbi5wdXNoKGYpO3JldHVybiBuLmpvaW4oXCJcIil9LHBhcnNlOmZ1bmN0aW9uKHQpe3ZhciBlPXQubGVuZ3RoLGk9dGhpcy5fbWFwLG49dGhpcy5fcmV2ZXJzZU1hcDtpZighbil7bj10aGlzLl9yZXZlcnNlTWFwPVtdO2Zvcih2YXIgbz0wO288aS5sZW5ndGg7bysrKW5baS5jaGFyQ29kZUF0KG8pXT1vfXZhciBzPWkuY2hhckF0KDY0KTtpZihzKXt2YXIgYT10LmluZGV4T2Yocyk7YSE9PS0xJiYoZT1hKX1yZXR1cm4gcih0LGUsbil9LF9tYXA6XCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPVwifX0oKSxmdW5jdGlvbihyKXtmdW5jdGlvbiBlKHQscixlLGksbixvLHMpe3ZhciBhPXQrKHImZXx+ciZpKStuK3M7cmV0dXJuKGE8PG98YT4+PjMyLW8pK3J9ZnVuY3Rpb24gaSh0LHIsZSxpLG4sbyxzKXt2YXIgYT10KyhyJml8ZSZ+aSkrbitzO3JldHVybihhPDxvfGE+Pj4zMi1vKStyfWZ1bmN0aW9uIG4odCxyLGUsaSxuLG8scyl7dmFyIGE9dCsocl5lXmkpK24rcztyZXR1cm4oYTw8b3xhPj4+MzItbykrcn1mdW5jdGlvbiBvKHQscixlLGksbixvLHMpe3ZhciBhPXQrKGVeKHJ8fmkpKStuK3M7cmV0dXJuKGE8PG98YT4+PjMyLW8pK3J9dmFyIHM9dCxhPXMubGliLGM9YS5Xb3JkQXJyYXksaD1hLkhhc2hlcixsPXMuYWxnbyxmPVtdOyFmdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8NjQ7dCsrKWZbdF09NDI5NDk2NzI5NipyLmFicyhyLnNpbih0KzEpKXwwfSgpO3ZhciB1PWwuTUQ1PWguZXh0ZW5kKHtfZG9SZXNldDpmdW5jdGlvbigpe3RoaXMuX2hhc2g9bmV3IGMuaW5pdChbMTczMjU4NDE5Myw0MDIzMjMzNDE3LDI1NjIzODMxMDIsMjcxNzMzODc4XSl9LF9kb1Byb2Nlc3NCbG9jazpmdW5jdGlvbih0LHIpe2Zvcih2YXIgcz0wO3M8MTY7cysrKXt2YXIgYT1yK3MsYz10W2FdO3RbYV09MTY3MTE5MzUmKGM8PDh8Yz4+PjI0KXw0Mjc4MjU1MzYwJihjPDwyNHxjPj4+OCl9dmFyIGg9dGhpcy5faGFzaC53b3JkcyxsPXRbciswXSx1PXRbcisxXSxkPXRbcisyXSx2PXRbciszXSxwPXRbcis0XSxfPXRbcis1XSx5PXRbcis2XSxnPXRbcis3XSxCPXRbcis4XSx3PXRbcis5XSxrPXRbcisxMF0sUz10W3IrMTFdLG09dFtyKzEyXSx4PXRbcisxM10sYj10W3IrMTRdLEg9dFtyKzE1XSx6PWhbMF0sQT1oWzFdLEM9aFsyXSxEPWhbM107ej1lKHosQSxDLEQsbCw3LGZbMF0pLEQ9ZShELHosQSxDLHUsMTIsZlsxXSksQz1lKEMsRCx6LEEsZCwxNyxmWzJdKSxBPWUoQSxDLEQseix2LDIyLGZbM10pLHo9ZSh6LEEsQyxELHAsNyxmWzRdKSxEPWUoRCx6LEEsQyxfLDEyLGZbNV0pLEM9ZShDLEQseixBLHksMTcsZls2XSksQT1lKEEsQyxELHosZywyMixmWzddKSx6PWUoeixBLEMsRCxCLDcsZls4XSksRD1lKEQseixBLEMsdywxMixmWzldKSxDPWUoQyxELHosQSxrLDE3LGZbMTBdKSxBPWUoQSxDLEQseixTLDIyLGZbMTFdKSx6PWUoeixBLEMsRCxtLDcsZlsxMl0pLEQ9ZShELHosQSxDLHgsMTIsZlsxM10pLEM9ZShDLEQseixBLGIsMTcsZlsxNF0pLEE9ZShBLEMsRCx6LEgsMjIsZlsxNV0pLHo9aSh6LEEsQyxELHUsNSxmWzE2XSksRD1pKEQseixBLEMseSw5LGZbMTddKSxDPWkoQyxELHosQSxTLDE0LGZbMThdKSxBPWkoQSxDLEQseixsLDIwLGZbMTldKSx6PWkoeixBLEMsRCxfLDUsZlsyMF0pLEQ9aShELHosQSxDLGssOSxmWzIxXSksQz1pKEMsRCx6LEEsSCwxNCxmWzIyXSksQT1pKEEsQyxELHoscCwyMCxmWzIzXSksej1pKHosQSxDLEQsdyw1LGZbMjRdKSxEPWkoRCx6LEEsQyxiLDksZlsyNV0pLEM9aShDLEQseixBLHYsMTQsZlsyNl0pLEE9aShBLEMsRCx6LEIsMjAsZlsyN10pLHo9aSh6LEEsQyxELHgsNSxmWzI4XSksRD1pKEQseixBLEMsZCw5LGZbMjldKSxDPWkoQyxELHosQSxnLDE0LGZbMzBdKSxBPWkoQSxDLEQseixtLDIwLGZbMzFdKSx6PW4oeixBLEMsRCxfLDQsZlszMl0pLEQ9bihELHosQSxDLEIsMTEsZlszM10pLEM9bihDLEQseixBLFMsMTYsZlszNF0pLEE9bihBLEMsRCx6LGIsMjMsZlszNV0pLHo9bih6LEEsQyxELHUsNCxmWzM2XSksRD1uKEQseixBLEMscCwxMSxmWzM3XSksQz1uKEMsRCx6LEEsZywxNixmWzM4XSksQT1uKEEsQyxELHosaywyMyxmWzM5XSksej1uKHosQSxDLEQseCw0LGZbNDBdKSxEPW4oRCx6LEEsQyxsLDExLGZbNDFdKSxDPW4oQyxELHosQSx2LDE2LGZbNDJdKSxBPW4oQSxDLEQseix5LDIzLGZbNDNdKSx6PW4oeixBLEMsRCx3LDQsZls0NF0pLEQ9bihELHosQSxDLG0sMTEsZls0NV0pLEM9bihDLEQseixBLEgsMTYsZls0Nl0pLEE9bihBLEMsRCx6LGQsMjMsZls0N10pLHo9byh6LEEsQyxELGwsNixmWzQ4XSksRD1vKEQseixBLEMsZywxMCxmWzQ5XSksQz1vKEMsRCx6LEEsYiwxNSxmWzUwXSksQT1vKEEsQyxELHosXywyMSxmWzUxXSksej1vKHosQSxDLEQsbSw2LGZbNTJdKSxEPW8oRCx6LEEsQyx2LDEwLGZbNTNdKSxDPW8oQyxELHosQSxrLDE1LGZbNTRdKSxBPW8oQSxDLEQseix1LDIxLGZbNTVdKSx6PW8oeixBLEMsRCxCLDYsZls1Nl0pLEQ9byhELHosQSxDLEgsMTAsZls1N10pLEM9byhDLEQseixBLHksMTUsZls1OF0pLEE9byhBLEMsRCx6LHgsMjEsZls1OV0pLHo9byh6LEEsQyxELHAsNixmWzYwXSksRD1vKEQseixBLEMsUywxMCxmWzYxXSksQz1vKEMsRCx6LEEsZCwxNSxmWzYyXSksQT1vKEEsQyxELHosdywyMSxmWzYzXSksaFswXT1oWzBdK3p8MCxoWzFdPWhbMV0rQXwwLGhbMl09aFsyXStDfDAsaFszXT1oWzNdK0R8MH0sX2RvRmluYWxpemU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9kYXRhLGU9dC53b3JkcyxpPTgqdGhpcy5fbkRhdGFCeXRlcyxuPTgqdC5zaWdCeXRlcztlW24+Pj41XXw9MTI4PDwyNC1uJTMyO3ZhciBvPXIuZmxvb3IoaS80Mjk0OTY3Mjk2KSxzPWk7ZVsobis2ND4+Pjk8PDQpKzE1XT0xNjcxMTkzNSYobzw8OHxvPj4+MjQpfDQyNzgyNTUzNjAmKG88PDI0fG8+Pj44KSxlWyhuKzY0Pj4+OTw8NCkrMTRdPTE2NzExOTM1JihzPDw4fHM+Pj4yNCl8NDI3ODI1NTM2MCYoczw8MjR8cz4+PjgpLHQuc2lnQnl0ZXM9NCooZS5sZW5ndGgrMSksdGhpcy5fcHJvY2VzcygpO2Zvcih2YXIgYT10aGlzLl9oYXNoLGM9YS53b3JkcyxoPTA7aDw0O2grKyl7dmFyIGw9Y1toXTtjW2hdPTE2NzExOTM1JihsPDw4fGw+Pj4yNCl8NDI3ODI1NTM2MCYobDw8MjR8bD4+PjgpfXJldHVybiBhfSxjbG9uZTpmdW5jdGlvbigpe3ZhciB0PWguY2xvbmUuY2FsbCh0aGlzKTtyZXR1cm4gdC5faGFzaD10aGlzLl9oYXNoLmNsb25lKCksdH19KTtzLk1ENT1oLl9jcmVhdGVIZWxwZXIodSkscy5IbWFjTUQ1PWguX2NyZWF0ZUhtYWNIZWxwZXIodSl9KE1hdGgpLGZ1bmN0aW9uKCl7dmFyIHI9dCxlPXIubGliLGk9ZS5Xb3JkQXJyYXksbj1lLkhhc2hlcixvPXIuYWxnbyxzPVtdLGE9by5TSEExPW4uZXh0ZW5kKHtfZG9SZXNldDpmdW5jdGlvbigpe3RoaXMuX2hhc2g9bmV3IGkuaW5pdChbMTczMjU4NDE5Myw0MDIzMjMzNDE3LDI1NjIzODMxMDIsMjcxNzMzODc4LDMyODUzNzc1MjBdKX0sX2RvUHJvY2Vzc0Jsb2NrOmZ1bmN0aW9uKHQscil7Zm9yKHZhciBlPXRoaXMuX2hhc2gud29yZHMsaT1lWzBdLG49ZVsxXSxvPWVbMl0sYT1lWzNdLGM9ZVs0XSxoPTA7aDw4MDtoKyspe2lmKGg8MTYpc1toXT0wfHRbcitoXTtlbHNle3ZhciBsPXNbaC0zXV5zW2gtOF1ec1toLTE0XV5zW2gtMTZdO3NbaF09bDw8MXxsPj4+MzF9dmFyIGY9KGk8PDV8aT4+PjI3KStjK3NbaF07Zis9aDwyMD8obiZvfH5uJmEpKzE1MTg1MDAyNDk6aDw0MD8obl5vXmEpKzE4NTk3NzUzOTM6aDw2MD8obiZvfG4mYXxvJmEpLTE4OTQwMDc1ODg6KG5eb15hKS04OTk0OTc1MTQsYz1hLGE9byxvPW48PDMwfG4+Pj4yLG49aSxpPWZ9ZVswXT1lWzBdK2l8MCxlWzFdPWVbMV0rbnwwLGVbMl09ZVsyXStvfDAsZVszXT1lWzNdK2F8MCxlWzRdPWVbNF0rY3wwfSxfZG9GaW5hbGl6ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2RhdGEscj10LndvcmRzLGU9OCp0aGlzLl9uRGF0YUJ5dGVzLGk9OCp0LnNpZ0J5dGVzO3JldHVybiByW2k+Pj41XXw9MTI4PDwyNC1pJTMyLHJbKGkrNjQ+Pj45PDw0KSsxNF09TWF0aC5mbG9vcihlLzQyOTQ5NjcyOTYpLHJbKGkrNjQ+Pj45PDw0KSsxNV09ZSx0LnNpZ0J5dGVzPTQqci5sZW5ndGgsdGhpcy5fcHJvY2VzcygpLHRoaXMuX2hhc2h9LGNsb25lOmZ1bmN0aW9uKCl7dmFyIHQ9bi5jbG9uZS5jYWxsKHRoaXMpO3JldHVybiB0Ll9oYXNoPXRoaXMuX2hhc2guY2xvbmUoKSx0fX0pO3IuU0hBMT1uLl9jcmVhdGVIZWxwZXIoYSksci5IbWFjU0hBMT1uLl9jcmVhdGVIbWFjSGVscGVyKGEpfSgpLGZ1bmN0aW9uKHIpe3ZhciBlPXQsaT1lLmxpYixuPWkuV29yZEFycmF5LG89aS5IYXNoZXIscz1lLmFsZ28sYT1bXSxjPVtdOyFmdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7Zm9yKHZhciBlPXIuc3FydCh0KSxpPTI7aTw9ZTtpKyspaWYoISh0JWkpKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIGUodCl7cmV0dXJuIDQyOTQ5NjcyOTYqKHQtKDB8dCkpfDB9Zm9yKHZhciBpPTIsbj0wO248NjQ7KXQoaSkmJihuPDgmJihhW25dPWUoci5wb3coaSwuNSkpKSxjW25dPWUoci5wb3coaSwxLzMpKSxuKyspLGkrK30oKTt2YXIgaD1bXSxsPXMuU0hBMjU2PW8uZXh0ZW5kKHtfZG9SZXNldDpmdW5jdGlvbigpe3RoaXMuX2hhc2g9bmV3IG4uaW5pdChhLnNsaWNlKDApKX0sX2RvUHJvY2Vzc0Jsb2NrOmZ1bmN0aW9uKHQscil7Zm9yKHZhciBlPXRoaXMuX2hhc2gud29yZHMsaT1lWzBdLG49ZVsxXSxvPWVbMl0scz1lWzNdLGE9ZVs0XSxsPWVbNV0sZj1lWzZdLHU9ZVs3XSxkPTA7ZDw2NDtkKyspe2lmKGQ8MTYpaFtkXT0wfHRbcitkXTtlbHNle3ZhciB2PWhbZC0xNV0scD0odjw8MjV8dj4+PjcpXih2PDwxNHx2Pj4+MTgpXnY+Pj4zLF89aFtkLTJdLHk9KF88PDE1fF8+Pj4xNyleKF88PDEzfF8+Pj4xOSleXz4+PjEwO2hbZF09cCtoW2QtN10reStoW2QtMTZdfXZhciBnPWEmbF5+YSZmLEI9aSZuXmkmb15uJm8sdz0oaTw8MzB8aT4+PjIpXihpPDwxOXxpPj4+MTMpXihpPDwxMHxpPj4+MjIpLGs9KGE8PDI2fGE+Pj42KV4oYTw8MjF8YT4+PjExKV4oYTw8N3xhPj4+MjUpLFM9dStrK2crY1tkXStoW2RdLG09dytCO3U9ZixmPWwsbD1hLGE9cytTfDAscz1vLG89bixuPWksaT1TK218MH1lWzBdPWVbMF0raXwwLGVbMV09ZVsxXStufDAsZVsyXT1lWzJdK298MCxlWzNdPWVbM10rc3wwLGVbNF09ZVs0XSthfDAsZVs1XT1lWzVdK2x8MCxlWzZdPWVbNl0rZnwwLGVbN109ZVs3XSt1fDB9LF9kb0ZpbmFsaXplOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZGF0YSxlPXQud29yZHMsaT04KnRoaXMuX25EYXRhQnl0ZXMsbj04KnQuc2lnQnl0ZXM7cmV0dXJuIGVbbj4+PjVdfD0xMjg8PDI0LW4lMzIsZVsobis2ND4+Pjk8PDQpKzE0XT1yLmZsb29yKGkvNDI5NDk2NzI5NiksZVsobis2ND4+Pjk8PDQpKzE1XT1pLHQuc2lnQnl0ZXM9NCplLmxlbmd0aCx0aGlzLl9wcm9jZXNzKCksdGhpcy5faGFzaH0sY2xvbmU6ZnVuY3Rpb24oKXt2YXIgdD1vLmNsb25lLmNhbGwodGhpcyk7cmV0dXJuIHQuX2hhc2g9dGhpcy5faGFzaC5jbG9uZSgpLHR9fSk7ZS5TSEEyNTY9by5fY3JlYXRlSGVscGVyKGwpLGUuSG1hY1NIQTI1Nj1vLl9jcmVhdGVIbWFjSGVscGVyKGwpfShNYXRoKSxmdW5jdGlvbigpe2Z1bmN0aW9uIHIodCl7cmV0dXJuIHQ8PDgmNDI3ODI1NTM2MHx0Pj4+OCYxNjcxMTkzNX12YXIgZT10LGk9ZS5saWIsbj1pLldvcmRBcnJheSxvPWUuZW5jO28uVXRmMTY9by5VdGYxNkJFPXtzdHJpbmdpZnk6ZnVuY3Rpb24odCl7Zm9yKHZhciByPXQud29yZHMsZT10LnNpZ0J5dGVzLGk9W10sbj0wO248ZTtuKz0yKXt2YXIgbz1yW24+Pj4yXT4+PjE2LW4lNCo4JjY1NTM1O2kucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKG8pKX1yZXR1cm4gaS5qb2luKFwiXCIpfSxwYXJzZTpmdW5jdGlvbih0KXtmb3IodmFyIHI9dC5sZW5ndGgsZT1bXSxpPTA7aTxyO2krKyllW2k+Pj4xXXw9dC5jaGFyQ29kZUF0KGkpPDwxNi1pJTIqMTY7cmV0dXJuIG4uY3JlYXRlKGUsMipyKX19O28uVXRmMTZMRT17c3RyaW5naWZ5OmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10LndvcmRzLGk9dC5zaWdCeXRlcyxuPVtdLG89MDtvPGk7bys9Mil7dmFyIHM9cihlW28+Pj4yXT4+PjE2LW8lNCo4JjY1NTM1KTtuLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShzKSl9cmV0dXJuIG4uam9pbihcIlwiKX0scGFyc2U6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQubGVuZ3RoLGk9W10sbz0wO288ZTtvKyspaVtvPj4+MV18PXIodC5jaGFyQ29kZUF0KG8pPDwxNi1vJTIqMTYpO3JldHVybiBuLmNyZWF0ZShpLDIqZSl9fX0oKSxmdW5jdGlvbigpe2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIEFycmF5QnVmZmVyKXt2YXIgcj10LGU9ci5saWIsaT1lLldvcmRBcnJheSxuPWkuaW5pdCxvPWkuaW5pdD1mdW5jdGlvbih0KXtpZih0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXImJih0PW5ldyBVaW50OEFycmF5KHQpKSwodCBpbnN0YW5jZW9mIEludDhBcnJheXx8XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFVpbnQ4Q2xhbXBlZEFycmF5JiZ0IGluc3RhbmNlb2YgVWludDhDbGFtcGVkQXJyYXl8fHQgaW5zdGFuY2VvZiBJbnQxNkFycmF5fHx0IGluc3RhbmNlb2YgVWludDE2QXJyYXl8fHQgaW5zdGFuY2VvZiBJbnQzMkFycmF5fHx0IGluc3RhbmNlb2YgVWludDMyQXJyYXl8fHQgaW5zdGFuY2VvZiBGbG9hdDMyQXJyYXl8fHQgaW5zdGFuY2VvZiBGbG9hdDY0QXJyYXkpJiYodD1uZXcgVWludDhBcnJheSh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQsdC5ieXRlTGVuZ3RoKSksdCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpe2Zvcih2YXIgcj10LmJ5dGVMZW5ndGgsZT1bXSxpPTA7aTxyO2krKyllW2k+Pj4yXXw9dFtpXTw8MjQtaSU0Kjg7bi5jYWxsKHRoaXMsZSxyKX1lbHNlIG4uYXBwbHkodGhpcyxhcmd1bWVudHMpfTtvLnByb3RvdHlwZT1pfX0oKSxmdW5jdGlvbihyKXtmdW5jdGlvbiBlKHQscixlKXtyZXR1cm4gdF5yXmV9ZnVuY3Rpb24gaSh0LHIsZSl7cmV0dXJuIHQmcnx+dCZlfWZ1bmN0aW9uIG4odCxyLGUpe3JldHVybih0fH5yKV5lfWZ1bmN0aW9uIG8odCxyLGUpe3JldHVybiB0JmV8ciZ+ZX1mdW5jdGlvbiBzKHQscixlKXtyZXR1cm4gdF4ocnx+ZSl9ZnVuY3Rpb24gYSh0LHIpe3JldHVybiB0PDxyfHQ+Pj4zMi1yfXZhciBjPXQsaD1jLmxpYixsPWguV29yZEFycmF5LGY9aC5IYXNoZXIsdT1jLmFsZ28sZD1sLmNyZWF0ZShbMCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSw3LDQsMTMsMSwxMCw2LDE1LDMsMTIsMCw5LDUsMiwxNCwxMSw4LDMsMTAsMTQsNCw5LDE1LDgsMSwyLDcsMCw2LDEzLDExLDUsMTIsMSw5LDExLDEwLDAsOCwxMiw0LDEzLDMsNywxNSwxNCw1LDYsMiw0LDAsNSw5LDcsMTIsMiwxMCwxNCwxLDMsOCwxMSw2LDE1LDEzXSksdj1sLmNyZWF0ZShbNSwxNCw3LDAsOSwyLDExLDQsMTMsNiwxNSw4LDEsMTAsMywxMiw2LDExLDMsNywwLDEzLDUsMTAsMTQsMTUsOCwxMiw0LDksMSwyLDE1LDUsMSwzLDcsMTQsNiw5LDExLDgsMTIsMiwxMCwwLDQsMTMsOCw2LDQsMSwzLDExLDE1LDAsNSwxMiwyLDEzLDksNywxMCwxNCwxMiwxNSwxMCw0LDEsNSw4LDcsNiwyLDEzLDE0LDAsMyw5LDExXSkscD1sLmNyZWF0ZShbMTEsMTQsMTUsMTIsNSw4LDcsOSwxMSwxMywxNCwxNSw2LDcsOSw4LDcsNiw4LDEzLDExLDksNywxNSw3LDEyLDE1LDksMTEsNywxMywxMiwxMSwxMyw2LDcsMTQsOSwxMywxNSwxNCw4LDEzLDYsNSwxMiw3LDUsMTEsMTIsMTQsMTUsMTQsMTUsOSw4LDksMTQsNSw2LDgsNiw1LDEyLDksMTUsNSwxMSw2LDgsMTMsMTIsNSwxMiwxMywxNCwxMSw4LDUsNl0pLF89bC5jcmVhdGUoWzgsOSw5LDExLDEzLDE1LDE1LDUsNyw3LDgsMTEsMTQsMTQsMTIsNiw5LDEzLDE1LDcsMTIsOCw5LDExLDcsNywxMiw3LDYsMTUsMTMsMTEsOSw3LDE1LDExLDgsNiw2LDE0LDEyLDEzLDUsMTQsMTMsMTMsNyw1LDE1LDUsOCwxMSwxNCwxNCw2LDE0LDYsOSwxMiw5LDEyLDUsMTUsOCw4LDUsMTIsOSwxMiw1LDE0LDYsOCwxMyw2LDUsMTUsMTMsMTEsMTFdKSx5PWwuY3JlYXRlKFswLDE1MTg1MDAyNDksMTg1OTc3NTM5MywyNDAwOTU5NzA4LDI4NDA4NTM4MzhdKSxnPWwuY3JlYXRlKFsxMzUyODI5OTI2LDE1NDg2MDM2ODQsMTgzNjA3MjY5MSwyMDUzOTk0MjE3LDBdKSxCPXUuUklQRU1EMTYwPWYuZXh0ZW5kKHtfZG9SZXNldDpmdW5jdGlvbigpe3RoaXMuX2hhc2g9bC5jcmVhdGUoWzE3MzI1ODQxOTMsNDAyMzIzMzQxNywyNTYyMzgzMTAyLDI3MTczMzg3OCwzMjg1Mzc3NTIwXSl9LF9kb1Byb2Nlc3NCbG9jazpmdW5jdGlvbih0LHIpe2Zvcih2YXIgYz0wO2M8MTY7YysrKXt2YXIgaD1yK2MsbD10W2hdO3RbaF09MTY3MTE5MzUmKGw8PDh8bD4+PjI0KXw0Mjc4MjU1MzYwJihsPDwyNHxsPj4+OCl9dmFyIGYsdSxCLHcsayxTLG0seCxiLEgsej10aGlzLl9oYXNoLndvcmRzLEE9eS53b3JkcyxDPWcud29yZHMsRD1kLndvcmRzLFI9di53b3JkcyxFPXAud29yZHMsTT1fLndvcmRzO1M9Zj16WzBdLG09dT16WzFdLHg9Qj16WzJdLGI9dz16WzNdLEg9az16WzRdO2Zvcih2YXIgRixjPTA7Yzw4MDtjKz0xKUY9Zit0W3IrRFtjXV18MCxGKz1jPDE2P2UodSxCLHcpK0FbMF06YzwzMj9pKHUsQix3KStBWzFdOmM8NDg/bih1LEIsdykrQVsyXTpjPDY0P28odSxCLHcpK0FbM106cyh1LEIsdykrQVs0XSxGfD0wLEY9YShGLEVbY10pLEY9RitrfDAsZj1rLGs9dyx3PWEoQiwxMCksQj11LHU9RixGPVMrdFtyK1JbY11dfDAsRis9YzwxNj9zKG0seCxiKStDWzBdOmM8MzI/byhtLHgsYikrQ1sxXTpjPDQ4P24obSx4LGIpK0NbMl06Yzw2ND9pKG0seCxiKStDWzNdOmUobSx4LGIpK0NbNF0sRnw9MCxGPWEoRixNW2NdKSxGPUYrSHwwLFM9SCxIPWIsYj1hKHgsMTApLHg9bSxtPUY7Rj16WzFdK0IrYnwwLHpbMV09elsyXSt3K0h8MCx6WzJdPXpbM10raytTfDAselszXT16WzRdK2YrbXwwLHpbNF09elswXSt1K3h8MCx6WzBdPUZ9LF9kb0ZpbmFsaXplOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZGF0YSxyPXQud29yZHMsZT04KnRoaXMuX25EYXRhQnl0ZXMsaT04KnQuc2lnQnl0ZXM7cltpPj4+NV18PTEyODw8MjQtaSUzMixyWyhpKzY0Pj4+OTw8NCkrMTRdPTE2NzExOTM1JihlPDw4fGU+Pj4yNCl8NDI3ODI1NTM2MCYoZTw8MjR8ZT4+PjgpLHQuc2lnQnl0ZXM9NCooci5sZW5ndGgrMSksdGhpcy5fcHJvY2VzcygpO2Zvcih2YXIgbj10aGlzLl9oYXNoLG89bi53b3JkcyxzPTA7czw1O3MrKyl7dmFyIGE9b1tzXTtvW3NdPTE2NzExOTM1JihhPDw4fGE+Pj4yNCl8NDI3ODI1NTM2MCYoYTw8MjR8YT4+PjgpfXJldHVybiBufSxjbG9uZTpmdW5jdGlvbigpe3ZhciB0PWYuY2xvbmUuY2FsbCh0aGlzKTtyZXR1cm4gdC5faGFzaD10aGlzLl9oYXNoLmNsb25lKCksdH19KTtjLlJJUEVNRDE2MD1mLl9jcmVhdGVIZWxwZXIoQiksYy5IbWFjUklQRU1EMTYwPWYuX2NyZWF0ZUhtYWNIZWxwZXIoQil9KE1hdGgpLGZ1bmN0aW9uKCl7dmFyIHI9dCxlPXIubGliLGk9ZS5CYXNlLG49ci5lbmMsbz1uLlV0Zjgscz1yLmFsZ287cy5ITUFDPWkuZXh0ZW5kKHtpbml0OmZ1bmN0aW9uKHQscil7dD10aGlzLl9oYXNoZXI9bmV3IHQuaW5pdCxcInN0cmluZ1wiPT10eXBlb2YgciYmKHI9by5wYXJzZShyKSk7dmFyIGU9dC5ibG9ja1NpemUsaT00KmU7ci5zaWdCeXRlcz5pJiYocj10LmZpbmFsaXplKHIpKSxyLmNsYW1wKCk7Zm9yKHZhciBuPXRoaXMuX29LZXk9ci5jbG9uZSgpLHM9dGhpcy5faUtleT1yLmNsb25lKCksYT1uLndvcmRzLGM9cy53b3JkcyxoPTA7aDxlO2grKylhW2hdXj0xNTQ5NTU2ODI4LGNbaF1ePTkwOTUyMjQ4NjtuLnNpZ0J5dGVzPXMuc2lnQnl0ZXM9aSx0aGlzLnJlc2V0KCl9LHJlc2V0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5faGFzaGVyO3QucmVzZXQoKSx0LnVwZGF0ZSh0aGlzLl9pS2V5KX0sdXBkYXRlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9oYXNoZXIudXBkYXRlKHQpLHRoaXN9LGZpbmFsaXplOmZ1bmN0aW9uKHQpe3ZhciByPXRoaXMuX2hhc2hlcixlPXIuZmluYWxpemUodCk7ci5yZXNldCgpO3ZhciBpPXIuZmluYWxpemUodGhpcy5fb0tleS5jbG9uZSgpLmNvbmNhdChlKSk7cmV0dXJuIGl9fSl9KCksZnVuY3Rpb24oKXt2YXIgcj10LGU9ci5saWIsaT1lLkJhc2Usbj1lLldvcmRBcnJheSxvPXIuYWxnbyxzPW8uU0hBMSxhPW8uSE1BQyxjPW8uUEJLREYyPWkuZXh0ZW5kKHtjZmc6aS5leHRlbmQoe2tleVNpemU6NCxoYXNoZXI6cyxpdGVyYXRpb25zOjF9KSxpbml0OmZ1bmN0aW9uKHQpe3RoaXMuY2ZnPXRoaXMuY2ZnLmV4dGVuZCh0KX0sY29tcHV0ZTpmdW5jdGlvbih0LHIpe2Zvcih2YXIgZT10aGlzLmNmZyxpPWEuY3JlYXRlKGUuaGFzaGVyLHQpLG89bi5jcmVhdGUoKSxzPW4uY3JlYXRlKFsxXSksYz1vLndvcmRzLGg9cy53b3JkcyxsPWUua2V5U2l6ZSxmPWUuaXRlcmF0aW9ucztjLmxlbmd0aDxsOyl7dmFyIHU9aS51cGRhdGUocikuZmluYWxpemUocyk7aS5yZXNldCgpO2Zvcih2YXIgZD11LndvcmRzLHY9ZC5sZW5ndGgscD11LF89MTtfPGY7XysrKXtwPWkuZmluYWxpemUocCksaS5yZXNldCgpO2Zvcih2YXIgeT1wLndvcmRzLGc9MDtnPHY7ZysrKWRbZ11ePXlbZ119by5jb25jYXQodSksaFswXSsrfXJldHVybiBvLnNpZ0J5dGVzPTQqbCxvfX0pO3IuUEJLREYyPWZ1bmN0aW9uKHQscixlKXtyZXR1cm4gYy5jcmVhdGUoZSkuY29tcHV0ZSh0LHIpfX0oKSxmdW5jdGlvbigpe3ZhciByPXQsZT1yLmxpYixpPWUuQmFzZSxuPWUuV29yZEFycmF5LG89ci5hbGdvLHM9by5NRDUsYT1vLkV2cEtERj1pLmV4dGVuZCh7Y2ZnOmkuZXh0ZW5kKHtrZXlTaXplOjQsaGFzaGVyOnMsaXRlcmF0aW9uczoxfSksaW5pdDpmdW5jdGlvbih0KXt0aGlzLmNmZz10aGlzLmNmZy5leHRlbmQodCl9LGNvbXB1dGU6ZnVuY3Rpb24odCxyKXtmb3IodmFyIGU9dGhpcy5jZmcsaT1lLmhhc2hlci5jcmVhdGUoKSxvPW4uY3JlYXRlKCkscz1vLndvcmRzLGE9ZS5rZXlTaXplLGM9ZS5pdGVyYXRpb25zO3MubGVuZ3RoPGE7KXtoJiZpLnVwZGF0ZShoKTt2YXIgaD1pLnVwZGF0ZSh0KS5maW5hbGl6ZShyKTtpLnJlc2V0KCk7Zm9yKHZhciBsPTE7bDxjO2wrKyloPWkuZmluYWxpemUoaCksaS5yZXNldCgpO28uY29uY2F0KGgpfXJldHVybiBvLnNpZ0J5dGVzPTQqYSxvfX0pO3IuRXZwS0RGPWZ1bmN0aW9uKHQscixlKXtyZXR1cm4gYS5jcmVhdGUoZSkuY29tcHV0ZSh0LHIpfX0oKSxmdW5jdGlvbigpe3ZhciByPXQsZT1yLmxpYixpPWUuV29yZEFycmF5LG49ci5hbGdvLG89bi5TSEEyNTYscz1uLlNIQTIyND1vLmV4dGVuZCh7X2RvUmVzZXQ6ZnVuY3Rpb24oKXt0aGlzLl9oYXNoPW5ldyBpLmluaXQoWzMyMzgzNzEwMzIsOTE0MTUwNjYzLDgxMjcwMjk5OSw0MTQ0OTEyNjk3LDQyOTA3NzU4NTcsMTc1MDYwMzAyNSwxNjk0MDc2ODM5LDMyMDQwNzU0MjhdKX0sX2RvRmluYWxpemU6ZnVuY3Rpb24oKXt2YXIgdD1vLl9kb0ZpbmFsaXplLmNhbGwodGhpcyk7cmV0dXJuIHQuc2lnQnl0ZXMtPTQsdH19KTtyLlNIQTIyND1vLl9jcmVhdGVIZWxwZXIocyksci5IbWFjU0hBMjI0PW8uX2NyZWF0ZUhtYWNIZWxwZXIocyl9KCksZnVuY3Rpb24ocil7dmFyIGU9dCxpPWUubGliLG49aS5CYXNlLG89aS5Xb3JkQXJyYXkscz1lLng2ND17fTtzLldvcmQ9bi5leHRlbmQoe2luaXQ6ZnVuY3Rpb24odCxyKXt0aGlzLmhpZ2g9dCx0aGlzLmxvdz1yfX0pLHMuV29yZEFycmF5PW4uZXh0ZW5kKHtpbml0OmZ1bmN0aW9uKHQsZSl7dD10aGlzLndvcmRzPXR8fFtdLGUhPXI/dGhpcy5zaWdCeXRlcz1lOnRoaXMuc2lnQnl0ZXM9OCp0Lmxlbmd0aH0sdG9YMzI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy53b3JkcyxyPXQubGVuZ3RoLGU9W10saT0wO2k8cjtpKyspe3ZhciBuPXRbaV07ZS5wdXNoKG4uaGlnaCksZS5wdXNoKG4ubG93KX1yZXR1cm4gby5jcmVhdGUoZSx0aGlzLnNpZ0J5dGVzKX0sY2xvbmU6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9bi5jbG9uZS5jYWxsKHRoaXMpLHI9dC53b3Jkcz10aGlzLndvcmRzLnNsaWNlKDApLGU9ci5sZW5ndGgsaT0wO2k8ZTtpKyspcltpXT1yW2ldLmNsb25lKCk7cmV0dXJuIHR9fSl9KCksZnVuY3Rpb24ocil7dmFyIGU9dCxpPWUubGliLG49aS5Xb3JkQXJyYXksbz1pLkhhc2hlcixzPWUueDY0LGE9cy5Xb3JkLGM9ZS5hbGdvLGg9W10sbD1bXSxmPVtdOyFmdW5jdGlvbigpe2Zvcih2YXIgdD0xLHI9MCxlPTA7ZTwyNDtlKyspe2hbdCs1KnJdPShlKzEpKihlKzIpLzIlNjQ7dmFyIGk9ciU1LG49KDIqdCszKnIpJTU7dD1pLHI9bn1mb3IodmFyIHQ9MDt0PDU7dCsrKWZvcih2YXIgcj0wO3I8NTtyKyspbFt0KzUqcl09cisoMip0KzMqciklNSo1O2Zvcih2YXIgbz0xLHM9MDtzPDI0O3MrKyl7Zm9yKHZhciBjPTAsdT0wLGQ9MDtkPDc7ZCsrKXtpZigxJm8pe3ZhciB2PSgxPDxkKS0xO3Y8MzI/dV49MTw8djpjXj0xPDx2LTMyfTEyOCZvP289bzw8MV4xMTM6bzw8PTF9ZltzXT1hLmNyZWF0ZShjLHUpfX0oKTt2YXIgdT1bXTshZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PDI1O3QrKyl1W3RdPWEuY3JlYXRlKCl9KCk7dmFyIGQ9Yy5TSEEzPW8uZXh0ZW5kKHtjZmc6by5jZmcuZXh0ZW5kKHtvdXRwdXRMZW5ndGg6NTEyfSksX2RvUmVzZXQ6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5fc3RhdGU9W10scj0wO3I8MjU7cisrKXRbcl09bmV3IGEuaW5pdDt0aGlzLmJsb2NrU2l6ZT0oMTYwMC0yKnRoaXMuY2ZnLm91dHB1dExlbmd0aCkvMzJ9LF9kb1Byb2Nlc3NCbG9jazpmdW5jdGlvbih0LHIpe2Zvcih2YXIgZT10aGlzLl9zdGF0ZSxpPXRoaXMuYmxvY2tTaXplLzIsbj0wO248aTtuKyspe3ZhciBvPXRbcisyKm5dLHM9dFtyKzIqbisxXTtvPTE2NzExOTM1JihvPDw4fG8+Pj4yNCl8NDI3ODI1NTM2MCYobzw8MjR8bz4+PjgpLHM9MTY3MTE5MzUmKHM8PDh8cz4+PjI0KXw0Mjc4MjU1MzYwJihzPDwyNHxzPj4+OCk7dmFyIGE9ZVtuXTthLmhpZ2hePXMsYS5sb3dePW99Zm9yKHZhciBjPTA7YzwyNDtjKyspe2Zvcih2YXIgZD0wO2Q8NTtkKyspe2Zvcih2YXIgdj0wLHA9MCxfPTA7Xzw1O18rKyl7dmFyIGE9ZVtkKzUqX107dl49YS5oaWdoLHBePWEubG93fXZhciB5PXVbZF07eS5oaWdoPXYseS5sb3c9cH1mb3IodmFyIGQ9MDtkPDU7ZCsrKWZvcih2YXIgZz11WyhkKzQpJTVdLEI9dVsoZCsxKSU1XSx3PUIuaGlnaCxrPUIubG93LHY9Zy5oaWdoXih3PDwxfGs+Pj4zMSkscD1nLmxvd14oazw8MXx3Pj4+MzEpLF89MDtfPDU7XysrKXt2YXIgYT1lW2QrNSpfXTthLmhpZ2hePXYsYS5sb3dePXB9Zm9yKHZhciBTPTE7UzwyNTtTKyspe3ZhciBhPWVbU10sbT1hLmhpZ2gseD1hLmxvdyxiPWhbU107aWYoYjwzMil2YXIgdj1tPDxifHg+Pj4zMi1iLHA9eDw8YnxtPj4+MzItYjtlbHNlIHZhciB2PXg8PGItMzJ8bT4+PjY0LWIscD1tPDxiLTMyfHg+Pj42NC1iO3ZhciBIPXVbbFtTXV07SC5oaWdoPXYsSC5sb3c9cH12YXIgej11WzBdLEE9ZVswXTt6LmhpZ2g9QS5oaWdoLHoubG93PUEubG93O2Zvcih2YXIgZD0wO2Q8NTtkKyspZm9yKHZhciBfPTA7Xzw1O18rKyl7dmFyIFM9ZCs1Kl8sYT1lW1NdLEM9dVtTXSxEPXVbKGQrMSklNSs1Kl9dLFI9dVsoZCsyKSU1KzUqX107YS5oaWdoPUMuaGlnaF5+RC5oaWdoJlIuaGlnaCxhLmxvdz1DLmxvd15+RC5sb3cmUi5sb3d9dmFyIGE9ZVswXSxFPWZbY107YS5oaWdoXj1FLmhpZ2gsYS5sb3dePUUubG93fX0sX2RvRmluYWxpemU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9kYXRhLGU9dC53b3JkcyxpPSg4KnRoaXMuX25EYXRhQnl0ZXMsOCp0LnNpZ0J5dGVzKSxvPTMyKnRoaXMuYmxvY2tTaXplO2VbaT4+PjVdfD0xPDwyNC1pJTMyLGVbKHIuY2VpbCgoaSsxKS9vKSpvPj4+NSktMV18PTEyOCx0LnNpZ0J5dGVzPTQqZS5sZW5ndGgsdGhpcy5fcHJvY2VzcygpO2Zvcih2YXIgcz10aGlzLl9zdGF0ZSxhPXRoaXMuY2ZnLm91dHB1dExlbmd0aC84LGM9YS84LGg9W10sbD0wO2w8YztsKyspe3ZhciBmPXNbbF0sdT1mLmhpZ2gsZD1mLmxvdzt1PTE2NzExOTM1Jih1PDw4fHU+Pj4yNCl8NDI3ODI1NTM2MCYodTw8MjR8dT4+PjgpLGQ9MTY3MTE5MzUmKGQ8PDh8ZD4+PjI0KXw0Mjc4MjU1MzYwJihkPDwyNHxkPj4+OCksaC5wdXNoKGQpLGgucHVzaCh1KX1yZXR1cm4gbmV3IG4uaW5pdChoLGEpfSxjbG9uZTpmdW5jdGlvbigpe2Zvcih2YXIgdD1vLmNsb25lLmNhbGwodGhpcykscj10Ll9zdGF0ZT10aGlzLl9zdGF0ZS5zbGljZSgwKSxlPTA7ZTwyNTtlKyspcltlXT1yW2VdLmNsb25lKCk7cmV0dXJuIHR9fSk7ZS5TSEEzPW8uX2NyZWF0ZUhlbHBlcihkKSxlLkhtYWNTSEEzPW8uX2NyZWF0ZUhtYWNIZWxwZXIoZCl9KE1hdGgpLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gcigpe3JldHVybiBzLmNyZWF0ZS5hcHBseShzLGFyZ3VtZW50cyl9dmFyIGU9dCxpPWUubGliLG49aS5IYXNoZXIsbz1lLng2NCxzPW8uV29yZCxhPW8uV29yZEFycmF5LGM9ZS5hbGdvLGg9W3IoMTExNjM1MjQwOCwzNjA5NzY3NDU4KSxyKDE4OTk0NDc0NDEsNjAyODkxNzI1KSxyKDMwNDkzMjM0NzEsMzk2NDQ4NDM5OSkscigzOTIxMDA5NTczLDIxNzMyOTU1NDgpLHIoOTYxOTg3MTYzLDQwODE2Mjg0NzIpLHIoMTUwODk3MDk5MywzMDUzODM0MjY1KSxyKDI0NTM2MzU3NDgsMjkzNzY3MTU3OSkscigyODcwNzYzMjIxLDM2NjQ2MDk1NjApLHIoMzYyNDM4MTA4MCwyNzM0ODgzMzk0KSxyKDMxMDU5ODQwMSwxMTY0OTk2NTQyKSxyKDYwNzIyNTI3OCwxMzIzNjEwNzY0KSxyKDE0MjY4ODE5ODcsMzU5MDMwNDk5NCkscigxOTI1MDc4Mzg4LDQwNjgxODIzODMpLHIoMjE2MjA3ODIwNiw5OTEzMzYxMTMpLHIoMjYxNDg4ODEwMyw2MzM4MDMzMTcpLHIoMzI0ODIyMjU4MCwzNDc5Nzc0ODY4KSxyKDM4MzUzOTA0MDEsMjY2NjYxMzQ1OCkscig0MDIyMjI0Nzc0LDk0NDcxMTEzOSkscigyNjQzNDcwNzgsMjM0MTI2Mjc3Mykscig2MDQ4MDc2MjgsMjAwNzgwMDkzMykscig3NzAyNTU5ODMsMTQ5NTk5MDkwMSkscigxMjQ5MTUwMTIyLDE4NTY0MzEyMzUpLHIoMTU1NTA4MTY5MiwzMTc1MjE4MTMyKSxyKDE5OTYwNjQ5ODYsMjE5ODk1MDgzNykscigyNTU0MjIwODgyLDM5OTk3MTkzMzkpLHIoMjgyMTgzNDM0OSw3NjY3ODQwMTYpLHIoMjk1Mjk5NjgwOCwyNTY2NTk0ODc5KSxyKDMyMTAzMTM2NzEsMzIwMzMzNzk1NikscigzMzM2NTcxODkxLDEwMzQ0NTcwMjYpLHIoMzU4NDUyODcxMSwyNDY2OTQ4OTAxKSxyKDExMzkyNjk5MywzNzU4MzI2MzgzKSxyKDMzODI0MTg5NSwxNjg3MTc5MzYpLHIoNjY2MzA3MjA1LDExODgxNzk5NjQpLHIoNzczNTI5OTEyLDE1NDYwNDU3MzQpLHIoMTI5NDc1NzM3MiwxNTIyODA1NDg1KSxyKDEzOTYxODIyOTEsMjY0MzgzMzgyMykscigxNjk1MTgzNzAwLDIzNDM1MjczOTApLHIoMTk4NjY2MTA1MSwxMDE0NDc3NDgwKSxyKDIxNzcwMjYzNTAsMTIwNjc1OTE0MikscigyNDU2OTU2MDM3LDM0NDA3NzYyNykscigyNzMwNDg1OTIxLDEyOTA4NjM0NjApLHIoMjgyMDMwMjQxMSwzMTU4NDU0MjczKSxyKDMyNTk3MzA4MDAsMzUwNTk1MjY1NykscigzMzQ1NzY0NzcxLDEwNjIxNzAwOCkscigzNTE2MDY1ODE3LDM2MDYwMDgzNDQpLHIoMzYwMDM1MjgwNCwxNDMyNzI1Nzc2KSxyKDQwOTQ1NzE5MDksMTQ2NzAzMTU5NCkscigyNzU0MjMzNDQsODUxMTY5NzIwKSxyKDQzMDIyNzczNCwzMTAwODIzNzUyKSxyKDUwNjk0ODYxNiwxMzYzMjU4MTk1KSxyKDY1OTA2MDU1NiwzNzUwNjg1NTkzKSxyKDg4Mzk5Nzg3NywzNzg1MDUwMjgwKSxyKDk1ODEzOTU3MSwzMzE4MzA3NDI3KSxyKDEzMjI4MjIyMTgsMzgxMjcyMzQwMykscigxNTM3MDAyMDYzLDIwMDMwMzQ5OTUpLHIoMTc0Nzg3Mzc3OSwzNjAyMDM2ODk5KSxyKDE5NTU1NjIyMjIsMTU3NTk5MDAxMikscigyMDI0MTA0ODE1LDExMjU1OTI5MjgpLHIoMjIyNzczMDQ1MiwyNzE2OTA0MzA2KSxyKDIzNjE4NTI0MjQsNDQyNzc2MDQ0KSxyKDI0Mjg0MzY0NzQsNTkzNjk4MzQ0KSxyKDI3NTY3MzQxODcsMzczMzExMDI0OSkscigzMjA0MDMxNDc5LDI5OTkzNTE1NzMpLHIoMzMyOTMyNTI5OCwzODE1OTIwNDI3KSxyKDMzOTE1Njk2MTQsMzkyODM4MzkwMCkscigzNTE1MjY3MjcxLDU2NjI4MDcxMSkscigzOTQwMTg3NjA2LDM0NTQwNjk1MzQpLHIoNDExODYzMDI3MSw0MDAwMjM5OTkyKSxyKDExNjQxODQ3NCwxOTE0MTM4NTU0KSxyKDE3NDI5MjQyMSwyNzMxMDU1MjcwKSxyKDI4OTM4MDM1NiwzMjAzOTkzMDA2KSxyKDQ2MDM5MzI2OSwzMjA2MjAzMTUpLHIoNjg1NDcxNzMzLDU4NzQ5NjgzNikscig4NTIxNDI5NzEsMTA4Njc5Mjg1MSkscigxMDE3MDM2Mjk4LDM2NTU0MzEwMCkscigxMTI2MDAwNTgwLDI2MTgyOTc2NzYpLHIoMTI4ODAzMzQ3MCwzNDA5ODU1MTU4KSxyKDE1MDE1MDU5NDgsNDIzNDUwOTg2NikscigxNjA3MTY3OTE1LDk4NzE2NzQ2OCkscigxODE2NDAyMzE2LDEyNDYxODk1OTEpXSxsPVtdOyFmdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8ODA7dCsrKWxbdF09cigpfSgpO3ZhciBmPWMuU0hBNTEyPW4uZXh0ZW5kKHtfZG9SZXNldDpmdW5jdGlvbigpe3RoaXMuX2hhc2g9bmV3IGEuaW5pdChbbmV3IHMuaW5pdCgxNzc5MDMzNzAzLDQwODkyMzU3MjApLG5ldyBzLmluaXQoMzE0NDEzNDI3NywyMjI3ODczNTk1KSxuZXcgcy5pbml0KDEwMTM5MDQyNDIsNDI3MTE3NTcyMyksbmV3IHMuaW5pdCgyNzczNDgwNzYyLDE1OTU3NTAxMjkpLG5ldyBzLmluaXQoMTM1OTg5MzExOSwyOTE3NTY1MTM3KSxuZXcgcy5pbml0KDI2MDA4MjI5MjQsNzI1NTExMTk5KSxuZXcgcy5pbml0KDUyODczNDYzNSw0MjE1Mzg5NTQ3KSxuZXcgcy5pbml0KDE1NDE0NTkyMjUsMzI3MDMzMjA5KV0pfSxfZG9Qcm9jZXNzQmxvY2s6ZnVuY3Rpb24odCxyKXtmb3IodmFyIGU9dGhpcy5faGFzaC53b3JkcyxpPWVbMF0sbj1lWzFdLG89ZVsyXSxzPWVbM10sYT1lWzRdLGM9ZVs1XSxmPWVbNl0sdT1lWzddLGQ9aS5oaWdoLHY9aS5sb3cscD1uLmhpZ2gsXz1uLmxvdyx5PW8uaGlnaCxnPW8ubG93LEI9cy5oaWdoLHc9cy5sb3csaz1hLmhpZ2gsUz1hLmxvdyxtPWMuaGlnaCx4PWMubG93LGI9Zi5oaWdoLEg9Zi5sb3csej11LmhpZ2gsQT11LmxvdyxDPWQsRD12LFI9cCxFPV8sTT15LEY9ZyxQPUIsVz13LE89ayxVPVMsST1tLEs9eCxYPWIsTD1ILGo9eixOPUEsVD0wO1Q8ODA7VCsrKXt2YXIgWj1sW1RdO2lmKFQ8MTYpdmFyIHE9Wi5oaWdoPTB8dFtyKzIqVF0sRz1aLmxvdz0wfHRbcisyKlQrMV07ZWxzZXt2YXIgSj1sW1QtMTVdLCQ9Si5oaWdoLFE9Si5sb3csVj0oJD4+PjF8UTw8MzEpXigkPj4+OHxRPDwyNCleJD4+PjcsWT0oUT4+PjF8JDw8MzEpXihRPj4+OHwkPDwyNCleKFE+Pj43fCQ8PDI1KSx0dD1sW1QtMl0scnQ9dHQuaGlnaCxldD10dC5sb3csaXQ9KHJ0Pj4+MTl8ZXQ8PDEzKV4ocnQ8PDN8ZXQ+Pj4yOSlecnQ+Pj42LG50PShldD4+PjE5fHJ0PDwxMyleKGV0PDwzfHJ0Pj4+MjkpXihldD4+PjZ8cnQ8PDI2KSxvdD1sW1QtN10sc3Q9b3QuaGlnaCxhdD1vdC5sb3csY3Q9bFtULTE2XSxodD1jdC5oaWdoLGx0PWN0LmxvdyxHPVkrYXQscT1WK3N0KyhHPj4+MDxZPj4+MD8xOjApLEc9RytudCxxPXEraXQrKEc+Pj4wPG50Pj4+MD8xOjApLEc9RytsdCxxPXEraHQrKEc+Pj4wPGx0Pj4+MD8xOjApO1ouaGlnaD1xLFoubG93PUd9dmFyIGZ0PU8mSV5+TyZYLHV0PVUmS15+VSZMLGR0PUMmUl5DJk1eUiZNLHZ0PUQmRV5EJkZeRSZGLHB0PShDPj4+Mjh8RDw8NCleKEM8PDMwfEQ+Pj4yKV4oQzw8MjV8RD4+PjcpLF90PShEPj4+Mjh8Qzw8NCleKEQ8PDMwfEM+Pj4yKV4oRDw8MjV8Qz4+PjcpLHl0PShPPj4+MTR8VTw8MTgpXihPPj4+MTh8VTw8MTQpXihPPDwyM3xVPj4+OSksZ3Q9KFU+Pj4xNHxPPDwxOCleKFU+Pj4xOHxPPDwxNCleKFU8PDIzfE8+Pj45KSxCdD1oW1RdLHd0PUJ0LmhpZ2gsa3Q9QnQubG93LFN0PU4rZ3QsbXQ9ait5dCsoU3Q+Pj4wPE4+Pj4wPzE6MCksU3Q9U3QrdXQsbXQ9bXQrZnQrKFN0Pj4+MDx1dD4+PjA/MTowKSxTdD1TdCtrdCxtdD1tdCt3dCsoU3Q+Pj4wPGt0Pj4+MD8xOjApLFN0PVN0K0csbXQ9bXQrcSsoU3Q+Pj4wPEc+Pj4wPzE6MCkseHQ9X3QrdnQsYnQ9cHQrZHQrKHh0Pj4+MDxfdD4+PjA/MTowKTtqPVgsTj1MLFg9SSxMPUssST1PLEs9VSxVPVcrU3R8MCxPPVArbXQrKFU+Pj4wPFc+Pj4wPzE6MCl8MCxQPU0sVz1GLE09UixGPUUsUj1DLEU9RCxEPVN0K3h0fDAsQz1tdCtidCsoRD4+PjA8U3Q+Pj4wPzE6MCl8MH12PWkubG93PXYrRCxpLmhpZ2g9ZCtDKyh2Pj4+MDxEPj4+MD8xOjApLF89bi5sb3c9XytFLG4uaGlnaD1wK1IrKF8+Pj4wPEU+Pj4wPzE6MCksZz1vLmxvdz1nK0Ysby5oaWdoPXkrTSsoZz4+PjA8Rj4+PjA/MTowKSx3PXMubG93PXcrVyxzLmhpZ2g9QitQKyh3Pj4+MDxXPj4+MD8xOjApLFM9YS5sb3c9UytVLGEuaGlnaD1rK08rKFM+Pj4wPFU+Pj4wPzE6MCkseD1jLmxvdz14K0ssYy5oaWdoPW0rSSsoeD4+PjA8Sz4+PjA/MTowKSxIPWYubG93PUgrTCxmLmhpZ2g9YitYKyhIPj4+MDxMPj4+MD8xOjApLEE9dS5sb3c9QStOLHUuaGlnaD16K2orKEE+Pj4wPE4+Pj4wPzE6MCl9LF9kb0ZpbmFsaXplOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZGF0YSxyPXQud29yZHMsZT04KnRoaXMuX25EYXRhQnl0ZXMsaT04KnQuc2lnQnl0ZXM7cltpPj4+NV18PTEyODw8MjQtaSUzMixyWyhpKzEyOD4+PjEwPDw1KSszMF09TWF0aC5mbG9vcihlLzQyOTQ5NjcyOTYpLHJbKGkrMTI4Pj4+MTA8PDUpKzMxXT1lLHQuc2lnQnl0ZXM9NCpyLmxlbmd0aCx0aGlzLl9wcm9jZXNzKCk7dmFyIG49dGhpcy5faGFzaC50b1gzMigpO3JldHVybiBufSxjbG9uZTpmdW5jdGlvbigpe3ZhciB0PW4uY2xvbmUuY2FsbCh0aGlzKTtyZXR1cm4gdC5faGFzaD10aGlzLl9oYXNoLmNsb25lKCksdH0sYmxvY2tTaXplOjMyfSk7ZS5TSEE1MTI9bi5fY3JlYXRlSGVscGVyKGYpLGUuSG1hY1NIQTUxMj1uLl9jcmVhdGVIbWFjSGVscGVyKGYpfSgpLGZ1bmN0aW9uKCl7dmFyIHI9dCxlPXIueDY0LGk9ZS5Xb3JkLG49ZS5Xb3JkQXJyYXksbz1yLmFsZ28scz1vLlNIQTUxMixhPW8uU0hBMzg0PXMuZXh0ZW5kKHtfZG9SZXNldDpmdW5jdGlvbigpe3RoaXMuX2hhc2g9bmV3IG4uaW5pdChbbmV3IGkuaW5pdCgzNDE4MDcwMzY1LDMyMzgzNzEwMzIpLG5ldyBpLmluaXQoMTY1NDI3MDI1MCw5MTQxNTA2NjMpLG5ldyBpLmluaXQoMjQzODUyOTM3MCw4MTI3MDI5OTkpLG5ldyBpLmluaXQoMzU1NDYyMzYwLDQxNDQ5MTI2OTcpLG5ldyBpLmluaXQoMTczMTQwNTQxNSw0MjkwNzc1ODU3KSxuZXcgaS5pbml0KDIzOTQxODAyMzEsMTc1MDYwMzAyNSksbmV3IGkuaW5pdCgzNjc1MDA4NTI1LDE2OTQwNzY4MzkpLG5ldyBpLmluaXQoMTIwMzA2MjgxMywzMjA0MDc1NDI4KV0pfSxfZG9GaW5hbGl6ZTpmdW5jdGlvbigpe3ZhciB0PXMuX2RvRmluYWxpemUuY2FsbCh0aGlzKTtyZXR1cm4gdC5zaWdCeXRlcy09MTYsdH19KTtyLlNIQTM4ND1zLl9jcmVhdGVIZWxwZXIoYSksci5IbWFjU0hBMzg0PXMuX2NyZWF0ZUhtYWNIZWxwZXIoYSl9KCksdC5saWIuQ2lwaGVyfHxmdW5jdGlvbihyKXt2YXIgZT10LGk9ZS5saWIsbj1pLkJhc2Usbz1pLldvcmRBcnJheSxzPWkuQnVmZmVyZWRCbG9ja0FsZ29yaXRobSxhPWUuZW5jLGM9KGEuVXRmOCxhLkJhc2U2NCksaD1lLmFsZ28sbD1oLkV2cEtERixmPWkuQ2lwaGVyPXMuZXh0ZW5kKHtjZmc6bi5leHRlbmQoKSxjcmVhdGVFbmNyeXB0b3I6ZnVuY3Rpb24odCxyKXtyZXR1cm4gdGhpcy5jcmVhdGUodGhpcy5fRU5DX1hGT1JNX01PREUsdCxyKX0sY3JlYXRlRGVjcnlwdG9yOmZ1bmN0aW9uKHQscil7cmV0dXJuIHRoaXMuY3JlYXRlKHRoaXMuX0RFQ19YRk9STV9NT0RFLHQscil9LGluaXQ6ZnVuY3Rpb24odCxyLGUpe3RoaXMuY2ZnPXRoaXMuY2ZnLmV4dGVuZChlKSx0aGlzLl94Zm9ybU1vZGU9dCx0aGlzLl9rZXk9cix0aGlzLnJlc2V0KCl9LHJlc2V0OmZ1bmN0aW9uKCl7cy5yZXNldC5jYWxsKHRoaXMpLHRoaXMuX2RvUmVzZXQoKX0scHJvY2VzczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYXBwZW5kKHQpLHRoaXMuX3Byb2Nlc3MoKX0sZmluYWxpemU6ZnVuY3Rpb24odCl7dCYmdGhpcy5fYXBwZW5kKHQpO3ZhciByPXRoaXMuX2RvRmluYWxpemUoKTtyZXR1cm4gcn0sa2V5U2l6ZTo0LGl2U2l6ZTo0LF9FTkNfWEZPUk1fTU9ERToxLF9ERUNfWEZPUk1fTU9ERToyLF9jcmVhdGVIZWxwZXI6ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiB0P206d31yZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJue2VuY3J5cHQ6ZnVuY3Rpb24oZSxpLG4pe3JldHVybiB0KGkpLmVuY3J5cHQocixlLGksbil9LGRlY3J5cHQ6ZnVuY3Rpb24oZSxpLG4pe3JldHVybiB0KGkpLmRlY3J5cHQocixlLGksbil9fX19KCl9KSx1PShpLlN0cmVhbUNpcGhlcj1mLmV4dGVuZCh7X2RvRmluYWxpemU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9wcm9jZXNzKCEwKTtyZXR1cm4gdH0sYmxvY2tTaXplOjF9KSxlLm1vZGU9e30pLGQ9aS5CbG9ja0NpcGhlck1vZGU9bi5leHRlbmQoe2NyZWF0ZUVuY3J5cHRvcjpmdW5jdGlvbih0LHIpe3JldHVybiB0aGlzLkVuY3J5cHRvci5jcmVhdGUodCxyKX0sY3JlYXRlRGVjcnlwdG9yOmZ1bmN0aW9uKHQscil7cmV0dXJuIHRoaXMuRGVjcnlwdG9yLmNyZWF0ZSh0LHIpfSxpbml0OmZ1bmN0aW9uKHQscil7dGhpcy5fY2lwaGVyPXQsdGhpcy5faXY9cn19KSx2PXUuQ0JDPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUsaSl7dmFyIG49dGhpcy5faXY7aWYobil7dmFyIG89bjt0aGlzLl9pdj1yfWVsc2UgdmFyIG89dGhpcy5fcHJldkJsb2NrO2Zvcih2YXIgcz0wO3M8aTtzKyspdFtlK3NdXj1vW3NdfXZhciBlPWQuZXh0ZW5kKCk7cmV0dXJuIGUuRW5jcnlwdG9yPWUuZXh0ZW5kKHtwcm9jZXNzQmxvY2s6ZnVuY3Rpb24ocixlKXt2YXIgaT10aGlzLl9jaXBoZXIsbj1pLmJsb2NrU2l6ZTt0LmNhbGwodGhpcyxyLGUsbiksaS5lbmNyeXB0QmxvY2socixlKSx0aGlzLl9wcmV2QmxvY2s9ci5zbGljZShlLGUrbil9fSksZS5EZWNyeXB0b3I9ZS5leHRlbmQoe3Byb2Nlc3NCbG9jazpmdW5jdGlvbihyLGUpe3ZhciBpPXRoaXMuX2NpcGhlcixuPWkuYmxvY2tTaXplLG89ci5zbGljZShlLGUrbik7aS5kZWNyeXB0QmxvY2socixlKSx0LmNhbGwodGhpcyxyLGUsbiksdGhpcy5fcHJldkJsb2NrPW99fSksZX0oKSxwPWUucGFkPXt9LF89cC5Qa2NzNz17cGFkOmZ1bmN0aW9uKHQscil7Zm9yKHZhciBlPTQqcixpPWUtdC5zaWdCeXRlcyVlLG49aTw8MjR8aTw8MTZ8aTw8OHxpLHM9W10sYT0wO2E8aTthKz00KXMucHVzaChuKTt2YXIgYz1vLmNyZWF0ZShzLGkpO3QuY29uY2F0KGMpfSx1bnBhZDpmdW5jdGlvbih0KXt2YXIgcj0yNTUmdC53b3Jkc1t0LnNpZ0J5dGVzLTE+Pj4yXTt0LnNpZ0J5dGVzLT1yfX0seT0oaS5CbG9ja0NpcGhlcj1mLmV4dGVuZCh7Y2ZnOmYuY2ZnLmV4dGVuZCh7bW9kZTp2LHBhZGRpbmc6X30pLHJlc2V0OmZ1bmN0aW9uKCl7Zi5yZXNldC5jYWxsKHRoaXMpO3ZhciB0PXRoaXMuY2ZnLHI9dC5pdixlPXQubW9kZTtpZih0aGlzLl94Zm9ybU1vZGU9PXRoaXMuX0VOQ19YRk9STV9NT0RFKXZhciBpPWUuY3JlYXRlRW5jcnlwdG9yO2Vsc2V7dmFyIGk9ZS5jcmVhdGVEZWNyeXB0b3I7dGhpcy5fbWluQnVmZmVyU2l6ZT0xfXRoaXMuX21vZGUmJnRoaXMuX21vZGUuX19jcmVhdG9yPT1pP3RoaXMuX21vZGUuaW5pdCh0aGlzLHImJnIud29yZHMpOih0aGlzLl9tb2RlPWkuY2FsbChlLHRoaXMsciYmci53b3JkcyksdGhpcy5fbW9kZS5fX2NyZWF0b3I9aSl9LF9kb1Byb2Nlc3NCbG9jazpmdW5jdGlvbih0LHIpe3RoaXMuX21vZGUucHJvY2Vzc0Jsb2NrKHQscil9LF9kb0ZpbmFsaXplOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5jZmcucGFkZGluZztpZih0aGlzLl94Zm9ybU1vZGU9PXRoaXMuX0VOQ19YRk9STV9NT0RFKXt0LnBhZCh0aGlzLl9kYXRhLHRoaXMuYmxvY2tTaXplKTt2YXIgcj10aGlzLl9wcm9jZXNzKCEwKX1lbHNle3ZhciByPXRoaXMuX3Byb2Nlc3MoITApO3QudW5wYWQocil9cmV0dXJuIHJ9LGJsb2NrU2l6ZTo0fSksaS5DaXBoZXJQYXJhbXM9bi5leHRlbmQoe2luaXQ6ZnVuY3Rpb24odCl7dGhpcy5taXhJbih0KX0sdG9TdHJpbmc6ZnVuY3Rpb24odCl7cmV0dXJuKHR8fHRoaXMuZm9ybWF0dGVyKS5zdHJpbmdpZnkodGhpcyl9fSkpLGc9ZS5mb3JtYXQ9e30sQj1nLk9wZW5TU0w9e3N0cmluZ2lmeTpmdW5jdGlvbih0KXt2YXIgcj10LmNpcGhlcnRleHQsZT10LnNhbHQ7aWYoZSl2YXIgaT1vLmNyZWF0ZShbMTM5ODg5MzY4NCwxNzAxMDc2ODMxXSkuY29uY2F0KGUpLmNvbmNhdChyKTtlbHNlIHZhciBpPXI7cmV0dXJuIGkudG9TdHJpbmcoYyl9LHBhcnNlOmZ1bmN0aW9uKHQpe3ZhciByPWMucGFyc2UodCksZT1yLndvcmRzO2lmKDEzOTg4OTM2ODQ9PWVbMF0mJjE3MDEwNzY4MzE9PWVbMV0pe3ZhciBpPW8uY3JlYXRlKGUuc2xpY2UoMiw0KSk7ZS5zcGxpY2UoMCw0KSxyLnNpZ0J5dGVzLT0xNn1yZXR1cm4geS5jcmVhdGUoe2NpcGhlcnRleHQ6cixzYWx0Oml9KX19LHc9aS5TZXJpYWxpemFibGVDaXBoZXI9bi5leHRlbmQoe2NmZzpuLmV4dGVuZCh7Zm9ybWF0OkJ9KSxlbmNyeXB0OmZ1bmN0aW9uKHQscixlLGkpe2k9dGhpcy5jZmcuZXh0ZW5kKGkpO3ZhciBuPXQuY3JlYXRlRW5jcnlwdG9yKGUsaSksbz1uLmZpbmFsaXplKHIpLHM9bi5jZmc7cmV0dXJuIHkuY3JlYXRlKHtjaXBoZXJ0ZXh0Om8sa2V5OmUsaXY6cy5pdixhbGdvcml0aG06dCxtb2RlOnMubW9kZSxwYWRkaW5nOnMucGFkZGluZyxibG9ja1NpemU6dC5ibG9ja1NpemUsZm9ybWF0dGVyOmkuZm9ybWF0fSl9LGRlY3J5cHQ6ZnVuY3Rpb24odCxyLGUsaSl7aT10aGlzLmNmZy5leHRlbmQoaSkscj10aGlzLl9wYXJzZShyLGkuZm9ybWF0KTt2YXIgbj10LmNyZWF0ZURlY3J5cHRvcihlLGkpLmZpbmFsaXplKHIuY2lwaGVydGV4dCk7cmV0dXJuIG59LF9wYXJzZTpmdW5jdGlvbih0LHIpe3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiB0P3IucGFyc2UodCx0aGlzKTp0fX0pLGs9ZS5rZGY9e30sUz1rLk9wZW5TU0w9e2V4ZWN1dGU6ZnVuY3Rpb24odCxyLGUsaSl7aXx8KGk9by5yYW5kb20oOCkpO3ZhciBuPWwuY3JlYXRlKHtrZXlTaXplOnIrZX0pLmNvbXB1dGUodCxpKSxzPW8uY3JlYXRlKG4ud29yZHMuc2xpY2UociksNCplKTtyZXR1cm4gbi5zaWdCeXRlcz00KnIseS5jcmVhdGUoe2tleTpuLGl2OnMsc2FsdDppfSl9fSxtPWkuUGFzc3dvcmRCYXNlZENpcGhlcj13LmV4dGVuZCh7Y2ZnOncuY2ZnLmV4dGVuZCh7a2RmOlN9KSxlbmNyeXB0OmZ1bmN0aW9uKHQscixlLGkpe2k9dGhpcy5jZmcuZXh0ZW5kKGkpO3ZhciBuPWkua2RmLmV4ZWN1dGUoZSx0LmtleVNpemUsdC5pdlNpemUpO2kuaXY9bi5pdjt2YXIgbz13LmVuY3J5cHQuY2FsbCh0aGlzLHQscixuLmtleSxpKTtyZXR1cm4gby5taXhJbihuKSxvfSxkZWNyeXB0OmZ1bmN0aW9uKHQscixlLGkpe2k9dGhpcy5jZmcuZXh0ZW5kKGkpLHI9dGhpcy5fcGFyc2UocixpLmZvcm1hdCk7dmFyIG49aS5rZGYuZXhlY3V0ZShlLHQua2V5U2l6ZSx0Lml2U2l6ZSxyLnNhbHQpO2kuaXY9bi5pdjt2YXIgbz13LmRlY3J5cHQuY2FsbCh0aGlzLHQscixuLmtleSxpKTtyZXR1cm4gb319KX0oKSx0Lm1vZGUuQ0ZCPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcih0LHIsZSxpKXt2YXIgbj10aGlzLl9pdjtpZihuKXt2YXIgbz1uLnNsaWNlKDApO3RoaXMuX2l2PXZvaWQgMH1lbHNlIHZhciBvPXRoaXMuX3ByZXZCbG9jaztpLmVuY3J5cHRCbG9jayhvLDApO2Zvcih2YXIgcz0wO3M8ZTtzKyspdFtyK3NdXj1vW3NdfXZhciBlPXQubGliLkJsb2NrQ2lwaGVyTW9kZS5leHRlbmQoKTtyZXR1cm4gZS5FbmNyeXB0b3I9ZS5leHRlbmQoe3Byb2Nlc3NCbG9jazpmdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMuX2NpcGhlcixuPWkuYmxvY2tTaXplO3IuY2FsbCh0aGlzLHQsZSxuLGkpLHRoaXMuX3ByZXZCbG9jaz10LnNsaWNlKGUsZStuKX19KSxlLkRlY3J5cHRvcj1lLmV4dGVuZCh7cHJvY2Vzc0Jsb2NrOmZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5fY2lwaGVyLG49aS5ibG9ja1NpemUsbz10LnNsaWNlKGUsZStuKTtyLmNhbGwodGhpcyx0LGUsbixpKSx0aGlzLl9wcmV2QmxvY2s9b319KSxlfSgpLHQubW9kZS5FQ0I9ZnVuY3Rpb24oKXt2YXIgcj10LmxpYi5CbG9ja0NpcGhlck1vZGUuZXh0ZW5kKCk7cmV0dXJuIHIuRW5jcnlwdG9yPXIuZXh0ZW5kKHtwcm9jZXNzQmxvY2s6ZnVuY3Rpb24odCxyKXt0aGlzLl9jaXBoZXIuZW5jcnlwdEJsb2NrKHQscil9fSksci5EZWNyeXB0b3I9ci5leHRlbmQoe3Byb2Nlc3NCbG9jazpmdW5jdGlvbih0LHIpe3RoaXMuX2NpcGhlci5kZWNyeXB0QmxvY2sodCxyKX19KSxyfSgpLHQucGFkLkFuc2lYOTIzPXtwYWQ6ZnVuY3Rpb24odCxyKXt2YXIgZT10LnNpZ0J5dGVzLGk9NCpyLG49aS1lJWksbz1lK24tMTt0LmNsYW1wKCksdC53b3Jkc1tvPj4+Ml18PW48PDI0LW8lNCo4LHQuc2lnQnl0ZXMrPW59LHVucGFkOmZ1bmN0aW9uKHQpe3ZhciByPTI1NSZ0LndvcmRzW3Quc2lnQnl0ZXMtMT4+PjJdO3Quc2lnQnl0ZXMtPXJ9fSx0LnBhZC5Jc28xMDEyNj17cGFkOmZ1bmN0aW9uKHIsZSl7dmFyIGk9NCplLG49aS1yLnNpZ0J5dGVzJWk7ci5jb25jYXQodC5saWIuV29yZEFycmF5LnJhbmRvbShuLTEpKS5jb25jYXQodC5saWIuV29yZEFycmF5LmNyZWF0ZShbbjw8MjRdLDEpKX0sdW5wYWQ6ZnVuY3Rpb24odCl7dmFyIHI9MjU1JnQud29yZHNbdC5zaWdCeXRlcy0xPj4+Ml07dC5zaWdCeXRlcy09cn19LHQucGFkLklzbzk3OTcxPXtwYWQ6ZnVuY3Rpb24ocixlKXtyLmNvbmNhdCh0LmxpYi5Xb3JkQXJyYXkuY3JlYXRlKFsyMTQ3NDgzNjQ4XSwxKSksdC5wYWQuWmVyb1BhZGRpbmcucGFkKHIsZSl9LHVucGFkOmZ1bmN0aW9uKHIpe3QucGFkLlplcm9QYWRkaW5nLnVucGFkKHIpLHIuc2lnQnl0ZXMtLX19LHQubW9kZS5PRkI9ZnVuY3Rpb24oKXt2YXIgcj10LmxpYi5CbG9ja0NpcGhlck1vZGUuZXh0ZW5kKCksZT1yLkVuY3J5cHRvcj1yLmV4dGVuZCh7cHJvY2Vzc0Jsb2NrOmZ1bmN0aW9uKHQscil7dmFyIGU9dGhpcy5fY2lwaGVyLGk9ZS5ibG9ja1NpemUsbj10aGlzLl9pdixvPXRoaXMuX2tleXN0cmVhbTtuJiYobz10aGlzLl9rZXlzdHJlYW09bi5zbGljZSgwKSx0aGlzLl9pdj12b2lkIDApLGUuZW5jcnlwdEJsb2NrKG8sMCk7Zm9yKHZhciBzPTA7czxpO3MrKyl0W3Irc11ePW9bc119fSk7cmV0dXJuIHIuRGVjcnlwdG9yPWUscn0oKSx0LnBhZC5Ob1BhZGRpbmc9e3BhZDpmdW5jdGlvbigpe30sdW5wYWQ6ZnVuY3Rpb24oKXt9fSxmdW5jdGlvbihyKXt2YXIgZT10LGk9ZS5saWIsbj1pLkNpcGhlclBhcmFtcyxvPWUuZW5jLHM9by5IZXgsYT1lLmZvcm1hdDthLkhleD17c3RyaW5naWZ5OmZ1bmN0aW9uKHQpe3JldHVybiB0LmNpcGhlcnRleHQudG9TdHJpbmcocyl9LHBhcnNlOmZ1bmN0aW9uKHQpe3ZhciByPXMucGFyc2UodCk7cmV0dXJuIG4uY3JlYXRlKHtjaXBoZXJ0ZXh0OnJ9KX19fSgpLGZ1bmN0aW9uKCl7dmFyIHI9dCxlPXIubGliLGk9ZS5CbG9ja0NpcGhlcixuPXIuYWxnbyxvPVtdLHM9W10sYT1bXSxjPVtdLGg9W10sbD1bXSxmPVtdLHU9W10sZD1bXSx2PVtdOyFmdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxyPTA7cjwyNTY7cisrKXI8MTI4P3Rbcl09cjw8MTp0W3JdPXI8PDFeMjgzO2Zvcih2YXIgZT0wLGk9MCxyPTA7cjwyNTY7cisrKXt2YXIgbj1pXmk8PDFeaTw8Ml5pPDwzXmk8PDQ7bj1uPj4+OF4yNTUmbl45OSxvW2VdPW4sc1tuXT1lO3ZhciBwPXRbZV0sXz10W3BdLHk9dFtfXSxnPTI1Nyp0W25dXjE2ODQzMDA4Km47YVtlXT1nPDwyNHxnPj4+OCxjW2VdPWc8PDE2fGc+Pj4xNixoW2VdPWc8PDh8Zz4+PjI0LGxbZV09Zzt2YXIgZz0xNjg0MzAwOSp5XjY1NTM3Kl9eMjU3KnBeMTY4NDMwMDgqZTtmW25dPWc8PDI0fGc+Pj44LHVbbl09Zzw8MTZ8Zz4+PjE2LGRbbl09Zzw8OHxnPj4+MjQsdltuXT1nLGU/KGU9cF50W3RbdFt5XnBdXV0saV49dFt0W2ldXSk6ZT1pPTF9fSgpO3ZhciBwPVswLDEsMiw0LDgsMTYsMzIsNjQsMTI4LDI3LDU0XSxfPW4uQUVTPWkuZXh0ZW5kKHtfZG9SZXNldDpmdW5jdGlvbigpe2lmKCF0aGlzLl9uUm91bmRzfHx0aGlzLl9rZXlQcmlvclJlc2V0IT09dGhpcy5fa2V5KXtmb3IodmFyIHQ9dGhpcy5fa2V5UHJpb3JSZXNldD10aGlzLl9rZXkscj10LndvcmRzLGU9dC5zaWdCeXRlcy80LGk9dGhpcy5fblJvdW5kcz1lKzYsbj00KihpKzEpLHM9dGhpcy5fa2V5U2NoZWR1bGU9W10sYT0wO2E8bjthKyspaWYoYTxlKXNbYV09clthXTtlbHNle3ZhciBjPXNbYS0xXTthJWU/ZT42JiZhJWU9PTQmJihjPW9bYz4+PjI0XTw8MjR8b1tjPj4+MTYmMjU1XTw8MTZ8b1tjPj4+OCYyNTVdPDw4fG9bMjU1JmNdKTooYz1jPDw4fGM+Pj4yNCxjPW9bYz4+PjI0XTw8MjR8b1tjPj4+MTYmMjU1XTw8MTZ8b1tjPj4+OCYyNTVdPDw4fG9bMjU1JmNdLGNePXBbYS9lfDBdPDwyNCksc1thXT1zW2EtZV1eY31mb3IodmFyIGg9dGhpcy5faW52S2V5U2NoZWR1bGU9W10sbD0wO2w8bjtsKyspe3ZhciBhPW4tbDtpZihsJTQpdmFyIGM9c1thXTtlbHNlIHZhciBjPXNbYS00XTtsPDR8fGE8PTQ/aFtsXT1jOmhbbF09ZltvW2M+Pj4yNF1dXnVbb1tjPj4+MTYmMjU1XV1eZFtvW2M+Pj44JjI1NV1dXnZbb1syNTUmY11dfX19LGVuY3J5cHRCbG9jazpmdW5jdGlvbih0LHIpe3RoaXMuX2RvQ3J5cHRCbG9jayh0LHIsdGhpcy5fa2V5U2NoZWR1bGUsYSxjLGgsbCxvKX0sZGVjcnlwdEJsb2NrOmZ1bmN0aW9uKHQscil7dmFyIGU9dFtyKzFdO3RbcisxXT10W3IrM10sdFtyKzNdPWUsdGhpcy5fZG9DcnlwdEJsb2NrKHQscix0aGlzLl9pbnZLZXlTY2hlZHVsZSxmLHUsZCx2LHMpO3ZhciBlPXRbcisxXTt0W3IrMV09dFtyKzNdLHRbciszXT1lfSxfZG9DcnlwdEJsb2NrOmZ1bmN0aW9uKHQscixlLGksbixvLHMsYSl7Zm9yKHZhciBjPXRoaXMuX25Sb3VuZHMsaD10W3JdXmVbMF0sbD10W3IrMV1eZVsxXSxmPXRbcisyXV5lWzJdLHU9dFtyKzNdXmVbM10sZD00LHY9MTt2PGM7disrKXt2YXIgcD1pW2g+Pj4yNF1ebltsPj4+MTYmMjU1XV5vW2Y+Pj44JjI1NV1ec1syNTUmdV1eZVtkKytdLF89aVtsPj4+MjRdXm5bZj4+PjE2JjI1NV1eb1t1Pj4+OCYyNTVdXnNbMjU1JmhdXmVbZCsrXSx5PWlbZj4+PjI0XV5uW3U+Pj4xNiYyNTVdXm9baD4+PjgmMjU1XV5zWzI1NSZsXV5lW2QrK10sZz1pW3U+Pj4yNF1ebltoPj4+MTYmMjU1XV5vW2w+Pj44JjI1NV1ec1syNTUmZl1eZVtkKytdO2g9cCxsPV8sZj15LHU9Z312YXIgcD0oYVtoPj4+MjRdPDwyNHxhW2w+Pj4xNiYyNTVdPDwxNnxhW2Y+Pj44JjI1NV08PDh8YVsyNTUmdV0pXmVbZCsrXSxfPShhW2w+Pj4yNF08PDI0fGFbZj4+PjE2JjI1NV08PDE2fGFbdT4+PjgmMjU1XTw8OHxhWzI1NSZoXSleZVtkKytdLHk9KGFbZj4+PjI0XTw8MjR8YVt1Pj4+MTYmMjU1XTw8MTZ8YVtoPj4+OCYyNTVdPDw4fGFbMjU1JmxdKV5lW2QrK10sZz0oYVt1Pj4+MjRdPDwyNHxhW2g+Pj4xNiYyNTVdPDwxNnxhW2w+Pj44JjI1NV08PDh8YVsyNTUmZl0pXmVbZCsrXTt0W3JdPXAsdFtyKzFdPV8sdFtyKzJdPXksdFtyKzNdPWd9LGtleVNpemU6OH0pO3IuQUVTPWkuX2NyZWF0ZUhlbHBlcihfKX0oKSxmdW5jdGlvbigpe2Z1bmN0aW9uIHIodCxyKXt2YXIgZT0odGhpcy5fbEJsb2NrPj4+dF50aGlzLl9yQmxvY2spJnI7dGhpcy5fckJsb2NrXj1lLHRoaXMuX2xCbG9ja149ZTw8dH1mdW5jdGlvbiBlKHQscil7dmFyIGU9KHRoaXMuX3JCbG9jaz4+PnRedGhpcy5fbEJsb2NrKSZyO3RoaXMuX2xCbG9ja149ZSx0aGlzLl9yQmxvY2tePWU8PHQ7XG59dmFyIGk9dCxuPWkubGliLG89bi5Xb3JkQXJyYXkscz1uLkJsb2NrQ2lwaGVyLGE9aS5hbGdvLGM9WzU3LDQ5LDQxLDMzLDI1LDE3LDksMSw1OCw1MCw0MiwzNCwyNiwxOCwxMCwyLDU5LDUxLDQzLDM1LDI3LDE5LDExLDMsNjAsNTIsNDQsMzYsNjMsNTUsNDcsMzksMzEsMjMsMTUsNyw2Miw1NCw0NiwzOCwzMCwyMiwxNCw2LDYxLDUzLDQ1LDM3LDI5LDIxLDEzLDUsMjgsMjAsMTIsNF0saD1bMTQsMTcsMTEsMjQsMSw1LDMsMjgsMTUsNiwyMSwxMCwyMywxOSwxMiw0LDI2LDgsMTYsNywyNywyMCwxMywyLDQxLDUyLDMxLDM3LDQ3LDU1LDMwLDQwLDUxLDQ1LDMzLDQ4LDQ0LDQ5LDM5LDU2LDM0LDUzLDQ2LDQyLDUwLDM2LDI5LDMyXSxsPVsxLDIsNCw2LDgsMTAsMTIsMTQsMTUsMTcsMTksMjEsMjMsMjUsMjcsMjhdLGY9W3swOjg0MjE4ODgsMjY4NDM1NDU2OjMyNzY4LDUzNjg3MDkxMjo4NDIxMzc4LDgwNTMwNjM2ODoyLDEwNzM3NDE4MjQ6NTEyLDEzNDIxNzcyODA6ODQyMTg5MCwxNjEwNjEyNzM2OjgzODkxMjIsMTg3OTA0ODE5Mjo4Mzg4NjA4LDIxNDc0ODM2NDg6NTE0LDI0MTU5MTkxMDQ6ODM4OTEyMCwyNjg0MzU0NTYwOjMzMjgwLDI5NTI3OTAwMTY6ODQyMTM3NiwzMjIxMjI1NDcyOjMyNzcwLDM0ODk2NjA5Mjg6ODM4ODYxMCwzNzU4MDk2Mzg0OjAsNDAyNjUzMTg0MDozMzI4MiwxMzQyMTc3Mjg6MCw0MDI2NTMxODQ6ODQyMTg5MCw2NzEwODg2NDA6MzMyODIsOTM5NTI0MDk2OjMyNzY4LDEyMDc5NTk1NTI6ODQyMTg4OCwxNDc2Mzk1MDA4OjUxMiwxNzQ0ODMwNDY0Ojg0MjEzNzgsMjAxMzI2NTkyMDoyLDIyODE3MDEzNzY6ODM4OTEyMCwyNTUwMTM2ODMyOjMzMjgwLDI4MTg1NzIyODg6ODQyMTM3NiwzMDg3MDA3NzQ0OjgzODkxMjIsMzM1NTQ0MzIwMDo4Mzg4NjEwLDM2MjM4Nzg2NTY6MzI3NzAsMzg5MjMxNDExMjo1MTQsNDE2MDc0OTU2ODo4Mzg4NjA4LDE6MzI3NjgsMjY4NDM1NDU3OjIsNTM2ODcwOTEzOjg0MjE4ODgsODA1MzA2MzY5OjgzODg2MDgsMTA3Mzc0MTgyNTo4NDIxMzc4LDEzNDIxNzcyODE6MzMyODAsMTYxMDYxMjczNzo1MTIsMTg3OTA0ODE5Mzo4Mzg5MTIyLDIxNDc0ODM2NDk6ODQyMTg5MCwyNDE1OTE5MTA1Ojg0MjEzNzYsMjY4NDM1NDU2MTo4Mzg4NjEwLDI5NTI3OTAwMTc6MzMyODIsMzIyMTIyNTQ3Mzo1MTQsMzQ4OTY2MDkyOTo4Mzg5MTIwLDM3NTgwOTYzODU6MzI3NzAsNDAyNjUzMTg0MTowLDEzNDIxNzcyOTo4NDIxODkwLDQwMjY1MzE4NTo4NDIxMzc2LDY3MTA4ODY0MTo4Mzg4NjA4LDkzOTUyNDA5Nzo1MTIsMTIwNzk1OTU1MzozMjc2OCwxNDc2Mzk1MDA5OjgzODg2MTAsMTc0NDgzMDQ2NToyLDIwMTMyNjU5MjE6MzMyODIsMjI4MTcwMTM3NzozMjc3MCwyNTUwMTM2ODMzOjgzODkxMjIsMjgxODU3MjI4OTo1MTQsMzA4NzAwNzc0NTo4NDIxODg4LDMzNTU0NDMyMDE6ODM4OTEyMCwzNjIzODc4NjU3OjAsMzg5MjMxNDExMzozMzI4MCw0MTYwNzQ5NTY5Ojg0MjEzNzh9LHswOjEwNzQyODI1MTIsMTY3NzcyMTY6MTYzODQsMzM1NTQ0MzI6NTI0Mjg4LDUwMzMxNjQ4OjEwNzQyNjYxMjgsNjcxMDg4NjQ6MTA3Mzc0MTg0MCw4Mzg4NjA4MDoxMDc0MjgyNDk2LDEwMDY2MzI5NjoxMDczNzU4MjA4LDExNzQ0MDUxMjoxNiwxMzQyMTc3Mjg6NTQwNjcyLDE1MDk5NDk0NDoxMDczNzU4MjI0LDE2Nzc3MjE2MDoxMDczNzQxODI0LDE4NDU0OTM3Njo1NDA2ODgsMjAxMzI2NTkyOjUyNDMwNCwyMTgxMDM4MDg6MCwyMzQ4ODEwMjQ6MTY0MDAsMjUxNjU4MjQwOjEwNzQyNjYxMTIsODM4ODYwODoxMDczNzU4MjA4LDI1MTY1ODI0OjU0MDY4OCw0MTk0MzA0MDoxNiw1ODcyMDI1NjoxMDczNzU4MjI0LDc1NDk3NDcyOjEwNzQyODI1MTIsOTIyNzQ2ODg6MTA3Mzc0MTgyNCwxMDkwNTE5MDQ6NTI0Mjg4LDEyNTgyOTEyMDoxMDc0MjY2MTI4LDE0MjYwNjMzNjo1MjQzMDQsMTU5MzgzNTUyOjAsMTc2MTYwNzY4OjE2Mzg0LDE5MjkzNzk4NDoxMDc0MjY2MTEyLDIwOTcxNTIwMDoxMDczNzQxODQwLDIyNjQ5MjQxNjo1NDA2NzIsMjQzMjY5NjMyOjEwNzQyODI0OTYsMjYwMDQ2ODQ4OjE2NDAwLDI2ODQzNTQ1NjowLDI4NTIxMjY3MjoxMDc0MjY2MTI4LDMwMTk4OTg4ODoxMDczNzU4MjI0LDMxODc2NzEwNDoxMDc0MjgyNDk2LDMzNTU0NDMyMDoxMDc0MjY2MTEyLDM1MjMyMTUzNjoxNiwzNjkwOTg3NTI6NTQwNjg4LDM4NTg3NTk2ODoxNjM4NCw0MDI2NTMxODQ6MTY0MDAsNDE5NDMwNDAwOjUyNDI4OCw0MzYyMDc2MTY6NTI0MzA0LDQ1Mjk4NDgzMjoxMDczNzQxODQwLDQ2OTc2MjA0ODo1NDA2NzIsNDg2NTM5MjY0OjEwNzM3NTgyMDgsNTAzMzE2NDgwOjEwNzM3NDE4MjQsNTIwMDkzNjk2OjEwNzQyODI1MTIsMjc2ODI0MDY0OjU0MDY4OCwyOTM2MDEyODA6NTI0Mjg4LDMxMDM3ODQ5NjoxMDc0MjY2MTEyLDMyNzE1NTcxMjoxNjM4NCwzNDM5MzI5Mjg6MTA3Mzc1ODIwOCwzNjA3MTAxNDQ6MTA3NDI4MjUxMiwzNzc0ODczNjA6MTYsMzk0MjY0NTc2OjEwNzM3NDE4MjQsNDExMDQxNzkyOjEwNzQyODI0OTYsNDI3ODE5MDA4OjEwNzM3NDE4NDAsNDQ0NTk2MjI0OjEwNzM3NTgyMjQsNDYxMzczNDQwOjUyNDMwNCw0NzgxNTA2NTY6MCw0OTQ5Mjc4NzI6MTY0MDAsNTExNzA1MDg4OjEwNzQyNjYxMjgsNTI4NDgyMzA0OjU0MDY3Mn0sezA6MjYwLDEwNDg1NzY6MCwyMDk3MTUyOjY3MTA5MTIwLDMxNDU3Mjg6NjU3OTYsNDE5NDMwNDo2NTU0MCw1MjQyODgwOjY3MTA4ODY4LDYyOTE0NTY6NjcxNzQ2NjAsNzM0MDAzMjo2NzE3NDQwMCw4Mzg4NjA4OjY3MTA4ODY0LDk0MzcxODQ6NjcxNzQ2NTYsMTA0ODU3NjA6NjU3OTIsMTE1MzQzMzY6NjcxNzQ0MDQsMTI1ODI5MTI6NjcxMDkxMjQsMTM2MzE0ODg6NjU1MzYsMTQ2ODAwNjQ6NCwxNTcyODY0MDoyNTYsNTI0Mjg4OjY3MTc0NjU2LDE1NzI4NjQ6NjcxNzQ0MDQsMjYyMTQ0MDowLDM2NzAwMTY6NjcxMDkxMjAsNDcxODU5Mjo2NzEwODg2OCw1NzY3MTY4OjY1NTM2LDY4MTU3NDQ6NjU1NDAsNzg2NDMyMDoyNjAsODkxMjg5Njo0LDk5NjE0NzI6MjU2LDExMDEwMDQ4OjY3MTc0NDAwLDEyMDU4NjI0OjY1Nzk2LDEzMTA3MjAwOjY1NzkyLDE0MTU1Nzc2OjY3MTA5MTI0LDE1MjA0MzUyOjY3MTc0NjYwLDE2MjUyOTI4OjY3MTA4ODY0LDE2Nzc3MjE2OjY3MTc0NjU2LDE3ODI1NzkyOjY1NTQwLDE4ODc0MzY4OjY1NTM2LDE5OTIyOTQ0OjY3MTA5MTIwLDIwOTcxNTIwOjI1NiwyMjAyMDA5Njo2NzE3NDY2MCwyMzA2ODY3Mjo2NzEwODg2OCwyNDExNzI0ODowLDI1MTY1ODI0OjY3MTA5MTI0LDI2MjE0NDAwOjY3MTA4ODY0LDI3MjYyOTc2OjQsMjgzMTE1NTI6NjU3OTIsMjkzNjAxMjg6NjcxNzQ0MDAsMzA0MDg3MDQ6MjYwLDMxNDU3MjgwOjY1Nzk2LDMyNTA1ODU2OjY3MTc0NDA0LDE3MzAxNTA0OjY3MTA4ODY0LDE4MzUwMDgwOjI2MCwxOTM5ODY1Njo2NzE3NDY1NiwyMDQ0NzIzMjowLDIxNDk1ODA4OjY1NTQwLDIyNTQ0Mzg0OjY3MTA5MTIwLDIzNTkyOTYwOjI1NiwyNDY0MTUzNjo2NzE3NDQwNCwyNTY5MDExMjo2NTUzNiwyNjczODY4ODo2NzE3NDY2MCwyNzc4NzI2NDo2NTc5NiwyODgzNTg0MDo2NzEwODg2OCwyOTg4NDQxNjo2NzEwOTEyNCwzMDkzMjk5Mjo2NzE3NDQwMCwzMTk4MTU2ODo0LDMzMDMwMTQ0OjY1NzkyfSx7MDoyMTUxNjgyMDQ4LDY1NTM2OjIxNDc0ODc4MDgsMTMxMDcyOjQxOTg0NjQsMTk2NjA4OjIxNTE2Nzc5NTIsMjYyMTQ0OjAsMzI3NjgwOjQxOTg0MDAsMzkzMjE2OjIxNDc0ODM3MTIsNDU4NzUyOjQxOTQzNjgsNTI0Mjg4OjIxNDc0ODM2NDgsNTg5ODI0OjQxOTQzMDQsNjU1MzYwOjY0LDcyMDg5NjoyMTQ3NDg3NzQ0LDc4NjQzMjoyMTUxNjc4MDE2LDg1MTk2ODo0MTYwLDkxNzUwNDo0MDk2LDk4MzA0MDoyMTUxNjgyMTEyLDMyNzY4OjIxNDc0ODc4MDgsOTgzMDQ6NjQsMTYzODQwOjIxNTE2NzgwMTYsMjI5Mzc2OjIxNDc0ODc3NDQsMjk0OTEyOjQxOTg0MDAsMzYwNDQ4OjIxNTE2ODIxMTIsNDI1OTg0OjAsNDkxNTIwOjIxNTE2Nzc5NTIsNTU3MDU2OjQwOTYsNjIyNTkyOjIxNTE2ODIwNDgsNjg4MTI4OjQxOTQzMDQsNzUzNjY0OjQxNjAsODE5MjAwOjIxNDc0ODM2NDgsODg0NzM2OjQxOTQzNjgsOTUwMjcyOjQxOTg0NjQsMTAxNTgwODoyMTQ3NDgzNzEyLDEwNDg1NzY6NDE5NDM2OCwxMTE0MTEyOjQxOTg0MDAsMTE3OTY0ODoyMTQ3NDgzNzEyLDEyNDUxODQ6MCwxMzEwNzIwOjQxNjAsMTM3NjI1NjoyMTUxNjc4MDE2LDE0NDE3OTI6MjE1MTY4MjA0OCwxNTA3MzI4OjIxNDc0ODc4MDgsMTU3Mjg2NDoyMTUxNjgyMTEyLDE2Mzg0MDA6MjE0NzQ4MzY0OCwxNzAzOTM2OjIxNTE2Nzc5NTIsMTc2OTQ3Mjo0MTk4NDY0LDE4MzUwMDg6MjE0NzQ4Nzc0NCwxOTAwNTQ0OjQxOTQzMDQsMTk2NjA4MDo2NCwyMDMxNjE2OjQwOTYsMTA4MTM0NDoyMTUxNjc3OTUyLDExNDY4ODA6MjE1MTY4MjExMiwxMjEyNDE2OjAsMTI3Nzk1Mjo0MTk4NDAwLDEzNDM0ODg6NDE5NDM2OCwxNDA5MDI0OjIxNDc0ODM2NDgsMTQ3NDU2MDoyMTQ3NDg3ODA4LDE1NDAwOTY6NjQsMTYwNTYzMjoyMTQ3NDgzNzEyLDE2NzExNjg6NDA5NiwxNzM2NzA0OjIxNDc0ODc3NDQsMTgwMjI0MDoyMTUxNjc4MDE2LDE4Njc3NzY6NDE2MCwxOTMzMzEyOjIxNTE2ODIwNDgsMTk5ODg0ODo0MTk0MzA0LDIwNjQzODQ6NDE5ODQ2NH0sezA6MTI4LDQwOTY6MTcwMzkzNjAsODE5MjoyNjIxNDQsMTIyODg6NTM2ODcwOTEyLDE2Mzg0OjUzNzEzMzE4NCwyMDQ4MDoxNjc3NzM0NCwyNDU3Njo1NTM2NDgyNTYsMjg2NzI6MjYyMjcyLDMyNzY4OjE2Nzc3MjE2LDM2ODY0OjUzNzEzMzA1Niw0MDk2MDo1MzY4NzEwNDAsNDUwNTY6NTUzOTEwNDAwLDQ5MTUyOjU1MzkxMDI3Miw1MzI0ODowLDU3MzQ0OjE3MDM5NDg4LDYxNDQwOjU1MzY0ODEyOCwyMDQ4OjE3MDM5NDg4LDYxNDQ6NTUzNjQ4MjU2LDEwMjQwOjEyOCwxNDMzNjoxNzAzOTM2MCwxODQzMjoyNjIxNDQsMjI1Mjg6NTM3MTMzMTg0LDI2NjI0OjU1MzkxMDI3MiwzMDcyMDo1MzY4NzA5MTIsMzQ4MTY6NTM3MTMzMDU2LDM4OTEyOjAsNDMwMDg6NTUzOTEwNDAwLDQ3MTA0OjE2Nzc3MzQ0LDUxMjAwOjUzNjg3MTA0MCw1NTI5Njo1NTM2NDgxMjgsNTkzOTI6MTY3NzcyMTYsNjM0ODg6MjYyMjcyLDY1NTM2OjI2MjE0NCw2OTYzMjoxMjgsNzM3Mjg6NTM2ODcwOTEyLDc3ODI0OjU1MzY0ODI1Niw4MTkyMDoxNjc3NzM0NCw4NjAxNjo1NTM5MTAyNzIsOTAxMTI6NTM3MTMzMTg0LDk0MjA4OjE2Nzc3MjE2LDk4MzA0OjU1MzkxMDQwMCwxMDI0MDA6NTUzNjQ4MTI4LDEwNjQ5NjoxNzAzOTM2MCwxMTA1OTI6NTM3MTMzMDU2LDExNDY4ODoyNjIyNzIsMTE4Nzg0OjUzNjg3MTA0MCwxMjI4ODA6MCwxMjY5NzY6MTcwMzk0ODgsNjc1ODQ6NTUzNjQ4MjU2LDcxNjgwOjE2Nzc3MjE2LDc1Nzc2OjE3MDM5MzYwLDc5ODcyOjUzNzEzMzE4NCw4Mzk2ODo1MzY4NzA5MTIsODgwNjQ6MTcwMzk0ODgsOTIxNjA6MTI4LDk2MjU2OjU1MzkxMDI3MiwxMDAzNTI6MjYyMjcyLDEwNDQ0ODo1NTM5MTA0MDAsMTA4NTQ0OjAsMTEyNjQwOjU1MzY0ODEyOCwxMTY3MzY6MTY3NzczNDQsMTIwODMyOjI2MjE0NCwxMjQ5Mjg6NTM3MTMzMDU2LDEyOTAyNDo1MzY4NzEwNDB9LHswOjI2ODQzNTQ2NCwyNTY6ODE5Miw1MTI6MjcwNTMyNjA4LDc2ODoyNzA1NDA4MDgsMTAyNDoyNjg0NDM2NDgsMTI4MDoyMDk3MTUyLDE1MzY6MjA5NzE2MCwxNzkyOjI2ODQzNTQ1NiwyMDQ4OjAsMjMwNDoyNjg0NDM2NTYsMjU2MDoyMTA1MzQ0LDI4MTY6OCwzMDcyOjI3MDUzMjYxNiwzMzI4OjIxMDUzNTIsMzU4NDo4MjAwLDM4NDA6MjcwNTQwODAwLDEyODoyNzA1MzI2MDgsMzg0OjI3MDU0MDgwOCw2NDA6OCw4OTY6MjA5NzE1MiwxMTUyOjIxMDUzNTIsMTQwODoyNjg0MzU0NjQsMTY2NDoyNjg0NDM2NDgsMTkyMDo4MjAwLDIxNzY6MjA5NzE2MCwyNDMyOjgxOTIsMjY4ODoyNjg0NDM2NTYsMjk0NDoyNzA1MzI2MTYsMzIwMDowLDM0NTY6MjcwNTQwODAwLDM3MTI6MjEwNTM0NCwzOTY4OjI2ODQzNTQ1Niw0MDk2OjI2ODQ0MzY0OCw0MzUyOjI3MDUzMjYxNiw0NjA4OjI3MDU0MDgwOCw0ODY0OjgyMDAsNTEyMDoyMDk3MTUyLDUzNzY6MjY4NDM1NDU2LDU2MzI6MjY4NDM1NDY0LDU4ODg6MjEwNTM0NCw2MTQ0OjIxMDUzNTIsNjQwMDowLDY2NTY6OCw2OTEyOjI3MDUzMjYwOCw3MTY4OjgxOTIsNzQyNDoyNjg0NDM2NTYsNzY4MDoyNzA1NDA4MDAsNzkzNjoyMDk3MTYwLDQyMjQ6OCw0NDgwOjIxMDUzNDQsNDczNjoyMDk3MTUyLDQ5OTI6MjY4NDM1NDY0LDUyNDg6MjY4NDQzNjQ4LDU1MDQ6ODIwMCw1NzYwOjI3MDU0MDgwOCw2MDE2OjI3MDUzMjYwOCw2MjcyOjI3MDU0MDgwMCw2NTI4OjI3MDUzMjYxNiw2Nzg0OjgxOTIsNzA0MDoyMTA1MzUyLDcyOTY6MjA5NzE2MCw3NTUyOjAsNzgwODoyNjg0MzU0NTYsODA2NDoyNjg0NDM2NTZ9LHswOjEwNDg1NzYsMTY6MzM1NTU0NTcsMzI6MTAyNCw0ODoxMDQ5NjAxLDY0OjM0NjA0MDMzLDgwOjAsOTY6MSwxMTI6MzQ2MDMwMDksMTI4OjMzNTU1NDU2LDE0NDoxMDQ4NTc3LDE2MDozMzU1NDQzMywxNzY6MzQ2MDQwMzIsMTkyOjM0NjAzMDA4LDIwODoxMDI1LDIyNDoxMDQ5NjAwLDI0MDozMzU1NDQzMiw4OjM0NjAzMDA5LDI0OjAsNDA6MzM1NTU0NTcsNTY6MzQ2MDQwMzIsNzI6MTA0ODU3Niw4ODozMzU1NDQzMywxMDQ6MzM1NTQ0MzIsMTIwOjEwMjUsMTM2OjEwNDk2MDEsMTUyOjMzNTU1NDU2LDE2ODozNDYwMzAwOCwxODQ6MTA0ODU3NywyMDA6MTAyNCwyMTY6MzQ2MDQwMzMsMjMyOjEsMjQ4OjEwNDk2MDAsMjU2OjMzNTU0NDMyLDI3MjoxMDQ4NTc2LDI4ODozMzU1NTQ1NywzMDQ6MzQ2MDMwMDksMzIwOjEwNDg1NzcsMzM2OjMzNTU1NDU2LDM1MjozNDYwNDAzMiwzNjg6MTA0OTYwMSwzODQ6MTAyNSw0MDA6MzQ2MDQwMzMsNDE2OjEwNDk2MDAsNDMyOjEsNDQ4OjAsNDY0OjM0NjAzMDA4LDQ4MDozMzU1NDQzMyw0OTY6MTAyNCwyNjQ6MTA0OTYwMCwyODA6MzM1NTU0NTcsMjk2OjM0NjAzMDA5LDMxMjoxLDMyODozMzU1NDQzMiwzNDQ6MTA0ODU3NiwzNjA6MTAyNSwzNzY6MzQ2MDQwMzIsMzkyOjMzNTU0NDMzLDQwODozNDYwMzAwOCw0MjQ6MCw0NDA6MzQ2MDQwMzMsNDU2OjEwNDk2MDEsNDcyOjEwMjQsNDg4OjMzNTU1NDU2LDUwNDoxMDQ4NTc3fSx7MDoxMzQyMTk4MDgsMToxMzEwNzIsMjoxMzQyMTc3MjgsMzozMiw0OjEzMTEwNCw1OjEzNDM1MDg4MCw2OjEzNDM1MDg0OCw3OjIwNDgsODoxMzQzNDg4MDAsOToxMzQyMTk3NzYsMTA6MTMzMTIwLDExOjEzNDM0ODgzMiwxMjoyMDgwLDEzOjAsMTQ6MTM0MjE3NzYwLDE1OjEzMzE1MiwyMTQ3NDgzNjQ4OjIwNDgsMjE0NzQ4MzY0OToxMzQzNTA4ODAsMjE0NzQ4MzY1MDoxMzQyMTk4MDgsMjE0NzQ4MzY1MToxMzQyMTc3MjgsMjE0NzQ4MzY1MjoxMzQzNDg4MDAsMjE0NzQ4MzY1MzoxMzMxMjAsMjE0NzQ4MzY1NDoxMzMxNTIsMjE0NzQ4MzY1NTozMiwyMTQ3NDgzNjU2OjEzNDIxNzc2MCwyMTQ3NDgzNjU3OjIwODAsMjE0NzQ4MzY1ODoxMzExMDQsMjE0NzQ4MzY1OToxMzQzNTA4NDgsMjE0NzQ4MzY2MDowLDIxNDc0ODM2NjE6MTM0MzQ4ODMyLDIxNDc0ODM2NjI6MTM0MjE5Nzc2LDIxNDc0ODM2NjM6MTMxMDcyLDE2OjEzMzE1MiwxNzoxMzQzNTA4NDgsMTg6MzIsMTk6MjA0OCwyMDoxMzQyMTk3NzYsMjE6MTM0MjE3NzYwLDIyOjEzNDM0ODgzMiwyMzoxMzEwNzIsMjQ6MCwyNToxMzExMDQsMjY6MTM0MzQ4ODAwLDI3OjEzNDIxOTgwOCwyODoxMzQzNTA4ODAsMjk6MTMzMTIwLDMwOjIwODAsMzE6MTM0MjE3NzI4LDIxNDc0ODM2NjQ6MTMxMDcyLDIxNDc0ODM2NjU6MjA0OCwyMTQ3NDgzNjY2OjEzNDM0ODgzMiwyMTQ3NDgzNjY3OjEzMzE1MiwyMTQ3NDgzNjY4OjMyLDIxNDc0ODM2Njk6MTM0MzQ4ODAwLDIxNDc0ODM2NzA6MTM0MjE3NzI4LDIxNDc0ODM2NzE6MTM0MjE5ODA4LDIxNDc0ODM2NzI6MTM0MzUwODgwLDIxNDc0ODM2NzM6MTM0MjE3NzYwLDIxNDc0ODM2NzQ6MTM0MjE5Nzc2LDIxNDc0ODM2NzU6MCwyMTQ3NDgzNjc2OjEzMzEyMCwyMTQ3NDgzNjc3OjIwODAsMjE0NzQ4MzY3ODoxMzExMDQsMjE0NzQ4MzY3OToxMzQzNTA4NDh9XSx1PVs0MTYwNzQ5NTY5LDUyODQ4MjMwNCwzMzAzMDE0NCwyMDY0Mzg0LDEyOTAyNCw4MDY0LDUwNCwyMTQ3NDgzNjc5XSxkPWEuREVTPXMuZXh0ZW5kKHtfZG9SZXNldDpmdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLl9rZXkscj10LndvcmRzLGU9W10saT0wO2k8NTY7aSsrKXt2YXIgbj1jW2ldLTE7ZVtpXT1yW24+Pj41XT4+PjMxLW4lMzImMX1mb3IodmFyIG89dGhpcy5fc3ViS2V5cz1bXSxzPTA7czwxNjtzKyspe2Zvcih2YXIgYT1vW3NdPVtdLGY9bFtzXSxpPTA7aTwyNDtpKyspYVtpLzZ8MF18PWVbKGhbaV0tMStmKSUyOF08PDMxLWklNixhWzQrKGkvNnwwKV18PWVbMjgrKGhbaSsyNF0tMStmKSUyOF08PDMxLWklNjthWzBdPWFbMF08PDF8YVswXT4+PjMxO2Zvcih2YXIgaT0xO2k8NztpKyspYVtpXT1hW2ldPj4+NCooaS0xKSszO2FbN109YVs3XTw8NXxhWzddPj4+Mjd9Zm9yKHZhciB1PXRoaXMuX2ludlN1YktleXM9W10saT0wO2k8MTY7aSsrKXVbaV09b1sxNS1pXX0sZW5jcnlwdEJsb2NrOmZ1bmN0aW9uKHQscil7dGhpcy5fZG9DcnlwdEJsb2NrKHQscix0aGlzLl9zdWJLZXlzKX0sZGVjcnlwdEJsb2NrOmZ1bmN0aW9uKHQscil7dGhpcy5fZG9DcnlwdEJsb2NrKHQscix0aGlzLl9pbnZTdWJLZXlzKX0sX2RvQ3J5cHRCbG9jazpmdW5jdGlvbih0LGksbil7dGhpcy5fbEJsb2NrPXRbaV0sdGhpcy5fckJsb2NrPXRbaSsxXSxyLmNhbGwodGhpcyw0LDI1MjY0NTEzNSksci5jYWxsKHRoaXMsMTYsNjU1MzUpLGUuY2FsbCh0aGlzLDIsODU4OTkzNDU5KSxlLmNhbGwodGhpcyw4LDE2NzExOTM1KSxyLmNhbGwodGhpcywxLDE0MzE2NTU3NjUpO2Zvcih2YXIgbz0wO288MTY7bysrKXtmb3IodmFyIHM9bltvXSxhPXRoaXMuX2xCbG9jayxjPXRoaXMuX3JCbG9jayxoPTAsbD0wO2w8ODtsKyspaHw9ZltsXVsoKGNec1tsXSkmdVtsXSk+Pj4wXTt0aGlzLl9sQmxvY2s9Yyx0aGlzLl9yQmxvY2s9YV5ofXZhciBkPXRoaXMuX2xCbG9jazt0aGlzLl9sQmxvY2s9dGhpcy5fckJsb2NrLHRoaXMuX3JCbG9jaz1kLHIuY2FsbCh0aGlzLDEsMTQzMTY1NTc2NSksZS5jYWxsKHRoaXMsOCwxNjcxMTkzNSksZS5jYWxsKHRoaXMsMiw4NTg5OTM0NTkpLHIuY2FsbCh0aGlzLDE2LDY1NTM1KSxyLmNhbGwodGhpcyw0LDI1MjY0NTEzNSksdFtpXT10aGlzLl9sQmxvY2ssdFtpKzFdPXRoaXMuX3JCbG9ja30sa2V5U2l6ZToyLGl2U2l6ZToyLGJsb2NrU2l6ZToyfSk7aS5ERVM9cy5fY3JlYXRlSGVscGVyKGQpO3ZhciB2PWEuVHJpcGxlREVTPXMuZXh0ZW5kKHtfZG9SZXNldDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2tleSxyPXQud29yZHM7dGhpcy5fZGVzMT1kLmNyZWF0ZUVuY3J5cHRvcihvLmNyZWF0ZShyLnNsaWNlKDAsMikpKSx0aGlzLl9kZXMyPWQuY3JlYXRlRW5jcnlwdG9yKG8uY3JlYXRlKHIuc2xpY2UoMiw0KSkpLHRoaXMuX2RlczM9ZC5jcmVhdGVFbmNyeXB0b3Ioby5jcmVhdGUoci5zbGljZSg0LDYpKSl9LGVuY3J5cHRCbG9jazpmdW5jdGlvbih0LHIpe3RoaXMuX2RlczEuZW5jcnlwdEJsb2NrKHQsciksdGhpcy5fZGVzMi5kZWNyeXB0QmxvY2sodCxyKSx0aGlzLl9kZXMzLmVuY3J5cHRCbG9jayh0LHIpfSxkZWNyeXB0QmxvY2s6ZnVuY3Rpb24odCxyKXt0aGlzLl9kZXMzLmRlY3J5cHRCbG9jayh0LHIpLHRoaXMuX2RlczIuZW5jcnlwdEJsb2NrKHQsciksdGhpcy5fZGVzMS5kZWNyeXB0QmxvY2sodCxyKX0sa2V5U2l6ZTo2LGl2U2l6ZToyLGJsb2NrU2l6ZToyfSk7aS5UcmlwbGVERVM9cy5fY3JlYXRlSGVscGVyKHYpfSgpLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gcigpe2Zvcih2YXIgdD10aGlzLl9TLHI9dGhpcy5faSxlPXRoaXMuX2osaT0wLG49MDtuPDQ7bisrKXtyPShyKzEpJTI1NixlPShlK3Rbcl0pJTI1Njt2YXIgbz10W3JdO3Rbcl09dFtlXSx0W2VdPW8saXw9dFsodFtyXSt0W2VdKSUyNTZdPDwyNC04Km59cmV0dXJuIHRoaXMuX2k9cix0aGlzLl9qPWUsaX12YXIgZT10LGk9ZS5saWIsbj1pLlN0cmVhbUNpcGhlcixvPWUuYWxnbyxzPW8uUkM0PW4uZXh0ZW5kKHtfZG9SZXNldDpmdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLl9rZXkscj10LndvcmRzLGU9dC5zaWdCeXRlcyxpPXRoaXMuX1M9W10sbj0wO248MjU2O24rKylpW25dPW47Zm9yKHZhciBuPTAsbz0wO248MjU2O24rKyl7dmFyIHM9biVlLGE9cltzPj4+Ml0+Pj4yNC1zJTQqOCYyNTU7bz0obytpW25dK2EpJTI1Njt2YXIgYz1pW25dO2lbbl09aVtvXSxpW29dPWN9dGhpcy5faT10aGlzLl9qPTB9LF9kb1Byb2Nlc3NCbG9jazpmdW5jdGlvbih0LGUpe3RbZV1ePXIuY2FsbCh0aGlzKX0sa2V5U2l6ZTo4LGl2U2l6ZTowfSk7ZS5SQzQ9bi5fY3JlYXRlSGVscGVyKHMpO3ZhciBhPW8uUkM0RHJvcD1zLmV4dGVuZCh7Y2ZnOnMuY2ZnLmV4dGVuZCh7ZHJvcDoxOTJ9KSxfZG9SZXNldDpmdW5jdGlvbigpe3MuX2RvUmVzZXQuY2FsbCh0aGlzKTtmb3IodmFyIHQ9dGhpcy5jZmcuZHJvcDt0PjA7dC0tKXIuY2FsbCh0aGlzKX19KTtlLlJDNERyb3A9bi5fY3JlYXRlSGVscGVyKGEpfSgpLHQubW9kZS5DVFJHbGFkbWFuPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcih0KXtpZigyNTU9PT0odD4+MjQmMjU1KSl7dmFyIHI9dD4+MTYmMjU1LGU9dD4+OCYyNTUsaT0yNTUmdDsyNTU9PT1yPyhyPTAsMjU1PT09ZT8oZT0wLDI1NT09PWk/aT0wOisraSk6KytlKTorK3IsdD0wLHQrPXI8PDE2LHQrPWU8PDgsdCs9aX1lbHNlIHQrPTE8PDI0O3JldHVybiB0fWZ1bmN0aW9uIGUodCl7cmV0dXJuIDA9PT0odFswXT1yKHRbMF0pKSYmKHRbMV09cih0WzFdKSksdH12YXIgaT10LmxpYi5CbG9ja0NpcGhlck1vZGUuZXh0ZW5kKCksbj1pLkVuY3J5cHRvcj1pLmV4dGVuZCh7cHJvY2Vzc0Jsb2NrOmZ1bmN0aW9uKHQscil7dmFyIGk9dGhpcy5fY2lwaGVyLG49aS5ibG9ja1NpemUsbz10aGlzLl9pdixzPXRoaXMuX2NvdW50ZXI7byYmKHM9dGhpcy5fY291bnRlcj1vLnNsaWNlKDApLHRoaXMuX2l2PXZvaWQgMCksZShzKTt2YXIgYT1zLnNsaWNlKDApO2kuZW5jcnlwdEJsb2NrKGEsMCk7Zm9yKHZhciBjPTA7YzxuO2MrKyl0W3IrY11ePWFbY119fSk7cmV0dXJuIGkuRGVjcnlwdG9yPW4saX0oKSxmdW5jdGlvbigpe2Z1bmN0aW9uIHIoKXtmb3IodmFyIHQ9dGhpcy5fWCxyPXRoaXMuX0MsZT0wO2U8ODtlKyspYVtlXT1yW2VdO3JbMF09clswXSsxMjk1MzA3NTk3K3RoaXMuX2J8MCxyWzFdPXJbMV0rMzU0NTA1MjM3MSsoclswXT4+PjA8YVswXT4+PjA/MTowKXwwLHJbMl09clsyXSs4ODYyNjMwOTIrKHJbMV0+Pj4wPGFbMV0+Pj4wPzE6MCl8MCxyWzNdPXJbM10rMTI5NTMwNzU5NysoclsyXT4+PjA8YVsyXT4+PjA/MTowKXwwLHJbNF09cls0XSszNTQ1MDUyMzcxKyhyWzNdPj4+MDxhWzNdPj4+MD8xOjApfDAscls1XT1yWzVdKzg4NjI2MzA5Misocls0XT4+PjA8YVs0XT4+PjA/MTowKXwwLHJbNl09cls2XSsxMjk1MzA3NTk3KyhyWzVdPj4+MDxhWzVdPj4+MD8xOjApfDAscls3XT1yWzddKzM1NDUwNTIzNzErKHJbNl0+Pj4wPGFbNl0+Pj4wPzE6MCl8MCx0aGlzLl9iPXJbN10+Pj4wPGFbN10+Pj4wPzE6MDtmb3IodmFyIGU9MDtlPDg7ZSsrKXt2YXIgaT10W2VdK3JbZV0sbj02NTUzNSZpLG89aT4+PjE2LHM9KChuKm4+Pj4xNykrbipvPj4+MTUpK28qbyxoPSgoNDI5NDkwMTc2MCZpKSppfDApKygoNjU1MzUmaSkqaXwwKTtjW2VdPXNeaH10WzBdPWNbMF0rKGNbN108PDE2fGNbN10+Pj4xNikrKGNbNl08PDE2fGNbNl0+Pj4xNil8MCx0WzFdPWNbMV0rKGNbMF08PDh8Y1swXT4+PjI0KStjWzddfDAsdFsyXT1jWzJdKyhjWzFdPDwxNnxjWzFdPj4+MTYpKyhjWzBdPDwxNnxjWzBdPj4+MTYpfDAsdFszXT1jWzNdKyhjWzJdPDw4fGNbMl0+Pj4yNCkrY1sxXXwwLHRbNF09Y1s0XSsoY1szXTw8MTZ8Y1szXT4+PjE2KSsoY1syXTw8MTZ8Y1syXT4+PjE2KXwwLHRbNV09Y1s1XSsoY1s0XTw8OHxjWzRdPj4+MjQpK2NbM118MCx0WzZdPWNbNl0rKGNbNV08PDE2fGNbNV0+Pj4xNikrKGNbNF08PDE2fGNbNF0+Pj4xNil8MCx0WzddPWNbN10rKGNbNl08PDh8Y1s2XT4+PjI0KStjWzVdfDB9dmFyIGU9dCxpPWUubGliLG49aS5TdHJlYW1DaXBoZXIsbz1lLmFsZ28scz1bXSxhPVtdLGM9W10saD1vLlJhYmJpdD1uLmV4dGVuZCh7X2RvUmVzZXQ6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5fa2V5LndvcmRzLGU9dGhpcy5jZmcuaXYsaT0wO2k8NDtpKyspdFtpXT0xNjcxMTkzNSYodFtpXTw8OHx0W2ldPj4+MjQpfDQyNzgyNTUzNjAmKHRbaV08PDI0fHRbaV0+Pj44KTt2YXIgbj10aGlzLl9YPVt0WzBdLHRbM108PDE2fHRbMl0+Pj4xNix0WzFdLHRbMF08PDE2fHRbM10+Pj4xNix0WzJdLHRbMV08PDE2fHRbMF0+Pj4xNix0WzNdLHRbMl08PDE2fHRbMV0+Pj4xNl0sbz10aGlzLl9DPVt0WzJdPDwxNnx0WzJdPj4+MTYsNDI5NDkwMTc2MCZ0WzBdfDY1NTM1JnRbMV0sdFszXTw8MTZ8dFszXT4+PjE2LDQyOTQ5MDE3NjAmdFsxXXw2NTUzNSZ0WzJdLHRbMF08PDE2fHRbMF0+Pj4xNiw0Mjk0OTAxNzYwJnRbMl18NjU1MzUmdFszXSx0WzFdPDwxNnx0WzFdPj4+MTYsNDI5NDkwMTc2MCZ0WzNdfDY1NTM1JnRbMF1dO3RoaXMuX2I9MDtmb3IodmFyIGk9MDtpPDQ7aSsrKXIuY2FsbCh0aGlzKTtmb3IodmFyIGk9MDtpPDg7aSsrKW9baV1ePW5baSs0JjddO2lmKGUpe3ZhciBzPWUud29yZHMsYT1zWzBdLGM9c1sxXSxoPTE2NzExOTM1JihhPDw4fGE+Pj4yNCl8NDI3ODI1NTM2MCYoYTw8MjR8YT4+PjgpLGw9MTY3MTE5MzUmKGM8PDh8Yz4+PjI0KXw0Mjc4MjU1MzYwJihjPDwyNHxjPj4+OCksZj1oPj4+MTZ8NDI5NDkwMTc2MCZsLHU9bDw8MTZ8NjU1MzUmaDtvWzBdXj1oLG9bMV1ePWYsb1syXV49bCxvWzNdXj11LG9bNF1ePWgsb1s1XV49ZixvWzZdXj1sLG9bN11ePXU7Zm9yKHZhciBpPTA7aTw0O2krKylyLmNhbGwodGhpcyl9fSxfZG9Qcm9jZXNzQmxvY2s6ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLl9YO3IuY2FsbCh0aGlzKSxzWzBdPWlbMF1eaVs1XT4+PjE2XmlbM108PDE2LHNbMV09aVsyXV5pWzddPj4+MTZeaVs1XTw8MTYsc1syXT1pWzRdXmlbMV0+Pj4xNl5pWzddPDwxNixzWzNdPWlbNl1eaVszXT4+PjE2XmlbMV08PDE2O2Zvcih2YXIgbj0wO248NDtuKyspc1tuXT0xNjcxMTkzNSYoc1tuXTw8OHxzW25dPj4+MjQpfDQyNzgyNTUzNjAmKHNbbl08PDI0fHNbbl0+Pj44KSx0W2Urbl1ePXNbbl19LGJsb2NrU2l6ZTo0LGl2U2l6ZToyfSk7ZS5SYWJiaXQ9bi5fY3JlYXRlSGVscGVyKGgpfSgpLHQubW9kZS5DVFI9ZnVuY3Rpb24oKXt2YXIgcj10LmxpYi5CbG9ja0NpcGhlck1vZGUuZXh0ZW5kKCksZT1yLkVuY3J5cHRvcj1yLmV4dGVuZCh7cHJvY2Vzc0Jsb2NrOmZ1bmN0aW9uKHQscil7dmFyIGU9dGhpcy5fY2lwaGVyLGk9ZS5ibG9ja1NpemUsbj10aGlzLl9pdixvPXRoaXMuX2NvdW50ZXI7biYmKG89dGhpcy5fY291bnRlcj1uLnNsaWNlKDApLHRoaXMuX2l2PXZvaWQgMCk7dmFyIHM9by5zbGljZSgwKTtlLmVuY3J5cHRCbG9jayhzLDApLG9baS0xXT1vW2ktMV0rMXwwO2Zvcih2YXIgYT0wO2E8aTthKyspdFtyK2FdXj1zW2FdfX0pO3JldHVybiByLkRlY3J5cHRvcj1lLHJ9KCksZnVuY3Rpb24oKXtmdW5jdGlvbiByKCl7Zm9yKHZhciB0PXRoaXMuX1gscj10aGlzLl9DLGU9MDtlPDg7ZSsrKWFbZV09cltlXTtyWzBdPXJbMF0rMTI5NTMwNzU5Nyt0aGlzLl9ifDAsclsxXT1yWzFdKzM1NDUwNTIzNzErKHJbMF0+Pj4wPGFbMF0+Pj4wPzE6MCl8MCxyWzJdPXJbMl0rODg2MjYzMDkyKyhyWzFdPj4+MDxhWzFdPj4+MD8xOjApfDAsclszXT1yWzNdKzEyOTUzMDc1OTcrKHJbMl0+Pj4wPGFbMl0+Pj4wPzE6MCl8MCxyWzRdPXJbNF0rMzU0NTA1MjM3MSsoclszXT4+PjA8YVszXT4+PjA/MTowKXwwLHJbNV09cls1XSs4ODYyNjMwOTIrKHJbNF0+Pj4wPGFbNF0+Pj4wPzE6MCl8MCxyWzZdPXJbNl0rMTI5NTMwNzU5Nysocls1XT4+PjA8YVs1XT4+PjA/MTowKXwwLHJbN109cls3XSszNTQ1MDUyMzcxKyhyWzZdPj4+MDxhWzZdPj4+MD8xOjApfDAsdGhpcy5fYj1yWzddPj4+MDxhWzddPj4+MD8xOjA7Zm9yKHZhciBlPTA7ZTw4O2UrKyl7dmFyIGk9dFtlXStyW2VdLG49NjU1MzUmaSxvPWk+Pj4xNixzPSgobipuPj4+MTcpK24qbz4+PjE1KStvKm8saD0oKDQyOTQ5MDE3NjAmaSkqaXwwKSsoKDY1NTM1JmkpKml8MCk7Y1tlXT1zXmh9dFswXT1jWzBdKyhjWzddPDwxNnxjWzddPj4+MTYpKyhjWzZdPDwxNnxjWzZdPj4+MTYpfDAsdFsxXT1jWzFdKyhjWzBdPDw4fGNbMF0+Pj4yNCkrY1s3XXwwLHRbMl09Y1syXSsoY1sxXTw8MTZ8Y1sxXT4+PjE2KSsoY1swXTw8MTZ8Y1swXT4+PjE2KXwwLHRbM109Y1szXSsoY1syXTw8OHxjWzJdPj4+MjQpK2NbMV18MCx0WzRdPWNbNF0rKGNbM108PDE2fGNbM10+Pj4xNikrKGNbMl08PDE2fGNbMl0+Pj4xNil8MCx0WzVdPWNbNV0rKGNbNF08PDh8Y1s0XT4+PjI0KStjWzNdfDAsdFs2XT1jWzZdKyhjWzVdPDwxNnxjWzVdPj4+MTYpKyhjWzRdPDwxNnxjWzRdPj4+MTYpfDAsdFs3XT1jWzddKyhjWzZdPDw4fGNbNl0+Pj4yNCkrY1s1XXwwfXZhciBlPXQsaT1lLmxpYixuPWkuU3RyZWFtQ2lwaGVyLG89ZS5hbGdvLHM9W10sYT1bXSxjPVtdLGg9by5SYWJiaXRMZWdhY3k9bi5leHRlbmQoe19kb1Jlc2V0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fa2V5LndvcmRzLGU9dGhpcy5jZmcuaXYsaT10aGlzLl9YPVt0WzBdLHRbM108PDE2fHRbMl0+Pj4xNix0WzFdLHRbMF08PDE2fHRbM10+Pj4xNix0WzJdLHRbMV08PDE2fHRbMF0+Pj4xNix0WzNdLHRbMl08PDE2fHRbMV0+Pj4xNl0sbj10aGlzLl9DPVt0WzJdPDwxNnx0WzJdPj4+MTYsNDI5NDkwMTc2MCZ0WzBdfDY1NTM1JnRbMV0sdFszXTw8MTZ8dFszXT4+PjE2LDQyOTQ5MDE3NjAmdFsxXXw2NTUzNSZ0WzJdLHRbMF08PDE2fHRbMF0+Pj4xNiw0Mjk0OTAxNzYwJnRbMl18NjU1MzUmdFszXSx0WzFdPDwxNnx0WzFdPj4+MTYsNDI5NDkwMTc2MCZ0WzNdfDY1NTM1JnRbMF1dO3RoaXMuX2I9MDtmb3IodmFyIG89MDtvPDQ7bysrKXIuY2FsbCh0aGlzKTtmb3IodmFyIG89MDtvPDg7bysrKW5bb11ePWlbbys0JjddO2lmKGUpe3ZhciBzPWUud29yZHMsYT1zWzBdLGM9c1sxXSxoPTE2NzExOTM1JihhPDw4fGE+Pj4yNCl8NDI3ODI1NTM2MCYoYTw8MjR8YT4+PjgpLGw9MTY3MTE5MzUmKGM8PDh8Yz4+PjI0KXw0Mjc4MjU1MzYwJihjPDwyNHxjPj4+OCksZj1oPj4+MTZ8NDI5NDkwMTc2MCZsLHU9bDw8MTZ8NjU1MzUmaDtuWzBdXj1oLG5bMV1ePWYsblsyXV49bCxuWzNdXj11LG5bNF1ePWgsbls1XV49ZixuWzZdXj1sLG5bN11ePXU7Zm9yKHZhciBvPTA7bzw0O28rKylyLmNhbGwodGhpcyl9fSxfZG9Qcm9jZXNzQmxvY2s6ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLl9YO3IuY2FsbCh0aGlzKSxzWzBdPWlbMF1eaVs1XT4+PjE2XmlbM108PDE2LHNbMV09aVsyXV5pWzddPj4+MTZeaVs1XTw8MTYsc1syXT1pWzRdXmlbMV0+Pj4xNl5pWzddPDwxNixzWzNdPWlbNl1eaVszXT4+PjE2XmlbMV08PDE2O2Zvcih2YXIgbj0wO248NDtuKyspc1tuXT0xNjcxMTkzNSYoc1tuXTw8OHxzW25dPj4+MjQpfDQyNzgyNTUzNjAmKHNbbl08PDI0fHNbbl0+Pj44KSx0W2Urbl1ePXNbbl19LGJsb2NrU2l6ZTo0LGl2U2l6ZToyfSk7ZS5SYWJiaXRMZWdhY3k9bi5fY3JlYXRlSGVscGVyKGgpfSgpLHQucGFkLlplcm9QYWRkaW5nPXtwYWQ6ZnVuY3Rpb24odCxyKXt2YXIgZT00KnI7dC5jbGFtcCgpLHQuc2lnQnl0ZXMrPWUtKHQuc2lnQnl0ZXMlZXx8ZSl9LHVucGFkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgcj10LndvcmRzLGU9dC5zaWdCeXRlcy0xOyEocltlPj4+Ml0+Pj4yNC1lJTQqOCYyNTUpOyllLS07dC5zaWdCeXRlcz1lKzF9fSx0fSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jcnlwdG8tanMubWluLmpzLm1hcCJdfQ== +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/module/RankList/ItemRender.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, 'ca0f9k0oBVDbpQC+OMNTF3m', 'ItemRender'); +// Script/module/RankList/ItemRender.ts + +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +var ItemRender = /** @class */ (function (_super) { + __extends(ItemRender, _super); + function ItemRender() { + var _this = _super !== null && _super.apply(this, arguments) || this; + /**数据 */ + _this.data = null; + /**索引 0表示第一项*/ + _this.itemIndex = 0; + return _this; + } + /**数据改变时调用 */ + ItemRender.prototype.dataChanged = function () { + cc.fx.GameTool.subName(this.data.name, 6); + this.node.getChildByName("rankLab").getComponent(cc.Label).string = this.data.rank + ""; + this.node.getChildByName("nameLab").getComponent(cc.Label).string = this.data.name + ""; + this.node.getChildByName("totalLab").getComponent(cc.Label).string = this.data.total + ""; + this.node.getChildByName("rank").getChildByName("one").active = false; + this.node.getChildByName("rank").getChildByName("two").active = false; + this.node.getChildByName("rank").getChildByName("three").active = false; + if (this.data.rank == 1) { + this.node.getChildByName("rank").getChildByName("one").active = true; + this.node.getChildByName("rankLab").active = false; + } + else if (this.data.rank == 2) { + this.node.getChildByName("rank").getChildByName("two").active = true; + this.node.getChildByName("rankLab").active = false; + } + else if (this.data.rank == 3) { + this.node.getChildByName("rank").getChildByName("three").active = true; + this.node.getChildByName("rankLab").active = false; + } + else { + this.node.getChildByName("rankLab").active = true; + } + this.setPic(); + }; + ItemRender.prototype.setPic = function () { + var _this = this; + this.node.getChildByName("pic").getChildByName("icon").active = false; + this.node.getChildByName("pic").getChildByName("pic").active = false; + var self = this; + var url = this.data.pic; + fetch(url) + .then(function (response) { + return response.headers.get('Content-Length'); + }) + .then(function (errNo) { + // console.log(this.data.rank,'X-Info:', errNo); // 输出X-ErrNo的值 + if (errNo == "5093") { + // console.log(this.data.rank,"没头像"); + _this.node.getChildByName("pic").getChildByName("icon").active = true; + } + }) + .catch(function (error) { + console.error('Error fetching X-Info:', error); + }); + cc.assetManager.loadRemote(url, { ext: '.png' }, function (err, texture) { + if (texture) { + _this.node.getChildByName("pic").getChildByName("pic").active = true; + var sprite = _this.node.getChildByName("pic").getChildByName("pic").getComponent(cc.Sprite); + sprite.spriteFrame = new cc.SpriteFrame(texture); + // console.log(this.data.rank,"设置头像成功",err); + } + else { + // console.log("设置头像失败",url); + console.log(err, texture); + } + }); + }; + ItemRender = __decorate([ + ccclass + ], ItemRender); + return ItemRender; +}(cc.Component)); +exports.default = ItemRender; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFJhbmtMaXN0XFxJdGVtUmVuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdNLElBQUEsS0FBd0IsRUFBRSxDQUFDLFVBQVUsRUFBbkMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFrQixDQUFDO0FBRzVDO0lBQXdDLDhCQUFZO0lBQXBEO1FBQUEscUVBbUVDO1FBbEVHLFFBQVE7UUFDRCxVQUFJLEdBQU8sSUFBSSxDQUFDO1FBQ3ZCLGNBQWM7UUFDUCxlQUFTLEdBQVUsQ0FBQyxDQUFDOztJQStEaEMsQ0FBQztJQTdERyxhQUFhO0lBQ04sZ0NBQVcsR0FBbEI7UUFDSyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3hGLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN4RixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDMUYsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDdEUsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDdEUsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDeEUsSUFBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEVBQUM7WUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDckUsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztTQUN0RDthQUNJLElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxFQUFDO1lBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7U0FDdEQ7YUFDSSxJQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsRUFBQztZQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUN2RSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1NBQ3REO2FBQUk7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1NBQ3JEO1FBQ0QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFTSwyQkFBTSxHQUFiO1FBQUEsaUJBZ0NDO1FBL0JHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUUsS0FBSyxDQUFDO1FBQ3BFLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQixJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUN4QixLQUFLLENBQUMsR0FBRyxDQUFDO2FBQ1QsSUFBSSxDQUFDLFVBQUEsUUFBUTtZQUNWLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUM7YUFFRCxJQUFJLENBQUMsVUFBQSxLQUFLO1lBQ1AsK0RBQStEO1lBQy9ELElBQUcsS0FBSyxJQUFJLE1BQU0sRUFBQztnQkFDZixxQ0FBcUM7Z0JBQ3JDLEtBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2FBQ3hFO1FBQ0wsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLFVBQUEsS0FBSztZQUNSLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBQyxHQUFHLEVBQUMsTUFBTSxFQUFDLEVBQUMsVUFBQyxHQUFHLEVBQUUsT0FBb0I7WUFDbkUsSUFBRyxPQUFPLEVBQUM7Z0JBQ1AsS0FBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRSxJQUFJLENBQUM7Z0JBQ25FLElBQUksTUFBTSxHQUFHLEtBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMzRixNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDakQsNENBQTRDO2FBQy9DO2lCQUNHO2dCQUNBLDZCQUE2QjtnQkFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUMsT0FBTyxDQUFDLENBQUE7YUFDM0I7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFoRWdCLFVBQVU7UUFEOUIsT0FBTztPQUNhLFVBQVUsQ0FtRTlCO0lBQUQsaUJBQUM7Q0FuRUQsQUFtRUMsQ0FuRXVDLEVBQUUsQ0FBQyxTQUFTLEdBbUVuRDtrQkFuRW9CLFVBQVUiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IExpc3QsIHsgTGlzdFR5cGUgfSBmcm9tIFwiLi9MaXN0XCI7XHJcblxyXG5jb25zdCB7IGNjY2xhc3MsIHByb3BlcnR5IH0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSXRlbVJlbmRlciBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcbiAgICAvKirmlbDmja4gKi9cclxuICAgIHB1YmxpYyBkYXRhOmFueSA9IG51bGw7XHJcbiAgICAvKirntKLlvJUgMOihqOekuuesrOS4gOmhuSovXHJcbiAgICBwdWJsaWMgaXRlbUluZGV4Om51bWJlciA9IDA7XHJcblxyXG4gICAgLyoq5pWw5o2u5pS55Y+Y5pe26LCD55SoICovXHJcbiAgICBwdWJsaWMgZGF0YUNoYW5nZWQoKXtcclxuICAgICAgICAgY2MuZnguR2FtZVRvb2wuc3ViTmFtZSh0aGlzLmRhdGEubmFtZSw2KTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGhpcy5kYXRhLnJhbmsgKyBcIlwiO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIm5hbWVMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aGlzLmRhdGEubmFtZSArIFwiXCI7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidG90YWxMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aGlzLmRhdGEudG90YWwgKyBcIlwiO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidGhyZWVcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgaWYodGhpcy5kYXRhLnJhbmsgPT0gMSl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLmRhdGEucmFuayA9PSAyKXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMuZGF0YS5yYW5rID09IDMpe1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidGhyZWVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldFBpYygpO1xyXG4gICAgfSAgIFxyXG4gICAgXHJcbiAgICBwdWJsaWMgc2V0UGljKCl7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuYWN0aXZlPSBmYWxzZTtcclxuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgbGV0IHVybCA9IHRoaXMuZGF0YS5waWM7XHJcbiAgICAgICAgZmV0Y2godXJsKVxyXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LUxlbmd0aCcpO1xyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIC50aGVuKGVyck5vID0+IHtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLnJhbmssJ1gtSW5mbzonLCBlcnJObyk7IC8vIOi+k+WHulgtRXJyTm/nmoTlgLxcclxuICAgICAgICAgICAgaWYoZXJyTm8gPT0gXCI1MDkzXCIpe1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLnJhbmssXCLmsqHlpLTlg49cIik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIFgtSW5mbzonLCBlcnJvcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY2MuYXNzZXRNYW5hZ2VyLmxvYWRSZW1vdGUodXJsLCB7ZXh0OicucG5nJ30sKGVyciwgdGV4dHVyZTpjYy5UZXh0dXJlMkQpID0+IHtcclxuICAgICAgICAgICAgaWYodGV4dHVyZSl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuYWN0aXZlPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdmFyIHNwcml0ZSA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKTtcclxuICAgICAgICAgICAgICAgIHNwcml0ZS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuZGF0YS5yYW5rLFwi6K6+572u5aS05YOP5oiQ5YqfXCIsZXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLorr7nva7lpLTlg4/lpLHotKVcIix1cmwpO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyLHRleHR1cmUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuIl19 +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/module/Music/AudioManager.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '58403/n16JCa5sZhNMjZzGo', 'AudioManager'); +// Script/module/Music/AudioManager.ts + +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +var AudioManager = /** @class */ (function (_super) { + __extends(AudioManager, _super); + function AudioManager() { + var _this = _super !== null && _super.apply(this, arguments) || this; + //背景音乐 + _this.audioGameBgm0 = null; + //跳跃 + _this.audioButtonClick = null; + //落地上 + _this.audioWarning = null; + //碰撞 + _this.audioWin = null; + //落方块上 + _this.luodui = null; + return _this; + } + AudioManager_1 = AudioManager; + AudioManager.prototype.ctor = function () { + this.mAudioMap = {}; + /** + * 默认音量大小 + * @type {number} + */ + this.bgMusicVolume = 0.1; + this.effectMusicVolume = 1; + this.mMusicSwitch = 1; + this.mEffectSwitch = 1; + }; + AudioManager.prototype.play = function (audioSource, loop, callback, isBgMusic) { + if (isBgMusic && !this.mMusicSwitch) + return; + if (!isBgMusic && !this.mEffectSwitch) + return; + var volume = isBgMusic ? this.bgMusicVolume : this.effectMusicVolume; + if (cc.sys.isBrowser) { + if (audioSource == this.brickSound) { + volume = 0.1; + } + volume = 1; + var context = cc.audioEngine.play(audioSource, loop, volume); + if (callback) { + cc.audioEngine.setFinishCallback(context, function () { + callback.call(this); + }.bind(this)); + } + // cc.wwx.OutPut.log('play audio effect isBrowser: ' + context.src); + this.mAudioMap[audioSource] = context; + return audioSource; + } + else { + return audioSource; + } + }; + AudioManager.prototype.save = function () { + // cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Music_Volume, this.mMusicSwitch); + // cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Effect_Volume, this.mEffectSwitch); + }; + AudioManager.prototype.onLoad = function () { + if (AudioManager_1._instance == null) { + AudioManager_1._instance = this; + cc.game.addPersistRootNode(this.node); + } + else { + this.node.destroy(); + return; + } + this.reward = false; + this.finish = false; + this.rewardCount = 0; + this.ctor(); + this.preload(); + }; + AudioManager.prototype.preload = function () { + if (!(cc.sys.platform === cc.sys.WECHAT_GAME)) { + return; + } + var musics = [ + this.audioGameBgm0, + ]; + musics.forEach(function (path) { + // var musicPath = wxDownloader.REMOTE_SERVER_ROOT + path; + // if (musicPath != wxDownloader.REMOTE_SERVER_ROOT && musicPath.endsWith('.mp3')) { + // cc.loader.load(musicPath, function(err, remoteUrl) { + // if (err) { + // cc.error(err.message || err); + // return; + // } + // }); + // } + }); + }; + AudioManager.prototype.getAudioMusicSwitch = function () { + return this.mMusicSwitch; + }; + AudioManager.prototype.getAudioEffectSwitch = function () { + return this.mEffectSwitch; + }; + AudioManager.prototype.trunAudioSound = function (on) { + this.switchMusic(on); + this.switchEffect(on); + }; + AudioManager.prototype.switchMusic = function (on) { + if (this.mMusicSwitch != (on ? 1 : 0)) { + this.mMusicSwitch = 1 - this.mMusicSwitch; + // this.save(); + } + if (on) { + this.playMusicGame(); + } + else { + this.stopMusic(); + } + }; + AudioManager.prototype.switchEffect = function (on) { + if (this.mEffectSwitch != (on ? 1 : 0)) { + this.mEffectSwitch = 1 - this.mEffectSwitch; + // this.save(); + } + }; + AudioManager.prototype.onHide = function () { + cc.audioEngine.pauseAll(); + // if (CC_JSB) { + // } else { + // for (var key in this.mAudioMap) { + // if (key === this.mMusicKey) { + // this.mAudioMap[key].pause(); + // } else { + // this.mAudioMap[key].stop(); + // } + // } + // } + }; + AudioManager.prototype.onShow = function () { + cc.audioEngine.resumeAll(); + // if (CC_JSB) { + // } else { + // if (!this.mMusicSwitch) return; + // var context = this.mAudioMap[this.mMusicKey]; + // if (context) { + // context.play(); + // } + // } + }; + AudioManager.prototype.playMusic = function (key, callback, loop) { + loop = typeof loop == 'undefined' || loop ? true : false; + this.stopMusic(); + this.mMusicKey = this.play(key, loop, callback, true); + }; + /** + * 游戏背景音乐 + */ + AudioManager.prototype.playMusicGame = function () { + this.playMusic(this.audioGameBgm0, {}, true); + }; + /** + * 停止背景音乐播放 + */ + AudioManager.prototype.stopMusic = function () { + // cc.wwx.OutPut.log('stopMusic audio effect wx: ' + this.mMusicKey); + var context = this.mAudioMap[this.mMusicKey]; + if (typeof (context) != 'undefined') { + if (cc.sys.isBrowser) { + cc.audioEngine.stop(context); + } + else { + context.stop(); + } + cc.audioEngine.stop(context); + } + }; + // 炸弹、火箭爆炸音效 + AudioManager.prototype.playJump = function () { + }; + //激光音效 + AudioManager.prototype.playLuo = function () { + return this.play(this.luodui, false, null, this.mEffectSwitch); + }; + //技能音效 + AudioManager.prototype.playGround = function () { + }; + //技能音效 + AudioManager.prototype.playPz = function () { + }; + /* + * 游戏开始音效 + * + */ + AudioManager.prototype.playGameStart = function () { + }; + /* + * 失败的游戏结束 + */ + AudioManager.prototype.playGameOver = function () { + }; + /* + * 成功的游戏结束 + */ + AudioManager.prototype.playGameResultFailed = function () { + }; + /* + * 成功的游戏结束 + */ + AudioManager.prototype.playGameResultSuccess = function () { + }; + /** + * 报警的音效 + */ + AudioManager.prototype.playWarning = function () { + return this.play(this.audioWarning, false, null, this.mEffectSwitch); + }; + /* + * 方块碰撞的声音 + */ + AudioManager.prototype.playBrick = function () { + // return this.play(this.brickSound,false); + }; + //方块破碎的声音 + AudioManager.prototype.brickBoom = function () { + }; + /** + * 按钮 + */ + AudioManager.prototype.playAudioButton = function () { + return this.play(this.audioButtonClick, false, null, this.mEffectSwitch); + }; + AudioManager.prototype.playWin = function () { + return this.play(this.audioWin, false, null, this.mEffectSwitch); + }; + AudioManager.prototype.playRandomMatch = function () { + this.playMusic(this.audioGameBgm0, {}, true); + }; + AudioManager.prototype.playMatchFoundSound = function () { + this.stopMusic(); + // return this.play(this.matchFoundSound, false); + }; + var AudioManager_1; + __decorate([ + property(cc.AudioClip) + ], AudioManager.prototype, "audioGameBgm0", void 0); + __decorate([ + property(cc.AudioClip) + ], AudioManager.prototype, "audioButtonClick", void 0); + __decorate([ + property(cc.AudioClip) + ], AudioManager.prototype, "audioWarning", void 0); + __decorate([ + property(cc.AudioClip) + ], AudioManager.prototype, "audioWin", void 0); + __decorate([ + property(cc.AudioClip) + ], AudioManager.prototype, "luodui", void 0); + AudioManager = AudioManager_1 = __decorate([ + ccclass + ], AudioManager); + return AudioManager; +}(cc.Component)); +exports.default = AudioManager; +; +// export { AudioManager }; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXE11c2ljXFxBdWRpb01hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQU0sSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFFMUM7SUFBMEMsZ0NBQVk7SUFBdEQ7UUFBQSxxRUFvU0M7UUFsU0csTUFBTTtRQUVOLG1CQUFhLEdBQWlCLElBQUksQ0FBQztRQUNuQyxJQUFJO1FBRUosc0JBQWdCLEdBQWlCLElBQUksQ0FBQztRQUN0QyxLQUFLO1FBRUwsa0JBQVksR0FBaUIsSUFBSSxDQUFDO1FBQ2xDLElBQUk7UUFFSixjQUFRLEdBQWlCLElBQUksQ0FBQztRQUM5QixNQUFNO1FBRU4sWUFBTSxHQUFpQixJQUFJLENBQUM7O0lBb1JoQyxDQUFDO3FCQXBTb0IsWUFBWTtJQStCN0IsMkJBQUksR0FBSjtRQUVJLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCOzs7V0FHRztRQUNILElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFFM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUNELDJCQUFJLEdBQUosVUFBTSxXQUFXLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTO1FBQ3hDLElBQUksU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVk7WUFBRSxPQUFPO1FBQzVDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUFFLE9BQU87UUFDOUMsSUFBSSxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENB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eUMsRUFBRSxDQUFDLFNBQVMsR0FvU3JEO2tCQXBTb0IsWUFBWTtBQW9TaEMsQ0FBQztBQUVGLDJCQUEyQiIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xuQGNjY2xhc3NcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEF1ZGlvTWFuYWdlciBleHRlbmRzIGNjLkNvbXBvbmVudCB7XG5cbiAgICAvL+iDjOaZr+mfs+S5kFxuICAgIEBwcm9wZXJ0eShjYy5BdWRpb0NsaXApXG4gICAgYXVkaW9HYW1lQmdtMDogY2MuQXVkaW9DbGlwID0gbnVsbDtcbiAgICAvL+i3s+i3g1xuICAgIEBwcm9wZXJ0eShjYy5BdWRpb0NsaXApXG4gICAgYXVkaW9CdXR0b25DbGljazogY2MuQXVkaW9DbGlwID0gbnVsbDtcbiAgICAvL+iQveWcsOS4ilxuICAgIEBwcm9wZXJ0eShjYy5BdWRpb0NsaXApXG4gICAgYXVkaW9XYXJuaW5nOiBjYy5BdWRpb0NsaXAgPSBudWxsO1xuICAgIC8v56Kw5pKeXG4gICAgQHByb3BlcnR5KGNjLkF1ZGlvQ2xpcClcbiAgICBhdWRpb1dpbjogY2MuQXVkaW9DbGlwID0gbnVsbDtcbiAgICAvL+iQveaWueWdl+S4ilxuICAgIEBwcm9wZXJ0eShjYy5BdWRpb0NsaXApXG4gICAgbHVvZHVpOiBjYy5BdWRpb0NsaXAgPSBudWxsO1xuXG4gICAgbUF1ZGlvTWFwOiB7fTtcbiAgICBiZ011c2ljVm9sdW1lOiBudW1iZXI7XG4gICAgZWZmZWN0TXVzaWNWb2x1bWU6IG51bWJlcjtcbiAgICBtTXVzaWNTd2l0Y2g6IG51bWJlcjtcbiAgICBtRWZmZWN0U3dpdGNoOiBudW1iZXI7XG4gICAgYnJpY2tTb3VuZDogYW55O1xuICAgIHJld2FyZDogYm9vbGVhbjtcbiAgICBmaW5pc2g6IGJvb2xlYW47XG4gICAgcmV3YXJkQ291bnQ6IG51bWJlcjtcblxuICAgIG1NdXNpY0tleTogYW55O1xuICAgIHN0YXRpYyBfaW5zdGFuY2U6IGFueTtcblxuICAgIGN0b3IgKCkge1xuICAgICAgICBcbiAgICAgICAgdGhpcy5tQXVkaW9NYXAgPSB7fTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIOm7mOiupOmfs+mHj+Wkp+Wwj1xuICAgICAgICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5iZ011c2ljVm9sdW1lID0gMC4xO1xuICAgICAgICB0aGlzLmVmZmVjdE11c2ljVm9sdW1lID0gMTtcblxuICAgICAgICB0aGlzLm1NdXNpY1N3aXRjaCA9IDE7XG4gICAgICAgIHRoaXMubUVmZmVjdFN3aXRjaCA9IDE7XG4gICAgfVxuICAgIHBsYXkgKGF1ZGlvU291cmNlLCBsb29wLCBjYWxsYmFjaywgaXNCZ011c2ljKSB7XG4gICAgICAgIGlmIChpc0JnTXVzaWMgJiYgIXRoaXMubU11c2ljU3dpdGNoKSByZXR1cm47XG4gICAgICAgIGlmICghaXNCZ011c2ljICYmICF0aGlzLm1FZmZlY3RTd2l0Y2gpIHJldHVybjtcbiAgICAgICAgdmFyIHZvbHVtZSA9IGlzQmdNdXNpYyA/IHRoaXMuYmdNdXNpY1ZvbHVtZSA6IHRoaXMuZWZmZWN0TXVzaWNWb2x1bWU7XG5cbiAgICAgICAgaWYgKGNjLnN5cy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIGlmKGF1ZGlvU291cmNlID09IHRoaXMuYnJpY2tTb3VuZCl7XG4gICAgICAgICAgICAgICAgdm9sdW1lID0gMC4xO1xuICAgICAgICAgICAgfSBcbiAgICAgICAgICAgIHZvbHVtZSA9IDE7XG4gICAgICAgICAgICB2YXIgY29udGV4dCA9IGNjLmF1ZGlvRW5naW5lLnBsYXkoYXVkaW9Tb3VyY2UsIGxvb3AsIHZvbHVtZSk7XG4gICAgICAgICAgICBpZiAoY2FsbGJhY2spe1xuICAgICAgICAgICAgICAgIGNjLmF1ZGlvRW5naW5lLnNldEZpbmlzaENhbGxiYWNrKGNvbnRleHQsIGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrLmNhbGwodGhpcyk7XG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGNjLnd3eC5PdXRQdXQubG9nKCdwbGF5IGF1ZGlvIGVmZmVjdCBpc0Jyb3dzZXI6ICcgKyBjb250ZXh0LnNyYyk7XG5cbiAgICAgICAgICAgIHRoaXMubUF1ZGlvTWFwW2F1ZGlvU291cmNlXSA9IGNvbnRleHQ7XG4gICAgICAgICAgICByZXR1cm4gYXVkaW9Tb3VyY2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gYXVkaW9Tb3VyY2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzYXZlICgpIHtcbiAgICAgICAgLy8gY2Mud3d4LlN0b3JhZ2Uuc2V0SXRlbShjYy53d3guU3RvcmFnZS5LZXlfU2V0dGluZ19NdXNpY19Wb2x1bWUsIHRoaXMubU11c2ljU3dpdGNoKTtcbiAgICAgICAgLy8gY2Mud3d4LlN0b3JhZ2Uuc2V0SXRlbShjYy53d3guU3RvcmFnZS5LZXlfU2V0dGluZ19FZmZlY3RfVm9sdW1lLCB0aGlzLm1FZmZlY3RTd2l0Y2gpO1xuICAgIH1cbiAgICBvbkxvYWQoKSB7XG5cbiAgICAgICAgaWYgKEF1ZGlvTWFuYWdlci5faW5zdGFuY2UgPT0gbnVsbCkge1xuICAgICAgICAgICAgQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZSA9IHRoaXM7XG4gICAgICAgICAgICBjYy5nYW1lLmFkZFBlcnNpc3RSb290Tm9kZSh0aGlzLm5vZGUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5ub2RlLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJld2FyZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmZpbmlzaCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJld2FyZENvdW50ID0gMDtcbiAgICAgICAgdGhpcy5jdG9yKCk7XG5cbiAgICAgICAgdGhpcy5wcmVsb2FkKCk7XG4gICAgfVxuICAgIHByZWxvYWQgKCkge1xuICAgICAgICBpZiAoIShjYy5zeXMucGxhdGZvcm0gPT09IGNjLnN5cy5XRUNIQVRfR0FNRSkpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgdmFyIG11c2ljcyA9IFtcbiAgICAgICAgICAgIHRoaXMuYXVkaW9HYW1lQmdtMCxcbiAgICAgICAgXTtcbiAgICAgICAgbXVzaWNzLmZvckVhY2goZnVuY3Rpb24ocGF0aCkge1xuICAgICAgICAgICAgLy8gdmFyIG11c2ljUGF0aCA9IHd4RG93bmxvYWRlci5SRU1PVEVfU0VSVkVSX1JPT1QgKyBwYXRoO1xuICAgICAgICAgICAgLy8gaWYgKG11c2ljUGF0aCAhPSB3eERvd25sb2FkZXIuUkVNT1RFX1NFUlZFUl9ST09UICYmIG11c2ljUGF0aC5lbmRzV2l0aCgnLm1wMycpKSB7XG4gICAgICAgICAgICAvLyAgICAgY2MubG9hZGVyLmxvYWQobXVzaWNQYXRoLCBmdW5jdGlvbihlcnIsIHJlbW90ZVVybCkge1xuICAgICAgICAgICAgLy8gICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAvLyAgICAgICAgICAgICBjYy5lcnJvcihlcnIubWVzc2FnZSB8fCBlcnIpO1xuICAgICAgICAgICAgLy8gICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgLy8gICAgICAgICB9XG4gICAgICAgICAgICAvLyAgICAgfSk7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgZ2V0QXVkaW9NdXNpY1N3aXRjaCgpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5tTXVzaWNTd2l0Y2g7XG5cbiAgICB9XG4gICAgZ2V0QXVkaW9FZmZlY3RTd2l0Y2goKVxuICAgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubUVmZmVjdFN3aXRjaDtcbiAgICB9XG4gICAgdHJ1bkF1ZGlvU291bmQob24pXG4gICAge1xuICAgICAgICB0aGlzLnN3aXRjaE11c2ljKG9uKTtcbiAgICAgICAgdGhpcy5zd2l0Y2hFZmZlY3Qob24pXG4gICAgfVxuICAgIHN3aXRjaE11c2ljIChvbikge1xuICAgICAgICBpZiAodGhpcy5tTXVzaWNTd2l0Y2ggIT0gKG9uPzE6MCkpXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRoaXMubU11c2ljU3dpdGNoID0gMS10aGlzLm1NdXNpY1N3aXRjaDtcbiAgICAgICAgICAgIC8vIHRoaXMuc2F2ZSgpO1xuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgaWYob24pXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRoaXMucGxheU11c2ljR2FtZSgpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2VcbiAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5zdG9wTXVzaWMoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzd2l0Y2hFZmZlY3QgKG9uKSB7XG4gICAgICAgIGlmICh0aGlzLm1FZmZlY3RTd2l0Y2ggIT0gKG9uPzE6MCkpe1xuICAgICAgICAgICAgdGhpcy5tRWZmZWN0U3dpdGNoID0gMS10aGlzLm1FZmZlY3RTd2l0Y2g7XG4gICAgICAgICAgICAvLyB0aGlzLnNhdmUoKTtcblxuICAgICAgICB9XG4gICAgfVxuICAgIG9uSGlkZSAoKSB7XG4gICAgICAgIGNjLmF1ZGlvRW5naW5lLnBhdXNlQWxsKCk7XG5cbiAgICAgICAgLy8gaWYgKENDX0pTQikge1xuICAgICAgICAvLyB9IGVsc2Uge1xuICAgICAgICAvLyAgICAgZm9yICh2YXIga2V5IGluIHRoaXMubUF1ZGlvTWFwKSB7XG4gICAgICAgIC8vICAgICAgICAgaWYgKGtleSA9PT0gdGhpcy5tTXVzaWNLZXkpIHtcbiAgICAgICAgLy8gICAgICAgICAgICAgdGhpcy5tQXVkaW9NYXBba2V5XS5wYXVzZSgpO1xuICAgICAgICAvLyAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vICAgICAgICAgICAgIHRoaXMubUF1ZGlvTWFwW2tleV0uc3RvcCgpO1xuICAgICAgICAvLyAgICAgICAgIH1cbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfVxuICAgIH1cblxuICAgIG9uU2hvdyAoKSB7XG4gICAgICAgIGNjLmF1ZGlvRW5naW5lLnJlc3VtZUFsbCgpO1xuXG4gICAgICAgIC8vIGlmIChDQ19KU0IpIHtcbiAgICAgICAgLy8gfSBlbHNlIHtcbiAgICAgICAgLy8gICAgIGlmICghdGhpcy5tTXVzaWNTd2l0Y2gpIHJldHVybjtcbiAgICAgICAgLy8gICAgIHZhciBjb250ZXh0ID0gdGhpcy5tQXVkaW9NYXBbdGhpcy5tTXVzaWNLZXldO1xuICAgICAgICAvLyAgICAgaWYgKGNvbnRleHQpIHtcbiAgICAgICAgLy8gICAgICAgICBjb250ZXh0LnBsYXkoKTtcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfVxuICAgIH1cbiAgICBwbGF5TXVzaWMgKGtleSwgY2FsbGJhY2ssIGxvb3ApIHtcbiAgICAgICAgbG9vcCA9IHR5cGVvZiBsb29wID09ICd1bmRlZmluZWQnICB8fCBsb29wID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB0aGlzLnN0b3BNdXNpYygpO1xuICAgICAgICB0aGlzLm1NdXNpY0tleSA9IHRoaXMucGxheShrZXksIGxvb3AsIGNhbGxiYWNrLCB0cnVlKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICog5ri45oiP6IOM5pmv6Z+z5LmQXG4gICAgICovXG4gICAgcGxheU11c2ljR2FtZSAoKSB7XG4gICAgICAgIHRoaXMucGxheU11c2ljKHRoaXMuYXVkaW9HYW1lQmdtMCx7fSx0cnVlKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICog5YGc5q2i6IOM5pmv6Z+z5LmQ5pKt5pS+XG4gICAgICovXG4gICAgc3RvcE11c2ljICgpIHtcbiAgICAgICAgLy8gY2Mud3d4Lk91dFB1dC5sb2coJ3N0b3BNdXNpYyBhdWRpbyBlZmZlY3Qgd3g6ICcgKyB0aGlzLm1NdXNpY0tleSk7XG5cbiAgICAgICAgdmFyIGNvbnRleHQgPSB0aGlzLm1BdWRpb01hcFt0aGlzLm1NdXNpY0tleV07XG5cbiAgICAgICAgaWYgKHR5cGVvZihjb250ZXh0KSAhPSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgaWYgKGNjLnN5cy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgICAgICBjYy5hdWRpb0VuZ2luZS5zdG9wKGNvbnRleHQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb250ZXh0LnN0b3AoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNjLmF1ZGlvRW5naW5lLnN0b3AoY29udGV4dCk7XG5cbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyDngrjlvLnjgIHngavnrq3niIbngrjpn7PmlYhcbiAgICBwbGF5SnVtcCAoKSB7XG4gICAgIFxuICAgIH1cbiAgICAvL+a/gOWFiemfs+aViFxuICAgIHBsYXlMdW8oKVxuICAgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLmx1b2R1aSwgZmFsc2UsbnVsbCx0aGlzLm1FZmZlY3RTd2l0Y2gpO1xuICAgIH1cbiAgICAvL+aKgOiDvemfs+aViFxuICAgIHBsYXlHcm91bmQoKVxuICAgIHtcbiAgICAgXG4gICAgfVxuXG4gICAgLy/mioDog73pn7PmlYhcbiAgICBwbGF5UHooKVxuICAgIHtcbiAgICBcbiAgICB9XG4gICAgLypcbiAgICAgKiDmuLjmiI/lvIDlp4vpn7PmlYhcbiAgICAgKlxuICAgICAqL1xuICAgICBwbGF5R2FtZVN0YXJ0KClcbiAgICAge1xuICAgICBcbiAgICAgfVxuICAgICAvKlxuICAgICAgKiDlpLHotKXnmoTmuLjmiI/nu5PmnZ9cbiAgICAgICovXG4gICAgIHBsYXlHYW1lT3ZlcigpXG4gICAgIHtcbiAgIFxuICAgICB9XG4gICAgLypcbiAgICAgICog5oiQ5Yqf55qE5ri45oiP57uT5p2fXG4gICAgICAqL1xuICAgIHBsYXlHYW1lUmVzdWx0RmFpbGVkKClcbiAgICB7XG5cbiAgICB9XG4gICAgLypcbiAgKiDmiJDlip/nmoTmuLjmiI/nu5PmnZ9cbiAgKi9cbiAgICBwbGF5R2FtZVJlc3VsdFN1Y2Nlc3MoKVxuICAgIHtcblxuICAgIH1cbiAgICAvKipcbiAgICAgKiDmiqXorabnmoTpn7PmlYhcbiAgICAgKi9cbiAgICBwbGF5V2FybmluZygpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9XYXJuaW5nLCBmYWxzZSxudWxsLHRoaXMubUVmZmVjdFN3aXRjaCk7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiDmlrnlnZfnorDmkp7nmoTlo7Dpn7NcbiAgICAgKi9cbiAgICBwbGF5QnJpY2soKVxuICAgIHtcbiAgICAgICAgLy8gcmV0dXJuIHRoaXMucGxheSh0aGlzLmJyaWNrU291bmQsZmFsc2UpO1xuICAgIH1cbiAgICAvL+aWueWdl+egtOeijueahOWjsOmfs1xuICAgIGJyaWNrQm9vbSgpe1xuICAgXG4gICAgfVxuICAgIC8qKlxuICAgICAqIOaMiemSrlxuICAgICAqL1xuICAgIHBsYXlBdWRpb0J1dHRvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5hdWRpb0J1dHRvbkNsaWNrLCBmYWxzZSxudWxsLHRoaXMubUVmZmVjdFN3aXRjaCk7XG4gICAgfVxuXG4gICAgcGxheVdpbigpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9XaW4sIGZhbHNlLG51bGwsdGhpcy5tRWZmZWN0U3dpdGNoKTtcbiAgICB9XG5cbiAgICBwbGF5UmFuZG9tTWF0Y2goKVxuICAgIHtcbiAgICAgICAgdGhpcy5wbGF5TXVzaWModGhpcy5hdWRpb0dhbWVCZ20wLHt9LHRydWUpO1xuICAgIH1cbiAgICBwbGF5TWF0Y2hGb3VuZFNvdW5kKClcbiAgICB7XG4gICAgICAgIHRoaXMuc3RvcE11c2ljKCk7XG4gICAgICAgIC8vIHJldHVybiB0aGlzLnBsYXkodGhpcy5tYXRjaEZvdW5kU291bmQsIGZhbHNlKTtcbiAgICB9XG5cbn07XG5cbi8vIGV4cG9ydCB7IEF1ZGlvTWFuYWdlciB9OyJdfQ== +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/module/Storage/Storage.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '1002938VFRJd70RiAno9Iys', 'Storage'); +// Script/module/Storage/Storage.ts + +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StorageMessage = void 0; +//缓存浏览器数据 +var StorageMessage = { + getStorage: function (key) { + var result = null; + if (cc.sys.localStorage.getItem(key)) { + var result = cc.sys.localStorage.getItem(key); + } + if (result) { + result = JSON.parse(result); + } + return result; + }, + setStorage: function (key, value) { + //主动拉起分享接口 + var temp = JSON.stringify(value); + cc.sys.localStorage.setItem(key, temp); + }, + removeStorage: function (key) { + //主动删除消息接口 + if (cc.sys.localStorage.getItem(key)) { + cc.sys.localStorage.removeItem(key); + } + }, +}; +exports.StorageMessage = StorageMessage; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFN0b3JhZ2VcXFN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsU0FBUztBQUNULElBQUksY0FBYyxHQUFHO0lBQ2pCLFVBQVUsRUFBRyxVQUFTLEdBQUc7UUFDckIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDO1lBQ2xDLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMvQztRQUVELElBQUcsTUFBTSxFQUFDO1lBQ1IsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDN0I7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBQ0QsVUFBVSxFQUFHLFVBQVMsR0FBRyxFQUFDLEtBQUs7UUFDM0IsVUFBVTtRQUNWLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0lBQ0QsYUFBYSxFQUFHLFVBQVMsR0FBRztRQUMxQixVQUFVO1FBQ1YsSUFBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUM7WUFDbEMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1NBQ3BDO0lBQ0gsQ0FBQztDQUNKLENBQUM7QUFFTyx3Q0FBYyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8v57yT5a2Y5rWP6KeI5Zmo5pWw5o2uXG52YXIgU3RvcmFnZU1lc3NhZ2UgPSB7XG4gICAgZ2V0U3RvcmFnZSA6IGZ1bmN0aW9uKGtleSl7XG4gICAgICAgIHZhciByZXN1bHQgPSBudWxsO1xuICAgICAgICBpZihjYy5zeXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KSl7XG4gICAgICAgICAgdmFyIHJlc3VsdCA9IGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBpZihyZXN1bHQpe1xuICAgICAgICAgIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzdWx0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sXG4gICAgc2V0U3RvcmFnZSA6IGZ1bmN0aW9uKGtleSx2YWx1ZSl7XG4gICAgICAgIC8v5Li75Yqo5ouJ6LW35YiG5Lqr5o6l5Y+jXG4gICAgICAgIHZhciB0ZW1wID0gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICAgICAgICBjYy5zeXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCB0ZW1wKVxuICAgIH0sXG4gICAgcmVtb3ZlU3RvcmFnZSA6IGZ1bmN0aW9uKGtleSl7XG4gICAgICAvL+S4u+WKqOWIoOmZpOa2iOaBr+aOpeWPo1xuICAgICAgaWYoY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSkpe1xuICAgICAgICBjYy5zeXMubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KVxuICAgICAgfVxuICAgIH0sXG59O1xuXG5leHBvcnQgeyBTdG9yYWdlTWVzc2FnZSB9OyJdfQ== +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/module/GameStart/GameAppStart.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '61d4ccY2ztLMYIh8WvqPPAw', 'GameAppStart'); +// Script/module/GameStart/GameAppStart.ts + +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var GameConfig_1 = require("../Config/GameConfig"); +var HttpUtil_1 = require("../Crypto/HttpUtil"); +var AudioManager_1 = require("../Music/AudioManager"); +var Notification_1 = require("../Notification/Notification"); +var Storage_1 = require("../Storage/Storage"); +var GameTool_1 = require("../Tool/GameTool"); +window.initMgr = function () { + if (cc.fx) { + return; + } + cc.fx = {}; + console.log("初始化"); + //基础状态信息 + cc.fx.StateInfo = { + debugMode: true, + networkConnected: true, + networkType: 'none', + isOnForeground: true //当前是否是在前台 + }; + //应用系统信息 + //配置文件 + cc.fx.GameConfig = GameConfig_1.GameConfig; + cc.fx.HttpUtil = HttpUtil_1.default; + cc.fx.GameTool = GameTool_1.GameTool; + cc.fx.AudioManager = AudioManager_1.default; + cc.fx.Notifications = Notification_1.Notifications; + cc.fx.StorageMessage = Storage_1.StorageMessage; + cc.fx.ShareInfo = { + queryId: -1 //分享id + }; + /* + * 客户端埋点分享类型 + */ + cc.fx.BurialShareType = { + Default: "default", + Invite: "invite", + DailyInviteRoomJoin: 'invite_join_room', + DailyInviteFriend: 'invite_friend', + DailyInviteGroup: 'invate_group', + DailyInviteGroupAlive: 'invate_alive', + DailyInviteGroupReward: 'invate_rewared', + DailyInviteGroupBox: 'invate_box', + DailyInviteGroupBall: 'invate_ball', + MatchResult: 'matchResult', + MatchFix5: 'MatchFix5', + MatchFix20: 'MatchFix20', + MatchFix100: 'MatchFix100', + MatchFix500: 'MatchFix500', + NewerRedEnvelope: 'newerRedEnvelope', + CoinRoomResult: 'coinRoomResult', + HighRate: "highRate", + CoinRoomWinStreak: 'coinRoomWinStreak', + CoinRoomBankruptcy1: 'coinRoomBankruptcy1', + CoinRoomBankruptcy2: 'coinRoomBankruptcy2', + CoinRoomBankruptcy3: 'coinRoomBankruptcy3', + }; + /* + * 分享到哪儿给奖励 group frined all + */ + cc.fx.ShareWhereReward = { + Group: "group", + Friend: "friend", + All: "all", + }; + //暂时不用 + cc.fx.clickStatEventType = { + clickStatEventTypeVideoAD: 20173201, + clickStatEventTypeClickAdVideo: 20173202, + clickStatEventTypeBannerAD: 20173203, + clickStatEventTypeUserFrom: 99990001, + clickStatEventTypeShare: 99990002, + clickStatEventTypeClickAdBtn: 99990007, + clickStatEventTypeBannerAD2: 67890033, + clickStatEventTypeSubmitVersionInfo: 9999, + clickStatEventTypeClickFirstAd: 99990003, + clickStatEventTypeClickSecondAd: 99990004, + clickStatEventTypeWxLoginStart: 10001, + clickStatEventTypeWxLoginSuccess: 10002, + clickStatEventTypeWxLoginFailed: 10003, + clickStatEventTypeAuthorizationStart: 10003, + clickStatEventTypeAuthorizationSuccess: 10004, + clickStatEventTypeAuthorizationFailed: 10005, + clickStatEventTypeLoginSDKStart: 10007, + clickStatEventTypeLoginSDKSuccess: 10008, + clickStatEventTypeLoginSDKFailed: 10009, + clickStatEventTypeTCP_Start: 10009, + clickStatEventTypeTCP_Success: 10010, + clickStatEventTypeTCP_Failed: 10011, + }; +}; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXEdhbWVTdGFydFxcR2FtZUFwcFN0YXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQWtEO0FBQ2xELCtDQUEwQztBQUMxQyxzREFBaUQ7QUFFakQsNkRBQTZEO0FBQzdELDhDQUFvRDtBQUNwRCw2Q0FBNEM7QUFFNUMsTUFBTSxDQUFDLE9BQU8sR0FBRztJQUNiLElBQUcsRUFBRSxDQUFDLEVBQUUsRUFDUjtRQUNJLE9BQU87S0FDVjtJQUNELEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQixRQUFRO0lBQ1IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUc7UUFDZCxTQUFTLEVBQUUsSUFBSTtRQUNmLGdCQUFnQixFQUFFLElBQUk7UUFDdEIsV0FBVyxFQUFFLE1BQU07UUFDbkIsY0FBYyxFQUFFLElBQUksQ0FBTSxVQUFVO0tBQ3ZDLENBQUM7SUFFRixRQUFRO0lBQ1IsTUFBTTtJQUNOLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxHQUFHLHVCQUFVLENBQUM7SUFDOUIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEdBQUcsa0JBQVEsQ0FBQztJQUMxQixFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsR0FBRyxtQkFBUSxDQUFDO0lBQzFCLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxHQUFHLHNCQUFZLENBQUM7SUFDbEMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEdBQUcsNEJBQWEsQ0FBQztJQUNwQyxFQUFFLENBQUMsRUFBRSxDQUFDLGNBQWMsR0FBRyx3QkFBYyxDQUFDO0lBRXRDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHO1FBQ2QsT0FBTyxFQUFHLENBQUMsQ0FBQyxDQUFjLE1BQU07S0FDbkMsQ0FBQztJQUVGOztNQUVFO0lBQ0YsRUFBRSxDQUFDLEVBQUUsQ0FBQyxlQUFlLEdBQUc7UUFDcEIsT0FBTyxFQUFHLFNBQVM7UUFDbkIsTUFBTSxFQUFHLFFBQVE7UUFFakIsbUJBQW1CLEVBQUMsa0JBQWtCO1FBQ3RDLGlCQUFpQixFQUFHLGVBQWU7UUFDbkMsZ0JBQWdCLEVBQUcsY0FBYztRQUNqQyxxQkFBcUIsRUFBRSxjQUFjO1FBQ3JDLHNCQUFzQixFQUFFLGdCQUFnQjtRQUN4QyxtQkFBbUIsRUFBRSxZQUFZO1FBQ2pDLG9CQUFvQixFQUFFLGFBQWE7UUFFbkMsV0FBVyxFQUFHLGFBQWE7UUFDM0IsU0FBUyxFQUFFLFdBQVc7UUFDdEIsVUFBVSxFQUFFLFlBQVk7UUFDeEIsV0FBVyxFQUFFLGFBQWE7UUFDMUIsV0FBVyxFQUFFLGFBQWE7UUFDMUIsZ0JBQWdCLEVBQUUsa0JBQWtCO1FBQ3BDLGNBQWMsRUFBRSxnQkFBZ0I7UUFDaEMsUUFBUSxFQUFHLFVBQVU7UUFDckIsaUJBQWlCLEVBQUUsbUJBQW1CO1FBQ3RDLG1CQUFtQixFQUFFLHFCQUFxQjtRQUMxQyxtQkFBbUIsRUFBRSxxQkFBcUI7UUFDMUMsbUJBQW1CLEVBQUUscUJBQXFCO0tBQzdDLENBQUM7SUFFRjs7T0FFRztJQUNILEVBQUUsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEdBQUc7UUFDckIsS0FBSyxFQUFFLE9BQU87UUFDZCxNQUFNLEVBQUcsUUFBUTtRQUNqQixHQUFHLEVBQUcsS0FBSztLQUNkLENBQUM7SUFHRixNQUFNO0lBQ04sRUFBRSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsR0FBRztRQUN2Qix5QkFBeUIsRUFBRyxRQUFRO1FBQ3BDLDhCQUE4QixFQUFHLFFBQVE7UUFDekMsMEJBQTBCLEVBQUcsUUFBUTtRQUNyQywwQkFBMEIsRUFBRyxRQUFRO1FBQ3JDLHVCQUF1QixFQUFHLFFBQVE7UUFDbEMsNEJBQTRCLEVBQUcsUUFBUTtRQUN2QywyQkFBMkIsRUFBRyxRQUFRO1FBQ3RDLG1DQUFtQyxFQUFHLElBQUk7UUFDMUMsOEJBQThCLEVBQUcsUUFBUTtRQUN6QywrQkFBK0IsRUFBRyxRQUFRO1FBQzFDLDhCQUE4QixFQUFHLEtBQUs7UUFDdEMsZ0NBQWdDLEVBQUcsS0FBSztRQUN4QywrQkFBK0IsRUFBRyxLQUFLO1FBQ3ZDLG9DQUFvQyxFQUFHLEtBQUs7UUFDNUMsc0NBQXNDLEVBQUcsS0FBSztRQUM5QyxxQ0FBcUMsRUFBRyxLQUFLO1FBQzdDLCtCQUErQixFQUFHLEtBQUs7UUFDdkMsaUNBQWlDLEVBQUcsS0FBSztRQUN6QyxnQ0FBZ0MsRUFBRyxLQUFLO1FBQ3hDLDJCQUEyQixFQUFHLEtBQUs7UUFDbkMsNkJBQTZCLEVBQUcsS0FBSztRQUNyQyw0QkFBNEIsRUFBRyxLQUFLO0tBQ3ZDLENBQUM7QUFFTixDQUFDLENBQUMiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHYW1lQ29uZmlnIH0gZnJvbSBcIi4uL0NvbmZpZy9HYW1lQ29uZmlnXCI7XHJcbmltcG9ydCBIdHRwVXRpbCBmcm9tIFwiLi4vQ3J5cHRvL0h0dHBVdGlsXCI7XHJcbmltcG9ydCBBdWRpb01hbmFnZXIgZnJvbSBcIi4uL011c2ljL0F1ZGlvTWFuYWdlclwiO1xyXG5cclxuaW1wb3J0IHsgTm90aWZpY2F0aW9ucyB9IGZyb20gXCIuLi9Ob3RpZmljYXRpb24vTm90aWZpY2F0aW9uXCI7XHJcbmltcG9ydCB7IFN0b3JhZ2VNZXNzYWdlIH0gZnJvbSBcIi4uL1N0b3JhZ2UvU3RvcmFnZVwiO1xyXG5pbXBvcnQgeyBHYW1lVG9vbCB9IGZyb20gXCIuLi9Ub29sL0dhbWVUb29sXCI7XHJcblxyXG53aW5kb3cuaW5pdE1nciA9IGZ1bmN0aW9uKCkge1xyXG4gICAgaWYoY2MuZngpXHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY2MuZnggPSB7fTtcclxuICAgIGNvbnNvbGUubG9nKFwi5Yid5aeL5YyWXCIpO1xyXG4gICAgLy/ln7rnoYDnirbmgIHkv6Hmga9cclxuICAgIGNjLmZ4LlN0YXRlSW5mbyA9IHtcclxuICAgICAgICBkZWJ1Z01vZGU6IHRydWUsXHJcbiAgICAgICAgbmV0d29ya0Nvbm5lY3RlZDogdHJ1ZSwgICAvL+e9kee7nOeKtuaAgVxyXG4gICAgICAgIG5ldHdvcmtUeXBlOiAnbm9uZScsICAgICAgLy/nvZHnu5znsbvlnotcclxuICAgICAgICBpc09uRm9yZWdyb3VuZDogdHJ1ZSAgICAgIC8v5b2T5YmN5piv5ZCm5piv5Zyo5YmN5Y+wXHJcbiAgICB9O1xyXG5cclxuICAgIC8v5bqU55So57O757uf5L+h5oGvXHJcbiAgICAvL+mFjee9ruaWh+S7tlxyXG4gICAgY2MuZnguR2FtZUNvbmZpZyA9IEdhbWVDb25maWc7XHJcbiAgICBjYy5meC5IdHRwVXRpbCA9IEh0dHBVdGlsO1xyXG4gICAgY2MuZnguR2FtZVRvb2wgPSBHYW1lVG9vbDtcclxuICAgIGNjLmZ4LkF1ZGlvTWFuYWdlciA9IEF1ZGlvTWFuYWdlcjtcclxuICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMgPSBOb3RpZmljYXRpb25zO1xyXG4gICAgY2MuZnguU3RvcmFnZU1lc3NhZ2UgPSBTdG9yYWdlTWVzc2FnZTtcclxuXHJcbiAgICBjYy5meC5TaGFyZUluZm8gPSB7XHJcbiAgICAgICAgcXVlcnlJZCA6IC0xICAgICAgICAgICAgICAvL+WIhuS6q2lkXHJcbiAgICB9O1xyXG5cclxuICAgIC8qXHJcbiAgICAgICAgKiDlrqLmiLfnq6/ln4vngrnliIbkuqvnsbvlnotcclxuICAgICovXHJcbiAgICBjYy5meC5CdXJpYWxTaGFyZVR5cGUgPSB7XHJcbiAgICAgICAgRGVmYXVsdCA6IFwiZGVmYXVsdFwiLCAgICAgICAgLy/pu5jorqTliIbkuqvnsbvlnoss5YiG5Lqr5Yiw576kXHJcbiAgICAgICAgSW52aXRlIDogXCJpbnZpdGVcIiwgICAgICAgICAgLy8g6YKA6K+35aW95Y+LXHJcblxyXG4gICAgICAgIERhaWx5SW52aXRlUm9vbUpvaW46J2ludml0ZV9qb2luX3Jvb20nLCAvL+mCgOivt+WlveWPi+WKoOWFpVxyXG4gICAgICAgIERhaWx5SW52aXRlRnJpZW5kIDogJ2ludml0ZV9mcmllbmQnLCAvLyDml6XluLjpgoDor7flpb3lj4tcclxuICAgICAgICBEYWlseUludml0ZUdyb3VwIDogJ2ludmF0ZV9ncm91cCcsIC8vIOaXpeW4uOWIhuS6q+e+pFxyXG4gICAgICAgIERhaWx5SW52aXRlR3JvdXBBbGl2ZTogJ2ludmF0ZV9hbGl2ZScsIC8v5pel5bi45YiG5Lqr576k5aSN5rS7XHJcbiAgICAgICAgRGFpbHlJbnZpdGVHcm91cFJld2FyZDogJ2ludmF0ZV9yZXdhcmVkJywvL+WIhuS6q+WlluWKsee/u+WAjVxyXG4gICAgICAgIERhaWx5SW52aXRlR3JvdXBCb3g6ICdpbnZhdGVfYm94JywgIC8v5a6d566x5YiG5Lqr5aWW5YqxXHJcbiAgICAgICAgRGFpbHlJbnZpdGVHcm91cEJhbGw6ICdpbnZhdGVfYmFsbCcsICAvL+WIhuS6q+mihuWPlueQg+eQg1xyXG5cclxuICAgICAgICBNYXRjaFJlc3VsdCA6ICdtYXRjaFJlc3VsdCcsICAvLyDmr5TotZvnu5PnrpfliIbkuqtcclxuICAgICAgICBNYXRjaEZpeDU6ICdNYXRjaEZpeDUnLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gNeWFg+e6ouWMhei1m1xyXG4gICAgICAgIE1hdGNoRml4MjA6ICdNYXRjaEZpeDIwJywgICAgICAgICAgICAgICAgICAgICAgICAvLyAyMOWFg+e6ouWMhei1m1xyXG4gICAgICAgIE1hdGNoRml4MTAwOiAnTWF0Y2hGaXgxMDAnLCAgICAgICAgICAgICAgICAgICAgICAvLyAxMDDlhYPnuqLljIXotZtcclxuICAgICAgICBNYXRjaEZpeDUwMDogJ01hdGNoRml4NTAwJywgICAgICAgICAgICAgICAgICAgICAgLy8gNTAw5YWD57qi5YyF6LWbXHJcbiAgICAgICAgTmV3ZXJSZWRFbnZlbG9wZTogJ25ld2VyUmVkRW52ZWxvcGUnLCAgICAgICAgICAgIC8vIOaWsOaJi+e6ouWMhVxyXG4gICAgICAgIENvaW5Sb29tUmVzdWx0OiAnY29pblJvb21SZXN1bHQnLCAgICAgICAgICAgICAgICAvLyDph5HluIHmoYznu5PnrpdcclxuICAgICAgICBIaWdoUmF0ZSA6IFwiaGlnaFJhdGVcIiwvL+mrmOWAjeWIhuS6q1xyXG4gICAgICAgIENvaW5Sb29tV2luU3RyZWFrOiAnY29pblJvb21XaW5TdHJlYWsnLCAgICAgICAgIC8vIOi/nuiDnFxyXG4gICAgICAgIENvaW5Sb29tQmFua3J1cHRjeTE6ICdjb2luUm9vbUJhbmtydXB0Y3kxJywgICAgICAgICAvLyDph5HluIHmoYznoLTkuqdcclxuICAgICAgICBDb2luUm9vbUJhbmtydXB0Y3kyOiAnY29pblJvb21CYW5rcnVwdGN5MicsICAgICAgICAgLy8g6YeR5biB5qGM56C05LqnXHJcbiAgICAgICAgQ29pblJvb21CYW5rcnVwdGN5MzogJ2NvaW5Sb29tQmFua3J1cHRjeTMnLCAgICAgICAgIC8vIOmHkeW4geahjOegtOS6p1xyXG4gICAgfTtcclxuXHJcbiAgICAvKlxyXG4gICAgICog5YiG5Lqr5Yiw5ZOq5YS/57uZ5aWW5YqxIGdyb3VwIGZyaW5lZCBhbGxcclxuICAgICAqL1xyXG4gICAgY2MuZnguU2hhcmVXaGVyZVJld2FyZCA9IHtcclxuICAgICAgICBHcm91cCA6XCJncm91cFwiLCAvL+W+ruS/oee+pFxyXG4gICAgICAgIEZyaWVuZCA6IFwiZnJpZW5kXCIsLy/lpb3lj4tcclxuICAgICAgICBBbGwgOiBcImFsbFwiLCAvL+S4jeWMuuWIhlxyXG4gICAgfTtcclxuXHJcblxyXG4gICAgLy/mmoLml7bkuI3nlKhcclxuICAgIGNjLmZ4LmNsaWNrU3RhdEV2ZW50VHlwZSA9IHtcclxuICAgICAgICBjbGlja1N0YXRFdmVudFR5cGVWaWRlb0FEIDogMjAxNzMyMDEsLy/op4bpopHmkq3mlL7lrozmiJBcclxuICAgICAgICBjbGlja1N0YXRFdmVudFR5cGVDbGlja0FkVmlkZW8gOiAyMDE3MzIwMiwvL+inhumikeaSreaUvuS4uuWujOaIkFxyXG4gICAgICAgIGNsaWNrU3RhdEV2ZW50VHlwZUJhbm5lckFEIDogMjAxNzMyMDMsLy9iYW5uZXLmkq3mlL7kuLrlrozmiJBcclxuICAgICAgICBjbGlja1N0YXRFdmVudFR5cGVVc2VyRnJvbSA6IDk5OTkwMDAxLC8v55So5oi35p2l5rqQXHJcbiAgICAgICAgY2xpY2tTdGF0RXZlbnRUeXBlU2hhcmUgOiA5OTk5MDAwMiwvL+eUqOaIt+WIhuS6q1xyXG4gICAgICAgIGNsaWNrU3RhdEV2ZW50VHlwZUNsaWNrQWRCdG4gOiA5OTk5MDAwNywvL+eCueWHu+WIhua1gWljb25cclxuICAgICAgICBjbGlja1N0YXRFdmVudFR5cGVCYW5uZXJBRDIgOiA2Nzg5MDAzMywgLy8gYmFubmVy5bm/5ZGK5bmy6aKEXHJcbiAgICAgICAgY2xpY2tTdGF0RXZlbnRUeXBlU3VibWl0VmVyc2lvbkluZm8gOiA5OTk5LCAvL+S4iuaKpeW+ruS/oeeJiOacrOWPiuWfuuehgOW6k+S/oeaBr1xyXG4gICAgICAgIGNsaWNrU3RhdEV2ZW50VHlwZUNsaWNrRmlyc3RBZCA6IDk5OTkwMDAzLCAvL+WIhua1gWljb27mmL7npLpcclxuICAgICAgICBjbGlja1N0YXRFdmVudFR5cGVDbGlja1NlY29uZEFkIDogOTk5OTAwMDQsIC8v546p5a6254K55Ye75YiG5rWB5oyJ6ZKuXHJcbiAgICAgICAgY2xpY2tTdGF0RXZlbnRUeXBlV3hMb2dpblN0YXJ0IDogMTAwMDEsLy/lvq7kv6HnmbvlvZXlvIDlp4tcclxuICAgICAgICBjbGlja1N0YXRFdmVudFR5cGVXeExvZ2luU3VjY2VzcyA6IDEwMDAyLC8v5b6u5L+h55m75b2V5oiQ5YqfXHJcbiAgICAgICAgY2xpY2tTdGF0RXZlbnRUeXBlV3hMb2dpbkZhaWxlZCA6IDEwMDAzLC8v5b6u5L+h55m75b2V5aSx6LSlXHJcbiAgICAgICAgY2xpY2tTdGF0RXZlbnRUeXBlQXV0aG9yaXphdGlvblN0YXJ0IDogMTAwMDMsLy/mjojmnYPlvIDlp4tcclxuICAgICAgICBjbGlja1N0YXRFdmVudFR5cGVBdXRob3JpemF0aW9uU3VjY2VzcyA6IDEwMDA0LC8v5o6I5p2D5oiQ5YqfXHJcbiAgICAgICAgY2xpY2tTdGF0RXZlbnRUeXBlQXV0aG9yaXphdGlvbkZhaWxlZCA6IDEwMDA1LC8v5o6I5p2D5aSx6LSlXHJcbiAgICAgICAgY2xpY2tTdGF0RXZlbnRUeXBlTG9naW5TREtTdGFydCA6IDEwMDA3LC8v55m75b2VU0RL5byA5aeLXHJcbiAgICAgICAgY2xpY2tTdGF0RXZlbnRUeXBlTG9naW5TREtTdWNjZXNzIDogMTAwMDgsLy/nmbvlvZVTREvmiJDlip9cclxuICAgICAgICBjbGlja1N0YXRFdmVudFR5cGVMb2dpblNES0ZhaWxlZCA6IDEwMDA5LC8v55m75b2VU0RL5pe25aSx6LSlXHJcbiAgICAgICAgY2xpY2tTdGF0RXZlbnRUeXBlVENQX1N0YXJ0IDogMTAwMDksLy9UQ1Dov57mjqXlvIDlp4tcclxuICAgICAgICBjbGlja1N0YXRFdmVudFR5cGVUQ1BfU3VjY2VzcyA6IDEwMDEwLC8vVENQ6L+e5o6l5oiQ5YqfXHJcbiAgICAgICAgY2xpY2tTdGF0RXZlbnRUeXBlVENQX0ZhaWxlZCA6IDEwMDExLC8vVENQ6L+e5o6l5aSx6LSlXHJcbiAgICB9O1xyXG5cclxufTsiXX0= +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/module/Notification/Notification.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '55403VjGlpPL564gsdiZBg3', 'Notification'); +// Script/module/Notification/Notification.ts + +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Notifications = void 0; +//全局通知 +var Notifications = { + _eventMap: [], + on: function (masgId, callback, target) { + if (this._eventMap[masgId] === undefined) { + this._eventMap[masgId] = []; + } + this._eventMap[masgId].push({ callback: callback, target: target }); + }, + emit: function (masgId, parameter) { + var array = this._eventMap[masgId]; + if (array === undefined) + return; + for (var i = 0; i < array.length; i++) { + var element = array[i]; + if (element) + element.callback.call(element.target, parameter); + } + }, + off: function (masgId, callback) { + var array = this._eventMap[masgId]; + if (array === undefined) + return; + for (var i = 0; i < array.length; i++) { + var element = array[i]; + if (element && element.callback === callback) { + array[i] = undefined; + break; + } + } + }, + offMasgId: function (masgId) { + this._eventMap[masgId] = undefined; + }, + removeAllMsg: function () { + for (var k in this._eventMap) { + if (this._eventMap[k]) { + this.offMasgId(k); + } + } + } +}; +exports.Notifications = Notifications; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXE5vdGlmaWNhdGlvblxcTm90aWZpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE1BQU07QUFDTixJQUFJLGFBQWEsR0FBRztJQUNoQixTQUFTLEVBQUUsRUFBRTtJQUNiLEVBQUUsRUFBRSxVQUFVLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTTtRQUNsQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQy9CO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxJQUFJLEVBQUUsVUFBVSxNQUFNLEVBQUUsU0FBUztRQUM3QixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLElBQUksS0FBSyxLQUFLLFNBQVM7WUFBRSxPQUFPO1FBRWhDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixJQUFJLE9BQU87Z0JBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztTQUNqRTtJQUNMLENBQUM7SUFFRCxHQUFHLEVBQUUsVUFBVSxNQUFNLEVBQUUsUUFBUTtRQUMzQixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLElBQUksS0FBSyxLQUFLLFNBQVM7WUFBRSxPQUFPO1FBQ2hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRTtnQkFDMUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztnQkFDckIsTUFBTTthQUNUO1NBQ0o7SUFDTCxDQUFDO0lBRUQsU0FBUyxFQUFFLFVBQVUsTUFBTTtRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsWUFBWSxFQUFFO1FBQ1YsS0FBSyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzFCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNyQjtTQUNKO0lBQ0wsQ0FBQztDQUNKLENBQUM7QUFDTyxzQ0FBYSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8v5YWo5bGA6YCa55+lXG52YXIgTm90aWZpY2F0aW9ucyA9IHtcbiAgICBfZXZlbnRNYXA6IFtdLFxuICAgIG9uOiBmdW5jdGlvbiAobWFzZ0lkLCBjYWxsYmFjaywgdGFyZ2V0KSB7XG4gICAgICAgIGlmICh0aGlzLl9ldmVudE1hcFttYXNnSWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2V2ZW50TWFwW21hc2dJZF0gPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9ldmVudE1hcFttYXNnSWRdLnB1c2goeyBjYWxsYmFjazogY2FsbGJhY2ssIHRhcmdldDogdGFyZ2V0IH0pO1xuICAgIH0sXG5cbiAgICBlbWl0OiBmdW5jdGlvbiAobWFzZ0lkLCBwYXJhbWV0ZXIpIHtcbiAgICAgICAgbGV0IGFycmF5ID0gdGhpcy5fZXZlbnRNYXBbbWFzZ0lkXTtcbiAgICAgICAgaWYgKGFycmF5ID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgZWxlbWVudCA9IGFycmF5W2ldO1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQpIGVsZW1lbnQuY2FsbGJhY2suY2FsbChlbGVtZW50LnRhcmdldCwgcGFyYW1ldGVyKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBvZmY6IGZ1bmN0aW9uIChtYXNnSWQsIGNhbGxiYWNrKSB7XG4gICAgICAgIGxldCBhcnJheSA9IHRoaXMuX2V2ZW50TWFwW21hc2dJZF07XG4gICAgICAgIGlmIChhcnJheSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGxldCBlbGVtZW50ID0gYXJyYXlbaV07XG4gICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LmNhbGxiYWNrID09PSBjYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIGFycmF5W2ldID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcblxuICAgIG9mZk1hc2dJZDogZnVuY3Rpb24gKG1hc2dJZCkge1xuICAgICAgICB0aGlzLl9ldmVudE1hcFttYXNnSWRdID0gdW5kZWZpbmVkO1xuICAgIH0sXG5cbiAgICByZW1vdmVBbGxNc2c6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZm9yIChsZXQgayBpbiB0aGlzLl9ldmVudE1hcCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2V2ZW50TWFwW2tdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vZmZNYXNnSWQoayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuZXhwb3J0IHsgTm90aWZpY2F0aW9ucyB9OyJdfQ== //------QC-SOURCE-SPLIT------ (function() { @@ -6038,7 +5185,7 @@ var GameTool = { "matchId": matchId, "data": data }; - // console.log("上传数据:") + console.log("上传数据:", postData); cc.fx.HttpUtil.uploadUserLogData(postData, function () { }); }, //上传排行榜 type为1 @@ -6257,13 +5404,13 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFRvb2xcXEdhbWVUb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLCtCQUErQjtBQUMvQixJQUFJLFFBQVEsR0FBRztJQUNYLFVBQVUsRUFBRSxDQUFDO0lBQ2IsUUFBUSxFQUFFLENBQUM7SUFDWCxVQUFVLEVBQUUsQ0FBQztJQUNiLFVBQVU7SUFDVixjQUFjO1FBQ1YsSUFBSSxJQUFJLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDckQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEQsSUFBRyxJQUFJLElBQUksVUFBVSxJQUFJLElBQUksSUFBRSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsRUFBQztZQUM5QyxJQUFJLEdBQUcsR0FBRyw2RUFBNkUsR0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ3RHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztTQUM5QjthQUNHO1lBQ0EsRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQztZQUMzQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDM0Q7SUFDTCxDQUFDO0lBRUQsTUFBTTtJQUNOLFdBQVc7UUFDUCxvQkFBb0I7UUFDcEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNoQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFF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RyxFQUFFLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBLE9BQU87UUFDL0MsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUNqQixJQUFHLEdBQUcsR0FBRyxFQUFFO1lBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBQyxHQUFHLENBQUM7UUFDekIsSUFBSSxRQUFRLEdBQUcsS0FBSyxHQUFHLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQSxhQUFhO1FBQzlELElBQUksSUFBSSxHQUFHLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBRyxRQUFRLEdBQUcsRUFBRTtZQUFFLElBQUksR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUE7SUFDekIsQ0FBQztJQUVELE9BQU87SUFDUCxPQUFPO1FBQ0gsSUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN2QyxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBQ0QsVUFBVSxFQUFDO0lBRVgsQ0FBQztJQUNELGVBQWUsRUFBQztJQUVoQixDQUFDO0NBRUosQ0FBQztBQUNPLDRCQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi8v5pyA5aSn5bel5YW357G7ICDlkITnp43lhazlhbHmlrnms5XvvIzku6Xlj4rlpITnkIbkuIrkvKDvvIzojrflj5blkI7nq6/mjqXlj6PmlbDmja5cclxudmFyIEdhbWVUb29sID0ge1xyXG4gICAgX3N0YXJ0VGltZTogMCxcclxuICAgIF9lbmRUaW1lOiAwLFxyXG4gICAgX3RvdGFsVGltZTogMCxcclxuICAgIC8v6I635Y+WdXNlcklkXHJcbiAgICBBdXRoZW50aWNhdGlvbigpe1xyXG4gICAgICAgIGxldCBuYW1lID0gXCJ1c2VyX1wiICsgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZDtcclxuICAgICAgICB2YXIgZGF0YSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0obmFtZSkpO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJ1bmRpZmVuZFwiIHx8IGRhdGE9PW51bGwgfHwgZGF0YSA9PSBcIlwiKXtcclxuICAgICAgICAgICAgbGV0IHVybCA9IFwiaHR0cDovL2FwaS5zcGFya3VzLmNuL2FwaS91c2VyL2F1dGgvbG9naW4/ZG9tYWluPWh1aTMyNTc5V2RZUHNnWXEmY2FsbGJhY2s9XCIrbG9jYXRpb24uaHJlZjtcclxuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGNjLmZ4LlN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UobmFtZSxkYXRhKTtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnVzZXJJZCA9IHBhcnNlSW50KGRhdGEudXNlcklkKTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIC8v5Z+L54K55LiK5LygXHJcbiAgICBzZXRHYW1lRGF0YSgpe1xyXG4gICAgICAgIC8vR0FNRV9EQVRBIOWIneWni+WMliDmr4/mrKHmuIXpm7ZcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdBTUVfREFUQSA9IFtdO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR0FNRV9EQVRBLnB1c2goY2MuZnguR2FtZUNvbmZpZy5DTElDS19EQVRBKTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX2luaXQoKTtcclxuICAgICAgICBsZXQgZGF0YSA9IGNjLmZ4LkdhbWVDb25maWcuR0FNRV9EQVRBO1xyXG4gICAgICAgIGxldCBtYXRjaElkID0gdGhpcy5nZXRNYXRjaElkKCk7XHJcbiAgICAgICAgbGV0IHBvc3REYXRhID0ge1xyXG4gICAgICAgICAgICBcImdhbWVJZFwiOmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5nYW1lSWQsXHJcbiAgICAgICAgICAgIFwidXNlcklkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnVzZXJJZCxcclxuICAgICAgICAgICAgXCJtYXRjaElkXCI6bWF0Y2hJZCxcclxuICAgICAgICAgICAgXCJkYXRhXCI6IGRhdGFcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuS4iuS8oOaVsOaNrjpcIilcclxuICAgICAgICBjYy5meC5IdHRwVXRpbC51cGxvYWRVc2VyTG9nRGF0YShwb3N0RGF0YSxmdW5jdGlvbigpe30pXHJcbiAgICB9LFxyXG4gICAgLy/kuIrkvKDmjpLooYzmppwgIHR5cGXkuLoxXHJcbiAgICBzZXRSYW5rKGRhdGEpe1xyXG4gICAgICAgIC8vR0FNRV9EQVRBIOWIneWni+WMliDmr4/mrKHmuIXpm7ZcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwiZ2FtZUlkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZCxcclxuICAgICAgICAgICAgXCJ1c2VySWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkLFxyXG4gICAgICAgICAgICBcInR5cGVcIjoxLFxyXG4gICAgICAgICAgICBcInJlYWN0aW9uVGltZVwiOiBkYXRhLFxyXG4gICAgICAgICAgICBcInRvdGFsU3VuQ291bnRcIjogY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnRvdGFsLFxyXG4gICAgICAgICAgICBcInN1Y2Nlc3NcIjogY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnN1Y2Nlc3NcclxuICAgICAgICB9O1xyXG4gICAgICAgIGNjLmZ4Lkh0dHBVdGlsLnJhbmtEYXRhKDEsZnVuY3Rpb24oKXt9LHBvc3REYXRhKTtcclxuICAgIH0sXHJcbiAgICAvL+iOt+WPluaOkuihjOamnCB0eXBl5Li6MlxyXG4gICAgZ2V0UmFuayhkYXRhLGNhbGxiYWNrKXtcclxuICAgICAgICBsZXQgcmFua0xlbmd0aCA9IGRhdGEubGVuZ3RoO1xyXG4gICAgICAgIGxldCBwb3N0RGF0YSA9IHtcclxuICAgICAgICAgICAgXCJnYW1lSWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ2FtZUlkLFxyXG4gICAgICAgICAgICBcInVzZXJJZFwiOmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy51c2VySWQsXHJcbiAgICAgICAgICAgIFwicGFnZVwiOjEsXHJcbiAgICAgICAgICAgIFwicGFnZVNpemVcIjpyYW5rTGVuZ3RoXHJcbiAgICAgICAgfTsgXHJcbiAgICAgICAgLy/lm57osIPov5tnZXRSYW5rRGF0YVxyXG4gICAgICAgIGNjLmZ4Lkh0dHBVdGlsLnJhbmtEYXRhKDIsZGF0YSA9PntjYWxsYmFjayhkYXRhKX0scG9zdERhdGEpO1xyXG4gICAgfSxcclxuICAgIC8v6I635Y+WbWF0Y2hJZCAg55So5LqO5LiK5Lyg5q+P5qyh54K55Ye75pWw5o2u6YeM6Z2i6K6w5b2VaWTmlrnkvr/mn6Xor6JcclxuICAgIGdldE1hdGNoSWQgKCl7XHJcbiAgICAgICAgbGV0IG1hdGNoSWQgPSBjYy5zeXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJtYXRjaElkXCIpO1xyXG4gICAgICAgIGlmKG1hdGNoSWQgPT0gXCJ1bmRpZmVuZFwiIHx8IG1hdGNoSWQ9PW51bGwpe1xyXG4gICAgICAgICAgICBtYXRjaElkID0gIHRoaXMuc2V0TWF0Y2hJZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBpZih0aGlzLmNvbnRhaW5zTmFuYW5hKG1hdGNoSWQpID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgbWF0Y2hJZCA9ICB0aGlzLnNldE1hdGNoSWQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgbGV0IGNoYXIgPSBwYXJzZUludChtYXRjaElkWzEwXSk7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmxldmVsID09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgIGNoYXIgKz0gMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIG1hdGNoSWQgID0gbWF0Y2hJZC5zbGljZSgwLCAxMCkgKyBjaGFyICsgXCJcIjtcclxuICAgICAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tYXRjaElkID0gbWF0Y2hJZDtcclxuICAgICAgICAgICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoSWRcIixtYXRjaElkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbWF0Y2hJZDtcclxuICAgIH0sXHJcbiAgICAvL+ajgOa1i21hdGNoSWQg5aaC5p6c5pyJ57yT5a2Y5Lul5YmN55qEbmFuYW5h5pWw5o2u5riF6ZmkXHJcbiAgICBjb250YWluc05hbmFuYShzdHIpIHtcclxuICAgICAgICByZXR1cm4gL25hL2kudGVzdChzdHIpO1xyXG4gICAgfSxcclxuICAgIC8v6YeN5paw6K6+572uTWF0Y2hJZFxyXG4gICAgc2V0TWF0Y2hJZCAoKXtcclxuICAgICAgICAvLyDlrprkuYnljIXlkKvlj6/nlKjlrZfnrKbnmoTlrZfnrKbpm4ZcclxuICAgICAgICBjb25zdCBjaGFyYWN0ZXJzID0gJ2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5JztcclxuICAgICAgICAvLyDliJvlu7rkuIDkuKrmlbDnu4Tku6Xkv53lrZjpmo/mnLrlrZfnrKZcclxuICAgICAgICBjb25zdCB1dWlkQXJyYXkgPSBbXTtcclxuICAgICAgICAvLyDlvqrnjq8xMOasoSDnlJ/miJAxMOS9jeeahFVVSURcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIC8vIOeUn+aIkOmaj+acuue0ouW8le+8jOiMg+WbtOaYr+Wtl+espumbhueahOmVv+W6plxyXG4gICAgICAgICAgICBjb25zdCByYW5kb21JbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJhY3RlcnMubGVuZ3RoKTtcclxuICAgICAgICAgICAgLy8g5LuO5a2X56ym6ZuG5Lit6I635Y+W6ZqP5py65a2X56ymXHJcbiAgICAgICAgICAgIGNvbnN0IHJhbmRvbUNoYXIgPSBjaGFyYWN0ZXJzLmNoYXJBdChyYW5kb21JbmRleCk7XHJcbiAgICAgICAgICAgIC8vIOWwhuWtl+espua3u+WKoOWIsOaVsOe7hOS4rVxyXG4gICAgICAgICAgICB1dWlkQXJyYXkucHVzaChyYW5kb21DaGFyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGRhdGEgPSAgdXVpZEFycmF5LmpvaW4oJycpICsgMSArIFwiXCI7XHJcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwibWF0Y2hOdW1iZXJcIiwxKTtcclxuICAgICAgICBjYy5zeXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJtYXRjaElkXCIsZGF0YSk7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1hdGNoSWQgPSBkYXRhO1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgfSxcclxuICAgIC8v5oiq5Y+W5ZCN5a2XXHJcbiAgICBzdWJOYW1lKG5hbWUsbGVuZ3RoKXtcclxuICAgICAgICBpZihuYW1lLmxlbmd0aCA+IGxlbmd0aCl7XHJcbiAgICAgICAgICAgIG5hbWUgPSBuYW1lLnN1YnN0cmluZygwLGxlbmd0aCkgKyBcIi4uLlwiXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuYW1lO1xyXG4gICAgfSxcclxuICAgIC8v6K6+572u5aS05YOPXHJcbiAgICBzZXRQaWMobm9kZSxwaWMpe1xyXG4gICAgICAgIG5vZGUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgbGV0IHVybCA9IHBpYztcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgZmV0Y2godXJsKVxyXG4gICAgICAgICAgICAudGhlbihyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ0NvbnRlbnQtTGVuZ3RoJyk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC50aGVuKGVyck5vID0+IHtcclxuICAgICAgICAgICAgICAgIGlmKGVyck5vID09IFwiNTA5M1wiKXtcclxuICAgICAgICAgICAgICAgICAgICBub2RlLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBYLUluZm86JywgZXJyb3IpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9LCAxMDApO1xyXG4gICAgICAgIGNjLmFzc2V0TWFuYWdlci5sb2FkUmVtb3RlKHVybCwge2V4dDonLmpwZyd9LChlcnIsIHRleHR1cmU6Y2MuVGV4dHVyZTJEKSA9PiB7XHJcbiAgICAgICAgICAgIGlmKHRleHR1cmUpe1xyXG4gICAgICAgICAgICAgICAgbm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgbm9kZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyLHRleHR1cmUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfSxcclxuICAgIC8v56ys5LiA5Liq5Y+C5pWw5oqK55uu5qCH5bim6L+b5p2l5aSE55CG77yM56ys5LqM5Liq5Y+C5pWw5Li65ZCN5a2X6ZW/5bqm77yM5LiN5ZCM5Zy65pmv5LiN5ZCM6ZyA5rGCXHJcbiAgICAvL+WQjeWtlzTnn63vvIzlsI/mjpLooYzvvIzlkI3lrZc26ZW/77yM5aSn5o6S6KGMXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhLHRhcmdldCxuYW1lTGVuZ3RoKXtcclxuICAgICAgICB0YXJnZXQubGlzdERhdGEgPSBkYXRhLmRhdGEubGlzdDtcclxuICAgICAgICB0YXJnZXQuc2VsZkRhdGEgPSBkYXRhLmRhdGEuaW5mbztcclxuICAgICAgICBsZXQgcmFua0RhdGEgPSBbXTtcclxuICAgICAgICBsZXQgc2VsZiA9IGZhbHNlO1xyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRQaWModGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKSx0YXJnZXQuc2VsZkRhdGEucGljKTtcclxuICAgICAgICBmb3IobGV0IGk9MDtpPD10YXJnZXQubGlzdERhdGEubGVuZ3RoLTE7aSsrKXtcclxuICAgICAgICAgICAgcmFua0RhdGEucHVzaCh7cmFuazooaSsxKSwgbmFtZTp0YXJnZXQubGlzdERhdGFbaV0ubmlja05hbWUsIHRvdGFsOnRhcmdldC5saXN0RGF0YVtpXS50b3RhbFN1bkNvdW50LCBwaWM6dGFyZ2V0Lmxpc3REYXRhW2ldLnBpY30pO1xyXG4gICAgICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkID09IHRhcmdldC5saXN0RGF0YVtpXS51c2VySWQpe1xyXG4gICAgICAgICAgICAgICAgc2VsZiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQucmFua051bWJlciA9IGk7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0oaSsxKSArIFwiXCI7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKGkgPT0gKHRhcmdldC5saXN0RGF0YS5sZW5ndGgtMSkgJiYgc2VsZiA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQucmFua051bWJlciA9IGk7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gXCI5OStcIjsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgIGNjLmZ4LkdhbWVUb29sLnN1Yk5hbWUodGFyZ2V0LnNlbGZEYXRhLm5pY2tOYW1lLG5hbWVMZW5ndGgpO1xyXG4gICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcIm5hbWVMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0YXJnZXQuc2VsZkRhdGEubmlja05hbWU7XHJcbiAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwidG90YWxMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0YXJnZXQuc2VsZkRhdGEudG90YWxTdW5Db3VudDtcclxuICAgICAgICBzd2l0Y2godGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyl7XHJcbiAgICAgICAgICAgIGNhc2UgXCIxXCI6XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwib25lXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcIjJcIjpcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ0d29cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwiM1wiOlxyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInRocmVlXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOWkp+aOkuihjFxyXG4gICAgICAgIGlmKG5hbWVMZW5ndGggPT0gNil7XHJcbiAgICAgICAgICAgIHRhcmdldC5yYW5rTGlzdC5zZXREYXRhKHJhbmtEYXRhKTtcclxuICAgICAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgIGlmKHRhcmdldC5zZWxmRGF0YS50b3RhbFN1bkNvdW50ID09IDApIHRhcmdldC5zZWxmTm9kZS5vcGFjaXR5ID0gMDtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFNldFNjcmVlblJlc29sdXRpb25GbGFnOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgbGV0IHNpemUgPSBjYy53aW5TaXplO1xyXG4gICAgICAgIGxldCB3aWR0aCA9IHNpemUud2lkdGg7XHJcbiAgICAgICAgbGV0IGhlaWdodCA9IHNpemUuaGVpZ2h0O1xyXG4gICAgICAgIGlmICgoaGVpZ2h0IC8gd2lkdGgpID4gKDE2LjIgLyA5KSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSxcclxuICAgIC8v5Yik5pat5YWo6Z2i5bGP6YCC6YWNXHJcbiAgICBzZXRGaXQ6IGZ1bmN0aW9uIChjYW52YXMpIHtcclxuICAgICAgICBsZXQgZmxhZyA9ICBjYy5meC5HYW1lVG9vbC5nZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZygpO1xyXG4gICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgXHQvLyBjb25zb2xlLmxvZyhcIuS4jeaYr+WFqOmdouWxj1wiKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIFx0Ly8gY29uc29sZS5sb2coXCLmmK/lhajpnaLlsY9cIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmbGFnO1xyXG4gICAgfSxcclxuICAgIC8v6I635Y+W5ri45oiP5L+h5oGvXHJcbiAgICBnZXRHYW1lSW5mbzogZnVuY3Rpb24obm9kZSl7XHJcbiAgICAgICAgdmFyIGpnID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIGpnO1xyXG4gICAgfSxcclxuICAgIC8v6K6+572u5ri45oiP5L+h5oGvXHJcbiAgICBzZXRHYW1lSW5mbzogZnVuY3Rpb24ocGQpe1xyXG4gICBcclxuICAgIH0sXHJcbiAgICAvL+i+k+WFpeenkizov5Tlm57pnIDopoHlsZXnpLrml7bpl7TmoLzlvI9cclxuICAgIGdldFRpbWVNYXJnaW46KHNlY29uZCkgPT4ge1xyXG4gICAgICAgIGxldCB0b3RhbCA9IDA7XHJcbiAgICAgICAgdG90YWwgPSBzZWNvbmQ7XHJcbiAgICAgICAgbGV0IGhvdXIgPSAwO1xyXG4gICAgICAgIGhvdXIgPSBwYXJzZUludCgodG90YWwgLyAzNjAwKSArIFwiXCIpOy8v6K6h566X5pW05pWw5bCP5pe25pWwXHJcbiAgICAgICAgbGV0IGFmdGVySG91ciA9IHRvdGFsIC0gaG91ciAqIDYwICogNjA7Ly/lj5blvpfnrpflh7rlsI/ml7bmlbDlkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWluID0gcGFyc2VJbnQoKGFmdGVySG91ciAvIDYwKStcIlwiKTsvL+iuoeeul+aVtOaVsOWIhlxyXG4gICAgICAgIGxldCBtID0gXCJcIiArIG1pbjsgIFxyXG4gICAgICAgIGlmKG1pbiA8IDEwKSBtID0gXCIwXCIrbWluO1xyXG4gICAgICAgIGxldCBhZnRlck1pbiA9IHRvdGFsIC0gaG91ciAqIDYwICogNjAgLSBtaW4gKiA2MDsvL+WPluW+l+eul+WHuuWIhuWQjuWJqeS9meeahOenkuaVsFxyXG4gICAgICAgIGxldCBtaWFvID0gYWZ0ZXJNaW4gKyBcIlwiO1xyXG4gICAgICAgIGlmKGFmdGVyTWluIDwgMTApIG1pYW8gPSBcIjBcIiArIGFmdGVyTWluO1xyXG4gICAgICAgIHJldHVybiBtICsgJzonICsgbWlhb1xyXG4gICAgfSxcclxuXHJcbiAgICAvL+iOt+WPluaXtumXtOaIs1xyXG4gICAgZ2V0VGltZSgpe1xyXG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHJldHVybiB0aW1lc3RhbXA7XHJcbiAgICB9LFxyXG4gICAgcHVzaExpc3RlcjpmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgXHJcbiAgICB9LFxyXG4gICAgcmVtb3ZlQWxsTGlzdGVyOmZ1bmN0aW9uICgpIHtcclxuICAgICAgICBcclxuICAgIH0sXHJcblxyXG59O1xyXG5leHBvcnQgeyBHYW1lVG9vbCB9OyJdfQ== +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFRvb2xcXEdhbWVUb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLCtCQUErQjtBQUMvQixJQUFJLFFBQVEsR0FBRztJQUNYLFVBQVUsRUFBRSxDQUFDO0lBQ2IsUUFBUSxFQUFFLENBQUM7SUFDWCxVQUFVLEVBQUUsQ0FBQztJQUNiLFVBQVU7SUFDVixjQUFjO1FBQ1YsSUFBSSxJQUFJLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDckQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEQsSUFBRyxJQUFJLElBQUksVUFBVSxJQUFJLElBQUksSUFBRSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsRUFBQztZQUM5QyxJQUFJLEdBQUcsR0FBRyw2RUFBNkUsR0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ3RHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztTQUM5QjthQUNHO1lBQ0EsRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQztZQUMzQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDM0Q7SUFDTCxDQUFDO0lBRUQsTUFBTTtJQUNOLFdBQVc7UUFDUCxvQkFBb0I7UUFDcEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNoQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFF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SUFBSSxHQUFHLEdBQUcsUUFBUSxDQUFDLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUEsT0FBTztRQUMvQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLElBQUcsR0FBRyxHQUFHLEVBQUU7WUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFDLEdBQUcsQ0FBQztRQUN6QixJQUFJLFFBQVEsR0FBRyxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFBLGFBQWE7UUFDOUQsSUFBSSxJQUFJLEdBQUcsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFHLFFBQVEsR0FBRyxFQUFFO1lBQUUsSUFBSSxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUM7UUFDeEMsT0FBTyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQTtJQUN6QixDQUFDO0lBRUQsT0FBTztJQUNQLE9BQU87UUFDSCxJQUFNLFNBQVMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZDLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxVQUFVLEVBQUM7SUFFWCxDQUFDO0lBQ0QsZUFBZSxFQUFDO0lBRWhCLENBQUM7Q0FFSixDQUFDO0FBQ08sNEJBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLy/mnIDlpKflt6XlhbfnsbsgIOWQhOenjeWFrOWFseaWueazle+8jOS7peWPiuWkhOeQhuS4iuS8oO+8jOiOt+WPluWQjuerr+aOpeWPo+aVsOaNrlxyXG52YXIgR2FtZVRvb2wgPSB7XHJcbiAgICBfc3RhcnRUaW1lOiAwLFxyXG4gICAgX2VuZFRpbWU6IDAsXHJcbiAgICBfdG90YWxUaW1lOiAwLFxyXG4gICAgLy/ojrflj5Z1c2VySWRcclxuICAgIEF1dGhlbnRpY2F0aW9uKCl7XHJcbiAgICAgICAgbGV0IG5hbWUgPSBcInVzZXJfXCIgKyBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ2FtZUlkO1xyXG4gICAgICAgIHZhciBkYXRhID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShuYW1lKSk7XHJcbiAgICAgICAgaWYoZGF0YSA9PSBcInVuZGlmZW5kXCIgfHwgZGF0YT09bnVsbCB8fCBkYXRhID09IFwiXCIpe1xyXG4gICAgICAgICAgICBsZXQgdXJsID0gXCJodHRwOi8vYXBpLnNwYXJrdXMuY24vYXBpL3VzZXIvYXV0aC9sb2dpbj9kb21haW49aHVpMzI1NzlXZFlQc2dZcSZjYWxsYmFjaz1cIitsb2NhdGlvbi5ocmVmO1xyXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgY2MuZnguU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShuYW1lLGRhdGEpO1xyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkID0gcGFyc2VJbnQoZGF0YS51c2VySWQpO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgLy/ln4vngrnkuIrkvKBcclxuICAgIHNldEdhbWVEYXRhKCl7XHJcbiAgICAgICAgLy9HQU1FX0RBVEEg5Yid5aeL5YyWIOavj+asoea4hembtlxyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR0FNRV9EQVRBID0gW107XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HQU1FX0RBVEEucHVzaChjYy5meC5HYW1lQ29uZmlnLkNMSUNLX0RBVEEpO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfaW5pdCgpO1xyXG4gICAgICAgIGxldCBkYXRhID0gY2MuZnguR2FtZUNvbmZpZy5HQU1FX0RBVEE7XHJcbiAgICAgICAgbGV0IG1hdGNoSWQgPSB0aGlzLmdldE1hdGNoSWQoKTtcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwiZ2FtZUlkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZCxcclxuICAgICAgICAgICAgXCJ1c2VySWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkLFxyXG4gICAgICAgICAgICBcIm1hdGNoSWRcIjptYXRjaElkLFxyXG4gICAgICAgICAgICBcImRhdGFcIjogZGF0YVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGNvbnNvbGUubG9nKFwi5LiK5Lyg5pWw5o2uOlwiLHBvc3REYXRhKTtcclxuICAgICAgICBjYy5meC5IdHRwVXRpbC51cGxvYWRVc2VyTG9nRGF0YShwb3N0RGF0YSxmdW5jdGlvbigpe30pXHJcbiAgICB9LFxyXG4gICAgLy/kuIrkvKDmjpLooYzmppwgIHR5cGXkuLoxXHJcbiAgICBzZXRSYW5rKGRhdGEpe1xyXG4gICAgICAgIC8vR0FNRV9EQVRBIOWIneWni+WMliDmr4/mrKHmuIXpm7ZcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwiZ2FtZUlkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZCxcclxuICAgICAgICAgICAgXCJ1c2VySWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkLFxyXG4gICAgICAgICAgICBcInR5cGVcIjoxLFxyXG4gICAgICAgICAgICBcInJlYWN0aW9uVGltZVwiOiBkYXRhLFxyXG4gICAgICAgICAgICBcInRvdGFsU3VuQ291bnRcIjogY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnRvdGFsLFxyXG4gICAgICAgICAgICBcInN1Y2Nlc3NcIjogY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnN1Y2Nlc3NcclxuICAgICAgICB9O1xyXG4gICAgICAgIGNjLmZ4Lkh0dHBVdGlsLnJhbmtEYXRhKDEsZnVuY3Rpb24oKXt9LHBvc3REYXRhKTtcclxuICAgIH0sXHJcbiAgICAvL+iOt+WPluaOkuihjOamnCB0eXBl5Li6MlxyXG4gICAgZ2V0UmFuayhkYXRhLGNhbGxiYWNrKXtcclxuICAgICAgICBsZXQgcmFua0xlbmd0aCA9IGRhdGEubGVuZ3RoO1xyXG4gICAgICAgIGxldCBwb3N0RGF0YSA9IHtcclxuICAgICAgICAgICAgXCJnYW1lSWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ2FtZUlkLFxyXG4gICAgICAgICAgICBcInVzZXJJZFwiOmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy51c2VySWQsXHJcbiAgICAgICAgICAgIFwicGFnZVwiOjEsXHJcbiAgICAgICAgICAgIFwicGFnZVNpemVcIjpyYW5rTGVuZ3RoXHJcbiAgICAgICAgfTsgXHJcbiAgICAgICAgLy/lm57osIPov5tnZXRSYW5rRGF0YVxyXG4gICAgICAgIGNjLmZ4Lkh0dHBVdGlsLnJhbmtEYXRhKDIsZGF0YSA9PntjYWxsYmFjayhkYXRhKX0scG9zdERhdGEpO1xyXG4gICAgfSxcclxuICAgIC8v6I635Y+WbWF0Y2hJZCAg55So5LqO5LiK5Lyg5q+P5qyh54K55Ye75pWw5o2u6YeM6Z2i6K6w5b2VaWTmlrnkvr/mn6Xor6JcclxuICAgIGdldE1hdGNoSWQgKCl7XHJcbiAgICAgICAgbGV0IG1hdGNoSWQgPSBjYy5zeXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJtYXRjaElkXCIpO1xyXG4gICAgICAgIGlmKG1hdGNoSWQgPT0gXCJ1bmRpZmVuZFwiIHx8IG1hdGNoSWQ9PW51bGwpe1xyXG4gICAgICAgICAgICBtYXRjaElkID0gIHRoaXMuc2V0TWF0Y2hJZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBpZih0aGlzLmNvbnRhaW5zTmFuYW5hKG1hdGNoSWQpID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgbWF0Y2hJZCA9ICB0aGlzLnNldE1hdGNoSWQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgbGV0IGNoYXIgPSBwYXJzZUludChtYXRjaElkWzEwXSk7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmxldmVsID09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgIGNoYXIgKz0gMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIG1hdGNoSWQgID0gbWF0Y2hJZC5zbGljZSgwLCAxMCkgKyBjaGFyICsgXCJcIjtcclxuICAgICAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tYXRjaElkID0gbWF0Y2hJZDtcclxuICAgICAgICAgICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoSWRcIixtYXRjaElkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbWF0Y2hJZDtcclxuICAgIH0sXHJcbiAgICAvL+ajgOa1i21hdGNoSWQg5aaC5p6c5pyJ57yT5a2Y5Lul5YmN55qEbmFuYW5h5pWw5o2u5riF6ZmkXHJcbiAgICBjb250YWluc05hbmFuYShzdHIpIHtcclxuICAgICAgICByZXR1cm4gL25hL2kudGVzdChzdHIpO1xyXG4gICAgfSxcclxuICAgIC8v6YeN5paw6K6+572uTWF0Y2hJZFxyXG4gICAgc2V0TWF0Y2hJZCAoKXtcclxuICAgICAgICAvLyDlrprkuYnljIXlkKvlj6/nlKjlrZfnrKbnmoTlrZfnrKbpm4ZcclxuICAgICAgICBjb25zdCBjaGFyYWN0ZXJzID0gJ2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5JztcclxuICAgICAgICAvLyDliJvlu7rkuIDkuKrmlbDnu4Tku6Xkv53lrZjpmo/mnLrlrZfnrKZcclxuICAgICAgICBjb25zdCB1dWlkQXJyYXkgPSBbXTtcclxuICAgICAgICAvLyDlvqrnjq8xMOasoSDnlJ/miJAxMOS9jeeahFVVSURcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIC8vIOeUn+aIkOmaj+acuue0ouW8le+8jOiMg+WbtOaYr+Wtl+espumbhueahOmVv+W6plxyXG4gICAgICAgICAgICBjb25zdCByYW5kb21JbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJhY3RlcnMubGVuZ3RoKTtcclxuICAgICAgICAgICAgLy8g5LuO5a2X56ym6ZuG5Lit6I635Y+W6ZqP5py65a2X56ymXHJcbiAgICAgICAgICAgIGNvbnN0IHJhbmRvbUNoYXIgPSBjaGFyYWN0ZXJzLmNoYXJBdChyYW5kb21JbmRleCk7XHJcbiAgICAgICAgICAgIC8vIOWwhuWtl+espua3u+WKoOWIsOaVsOe7hOS4rVxyXG4gICAgICAgICAgICB1dWlkQXJyYXkucHVzaChyYW5kb21DaGFyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGRhdGEgPSAgdXVpZEFycmF5LmpvaW4oJycpICsgMSArIFwiXCI7XHJcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwibWF0Y2hOdW1iZXJcIiwxKTtcclxuICAgICAgICBjYy5zeXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJtYXRjaElkXCIsZGF0YSk7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1hdGNoSWQgPSBkYXRhO1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgfSxcclxuICAgIC8v5oiq5Y+W5ZCN5a2XXHJcbiAgICBzdWJOYW1lKG5hbWUsbGVuZ3RoKXtcclxuICAgICAgICBpZihuYW1lLmxlbmd0aCA+IGxlbmd0aCl7XHJcbiAgICAgICAgICAgIG5hbWUgPSBuYW1lLnN1YnN0cmluZygwLGxlbmd0aCkgKyBcIi4uLlwiXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuYW1lO1xyXG4gICAgfSxcclxuICAgIC8v6K6+572u5aS05YOPXHJcbiAgICBzZXRQaWMobm9kZSxwaWMpe1xyXG4gICAgICAgIG5vZGUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgbGV0IHVybCA9IHBpYztcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgZmV0Y2godXJsKVxyXG4gICAgICAgICAgICAudGhlbihyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ0NvbnRlbnQtTGVuZ3RoJyk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC50aGVuKGVyck5vID0+IHtcclxuICAgICAgICAgICAgICAgIGlmKGVyck5vID09IFwiNTA5M1wiKXtcclxuICAgICAgICAgICAgICAgICAgICBub2RlLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBYLUluZm86JywgZXJyb3IpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9LCAxMDApO1xyXG4gICAgICAgIGNjLmFzc2V0TWFuYWdlci5sb2FkUmVtb3RlKHVybCwge2V4dDonLmpwZyd9LChlcnIsIHRleHR1cmU6Y2MuVGV4dHVyZTJEKSA9PiB7XHJcbiAgICAgICAgICAgIGlmKHRleHR1cmUpe1xyXG4gICAgICAgICAgICAgICAgbm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgbm9kZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyLHRleHR1cmUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfSxcclxuICAgIC8v56ys5LiA5Liq5Y+C5pWw5oqK55uu5qCH5bim6L+b5p2l5aSE55CG77yM56ys5LqM5Liq5Y+C5pWw5Li65ZCN5a2X6ZW/5bqm77yM5LiN5ZCM5Zy65pmv5LiN5ZCM6ZyA5rGCXHJcbiAgICAvL+WQjeWtlzTnn63vvIzlsI/mjpLooYzvvIzlkI3lrZc26ZW/77yM5aSn5o6S6KGMXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhLHRhcmdldCxuYW1lTGVuZ3RoKXtcclxuICAgICAgICB0YXJnZXQubGlzdERhdGEgPSBkYXRhLmRhdGEubGlzdDtcclxuICAgICAgICB0YXJnZXQuc2VsZkRhdGEgPSBkYXRhLmRhdGEuaW5mbztcclxuICAgICAgICBsZXQgcmFua0RhdGEgPSBbXTtcclxuICAgICAgICBsZXQgc2VsZiA9IGZhbHNlO1xyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRQaWModGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKSx0YXJnZXQuc2VsZkRhdGEucGljKTtcclxuICAgICAgICBmb3IobGV0IGk9MDtpPD10YXJnZXQubGlzdERhdGEubGVuZ3RoLTE7aSsrKXtcclxuICAgICAgICAgICAgcmFua0RhdGEucHVzaCh7cmFuazooaSsxKSwgbmFtZTp0YXJnZXQubGlzdERhdGFbaV0ubmlja05hbWUsIHRvdGFsOnRhcmdldC5saXN0RGF0YVtpXS50b3RhbFN1bkNvdW50LCBwaWM6dGFyZ2V0Lmxpc3REYXRhW2ldLnBpY30pO1xyXG4gICAgICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkID09IHRhcmdldC5saXN0RGF0YVtpXS51c2VySWQpe1xyXG4gICAgICAgICAgICAgICAgc2VsZiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQucmFua051bWJlciA9IGk7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0oaSsxKSArIFwiXCI7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKGkgPT0gKHRhcmdldC5saXN0RGF0YS5sZW5ndGgtMSkgJiYgc2VsZiA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQucmFua051bWJlciA9IGk7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gXCI5OStcIjsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgIGNjLmZ4LkdhbWVUb29sLnN1Yk5hbWUodGFyZ2V0LnNlbGZEYXRhLm5pY2tOYW1lLG5hbWVMZW5ndGgpO1xyXG4gICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcIm5hbWVMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0YXJnZXQuc2VsZkRhdGEubmlja05hbWU7XHJcbiAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwidG90YWxMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0YXJnZXQuc2VsZkRhdGEudG90YWxTdW5Db3VudDtcclxuICAgICAgICBzd2l0Y2godGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyl7XHJcbiAgICAgICAgICAgIGNhc2UgXCIxXCI6XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwib25lXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcIjJcIjpcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ0d29cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwiM1wiOlxyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInRocmVlXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOWkp+aOkuihjFxyXG4gICAgICAgIGlmKG5hbWVMZW5ndGggPT0gNil7XHJcbiAgICAgICAgICAgIHRhcmdldC5yYW5rTGlzdC5zZXREYXRhKHJhbmtEYXRhKTtcclxuICAgICAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgIGlmKHRhcmdldC5zZWxmRGF0YS50b3RhbFN1bkNvdW50ID09IDApIHRhcmdldC5zZWxmTm9kZS5vcGFjaXR5ID0gMDtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFNldFNjcmVlblJlc29sdXRpb25GbGFnOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgbGV0IHNpemUgPSBjYy53aW5TaXplO1xyXG4gICAgICAgIGxldCB3aWR0aCA9IHNpemUud2lkdGg7XHJcbiAgICAgICAgbGV0IGhlaWdodCA9IHNpemUuaGVpZ2h0O1xyXG4gICAgICAgIGlmICgoaGVpZ2h0IC8gd2lkdGgpID4gKDE2LjIgLyA5KSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSxcclxuICAgIC8v5Yik5pat5YWo6Z2i5bGP6YCC6YWNXHJcbiAgICBzZXRGaXQ6IGZ1bmN0aW9uIChjYW52YXMpIHtcclxuICAgICAgICBsZXQgZmxhZyA9ICBjYy5meC5HYW1lVG9vbC5nZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZygpO1xyXG4gICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgXHQvLyBjb25zb2xlLmxvZyhcIuS4jeaYr+WFqOmdouWxj1wiKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIFx0Ly8gY29uc29sZS5sb2coXCLmmK/lhajpnaLlsY9cIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmbGFnO1xyXG4gICAgfSxcclxuICAgIC8v6I635Y+W5ri45oiP5L+h5oGvXHJcbiAgICBnZXRHYW1lSW5mbzogZnVuY3Rpb24obm9kZSl7XHJcbiAgICAgICAgdmFyIGpnID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIGpnO1xyXG4gICAgfSxcclxuICAgIC8v6K6+572u5ri45oiP5L+h5oGvXHJcbiAgICBzZXRHYW1lSW5mbzogZnVuY3Rpb24ocGQpe1xyXG4gICBcclxuICAgIH0sXHJcbiAgICAvL+i+k+WFpeenkizov5Tlm57pnIDopoHlsZXnpLrml7bpl7TmoLzlvI9cclxuICAgIGdldFRpbWVNYXJnaW46KHNlY29uZCkgPT4ge1xyXG4gICAgICAgIGxldCB0b3RhbCA9IDA7XHJcbiAgICAgICAgdG90YWwgPSBzZWNvbmQ7XHJcbiAgICAgICAgbGV0IGhvdXIgPSAwO1xyXG4gICAgICAgIGhvdXIgPSBwYXJzZUludCgodG90YWwgLyAzNjAwKSArIFwiXCIpOy8v6K6h566X5pW05pWw5bCP5pe25pWwXHJcbiAgICAgICAgbGV0IGFmdGVySG91ciA9IHRvdGFsIC0gaG91ciAqIDYwICogNjA7Ly/lj5blvpfnrpflh7rlsI/ml7bmlbDlkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWluID0gcGFyc2VJbnQoKGFmdGVySG91ciAvIDYwKStcIlwiKTsvL+iuoeeul+aVtOaVsOWIhlxyXG4gICAgICAgIGxldCBtID0gXCJcIiArIG1pbjsgIFxyXG4gICAgICAgIGlmKG1pbiA8IDEwKSBtID0gXCIwXCIrbWluO1xyXG4gICAgICAgIGxldCBhZnRlck1pbiA9IHRvdGFsIC0gaG91ciAqIDYwICogNjAgLSBtaW4gKiA2MDsvL+WPluW+l+eul+WHuuWIhuWQjuWJqeS9meeahOenkuaVsFxyXG4gICAgICAgIGxldCBtaWFvID0gYWZ0ZXJNaW4gKyBcIlwiO1xyXG4gICAgICAgIGlmKGFmdGVyTWluIDwgMTApIG1pYW8gPSBcIjBcIiArIGFmdGVyTWluO1xyXG4gICAgICAgIHJldHVybiBtICsgJzonICsgbWlhb1xyXG4gICAgfSxcclxuXHJcbiAgICAvL+iOt+WPluaXtumXtOaIs1xyXG4gICAgZ2V0VGltZSgpe1xyXG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHJldHVybiB0aW1lc3RhbXA7XHJcbiAgICB9LFxyXG4gICAgcHVzaExpc3RlcjpmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgXHJcbiAgICB9LFxyXG4gICAgcmVtb3ZlQWxsTGlzdGVyOmZ1bmN0aW9uICgpIHtcclxuICAgICAgICBcclxuICAgIH0sXHJcblxyXG59O1xyXG5leHBvcnQgeyBHYW1lVG9vbCB9OyJdfQ== //------QC-SOURCE-SPLIT------ (function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/module/RankList/ItemRender.js'; + var __filename = 'preview-scripts/assets/Script/module/Config/GameConfig.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { @@ -6271,23 +5418,10 @@ cc._RF.pop(); }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'ca0f9k0oBVDbpQC+OMNTF3m', 'ItemRender'); -// Script/module/RankList/ItemRender.ts +cc._RF.push(module, 'c5692vnhwNF5J9nI7VNKQNW', 'GameConfig'); +// Script/module/Config/GameConfig.ts "use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -6295,82 +5429,303 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); +exports.GameConfig = void 0; var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var ItemRender = /** @class */ (function (_super) { - __extends(ItemRender, _super); - function ItemRender() { - var _this = _super !== null && _super.apply(this, arguments) || this; - /**数据 */ - _this.data = null; - /**索引 0表示第一项*/ - _this.itemIndex = 0; - return _this; +var GameConfig = /** @class */ (function () { + function GameConfig() { } - /**数据改变时调用 */ - ItemRender.prototype.dataChanged = function () { - cc.fx.GameTool.subName(this.data.name, 6); - this.node.getChildByName("rankLab").getComponent(cc.Label).string = this.data.rank + ""; - this.node.getChildByName("nameLab").getComponent(cc.Label).string = this.data.name + ""; - this.node.getChildByName("totalLab").getComponent(cc.Label).string = this.data.total + ""; - this.node.getChildByName("rank").getChildByName("one").active = false; - this.node.getChildByName("rank").getChildByName("two").active = false; - this.node.getChildByName("rank").getChildByName("three").active = false; - if (this.data.rank == 1) { - this.node.getChildByName("rank").getChildByName("one").active = true; - this.node.getChildByName("rankLab").active = false; - } - else if (this.data.rank == 2) { - this.node.getChildByName("rank").getChildByName("two").active = true; - this.node.getChildByName("rankLab").active = false; - } - else if (this.data.rank == 3) { - this.node.getChildByName("rank").getChildByName("three").active = true; - this.node.getChildByName("rankLab").active = false; - } - else { - this.node.getChildByName("rankLab").active = true; - } - this.setPic(); - }; - ItemRender.prototype.setPic = function () { - var _this = this; - this.node.getChildByName("pic").getChildByName("icon").active = false; - this.node.getChildByName("pic").getChildByName("pic").active = false; + GameConfig_1 = GameConfig; + Object.defineProperty(GameConfig, "Instance", { + get: function () { + if (this._instance == null) { + this._instance = new GameConfig_1(); + } + return this._instance; + }, + enumerable: false, + configurable: true + }); + GameConfig.init = function () { + this.GM_INFO_init(); + this.CLICK_init(); + this.LEVEL_INFO_init(); var self = this; - var url = this.data.pic; - fetch(url) - .then(function (response) { - return response.headers.get('Content-Length'); - }) - .then(function (errNo) { - // console.log(this.data.rank,'X-Info:', errNo); // 输出X-ErrNo的值 - if (errNo == "5093") { - // console.log(this.data.rank,"没头像"); - _this.node.getChildByName("pic").getChildByName("icon").active = true; + cc.resources.load('Json/GM_INFO', function (err, res) { + if (err) { + self.Authentication(); + return; } - }) - .catch(function (error) { - console.error('Error fetching X-Info:', error); + var jsonData = res.json; + self.GM_INFO = jsonData["data"]; + self.Authentication(); }); - cc.assetManager.loadRemote(url, { ext: '.png' }, function (err, texture) { - if (texture) { - _this.node.getChildByName("pic").getChildByName("pic").active = true; - var sprite = _this.node.getChildByName("pic").getChildByName("pic").getComponent(cc.Sprite); - sprite.spriteFrame = new cc.SpriteFrame(texture); - // console.log(this.data.rank,"设置头像成功",err); - } - else { - // console.log("设置头像失败",url); - console.log(err, texture); + cc.resources.load('Json/CLICK_DATA', function (err, res) { + if (err) { + return; } + var jsonData = res.json; + self.CLICK_DATA = jsonData["data"]; }); + cc.resources.load('Json/LEVEL_INFO', function (err, res) { + if (err) { + return; + } + var jsonData = res.json; + self.LEVEL_INFO = jsonData["data"]; + }); + //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次 + self.GAME_DATA = []; }; - ItemRender = __decorate([ - ccclass - ], ItemRender); - return ItemRender; -}(cc.Component)); -exports.default = ItemRender; + //数据备用 + GameConfig.GM_INFO_init = function () { + this.GM_INFO = { + // isEnd: false, + mean_Time: 0, + total: 0, + currSeed: 203213, + gameId: '100009', + userId: 0, + guide: true, + url: "http://api.sparkus.cn", + success: false, + matchId: null, + custom: 0 //用于测试跳关卡 + }; + }; + GameConfig.CLICK_init = function () { + this.CLICK_DATA = + { + type: 1, + success: false, + round: 0, + totalSunCount: 0, + movedSunCount: 0, + sunSpeed: 0, + overlapSunCount: 0, + colorList: [], + duration: 0, + difficultyLevel: 0, + sunList: [], + stepTimeList: [], + remainder: 120 //游戏剩余时间 + }; + }; + GameConfig.LEVEL_INFO_init = function () { + this.LEVEL_INFO = [ + { + number: 3, + moveNumber: 0, + moveSpeed: 0, + maxDistance: 200, + maxMove: 1200, + repeat: 0 //是否重叠,现在0 不重叠 1 重叠1个 + }, + { + number: 4, + moveNumber: 0, + moveSpeed: 0, + maxDistance: 200, + maxMove: 1200, + repeat: 0 + }, + { + number: 4, + moveNumber: 0, + moveSpeed: 0, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 5, + moveNumber: 1, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 0 + }, + { + number: 5, + moveNumber: 0, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 6, + moveNumber: 0, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 6, + moveNumber: 3, + moveSpeed: 4, + maxDistance: 200, + maxMove: 1200, + repeat: 0 + }, + { + number: 7, + moveNumber: 0, + moveSpeed: 4, + maxDistance: 200, + maxMove: 1200, + repeat: 0 + }, + { + number: 7, + moveNumber: 3, + moveSpeed: 4, + maxDistance: 200, + maxMove: 1200, + repeat: 0 + }, + { + number: 7, + moveNumber: 3, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 8, + moveNumber: 3, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 0 + }, + { + number: 8, + moveNumber: 5, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 9, + moveNumber: 3, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 0 + }, + { + number: 9, + moveNumber: 5, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 10, + moveNumber: 5, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 3, + moveNumber: 0, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 0 + }, + { + number: 4, + moveNumber: 0, + moveSpeed: 0, + maxDistance: 200, + maxMove: 1200, + repeat: 0 + }, + { + number: 4, + moveNumber: 1, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 0 + }, + { + number: 4, + moveNumber: 0, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 4, + moveNumber: 1, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 5, + moveNumber: 1, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 0 + }, + { + number: 5, + moveNumber: 0, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 5, + moveNumber: 1, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 5, + moveNumber: 2, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + }, + { + number: 5, + moveNumber: 3, + moveSpeed: 6, + maxDistance: 200, + maxMove: 1200, + repeat: 1 + } + ]; + }; + GameConfig.Authentication = function () { + cc.fx.GameTool.Authentication(); + }; + var GameConfig_1; + //所有控制信息都通过GameAppStart内控制 + GameConfig._instance = null; + GameConfig = GameConfig_1 = __decorate([ + ccclass('GameConfig') + ], GameConfig); + return GameConfig; +}()); +exports.GameConfig = GameConfig; cc._RF.pop(); } @@ -6383,7 +5738,7 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFJhbmtMaXN0XFxJdGVtUmVuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdNLElBQUEsS0FBd0IsRUFBRSxDQUFDLFVBQVUsRUFBbkMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFrQixDQUFDO0FBRzVDO0lBQXdDLDhCQUFZO0lBQXBEO1FBQUEscUVBbUVDO1FBbEVHLFFBQVE7UUFDRCxVQUFJLEdBQU8sSUFBSSxDQUFDO1FBQ3ZCLGNBQWM7UUFDUCxlQUFTLEdBQVUsQ0FBQyxDQUFDOztJQStEaEMsQ0FBQztJQTdERyxhQUFhO0lBQ04sZ0NBQVcsR0FBbEI7UUFDSyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3hGLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN4RixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDMUYsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMs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QyxHQUFHLEVBQUMsTUFBTSxFQUFDLEVBQUMsVUFBQyxHQUFHLEVBQUUsT0FBb0I7WUFDbkUsSUFBRyxPQUFPLEVBQUM7Z0JBQ1AsS0FBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRSxJQUFJLENBQUM7Z0JBQ25FLElBQUksTUFBTSxHQUFHLEtBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMzRixNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDakQsNENBQTRDO2FBQy9DO2lCQUNHO2dCQUNBLDZCQUE2QjtnQkFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUMsT0FBTyxDQUFDLENBQUE7YUFDM0I7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFoRWdCLFVBQVU7UUFEOUIsT0FBTztPQUNhLFVBQVUsQ0FtRTlCO0lBQUQsaUJBQUM7Q0FuRUQsQUFtRUMsQ0FuRXVDLEVBQUUsQ0FBQyxTQUFTLEdBbUVuRDtrQkFuRW9CLFVBQVUiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IExpc3QsIHsgTGlzdFR5cGUgfSBmcm9tIFwiLi9MaXN0XCI7XHJcblxyXG5jb25zdCB7IGNjY2xhc3MsIHByb3BlcnR5IH0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSXRlbVJlbmRlciBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcbiAgICAvKirmlbDmja4gKi9cclxuICAgIHB1YmxpYyBkYXRhOmFueSA9IG51bGw7XHJcbiAgICAvKirntKLlvJUgMOihqOekuuesrOS4gOmhuSovXHJcbiAgICBwdWJsaWMgaXRlbUluZGV4Om51bWJlciA9IDA7XHJcblxyXG4gICAgLyoq5pWw5o2u5pS55Y+Y5pe26LCD55SoICovXHJcbiAgICBwdWJsaWMgZGF0YUNoYW5nZWQoKXtcclxuICAgICAgICAgY2MuZnguR2FtZVRvb2wuc3ViTmFtZSh0aGlzLmRhdGEubmFtZSw2KTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGhpcy5kYXRhLnJhbmsgKyBcIlwiO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIm5hbWVMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aGlzLmRhdGEubmFtZSArIFwiXCI7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidG90YWxMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aGlzLmRhdGEudG90YWwgKyBcIlwiO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidGhyZWVcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgaWYodGhpcy5kYXRhLnJhbmsgPT0gMSl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLmRhdGEucmFuayA9PSAyKXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMuZGF0YS5yYW5rID09IDMpe1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidGhyZWVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldFBpYygpO1xyXG4gICAgfSAgIFxyXG4gICAgXHJcbiAgICBwdWJsaWMgc2V0UGljKCl7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuYWN0aXZlPSBmYWxzZTtcclxuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgbGV0IHVybCA9IHRoaXMuZGF0YS5waWM7XHJcbiAgICAgICAgZmV0Y2godXJsKVxyXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LUxlbmd0aCcpO1xyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIC50aGVuKGVyck5vID0+IHtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLnJhbmssJ1gtSW5mbzonLCBlcnJObyk7IC8vIOi+k+WHulgtRXJyTm/nmoTlgLxcclxuICAgICAgICAgICAgaWYoZXJyTm8gPT0gXCI1MDkzXCIpe1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLnJhbmssXCLmsqHlpLTlg49cIik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIFgtSW5mbzonLCBlcnJvcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY2MuYXNzZXRNYW5hZ2VyLmxvYWRSZW1vdGUodXJsLCB7ZXh0OicucG5nJ30sKGVyciwgdGV4dHVyZTpjYy5UZXh0dXJlMkQpID0+IHtcclxuICAgICAgICAgICAgaWYodGV4dHVyZSl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuYWN0aXZlPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdmFyIHNwcml0ZSA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKTtcclxuICAgICAgICAgICAgICAgIHNwcml0ZS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuZGF0YS5yYW5rLFwi6K6+572u5aS05YOP5oiQ5YqfXCIsZXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLorr7nva7lpLTlg4/lpLHotKVcIix1cmwpO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyLHRleHR1cmUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuIl19 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENvbmZpZ1xcR2FtZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFTSxJQUFBLEtBQXdCLEVBQUUsQ0FBQyxVQUFVLEVBQW5DLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBa0IsQ0FBQztBQUU1QztJQUFBO0lBeVVBLENBQUM7bUJBelVZLFVBQVU7SUEyQ25CLHNCQUFXLHNCQUFRO2FBQW5CO1lBRUksSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksRUFDMUI7Z0JBQ0ksSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFlBQVUsRUFBRSxDQUFDO2FBQ3JDO1lBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzFCLENBQUM7OztPQUFBO0lBRU0sZUFBSSxHQUFYO1FBQ0ksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFDLEdBQVEsRUFBRSxHQUFpQjtZQUMxRCxJQUFJLEdBQUcsRUFBRTtnQkFDTCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RCLE9BQU87YUFDVjtZQUNELElBQUksUUFBUSxHQUFXLEdBQUcsQ0FBQyxJQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFBO1FBQ0YsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsVUFBQyxHQUFRLEVBQUUsR0FBaUI7WUFDN0QsSUFBSSxHQUFHLEVBQUU7Z0JBRUws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SUFBSTtnQkFDYixNQUFNLEVBQUUsQ0FBQzthQUNaO1NBRUosQ0FBQTtJQUNMLENBQUM7SUFDTSx5QkFBYyxHQUFyQjtRQUNJLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7O0lBdlVELDBCQUEwQjtJQUNYLG9CQUFTLEdBQWdCLElBQUksQ0FBQztJQUZwQyxVQUFVO1FBRHRCLE9BQU8sQ0FBQyxZQUFZLENBQUM7T0FDVCxVQUFVLENBeVV0QjtJQUFELGlCQUFDO0NBelVELEFBeVVDLElBQUE7QUF6VVksZ0NBQVUiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbkBjY2NsYXNzKCdHYW1lQ29uZmlnJylcclxuZXhwb3J0IGNsYXNzIEdhbWVDb25maWcgIHtcclxuICAgIC8v5omA5pyJ5o6n5Yi25L+h5oGv6YO96YCa6L+HR2FtZUFwcFN0YXJ05YaF5o6n5Yi2XHJcbiAgICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2UgOiBHYW1lQ29uZmlnID0gbnVsbDtcclxuICAgIC8v55So5LqO55ub5pS+5Z+L54K55pWw5o2u5LiK5Lyg77yM5q+P5qyh5LiK5Lyg5ZCO5riF56m6XHJcbiAgICBzdGF0aWMgR01fSU5GTzoge1xyXG4gICAgICAgIC8vIGlzRW5kOiBmYWxzZSxcclxuICAgICAgICBtZWFuX1RpbWU6IG51bWJlcjsgLy/lubPlnYfmlL7nrq3pgJ/luqZcclxuICAgICAgICB0b3RhbDogbnVtYmVyOyAvL+aAu+WFseWvueeahOS4quaVsFxyXG4gICAgICAgIGN1cnJTZWVkOiBudW1iZXI7IC8v55So5LqO6ZqP5py65pWw56eN5a2QXHJcbiAgICAgICAgZ2FtZUlkOiBzdHJpbmc7IC8v5ri45oiPSURcclxuICAgICAgICB1c2VySWQ6IG51bWJlcjsgLy/nlKjmiLdJRFxyXG4gICAgICAgIGd1aWRlOiBib29sZWFuOyAvL+aYr+WQpuacieW8leWvvFxyXG4gICAgICAgIHVybDogc3RyaW5nOyAvL+iuv+mXruWfn+WQjVxyXG4gICAgICAgIHN1Y2Nlc3M6IGJvb2xlYW47IC8v55So5oi35ri45oiP5oiQ5Yqf5LiO5ZCmXHJcbiAgICAgICAgbWF0Y2hJZDogYW55OyAvL+eUqOS6juWfi+eCueS4iuS8oOeahElEXHJcbiAgICAgICAgY3VzdG9tOiBudW1iZXI7IC8v55So5LqO5rWL6K+V6Lez5YWz5Y2hXHJcbiAgICB9O1xyXG4gICAgc3RhdGljIENMSUNLX0RBVEE6IHtcclxuICAgICAgICB0eXBlOiBudW1iZXI7IC8v5LiK5Lyg5pWw5o2u57G75Z6LXHJcbiAgICAgICAgc3VjY2VzczogYm9vbGVhbjsgLy/mraTlsYDmuLjmiI/og5zotJ8gICAgXHJcbiAgICAgICAgcm91bmQ6IG51bWJlcjsgLy/lm57lkIjmlbBcclxuICAgICAgICB0b3RhbFN1bkNvdW50OiBudW1iZXI7IC8v5aSq6Ziz5oC75pWwXHJcbiAgICAgICAgbW92ZWRTdW5Db3VudDogbnVtYmVyOyAvL+WPr+enu+WKqOWkqumYs+S4quaVsFxyXG4gICAgICAgIHN1blNwZWVkOiBudW1iZXI7IC8v5aSq6Ziz56e75Yqo6YCf5bqmXHJcbiAgICAgICAgb3ZlcmxhcFN1bkNvdW50OiBudW1iZXI7IC8v6YeN5Y+g5aSq6Ziz5Liq5pWwXHJcbiAgICAgICAgY29sb3JMaXN0OiBhbnlbXTsgLy/lpKrpmLPpopzoibLmlbDnu4RcclxuICAgICAgICBkdXJhdGlvbjogbnVtYmVyOyAvL+avj+asoeeCueWHu+eahOWPjeW6lOaXtumXtFxyXG4gICAgICAgIGRpZmZpY3VsdHlMZXZlbDogbnVtYmVyOyAvL+atpOasoemavuW6plxyXG4gICAgICAgIHN1bkxpc3Q6IGFueVtdOyAvL+WkqumYs+aVsOe7hO+8jOeUqOS6juWtmOaUvuWkqumYs+exu+WeiyAwOuaZrumAmiAxOuenu+WKqCAyOumHjeWPoFxyXG4gICAgICAgIHN0ZXBUaW1lTGlzdDogYW55W107IC8v5q+P5qyh54K55Ye76Ze06ZqUXHJcbiAgICAgICAgcmVtYWluZGVyOiBudW1iZXI7IC8v5ri45oiP5Ymp5L2Z5pe26Ze0XHJcbiAgICB9O1xyXG4gICAgc3RhdGljIExFVkVMX0lORk86IHsgLy/nrKzkuIDpmr7luqZcclxuICAgICAgICBudW1iZXI6IG51bWJlcjsgLy/lpKrpmLPmgLvmlbAgXHJcbiAgICAgICAgbW92ZU51bWJlcjogbnVtYmVyOyAvL+WkqumYs+WPr+enu+WKqOS4quaVsFxyXG4gICAgICAgIG1vdmVTcGVlZDogbnVtYmVyOyAvL+WkqumYs+enu+WKqOmAn+W6puetiee6p1xyXG4gICAgICAgIG1heERpc3RhbmNlOiBudW1iZXI7IC8v5biD5bGA5ZCO56e75Yqo5pyA5aSn6Led56a7XHJcbiAgICAgICAgbWF4TW92ZTogbnVtYmVyOyAvL+avj+S4quWkqumYs+S5i+mXtOi3neemu+acgOWkp+mXtOi3nVxyXG4gICAgICAgIHJlcGVhdDogbnVtYmVyOyAvL+aYr+WQpumHjeWPoO+8jOeOsOWcqDAg5LiN6YeN5Y+gIDEg6YeN5Y+gMeS4qlxyXG4gICAgfVtdO1xyXG4gICAgc3RhdGljIEdBTUVfREFUQTogYW55W107XHJcblxyXG5cclxuICAgIHN0YXRpYyBnZXQgSW5zdGFuY2UoKVxyXG4gICAge1xyXG4gICAgICAgIGlmICh0aGlzLl9pbnN0YW5jZSA9PSBudWxsKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5faW5zdGFuY2UgPSBuZXcgR2FtZUNvbmZpZygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5faW5zdGFuY2U7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGluaXQoKXtcclxuICAgICAgICB0aGlzLkdNX0lORk9faW5pdCgpO1xyXG4gICAgICAgIHRoaXMuQ0xJQ0tfaW5pdCgpO1xyXG4gICAgICAgIHRoaXMuTEVWRUxfSU5GT19pbml0KCk7XHJcbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIGNjLnJlc291cmNlcy5sb2FkKCdKc29uL0dNX0lORk8nLCAoZXJyOiBhbnksIHJlczogY2MuSnNvbkFzc2V0KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlcnIpIHtcclxuICAgICAgICAgICAgICAgIHNlbGYuQXV0aGVudGljYXRpb24oKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQganNvbkRhdGE6IG9iamVjdCA9IHJlcy5qc29uITtcclxuICAgICAgICAgICAgc2VsZi5HTV9JTkZPID0ganNvbkRhdGFbXCJkYXRhXCJdO1xyXG4gICAgICAgICAgICBzZWxmLkF1dGhlbnRpY2F0aW9uKCk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICBjYy5yZXNvdXJjZXMubG9hZCgnSnNvbi9DTElDS19EQVRBJywgKGVycjogYW55LCByZXM6IGNjLkpzb25Bc3NldCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXJyKSB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBqc29uRGF0YTogb2JqZWN0ID0gcmVzLmpzb24hO1xyXG4gICAgICAgICAgICBzZWxmLkNMSUNLX0RBVEEgPSBqc29uRGF0YVtcImRhdGFcIl07XHJcbiAgICAgICAgfSlcclxuICAgICAgICBjYy5yZXNvdXJjZXMubG9hZCgnSnNvbi9MRVZFTF9JTkZPJywgKGVycjogYW55LCByZXM6IGNjLkpzb25Bc3NldCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXJyKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGpzb25EYXRhOiBvYmplY3QgPSByZXMuanNvbiE7XHJcbiAgICAgICAgICAgIHNlbGYuTEVWRUxfSU5GTyA9IGpzb25EYXRhW1wiZGF0YVwiXTtcclxuICAgICAgICB9KVxyXG5cclxuICAgICAgICAvL0dBTUVfREFUQSDlup/lvIPkuobvvIzmmoLml7bkuI3liKDpmaTku6XpmLLlkI7pnaLkv67mlLnlm54g5LiA5pW05bGA5Lyg5LiA5qyhXHJcbiAgICAgICAgc2VsZi5HQU1FX0RBVEEgPSBbXHJcbiAgICAgICAgXVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvL+aVsOaNruWkh+eUqFxyXG4gICAgc3RhdGljIEdNX0lORk9faW5pdCgpIHtcclxuICAgICAgICB0aGlzLkdNX0lORk8gPSB7XHJcbiAgICAgICAgICAgIC8vIGlzRW5kOiBmYWxzZSxcclxuICAgICAgICAgICAgbWVhbl9UaW1lOiAwLCAgICAgICAgICAgICAgICAvL+W5s+Wdh+aUvueuremAn+W6plxyXG4gICAgICAgICAgICB0b3RhbDogMCwgICAgICAgICAgICAgICAgICAgIC8v5oC75YWx5a+555qE5Liq5pWwXHJcbiAgICAgICAgICAgIGN1cnJTZWVkOiAyMDMyMTMsICAgICAgICAgICAvL+eUqOS6jumaj+acuuaVsOenjeWtkFxyXG4gICAgICAgICAgICBnYW1lSWQ6ICcxMDAwMDknLCAgICAgICAgICAgLy/muLjmiI9JRFxyXG4gICAgICAgICAgICB1c2VySWQ6IDAsICAgICAgICAgICAgICAgICAgLy/nlKjmiLdJRFxyXG4gICAgICAgICAgICBndWlkZTogdHJ1ZSwgICAgICAgICAgICAgICAgIC8v5piv5ZCm5pyJ5byV5a+8XHJcbiAgICAgICAgICAgIHVybDogXCJodHRwOi8vYXBpLnNwYXJrdXMuY25cIiwvL+iuv+mXruWfn+WQjVxyXG4gICAgICAgICAgICBzdWNjZXNzOiBmYWxzZSwgICAgICAgICAgICAgLy/nlKjmiLfmuLjmiI/miJDlip/kuI7lkKZcclxuICAgICAgICAgICAgbWF0Y2hJZDogbnVsbCwgICAgICAgICAgICAgIC8v55So5LqO5Z+L54K55LiK5Lyg55qESURcclxuICAgICAgICAgICAgY3VzdG9tOiAwICAgICAgICAgICAgICAgICAgIC8v55So5LqO5rWL6K+V6Lez5YWz5Y2hXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBDTElDS19pbml0KCkge1xyXG4gICAgICAgIHRoaXMuQ0xJQ0tfREFUQSA9XHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0eXBlOiAxLCAgICAgICAgICAgIC8v5LiK5Lyg5pWw5o2u57G75Z6LXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLCAgICAgLy/mraTlsYDmuLjmiI/og5zotJ8gICAgXHJcbiAgICAgICAgICAgIHJvdW5kOiAwLCAgICAgICAgICAgLy/lm57lkIjmlbBcclxuICAgICAgICAgICAgdG90YWxTdW5Db3VudDogMCwgICAvL+WkqumYs+aAu+aVsFxyXG4gICAgICAgICAgICBtb3ZlZFN1bkNvdW50OiAwLCAgIC8v5Y+v56e75Yqo5aSq6Ziz5Liq5pWwXHJcbiAgICAgICAgICAgIHN1blNwZWVkOiAwLCAgICAgICAgLy/lpKrpmLPnp7vliqjpgJ/luqZcclxuICAgICAgICAgICAgb3ZlcmxhcFN1bkNvdW50OiAwLCAvL+mHjeWPoOWkqumYs+S4quaVsFxyXG4gICAgICAgICAgICBjb2xvckxpc3Q6IFtdLCAgICAgIC8v5aSq6Ziz6aKc6Imy5pWw57uEXHJcbiAgICAgICAgICAgIGR1cmF0aW9uOiAwLCAgICAgICAgLy/mr4/mrKHngrnlh7vnmoTlj43lupTml7bpl7RcclxuICAgICAgICAgICAgZGlmZmljdWx0eUxldmVsOiAwLCAvL+atpOasoemavuW6plxyXG4gICAgICAgICAgICBzdW5MaXN0OiBbXSwgICAgICAgIC8v5aSq6Ziz5pWw57uE77yM55So5LqO5a2Y5pS+5aSq6Ziz57G75Z6LIDA65pmu6YCaIDE656e75YqoIDI66YeN5Y+gXHJcbiAgICAgICAgICAgIHN0ZXBUaW1lTGlzdDogW10sICAgLy/mr4/mrKHngrnlh7vpl7TpmpRcclxuICAgICAgICAgICAgcmVtYWluZGVyOiAxMjAgICAgICAvL+a4uOaIj+WJqeS9meaXtumXtFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHN0YXRpYyBMRVZFTF9JTkZPX2luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5MRVZFTF9JTkZPID0gW1xyXG4gICAgICAgICAgICB7ICAgLy/nrKzkuIDpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjogMywgICAgICAgLy/lpKrpmLPmgLvmlbAgXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAwLCAgIC8v5aSq6Ziz5Y+v56e75Yqo5Liq5pWwXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDAsICAgIC8v5aSq6Ziz56e75Yqo6YCf5bqm562J57qnXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLCAvL+W4g+WxgOWQjuenu+WKqOacgOWkp+i3neemu1xyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCwgICAgLy/mr4/kuKrlpKrpmLPkuYvpl7Tot53nprvmnIDlpKfpl7Tot51cclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMCAgICAgICAgLy/mmK/lkKbph43lj6DvvIznjrDlnKgwIOS4jemHjeWPoCAxIOmHjeWPoDHkuKpcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5LqM6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDQsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAwLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiAwLFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5LiJ6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDQsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAwLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiAwLFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Zub6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAxLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiA2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5LqU6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAwLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiA2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5YWt6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDYsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAwLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiA2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5LiD6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDYsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAzLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiA0LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5YWr6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDcsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAwLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiA0LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Lmd6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDcsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAzLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiA0LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDcsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAzLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiA2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B5LiA6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDgsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAzLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiA2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B5LqM6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDgsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiA2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B5LiJ6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDksXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAzLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiA2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B5Zub6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDksXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiA2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B5LqU6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDEwLFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzExIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiAzLFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzEyIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogMCxcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzEzIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE0IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE1IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE2IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE3IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE4IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE5IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMixcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzIwIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgXVxyXG4gICAgfVxyXG4gICAgc3RhdGljIEF1dGhlbnRpY2F0aW9uKCl7XHJcbiAgICAgICAgY2MuZnguR2FtZVRvb2wuQXV0aGVudGljYXRpb24oKTtcclxuICAgIH1cclxufVxyXG5cclxuIl19 //------QC-SOURCE-SPLIT------ (function() { @@ -6719,4 +6074,649 @@ cc._RF.pop(); } })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENyeXB0b1xcSHR0cFV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ00sSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFDMUMsNkNBQWdELENBQUUsV0FBVztBQUU3RCxJQUFNLFFBQVEsR0FBRyx1QkFBdUIsQ0FBQztBQUN6QywwQ0FBMEM7QUFFMUM7SUFBc0MsNEJBQVk7SUFBbEQ7O0lBZ0RBLENBQUM7SUEvQ0csS0FBSztJQUNRLGlCQUFRLEdBQXJCLFVBQXNCLElBQUksRUFBQyxRQUFRLEVBQUMsSUFBSTt1Q0FBRyxPQUFPOzs7Z0JBQzFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO2dCQUNoRCxHQUFHLEdBQUcsT0FBTyxDQUFDLCtCQUE2QixNQUFNLENBQUMsTUFBTSxrQkFBYSxJQUFJLGNBQVMsSUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBO2dCQUNyRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBQyxJQUFJLEVBQUMsUUFBUSxDQUFDLENBQUM7Ozs7S0FDOUI7SUFFWSwwQkFBaUIsR0FBOUIsVUFBK0IsSUFBSSxFQUFDLFFBQVE7dUNBQUcsT0FBTzs7O2dCQUM5QyxHQUFHLEdBQUcsbUJBQW1CLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFDLElBQUksRUFBQyxRQUFRLENBQUMsQ0FBQzs7OztLQUM5QjtJQUNELE9BQU87SUFDTSxzQkFBYSxHQUExQixVQUEyQixJQUFJLEVBQUMsUUFBUTt1Q0FBRyxPQUFPOzs7Z0JBQzFDLElBQUksR0FBRyxJ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LE1BQU0sQ0FBQyxRQUFRLEVBQUksQ0FBQztBQUMzQyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsT0FBTyxDQUFDLEdBQVcsRUFBRSxNQUFXO0lBQVgsdUJBQUEsRUFBQSxXQUFXO0lBRXZDLElBQUksVUFBVSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUMzQixJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDbEMsVUFBVSxJQUFJLEdBQUcsQ0FBQTtLQUNsQjtJQUVELGNBQWM7SUFDZCxJQUFJLE9BQU8sR0FBSSxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFckMsSUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUNqRCxJQUFNLFVBQVUsR0FBRyxVQUFRLFNBQVcsQ0FBQTtJQUV0QyxJQUFJLGNBQWMsR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDckUsY0FBYyxHQUFHLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBRW5ELE9BQVUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxZQUFPLGNBQWdCLENBQUE7QUFDeEQsQ0FBQyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuaW1wb3J0IENyeXB0b0pTID0gcmVxdWlyZSgnLi9jcnlwdG8tanMubWluLmpzJyk7ICAvL+W8leeUqEFFU+a6kOeggWpzXHJcblxyXG5jb25zdCBCQVNFX1VSTCA9IFwiaHR0cDovL2FwaS5zcGFya3VzLmNuXCI7XHJcbi8v5Y+q6LSf6LSj572R57uc5o6l5Y+jIOasoeexu+WPqui0n+i0o+WSjOWQjuerr+S6pOS6ku+8jOS4jei0n+i0o+WkhOeQhuaVsOaNriDmlbDmja7lpITnkIblnKhHYW1lVG9vbFxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBIdHRwVXRpbCBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcbiAgICAvL+aOkuihjOamnFxyXG4gICAgc3RhdGljIGFzeW5jIHJhbmtEYXRhKHR5cGUsY2FsbGJhY2ssZGF0YSk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgIGNvbnN0IHRpbWUgPSBNYXRoLmZsb29yKChuZXcgRGF0ZSgpLmdldFRpbWUoKSkgLyAxMDAwKVxyXG4gICAgICBjb25zdCB1cmwgPSBhcGlTaWduKGAvYXBpL2dldC9yYW5rL2RhdGE/Z2FtZUlkPSR7Y29uZmlnLmdhbWVJZH0mZGF0YVR5cGU9JHt0eXBlfSZ0aW1lPSR7dGltZX1gLCBkYXRhKVxyXG4gICAgICB0aGlzLnBvc3QodXJsLGRhdGEsY2FsbGJhY2spO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgc3RhdGljIGFzeW5jIHVwbG9hZFVzZXJMb2dEYXRhKGRhdGEsY2FsbGJhY2spOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICBjb25zdCB1cmwgPSAnL2xvZy9jb2xsZWN0L2RhdGEnO1xyXG4gICAgICB0aGlzLnBvc3QodXJsLGRhdGEsY2FsbGJhY2spO1xyXG4gICAgfVxyXG4gICAgLy/mmoLml7bnlKjkuI3liLBcclxuICAgIHN0YXRpYyBhc3luYyBnZXRVc2VyUmVjb3JkKGRhdGEsY2FsbGJhY2spOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICBjb25zdCB0aW1lID0gTWF0aC5mbG9vcigobmV3IERhdGUoKS5nZXRUaW1lKCkpIC8gMTAwMClcclxuICAgICAgY29uc3QgdXJsID0gYXBpU2lnbihgL2FwaS9nZXQvdXNlci9kYXRhP2dhbWVJZD0ke2NvbmZpZy5nYW1lSWR9JnRpbWU9JHt0aW1lfWAsIGRhdGEpXHJcbiAgICAgIHRoaXMucG9zdCh1cmwsZGF0YSxjYWxsYmFjayk7XHJcbiAgICB9XHJcbiAgc3RhdGljIGFzeW5jIHBvc3QodXJsLCBkYXRhLCBjYWxsYmFjaykge1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmZldGNoRGF0YSh1cmwsIGRhdGEsICdQT1NUJyk7XHJcbiAgICBjYWxsYmFjayAmJiBjYWxsYmFjayhyZXNwb25zZSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYXN5bmMgZ2V0KHVybCwgY2FsbGJhY2spIHtcclxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5mZXRjaERhdGEodXJsLCBudWxsLCAnR0VUJyk7XHJcbiAgICBjYWxsYmFjayAmJiBjYWxsYmFjayhyZXNwb25zZSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYXN5bmMgZmV0Y2hEYXRhKHVybCwgZGF0YSwgbWV0aG9kKSB7XHJcbiAgICBjb25zdCBmdWxsVXJsID0gYCR7QkFTRV9VUkx9JHt1cmx9YDtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfTtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XHJcbiAgICAgIG1ldGhvZCxcclxuICAgICAgaGVhZGVycyxcclxuICAgICAgYm9keTogZGF0YSA/IEpTT04uc3RyaW5naWZ5KGRhdGEpIDogbnVsbCxcclxuICAgIH07XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChmdWxsVXJsLCBvcHRpb25zKTtcclxuICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSFRUUCBlcnJvciEgc3RhdHVzOiAke3Jlc3BvbnNlLnN0YXR1c31gKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignRmV0Y2ggZXJyb3I6JywgZXJyb3IpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHJlc3BvbnNlSGFuZGxlcihyZXNwb25zZTogeyBkYXRhOiBhbnkgfSkge1xyXG4gIHJldHVybiByZXNwb25zZS5kYXRhXHJcbn1cclxuLy8g5ZON5bqU5oum5oiq5ZmoXHJcbi8vIFJxLmludGVyY2VwdG9ycy5yZXNwb25zZS51c2UocmVzcG9uc2VIYW5kbGVyKVxyXG5jb25zdCBjb25maWcgPSB7XHJcbiAgZ2FtZUlkOiBcIjEwMDAwOVwiLFxyXG4gIHNlY3JldEtleTogXCJDTU5oT3pCQVwiLFxyXG4gIEVLOlwiaHVpMjMxJTFcIlxyXG59O1xyXG5cclxuaW50ZXJmYWNlIENyeXBvdG9UeXBlIHtcclxuICBlbmNyeXB0QnlERVM6IGFueVxyXG4gIGRlY3J5cHRCeURFUzogYW55XHJcbiAgaG1hY1NoYTI1NjogYW55XHJcbn1cclxuIFxyXG5jbGFzcyBDcnlwb3RvIGltcGxlbWVudHMgQ3J5cG90b1R5cGUge1xyXG4gICAgLy8g5Yqg5a+G55qE5ZCR5piO5YC877yM6Ieq5bex5qC55o2u6aG555uu5a6e6ZmF5oOF5Ya15a6a77yM6ZyA6KaB6Lef5ZCO56uv5byA5Y+R5L+d5oyB5LiA6Ie0XHJcbiAgICBwcml2YXRlIGtleUhleCA9IHRoaXMuZ2V0SGV0S2V5KClcclxuICAgIHByaXZhdGUgZ2V0SGV0S2V5KCkge1xyXG4gICAgICAgIHJldHVybiBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShjb25maWcuRUspO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBERVPliqDlr4YgKi9cclxuICAgIGVuY3J5cHRCeURFUyhtZXNzYWdlOiBzdHJpbmcsIHNlY3JldD86IHN0cmluZykge1xyXG4gICAgICBpZighbWVzc2FnZSkge1xyXG4gICAgICAgIHJldHVybiBtZXNzYWdlXHJcbiAgICAgIH1cclxuICAgICAgY29uc3Qga2V5ID0gc2VjcmV0PyBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShzZWNyZXQpOiB0aGlzLmtleUhleFxyXG4gICAgICBjb25zdCBlbmNyeXB0ZWQgPSBDcnlwdG9KUy5ERVMuZW5jcnlwdChtZXNzYWdlLCBrZXksIHtcclxuICAgICAgICBtb2RlOiBDcnlwdG9KUy5tb2RlLkVDQixcclxuICAgICAgICBwYWRkaW5nOiBDcnlwdG9KUy5wYWQuUGtjczdcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBlbmNyeXB0ZWQudG9TdHJpbmcoKVxyXG4gICAgfVxyXG5cclxuICAgIC8qKiBERVPop6Plr4YgKi9cclxuICAgIGRlY3J5cHRCeURFUyhtZXNzYWdlOiBzdHJpbmcsIHNlY3JldD86IHN0cmluZykge1xyXG4gICAgICBjb25zdCBrZXkgPSBzZWNyZXQ/IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKHNlY3JldCk6IHRoaXMua2V5SGV4XHJcblxyXG4gICAgICBjb25zdCBkZWNyeXB0ZWQgPSBDcnlwdG9KUy5ERVMuZGVjcnlwdCh7XHJcbiAgICAgICAgY2lwaGVydGV4dDogQ3J5cHRvSlMuZW5jLkJhc2U2NC5wYXJzZShtZXNzYWdlKVxyXG4gICAgICB9LCBrZXksIHtcclxuICAgICAgICBtb2RlOiBDcnlwdG9KUy5tb2RlLkVDQixcclxuICAgICAgICBwYWRkaW5nOiBDcnlwdG9KUy5wYWQuUGtjczdcclxuICAgICAgfSlcclxuXHJcbiAgICAgIHJldHVybiBkZWNyeXB0ZWQudG9TdHJpbmcoQ3J5cHRvSlMuZW5jLlV0ZjgpXHJcbiAgICB9XHJcblxyXG4gICAgLyoqIGhtYWNTSEEyNTbliqDlr4YgKi9cclxuICAgIGhtYWNTaGEyNTYobWVzc2FnZTogc3RyaW5nLCBzZWNyZXQ/OiBzdHJpbmcpIHtcclxuICAgICAgY29uc3Qga2V5SGV4ID0gc2VjcmV0PyBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShzZWNyZXQpOiB0aGlzLmtleUhleFxyXG4gICAgICBcclxuICAgICAgY29uc3QgaGFzaCA9IENyeXB0b0pTLkhtYWNTSEEyNTYobWVzc2FnZSwga2V5SGV4KTtcclxuICAgICAgcmV0dXJuIGhhc2gudG9TdHJpbmcoKVxyXG4gICAgfVxyXG5cclxuICAgIC8qKiBobWFjU0hBMjU26aqM6K+BICovXHJcbiAgICB2ZXJpZnlIbWFjU2hhMjU2KG1lc3NhZ2U6IHN0cmluZywgc2lnbmF0dXJlOiBzdHJpbmcpIHtcclxuICAgICAgY29uc3QgaGFzaCA9IENyeXB0b0pTLkhtYWNTSEEyNTYobWVzc2FnZSwgdGhpcy5rZXlIZXgpO1xyXG4gICAgICByZXR1cm4gaGFzaC50b1N0cmluZygpID09PSBzaWduYXR1cmVcclxuICAgIH1cclxuIFxyXG4gICAgLyoqIENCQ+WKoOWvhiAqL1xyXG4gICAgZW5jcnlwdENCQyh3b3JkOiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAoIXdvcmQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHdvcmQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHNyY3MgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZSh3b3JkKTtcclxuICAgICAgICBjb25zdCBlbmNyeXB0ZWQgPSBDcnlwdG9KUy5BRVMuZW5jcnlwdChzcmNzLCB0aGlzLmtleUhleCwge1xyXG4gICAgICAgICAgICBpdjogdGhpcy5rZXlIZXgsXHJcbiAgICAgICAgICAgIG1vZGU6IENyeXB0b0pTLm1vZGUuQ0JDLFxyXG4gICAgICAgICAgICBwYWRkaW5nOiBDcnlwdG9KUy5wYWQuWmVyb1BhZGRpbmdcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gZW5jcnlwdGVkLnRvU3RyaW5nKCk7IFxyXG4gICAgfVxyXG4gXHJcbiAgICAvKiogQ0JD6Kej5a+GICovXHJcbiAgICBkZWNyeXB0Q0JDKHdvcmQ6IHN0cmluZykge1xyXG4gICAgICAgIGlmICghd29yZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gd29yZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZW5jcnlwdGVkSGV4U3RyID0gQ3J5cHRvSlMuZW5jLkhleC5wYXJzZSh3b3JkKTtcclxuICAgICAgICBjb25zdCBzcmNzID0gQ3J5cHRvSlMuZW5jLkJhc2U2NC5zdHJpbmdpZnkoZW5jcnlwdGVkSGV4U3RyKTtcclxuICAgICAgICBjb25zdCBkZWNyeXB0ID0gQ3J5cHRvSlMuQUVTLmRlY3J5cHQoc3JjcywgdGhpcy5rZXlIZXgsIHtcclxuICAgICAgICAgICAgaXY6IHRoaXMua2V5SGV4LFxyXG4gICAgICAgICAgICBtb2RlOiBDcnlwdG9KUy5tb2RlLkNCQyxcclxuICAgICAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlplcm9QYWRkaW5nXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY29uc3QgZGVjcnlwdGVkU3RyID0gZGVjcnlwdC50b1N0cmluZyhDcnlwdG9KUy5lbmMuVXRmOCk7XHJcbiAgICAgICAgcmV0dXJuIGRlY3J5cHRlZFN0ci50b1N0cmluZygpO1xyXG4gICAgfVxyXG59XHJcbmNvbnN0IGZ4Q3J5ID0gbmV3IENyeXBvdG8oKTtcclxuXHJcbmZ1bmN0aW9uIGlzRW1wdHkoZGF0YSkge1xyXG4gIHJldHVybiBkYXRhID09PSBcIlwiIHx8IGRhdGEgPT09IG51bGwgfHwgZGF0YSA9PT0gdW5kZWZpbmVkIHx8IGRhdGEubGVuZ3RoID09PSAwIHx8IEpTT04uc3RyaW5naWZ5KGRhdGEpID09IFwie31cIlxyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRRdWVyeVN0cmluZyhvYmopIHtcclxuICAvLyDpppblhYjlr7nlr7nosaHnmoTplK7ov5vooYzmjpLluo/lubbov4fmu6TnqbrlgLxcclxuICBjb25zdCBzb3J0ZWRLZXlzID0gT2JqZWN0LmtleXMob2JqKS5zb3J0KCk7XHJcbiAgY29uc3Qgc29ydGVkT2JqID0ge307XHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBzb3J0ZWRLZXlzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBpZiAoaXNFbXB0eShvYmpbc29ydGVkS2V5c1tpXV0pKSB7XHJcbiAgICAgIGNvbnRpbnVlO1xyXG4gICAgfVxyXG4gICAgc29ydGVkT2JqW3NvcnRlZEtleXNbaV1dID0gb2JqW3NvcnRlZEtleXNbaV1dO1xyXG4gIH1cclxuICBcclxuICAvLyDnhLblkI7lsIbmjpLluo/lkI7nmoTlr7nosaHovazmjaLkuLrmn6Xor6LlrZfnrKbkuLJcclxuICBjb25zdCBwYXJhbXMgPSBbXTtcclxuICBmb3IgKGNvbnN0IGtleSBpbiBzb3J0ZWRPYmopIHtcclxuICAgIHBhcmFtcy5wdXNoKGAke2VuY29kZVVSSUNvbXBvbmVudChrZXkpfT0ke2VuY29kZVVSSUNvbXBvbmVudChzb3J0ZWRPYmpba2V5XSl9YCk7XHJcbiAgfVxyXG4gIHJldHVybiBwYXJhbXMuam9pbignJicpO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIOe7hOijheetvuWQjeWtl+espuS4slxyXG4gKiBAcGFyYW0gc3RyaW5nIHVybDog6K+35rGC5Zyw5Z2AIFxyXG4gKiBAcGFyYW0gc3RyaW5nIHBvc3RTdHI6IHBvc3Tlj4LmlbDnmoRhPTEmYj0yIFxyXG4gKiBAcmV0dXJucyBcclxuICovXHJcblxyXG5mdW5jdGlvbiBnZW5TaWduU3RyKHVybDogc3RyaW5nLCBwb3N0U3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gIGxldCBsZXNzVXJsID0gdXJsLnJlcGxhY2UoJz8nLCAnJylcclxuICBsZXNzVXJsID0gbGVzc1VybCArIFwiJlwiICsgcG9zdFN0clxyXG4gIHJldHVybiBlbmNvZGVVUklDb21wb25lbnQoZnhDcnkuaG1hY1NoYTI1NihsZXNzVXJsKSlcclxufVxyXG4vLyDlr7nlj4LmlbDov5vooYznu5/kuIB1cmxlbmNvZGVcclxuZnVuY3Rpb24gdXJsZW5jb2RlKHVybDogc3RyaW5nKTogc3RyaW5nIHtcclxuICBjb25zdCBbYmFzZVVybCwgcXVlcnlTdHJpbmddID0gdXJsLnNwbGl0KFwiP1wiLCAyKTtcclxuICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHF1ZXJ5U3RyaW5nKTtcclxuICByZXR1cm4gYCR7YmFzZVVybH0/JHtwYXJhbXMudG9TdHJpbmcoKX1gO1xyXG59XHJcblxyXG4vKipcclxuICogXHJcbiAqIEBwYXJhbSB1cmwge3N0cmluZ30g5o6l5Y+j5Zyw5Z2AXHJcbiAqIEBwYXJhbSBwYXJhbXMge29iamVjdH0g6ZyA6KaB5Yqg5a+G55qE5Y+C5pWw5a+56LGhXHJcbiAqL1xyXG5mdW5jdGlvbiBhcGlTaWduKHVybDogc3RyaW5nLCBwYXJhbXMgPSB7fSkge1xyXG5cclxuICBsZXQgY29udmVydFVybCA9IHVybC50cmltKClcclxuICBpZiAoY29udmVydFVybC5pbmRleE9mKCc/JykgPT09IC0xKSB7XHJcbiAgICBjb252ZXJ0VXJsICs9ICc/J1xyXG4gIH1cclxuICBcclxuICAvLyDkvKDlhaXlj4LmlbDovazmjaLmi7zmjqXlrZfnrKbkuLJcclxuICBsZXQgcG9zdFN0ciA9ICBnZXRRdWVyeVN0cmluZyhwYXJhbXMpXHJcbiBcclxuICBjb25zdCBzaWduZWRTdHIgPSBnZW5TaWduU3RyKGNvbnZlcnRVcmwsIHBvc3RTdHIpXHJcbiAgY29uc3QgZW5jcnlwdFN0ciA9IGBzaWduPSR7c2lnbmVkU3RyfWBcclxuXHJcbiAgbGV0IGVuY3J5cHRTaWduU3RyID0gZnhDcnkuZW5jcnlwdEJ5REVTKGVuY3J5cHRTdHIsIGNvbmZpZy5zZWNyZXRLZXkpXHJcbiAgZW5jcnlwdFNpZ25TdHIgPSBlbmNvZGVVUklDb21wb25lbnQoZW5jcnlwdFNpZ25TdHIpXHJcblxyXG4gIHJldHVybiBgJHt1cmxlbmNvZGUoY29udmVydFVybCl9Jl9wPSR7ZW5jcnlwdFNpZ25TdHJ9YFxyXG59XHJcblxyXG4iXX0= +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/module/RankList/List.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, 'd5421HgLShFKIjj5f18m1mi', 'List'); +// Script/module/RankList/List.ts + +"use strict"; +// Learn TypeScript: +// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html +// Learn Attribute: +// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html +// Learn life-cycle callbacks: +// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StartAxisType = exports.ListType = void 0; +var ItemRender_1 = require("./ItemRender"); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +/**列表排列方式 */ +var ListType; +(function (ListType) { + /**水平排列 */ + ListType[ListType["Horizontal"] = 1] = "Horizontal"; + /**垂直排列 */ + ListType[ListType["Vertical"] = 2] = "Vertical"; + /**网格排列 */ + ListType[ListType["Grid"] = 3] = "Grid"; +})(ListType = exports.ListType || (exports.ListType = {})); +/**网格布局中的方向 */ +var StartAxisType; +(function (StartAxisType) { + /**水平排列 */ + StartAxisType[StartAxisType["Horizontal"] = 1] = "Horizontal"; + /**垂直排列 */ + StartAxisType[StartAxisType["Vertical"] = 2] = "Vertical"; +})(StartAxisType = exports.StartAxisType || (exports.StartAxisType = {})); +/** + * 列表 + * 根据cocos_example的listView改动而来 + * @author chenkai 2020.7.8 + * @example + * 1.创建cocos的ScrollView组件,添加List,设置List属性即可 + * + */ +var List = /** @class */ (function (_super) { + __extends(List, _super); + function List() { + var _this = _super !== null && _super.apply(this, arguments) || this; + //==================== 属性面板 ========================= + /**列表选项 */ + _this.itemRender = null; + /**排列方式 */ + _this.type = ListType.Vertical; + /**网格布局中的方向 */ + _this.startAxis = StartAxisType.Horizontal; + /**列表项之间X间隔 */ + _this.spaceX = 0; + /**列表项之间Y间隔 */ + _this.spaceY = 0; + /**上间距 */ + _this.padding_top = 0; + /**下间距 */ + _this.padding_buttom = 0; + /**左间距 */ + _this.padding_left = 0; + _this._padding = 0; + /**右间距 */ + _this.padding_right = 0; + //====================== 滚动容器 =============================== + /**列表滚动容器 */ + _this.scrollView = null; + /**scrollView的内容容器 */ + _this.content = null; + //======================== 列表项 =========================== + /**列表项数据 */ + _this.itemDataList = []; + /**应创建的实例数量 */ + _this.spawnCount = 0; + /**存放列表项实例的数组 */ + _this.itemList = []; + /**item的高度 */ + _this.itemHeight = 0; + /**item的宽度 */ + _this.itemWidth = 0; + /**存放不再使用中的列表项 */ + _this.itemPool = []; + //======================= 计算参数 ========================== + /**距离scrollView中心点的距离,超过这个距离的item会被重置,一般设置为 scrollVIew.height/2 + item.heigt/2 + space,因为这个距离item正好超出scrollView显示范围 */ + _this.halfScrollView = 0; + /**上一次content的X值,用于和现在content的X值比较,得出是向左还是向右滚动 */ + _this.lastContentPosX = 0; + /**上一次content的Y值,用于和现在content的Y值比较,得出是向上还是向下滚动 */ + _this.lastContentPosY = 0; + /**网格行数 */ + _this.gridRow = 0; + /**网格列数 */ + _this.gridCol = 0; + /**刷新时间,单位s */ + _this.updateTimer = 0; + /**刷新间隔,单位s */ + _this.updateInterval = 0.1; + /**是否滚动容器 */ + _this.bScrolling = false; + /**刷新的函数 */ + _this.updateFun = function () { }; + return _this; + } + List.prototype.onLoad = function () { + this.itemHeight = this.itemRender.height; + this.itemWidth = this.itemRender.width; + this.scrollView = this.node.getComponent(cc.ScrollView); + this.content = this.scrollView.content; + this.content.anchorX = 0; + this.content.anchorY = 1; + this.content.removeAllChildren(); + this.scrollView.node.on("scrolling", this.onScrolling, this); + }; + /** + * 列表数据 (列表数据复制使用,如果列表数据改变,则需要重新设置一遍数据) + * @param itemDataList item数据列表 + */ + List.prototype.setData = function (itemDataList) { + this.itemDataList = itemDataList.slice(); + this.updateContent(); + }; + /**计算列表的各项参数 */ + List.prototype.countListParam = function () { + var dataLen = this.itemDataList.length; + if (this.type == ListType.Vertical) { + this.scrollView.horizontal = false; + this.scrollView.vertical = true; + this.content.width = this.content.parent.width; + this.content.height = dataLen * this.itemHeight + (dataLen - 1) * this.spaceY + this.padding_top + this.padding_buttom; + this.spawnCount = Math.round(this.scrollView.node.height / (this.itemHeight + this.spaceY)) + 2; //计算创建的item实例数量,比当前scrollView容器能放下的item数量再加上2个 + this.halfScrollView = this.scrollView.node.height / 2 + this.itemHeight / 2 + this.spaceY; //计算bufferZone,item的显示范围 + this.updateFun = this.updateV; + } + else if (this.type == ListType.Horizontal) { + this.scrollView.horizontal = true; + this.scrollView.vertical = false; + this.content.width = dataLen * this.itemWidth + (dataLen - 1) * this.spaceX + this.padding_left + this.padding_right; + this.content.height = this.content.parent.height; + this.spawnCount = Math.round(this.scrollView.node.width / (this.itemWidth + this.spaceX)) + 2; + this.halfScrollView = this.scrollView.node.width / 2 + this.itemWidth / 2 + this.spaceX; + this.updateFun = this.udpateH; + } + else if (this.type == ListType.Grid) { + if (this.startAxis == StartAxisType.Vertical) { + this.scrollView.horizontal = false; + this.scrollView.vertical = true; + this.content.width = this.content.parent.width; + //如果left和right间隔过大,导致放不下一个item,则left和right都设置为0,相当于不生效 + if (this.padding_left + this.padding_right + this.itemWidth + this.spaceX > this.content.width) { + this.padding_left = 0; + this.padding_right = 0; + console.error("padding_left或padding_right过大"); + } + this.gridCol = Math.floor((this.content.width - this.padding_left - this.padding_right) / (this.itemWidth + this.spaceX)); + this.gridRow = Math.ceil(dataLen / this.gridCol); + this.content.height = this.gridRow * this.itemHeight + (this.gridRow - 1) * this.spaceY + this.padding_top + this.padding_buttom; + this.spawnCount = Math.round(this.scrollView.node.height / (this.itemHeight + this.spaceY)) * this.gridCol + this.gridCol * 2; + this.halfScrollView = this.scrollView.node.height / 2 + this.itemHeight / 2 + this.spaceY; + this.updateFun = this.updateGrid_V; + } + else if (this.startAxis == StartAxisType.Horizontal) { + this.scrollView.horizontal = true; + this.scrollView.vertical = false; + //计算高间隔 + this.content.height = this.content.parent.height; + //如果left和right间隔过大,导致放不下一个item,则left和right都设置为0,相当于不生效 + if (this.padding_top + this.padding_buttom + this.itemHeight + this.spaceY > this.content.height) { + this.padding_top = 0; + this.padding_buttom = 0; + console.error("padding_top或padding_buttom过大"); + } + this.gridRow = Math.floor((this.content.height - this.padding_top - this.padding_buttom) / (this.itemHeight + this.spaceY)); + this.gridCol = Math.ceil(dataLen / this.gridRow); + this.content.width = this.gridCol * this.itemWidth + (this.gridCol - 1) * this.spaceX + this.padding_left + this.padding_right; + this.spawnCount = Math.round(this.scrollView.node.width / (this.itemWidth + this.spaceX)) * this.gridRow + this.gridRow * 2; + this.halfScrollView = this.scrollView.node.width / 2 + this.itemWidth / 2 + this.spaceX; + this.updateFun = this.updateGrid_H; + } + } + }; + /** + * 创建列表 + * @param startIndex 起始显示的数据索引 0表示第一项 + * @param offset scrollView偏移量 + */ + List.prototype.createList = function (startIndex, offset) { + //当需要显示的数据长度 > 虚拟列表长度, 删除最末尾几个数据时,列表需要重置位置到scrollView最底端 + if (this.itemDataList.length > this.spawnCount && (startIndex + this.spawnCount - 1) >= this.itemDataList.length) { + startIndex = this.itemDataList.length - this.spawnCount; + offset = this.scrollView.getMaxScrollOffset(); + //当需要显示的数据长度 <= 虚拟列表长度, 隐藏多余的虚拟列表项 + } + else if (this.itemDataList.length <= this.spawnCount) { + startIndex = 0; + } + for (var i = 0; i < this.spawnCount; i++) { + var item = void 0; + //需要显示的数据索引在数据范围内,则item实例显示出来 + if (i + startIndex < this.itemDataList.length) { + if (this.itemList[i] == null) { + item = this.getItem(); + this.itemList.push(item); + item.parent = this.content; + } + else { + item = this.itemList[i]; + } + //需要显示的数据索引超过了数据范围,则item实例隐藏起来 + } + else { + //item实例数量 > 需要显示的数据量 + if (this.itemList.length > (this.itemDataList.length - startIndex)) { + item = this.itemList.pop(); + item.removeFromParent(); + this.itemPool.push(item); + } + continue; + } + var itemRender = item.getComponent(ItemRender_1.default); + itemRender.itemIndex = i + startIndex; + itemRender.data = this.itemDataList[i + startIndex]; + itemRender.dataChanged(); + if (this.type == ListType.Vertical) { + //因为content的锚点X是0,所以item的x值是content.with/2表示居中,锚点Y是1,所以item的y值从content顶部向下是0到负无穷。所以item.y= -item.height/2时,是在content的顶部。 + item.setPosition(this.content.width / 2, -item.height * (0.5 + i + startIndex) - this.spaceY * (i + startIndex) - this.padding_top); + } + else if (this.type == ListType.Horizontal) { + item.setPosition(item.width * (0.5 + i + startIndex) + this.spaceX * (i + startIndex) + this.padding_left, -this.content.height / 2); + } + else if (this.type == ListType.Grid) { + if (this.startAxis == StartAxisType.Vertical) { + var row = Math.floor((i + startIndex) / this.gridCol); + var col = (i + startIndex) % this.gridCol; + item.setPosition(item.width * (0.5 + col) + this.spaceX * col + this.padding_left, -item.height * (0.5 + row) - this.spaceY * row - this.padding_top); + item.opacity = 255; + } + else if (this.startAxis == StartAxisType.Horizontal) { + var row = (i + startIndex) % this.gridRow; + var col = Math.floor((i + startIndex) / this.gridRow); + item.setPosition(item.width * (0.5 + col) + this.spaceX * col + this.padding_left, -item.height * (0.5 + row) - this.spaceY * row - this.padding_top); + item.opacity = 255; + } + } + } + this.scrollView.scrollToOffset(offset); + }; + /**获取一个列表项 */ + List.prototype.getItem = function () { + if (this.itemPool.length == 0) { + return cc.instantiate(this.itemRender); + } + else { + return this.itemPool.pop(); + } + }; + List.prototype.update = function (dt) { + if (this.bScrolling == false) { + return; + } + this.updateTimer += dt; + if (this.updateTimer < this.updateInterval) { + return; + } + this.updateTimer = 0; + this.bScrolling = false; + this.updateFun(); + }; + List.prototype.onScrolling = function () { + this.bScrolling = true; + }; + /**垂直排列 */ + List.prototype.updateV = function () { + var items = this.itemList; + var item; + var bufferZone = this.halfScrollView; + var isUp = this.scrollView.content.y > this.lastContentPosY; + var offset = (this.itemHeight + this.spaceY) * items.length; + for (var i = 0; i < items.length; i++) { + item = items[i]; + var viewPos = this.getPositionInView(item); + if (isUp) { + //item上滑时,超出了scrollView上边界,将item移动到下方复用,item移动到下方的位置必须不超过content的下边界 + if (viewPos.y > bufferZone && item.y - offset - this.padding_buttom > -this.content.height) { + var itemRender = item.getComponent(ItemRender_1.default); + var itemIndex = itemRender.itemIndex + items.length; + itemRender.itemIndex = itemIndex; + itemRender.data = this.itemDataList[itemIndex]; + itemRender.dataChanged(); + item.y = item.y - offset; + } + } + else { + //item下滑时,超出了scrollView下边界,将item移动到上方复用,item移动到上方的位置必须不超过content的上边界 + if (viewPos.y < -bufferZone && item.y + offset + this.padding_top < 0) { + var itemRender = item.getComponent(ItemRender_1.default); + var itemIndex = itemRender.itemIndex - items.length; + itemRender.itemIndex = itemIndex; + itemRender.data = this.itemDataList[itemIndex]; + itemRender.dataChanged(); + item.y = item.y + offset; + } + } + } + this.lastContentPosY = this.scrollView.content.y; + }; + /**水平排列 */ + List.prototype.udpateH = function () { + var items = this.itemList; + var item; + var bufferZone = this.halfScrollView; + var isRight = this.scrollView.content.x > this.lastContentPosX; + var offset = (this.itemWidth + this.spaceX) * items.length; + for (var i = 0; i < items.length; i++) { + item = items[i]; + var viewPos = this.getPositionInView(item); + if (isRight) { + //item右滑时,超出了scrollView右边界,将item移动到左方复用,item移动到左方的位置必须不超过content的左边界 + if (viewPos.x > bufferZone && item.x - offset - this.padding_left > 0) { + var itemRender = item.getComponent(ItemRender_1.default); + var itemIndex = itemRender.itemIndex - items.length; + itemRender.itemIndex = itemIndex; + itemRender.data = this.itemDataList[itemIndex]; + itemRender.dataChanged(); + item.x = item.x - offset; + } + } + else { + //item左滑时,超出了scrollView左边界,将item移动到右方复用,item移动到右方的位置必须不超过content的右边界 + if (viewPos.x < -bufferZone && item.x + offset + this.padding_right < this.content.width) { + var itemRender = item.getComponent(ItemRender_1.default); + var itemIndex = itemRender.itemIndex + items.length; + itemRender.itemIndex = itemIndex; + itemRender.data = this.itemDataList[itemIndex]; + itemRender.dataChanged(); + item.x = item.x + offset; + } + } + } + this.lastContentPosX = this.scrollView.content.x; + }; + /**网格垂直排列 */ + List.prototype.updateGrid_V = function () { + var items = this.itemList; + var item; + var bufferZone = this.halfScrollView; + var isUp = this.scrollView.content.y > this.lastContentPosY; + var offset = (this.itemHeight + this.spaceY) * (this.spawnCount / this.gridCol); + for (var i = 0; i < items.length; i++) { + item = items[i]; + var viewPos = this.getPositionInView(item); + if (isUp) { + //item上滑时,超出了scrollView上边界,将item移动到下方复用,item移动到下方的位置必须不超过content的下边界 + if (viewPos.y > bufferZone && item.y - offset - this.padding_buttom > -this.content.height) { + var itemRender = item.getComponent(ItemRender_1.default); + var itemIndex = itemRender.itemIndex + (this.spawnCount / this.gridCol) * this.gridCol; + if (this.itemDataList[itemIndex] != null) { + item.y = item.y - offset; + itemRender.itemIndex = itemIndex; + itemRender.data = this.itemDataList[itemIndex]; + itemRender.dataChanged(); + item.opacity = 255; + } + else { + item.y = item.y - offset; + itemRender.itemIndex = itemIndex; + item.opacity = 0; + } + } + } + else { //item下滑时,超出了scrollView下边界,将item移动到上方复用,item移动到上方的位置必须不超过content的上边界 + if (viewPos.y < -bufferZone && item.y + offset + this.padding_top < 0) { + var itemRender = item.getComponent(ItemRender_1.default); + var itemIndex = itemRender.itemIndex - (this.spawnCount / this.gridCol) * this.gridCol; + if (this.itemDataList[itemIndex] != null) { + item.y = item.y + offset; + itemRender.itemIndex = itemIndex; + itemRender.data = this.itemDataList[itemIndex]; + itemRender.dataChanged(); + item.opacity = 255; + } + else { + item.y = item.y + offset; + itemRender.itemIndex = itemIndex; + item.opacity = 0; + } + } + } + } + this.lastContentPosY = this.scrollView.content.y; + }; + /**网格水平排列 */ + List.prototype.updateGrid_H = function () { + var items = this.itemList; + var item; + var bufferZone = this.halfScrollView; + var isRight = this.scrollView.content.x > this.lastContentPosX; + var offset = (this.itemWidth + this.spaceX) * (this.spawnCount / this.gridRow); + for (var i = 0; i < items.length; i++) { + item = items[i]; + var viewPos = this.getPositionInView(item); + if (isRight) { + //item右滑时,超出了scrollView右边界,将item移动到左方复用,item移动到左方的位置必须不超过content的左边界 + if (viewPos.x > bufferZone && item.x - offset - this.padding_left > 0) { + var itemRender = item.getComponent(ItemRender_1.default); + var itemIndex = itemRender.itemIndex - (this.spawnCount / this.gridRow) * this.gridRow; + if (this.itemDataList[itemIndex] != null) { + item.x = item.x - offset; + itemRender.itemIndex = itemIndex; + itemRender.data = this.itemDataList[itemIndex]; + itemRender.dataChanged(); + item.opacity = 255; + } + else { + item.x = item.x - offset; + itemRender.itemIndex = itemIndex; + item.opacity = 0; + } + } + } + else { + //item左滑时,超出了scrollView左边界,将item移动到右方复用,item移动到右方的位置必须不超过content的右边界 + if (viewPos.x < -bufferZone && item.x + offset + this.padding_right < this.content.width) { + var itemRender = item.getComponent(ItemRender_1.default); + var itemIndex = itemRender.itemIndex + (this.spawnCount / this.gridRow) * this.gridRow; + if (this.itemDataList[itemIndex] != null) { + item.x = item.x + offset; + itemRender.itemIndex = itemIndex; + itemRender.data = this.itemDataList[itemIndex]; + itemRender.dataChanged(); + item.opacity = 255; + } + else { + item.x = item.x + offset; + itemRender.itemIndex = itemIndex; + item.opacity = 0; + } + } + } + } + this.lastContentPosX = this.scrollView.content.x; + }; + /**获取item在scrollView的局部坐标 */ + List.prototype.getPositionInView = function (item) { + var worldPos = item.parent.convertToWorldSpaceAR(item.position); + var viewPos = this.scrollView.node.convertToNodeSpaceAR(worldPos); + return viewPos; + }; + /**获取列表数据 */ + List.prototype.getListData = function () { + return this.itemDataList; + }; + /** + * 增加一项数据到列表的末尾 + * @param data 数据 + */ + List.prototype.addItem = function (data) { + this.itemDataList.push(data); + this.updateContent(); + }; + /** + * 增加一项数据到列表指定位置 + * @param index 位置,0表示第1项 + * @param data 数据 + */ + List.prototype.addItemAt = function (index, data) { + if (this.itemDataList[index] != null || this.itemDataList.length == index) { + this.itemDataList.splice(index, 1, data); + this.updateContent(); + } + }; + /** + * 删除一项数据 + * @param index 删除项的位置 ,0表示第1项 + */ + List.prototype.deleteItem = function (index) { + if (this.itemDataList[index] != null) { + this.itemDataList.splice(index, 1); + this.updateContent(); + } + }; + /** + * 改变一项数据 + * @param index 位置,0表示第1项 + * @param data 替换的数据 + */ + List.prototype.changeItem = function (index, data) { + if (this.itemDataList[index] != null) { + this.itemDataList[index] = data; + this.updateContent(); + } + }; + /**获取第一个Item的位置 */ + List.prototype.updateContent = function () { + //显示列表实例为0个 + if (this.itemList.length == 0) { + this.countListParam(); + this.createList(0, new cc.Vec2(0, 0)); + //显示列表的实例不为0个,则需要重新排列item实例数组 + } + else { + if (this.type == ListType.Vertical) { + this.itemList.sort(function (a, b) { + return b.y - a.y; + }); + } + else if (this.type == ListType.Horizontal) { + this.itemList.sort(function (a, b) { + return a.x - b.x; + }); + } + else if (this.type == ListType.Grid) { + if (this.startAxis == StartAxisType.Vertical) { + this.itemList.sort(function (a, b) { + return a.x - b.x; + }); + this.itemList.sort(function (a, b) { + return b.y - a.y; + }); + } + else if (this.startAxis == StartAxisType.Horizontal) { + this.itemList.sort(function (a, b) { + return b.y - a.y; + }); + this.itemList.sort(function (a, b) { + return a.x - b.x; + }); + } + } + this.countListParam(); + //获取第一个item实例需要显示的数据索引 + var startIndex = this.itemList[0].getComponent(ItemRender_1.default).itemIndex; + if (this.type == ListType.Grid && this.startAxis == StartAxisType.Vertical) { + startIndex += (startIndex + this.spawnCount) % this.gridCol; + } + else if (this.type == ListType.Grid && this.startAxis == StartAxisType.Horizontal) { + startIndex += (startIndex + this.spawnCount) % this.gridRow; + } + //getScrollOffset()和scrollToOffset()的x值是相反的 + var offset = this.scrollView.getScrollOffset(); + offset.x = -offset.x; + this.createList(startIndex, offset); + } + }; + /**销毁 */ + List.prototype.onDestroy = function () { + //清理列表项 + var len = this.itemList.length; + for (var i = 0; i < len; i++) { + if (cc.isValid(this.itemList[i], true)) { + this.itemList[i].destroy(); + } + } + this.itemList.length = 0; + //清理对象池 + len = this.itemPool.length; + for (var i = 0; i < len; i++) { + if (cc.isValid(this.itemPool[i], true)) { + this.itemPool[i].destroy(); + } + } + this.itemPool.length = 0; + //清理列表数据 + this.itemDataList.length = 0; + }; + __decorate([ + property({ type: cc.Node, tooltip: "列表项" }) + ], List.prototype, "itemRender", void 0); + __decorate([ + property({ type: cc.Enum(ListType), tooltip: "排列方式" }) + ], List.prototype, "type", void 0); + __decorate([ + property({ type: cc.Enum(StartAxisType), tooltip: "网格布局中的方向", visible: function () { return this.type == ListType.Grid; } }) + ], List.prototype, "startAxis", void 0); + __decorate([ + property({ type: cc.Integer, tooltip: "列表项X间隔", visible: function () { return (this.type == ListType.Horizontal || this.type == ListType.Grid); } }) + ], List.prototype, "spaceX", void 0); + __decorate([ + property({ type: cc.Integer, tooltip: "列表项Y间隔", visible: function () { return this.type == ListType.Vertical || this.type == ListType.Grid; } }) + ], List.prototype, "spaceY", void 0); + __decorate([ + property({ type: cc.Integer, tooltip: "上间距", visible: function () { return (this.type == ListType.Vertical || this.type == ListType.Grid); } }) + ], List.prototype, "padding_top", void 0); + __decorate([ + property({ type: cc.Integer, tooltip: "下间距", visible: function () { return (this.type == ListType.Vertical || this.type == ListType.Grid); } }) + ], List.prototype, "padding_buttom", void 0); + __decorate([ + property({ type: cc.Integer, tooltip: "左间距", visible: function () { return (this.type == ListType.Horizontal || this.type == ListType.Grid); } }) + ], List.prototype, "padding_left", void 0); + __decorate([ + property(cc.Integer) + ], List.prototype, "_padding", void 0); + __decorate([ + property({ type: cc.Integer, tooltip: "右间距", visible: function () { return (this.type == ListType.Horizontal || this.type == ListType.Grid); } }) + ], List.prototype, "padding_right", void 0); + List = __decorate([ + ccclass + ], List); + return List; +}(cc.Component)); +exports.default = List; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFJhbmtMaXN0XFxMaXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvQkFBb0I7QUFDcEIsd0VBQXdFO0FBQ3hFLG1CQUFtQjtBQUNuQixrRkFBa0Y7QUFDbEYsOEJBQThCO0FBQzlCLGtGQUFrRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsRiwyQ0FBcUM7QUFFL0IsSUFBQSxLQUF3QixFQUFFLENBQUMsVUFBVSxFQUFuQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWtCLENBQUM7QUFFNUMsWUFBWTtBQUNaLElBQVksUUFPWDtBQVBELFdBQVksUUFBUTtJQUNoQixVQUFVO0lBQ1YsbURBQWMsQ0FBQTtJQUNkLFVBQVU7SUFDViwrQ0FBWSxDQUFBO0lBQ1osVUFBVTtJQUNWLHVDQUFRLENBQUE7QUFDWixDQUFDLEVBUFcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFPbkI7QUFFRCxjQUFjO0FBQ2QsSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3JCLFVBQVU7SUFDViw2REFBYyxDQUFBO0lBQ2QsVUFBVTtJQUNWLHlEQUFZLENBQUE7QUFDaEIsQ0FBQyxFQUxXLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBS3hCO0FBRUQ7Ozs7Ozs7R0FPRztBQUVIO0lBQWtDLHdCQUFZO0lBQTlDO1FBQUEscUVBeWlCQztRQXZpQkcscURBQXFEO1FBQ3JELFVBQVU7UUFFSCxnQkFBVSxHQUFZLElBQUksQ0FBQztRQUVsQyxVQUFVO1FBRUgsVUFBSSxHQUFhLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFFMUMsY0FBYztRQUVQLGVBQVMsR0FBa0IsYUFBYSxDQUFDLFVBQVUsQ0FBQztRQUUzRCxjQUFjO1FBRVAsWUFBTSxHQUFXLENBQUMsQ0FBQztRQUUxQixjQUFjO1FBRVAsWUFBTSxHQUFXLENBQUMsQ0FBQztRQUUxQixTQUFTO1FBRUYsaUJBQVcsR0FBVyxDQUFDLENB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SSxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQzs4Q0FDdEc7SUFLaEM7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQzswQ0FDTztJQUk1QjtRQURDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxnQkFBSyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLENBQUM7K0NBQ3JHO0lBMUNoQixJQUFJO1FBRHhCLE9BQU87T0FDYSxJQUFJLENBeWlCeEI7SUFBRCxXQUFDO0NBemlCRCxBQXlpQkMsQ0F6aUJpQyxFQUFFLENBQUMsU0FBUyxHQXlpQjdDO2tCQXppQm9CLElBQUkiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMZWFybiBUeXBlU2NyaXB0OlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy90eXBlc2NyaXB0Lmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5pbXBvcnQgSXRlbVJlbmRlciBmcm9tIFwiLi9JdGVtUmVuZGVyXCJcclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG4vKirliJfooajmjpLliJfmlrnlvI8gKi9cclxuZXhwb3J0IGVudW0gTGlzdFR5cGUge1xyXG4gICAgLyoq5rC05bmz5o6S5YiXICovXHJcbiAgICBIb3Jpem9udGFsID0gMSxcclxuICAgIC8qKuWeguebtOaOkuWIlyAqL1xyXG4gICAgVmVydGljYWwgPSAyLFxyXG4gICAgLyoq572R5qC85o6S5YiXICovXHJcbiAgICBHcmlkID0gM1xyXG59XHJcblxyXG4vKirnvZHmoLzluIPlsYDkuK3nmoTmlrnlkJEgKi9cclxuZXhwb3J0IGVudW0gU3RhcnRBeGlzVHlwZSB7XHJcbiAgICAvKirmsLTlubPmjpLliJcgKi9cclxuICAgIEhvcml6b250YWwgPSAxLFxyXG4gICAgLyoq5Z6C55u05o6S5YiXICovXHJcbiAgICBWZXJ0aWNhbCA9IDIsXHJcbn1cclxuXHJcbi8qKlxyXG4gKiDliJfooahcclxuICog5qC55o2uY29jb3NfZXhhbXBsZeeahGxpc3RWaWV35pS55Yqo6ICM5p2lXHJcbiAqIEBhdXRob3IgY2hlbmthaSAyMDIwLjcuOFxyXG4gKiBAZXhhbXBsZVxyXG4gKiAgMS7liJvlu7pjb2Nvc+eahFNjcm9sbFZpZXfnu4Tku7bvvIzmt7vliqBMaXN077yM6K6+572uTGlzdOWxnuaAp+WNs+WPr1xyXG4gKiAgXHJcbiAqL1xyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMaXN0IGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuXHJcbiAgICAvLz09PT09PT09PT09PT09PT09PT09IOWxnuaAp+mdouadvyA9PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAvKirliJfooajpgInpobkgKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLk5vZGUsIHRvb2x0aXA6IFwi5YiX6KGo6aG5XCIgfSlcclxuICAgIHB1YmxpYyBpdGVtUmVuZGVyOiBjYy5Ob2RlID0gbnVsbDtcclxuXHJcbiAgICAvKirmjpLliJfmlrnlvI8gKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkVudW0oTGlzdFR5cGUpLCB0b29sdGlwOiBcIuaOkuWIl+aWueW8j1wiIH0pXHJcbiAgICBwdWJsaWMgdHlwZTogTGlzdFR5cGUgPSBMaXN0VHlwZS5WZXJ0aWNhbDtcclxuXHJcbiAgICAvKirnvZHmoLzluIPlsYDkuK3nmoTmlrnlkJEgKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkVudW0oU3RhcnRBeGlzVHlwZSksIHRvb2x0aXA6IFwi572R5qC85biD5bGA5Lit55qE5pa55ZCRXCIsIHZpc2libGUoKSB7IHJldHVybiB0aGlzLnR5cGUgPT0gTGlzdFR5cGUuR3JpZCB9IH0pXHJcbiAgICBwdWJsaWMgc3RhcnRBeGlzOiBTdGFydEF4aXNUeXBlID0gU3RhcnRBeGlzVHlwZS5Ib3Jpem9udGFsO1xyXG5cclxuICAgIC8qKuWIl+ihqOmhueS5i+mXtFjpl7TpmpQgKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkludGVnZXIsIHRvb2x0aXA6IFwi5YiX6KGo6aG5WOmXtOmalFwiLCB2aXNpYmxlKCkgeyByZXR1cm4gKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5Ib3Jpem9udGFsIHx8IHRoaXMudHlwZSA9PSBMaXN0VHlwZS5HcmlkKSB9IH0pXHJcbiAgICBwdWJsaWMgc3BhY2VYOiBudW1iZXIgPSAwO1xyXG5cclxuICAgIC8qKuWIl+ihqOmhueS5i+mXtFnpl7TpmpQgKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkludGVnZXIsIHRvb2x0aXA6IFwi5YiX6KGo6aG5WemXtOmalFwiLCB2aXNpYmxlKCkgeyByZXR1cm4gdGhpcy50eXBlID09IExpc3RUeXBlLlZlcnRpY2FsIHx8IHRoaXMudHlwZSA9PSBMaXN0VHlwZS5HcmlkIH0gfSlcclxuICAgIHB1YmxpYyBzcGFjZVk6IG51bWJlciA9IDA7XHJcblxyXG4gICAgLyoq5LiK6Ze06LedICovXHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBjYy5JbnRlZ2VyLCB0b29sdGlwOiBcIuS4iumXtOi3nVwiLCB2aXNpYmxlKCkgeyByZXR1cm4gKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5WZXJ0aWNhbCB8fCB0aGlzLnR5cGUgPT0gTGlzdFR5cGUuR3JpZCkgfSB9KVxyXG4gICAgcHVibGljIHBhZGRpbmdfdG9wOiBudW1iZXIgPSAwO1xyXG5cclxuICAgIC8qKuS4i+mXtOi3nSAqL1xyXG4gICAgQHByb3BlcnR5KHsgdHlwZTogY2MuSW50ZWdlciwgdG9vbHRpcDogXCLkuIvpl7Tot51cIiwgdmlzaWJsZSgpIHsgcmV0dXJuICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuVmVydGljYWwgfHwgdGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQpIH0gfSlcclxuICAgIHB1YmxpYyBwYWRkaW5nX2J1dHRvbTogbnVtYmVyID0gMDtcclxuXHJcbiAgICAvKirlt6bpl7Tot50gKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkludGVnZXIsIHRvb2x0aXA6IFwi5bem6Ze06LedXCIsIHZpc2libGUoKSB7IHJldHVybiAodGhpcy50eXBlID09IExpc3RUeXBlLkhvcml6b250YWwgfHwgdGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQpIH0gfSlcclxuICAgIHB1YmxpYyBwYWRkaW5nX2xlZnQ6IG51bWJlciA9IDA7XHJcblxyXG5cclxuXHJcbiAgICBAcHJvcGVydHkoY2MuSW50ZWdlcilcclxuICAgIHB1YmxpYyBfcGFkZGluZzogbnVtYmVyID0gMDtcclxuXHJcbiAgICAvKirlj7Ppl7Tot50gKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkludGVnZXIsIHRvb2x0aXA6IFwi5Y+z6Ze06LedXCIsIHZpc2libGUoKSB7IHJldHVybiAodGhpcy50eXBlID09IExpc3RUeXBlLkhvcml6b250YWwgfHwgdGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQpIH0gfSlcclxuICAgIHB1YmxpYyBwYWRkaW5nX3JpZ2h0OiBudW1iZXIgPSAwO1xyXG5cclxuICAgIC8vPT09PT09PT09PT09PT09PT09PT09PSDmu5rliqjlrrnlmaggPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgLyoq5YiX6KGo5rua5Yqo5a655ZmoICovXHJcbiAgICBwdWJsaWMgc2Nyb2xsVmlldzogY2MuU2Nyb2xsVmlldyA9IG51bGw7XHJcbiAgICAvKipzY3JvbGxWaWV355qE5YaF5a655a655ZmoICovXHJcbiAgICBwcml2YXRlIGNvbnRlbnQ6IGNjLk5vZGUgPSBudWxsO1xyXG5cclxuICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09IOWIl+ihqOmhuSA9PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgIC8qKuWIl+ihqOmhueaVsOaNriAqL1xyXG4gICAgcHJpdmF0ZSBpdGVtRGF0YUxpc3Q6IEFycmF5PGFueT4gPSBbXTtcclxuICAgIC8qKuW6lOWIm+W7uueahOWunuS+i+aVsOmHjyAqL1xyXG4gICAgcHJpdmF0ZSBzcGF3bkNvdW50OiBudW1iZXIgPSAwO1xyXG4gICAgLyoq5a2Y5pS+5YiX6KGo6aG55a6e5L6L55qE5pWw57uEICovXHJcbiAgICBwcml2YXRlIGl0ZW1MaXN0OiBBcnJheTxjYy5Ob2RlPiA9IFtdO1xyXG4gICAgLyoqaXRlbeeahOmrmOW6piAqL1xyXG4gICAgcHJpdmF0ZSBpdGVtSGVpZ2h0OiBudW1iZXIgPSAwO1xyXG4gICAgLyoqaXRlbeeahOWuveW6piAqL1xyXG4gICAgcHJpdmF0ZSBpdGVtV2lkdGg6IG51bWJlciA9IDA7XHJcbiAgICAvKirlrZjmlL7kuI3lho3kvb/nlKjkuK3nmoTliJfooajpobkgKi9cclxuICAgIHByaXZhdGUgaXRlbVBvb2w6IEFycmF5PGNjLk5vZGU+ID0gW107XHJcblxyXG4gICAgLy89PT09PT09PT09PT09PT09PT09PT09PSDorqHnrpflj4LmlbAgPT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgIC8qKui3neemu3Njcm9sbFZpZXfkuK3lv4PngrnnmoTot53nprvvvIzotoXov4fov5nkuKrot53nprvnmoRpdGVt5Lya6KKr6YeN572u77yM5LiA6Iis6K6+572u5Li6IHNjcm9sbFZJZXcuaGVpZ2h0LzIgKyBpdGVtLmhlaWd0LzIgKyBzcGFjZe+8jOWboOS4uui/meS4qui3neemu2l0ZW3mraPlpb3otoXlh7pzY3JvbGxWaWV35pi+56S66IyD5Zu0ICovXHJcbiAgICBwcml2YXRlIGhhbGZTY3JvbGxWaWV3OiBudW1iZXIgPSAwO1xyXG4gICAgLyoq5LiK5LiA5qyhY29udGVudOeahFjlgLzvvIznlKjkuo7lkoznjrDlnKhjb250ZW5055qEWOWAvOavlOi+g++8jOW+l+WHuuaYr+WQkeW3pui/mOaYr+WQkeWPs+a7muWKqCAqL1xyXG4gICAgcHJpdmF0ZSBsYXN0Q29udGVudFBvc1g6IG51bWJlciA9IDA7XHJcbiAgICAvKirkuIrkuIDmrKFjb250ZW5055qEWeWAvO+8jOeUqOS6juWSjOeOsOWcqGNvbnRlbnTnmoRZ5YC85q+U6L6D77yM5b6X5Ye65piv5ZCR5LiK6L+Y5piv5ZCR5LiL5rua5YqoICovXHJcbiAgICBwcml2YXRlIGxhc3RDb250ZW50UG9zWTogbnVtYmVyID0gMDtcclxuICAgIC8qKue9keagvOihjOaVsCAqL1xyXG4gICAgcHJpdmF0ZSBncmlkUm93OiBudW1iZXIgPSAwO1xyXG4gICAgLyoq572R5qC85YiX5pWwICovXHJcbiAgICBwcml2YXRlIGdyaWRDb2w6IG51bWJlciA9IDA7XHJcbiAgICAvKirliLfmlrDml7bpl7TvvIzljZXkvY1zICovXHJcbiAgICBwcml2YXRlIHVwZGF0ZVRpbWVyOiBudW1iZXIgPSAwO1xyXG4gICAgLyoq5Yi35paw6Ze06ZqU77yM5Y2V5L2NcyAqL1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVJbnRlcnZhbDogbnVtYmVyID0gMC4xO1xyXG4gICAgLyoq5piv5ZCm5rua5Yqo5a655ZmoICovXHJcbiAgICBwcml2YXRlIGJTY3JvbGxpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIC8qKuWIt+aWsOeahOWHveaVsCAqL1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVGdW46IEZ1bmN0aW9uID0gZnVuY3Rpb24gKCkgeyB9O1xyXG5cclxuICAgIG9uTG9hZCgpIHtcclxuICAgICAgICB0aGlzLml0ZW1IZWlnaHQgPSB0aGlzLml0ZW1SZW5kZXIuaGVpZ2h0O1xyXG4gICAgICAgIHRoaXMuaXRlbVdpZHRoID0gdGhpcy5pdGVtUmVuZGVyLndpZHRoO1xyXG4gICAgICAgIHRoaXMuc2Nyb2xsVmlldyA9IHRoaXMubm9kZS5nZXRDb21wb25lbnQoY2MuU2Nyb2xsVmlldyk7XHJcbiAgICAgICAgdGhpcy5jb250ZW50ID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQ7XHJcbiAgICAgICAgdGhpcy5jb250ZW50LmFuY2hvclggPSAwO1xyXG4gICAgICAgIHRoaXMuY29udGVudC5hbmNob3JZID0gMTtcclxuICAgICAgICB0aGlzLmNvbnRlbnQucmVtb3ZlQWxsQ2hpbGRyZW4oKTtcclxuICAgICAgICB0aGlzLnNjcm9sbFZpZXcubm9kZS5vbihcInNjcm9sbGluZ1wiLCB0aGlzLm9uU2Nyb2xsaW5nLCB0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOWIl+ihqOaVsOaNriAo5YiX6KGo5pWw5o2u5aSN5Yi25L2/55So77yM5aaC5p6c5YiX6KGo5pWw5o2u5pS55Y+Y77yM5YiZ6ZyA6KaB6YeN5paw6K6+572u5LiA6YGN5pWw5o2uKVxyXG4gICAgICogQHBhcmFtIGl0ZW1EYXRhTGlzdCBpdGVt5pWw5o2u5YiX6KGoXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXREYXRhKGl0ZW1EYXRhTGlzdDogQXJyYXk8YW55Pikge1xyXG4gICAgICAgIHRoaXMuaXRlbURhdGFMaXN0ID0gaXRlbURhdGFMaXN0LnNsaWNlKCk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XHJcbiAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAvKirorqHnrpfliJfooajnmoTlkITpobnlj4LmlbAgKi9cclxuICAgIHByaXZhdGUgY291bnRMaXN0UGFyYW0oKSB7XHJcbiAgICAgICAgbGV0IGRhdGFMZW4gPSB0aGlzLml0ZW1EYXRhTGlzdC5sZW5ndGg7XHJcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5WZXJ0aWNhbCkge1xyXG4gICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcuaG9yaXpvbnRhbCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcudmVydGljYWwgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnQud2lkdGggPSB0aGlzLmNvbnRlbnQucGFyZW50LndpZHRoO1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnQuaGVpZ2h0ID0gZGF0YUxlbiAqIHRoaXMuaXRlbUhlaWdodCArIChkYXRhTGVuIC0gMSkgKiB0aGlzLnNwYWNlWSArIHRoaXMucGFkZGluZ190b3AgKyB0aGlzLnBhZGRpbmdfYnV0dG9tO1xyXG4gICAgICAgICAgICB0aGlzLnNwYXduQ291bnQgPSBNYXRoLnJvdW5kKHRoaXMuc2Nyb2xsVmlldy5ub2RlLmhlaWdodCAvICh0aGlzLml0ZW1IZWlnaHQgKyB0aGlzLnNwYWNlWSkpICsgMjsgLy/orqHnrpfliJvlu7rnmoRpdGVt5a6e5L6L5pWw6YeP77yM5q+U5b2T5YmNc2Nyb2xsVmlld+WuueWZqOiDveaUvuS4i+eahGl0ZW3mlbDph4/lho3liqDkuIoy5LiqXHJcbiAgICAgICAgICAgIHRoaXMuaGFsZlNjcm9sbFZpZXcgPSB0aGlzLnNjcm9sbFZpZXcubm9kZS5oZWlnaHQgLyAyICsgdGhpcy5pdGVtSGVpZ2h0IC8gMiArIHRoaXMuc3BhY2VZOyAvL+iuoeeul2J1ZmZlclpvbmXvvIxpdGVt55qE5pi+56S66IyD5Zu0XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRnVuID0gdGhpcy51cGRhdGVWO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkhvcml6b250YWwpIHtcclxuICAgICAgICAgICAgdGhpcy5zY3JvbGxWaWV3Lmhvcml6b250YWwgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcudmVydGljYWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jb250ZW50LndpZHRoID0gZGF0YUxlbiAqIHRoaXMuaXRlbVdpZHRoICsgKGRhdGFMZW4gLSAxKSAqIHRoaXMuc3BhY2VYICsgdGhpcy5wYWRkaW5nX2xlZnQgKyB0aGlzLnBhZGRpbmdfcmlnaHQ7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGVudC5oZWlnaHQgPSB0aGlzLmNvbnRlbnQucGFyZW50LmhlaWdodDtcclxuICAgICAgICAgICAgdGhpcy5zcGF3bkNvdW50ID0gTWF0aC5yb3VuZCh0aGlzLnNjcm9sbFZpZXcubm9kZS53aWR0aCAvICh0aGlzLml0ZW1XaWR0aCArIHRoaXMuc3BhY2VYKSkgKyAyO1xyXG4gICAgICAgICAgICB0aGlzLmhhbGZTY3JvbGxWaWV3ID0gdGhpcy5zY3JvbGxWaWV3Lm5vZGUud2lkdGggLyAyICsgdGhpcy5pdGVtV2lkdGggLyAyICsgdGhpcy5zcGFjZVg7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRnVuID0gdGhpcy51ZHBhdGVIO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuc3RhcnRBeGlzID09IFN0YXJ0QXhpc1R5cGUuVmVydGljYWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVmlldy5ob3Jpem9udGFsID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcudmVydGljYWwgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50LndpZHRoID0gdGhpcy5jb250ZW50LnBhcmVudC53aWR0aDtcclxuICAgICAgICAgICAgICAgIC8v5aaC5p6cbGVmdOWSjHJpZ2h06Ze06ZqU6L+H5aSn77yM5a+86Ie05pS+5LiN5LiL5LiA5LiqaXRlbe+8jOWImWxlZnTlkoxyaWdodOmDveiuvue9ruS4ujDvvIznm7jlvZPkuo7kuI3nlJ/mlYhcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBhZGRpbmdfbGVmdCArIHRoaXMucGFkZGluZ19yaWdodCArIHRoaXMuaXRlbVdpZHRoICsgdGhpcy5zcGFjZVggPiB0aGlzLmNvbnRlbnQud2lkdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZGRpbmdfbGVmdCA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWRkaW5nX3JpZ2h0ID0gMDtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwicGFkZGluZ19sZWZ05oiWcGFkZGluZ19yaWdodOi/h+Wkp1wiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWRDb2wgPSBNYXRoLmZsb29yKCh0aGlzLmNvbnRlbnQud2lkdGggLSB0aGlzLnBhZGRpbmdfbGVmdCAtIHRoaXMucGFkZGluZ19yaWdodCkgLyAodGhpcy5pdGVtV2lkdGggKyB0aGlzLnNwYWNlWCkpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkUm93ID0gTWF0aC5jZWlsKGRhdGFMZW4gLyB0aGlzLmdyaWRDb2wpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50LmhlaWdodCA9IHRoaXMuZ3JpZFJvdyAqIHRoaXMuaXRlbUhlaWdodCArICh0aGlzLmdyaWRSb3cgLSAxKSAqIHRoaXMuc3BhY2VZICsgdGhpcy5wYWRkaW5nX3RvcCArIHRoaXMucGFkZGluZ19idXR0b207XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNwYXduQ291bnQgPSBNYXRoLnJvdW5kKHRoaXMuc2Nyb2xsVmlldy5ub2RlLmhlaWdodCAvICh0aGlzLml0ZW1IZWlnaHQgKyB0aGlzLnNwYWNlWSkpICogdGhpcy5ncmlkQ29sICsgdGhpcy5ncmlkQ29sICogMjtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGFsZlNjcm9sbFZpZXcgPSB0aGlzLnNjcm9sbFZpZXcubm9kZS5oZWlnaHQgLyAyICsgdGhpcy5pdGVtSGVpZ2h0IC8gMiArIHRoaXMuc3BhY2VZO1xyXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVGdW4gPSB0aGlzLnVwZGF0ZUdyaWRfVjtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnN0YXJ0QXhpcyA9PSBTdGFydEF4aXNUeXBlLkhvcml6b250YWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVmlldy5ob3Jpem9udGFsID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVmlldy52ZXJ0aWNhbCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgLy/orqHnrpfpq5jpl7TpmpRcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udGVudC5oZWlnaHQgPSB0aGlzLmNvbnRlbnQucGFyZW50LmhlaWdodDtcclxuICAgICAgICAgICAgICAgIC8v5aaC5p6cbGVmdOWSjHJpZ2h06Ze06ZqU6L+H5aSn77yM5a+86Ie05pS+5LiN5LiL5LiA5LiqaXRlbe+8jOWImWxlZnTlkoxyaWdodOmDveiuvue9ruS4ujDvvIznm7jlvZPkuo7kuI3nlJ/mlYhcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBhZGRpbmdfdG9wICsgdGhpcy5wYWRkaW5nX2J1dHRvbSArIHRoaXMuaXRlbUhlaWdodCArIHRoaXMuc3BhY2VZID4gdGhpcy5jb250ZW50LmhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFkZGluZ190b3AgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFkZGluZ19idXR0b20gPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJwYWRkaW5nX3RvcOaIlnBhZGRpbmdfYnV0dG9t6L+H5aSnXCIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZFJvdyA9IE1hdGguZmxvb3IoKHRoaXMuY29udGVudC5oZWlnaHQgLSB0aGlzLnBhZGRpbmdfdG9wIC0gdGhpcy5wYWRkaW5nX2J1dHRvbSkgLyAodGhpcy5pdGVtSGVpZ2h0ICsgdGhpcy5zcGFjZVkpKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZENvbCA9IE1hdGguY2VpbChkYXRhTGVuIC8gdGhpcy5ncmlkUm93KTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udGVudC53aWR0aCA9IHRoaXMuZ3JpZENvbCAqIHRoaXMuaXRlbVdpZHRoICsgKHRoaXMuZ3JpZENvbCAtIDEpICogdGhpcy5zcGFjZVggKyB0aGlzLnBhZGRpbmdfbGVmdCArIHRoaXMucGFkZGluZ19yaWdodDtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3Bhd25Db3VudCA9IE1hdGgucm91bmQodGhpcy5zY3JvbGxWaWV3Lm5vZGUud2lkdGggLyAodGhpcy5pdGVtV2lkdGggKyB0aGlzLnNwYWNlWCkpICogdGhpcy5ncmlkUm93ICsgdGhpcy5ncmlkUm93ICogMjtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGFsZlNjcm9sbFZpZXcgPSB0aGlzLnNjcm9sbFZpZXcubm9kZS53aWR0aCAvIDIgKyB0aGlzLml0ZW1XaWR0aCAvIDIgKyB0aGlzLnNwYWNlWDtcclxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlRnVuID0gdGhpcy51cGRhdGVHcmlkX0g7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDliJvlu7rliJfooaggXHJcbiAgICAgKiBAcGFyYW0gc3RhcnRJbmRleCDotbflp4vmmL7npLrnmoTmlbDmja7ntKLlvJUgMOihqOekuuesrOS4gOmhuVxyXG4gICAgICogQHBhcmFtIG9mZnNldCAgICAgc2Nyb2xsVmlld+WBj+enu+mHj1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGNyZWF0ZUxpc3Qoc3RhcnRJbmRleDogbnVtYmVyLCBvZmZzZXQ6IGNjLlZlYzIpIHtcclxuICAgICAgICAvL+W9k+mcgOimgeaYvuekuueahOaVsOaNrumVv+W6piA+IOiZmuaLn+WIl+ihqOmVv+W6pu+8jCDliKDpmaTmnIDmnKvlsL7lh6DkuKrmlbDmja7ml7bvvIzliJfooajpnIDopoHph43nva7kvY3nva7liLBzY3JvbGxWaWV35pyA5bqV56uvXHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbURhdGFMaXN0Lmxlbmd0aCA+IHRoaXMuc3Bhd25Db3VudCAmJiAoc3RhcnRJbmRleCArIHRoaXMuc3Bhd25Db3VudCAtIDEpID49IHRoaXMuaXRlbURhdGFMaXN0Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICBzdGFydEluZGV4ID0gdGhpcy5pdGVtRGF0YUxpc3QubGVuZ3RoIC0gdGhpcy5zcGF3bkNvdW50O1xyXG4gICAgICAgICAgICBvZmZzZXQgPSB0aGlzLnNjcm9sbFZpZXcuZ2V0TWF4U2Nyb2xsT2Zmc2V0KCk7XHJcblxyXG4gICAgICAgICAgICAvL+W9k+mcgOimgeaYvuekuueahOaVsOaNrumVv+W6piA8PSDomZrmi5/liJfooajplb/luqbvvIwg6ZqQ6JeP5aSa5L2Z55qE6Jma5ouf5YiX6KGo6aG5IFxyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pdGVtRGF0YUxpc3QubGVuZ3RoIDw9IHRoaXMuc3Bhd25Db3VudCkge1xyXG4gICAgICAgICAgICBzdGFydEluZGV4ID0gMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5zcGF3bkNvdW50OyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IGl0ZW06IGNjLk5vZGU7XHJcbiAgICAgICAgICAgIC8v6ZyA6KaB5pi+56S655qE5pWw5o2u57Si5byV5Zyo5pWw5o2u6IyD5Zu05YaF77yM5YiZaXRlbeWunuS+i+aYvuekuuWHuuadpVxyXG4gICAgICAgICAgICBpZiAoaSArIHN0YXJ0SW5kZXggPCB0aGlzLml0ZW1EYXRhTGlzdC5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW1MaXN0W2ldID09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtID0gdGhpcy5nZXRJdGVtKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ucGFyZW50ID0gdGhpcy5jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtID0gdGhpcy5pdGVtTGlzdFtpXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8v6ZyA6KaB5pi+56S655qE5pWw5o2u57Si5byV6LaF6L+H5LqG5pWw5o2u6IyD5Zu077yM5YiZaXRlbeWunuS+i+makOiXj+i1t+adpVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy9pdGVt5a6e5L6L5pWw6YePID4g6ZyA6KaB5pi+56S655qE5pWw5o2u6YePXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pdGVtTGlzdC5sZW5ndGggPiAodGhpcy5pdGVtRGF0YUxpc3QubGVuZ3RoIC0gc3RhcnRJbmRleCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtID0gdGhpcy5pdGVtTGlzdC5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnJlbW92ZUZyb21QYXJlbnQoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLml0ZW1Qb29sLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpICsgc3RhcnRJbmRleDtcclxuICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaSArIHN0YXJ0SW5kZXhdO1xyXG4gICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLlZlcnRpY2FsKSB7XHJcbiAgICAgICAgICAgICAgICAvL+WboOS4umNvbnRlbnTnmoTplJrngrlY5pivMO+8jOaJgOS7pWl0ZW3nmoR45YC85pivY29udGVudC53aXRoLzLooajnpLrlsYXkuK3vvIzplJrngrlZ5pivMe+8jOaJgOS7pWl0ZW3nmoR55YC85LuOY29udGVudOmhtumDqOWQkeS4i+aYrzDliLDotJ/ml6DnqbfjgILmiYDku6VpdGVtLnk9IC1pdGVtLmhlaWdodC8y5pe277yM5piv5ZyoY29udGVudOeahOmhtumDqOOAglxyXG4gICAgICAgICAgICAgICAgaXRlbS5zZXRQb3NpdGlvbih0aGlzLmNvbnRlbnQud2lkdGggLyAyLCAtaXRlbS5oZWlnaHQgKiAoMC41ICsgaSArIHN0YXJ0SW5kZXgpIC0gdGhpcy5zcGFjZVkgKiAoaSArIHN0YXJ0SW5kZXgpIC0gdGhpcy5wYWRkaW5nX3RvcCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkhvcml6b250YWwpIHtcclxuICAgICAgICAgICAgICAgIGl0ZW0uc2V0UG9zaXRpb24oaXRlbS53aWR0aCAqICgwLjUgKyBpICsgc3RhcnRJbmRleCkgKyB0aGlzLnNwYWNlWCAqIChpICsgc3RhcnRJbmRleCkgKyB0aGlzLnBhZGRpbmdfbGVmdCwgLXRoaXMuY29udGVudC5oZWlnaHQgLyAyKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuR3JpZCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc3RhcnRBeGlzID09IFN0YXJ0QXhpc1R5cGUuVmVydGljYWwpIHtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgcm93ID0gTWF0aC5mbG9vcigoaSArIHN0YXJ0SW5kZXgpIC8gdGhpcy5ncmlkQ29sKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgY29sID0gKGkgKyBzdGFydEluZGV4KSAlIHRoaXMuZ3JpZENvbDtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnNldFBvc2l0aW9uKGl0ZW0ud2lkdGggKiAoMC41ICsgY29sKSArIHRoaXMuc3BhY2VYICogY29sICsgdGhpcy5wYWRkaW5nX2xlZnQsIC1pdGVtLmhlaWdodCAqICgwLjUgKyByb3cpIC0gdGhpcy5zcGFjZVkgKiByb3cgLSB0aGlzLnBhZGRpbmdfdG9wKTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3RhcnRBeGlzID09IFN0YXJ0QXhpc1R5cGUuSG9yaXpvbnRhbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciByb3cgPSAoaSArIHN0YXJ0SW5kZXgpICUgdGhpcy5ncmlkUm93O1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBjb2wgPSBNYXRoLmZsb29yKChpICsgc3RhcnRJbmRleCkgLyB0aGlzLmdyaWRSb3cpO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uc2V0UG9zaXRpb24oaXRlbS53aWR0aCAqICgwLjUgKyBjb2wpICsgdGhpcy5zcGFjZVggKiBjb2wgKyB0aGlzLnBhZGRpbmdfbGVmdCwgLWl0ZW0uaGVpZ2h0ICogKDAuNSArIHJvdykgLSB0aGlzLnNwYWNlWSAqIHJvdyAtIHRoaXMucGFkZGluZ190b3ApO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zY3JvbGxWaWV3LnNjcm9sbFRvT2Zmc2V0KG9mZnNldCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoq6I635Y+W5LiA5Liq5YiX6KGo6aG5ICovXHJcbiAgICBwcml2YXRlIGdldEl0ZW0oKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbVBvb2wubGVuZ3RoID09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNjLmluc3RhbnRpYXRlKHRoaXMuaXRlbVJlbmRlcik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXRlbVBvb2wucG9wKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZShkdCkge1xyXG4gICAgICAgIGlmICh0aGlzLmJTY3JvbGxpbmcgPT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnVwZGF0ZVRpbWVyICs9IGR0O1xyXG4gICAgICAgIGlmICh0aGlzLnVwZGF0ZVRpbWVyIDwgdGhpcy51cGRhdGVJbnRlcnZhbCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudXBkYXRlVGltZXIgPSAwO1xyXG4gICAgICAgIHRoaXMuYlNjcm9sbGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudXBkYXRlRnVuKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25TY3JvbGxpbmcoKSB7XHJcbiAgICAgICAgdGhpcy5iU2Nyb2xsaW5nID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKirlnoLnm7TmjpLliJcgKi9cclxuICAgIHByaXZhdGUgdXBkYXRlVigpIHtcclxuICAgICAgICBsZXQgaXRlbXMgPSB0aGlzLml0ZW1MaXN0O1xyXG4gICAgICAgIGxldCBpdGVtO1xyXG4gICAgICAgIGxldCBidWZmZXJab25lID0gdGhpcy5oYWxmU2Nyb2xsVmlldztcclxuICAgICAgICBsZXQgaXNVcCA9IHRoaXMuc2Nyb2xsVmlldy5jb250ZW50LnkgPiB0aGlzLmxhc3RDb250ZW50UG9zWTtcclxuICAgICAgICBsZXQgb2Zmc2V0ID0gKHRoaXMuaXRlbUhlaWdodCArIHRoaXMuc3BhY2VZKSAqIGl0ZW1zLmxlbmd0aDtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1tpXTtcclxuICAgICAgICAgICAgbGV0IHZpZXdQb3MgPSB0aGlzLmdldFBvc2l0aW9uSW5WaWV3KGl0ZW0pO1xyXG4gICAgICAgICAgICBpZiAoaXNVcCkge1xyXG4gICAgICAgICAgICAgICAgLy9pdGVt5LiK5ruR5pe277yM6LaF5Ye65LqGc2Nyb2xsVmlld+S4iui+ueeVjO+8jOWwhml0ZW3np7vliqjliLDkuIvmlrnlpI3nlKjvvIxpdGVt56e75Yqo5Yiw5LiL5pa555qE5L2N572u5b+F6aG75LiN6LaF6L+HY29udGVudOeahOS4i+i+ueeVjFxyXG4gICAgICAgICAgICAgICAgaWYgKHZpZXdQb3MueSA+IGJ1ZmZlclpvbmUgJiYgaXRlbS55IC0gb2Zmc2V0IC0gdGhpcy5wYWRkaW5nX2J1dHRvbSA+IC10aGlzLmNvbnRlbnQuaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gaXRlbVJlbmRlci5pdGVtSW5kZXggKyBpdGVtcy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS55ID0gaXRlbS55IC0gb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy9pdGVt5LiL5ruR5pe277yM6LaF5Ye65LqGc2Nyb2xsVmlld+S4i+i+ueeVjO+8jOWwhml0ZW3np7vliqjliLDkuIrmlrnlpI3nlKjvvIxpdGVt56e75Yqo5Yiw5LiK5pa555qE5L2N572u5b+F6aG75LiN6LaF6L+HY29udGVudOeahOS4iui+ueeVjFxyXG4gICAgICAgICAgICAgICAgaWYgKHZpZXdQb3MueSA8IC1idWZmZXJab25lICYmIGl0ZW0ueSArIG9mZnNldCArIHRoaXMucGFkZGluZ190b3AgPCAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gaXRlbVJlbmRlci5pdGVtSW5kZXggLSBpdGVtcy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS55ID0gaXRlbS55ICsgb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGFzdENvbnRlbnRQb3NZID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQueTtcclxuICAgIH1cclxuXHJcbiAgICAvKirmsLTlubPmjpLliJcgKi9cclxuICAgIHByaXZhdGUgdWRwYXRlSCgpIHtcclxuICAgICAgICBsZXQgaXRlbXMgPSB0aGlzLml0ZW1MaXN0O1xyXG4gICAgICAgIGxldCBpdGVtO1xyXG4gICAgICAgIGxldCBidWZmZXJab25lID0gdGhpcy5oYWxmU2Nyb2xsVmlldztcclxuICAgICAgICBsZXQgaXNSaWdodCA9IHRoaXMuc2Nyb2xsVmlldy5jb250ZW50LnggPiB0aGlzLmxhc3RDb250ZW50UG9zWDtcclxuICAgICAgICBsZXQgb2Zmc2V0ID0gKHRoaXMuaXRlbVdpZHRoICsgdGhpcy5zcGFjZVgpICogaXRlbXMubGVuZ3RoO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaXRlbSA9IGl0ZW1zW2ldO1xyXG4gICAgICAgICAgICBsZXQgdmlld1BvcyA9IHRoaXMuZ2V0UG9zaXRpb25JblZpZXcoaXRlbSk7XHJcbiAgICAgICAgICAgIGlmIChpc1JpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAvL2l0ZW3lj7Pmu5Hml7bvvIzotoXlh7rkuoZzY3JvbGxWaWV35Y+z6L6555WM77yM5bCGaXRlbeenu+WKqOWIsOW3puaWueWkjeeUqO+8jGl0ZW3np7vliqjliLDlt6bmlrnnmoTkvY3nva7lv4XpobvkuI3otoXov4djb250ZW5055qE5bem6L6555WMXHJcbiAgICAgICAgICAgICAgICBpZiAodmlld1Bvcy54ID4gYnVmZmVyWm9uZSAmJiBpdGVtLnggLSBvZmZzZXQgLSB0aGlzLnBhZGRpbmdfbGVmdCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbVJlbmRlcjogSXRlbVJlbmRlciA9IGl0ZW0uZ2V0Q29tcG9uZW50KEl0ZW1SZW5kZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtSW5kZXggPSBpdGVtUmVuZGVyLml0ZW1JbmRleCAtIGl0ZW1zLmxlbmd0aDtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGEgPSB0aGlzLml0ZW1EYXRhTGlzdFtpdGVtSW5kZXhdO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YUNoYW5nZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnggPSBpdGVtLnggLSBvZmZzZXQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvL2l0ZW3lt6bmu5Hml7bvvIzotoXlh7rkuoZzY3JvbGxWaWV35bem6L6555WM77yM5bCGaXRlbeenu+WKqOWIsOWPs+aWueWkjeeUqO+8jGl0ZW3np7vliqjliLDlj7PmlrnnmoTkvY3nva7lv4XpobvkuI3otoXov4djb250ZW5055qE5Y+z6L6555WMXHJcbiAgICAgICAgICAgICAgICBpZiAodmlld1Bvcy54IDwgLWJ1ZmZlclpvbmUgJiYgaXRlbS54ICsgb2Zmc2V0ICsgdGhpcy5wYWRkaW5nX3JpZ2h0IDwgdGhpcy5jb250ZW50LndpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gaXRlbVJlbmRlci5pdGVtSW5kZXggKyBpdGVtcy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS54ID0gaXRlbS54ICsgb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGFzdENvbnRlbnRQb3NYID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQueDtcclxuICAgIH1cclxuXHJcbiAgICAvKirnvZHmoLzlnoLnm7TmjpLliJcgKi9cclxuICAgIHByaXZhdGUgdXBkYXRlR3JpZF9WKCkge1xyXG4gICAgICAgIGxldCBpdGVtcyA9IHRoaXMuaXRlbUxpc3Q7XHJcbiAgICAgICAgbGV0IGl0ZW06IGNjLk5vZGU7XHJcbiAgICAgICAgbGV0IGJ1ZmZlclpvbmUgPSB0aGlzLmhhbGZTY3JvbGxWaWV3O1xyXG4gICAgICAgIGxldCBpc1VwID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQueSA+IHRoaXMubGFzdENvbnRlbnRQb3NZO1xyXG4gICAgICAgIGxldCBvZmZzZXQgPSAodGhpcy5pdGVtSGVpZ2h0ICsgdGhpcy5zcGFjZVkpICogKHRoaXMuc3Bhd25Db3VudCAvIHRoaXMuZ3JpZENvbCk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpdGVtID0gaXRlbXNbaV07XHJcbiAgICAgICAgICAgIGxldCB2aWV3UG9zID0gdGhpcy5nZXRQb3NpdGlvbkluVmlldyhpdGVtKTtcclxuICAgICAgICAgICAgaWYgKGlzVXApIHtcclxuICAgICAgICAgICAgICAgIC8vaXRlbeS4iua7keaXtu+8jOi2heWHuuS6hnNjcm9sbFZpZXfkuIrovrnnlYzvvIzlsIZpdGVt56e75Yqo5Yiw5LiL5pa55aSN55So77yMaXRlbeenu+WKqOWIsOS4i+aWueeahOS9jee9ruW/hemhu+S4jei2hei/h2NvbnRlbnTnmoTkuIvovrnnlYxcclxuICAgICAgICAgICAgICAgIGlmICh2aWV3UG9zLnkgPiBidWZmZXJab25lICYmIGl0ZW0ueSAtIG9mZnNldCAtIHRoaXMucGFkZGluZ19idXR0b20gPiAtdGhpcy5jb250ZW50LmhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtUmVuZGVyOiBJdGVtUmVuZGVyID0gaXRlbS5nZXRDb21wb25lbnQoSXRlbVJlbmRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1JbmRleCA9IGl0ZW1SZW5kZXIuaXRlbUluZGV4ICsgKHRoaXMuc3Bhd25Db3VudCAvIHRoaXMuZ3JpZENvbCkgKiB0aGlzLmdyaWRDb2w7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXRlbURhdGFMaXN0W2l0ZW1JbmRleF0gIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnkgPSBpdGVtLnkgLSBvZmZzZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuaXRlbUluZGV4ID0gaXRlbUluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGEgPSB0aGlzLml0ZW1EYXRhTGlzdFtpdGVtSW5kZXhdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnkgPSBpdGVtLnkgLSBvZmZzZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuaXRlbUluZGV4ID0gaXRlbUluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHsvL2l0ZW3kuIvmu5Hml7bvvIzotoXlh7rkuoZzY3JvbGxWaWV35LiL6L6555WM77yM5bCGaXRlbeenu+WKqOWIsOS4iuaWueWkjeeUqO+8jGl0ZW3np7vliqjliLDkuIrmlrnnmoTkvY3nva7lv4XpobvkuI3otoXov4djb250ZW5055qE5LiK6L6555WMXHJcbiAgICAgICAgICAgICAgICBpZiAodmlld1Bvcy55IDwgLWJ1ZmZlclpvbmUgJiYgaXRlbS55ICsgb2Zmc2V0ICsgdGhpcy5wYWRkaW5nX3RvcCA8IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbVJlbmRlcjogSXRlbVJlbmRlciA9IGl0ZW0uZ2V0Q29tcG9uZW50KEl0ZW1SZW5kZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtSW5kZXggPSBpdGVtUmVuZGVyLml0ZW1JbmRleCAtICh0aGlzLnNwYXduQ291bnQgLyB0aGlzLmdyaWRDb2wpICogdGhpcy5ncmlkQ29sO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW1EYXRhTGlzdFtpdGVtSW5kZXhdICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS55ID0gaXRlbS55ICsgb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhQ2hhbmdlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS55ID0gaXRlbS55ICsgb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5sYXN0Q29udGVudFBvc1kgPSB0aGlzLnNjcm9sbFZpZXcuY29udGVudC55O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKue9keagvOawtOW5s+aOkuWIlyAqL1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVHcmlkX0goKSB7XHJcbiAgICAgICAgbGV0IGl0ZW1zID0gdGhpcy5pdGVtTGlzdDtcclxuICAgICAgICBsZXQgaXRlbTtcclxuICAgICAgICBsZXQgYnVmZmVyWm9uZSA9IHRoaXMuaGFsZlNjcm9sbFZpZXc7XHJcbiAgICAgICAgbGV0IGlzUmlnaHQgPSB0aGlzLnNjcm9sbFZpZXcuY29udGVudC54ID4gdGhpcy5sYXN0Q29udGVudFBvc1g7XHJcbiAgICAgICAgbGV0IG9mZnNldCA9ICh0aGlzLml0ZW1XaWR0aCArIHRoaXMuc3BhY2VYKSAqICh0aGlzLnNwYXduQ291bnQgLyB0aGlzLmdyaWRSb3cpO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaXRlbSA9IGl0ZW1zW2ldO1xyXG4gICAgICAgICAgICBsZXQgdmlld1BvcyA9IHRoaXMuZ2V0UG9zaXRpb25JblZpZXcoaXRlbSk7XHJcbiAgICAgICAgICAgIGlmIChpc1JpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAvL2l0ZW3lj7Pmu5Hml7bvvIzotoXlh7rkuoZzY3JvbGxWaWV35Y+z6L6555WM77yM5bCGaXRlbeenu+WKqOWIsOW3puaWueWkjeeUqO+8jGl0ZW3np7vliqjliLDlt6bmlrnnmoTkvY3nva7lv4XpobvkuI3otoXov4djb250ZW5055qE5bem6L6555WMXHJcbiAgICAgICAgICAgICAgICBpZiAodmlld1Bvcy54ID4gYnVmZmVyWm9uZSAmJiBpdGVtLnggLSBvZmZzZXQgLSB0aGlzLnBhZGRpbmdfbGVmdCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbVJlbmRlcjogSXRlbVJlbmRlciA9IGl0ZW0uZ2V0Q29tcG9uZW50KEl0ZW1SZW5kZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtSW5kZXggPSBpdGVtUmVuZGVyLml0ZW1JbmRleCAtICh0aGlzLnNwYXduQ291bnQgLyB0aGlzLmdyaWRSb3cpICogdGhpcy5ncmlkUm93O1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW1EYXRhTGlzdFtpdGVtSW5kZXhdICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS54ID0gaXRlbS54IC0gb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhQ2hhbmdlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS54ID0gaXRlbS54IC0gb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvL2l0ZW3lt6bmu5Hml7bvvIzotoXlh7rkuoZzY3JvbGxWaWV35bem6L6555WM77yM5bCGaXRlbeenu+WKqOWIsOWPs+aWueWkjeeUqO+8jGl0ZW3np7vliqjliLDlj7PmlrnnmoTkvY3nva7lv4XpobvkuI3otoXov4djb250ZW5055qE5Y+z6L6555WMXHJcbiAgICAgICAgICAgICAgICBpZiAodmlld1Bvcy54IDwgLWJ1ZmZlclpvbmUgJiYgaXRlbS54ICsgb2Zmc2V0ICsgdGhpcy5wYWRkaW5nX3JpZ2h0IDwgdGhpcy5jb250ZW50LndpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gaXRlbVJlbmRlci5pdGVtSW5kZXggKyAodGhpcy5zcGF3bkNvdW50IC8gdGhpcy5ncmlkUm93KSAqIHRoaXMuZ3JpZFJvdztcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ueCA9IGl0ZW0ueCArIG9mZnNldDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YSA9IHRoaXMuaXRlbURhdGFMaXN0W2l0ZW1JbmRleF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YUNoYW5nZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ueCA9IGl0ZW0ueCArIG9mZnNldDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGFzdENvbnRlbnRQb3NYID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQueDtcclxuICAgIH1cclxuXHJcbiAgICAvKirojrflj5ZpdGVt5Zyoc2Nyb2xsVmlld+eahOWxgOmDqOWdkOaghyAqL1xyXG4gICAgcHJpdmF0ZSBnZXRQb3NpdGlvbkluVmlldyhpdGVtKSB7XHJcbiAgICAgICAgbGV0IHdvcmxkUG9zID0gaXRlbS5wYXJlbnQuY29udmVydFRvV29ybGRTcGFjZUFSKGl0ZW0ucG9zaXRpb24pO1xyXG4gICAgICAgIGxldCB2aWV3UG9zID0gdGhpcy5zY3JvbGxWaWV3Lm5vZGUuY29udmVydFRvTm9kZVNwYWNlQVIod29ybGRQb3MpO1xyXG4gICAgICAgIHJldHVybiB2aWV3UG9zO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKuiOt+WPluWIl+ihqOaVsOaNriAqL1xyXG4gICAgcHVibGljIGdldExpc3REYXRhKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1EYXRhTGlzdDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOWinuWKoOS4gOmhueaVsOaNruWIsOWIl+ihqOeahOacq+WwvlxyXG4gICAgICogQHBhcmFtIGRhdGEg5pWw5o2uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhZGRJdGVtKGRhdGE6IGFueSkge1xyXG4gICAgICAgIHRoaXMuaXRlbURhdGFMaXN0LnB1c2goZGF0YSk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDlop7liqDkuIDpobnmlbDmja7liLDliJfooajmjIflrprkvY3nva5cclxuICAgICAqIEBwYXJhbSBpbmRleCAgIOS9jee9ru+8jDDooajnpLrnrKwx6aG5XHJcbiAgICAgKiBAcGFyYW0gZGF0YSAg5pWw5o2uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhZGRJdGVtQXQoaW5kZXg6IG51bWJlciwgZGF0YTogYW55KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbURhdGFMaXN0W2luZGV4XSAhPSBudWxsIHx8IHRoaXMuaXRlbURhdGFMaXN0Lmxlbmd0aCA9PSBpbmRleCkge1xyXG4gICAgICAgICAgICB0aGlzLml0ZW1EYXRhTGlzdC5zcGxpY2UoaW5kZXgsIDEsIGRhdGEpO1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNvbnRlbnQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDliKDpmaTkuIDpobnmlbDmja5cclxuICAgICAqIEBwYXJhbSBpbmRleCDliKDpmaTpobnnmoTkvY3nva4gLDDooajnpLrnrKwx6aG5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkZWxldGVJdGVtKGluZGV4OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAodGhpcy5pdGVtRGF0YUxpc3RbaW5kZXhdICE9IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy5pdGVtRGF0YUxpc3Quc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5pS55Y+Y5LiA6aG55pWw5o2uXHJcbiAgICAgKiBAcGFyYW0gaW5kZXggICDkvY3nva4sMOihqOekuuesrDHpoblcclxuICAgICAqIEBwYXJhbSBkYXRhICDmm7/mjaLnmoTmlbDmja5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNoYW5nZUl0ZW0oaW5kZXg6IG51bWJlciwgZGF0YTogYW55KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbURhdGFMaXN0W2luZGV4XSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXRlbURhdGFMaXN0W2luZGV4XSA9IGRhdGE7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKirojrflj5bnrKzkuIDkuKpJdGVt55qE5L2N572uICovXHJcbiAgICBwcml2YXRlIHVwZGF0ZUNvbnRlbnQoKSB7XHJcbiAgICAgICAgLy/mmL7npLrliJfooajlrp7kvovkuLow5LiqXHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbUxpc3QubGVuZ3RoID09IDApIHtcclxuICAgICAgICAgICAgdGhpcy5jb3VudExpc3RQYXJhbSgpO1xyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUxpc3QoMCwgbmV3IGNjLlZlYzIoMCwgMCkpO1xyXG4gICAgICAgICAgICAvL+aYvuekuuWIl+ihqOeahOWunuS+i+S4jeS4ujDkuKrvvIzliJnpnIDopoHph43mlrDmjpLliJdpdGVt5a6e5L6L5pWw57uEXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5WZXJ0aWNhbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBiLnkgLSBhLnk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuSG9yaXpvbnRhbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhLnggLSBiLng7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuR3JpZCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc3RhcnRBeGlzID09IFN0YXJ0QXhpc1R5cGUuVmVydGljYWwpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLml0ZW1MaXN0LnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhLnggLSBiLng7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYi55IC0gYS55O1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnN0YXJ0QXhpcyA9PSBTdGFydEF4aXNUeXBlLkhvcml6b250YWwpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLml0ZW1MaXN0LnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBiLnkgLSBhLnk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYS54IC0gYi54O1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNvdW50TGlzdFBhcmFtKCk7XHJcblxyXG4gICAgICAgICAgICAvL+iOt+WPluesrOS4gOS4qml0ZW3lrp7kvovpnIDopoHmmL7npLrnmoTmlbDmja7ntKLlvJVcclxuICAgICAgICAgICAgdmFyIHN0YXJ0SW5kZXggPSB0aGlzLml0ZW1MaXN0WzBdLmdldENvbXBvbmVudChJdGVtUmVuZGVyKS5pdGVtSW5kZXg7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQgJiYgdGhpcy5zdGFydEF4aXMgPT0gU3RhcnRBeGlzVHlwZS5WZXJ0aWNhbCkge1xyXG4gICAgICAgICAgICAgICAgc3RhcnRJbmRleCArPSAoc3RhcnRJbmRleCArIHRoaXMuc3Bhd25Db3VudCkgJSB0aGlzLmdyaWRDb2w7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQgJiYgdGhpcy5zdGFydEF4aXMgPT0gU3RhcnRBeGlzVHlwZS5Ib3Jpem9udGFsKSB7XHJcbiAgICAgICAgICAgICAgICBzdGFydEluZGV4ICs9IChzdGFydEluZGV4ICsgdGhpcy5zcGF3bkNvdW50KSAlIHRoaXMuZ3JpZFJvdztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy9nZXRTY3JvbGxPZmZzZXQoKeWSjHNjcm9sbFRvT2Zmc2V0KCnnmoR45YC85piv55u45Y+N55qEXHJcbiAgICAgICAgICAgIHZhciBvZmZzZXQ6IGNjLlZlYzIgPSB0aGlzLnNjcm9sbFZpZXcuZ2V0U2Nyb2xsT2Zmc2V0KCk7XHJcbiAgICAgICAgICAgIG9mZnNldC54ID0gLSBvZmZzZXQueDtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlTGlzdChzdGFydEluZGV4LCBvZmZzZXQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKirplIDmr4EgKi9cclxuICAgIHB1YmxpYyBvbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgLy/muIXnkIbliJfooajpoblcclxuICAgICAgICBsZXQgbGVuID0gdGhpcy5pdGVtTGlzdC5sZW5ndGg7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoY2MuaXNWYWxpZCh0aGlzLml0ZW1MaXN0W2ldLCB0cnVlKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdFtpXS5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5pdGVtTGlzdC5sZW5ndGggPSAwO1xyXG4gICAgICAgIC8v5riF55CG5a+56LGh5rGgXHJcbiAgICAgICAgbGVuID0gdGhpcy5pdGVtUG9vbC5sZW5ndGg7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoY2MuaXNWYWxpZCh0aGlzLml0ZW1Qb29sW2ldLCB0cnVlKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtUG9vbFtpXS5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5pdGVtUG9vbC5sZW5ndGggPSAwO1xyXG4gICAgICAgIC8v5riF55CG5YiX6KGo5pWw5o2uXHJcbiAgICAgICAgdGhpcy5pdGVtRGF0YUxpc3QubGVuZ3RoID0gMDtcclxuICAgIH1cclxufVxyXG4iXX0= //------QC-SOURCE-SPLIT------ diff --git a/temp/quick-scripts/dst/__quick_compile__.js b/temp/quick-scripts/dst/__quick_compile__.js index 4b6e222..fec63bf 100644 --- a/temp/quick-scripts/dst/__quick_compile__.js +++ b/temp/quick-scripts/dst/__quick_compile__.js @@ -1,6 +1,6 @@ (function () { -var scripts = [{"deps":{"./assets/Script/GuideManager":1,"./assets/migration/use_v2.1-2.2.1_cc.Toggle_event":2,"./assets/Script/GameOver":3,"./assets/Script/Sun":4,"./assets/Script/RankManager":5,"./assets/Script/DynamicAtlasManager":6,"./assets/Script/module/Notification/Notification":7,"./assets/Script/Load":8,"./assets/Script/GameManager":9,"./assets/Script/module/Config/GameConfig":10,"./assets/Script/module/Storage/Storage":11,"./assets/Script/module/GameStart/GameAppStart":12,"./assets/Script/module/Music/AudioManager":13,"./assets/Script/module/RankList/List":14,"./assets/Script/module/Crypto/crypto-js.min":15,"./assets/Script/module/Tool/GameTool":16,"./assets/Script/module/RankList/ItemRender":17,"./assets/Script/module/Crypto/HttpUtil":18},"path":"preview-scripts/__qc_index__.js"},{"deps":{},"path":"preview-scripts/assets/Script/GuideManager.js"},{"deps":{},"path":"preview-scripts/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js"},{"deps":{},"path":"preview-scripts/assets/Script/GameOver.js"},{"deps":{},"path":"preview-scripts/assets/Script/Sun.js"},{"deps":{"./module/RankList/List":14},"path":"preview-scripts/assets/Script/RankManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/DynamicAtlasManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Notification/Notification.js"},{"deps":{},"path":"preview-scripts/assets/Script/Load.js"},{"deps":{},"path":"preview-scripts/assets/Script/GameManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Config/GameConfig.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Storage/Storage.js"},{"deps":{"../Config/GameConfig":10,"../Crypto/HttpUtil":18,"../Music/AudioManager":13,"../Notification/Notification":7,"../Storage/Storage":11,"../Tool/GameTool":16},"path":"preview-scripts/assets/Script/module/GameStart/GameAppStart.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Music/AudioManager.js"},{"deps":{"./ItemRender":17},"path":"preview-scripts/assets/Script/module/RankList/List.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Crypto/crypto-js.min.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Tool/GameTool.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/RankList/ItemRender.js"},{"deps":{"./crypto-js.min.js":15},"path":"preview-scripts/assets/Script/module/Crypto/HttpUtil.js"}]; +var scripts = [{"deps":{"./assets/Script/GameOver":6,"./assets/Script/GuideManager":3,"./assets/Script/Load":5,"./assets/Script/RankManager":7,"./assets/Script/Sun":4,"./assets/Script/DynamicAtlasManager":1,"./assets/migration/use_v2.1-2.2.1_cc.Toggle_event":2,"./assets/Script/GameManager":8,"./assets/Script/module/Crypto/crypto-js.min":9,"./assets/Script/module/Crypto/HttpUtil":17,"./assets/Script/module/GameStart/GameAppStart":13,"./assets/Script/module/Music/AudioManager":11,"./assets/Script/module/Notification/Notification":14,"./assets/Script/module/RankList/List":18,"./assets/Script/module/RankList/ItemRender":10,"./assets/Script/module/Storage/Storage":12,"./assets/Script/module/Tool/GameTool":15,"./assets/Script/module/Config/GameConfig":16},"path":"preview-scripts/__qc_index__.js"},{"deps":{},"path":"preview-scripts/assets/Script/DynamicAtlasManager.js"},{"deps":{},"path":"preview-scripts/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js"},{"deps":{},"path":"preview-scripts/assets/Script/GuideManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/Sun.js"},{"deps":{},"path":"preview-scripts/assets/Script/Load.js"},{"deps":{},"path":"preview-scripts/assets/Script/GameOver.js"},{"deps":{"./module/RankList/List":18},"path":"preview-scripts/assets/Script/RankManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/GameManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Crypto/crypto-js.min.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/RankList/ItemRender.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Music/AudioManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Storage/Storage.js"},{"deps":{"../Config/GameConfig":16,"../Crypto/HttpUtil":17,"../Music/AudioManager":11,"../Notification/Notification":14,"../Storage/Storage":12,"../Tool/GameTool":15},"path":"preview-scripts/assets/Script/module/GameStart/GameAppStart.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Notification/Notification.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Tool/GameTool.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Config/GameConfig.js"},{"deps":{"./crypto-js.min.js":9},"path":"preview-scripts/assets/Script/module/Crypto/HttpUtil.js"},{"deps":{"./ItemRender":10},"path":"preview-scripts/assets/Script/module/RankList/List.js"}]; var entries = ["preview-scripts/__qc_index__.js"]; var bundleScript = 'preview-scripts/__qc_bundle__.js'; diff --git a/temp/quick-scripts/dst/assets/Script/module/Config/GameConfig.js b/temp/quick-scripts/dst/assets/Script/module/Config/GameConfig.js index d9e37eb..4db9177 100644 --- a/temp/quick-scripts/dst/assets/Script/module/Config/GameConfig.js +++ b/temp/quick-scripts/dst/assets/Script/module/Config/GameConfig.js @@ -38,35 +38,35 @@ var GameConfig = /** @class */ (function () { configurable: true }); GameConfig.init = function () { - var _this = this; + this.GM_INFO_init(); + this.CLICK_init(); + this.LEVEL_INFO_init(); + var self = this; cc.resources.load('Json/GM_INFO', function (err, res) { if (err) { - _this.GM_INFO_init(); - _this.Authentication(); + self.Authentication(); return; } var jsonData = res.json; - _this.GM_INFO = jsonData["data"]; - _this.Authentication(); + self.GM_INFO = jsonData["data"]; + self.Authentication(); }); cc.resources.load('Json/CLICK_DATA', function (err, res) { if (err) { - _this.CLICK_init(); return; } var jsonData = res.json; - _this.CLICK_DATA = jsonData["data"]; + self.CLICK_DATA = jsonData["data"]; }); cc.resources.load('Json/LEVEL_INFO', function (err, res) { if (err) { - _this.LEVEL_INFO_init(); return; } var jsonData = res.json; - _this.LEVEL_INFO = jsonData["data"]; + self.LEVEL_INFO = jsonData["data"]; }); //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次 - this.GAME_DATA = []; + self.GAME_DATA = []; }; //数据备用 GameConfig.GM_INFO_init = function () { @@ -330,4 +330,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENvbmZpZ1xcR2FtZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFTSxJQUFBLEtBQXdCLEVBQUUsQ0FBQyxVQUFVLEVBQW5DLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBa0IsQ0FBQztBQUU1QztJQUFBO0lBdVVBLENBQUM7bUJBdlVZLFVBQVU7SUEyQ25CLHNCQUFXLHNCQUFRO2FBQW5CO1lBRUksSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksRUFDMUI7Z0JBQ0ksSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFlBQVUsRUFBRSxDQUFDO2FBQ3JDO1lBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzFCLENBQUM7OztPQUFBO0lBRU0sZUFBSSxHQUFYO1FBQUEsaUJBK0JDO1FBOUJHLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFDLEdBQVEsRUFBRSxHQUFpQjtZQUMxRCxJQUFJLEdBQUcsRUFBRTtnQkFDTCxLQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BCLEtBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdEIsT0FBTzthQUNWO1lBQ0QsSUFBSSxRQUFRLEdBQVcsR0FBRyxDQUFDLElBQUssQ0FBQztZQUNqQyxLQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoQyxLQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUE7UUFDRixFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxVQUFDLEdBQVEsRUFBRSxHQUFpQjtZQUM3RCxJQUFJLEdBQUcsRUFBRTtnQkFDTCxLQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2xCLE9BQU87YUFDVjtZQUNELElBQUksUUFBUSxHQUFXLEdBQUcsQ0FBQyxJQUFLLENB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LEVBQUUsQ0FBQzthQUNaO1NBRUosQ0FBQTtJQUNMLENBQUM7SUFDTSx5QkFBYyxHQUFyQjtRQUNJLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7O0lBclVELDBCQUEwQjtJQUNYLG9CQUFTLEdBQWdCLElBQUksQ0FBQztJQUZwQyxVQUFVO1FBRHRCLE9BQU8sQ0FBQyxZQUFZLENBQUM7T0FDVCxVQUFVLENBdVV0QjtJQUFELGlCQUFDO0NBdlVELEFBdVVDLElBQUE7QUF2VVksZ0NBQVUiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbkBjY2NsYXNzKCdHYW1lQ29uZmlnJylcclxuZXhwb3J0IGNsYXNzIEdhbWVDb25maWcgIHtcclxuICAgIC8v5omA5pyJ5o6n5Yi25L+h5oGv6YO96YCa6L+HR2FtZUFwcFN0YXJ05YaF5o6n5Yi2XHJcbiAgICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2UgOiBHYW1lQ29uZmlnID0gbnVsbDtcclxuICAgIC8v55So5LqO55ub5pS+5Z+L54K55pWw5o2u5LiK5Lyg77yM5q+P5qyh5LiK5Lyg5ZCO5riF56m6XHJcbiAgICBzdGF0aWMgR01fSU5GTzoge1xyXG4gICAgICAgIC8vIGlzRW5kOiBmYWxzZSxcclxuICAgICAgICBtZWFuX1RpbWU6IG51bWJlcjsgLy/lubPlnYfmlL7nrq3pgJ/luqZcclxuICAgICAgICB0b3RhbDogbnVtYmVyOyAvL+aAu+WFseWvueeahOS4quaVsFxyXG4gICAgICAgIGN1cnJTZWVkOiBudW1iZXI7IC8v55So5LqO6ZqP5py65pWw56eN5a2QXHJcbiAgICAgICAgZ2FtZUlkOiBzdHJpbmc7IC8v5ri45oiPSURcclxuICAgICAgICB1c2VySWQ6IG51bWJlcjsgLy/nlKjmiLdJRFxyXG4gICAgICAgIGd1aWRlOiBib29sZWFuOyAvL+aYr+WQpuacieW8leWvvFxyXG4gICAgICAgIHVybDogc3RyaW5nOyAvL+iuv+mXruWfn+WQjVxyXG4gICAgICAgIHN1Y2Nlc3M6IGJvb2xlYW47IC8v55So5oi35ri45oiP5oiQ5Yqf5LiO5ZCmXHJcbiAgICAgICAgbWF0Y2hJZDogYW55OyAvL+eUqOS6juWfi+eCueS4iuS8oOeahElEXHJcbiAgICAgICAgY3VzdG9tOiBudW1iZXI7IC8v55So5LqO5rWL6K+V6Lez5YWz5Y2hXHJcbiAgICB9O1xyXG4gICAgc3RhdGljIENMSUNLX0RBVEE6IHtcclxuICAgICAgICB0eXBlOiBudW1iZXI7IC8v5LiK5Lyg5pWw5o2u57G75Z6LXHJcbiAgICAgICAgc3VjY2VzczogYm9vbGVhbjsgLy/mraTlsYDmuLjmiI/og5zotJ8gICAgXHJcbiAgICAgICAgcm91bmQ6IG51bWJlcjsgLy/lm57lkIjmlbBcclxuICAgICAgICB0b3RhbFN1bkNvdW50OiBudW1iZXI7IC8v5aSq6Ziz5oC75pWwXHJcbiAgICAgICAgbW92ZWRTdW5Db3VudDogbnVtYmVyOyAvL+WPr+enu+WKqOWkqumYs+S4quaVsFxyXG4gICAgICAgIHN1blNwZWVkOiBudW1iZXI7IC8v5aSq6Ziz56e75Yqo6YCf5bqmXHJcbiAgICAgICAgb3ZlcmxhcFN1bkNvdW50OiBudW1iZXI7IC8v6YeN5Y+g5aSq6Ziz5Liq5pWwXHJcbiAgICAgICAgY29sb3JMaXN0OiBhbnlbXTsgLy/lpKrpmLPpopzoibLmlbDnu4RcclxuICAgICAgICBkdXJhdGlvbjogbnVtYmVyOyAvL+avj+asoeeCueWHu+eahOWPjeW6lOaXtumXtFxyXG4gICAgICAgIGRpZmZpY3VsdHlMZXZlbDogbnVtYmVyOyAvL+atpOasoemavuW6plxyXG4gICAgICAgIHN1bkxpc3Q6IGFueVtdOyAvL+WkqumYs+aVsOe7hO+8jOeUqOS6juWtmOaUvuWkqumYs+exu+WeiyAwOuaZrumAmiAxOuenu+WKqCAyOumHjeWPoFxyXG4gICAgICAgIHN0ZXBUaW1lTGlzdDogYW55W107IC8v5q+P5qyh54K55Ye76Ze06ZqUXHJcbiAgICAgICAgcmVtYWluZGVyOiBudW1iZXI7IC8v5ri45oiP5Ymp5L2Z5pe26Ze0XHJcbiAgICB9O1xyXG4gICAgc3RhdGljIExFVkVMX0lORk86IHsgLy/nrKzkuIDpmr7luqZcclxuICAgICAgICBudW1iZXI6IG51bWJlcjsgLy/lpKrpmLPmgLvmlbAgXHJcbiAgICAgICAgbW92ZU51bWJlcjogbnVtYmVyOyAvL+WkqumYs+WPr+enu+WKqOS4quaVsFxyXG4gICAgICAgIG1vdmVTcGVlZDogbnVtYmVyOyAvL+WkqumYs+enu+WKqOmAn+W6puetiee6p1xyXG4gICAgICAgIG1heERpc3RhbmNlOiBudW1iZXI7IC8v5biD5bGA5ZCO56e75Yqo5pyA5aSn6Led56a7XHJcbiAgICAgICAgbWF4TW92ZTogbnVtYmVyOyAvL+avj+S4quWkqumYs+S5i+mXtOi3neemu+acgOWkp+mXtOi3nVxyXG4gICAgICAgIHJlcGVhdDogbnVtYmVyOyAvL+aYr+WQpumHjeWPoO+8jOeOsOWcqDAg5LiN6YeN5Y+gIDEg6YeN5Y+gMeS4qlxyXG4gICAgfVtdO1xyXG4gICAgc3RhdGljIEdBTUVfREFUQTogYW55W107XHJcblxyXG5cclxuICAgIHN0YXRpYyBnZXQgSW5zdGFuY2UoKVxyXG4gICAge1xyXG4gICAgICAgIGlmICh0aGlzLl9pbnN0YW5jZSA9PSBudWxsKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5faW5zdGFuY2UgPSBuZXcgR2FtZUNvbmZpZygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5faW5zdGFuY2U7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGluaXQoKXtcclxuICAgICAgICBjYy5yZXNvdXJjZXMubG9hZCgnSnNvbi9HTV9JTkZPJywgKGVycjogYW55LCByZXM6IGNjLkpzb25Bc3NldCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXJyKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLkdNX0lORk9faW5pdCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5BdXRoZW50aWNhdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBqc29uRGF0YTogb2JqZWN0ID0gcmVzLmpzb24hO1xyXG4gICAgICAgICAgICB0aGlzLkdNX0lORk8gPSBqc29uRGF0YVtcImRhdGFcIl07XHJcbiAgICAgICAgICAgIHRoaXMuQXV0aGVudGljYXRpb24oKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIGNjLnJlc291cmNlcy5sb2FkKCdKc29uL0NMSUNLX0RBVEEnLCAoZXJyOiBhbnksIHJlczogY2MuSnNvbkFzc2V0KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlcnIpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuQ0xJQ0tfaW5pdCgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBqc29uRGF0YTogb2JqZWN0ID0gcmVzLmpzb24hO1xyXG4gICAgICAgICAgICB0aGlzLkNMSUNLX0RBVEEgPSBqc29uRGF0YVtcImRhdGFcIl07XHJcbiAgICAgICAgfSlcclxuICAgICAgICBjYy5yZXNvdXJjZXMubG9hZCgnSnNvbi9MRVZFTF9JTkZPJywgKGVycjogYW55LCByZXM6IGNjLkpzb25Bc3NldCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXJyKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLkxFVkVMX0lORk9faW5pdCgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBqc29uRGF0YTogb2JqZWN0ID0gcmVzLmpzb24hO1xyXG4gICAgICAgICAgICB0aGlzLkxFVkVMX0lORk8gPSBqc29uRGF0YVtcImRhdGFcIl07XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgICAgLy9HQU1FX0RBVEEg5bqf5byD5LqG77yM5pqC5pe25LiN5Yig6Zmk5Lul6Ziy5ZCO6Z2i5L+u5pS55ZueIOS4gOaVtOWxgOS8oOS4gOasoVxyXG4gICAgICAgIHRoaXMuR0FNRV9EQVRBID0gW1xyXG4gICAgICAgIF1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy/mlbDmja7lpIfnlKhcclxuICAgIHN0YXRpYyBHTV9JTkZPX2luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5HTV9JTkZPID0ge1xyXG4gICAgICAgICAgICAvLyBpc0VuZDogZmFsc2UsXHJcbiAgICAgICAgICAgIG1lYW5fVGltZTogMCwgICAgICAgICAgICAgICAgLy/lubPlnYfmlL7nrq3pgJ/luqZcclxuICAgICAgICAgICAgdG90YWw6IDAsICAgICAgICAgICAgICAgICAgICAvL+aAu+WFseWvueeahOS4quaVsFxyXG4gICAgICAgICAgICBjdXJyU2VlZDogMjAzMjEzLCAgICAgICAgICAgLy/nlKjkuo7pmo/mnLrmlbDnp43lrZBcclxuICAgICAgICAgICAgZ2FtZUlkOiAnMTAwMDA5JywgICAgICAgICAgIC8v5ri45oiPSURcclxuICAgICAgICAgICAgdXNlcklkOiAwLCAgICAgICAgICAgICAgICAgIC8v55So5oi3SURcclxuICAgICAgICAgICAgZ3VpZGU6IHRydWUsICAgICAgICAgICAgICAgICAvL+aYr+WQpuacieW8leWvvFxyXG4gICAgICAgICAgICB1cmw6IFwiaHR0cDovL2FwaS5zcGFya3VzLmNuXCIsLy/orr/pl67ln5/lkI1cclxuICAgICAgICAgICAgc3VjY2VzczogZmFsc2UsICAgICAgICAgICAgIC8v55So5oi35ri45oiP5oiQ5Yqf5LiO5ZCmXHJcbiAgICAgICAgICAgIG1hdGNoSWQ6IG51bGwsICAgICAgICAgICAgICAvL+eUqOS6juWfi+eCueS4iuS8oOeahElEXHJcbiAgICAgICAgICAgIGN1c3RvbTogMCAgICAgICAgICAgICAgICAgICAvL+eUqOS6jua1i+ivlei3s+WFs+WNoVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgQ0xJQ0tfaW5pdCgpIHtcclxuICAgICAgICB0aGlzLkNMSUNLX0RBVEEgPVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdHlwZTogMSwgICAgICAgICAgICAvL+S4iuS8oOaVsOaNruexu+Wei1xyXG4gICAgICAgICAgICBzdWNjZXNzOiBmYWxzZSwgICAgIC8v5q2k5bGA5ri45oiP6IOc6LSfICAgIFxyXG4gICAgICAgICAgICByb3VuZDogMCwgICAgICAgICAgIC8v5Zue5ZCI5pWwXHJcbiAgICAgICAgICAgIHRvdGFsU3VuQ291bnQ6IDAsICAgLy/lpKrpmLPmgLvmlbBcclxuICAgICAgICAgICAgbW92ZWRTdW5Db3VudDogMCwgICAvL+WPr+enu+WKqOWkqumYs+S4quaVsFxyXG4gICAgICAgICAgICBzdW5TcGVlZDogMCwgICAgICAgIC8v5aSq6Ziz56e75Yqo6YCf5bqmXHJcbiAgICAgICAgICAgIG92ZXJsYXBTdW5Db3VudDogMCwgLy/ph43lj6DlpKrpmLPkuKrmlbBcclxuICAgICAgICAgICAgY29sb3JMaXN0OiBbXSwgICAgICAvL+WkqumYs+minOiJsuaVsOe7hFxyXG4gICAgICAgICAgICBkdXJhdGlvbjogMCwgICAgICAgIC8v5q+P5qyh54K55Ye755qE5Y+N5bqU5pe26Ze0XHJcbiAgICAgICAgICAgIGRpZmZpY3VsdHlMZXZlbDogMCwgLy/mraTmrKHpmr7luqZcclxuICAgICAgICAgICAgc3VuTGlzdDogW10sICAgICAgICAvL+WkqumYs+aVsOe7hO+8jOeUqOS6juWtmOaUvuWkqumYs+exu+WeiyAwOuaZrumAmiAxOuenu+WKqCAyOumHjeWPoFxyXG4gICAgICAgICAgICBzdGVwVGltZUxpc3Q6IFtdLCAgIC8v5q+P5qyh54K55Ye76Ze06ZqUXHJcbiAgICAgICAgICAgIHJlbWFpbmRlcjogMTIwICAgICAgLy/muLjmiI/liankvZnml7bpl7RcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgTEVWRUxfSU5GT19pbml0KCkge1xyXG4gICAgICAgIHRoaXMuTEVWRUxfSU5GTyA9IFtcclxuICAgICAgICAgICAgeyAgIC8v56ys5LiA6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDMsICAgICAgIC8v5aSq6Ziz5oC75pWwIFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCwgICAvL+WkqumYs+WPr+enu+WKqOS4quaVsFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiAwLCAgICAvL+WkqumYs+enu+WKqOmAn+W6puetiee6p1xyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCwgLy/luIPlsYDlkI7np7vliqjmnIDlpKfot53nprtcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsICAgIC8v5q+P5Liq5aSq6Ziz5LmL6Ze06Led56a75pyA5aSn6Ze06LedXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDAgICAgICAgIC8v5piv5ZCm6YeN5Y+g77yM546w5ZyoMCDkuI3ph43lj6AgMSDph43lj6Ax5LiqXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOS6jOmavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogMCxcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOS4iemavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogMCxcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOWbm+mavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOS6lOmavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOWFremavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA2LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOS4g+mavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA2LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNCxcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOWFq+mavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA3LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNCxcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOS5nemavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA3LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNCxcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOWNgemavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA3LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOWNgeS4gOmavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA4LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOWNgeS6jOmavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA4LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOWNgeS4iemavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA5LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOWNgeWbm+mavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA5LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvL+esrOWNgeS6lOmavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiAxMCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xMSBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogMyxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xMiBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDAsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xMyBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xNCBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xNSBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xNiBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xNyBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xOCBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xOSBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDIsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8yMCBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDMsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIF1cclxuICAgIH1cclxuICAgIHN0YXRpYyBBdXRoZW50aWNhdGlvbigpe1xyXG4gICAgICAgIGNjLmZ4LkdhbWVUb29sLkF1dGhlbnRpY2F0aW9uKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENvbmZpZ1xcR2FtZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFTSxJQUFBLEtBQXdCLEVBQUUsQ0FBQyxVQUFVLEVBQW5DLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBa0IsQ0FBQztBQUU1QztJQUFBO0lBeVVBLENBQUM7bUJBelVZLFVBQVU7SUEyQ25CLHNCQUFXLHNCQUFRO2FBQW5CO1lBRUksSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksRUFDMUI7Z0JBQ0ksSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFlBQVUsRUFBRSxDQUFDO2FBQ3JDO1lBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzFCLENBQUM7OztPQUFBO0lBRU0sZUFBSSxHQUFYO1FBQ0ksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFDLEdBQVEsRUFBRSxHQUFpQjtZQUMxRCxJQUFJLEdBQUcsRUFBRTtnQkFDTCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RCLE9BQU87YUFDVjtZQUNELElBQUksUUFBUSxHQUFXLEdBQUcsQ0FBQyxJQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFBO1FBQ0YsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsVUFBQyxHQUFRLEVBQUUsR0FBaUI7WUFDN0QsSUFBSSxHQUFHLEVBQUU7Z0JBRUws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SUFBSTtnQkFDYixNQUFNLEVBQUUsQ0FBQzthQUNaO1NBRUosQ0FBQTtJQUNMLENBQUM7SUFDTSx5QkFBYyxHQUFyQjtRQUNJLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7O0lBdlVELDBCQUEwQjtJQUNYLG9CQUFTLEdBQWdCLElBQUksQ0FBQztJQUZwQyxVQUFVO1FBRHRCLE9BQU8sQ0FBQyxZQUFZLENBQUM7T0FDVCxVQUFVLENBeVV0QjtJQUFELGlCQUFDO0NBelVELEFBeVVDLElBQUE7QUF6VVksZ0NBQVUiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbkBjY2NsYXNzKCdHYW1lQ29uZmlnJylcclxuZXhwb3J0IGNsYXNzIEdhbWVDb25maWcgIHtcclxuICAgIC8v5omA5pyJ5o6n5Yi25L+h5oGv6YO96YCa6L+HR2FtZUFwcFN0YXJ05YaF5o6n5Yi2XHJcbiAgICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2UgOiBHYW1lQ29uZmlnID0gbnVsbDtcclxuICAgIC8v55So5LqO55ub5pS+5Z+L54K55pWw5o2u5LiK5Lyg77yM5q+P5qyh5LiK5Lyg5ZCO5riF56m6XHJcbiAgICBzdGF0aWMgR01fSU5GTzoge1xyXG4gICAgICAgIC8vIGlzRW5kOiBmYWxzZSxcclxuICAgICAgICBtZWFuX1RpbWU6IG51bWJlcjsgLy/lubPlnYfmlL7nrq3pgJ/luqZcclxuICAgICAgICB0b3RhbDogbnVtYmVyOyAvL+aAu+WFseWvueeahOS4quaVsFxyXG4gICAgICAgIGN1cnJTZWVkOiBudW1iZXI7IC8v55So5LqO6ZqP5py65pWw56eN5a2QXHJcbiAgICAgICAgZ2FtZUlkOiBzdHJpbmc7IC8v5ri45oiPSURcclxuICAgICAgICB1c2VySWQ6IG51bWJlcjsgLy/nlKjmiLdJRFxyXG4gICAgICAgIGd1aWRlOiBib29sZWFuOyAvL+aYr+WQpuacieW8leWvvFxyXG4gICAgICAgIHVybDogc3RyaW5nOyAvL+iuv+mXruWfn+WQjVxyXG4gICAgICAgIHN1Y2Nlc3M6IGJvb2xlYW47IC8v55So5oi35ri45oiP5oiQ5Yqf5LiO5ZCmXHJcbiAgICAgICAgbWF0Y2hJZDogYW55OyAvL+eUqOS6juWfi+eCueS4iuS8oOeahElEXHJcbiAgICAgICAgY3VzdG9tOiBudW1iZXI7IC8v55So5LqO5rWL6K+V6Lez5YWz5Y2hXHJcbiAgICB9O1xyXG4gICAgc3RhdGljIENMSUNLX0RBVEE6IHtcclxuICAgICAgICB0eXBlOiBudW1iZXI7IC8v5LiK5Lyg5pWw5o2u57G75Z6LXHJcbiAgICAgICAgc3VjY2VzczogYm9vbGVhbjsgLy/mraTlsYDmuLjmiI/og5zotJ8gICAgXHJcbiAgICAgICAgcm91bmQ6IG51bWJlcjsgLy/lm57lkIjmlbBcclxuICAgICAgICB0b3RhbFN1bkNvdW50OiBudW1iZXI7IC8v5aSq6Ziz5oC75pWwXHJcbiAgICAgICAgbW92ZWRTdW5Db3VudDogbnVtYmVyOyAvL+WPr+enu+WKqOWkqumYs+S4quaVsFxyXG4gICAgICAgIHN1blNwZWVkOiBudW1iZXI7IC8v5aSq6Ziz56e75Yqo6YCf5bqmXHJcbiAgICAgICAgb3ZlcmxhcFN1bkNvdW50OiBudW1iZXI7IC8v6YeN5Y+g5aSq6Ziz5Liq5pWwXHJcbiAgICAgICAgY29sb3JMaXN0OiBhbnlbXTsgLy/lpKrpmLPpopzoibLmlbDnu4RcclxuICAgICAgICBkdXJhdGlvbjogbnVtYmVyOyAvL+avj+asoeeCueWHu+eahOWPjeW6lOaXtumXtFxyXG4gICAgICAgIGRpZmZpY3VsdHlMZXZlbDogbnVtYmVyOyAvL+atpOasoemavuW6plxyXG4gICAgICAgIHN1bkxpc3Q6IGFueVtdOyAvL+WkqumYs+aVsOe7hO+8jOeUqOS6juWtmOaUvuWkqumYs+exu+WeiyAwOuaZrumAmiAxOuenu+WKqCAyOumHjeWPoFxyXG4gICAgICAgIHN0ZXBUaW1lTGlzdDogYW55W107IC8v5q+P5qyh54K55Ye76Ze06ZqUXHJcbiAgICAgICAgcmVtYWluZGVyOiBudW1iZXI7IC8v5ri45oiP5Ymp5L2Z5pe26Ze0XHJcbiAgICB9O1xyXG4gICAgc3RhdGljIExFVkVMX0lORk86IHsgLy/nrKzkuIDpmr7luqZcclxuICAgICAgICBudW1iZXI6IG51bWJlcjsgLy/lpKrpmLPmgLvmlbAgXHJcbiAgICAgICAgbW92ZU51bWJlcjogbnVtYmVyOyAvL+WkqumYs+WPr+enu+WKqOS4quaVsFxyXG4gICAgICAgIG1vdmVTcGVlZDogbnVtYmVyOyAvL+WkqumYs+enu+WKqOmAn+W6puetiee6p1xyXG4gICAgICAgIG1heERpc3RhbmNlOiBudW1iZXI7IC8v5biD5bGA5ZCO56e75Yqo5pyA5aSn6Led56a7XHJcbiAgICAgICAgbWF4TW92ZTogbnVtYmVyOyAvL+avj+S4quWkqumYs+S5i+mXtOi3neemu+acgOWkp+mXtOi3nVxyXG4gICAgICAgIHJlcGVhdDogbnVtYmVyOyAvL+aYr+WQpumHjeWPoO+8jOeOsOWcqDAg5LiN6YeN5Y+gIDEg6YeN5Y+gMeS4qlxyXG4gICAgfVtdO1xyXG4gICAgc3RhdGljIEdBTUVfREFUQTogYW55W107XHJcblxyXG5cclxuICAgIHN0YXRpYyBnZXQgSW5zdGFuY2UoKVxyXG4gICAge1xyXG4gICAgICAgIGlmICh0aGlzLl9pbnN0YW5jZSA9PSBudWxsKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5faW5zdGFuY2UgPSBuZXcgR2FtZUNvbmZpZygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5faW5zdGFuY2U7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGluaXQoKXtcclxuICAgICAgICB0aGlzLkdNX0lORk9faW5pdCgpO1xyXG4gICAgICAgIHRoaXMuQ0xJQ0tfaW5pdCgpO1xyXG4gICAgICAgIHRoaXMuTEVWRUxfSU5GT19pbml0KCk7XHJcbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIGNjLnJlc291cmNlcy5sb2FkKCdKc29uL0dNX0lORk8nLCAoZXJyOiBhbnksIHJlczogY2MuSnNvbkFzc2V0KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlcnIpIHtcclxuICAgICAgICAgICAgICAgIHNlbGYuQXV0aGVudGljYXRpb24oKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQganNvbkRhdGE6IG9iamVjdCA9IHJlcy5qc29uITtcclxuICAgICAgICAgICAgc2VsZi5HTV9JTkZPID0ganNvbkRhdGFbXCJkYXRhXCJdO1xyXG4gICAgICAgICAgICBzZWxmLkF1dGhlbnRpY2F0aW9uKCk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICBjYy5yZXNvdXJjZXMubG9hZCgnSnNvbi9DTElDS19EQVRBJywgKGVycjogYW55LCByZXM6IGNjLkpzb25Bc3NldCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXJyKSB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBqc29uRGF0YTogb2JqZWN0ID0gcmVzLmpzb24hO1xyXG4gICAgICAgICAgICBzZWxmLkNMSUNLX0RBVEEgPSBqc29uRGF0YVtcImRhdGFcIl07XHJcbiAgICAgICAgfSlcclxuICAgICAgICBjYy5yZXNvdXJjZXMubG9hZCgnSnNvbi9MRVZFTF9JTkZPJywgKGVycjogYW55LCByZXM6IGNjLkpzb25Bc3NldCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXJyKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGpzb25EYXRhOiBvYmplY3QgPSByZXMuanNvbiE7XHJcbiAgICAgICAgICAgIHNlbGYuTEVWRUxfSU5GTyA9IGpzb25EYXRhW1wiZGF0YVwiXTtcclxuICAgICAgICB9KVxyXG5cclxuICAgICAgICAvL0dBTUVfREFUQSDlup/lvIPkuobvvIzmmoLml7bkuI3liKDpmaTku6XpmLLlkI7pnaLkv67mlLnlm54g5LiA5pW05bGA5Lyg5LiA5qyhXHJcbiAgICAgICAgc2VsZi5HQU1FX0RBVEEgPSBbXHJcbiAgICAgICAgXVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvL+aVsOaNruWkh+eUqFxyXG4gICAgc3RhdGljIEdNX0lORk9faW5pdCgpIHtcclxuICAgICAgICB0aGlzLkdNX0lORk8gPSB7XHJcbiAgICAgICAgICAgIC8vIGlzRW5kOiBmYWxzZSxcclxuICAgICAgICAgICAgbWVhbl9UaW1lOiAwLCAgICAgICAgICAgICAgICAvL+W5s+Wdh+aUvueuremAn+W6plxyXG4gICAgICAgICAgICB0b3RhbDogMCwgICAgICAgICAgICAgICAgICAgIC8v5oC75YWx5a+555qE5Liq5pWwXHJcbiAgICAgICAgICAgIGN1cnJTZWVkOiAyMDMyMTMsICAgICAgICAgICAvL+eUqOS6jumaj+acuuaVsOenjeWtkFxyXG4gICAgICAgICAgICBnYW1lSWQ6ICcxMDAwMDknLCAgICAgICAgICAgLy/muLjmiI9JRFxyXG4gICAgICAgICAgICB1c2VySWQ6IDAsICAgICAgICAgICAgICAgICAgLy/nlKjmiLdJRFxyXG4gICAgICAgICAgICBndWlkZTogdHJ1ZSwgICAgICAgICAgICAgICAgIC8v5piv5ZCm5pyJ5byV5a+8XHJcbiAgICAgICAgICAgIHVybDogXCJodHRwOi8vYXBpLnNwYXJrdXMuY25cIiwvL+iuv+mXruWfn+WQjVxyXG4gICAgICAgICAgICBzdWNjZXNzOiBmYWxzZSwgICAgICAgICAgICAgLy/nlKjmiLfmuLjmiI/miJDlip/kuI7lkKZcclxuICAgICAgICAgICAgbWF0Y2hJZDogbnVsbCwgICAgICAgICAgICAgIC8v55So5LqO5Z+L54K55LiK5Lyg55qESURcclxuICAgICAgICAgICAgY3VzdG9tOiAwICAgICAgICAgICAgICAgICAgIC8v55So5LqO5rWL6K+V6Lez5YWz5Y2hXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBDTElDS19pbml0KCkge1xyXG4gICAgICAgIHRoaXMuQ0xJQ0tfREFUQSA9XHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0eXBlOiAxLCAgICAgICAgICAgIC8v5LiK5Lyg5pWw5o2u57G75Z6LXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLCAgICAgLy/mraTlsYDmuLjmiI/og5zotJ8gICAgXHJcbiAgICAgICAgICAgIHJvdW5kOiAwLCAgICAgICAgICAgLy/lm57lkIjmlbBcclxuICAgICAgICAgICAgdG90YWxTdW5Db3VudDogMCwgICAvL+WkqumYs+aAu+aVsFxyXG4gICAgICAgICAgICBtb3ZlZFN1bkNvdW50OiAwLCAgIC8v5Y+v56e75Yqo5aSq6Ziz5Liq5pWwXHJcbiAgICAgICAgICAgIHN1blNwZWVkOiAwLCAgICAgICAgLy/lpKrpmLPnp7vliqjpgJ/luqZcclxuICAgICAgICAgICAgb3ZlcmxhcFN1bkNvdW50OiAwLCAvL+mHjeWPoOWkqumYs+S4quaVsFxyXG4gICAgICAgICAgICBjb2xvckxpc3Q6IFtdLCAgICAgIC8v5aSq6Ziz6aKc6Imy5pWw57uEXHJcbiAgICAgICAgICAgIGR1cmF0aW9uOiAwLCAgICAgICAgLy/mr4/mrKHngrnlh7vnmoTlj43lupTml7bpl7RcclxuICAgICAgICAgICAgZGlmZmljdWx0eUxldmVsOiAwLCAvL+atpOasoemavuW6plxyXG4gICAgICAgICAgICBzdW5MaXN0OiBbXSwgICAgICAgIC8v5aSq6Ziz5pWw57uE77yM55So5LqO5a2Y5pS+5aSq6Ziz57G75Z6LIDA65pmu6YCaIDE656e75YqoIDI66YeN5Y+gXHJcbiAgICAgICAgICAgIHN0ZXBUaW1lTGlzdDogW10sICAgLy/mr4/mrKHngrnlh7vpl7TpmpRcclxuICAgICAgICAgICAgcmVtYWluZGVyOiAxMjAgICAgICAvL+a4uOaIj+WJqeS9meaXtumXtFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHN0YXRpYyBMRVZFTF9JTkZPX2luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5MRVZFTF9JTkZPID0gW1xyXG4gICAgICAgICAgICB7ICAgLy/nrKzkuIDpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjogMywgICAgICAgLy/lpKrpmLPmgLvmlbAgXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAwLCAgIC8v5aSq6Ziz5Y+v56e75Yqo5Liq5pWwXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDAsICAgIC8v5aSq6Ziz56e75Yqo6YCf5bqm562J57qnXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLCAvL+W4g+WxgOWQjuenu+WKqOacgOWkp+i3neemu1xyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCwgICAgLy/mr4/kuKrlpKrpmLPkuYvpl7Tot53nprvmnIDlpKfpl7Tot51cclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMCAgICAgICAgLy/mmK/lkKbph43lj6DvvIznjrDlnKgwIOS4jemHjeWPoCAxIOmHjeWPoDHkuKpcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5LqM6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDQsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAwLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiAwLFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5LiJ6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDQsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAwLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiAwLFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Zub6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAxLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiA2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5LqU6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAwLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiA2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5YWt6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDYsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAwLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiA2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5LiD6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDYsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAzLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiA0LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5YWr6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDcsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAwLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiA0LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Lmd6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDcsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAzLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiA0LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDcsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAzLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiA2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B5LiA6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDgsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAzLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiA2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B5LqM6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDgsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiA2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B5LiJ6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDksXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiAzLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiA2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B5Zub6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDksXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiA2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6IDIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6IDEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6IDFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B5LqU6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDEwLFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzExIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiAzLFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzEyIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogMCxcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzEzIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE0IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE1IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE2IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE3IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE4IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE5IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMixcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzIwIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgXVxyXG4gICAgfVxyXG4gICAgc3RhdGljIEF1dGhlbnRpY2F0aW9uKCl7XHJcbiAgICAgICAgY2MuZnguR2FtZVRvb2wuQXV0aGVudGljYXRpb24oKTtcclxuICAgIH1cclxufVxyXG5cclxuIl19 \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/module/Tool/GameTool.js b/temp/quick-scripts/dst/assets/Script/module/Tool/GameTool.js index 99798a0..6653c91 100644 --- a/temp/quick-scripts/dst/assets/Script/module/Tool/GameTool.js +++ b/temp/quick-scripts/dst/assets/Script/module/Tool/GameTool.js @@ -48,7 +48,7 @@ var GameTool = { "matchId": matchId, "data": data }; - // console.log("上传数据:") + console.log("上传数据:", postData); cc.fx.HttpUtil.uploadUserLogData(postData, function () { }); }, //上传排行榜 type为1 @@ -267,4 +267,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFRvb2xcXEdhbWVUb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLCtCQUErQjtBQUMvQixJQUFJLFFBQVEsR0FBRztJQUNYLFVBQVUsRUFBRSxDQUFDO0lBQ2IsUUFBUSxFQUFFLENBQUM7SUFDWCxVQUFVLEVBQUUsQ0FBQztJQUNiLFVBQVU7SUFDVixjQUFjO1FBQ1YsSUFBSSxJQUFJLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDckQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEQsSUFBRyxJQUFJLElBQUksVUFBVSxJQUFJLElBQUksSUFBRSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsRUFBQztZQUM5QyxJQUFJLEdBQUcsR0FBRyw2RUFBNkUsR0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ3RHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztTQUM5QjthQUNHO1lBQ0EsRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQztZQUMzQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDM0Q7SUFDTCxDQUFDO0lBRUQsTUFBTTtJQUNOLFdBQVc7UUFDUCxvQkFBb0I7UUFDcEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNoQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFF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RyxFQUFFLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBLE9BQU87UUFDL0MsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUNqQixJQUFHLEdBQUcsR0FBRyxFQUFFO1lBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBQyxHQUFHLENBQUM7UUFDekIsSUFBSSxRQUFRLEdBQUcsS0FBSyxHQUFHLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQSxhQUFhO1FBQzlELElBQUksSUFBSSxHQUFHLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBRyxRQUFRLEdBQUcsRUFBRTtZQUFFLElBQUksR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUE7SUFDekIsQ0FBQztJQUVELE9BQU87SUFDUCxPQUFPO1FBQ0gsSUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN2QyxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBQ0QsVUFBVSxFQUFDO0lBRVgsQ0FBQztJQUNELGVBQWUsRUFBQztJQUVoQixDQUFDO0NBRUosQ0FBQztBQUNPLDRCQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi8v5pyA5aSn5bel5YW357G7ICDlkITnp43lhazlhbHmlrnms5XvvIzku6Xlj4rlpITnkIbkuIrkvKDvvIzojrflj5blkI7nq6/mjqXlj6PmlbDmja5cclxudmFyIEdhbWVUb29sID0ge1xyXG4gICAgX3N0YXJ0VGltZTogMCxcclxuICAgIF9lbmRUaW1lOiAwLFxyXG4gICAgX3RvdGFsVGltZTogMCxcclxuICAgIC8v6I635Y+WdXNlcklkXHJcbiAgICBBdXRoZW50aWNhdGlvbigpe1xyXG4gICAgICAgIGxldCBuYW1lID0gXCJ1c2VyX1wiICsgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZDtcclxuICAgICAgICB2YXIgZGF0YSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0obmFtZSkpO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJ1bmRpZmVuZFwiIHx8IGRhdGE9PW51bGwgfHwgZGF0YSA9PSBcIlwiKXtcclxuICAgICAgICAgICAgbGV0IHVybCA9IFwiaHR0cDovL2FwaS5zcGFya3VzLmNuL2FwaS91c2VyL2F1dGgvbG9naW4/ZG9tYWluPWh1aTMyNTc5V2RZUHNnWXEmY2FsbGJhY2s9XCIrbG9jYXRpb24uaHJlZjtcclxuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGNjLmZ4LlN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UobmFtZSxkYXRhKTtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnVzZXJJZCA9IHBhcnNlSW50KGRhdGEudXNlcklkKTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIC8v5Z+L54K55LiK5LygXHJcbiAgICBzZXRHYW1lRGF0YSgpe1xyXG4gICAgICAgIC8vR0FNRV9EQVRBIOWIneWni+WMliDmr4/mrKHmuIXpm7ZcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdBTUVfREFUQSA9IFtdO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR0FNRV9EQVRBLnB1c2goY2MuZnguR2FtZUNvbmZpZy5DTElDS19EQVRBKTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX2luaXQoKTtcclxuICAgICAgICBsZXQgZGF0YSA9IGNjLmZ4LkdhbWVDb25maWcuR0FNRV9EQVRBO1xyXG4gICAgICAgIGxldCBtYXRjaElkID0gdGhpcy5nZXRNYXRjaElkKCk7XHJcbiAgICAgICAgbGV0IHBvc3REYXRhID0ge1xyXG4gICAgICAgICAgICBcImdhbWVJZFwiOmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5nYW1lSWQsXHJcbiAgICAgICAgICAgIFwidXNlcklkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnVzZXJJZCxcclxuICAgICAgICAgICAgXCJtYXRjaElkXCI6bWF0Y2hJZCxcclxuICAgICAgICAgICAgXCJkYXRhXCI6IGRhdGFcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuS4iuS8oOaVsOaNrjpcIilcclxuICAgICAgICBjYy5meC5IdHRwVXRpbC51cGxvYWRVc2VyTG9nRGF0YShwb3N0RGF0YSxmdW5jdGlvbigpe30pXHJcbiAgICB9LFxyXG4gICAgLy/kuIrkvKDmjpLooYzmppwgIHR5cGXkuLoxXHJcbiAgICBzZXRSYW5rKGRhdGEpe1xyXG4gICAgICAgIC8vR0FNRV9EQVRBIOWIneWni+WMliDmr4/mrKHmuIXpm7ZcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwiZ2FtZUlkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZCxcclxuICAgICAgICAgICAgXCJ1c2VySWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkLFxyXG4gICAgICAgICAgICBcInR5cGVcIjoxLFxyXG4gICAgICAgICAgICBcInJlYWN0aW9uVGltZVwiOiBkYXRhLFxyXG4gICAgICAgICAgICBcInRvdGFsU3VuQ291bnRcIjogY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnRvdGFsLFxyXG4gICAgICAgICAgICBcInN1Y2Nlc3NcIjogY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnN1Y2Nlc3NcclxuICAgICAgICB9O1xyXG4gICAgICAgIGNjLmZ4Lkh0dHBVdGlsLnJhbmtEYXRhKDEsZnVuY3Rpb24oKXt9LHBvc3REYXRhKTtcclxuICAgIH0sXHJcbiAgICAvL+iOt+WPluaOkuihjOamnCB0eXBl5Li6MlxyXG4gICAgZ2V0UmFuayhkYXRhLGNhbGxiYWNrKXtcclxuICAgICAgICBsZXQgcmFua0xlbmd0aCA9IGRhdGEubGVuZ3RoO1xyXG4gICAgICAgIGxldCBwb3N0RGF0YSA9IHtcclxuICAgICAgICAgICAgXCJnYW1lSWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ2FtZUlkLFxyXG4gICAgICAgICAgICBcInVzZXJJZFwiOmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy51c2VySWQsXHJcbiAgICAgICAgICAgIFwicGFnZVwiOjEsXHJcbiAgICAgICAgICAgIFwicGFnZVNpemVcIjpyYW5rTGVuZ3RoXHJcbiAgICAgICAgfTsgXHJcbiAgICAgICAgLy/lm57osIPov5tnZXRSYW5rRGF0YVxyXG4gICAgICAgIGNjLmZ4Lkh0dHBVdGlsLnJhbmtEYXRhKDIsZGF0YSA9PntjYWxsYmFjayhkYXRhKX0scG9zdERhdGEpO1xyXG4gICAgfSxcclxuICAgIC8v6I635Y+WbWF0Y2hJZCAg55So5LqO5LiK5Lyg5q+P5qyh54K55Ye75pWw5o2u6YeM6Z2i6K6w5b2VaWTmlrnkvr/mn6Xor6JcclxuICAgIGdldE1hdGNoSWQgKCl7XHJcbiAgICAgICAgbGV0IG1hdGNoSWQgPSBjYy5zeXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJtYXRjaElkXCIpO1xyXG4gICAgICAgIGlmKG1hdGNoSWQgPT0gXCJ1bmRpZmVuZFwiIHx8IG1hdGNoSWQ9PW51bGwpe1xyXG4gICAgICAgICAgICBtYXRjaElkID0gIHRoaXMuc2V0TWF0Y2hJZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBpZih0aGlzLmNvbnRhaW5zTmFuYW5hKG1hdGNoSWQpID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgbWF0Y2hJZCA9ICB0aGlzLnNldE1hdGNoSWQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgbGV0IGNoYXIgPSBwYXJzZUludChtYXRjaElkWzEwXSk7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmxldmVsID09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgIGNoYXIgKz0gMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIG1hdGNoSWQgID0gbWF0Y2hJZC5zbGljZSgwLCAxMCkgKyBjaGFyICsgXCJcIjtcclxuICAgICAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tYXRjaElkID0gbWF0Y2hJZDtcclxuICAgICAgICAgICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoSWRcIixtYXRjaElkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbWF0Y2hJZDtcclxuICAgIH0sXHJcbiAgICAvL+ajgOa1i21hdGNoSWQg5aaC5p6c5pyJ57yT5a2Y5Lul5YmN55qEbmFuYW5h5pWw5o2u5riF6ZmkXHJcbiAgICBjb250YWluc05hbmFuYShzdHIpIHtcclxuICAgICAgICByZXR1cm4gL25hL2kudGVzdChzdHIpO1xyXG4gICAgfSxcclxuICAgIC8v6YeN5paw6K6+572uTWF0Y2hJZFxyXG4gICAgc2V0TWF0Y2hJZCAoKXtcclxuICAgICAgICAvLyDlrprkuYnljIXlkKvlj6/nlKjlrZfnrKbnmoTlrZfnrKbpm4ZcclxuICAgICAgICBjb25zdCBjaGFyYWN0ZXJzID0gJ2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5JztcclxuICAgICAgICAvLyDliJvlu7rkuIDkuKrmlbDnu4Tku6Xkv53lrZjpmo/mnLrlrZfnrKZcclxuICAgICAgICBjb25zdCB1dWlkQXJyYXkgPSBbXTtcclxuICAgICAgICAvLyDlvqrnjq8xMOasoSDnlJ/miJAxMOS9jeeahFVVSURcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIC8vIOeUn+aIkOmaj+acuue0ouW8le+8jOiMg+WbtOaYr+Wtl+espumbhueahOmVv+W6plxyXG4gICAgICAgICAgICBjb25zdCByYW5kb21JbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJhY3RlcnMubGVuZ3RoKTtcclxuICAgICAgICAgICAgLy8g5LuO5a2X56ym6ZuG5Lit6I635Y+W6ZqP5py65a2X56ymXHJcbiAgICAgICAgICAgIGNvbnN0IHJhbmRvbUNoYXIgPSBjaGFyYWN0ZXJzLmNoYXJBdChyYW5kb21JbmRleCk7XHJcbiAgICAgICAgICAgIC8vIOWwhuWtl+espua3u+WKoOWIsOaVsOe7hOS4rVxyXG4gICAgICAgICAgICB1dWlkQXJyYXkucHVzaChyYW5kb21DaGFyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGRhdGEgPSAgdXVpZEFycmF5LmpvaW4oJycpICsgMSArIFwiXCI7XHJcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwibWF0Y2hOdW1iZXJcIiwxKTtcclxuICAgICAgICBjYy5zeXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJtYXRjaElkXCIsZGF0YSk7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1hdGNoSWQgPSBkYXRhO1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgfSxcclxuICAgIC8v5oiq5Y+W5ZCN5a2XXHJcbiAgICBzdWJOYW1lKG5hbWUsbGVuZ3RoKXtcclxuICAgICAgICBpZihuYW1lLmxlbmd0aCA+IGxlbmd0aCl7XHJcbiAgICAgICAgICAgIG5hbWUgPSBuYW1lLnN1YnN0cmluZygwLGxlbmd0aCkgKyBcIi4uLlwiXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuYW1lO1xyXG4gICAgfSxcclxuICAgIC8v6K6+572u5aS05YOPXHJcbiAgICBzZXRQaWMobm9kZSxwaWMpe1xyXG4gICAgICAgIG5vZGUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgbGV0IHVybCA9IHBpYztcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgZmV0Y2godXJsKVxyXG4gICAgICAgICAgICAudGhlbihyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ0NvbnRlbnQtTGVuZ3RoJyk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC50aGVuKGVyck5vID0+IHtcclxuICAgICAgICAgICAgICAgIGlmKGVyck5vID09IFwiNTA5M1wiKXtcclxuICAgICAgICAgICAgICAgICAgICBub2RlLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBYLUluZm86JywgZXJyb3IpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9LCAxMDApO1xyXG4gICAgICAgIGNjLmFzc2V0TWFuYWdlci5sb2FkUmVtb3RlKHVybCwge2V4dDonLmpwZyd9LChlcnIsIHRleHR1cmU6Y2MuVGV4dHVyZTJEKSA9PiB7XHJcbiAgICAgICAgICAgIGlmKHRleHR1cmUpe1xyXG4gICAgICAgICAgICAgICAgbm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgbm9kZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyLHRleHR1cmUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfSxcclxuICAgIC8v56ys5LiA5Liq5Y+C5pWw5oqK55uu5qCH5bim6L+b5p2l5aSE55CG77yM56ys5LqM5Liq5Y+C5pWw5Li65ZCN5a2X6ZW/5bqm77yM5LiN5ZCM5Zy65pmv5LiN5ZCM6ZyA5rGCXHJcbiAgICAvL+WQjeWtlzTnn63vvIzlsI/mjpLooYzvvIzlkI3lrZc26ZW/77yM5aSn5o6S6KGMXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhLHRhcmdldCxuYW1lTGVuZ3RoKXtcclxuICAgICAgICB0YXJnZXQubGlzdERhdGEgPSBkYXRhLmRhdGEubGlzdDtcclxuICAgICAgICB0YXJnZXQuc2VsZkRhdGEgPSBkYXRhLmRhdGEuaW5mbztcclxuICAgICAgICBsZXQgcmFua0RhdGEgPSBbXTtcclxuICAgICAgICBsZXQgc2VsZiA9IGZhbHNlO1xyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRQaWModGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKSx0YXJnZXQuc2VsZkRhdGEucGljKTtcclxuICAgICAgICBmb3IobGV0IGk9MDtpPD10YXJnZXQubGlzdERhdGEubGVuZ3RoLTE7aSsrKXtcclxuICAgICAgICAgICAgcmFua0RhdGEucHVzaCh7cmFuazooaSsxKSwgbmFtZTp0YXJnZXQubGlzdERhdGFbaV0ubmlja05hbWUsIHRvdGFsOnRhcmdldC5saXN0RGF0YVtpXS50b3RhbFN1bkNvdW50LCBwaWM6dGFyZ2V0Lmxpc3REYXRhW2ldLnBpY30pO1xyXG4gICAgICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkID09IHRhcmdldC5saXN0RGF0YVtpXS51c2VySWQpe1xyXG4gICAgICAgICAgICAgICAgc2VsZiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQucmFua051bWJlciA9IGk7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0oaSsxKSArIFwiXCI7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKGkgPT0gKHRhcmdldC5saXN0RGF0YS5sZW5ndGgtMSkgJiYgc2VsZiA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQucmFua051bWJlciA9IGk7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gXCI5OStcIjsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgIGNjLmZ4LkdhbWVUb29sLnN1Yk5hbWUodGFyZ2V0LnNlbGZEYXRhLm5pY2tOYW1lLG5hbWVMZW5ndGgpO1xyXG4gICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcIm5hbWVMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0YXJnZXQuc2VsZkRhdGEubmlja05hbWU7XHJcbiAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwidG90YWxMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0YXJnZXQuc2VsZkRhdGEudG90YWxTdW5Db3VudDtcclxuICAgICAgICBzd2l0Y2godGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyl7XHJcbiAgICAgICAgICAgIGNhc2UgXCIxXCI6XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwib25lXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcIjJcIjpcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ0d29cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwiM1wiOlxyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInRocmVlXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOWkp+aOkuihjFxyXG4gICAgICAgIGlmKG5hbWVMZW5ndGggPT0gNil7XHJcbiAgICAgICAgICAgIHRhcmdldC5yYW5rTGlzdC5zZXREYXRhKHJhbmtEYXRhKTtcclxuICAgICAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgIGlmKHRhcmdldC5zZWxmRGF0YS50b3RhbFN1bkNvdW50ID09IDApIHRhcmdldC5zZWxmTm9kZS5vcGFjaXR5ID0gMDtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFNldFNjcmVlblJlc29sdXRpb25GbGFnOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgbGV0IHNpemUgPSBjYy53aW5TaXplO1xyXG4gICAgICAgIGxldCB3aWR0aCA9IHNpemUud2lkdGg7XHJcbiAgICAgICAgbGV0IGhlaWdodCA9IHNpemUuaGVpZ2h0O1xyXG4gICAgICAgIGlmICgoaGVpZ2h0IC8gd2lkdGgpID4gKDE2LjIgLyA5KSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSxcclxuICAgIC8v5Yik5pat5YWo6Z2i5bGP6YCC6YWNXHJcbiAgICBzZXRGaXQ6IGZ1bmN0aW9uIChjYW52YXMpIHtcclxuICAgICAgICBsZXQgZmxhZyA9ICBjYy5meC5HYW1lVG9vbC5nZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZygpO1xyXG4gICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgXHQvLyBjb25zb2xlLmxvZyhcIuS4jeaYr+WFqOmdouWxj1wiKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIFx0Ly8gY29uc29sZS5sb2coXCLmmK/lhajpnaLlsY9cIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmbGFnO1xyXG4gICAgfSxcclxuICAgIC8v6I635Y+W5ri45oiP5L+h5oGvXHJcbiAgICBnZXRHYW1lSW5mbzogZnVuY3Rpb24obm9kZSl7XHJcbiAgICAgICAgdmFyIGpnID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIGpnO1xyXG4gICAgfSxcclxuICAgIC8v6K6+572u5ri45oiP5L+h5oGvXHJcbiAgICBzZXRHYW1lSW5mbzogZnVuY3Rpb24ocGQpe1xyXG4gICBcclxuICAgIH0sXHJcbiAgICAvL+i+k+WFpeenkizov5Tlm57pnIDopoHlsZXnpLrml7bpl7TmoLzlvI9cclxuICAgIGdldFRpbWVNYXJnaW46KHNlY29uZCkgPT4ge1xyXG4gICAgICAgIGxldCB0b3RhbCA9IDA7XHJcbiAgICAgICAgdG90YWwgPSBzZWNvbmQ7XHJcbiAgICAgICAgbGV0IGhvdXIgPSAwO1xyXG4gICAgICAgIGhvdXIgPSBwYXJzZUludCgodG90YWwgLyAzNjAwKSArIFwiXCIpOy8v6K6h566X5pW05pWw5bCP5pe25pWwXHJcbiAgICAgICAgbGV0IGFmdGVySG91ciA9IHRvdGFsIC0gaG91ciAqIDYwICogNjA7Ly/lj5blvpfnrpflh7rlsI/ml7bmlbDlkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWluID0gcGFyc2VJbnQoKGFmdGVySG91ciAvIDYwKStcIlwiKTsvL+iuoeeul+aVtOaVsOWIhlxyXG4gICAgICAgIGxldCBtID0gXCJcIiArIG1pbjsgIFxyXG4gICAgICAgIGlmKG1pbiA8IDEwKSBtID0gXCIwXCIrbWluO1xyXG4gICAgICAgIGxldCBhZnRlck1pbiA9IHRvdGFsIC0gaG91ciAqIDYwICogNjAgLSBtaW4gKiA2MDsvL+WPluW+l+eul+WHuuWIhuWQjuWJqeS9meeahOenkuaVsFxyXG4gICAgICAgIGxldCBtaWFvID0gYWZ0ZXJNaW4gKyBcIlwiO1xyXG4gICAgICAgIGlmKGFmdGVyTWluIDwgMTApIG1pYW8gPSBcIjBcIiArIGFmdGVyTWluO1xyXG4gICAgICAgIHJldHVybiBtICsgJzonICsgbWlhb1xyXG4gICAgfSxcclxuXHJcbiAgICAvL+iOt+WPluaXtumXtOaIs1xyXG4gICAgZ2V0VGltZSgpe1xyXG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHJldHVybiB0aW1lc3RhbXA7XHJcbiAgICB9LFxyXG4gICAgcHVzaExpc3RlcjpmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgXHJcbiAgICB9LFxyXG4gICAgcmVtb3ZlQWxsTGlzdGVyOmZ1bmN0aW9uICgpIHtcclxuICAgICAgICBcclxuICAgIH0sXHJcblxyXG59O1xyXG5leHBvcnQgeyBHYW1lVG9vbCB9OyJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFRvb2xcXEdhbWVUb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLCtCQUErQjtBQUMvQixJQUFJLFFBQVEsR0FBRztJQUNYLFVBQVUsRUFBRSxDQUFDO0lBQ2IsUUFBUSxFQUFFLENBQUM7SUFDWCxVQUFVLEVBQUUsQ0FBQztJQUNiLFVBQVU7SUFDVixjQUFjO1FBQ1YsSUFBSSxJQUFJLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDckQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEQsSUFBRyxJQUFJLElBQUksVUFBVSxJQUFJLElBQUksSUFBRSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsRUFBQztZQUM5QyxJQUFJLEdBQUcsR0FBRyw2RUFBNkUsR0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ3RHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztTQUM5QjthQUNHO1lBQ0EsRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQztZQUMzQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDM0Q7SUFDTCxDQUFDO0lBRUQsTUFBTTtJQUNOLFdBQVc7UUFDUCxvQkFBb0I7UUFDcEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNoQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFF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SUFBSSxHQUFHLEdBQUcsUUFBUSxDQUFDLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUEsT0FBTztRQUMvQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLElBQUcsR0FBRyxHQUFHLEVBQUU7WUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFDLEdBQUcsQ0FBQztRQUN6QixJQUFJLFFBQVEsR0FBRyxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFBLGFBQWE7UUFDOUQsSUFBSSxJQUFJLEdBQUcsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFHLFFBQVEsR0FBRyxFQUFFO1lBQUUsSUFBSSxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUM7UUFDeEMsT0FBTyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQTtJQUN6QixDQUFDO0lBRUQsT0FBTztJQUNQLE9BQU87UUFDSCxJQUFNLFNBQVMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZDLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxVQUFVLEVBQUM7SUFFWCxDQUFDO0lBQ0QsZUFBZSxFQUFDO0lBRWhCLENBQUM7Q0FFSixDQUFDO0FBQ08sNEJBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLy/mnIDlpKflt6XlhbfnsbsgIOWQhOenjeWFrOWFseaWueazle+8jOS7peWPiuWkhOeQhuS4iuS8oO+8jOiOt+WPluWQjuerr+aOpeWPo+aVsOaNrlxyXG52YXIgR2FtZVRvb2wgPSB7XHJcbiAgICBfc3RhcnRUaW1lOiAwLFxyXG4gICAgX2VuZFRpbWU6IDAsXHJcbiAgICBfdG90YWxUaW1lOiAwLFxyXG4gICAgLy/ojrflj5Z1c2VySWRcclxuICAgIEF1dGhlbnRpY2F0aW9uKCl7XHJcbiAgICAgICAgbGV0IG5hbWUgPSBcInVzZXJfXCIgKyBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ2FtZUlkO1xyXG4gICAgICAgIHZhciBkYXRhID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShuYW1lKSk7XHJcbiAgICAgICAgaWYoZGF0YSA9PSBcInVuZGlmZW5kXCIgfHwgZGF0YT09bnVsbCB8fCBkYXRhID09IFwiXCIpe1xyXG4gICAgICAgICAgICBsZXQgdXJsID0gXCJodHRwOi8vYXBpLnNwYXJrdXMuY24vYXBpL3VzZXIvYXV0aC9sb2dpbj9kb21haW49aHVpMzI1NzlXZFlQc2dZcSZjYWxsYmFjaz1cIitsb2NhdGlvbi5ocmVmO1xyXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgY2MuZnguU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShuYW1lLGRhdGEpO1xyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkID0gcGFyc2VJbnQoZGF0YS51c2VySWQpO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgLy/ln4vngrnkuIrkvKBcclxuICAgIHNldEdhbWVEYXRhKCl7XHJcbiAgICAgICAgLy9HQU1FX0RBVEEg5Yid5aeL5YyWIOavj+asoea4hembtlxyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR0FNRV9EQVRBID0gW107XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HQU1FX0RBVEEucHVzaChjYy5meC5HYW1lQ29uZmlnLkNMSUNLX0RBVEEpO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfaW5pdCgpO1xyXG4gICAgICAgIGxldCBkYXRhID0gY2MuZnguR2FtZUNvbmZpZy5HQU1FX0RBVEE7XHJcbiAgICAgICAgbGV0IG1hdGNoSWQgPSB0aGlzLmdldE1hdGNoSWQoKTtcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwiZ2FtZUlkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZCxcclxuICAgICAgICAgICAgXCJ1c2VySWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkLFxyXG4gICAgICAgICAgICBcIm1hdGNoSWRcIjptYXRjaElkLFxyXG4gICAgICAgICAgICBcImRhdGFcIjogZGF0YVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGNvbnNvbGUubG9nKFwi5LiK5Lyg5pWw5o2uOlwiLHBvc3REYXRhKTtcclxuICAgICAgICBjYy5meC5IdHRwVXRpbC51cGxvYWRVc2VyTG9nRGF0YShwb3N0RGF0YSxmdW5jdGlvbigpe30pXHJcbiAgICB9LFxyXG4gICAgLy/kuIrkvKDmjpLooYzmppwgIHR5cGXkuLoxXHJcbiAgICBzZXRSYW5rKGRhdGEpe1xyXG4gICAgICAgIC8vR0FNRV9EQVRBIOWIneWni+WMliDmr4/mrKHmuIXpm7ZcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwiZ2FtZUlkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZCxcclxuICAgICAgICAgICAgXCJ1c2VySWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkLFxyXG4gICAgICAgICAgICBcInR5cGVcIjoxLFxyXG4gICAgICAgICAgICBcInJlYWN0aW9uVGltZVwiOiBkYXRhLFxyXG4gICAgICAgICAgICBcInRvdGFsU3VuQ291bnRcIjogY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnRvdGFsLFxyXG4gICAgICAgICAgICBcInN1Y2Nlc3NcIjogY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnN1Y2Nlc3NcclxuICAgICAgICB9O1xyXG4gICAgICAgIGNjLmZ4Lkh0dHBVdGlsLnJhbmtEYXRhKDEsZnVuY3Rpb24oKXt9LHBvc3REYXRhKTtcclxuICAgIH0sXHJcbiAgICAvL+iOt+WPluaOkuihjOamnCB0eXBl5Li6MlxyXG4gICAgZ2V0UmFuayhkYXRhLGNhbGxiYWNrKXtcclxuICAgICAgICBsZXQgcmFua0xlbmd0aCA9IGRhdGEubGVuZ3RoO1xyXG4gICAgICAgIGxldCBwb3N0RGF0YSA9IHtcclxuICAgICAgICAgICAgXCJnYW1lSWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ2FtZUlkLFxyXG4gICAgICAgICAgICBcInVzZXJJZFwiOmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy51c2VySWQsXHJcbiAgICAgICAgICAgIFwicGFnZVwiOjEsXHJcbiAgICAgICAgICAgIFwicGFnZVNpemVcIjpyYW5rTGVuZ3RoXHJcbiAgICAgICAgfTsgXHJcbiAgICAgICAgLy/lm57osIPov5tnZXRSYW5rRGF0YVxyXG4gICAgICAgIGNjLmZ4Lkh0dHBVdGlsLnJhbmtEYXRhKDIsZGF0YSA9PntjYWxsYmFjayhkYXRhKX0scG9zdERhdGEpO1xyXG4gICAgfSxcclxuICAgIC8v6I635Y+WbWF0Y2hJZCAg55So5LqO5LiK5Lyg5q+P5qyh54K55Ye75pWw5o2u6YeM6Z2i6K6w5b2VaWTmlrnkvr/mn6Xor6JcclxuICAgIGdldE1hdGNoSWQgKCl7XHJcbiAgICAgICAgbGV0IG1hdGNoSWQgPSBjYy5zeXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJtYXRjaElkXCIpO1xyXG4gICAgICAgIGlmKG1hdGNoSWQgPT0gXCJ1bmRpZmVuZFwiIHx8IG1hdGNoSWQ9PW51bGwpe1xyXG4gICAgICAgICAgICBtYXRjaElkID0gIHRoaXMuc2V0TWF0Y2hJZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBpZih0aGlzLmNvbnRhaW5zTmFuYW5hKG1hdGNoSWQpID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgbWF0Y2hJZCA9ICB0aGlzLnNldE1hdGNoSWQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgbGV0IGNoYXIgPSBwYXJzZUludChtYXRjaElkWzEwXSk7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmxldmVsID09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgIGNoYXIgKz0gMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIG1hdGNoSWQgID0gbWF0Y2hJZC5zbGljZSgwLCAxMCkgKyBjaGFyICsgXCJcIjtcclxuICAgICAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tYXRjaElkID0gbWF0Y2hJZDtcclxuICAgICAgICAgICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoSWRcIixtYXRjaElkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbWF0Y2hJZDtcclxuICAgIH0sXHJcbiAgICAvL+ajgOa1i21hdGNoSWQg5aaC5p6c5pyJ57yT5a2Y5Lul5YmN55qEbmFuYW5h5pWw5o2u5riF6ZmkXHJcbiAgICBjb250YWluc05hbmFuYShzdHIpIHtcclxuICAgICAgICByZXR1cm4gL25hL2kudGVzdChzdHIpO1xyXG4gICAgfSxcclxuICAgIC8v6YeN5paw6K6+572uTWF0Y2hJZFxyXG4gICAgc2V0TWF0Y2hJZCAoKXtcclxuICAgICAgICAvLyDlrprkuYnljIXlkKvlj6/nlKjlrZfnrKbnmoTlrZfnrKbpm4ZcclxuICAgICAgICBjb25zdCBjaGFyYWN0ZXJzID0gJ2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5JztcclxuICAgICAgICAvLyDliJvlu7rkuIDkuKrmlbDnu4Tku6Xkv53lrZjpmo/mnLrlrZfnrKZcclxuICAgICAgICBjb25zdCB1dWlkQXJyYXkgPSBbXTtcclxuICAgICAgICAvLyDlvqrnjq8xMOasoSDnlJ/miJAxMOS9jeeahFVVSURcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIC8vIOeUn+aIkOmaj+acuue0ouW8le+8jOiMg+WbtOaYr+Wtl+espumbhueahOmVv+W6plxyXG4gICAgICAgICAgICBjb25zdCByYW5kb21JbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJhY3RlcnMubGVuZ3RoKTtcclxuICAgICAgICAgICAgLy8g5LuO5a2X56ym6ZuG5Lit6I635Y+W6ZqP5py65a2X56ymXHJcbiAgICAgICAgICAgIGNvbnN0IHJhbmRvbUNoYXIgPSBjaGFyYWN0ZXJzLmNoYXJBdChyYW5kb21JbmRleCk7XHJcbiAgICAgICAgICAgIC8vIOWwhuWtl+espua3u+WKoOWIsOaVsOe7hOS4rVxyXG4gICAgICAgICAgICB1dWlkQXJyYXkucHVzaChyYW5kb21DaGFyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGRhdGEgPSAgdXVpZEFycmF5LmpvaW4oJycpICsgMSArIFwiXCI7XHJcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwibWF0Y2hOdW1iZXJcIiwxKTtcclxuICAgICAgICBjYy5zeXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJtYXRjaElkXCIsZGF0YSk7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1hdGNoSWQgPSBkYXRhO1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgfSxcclxuICAgIC8v5oiq5Y+W5ZCN5a2XXHJcbiAgICBzdWJOYW1lKG5hbWUsbGVuZ3RoKXtcclxuICAgICAgICBpZihuYW1lLmxlbmd0aCA+IGxlbmd0aCl7XHJcbiAgICAgICAgICAgIG5hbWUgPSBuYW1lLnN1YnN0cmluZygwLGxlbmd0aCkgKyBcIi4uLlwiXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuYW1lO1xyXG4gICAgfSxcclxuICAgIC8v6K6+572u5aS05YOPXHJcbiAgICBzZXRQaWMobm9kZSxwaWMpe1xyXG4gICAgICAgIG5vZGUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgbGV0IHVybCA9IHBpYztcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgZmV0Y2godXJsKVxyXG4gICAgICAgICAgICAudGhlbihyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ0NvbnRlbnQtTGVuZ3RoJyk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC50aGVuKGVyck5vID0+IHtcclxuICAgICAgICAgICAgICAgIGlmKGVyck5vID09IFwiNTA5M1wiKXtcclxuICAgICAgICAgICAgICAgICAgICBub2RlLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBYLUluZm86JywgZXJyb3IpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9LCAxMDApO1xyXG4gICAgICAgIGNjLmFzc2V0TWFuYWdlci5sb2FkUmVtb3RlKHVybCwge2V4dDonLmpwZyd9LChlcnIsIHRleHR1cmU6Y2MuVGV4dHVyZTJEKSA9PiB7XHJcbiAgICAgICAgICAgIGlmKHRleHR1cmUpe1xyXG4gICAgICAgICAgICAgICAgbm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgbm9kZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyLHRleHR1cmUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfSxcclxuICAgIC8v56ys5LiA5Liq5Y+C5pWw5oqK55uu5qCH5bim6L+b5p2l5aSE55CG77yM56ys5LqM5Liq5Y+C5pWw5Li65ZCN5a2X6ZW/5bqm77yM5LiN5ZCM5Zy65pmv5LiN5ZCM6ZyA5rGCXHJcbiAgICAvL+WQjeWtlzTnn63vvIzlsI/mjpLooYzvvIzlkI3lrZc26ZW/77yM5aSn5o6S6KGMXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhLHRhcmdldCxuYW1lTGVuZ3RoKXtcclxuICAgICAgICB0YXJnZXQubGlzdERhdGEgPSBkYXRhLmRhdGEubGlzdDtcclxuICAgICAgICB0YXJnZXQuc2VsZkRhdGEgPSBkYXRhLmRhdGEuaW5mbztcclxuICAgICAgICBsZXQgcmFua0RhdGEgPSBbXTtcclxuICAgICAgICBsZXQgc2VsZiA9IGZhbHNlO1xyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRQaWModGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKSx0YXJnZXQuc2VsZkRhdGEucGljKTtcclxuICAgICAgICBmb3IobGV0IGk9MDtpPD10YXJnZXQubGlzdERhdGEubGVuZ3RoLTE7aSsrKXtcclxuICAgICAgICAgICAgcmFua0RhdGEucHVzaCh7cmFuazooaSsxKSwgbmFtZTp0YXJnZXQubGlzdERhdGFbaV0ubmlja05hbWUsIHRvdGFsOnRhcmdldC5saXN0RGF0YVtpXS50b3RhbFN1bkNvdW50LCBwaWM6dGFyZ2V0Lmxpc3REYXRhW2ldLnBpY30pO1xyXG4gICAgICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkID09IHRhcmdldC5saXN0RGF0YVtpXS51c2VySWQpe1xyXG4gICAgICAgICAgICAgICAgc2VsZiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQucmFua051bWJlciA9IGk7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0oaSsxKSArIFwiXCI7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKGkgPT0gKHRhcmdldC5saXN0RGF0YS5sZW5ndGgtMSkgJiYgc2VsZiA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQucmFua051bWJlciA9IGk7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gXCI5OStcIjsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgIGNjLmZ4LkdhbWVUb29sLnN1Yk5hbWUodGFyZ2V0LnNlbGZEYXRhLm5pY2tOYW1lLG5hbWVMZW5ndGgpO1xyXG4gICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcIm5hbWVMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0YXJnZXQuc2VsZkRhdGEubmlja05hbWU7XHJcbiAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwidG90YWxMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0YXJnZXQuc2VsZkRhdGEudG90YWxTdW5Db3VudDtcclxuICAgICAgICBzd2l0Y2godGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyl7XHJcbiAgICAgICAgICAgIGNhc2UgXCIxXCI6XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwib25lXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcIjJcIjpcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ0d29cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwiM1wiOlxyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInRocmVlXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOWkp+aOkuihjFxyXG4gICAgICAgIGlmKG5hbWVMZW5ndGggPT0gNil7XHJcbiAgICAgICAgICAgIHRhcmdldC5yYW5rTGlzdC5zZXREYXRhKHJhbmtEYXRhKTtcclxuICAgICAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgIGlmKHRhcmdldC5zZWxmRGF0YS50b3RhbFN1bkNvdW50ID09IDApIHRhcmdldC5zZWxmTm9kZS5vcGFjaXR5ID0gMDtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFNldFNjcmVlblJlc29sdXRpb25GbGFnOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgbGV0IHNpemUgPSBjYy53aW5TaXplO1xyXG4gICAgICAgIGxldCB3aWR0aCA9IHNpemUud2lkdGg7XHJcbiAgICAgICAgbGV0IGhlaWdodCA9IHNpemUuaGVpZ2h0O1xyXG4gICAgICAgIGlmICgoaGVpZ2h0IC8gd2lkdGgpID4gKDE2LjIgLyA5KSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSxcclxuICAgIC8v5Yik5pat5YWo6Z2i5bGP6YCC6YWNXHJcbiAgICBzZXRGaXQ6IGZ1bmN0aW9uIChjYW52YXMpIHtcclxuICAgICAgICBsZXQgZmxhZyA9ICBjYy5meC5HYW1lVG9vbC5nZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZygpO1xyXG4gICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgXHQvLyBjb25zb2xlLmxvZyhcIuS4jeaYr+WFqOmdouWxj1wiKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIFx0Ly8gY29uc29sZS5sb2coXCLmmK/lhajpnaLlsY9cIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmbGFnO1xyXG4gICAgfSxcclxuICAgIC8v6I635Y+W5ri45oiP5L+h5oGvXHJcbiAgICBnZXRHYW1lSW5mbzogZnVuY3Rpb24obm9kZSl7XHJcbiAgICAgICAgdmFyIGpnID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIGpnO1xyXG4gICAgfSxcclxuICAgIC8v6K6+572u5ri45oiP5L+h5oGvXHJcbiAgICBzZXRHYW1lSW5mbzogZnVuY3Rpb24ocGQpe1xyXG4gICBcclxuICAgIH0sXHJcbiAgICAvL+i+k+WFpeenkizov5Tlm57pnIDopoHlsZXnpLrml7bpl7TmoLzlvI9cclxuICAgIGdldFRpbWVNYXJnaW46KHNlY29uZCkgPT4ge1xyXG4gICAgICAgIGxldCB0b3RhbCA9IDA7XHJcbiAgICAgICAgdG90YWwgPSBzZWNvbmQ7XHJcbiAgICAgICAgbGV0IGhvdXIgPSAwO1xyXG4gICAgICAgIGhvdXIgPSBwYXJzZUludCgodG90YWwgLyAzNjAwKSArIFwiXCIpOy8v6K6h566X5pW05pWw5bCP5pe25pWwXHJcbiAgICAgICAgbGV0IGFmdGVySG91ciA9IHRvdGFsIC0gaG91ciAqIDYwICogNjA7Ly/lj5blvpfnrpflh7rlsI/ml7bmlbDlkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWluID0gcGFyc2VJbnQoKGFmdGVySG91ciAvIDYwKStcIlwiKTsvL+iuoeeul+aVtOaVsOWIhlxyXG4gICAgICAgIGxldCBtID0gXCJcIiArIG1pbjsgIFxyXG4gICAgICAgIGlmKG1pbiA8IDEwKSBtID0gXCIwXCIrbWluO1xyXG4gICAgICAgIGxldCBhZnRlck1pbiA9IHRvdGFsIC0gaG91ciAqIDYwICogNjAgLSBtaW4gKiA2MDsvL+WPluW+l+eul+WHuuWIhuWQjuWJqeS9meeahOenkuaVsFxyXG4gICAgICAgIGxldCBtaWFvID0gYWZ0ZXJNaW4gKyBcIlwiO1xyXG4gICAgICAgIGlmKGFmdGVyTWluIDwgMTApIG1pYW8gPSBcIjBcIiArIGFmdGVyTWluO1xyXG4gICAgICAgIHJldHVybiBtICsgJzonICsgbWlhb1xyXG4gICAgfSxcclxuXHJcbiAgICAvL+iOt+WPluaXtumXtOaIs1xyXG4gICAgZ2V0VGltZSgpe1xyXG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHJldHVybiB0aW1lc3RhbXA7XHJcbiAgICB9LFxyXG4gICAgcHVzaExpc3RlcjpmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgXHJcbiAgICB9LFxyXG4gICAgcmVtb3ZlQWxsTGlzdGVyOmZ1bmN0aW9uICgpIHtcclxuICAgICAgICBcclxuICAgIH0sXHJcblxyXG59O1xyXG5leHBvcnQgeyBHYW1lVG9vbCB9OyJdfQ== \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js b/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js index 295aa3f..ff5941f 100644 --- a/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js +++ b/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js @@ -27,35 +27,35 @@ var GameConfig = /** @class */ (function () { configurable: true }); GameConfig.init = function () { - var _this = this; + this.GM_INFO_init(); + this.CLICK_init(); + this.LEVEL_INFO_init(); + var self = this; cc.resources.load('Json/GM_INFO', function (err, res) { if (err) { - _this.GM_INFO_init(); - _this.Authentication(); + self.Authentication(); return; } var jsonData = res.json; - _this.GM_INFO = jsonData["data"]; - _this.Authentication(); + self.GM_INFO = jsonData["data"]; + self.Authentication(); }); cc.resources.load('Json/CLICK_DATA', function (err, res) { if (err) { - _this.CLICK_init(); return; } var jsonData = res.json; - _this.CLICK_DATA = jsonData["data"]; + self.CLICK_DATA = jsonData["data"]; }); cc.resources.load('Json/LEVEL_INFO', function (err, res) { if (err) { - _this.LEVEL_INFO_init(); return; } var jsonData = res.json; - _this.LEVEL_INFO = jsonData["data"]; + self.LEVEL_INFO = jsonData["data"]; }); //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次 - this.GAME_DATA = []; + self.GAME_DATA = []; }; //数据备用 GameConfig.GM_INFO_init = function () { diff --git a/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js.map b/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js.map index fe3abc6..b2d0b44 100644 --- a/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js.map +++ b/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\module\\Config\\GameConfig.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\n\r\nconst { ccclass, property } = cc._decorator;\r\n@ccclass('GameConfig')\r\nexport class GameConfig {\r\n //所有控制信息都通过GameAppStart内控制\r\n private static _instance : GameConfig = null;\r\n //用于盛放埋点数据上传,每次上传后清空\r\n static GM_INFO: {\r\n // isEnd: false,\r\n mean_Time: number; //平均放箭速度\r\n total: number; //总共对的个数\r\n currSeed: number; //用于随机数种子\r\n gameId: string; //游戏ID\r\n userId: number; //用户ID\r\n guide: boolean; //是否有引导\r\n url: string; //访问域名\r\n success: boolean; //用户游戏成功与否\r\n matchId: any; //用于埋点上传的ID\r\n custom: number; //用于测试跳关卡\r\n };\r\n static CLICK_DATA: {\r\n type: number; //上传数据类型\r\n success: boolean; //此局游戏胜负 \r\n round: number; //回合数\r\n totalSunCount: number; //太阳总数\r\n movedSunCount: number; //可移动太阳个数\r\n sunSpeed: number; //太阳移动速度\r\n overlapSunCount: number; //重叠太阳个数\r\n colorList: any[]; //太阳颜色数组\r\n duration: number; //每次点击的反应时间\r\n difficultyLevel: number; //此次难度\r\n sunList: any[]; //太阳数组,用于存放太阳类型 0:普通 1:移动 2:重叠\r\n stepTimeList: any[]; //每次点击间隔\r\n remainder: number; //游戏剩余时间\r\n };\r\n static LEVEL_INFO: { //第一难度\r\n number: number; //太阳总数 \r\n moveNumber: number; //太阳可移动个数\r\n moveSpeed: number; //太阳移动速度等级\r\n maxDistance: number; //布局后移动最大距离\r\n maxMove: number; //每个太阳之间距离最大间距\r\n repeat: number; //是否重叠,现在0 不重叠 1 重叠1个\r\n }[];\r\n static GAME_DATA: any[];\r\n\r\n\r\n static get Instance()\r\n {\r\n if (this._instance == null)\r\n {\r\n this._instance = new GameConfig();\r\n }\r\n return this._instance;\r\n }\r\n\r\n static init(){\r\n cc.resources.load('Json/GM_INFO', (err: any, res: cc.JsonAsset) => {\r\n if (err) {\r\n this.GM_INFO_init();\r\n this.Authentication();\r\n return;\r\n }\r\n let jsonData: object = res.json!;\r\n this.GM_INFO = jsonData[\"data\"];\r\n this.Authentication();\r\n })\r\n cc.resources.load('Json/CLICK_DATA', (err: any, res: cc.JsonAsset) => {\r\n if (err) {\r\n this.CLICK_init();\r\n return;\r\n }\r\n let jsonData: object = res.json!;\r\n this.CLICK_DATA = jsonData[\"data\"];\r\n })\r\n cc.resources.load('Json/LEVEL_INFO', (err: any, res: cc.JsonAsset) => {\r\n if (err) {\r\n this.LEVEL_INFO_init();\r\n return;\r\n }\r\n let jsonData: object = res.json!;\r\n this.LEVEL_INFO = jsonData[\"data\"];\r\n })\r\n\r\n //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次\r\n this.GAME_DATA = [\r\n ]\r\n }\r\n \r\n //数据备用\r\n static GM_INFO_init() {\r\n this.GM_INFO = {\r\n // isEnd: false,\r\n mean_Time: 0, //平均放箭速度\r\n total: 0, //总共对的个数\r\n currSeed: 203213, //用于随机数种子\r\n gameId: '100009', //游戏ID\r\n userId: 0, //用户ID\r\n guide: true, //是否有引导\r\n url: \"http://api.sparkus.cn\",//访问域名\r\n success: false, //用户游戏成功与否\r\n matchId: null, //用于埋点上传的ID\r\n custom: 0 //用于测试跳关卡\r\n };\r\n }\r\n static CLICK_init() {\r\n this.CLICK_DATA =\r\n {\r\n type: 1, //上传数据类型\r\n success: false, //此局游戏胜负 \r\n round: 0, //回合数\r\n totalSunCount: 0, //太阳总数\r\n movedSunCount: 0, //可移动太阳个数\r\n sunSpeed: 0, //太阳移动速度\r\n overlapSunCount: 0, //重叠太阳个数\r\n colorList: [], //太阳颜色数组\r\n duration: 0, //每次点击的反应时间\r\n difficultyLevel: 0, //此次难度\r\n sunList: [], //太阳数组,用于存放太阳类型 0:普通 1:移动 2:重叠\r\n stepTimeList: [], //每次点击间隔\r\n remainder: 120 //游戏剩余时间\r\n }\r\n }\r\n static LEVEL_INFO_init() {\r\n this.LEVEL_INFO = [\r\n { //第一难度\r\n number: 3, //太阳总数 \r\n moveNumber: 0, //太阳可移动个数\r\n moveSpeed: 0, //太阳移动速度等级\r\n maxDistance: 200, //布局后移动最大距离\r\n maxMove: 1200, //每个太阳之间距离最大间距\r\n repeat: 0 //是否重叠,现在0 不重叠 1 重叠1个\r\n },\r\n { //第二难度\r\n number: 4,\r\n moveNumber: 0,\r\n moveSpeed: 0,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第三难度\r\n number: 4,\r\n moveNumber: 0,\r\n moveSpeed: 0,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第四难度\r\n number: 5,\r\n moveNumber: 1,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第五难度\r\n number: 5,\r\n moveNumber: 0,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第六难度\r\n number: 6,\r\n moveNumber: 0,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第七难度\r\n number: 6,\r\n moveNumber: 3,\r\n moveSpeed: 4,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第八难度\r\n number: 7,\r\n moveNumber: 0,\r\n moveSpeed: 4,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第九难度\r\n number: 7,\r\n moveNumber: 3,\r\n moveSpeed: 4,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第十难度\r\n number: 7,\r\n moveNumber: 3,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第十一难度\r\n number: 8,\r\n moveNumber: 3,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第十二难度\r\n number: 8,\r\n moveNumber: 5,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第十三难度\r\n number: 9,\r\n moveNumber: 3,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第十四难度\r\n number: 9,\r\n moveNumber: 5,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第十五难度\r\n number: 10,\r\n moveNumber: 5,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //11 \r\n number: 3,\r\n moveNumber: 0,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //12 \r\n number: 4,\r\n moveNumber: 0,\r\n moveSpeed: 0,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //13 \r\n number: 4,\r\n moveNumber: 1,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //14 \r\n number: 4,\r\n moveNumber: 0,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //15 \r\n number: 4,\r\n moveNumber: 1,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //16 \r\n number: 5,\r\n moveNumber: 1,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //17 \r\n number: 5,\r\n moveNumber: 0,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //18 \r\n number: 5,\r\n moveNumber: 1,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //19 \r\n number: 5,\r\n moveNumber: 2,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //20 \r\n number: 5,\r\n moveNumber: 3,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n }\r\n\r\n ]\r\n }\r\n static Authentication(){\r\n cc.fx.GameTool.Authentication();\r\n }\r\n}\r\n\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\module\\Config\\GameConfig.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\n\r\nconst { ccclass, property } = cc._decorator;\r\n@ccclass('GameConfig')\r\nexport class GameConfig {\r\n //所有控制信息都通过GameAppStart内控制\r\n private static _instance : GameConfig = null;\r\n //用于盛放埋点数据上传,每次上传后清空\r\n static GM_INFO: {\r\n // isEnd: false,\r\n mean_Time: number; //平均放箭速度\r\n total: number; //总共对的个数\r\n currSeed: number; //用于随机数种子\r\n gameId: string; //游戏ID\r\n userId: number; //用户ID\r\n guide: boolean; //是否有引导\r\n url: string; //访问域名\r\n success: boolean; //用户游戏成功与否\r\n matchId: any; //用于埋点上传的ID\r\n custom: number; //用于测试跳关卡\r\n };\r\n static CLICK_DATA: {\r\n type: number; //上传数据类型\r\n success: boolean; //此局游戏胜负 \r\n round: number; //回合数\r\n totalSunCount: number; //太阳总数\r\n movedSunCount: number; //可移动太阳个数\r\n sunSpeed: number; //太阳移动速度\r\n overlapSunCount: number; //重叠太阳个数\r\n colorList: any[]; //太阳颜色数组\r\n duration: number; //每次点击的反应时间\r\n difficultyLevel: number; //此次难度\r\n sunList: any[]; //太阳数组,用于存放太阳类型 0:普通 1:移动 2:重叠\r\n stepTimeList: any[]; //每次点击间隔\r\n remainder: number; //游戏剩余时间\r\n };\r\n static LEVEL_INFO: { //第一难度\r\n number: number; //太阳总数 \r\n moveNumber: number; //太阳可移动个数\r\n moveSpeed: number; //太阳移动速度等级\r\n maxDistance: number; //布局后移动最大距离\r\n maxMove: number; //每个太阳之间距离最大间距\r\n repeat: number; //是否重叠,现在0 不重叠 1 重叠1个\r\n }[];\r\n static GAME_DATA: any[];\r\n\r\n\r\n static get Instance()\r\n {\r\n if (this._instance == null)\r\n {\r\n this._instance = new GameConfig();\r\n }\r\n return this._instance;\r\n }\r\n\r\n static init(){\r\n this.GM_INFO_init();\r\n this.CLICK_init();\r\n this.LEVEL_INFO_init();\r\n var self = this;\r\n cc.resources.load('Json/GM_INFO', (err: any, res: cc.JsonAsset) => {\r\n if (err) {\r\n self.Authentication();\r\n return;\r\n }\r\n let jsonData: object = res.json!;\r\n self.GM_INFO = jsonData[\"data\"];\r\n self.Authentication();\r\n })\r\n cc.resources.load('Json/CLICK_DATA', (err: any, res: cc.JsonAsset) => {\r\n if (err) {\r\n \r\n return;\r\n }\r\n let jsonData: object = res.json!;\r\n self.CLICK_DATA = jsonData[\"data\"];\r\n })\r\n cc.resources.load('Json/LEVEL_INFO', (err: any, res: cc.JsonAsset) => {\r\n if (err) {\r\n return;\r\n }\r\n let jsonData: object = res.json!;\r\n self.LEVEL_INFO = jsonData[\"data\"];\r\n })\r\n\r\n //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次\r\n self.GAME_DATA = [\r\n ]\r\n }\r\n \r\n //数据备用\r\n static GM_INFO_init() {\r\n this.GM_INFO = {\r\n // isEnd: false,\r\n mean_Time: 0, //平均放箭速度\r\n total: 0, //总共对的个数\r\n currSeed: 203213, //用于随机数种子\r\n gameId: '100009', //游戏ID\r\n userId: 0, //用户ID\r\n guide: true, //是否有引导\r\n url: \"http://api.sparkus.cn\",//访问域名\r\n success: false, //用户游戏成功与否\r\n matchId: null, //用于埋点上传的ID\r\n custom: 0 //用于测试跳关卡\r\n };\r\n }\r\n static CLICK_init() {\r\n this.CLICK_DATA =\r\n {\r\n type: 1, //上传数据类型\r\n success: false, //此局游戏胜负 \r\n round: 0, //回合数\r\n totalSunCount: 0, //太阳总数\r\n movedSunCount: 0, //可移动太阳个数\r\n sunSpeed: 0, //太阳移动速度\r\n overlapSunCount: 0, //重叠太阳个数\r\n colorList: [], //太阳颜色数组\r\n duration: 0, //每次点击的反应时间\r\n difficultyLevel: 0, //此次难度\r\n sunList: [], //太阳数组,用于存放太阳类型 0:普通 1:移动 2:重叠\r\n stepTimeList: [], //每次点击间隔\r\n remainder: 120 //游戏剩余时间\r\n }\r\n }\r\n static LEVEL_INFO_init() {\r\n this.LEVEL_INFO = [\r\n { //第一难度\r\n number: 3, //太阳总数 \r\n moveNumber: 0, //太阳可移动个数\r\n moveSpeed: 0, //太阳移动速度等级\r\n maxDistance: 200, //布局后移动最大距离\r\n maxMove: 1200, //每个太阳之间距离最大间距\r\n repeat: 0 //是否重叠,现在0 不重叠 1 重叠1个\r\n },\r\n { //第二难度\r\n number: 4,\r\n moveNumber: 0,\r\n moveSpeed: 0,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第三难度\r\n number: 4,\r\n moveNumber: 0,\r\n moveSpeed: 0,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第四难度\r\n number: 5,\r\n moveNumber: 1,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第五难度\r\n number: 5,\r\n moveNumber: 0,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第六难度\r\n number: 6,\r\n moveNumber: 0,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第七难度\r\n number: 6,\r\n moveNumber: 3,\r\n moveSpeed: 4,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第八难度\r\n number: 7,\r\n moveNumber: 0,\r\n moveSpeed: 4,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第九难度\r\n number: 7,\r\n moveNumber: 3,\r\n moveSpeed: 4,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第十难度\r\n number: 7,\r\n moveNumber: 3,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第十一难度\r\n number: 8,\r\n moveNumber: 3,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第十二难度\r\n number: 8,\r\n moveNumber: 5,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第十三难度\r\n number: 9,\r\n moveNumber: 3,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //第十四难度\r\n number: 9,\r\n moveNumber: 5,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //第十五难度\r\n number: 10,\r\n moveNumber: 5,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //11 \r\n number: 3,\r\n moveNumber: 0,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //12 \r\n number: 4,\r\n moveNumber: 0,\r\n moveSpeed: 0,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //13 \r\n number: 4,\r\n moveNumber: 1,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //14 \r\n number: 4,\r\n moveNumber: 0,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //15 \r\n number: 4,\r\n moveNumber: 1,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //16 \r\n number: 5,\r\n moveNumber: 1,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 0\r\n },\r\n { //17 \r\n number: 5,\r\n moveNumber: 0,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //18 \r\n number: 5,\r\n moveNumber: 1,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //19 \r\n number: 5,\r\n moveNumber: 2,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n },\r\n { //20 \r\n number: 5,\r\n moveNumber: 3,\r\n moveSpeed: 6,\r\n maxDistance: 200,\r\n maxMove: 1200,\r\n repeat: 1\r\n }\r\n\r\n ]\r\n }\r\n static Authentication(){\r\n cc.fx.GameTool.Authentication();\r\n }\r\n}\r\n\r\n"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/module/Tool/GameTool.js b/temp/quick-scripts/src/assets/Script/module/Tool/GameTool.js index d4c06de..d7dd64c 100644 --- a/temp/quick-scripts/src/assets/Script/module/Tool/GameTool.js +++ b/temp/quick-scripts/src/assets/Script/module/Tool/GameTool.js @@ -37,7 +37,7 @@ var GameTool = { "matchId": matchId, "data": data }; - // console.log("上传数据:") + console.log("上传数据:", postData); cc.fx.HttpUtil.uploadUserLogData(postData, function () { }); }, //上传排行榜 type为1 diff --git a/temp/quick-scripts/src/assets/Script/module/Tool/GameTool.js.map b/temp/quick-scripts/src/assets/Script/module/Tool/GameTool.js.map index d6b6756..de91614 100644 --- a/temp/quick-scripts/src/assets/Script/module/Tool/GameTool.js.map +++ b/temp/quick-scripts/src/assets/Script/module/Tool/GameTool.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\module\\Tool\\GameTool.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\n//最大工具类 各种公共方法,以及处理上传,获取后端接口数据\r\nvar GameTool = {\r\n _startTime: 0,\r\n _endTime: 0,\r\n _totalTime: 0,\r\n //获取userId\r\n Authentication(){\r\n let name = \"user_\" + cc.fx.GameConfig.GM_INFO.gameId;\r\n var data = JSON.parse(localStorage.getItem(name));\r\n if(data == \"undifend\" || data==null || data == \"\"){\r\n let url = \"http://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=\"+location.href;\r\n window.location.href = url;\r\n }\r\n else{\r\n cc.fx.StorageMessage.setStorage(name,data);\r\n cc.fx.GameConfig.GM_INFO.userId = parseInt(data.userId);\r\n }\r\n },\r\n\r\n //埋点上传\r\n setGameData(){\r\n //GAME_DATA 初始化 每次清零\r\n cc.fx.GameConfig.GAME_DATA = [];\r\n cc.fx.GameConfig.GAME_DATA.push(cc.fx.GameConfig.CLICK_DATA);\r\n cc.fx.GameConfig.CLICK_init();\r\n let data = cc.fx.GameConfig.GAME_DATA;\r\n let matchId = this.getMatchId();\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"matchId\":matchId,\r\n \"data\": data\r\n };\r\n\r\n // console.log(\"上传数据:\")\r\n cc.fx.HttpUtil.uploadUserLogData(postData,function(){})\r\n },\r\n //上传排行榜 type为1\r\n setRank(data){\r\n //GAME_DATA 初始化 每次清零\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"type\":1,\r\n \"reactionTime\": data,\r\n \"totalSunCount\": cc.fx.GameConfig.GM_INFO.total,\r\n \"success\": cc.fx.GameConfig.GM_INFO.success\r\n };\r\n cc.fx.HttpUtil.rankData(1,function(){},postData);\r\n },\r\n //获取排行榜 type为2\r\n getRank(data,callback){\r\n let rankLength = data.length;\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"page\":1,\r\n \"pageSize\":rankLength\r\n }; \r\n //回调进getRankData\r\n cc.fx.HttpUtil.rankData(2,data =>{callback(data)},postData);\r\n },\r\n //获取matchId 用于上传每次点击数据里面记录id方便查询\r\n getMatchId (){\r\n let matchId = cc.sys.localStorage.getItem(\"matchId\");\r\n if(matchId == \"undifend\" || matchId==null){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n if(this.containsNanana(matchId) == true){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n let char = parseInt(matchId[10]);\r\n if(this.level == 1){\r\n char += 1;\r\n }\r\n matchId = matchId.slice(0, 10) + char + \"\";\r\n cc.fx.GameConfig.GM_INFO.matchId = matchId;\r\n cc.sys.localStorage.setItem(\"matchId\",matchId);\r\n }\r\n }\r\n return matchId;\r\n },\r\n //检测matchId 如果有缓存以前的nanana数据清除\r\n containsNanana(str) {\r\n return /na/i.test(str);\r\n },\r\n //重新设置MatchId\r\n setMatchId (){\r\n // 定义包含可用字符的字符集\r\n const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\r\n // 创建一个数组以保存随机字符\r\n const uuidArray = [];\r\n // 循环10次 生成10位的UUID\r\n for (let i = 0; i < 10; i++) {\r\n // 生成随机索引,范围是字符集的长度\r\n const randomIndex = Math.floor(Math.random() * characters.length);\r\n // 从字符集中获取随机字符\r\n const randomChar = characters.charAt(randomIndex);\r\n // 将字符添加到数组中\r\n uuidArray.push(randomChar);\r\n }\r\n let data = uuidArray.join('') + 1 + \"\";\r\n cc.sys.localStorage.setItem(\"matchNumber\",1);\r\n cc.sys.localStorage.setItem(\"matchId\",data);\r\n cc.fx.GameConfig.GM_INFO.matchId = data;\r\n return data;\r\n },\r\n //截取名字\r\n subName(name,length){\r\n if(name.length > length){\r\n name = name.substring(0,length) + \"...\"\r\n }\r\n return name;\r\n },\r\n //设置头像\r\n setPic(node,pic){\r\n node.active = false;\r\n let url = pic;\r\n setTimeout(() => {\r\n fetch(url)\r\n .then(response => {\r\n return response.headers.get('Content-Length');\r\n })\r\n .then(errNo => {\r\n if(errNo == \"5093\"){\r\n node.active = true;\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error fetching X-Info:', error);\r\n });\r\n }, 100);\r\n cc.assetManager.loadRemote(url, {ext:'.jpg'},(err, texture:cc.Texture2D) => {\r\n if(texture){\r\n node.active = true;\r\n node.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture);\r\n }\r\n else{\r\n console.log(err,texture)\r\n }\r\n })\r\n },\r\n //第一个参数把目标带进来处理,第二个参数为名字长度,不同场景不同需求\r\n //名字4短,小排行,名字6长,大排行\r\n getRankData(data,target,nameLength){\r\n target.listData = data.data.list;\r\n target.selfData = data.data.info;\r\n let rankData = [];\r\n let self = false;\r\n cc.fx.GameTool.setPic(target.selfNode.getChildByName(\"pic\").getChildByName(\"icon\"),target.selfData.pic);\r\n for(let i=0;i<=target.listData.length-1;i++){\r\n rankData.push({rank:(i+1), name:target.listData[i].nickName, total:target.listData[i].totalSunCount, pic:target.listData[i].pic});\r\n if(cc.fx.GameConfig.GM_INFO.userId == target.listData[i].userId){\r\n self = true;\r\n target.rankNumber = i;\r\n target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string =(i+1) + \"\"; \r\n }\r\n if(i == (target.listData.length-1) && self == false){\r\n target.rankNumber = i;\r\n target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string = \"99+\"; \r\n }\r\n }\r\n cc.fx.GameTool.subName(target.selfData.nickName,nameLength);\r\n target.selfNode.getChildByName(\"nameLab\").getComponent(cc.Label).string = target.selfData.nickName;\r\n target.selfNode.getChildByName(\"totalLab\").getComponent(cc.Label).string = target.selfData.totalSunCount;\r\n switch(target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string){\r\n case \"1\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"one\").active = true;\r\n break;\r\n case \"2\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"two\").active = true;\r\n break;\r\n case \"3\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"three\").active = true;\r\n break;\r\n\r\n }\r\n // 大排行\r\n if(nameLength == 6){\r\n target.rankList.setData(rankData);\r\n target.selfNode.opacity = 255;\r\n if(target.selfData.totalSunCount == 0) target.selfNode.opacity = 0;\r\n }\r\n },\r\n\r\n getSetScreenResolutionFlag: function () {\r\n let size = cc.winSize;\r\n let width = size.width;\r\n let height = size.height;\r\n if ((height / width) > (16.2 / 9)) return false;\r\n return true;\r\n },\r\n //判断全面屏适配\r\n setFit: function (canvas) {\r\n let flag = cc.fx.GameTool.getSetScreenResolutionFlag();\r\n if (flag) {\r\n \t// console.log(\"不是全面屏\");\r\n } else {\r\n \t// console.log(\"是全面屏\");\r\n }\r\n return flag;\r\n },\r\n //获取游戏信息\r\n getGameInfo: function(node){\r\n var jg = false;\r\n return jg;\r\n },\r\n //设置游戏信息\r\n setGameInfo: function(pd){\r\n \r\n },\r\n //输入秒,返回需要展示时间格式\r\n getTimeMargin:(second) => {\r\n let total = 0;\r\n total = second;\r\n let hour = 0;\r\n hour = parseInt((total / 3600) + \"\");//计算整数小时数\r\n let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数\r\n let min = parseInt((afterHour / 60)+\"\");//计算整数分\r\n let m = \"\" + min; \r\n if(min < 10) m = \"0\"+min;\r\n let afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数\r\n let miao = afterMin + \"\";\r\n if(afterMin < 10) miao = \"0\" + afterMin;\r\n return m + ':' + miao\r\n },\r\n\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = new Date().getTime();\r\n return timestamp;\r\n },\r\n pushLister:function () {\r\n \r\n },\r\n removeAllLister:function () {\r\n \r\n },\r\n\r\n};\r\nexport { GameTool };"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\module\\Tool\\GameTool.ts"],"names":[],"mappings":";;;;;;;AACA,+BAA+B;AAC/B,IAAI,QAAQ,GAAG;IACX,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,CAAC;IACb,UAAU;IACV,cAAc;QACV,IAAI,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;QACrD,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,IAAG,IAAI,IAAI,UAAU,IAAI,IAAI,IAAE,IAAI,IAAI,IAAI,IAAI,EAAE,EAAC;YAC9C,IAAI,GAAG,GAAG,6EAA6E,GAAC,QAAQ,CAAC,IAAI,CAAC;YACtG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;SAC9B;aACG;YACA,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAC,IAAI,CAAC,CAAC;YAC3C,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC3D;IACL,CAAC;IAED,MAAM;IACN,WAAW;QACP,oBAAoB;QACpB,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,GAAG,EAAE,CAAC;QAChC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC7D,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAC9B,IAAI,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,IAAI,QAAQ,GAAG;YACX,QAAQ,EAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM;YACxC,QAAQ,EAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM;YACxC,SAAS,EAAC,OAAO;YACjB,MAAM,EAAE,IAAI;SACf,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,QAAQ,CAAC,CAAC;QAC9B,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAC,cAAW,CAAC,CAAC,CAAA;IAC3D,CAAC;IACD,eAAe;IACf,OAAO,YAAC,IAAI;QACR,oBAAoB;QACpB,IAAI,QAAQ,GAAG;YACX,QAAQ,EAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM;YACxC,QAAQ,EAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM;YACxC,MAAM,EAAC,CAAC;YACR,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK;YAC/C,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO;SAC9C,CAAC;QACF,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAC,cAAW,CAAC,EAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IACD,cAAc;IACd,OAAO,YAAC,IAAI,EAAC,QAAQ;QACjB,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,QAAQ,GAAG;YACX,QAAQ,EAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM;YACxC,QAAQ,EAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM;YACxC,MAAM,EAAC,CAAC;YACR,UAAU,EAAC,UAAU;SACxB,CAAC;QACF,gBAAgB;QAChB,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAC,UAAA,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAA,CAAA,CAAC,EAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IACD,iCAAiC;IACjC,UAAU;QACN,IAAI,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrD,IAAG,OAAO,IAAI,UAAU,IAAI,OAAO,IAAE,IAAI,EAAC;YACtC,OAAO,GAAI,IAAI,CAAC,UAAU,EAAE,CAAC;SAChC;aACG;YACA,IAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,IAAI,EAAC;gBACpC,OAAO,GAAI,IAAI,CAAC,UAAU,EAAE,CAAC;aAChC;iBACG;gBACA,IAAI,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjC,IAAG,IAAI,CAAC,KAAK,IAAI,CAAC,EAAC;oBACf,IAAI,IAAI,CAAC,CAAC;iBACb;gBACD,OAAO,GAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;gBAC5C,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC3C,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAC,OAAO,CAAC,CAAC;aAClD;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,8BAA8B;IAC9B,cAAc,YAAC,GAAG;QACd,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IACD,aAAa;IACb,UAAU;QACN,eAAe;QACf,IAAM,UAAU,GAAG,gEAAgE,CAAC;QACpF,gBAAgB;QAChB,IAAM,SAAS,GAAG,EAAE,CAAC;QACrB,mBAAmB;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YACrB,mBAAmB;YACvB,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YAClE,cAAc;YACd,IAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAClD,YAAY;YACZ,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC9B;QACD,IAAI,IAAI,GAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACxC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,EAAC,CAAC,CAAC,CAAC;QAC7C,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAC,IAAI,CAAC,CAAC;QAC5C,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACxC,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM;IACN,OAAO,YAAC,IAAI,EAAC,MAAM;QACf,IAAG,IAAI,CAAC,MAAM,GAAG,MAAM,EAAC;YACpB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAC,MAAM,CAAC,GAAG,KAAK,CAAA;SAC1C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM;IACN,MAAM,EAAN,UAAO,IAAI,EAAC,GAAG;QACX,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,GAAG,GAAG,GAAG,CAAC;QACd,UAAU,CAAC;YACP,KAAK,CAAC,GAAG,CAAC;iBACT,IAAI,CAAC,UAAA,QAAQ;gBACV,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAClD,CAAC,CAAC;iBACD,IAAI,CAAC,UAAA,KAAK;gBACP,IAAG,KAAK,IAAI,MAAM,EAAC;oBACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;iBACtB;YACL,CAAC,CAAC;iBACD,KAAK,CAAC,UAAA,KAAK;gBACR,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,EAAC,GAAG,EAAC,MAAM,EAAC,EAAC,UAAC,GAAG,EAAE,OAAoB;YACnE,IAAG,OAAO,EAAC;gBACP,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;aAC1E;iBACG;gBACA,OAAO,CAAC,GAAG,CAAC,GAAG,EAAC,OAAO,CAAC,CAAA;aAC3B;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IACD,mCAAmC;IACnC,mBAAmB;IACnB,WAAW,YAAC,IAAI,EAAC,MAAM,EAAC,UAAU;QAC9B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACjC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACjC,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,IAAI,GAAG,KAAK,CAAC;QAChB,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,EAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACzG,KAAI,IAAI,CAAC,GAAC,CAAC,EAAC,CAAC,IAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAC,CAAC,EAAC,CAAC,EAAE,EAAC;YACxC,QAAQ,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC,GAAC,CAAC,CAAC,EAAE,IAAI,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,GAAG,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,EAAC,CAAC,CAAC;YAClI,IAAG,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAC;gBAC5D,IAAI,GAAG,IAAI,CAAC;gBACZ,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;gBACtB,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,GAAE,CAAC,CAAC,GAAC,CAAC,CAAC,GAAG,EAAE,CAAC;aACvF;YACD,IAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAC,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,EAAC;gBAChD,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;gBACtB,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;aACnF;SACJ;QACA,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAC,UAAU,CAAC,CAAC;QAC7D,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACnG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;QACzG,QAAO,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,EAAC;YAC3E,KAAK,GAAG;gBACJ,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;gBAC3E,MAAM;YACV,KAAK,GAAG;gBACJ,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;gBAC3E,MAAM;YACV,KAAK,GAAG;gBACJ,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;gBAC7E,MAAM;SAEb;QACD,MAAM;QACN,IAAG,UAAU,IAAI,CAAC,EAAC;YACf,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAClC,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC;YAC9B,IAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC;gBAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;SACtE;IACL,CAAC;IAED,0BAA0B,EAAE;QACxB,IAAI,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;QACtB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAChD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,SAAS;IACT,MAAM,EAAE,UAAU,MAAM;QACpB,IAAI,IAAI,GAAI,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,0BAA0B,EAAE,CAAC;QACxD,IAAI,IAAI,EAAE;YACT,wBAAwB;SACxB;aAAM;YACN,uBAAuB;SACvB;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,QAAQ;IACR,WAAW,EAAE,UAAS,IAAI;QACtB,IAAI,EAAE,GAAG,KAAK,CAAC;QACf,OAAO,EAAE,CAAC;IACd,CAAC;IACD,QAAQ;IACR,WAAW,EAAE,UAAS,EAAE;IAExB,CAAC;IACD,gBAAgB;IAChB,aAAa,EAAC,UAAC,MAAM;QACjB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,GAAG,MAAM,CAAC;QACf,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,GAAG,QAAQ,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,SAAS;QAC9C,IAAI,SAAS,GAAG,KAAK,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA,eAAe;QACtD,IAAI,GAAG,GAAG,QAAQ,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,GAAC,EAAE,CAAC,CAAC,CAAA,OAAO;QAC/C,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QACjB,IAAG,GAAG,GAAG,EAAE;YAAE,CAAC,GAAG,GAAG,GAAC,GAAG,CAAC;QACzB,IAAI,QAAQ,GAAG,KAAK,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,CAAA,aAAa;QAC9D,IAAI,IAAI,GAAG,QAAQ,GAAG,EAAE,CAAC;QACzB,IAAG,QAAQ,GAAG,EAAE;YAAE,IAAI,GAAG,GAAG,GAAG,QAAQ,CAAC;QACxC,OAAO,CAAC,GAAG,GAAG,GAAG,IAAI,CAAA;IACzB,CAAC;IAED,OAAO;IACP,OAAO;QACH,IAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACvC,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,UAAU,EAAC;IAEX,CAAC;IACD,eAAe,EAAC;IAEhB,CAAC;CAEJ,CAAC;AACO,4BAAQ","file":"","sourceRoot":"/","sourcesContent":["\r\n//最大工具类 各种公共方法,以及处理上传,获取后端接口数据\r\nvar GameTool = {\r\n _startTime: 0,\r\n _endTime: 0,\r\n _totalTime: 0,\r\n //获取userId\r\n Authentication(){\r\n let name = \"user_\" + cc.fx.GameConfig.GM_INFO.gameId;\r\n var data = JSON.parse(localStorage.getItem(name));\r\n if(data == \"undifend\" || data==null || data == \"\"){\r\n let url = \"http://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=\"+location.href;\r\n window.location.href = url;\r\n }\r\n else{\r\n cc.fx.StorageMessage.setStorage(name,data);\r\n cc.fx.GameConfig.GM_INFO.userId = parseInt(data.userId);\r\n }\r\n },\r\n\r\n //埋点上传\r\n setGameData(){\r\n //GAME_DATA 初始化 每次清零\r\n cc.fx.GameConfig.GAME_DATA = [];\r\n cc.fx.GameConfig.GAME_DATA.push(cc.fx.GameConfig.CLICK_DATA);\r\n cc.fx.GameConfig.CLICK_init();\r\n let data = cc.fx.GameConfig.GAME_DATA;\r\n let matchId = this.getMatchId();\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"matchId\":matchId,\r\n \"data\": data\r\n };\r\n\r\n console.log(\"上传数据:\",postData);\r\n cc.fx.HttpUtil.uploadUserLogData(postData,function(){})\r\n },\r\n //上传排行榜 type为1\r\n setRank(data){\r\n //GAME_DATA 初始化 每次清零\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"type\":1,\r\n \"reactionTime\": data,\r\n \"totalSunCount\": cc.fx.GameConfig.GM_INFO.total,\r\n \"success\": cc.fx.GameConfig.GM_INFO.success\r\n };\r\n cc.fx.HttpUtil.rankData(1,function(){},postData);\r\n },\r\n //获取排行榜 type为2\r\n getRank(data,callback){\r\n let rankLength = data.length;\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"page\":1,\r\n \"pageSize\":rankLength\r\n }; \r\n //回调进getRankData\r\n cc.fx.HttpUtil.rankData(2,data =>{callback(data)},postData);\r\n },\r\n //获取matchId 用于上传每次点击数据里面记录id方便查询\r\n getMatchId (){\r\n let matchId = cc.sys.localStorage.getItem(\"matchId\");\r\n if(matchId == \"undifend\" || matchId==null){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n if(this.containsNanana(matchId) == true){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n let char = parseInt(matchId[10]);\r\n if(this.level == 1){\r\n char += 1;\r\n }\r\n matchId = matchId.slice(0, 10) + char + \"\";\r\n cc.fx.GameConfig.GM_INFO.matchId = matchId;\r\n cc.sys.localStorage.setItem(\"matchId\",matchId);\r\n }\r\n }\r\n return matchId;\r\n },\r\n //检测matchId 如果有缓存以前的nanana数据清除\r\n containsNanana(str) {\r\n return /na/i.test(str);\r\n },\r\n //重新设置MatchId\r\n setMatchId (){\r\n // 定义包含可用字符的字符集\r\n const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\r\n // 创建一个数组以保存随机字符\r\n const uuidArray = [];\r\n // 循环10次 生成10位的UUID\r\n for (let i = 0; i < 10; i++) {\r\n // 生成随机索引,范围是字符集的长度\r\n const randomIndex = Math.floor(Math.random() * characters.length);\r\n // 从字符集中获取随机字符\r\n const randomChar = characters.charAt(randomIndex);\r\n // 将字符添加到数组中\r\n uuidArray.push(randomChar);\r\n }\r\n let data = uuidArray.join('') + 1 + \"\";\r\n cc.sys.localStorage.setItem(\"matchNumber\",1);\r\n cc.sys.localStorage.setItem(\"matchId\",data);\r\n cc.fx.GameConfig.GM_INFO.matchId = data;\r\n return data;\r\n },\r\n //截取名字\r\n subName(name,length){\r\n if(name.length > length){\r\n name = name.substring(0,length) + \"...\"\r\n }\r\n return name;\r\n },\r\n //设置头像\r\n setPic(node,pic){\r\n node.active = false;\r\n let url = pic;\r\n setTimeout(() => {\r\n fetch(url)\r\n .then(response => {\r\n return response.headers.get('Content-Length');\r\n })\r\n .then(errNo => {\r\n if(errNo == \"5093\"){\r\n node.active = true;\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error fetching X-Info:', error);\r\n });\r\n }, 100);\r\n cc.assetManager.loadRemote(url, {ext:'.jpg'},(err, texture:cc.Texture2D) => {\r\n if(texture){\r\n node.active = true;\r\n node.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture);\r\n }\r\n else{\r\n console.log(err,texture)\r\n }\r\n })\r\n },\r\n //第一个参数把目标带进来处理,第二个参数为名字长度,不同场景不同需求\r\n //名字4短,小排行,名字6长,大排行\r\n getRankData(data,target,nameLength){\r\n target.listData = data.data.list;\r\n target.selfData = data.data.info;\r\n let rankData = [];\r\n let self = false;\r\n cc.fx.GameTool.setPic(target.selfNode.getChildByName(\"pic\").getChildByName(\"icon\"),target.selfData.pic);\r\n for(let i=0;i<=target.listData.length-1;i++){\r\n rankData.push({rank:(i+1), name:target.listData[i].nickName, total:target.listData[i].totalSunCount, pic:target.listData[i].pic});\r\n if(cc.fx.GameConfig.GM_INFO.userId == target.listData[i].userId){\r\n self = true;\r\n target.rankNumber = i;\r\n target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string =(i+1) + \"\"; \r\n }\r\n if(i == (target.listData.length-1) && self == false){\r\n target.rankNumber = i;\r\n target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string = \"99+\"; \r\n }\r\n }\r\n cc.fx.GameTool.subName(target.selfData.nickName,nameLength);\r\n target.selfNode.getChildByName(\"nameLab\").getComponent(cc.Label).string = target.selfData.nickName;\r\n target.selfNode.getChildByName(\"totalLab\").getComponent(cc.Label).string = target.selfData.totalSunCount;\r\n switch(target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string){\r\n case \"1\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"one\").active = true;\r\n break;\r\n case \"2\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"two\").active = true;\r\n break;\r\n case \"3\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"three\").active = true;\r\n break;\r\n\r\n }\r\n // 大排行\r\n if(nameLength == 6){\r\n target.rankList.setData(rankData);\r\n target.selfNode.opacity = 255;\r\n if(target.selfData.totalSunCount == 0) target.selfNode.opacity = 0;\r\n }\r\n },\r\n\r\n getSetScreenResolutionFlag: function () {\r\n let size = cc.winSize;\r\n let width = size.width;\r\n let height = size.height;\r\n if ((height / width) > (16.2 / 9)) return false;\r\n return true;\r\n },\r\n //判断全面屏适配\r\n setFit: function (canvas) {\r\n let flag = cc.fx.GameTool.getSetScreenResolutionFlag();\r\n if (flag) {\r\n \t// console.log(\"不是全面屏\");\r\n } else {\r\n \t// console.log(\"是全面屏\");\r\n }\r\n return flag;\r\n },\r\n //获取游戏信息\r\n getGameInfo: function(node){\r\n var jg = false;\r\n return jg;\r\n },\r\n //设置游戏信息\r\n setGameInfo: function(pd){\r\n \r\n },\r\n //输入秒,返回需要展示时间格式\r\n getTimeMargin:(second) => {\r\n let total = 0;\r\n total = second;\r\n let hour = 0;\r\n hour = parseInt((total / 3600) + \"\");//计算整数小时数\r\n let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数\r\n let min = parseInt((afterHour / 60)+\"\");//计算整数分\r\n let m = \"\" + min; \r\n if(min < 10) m = \"0\"+min;\r\n let afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数\r\n let miao = afterMin + \"\";\r\n if(afterMin < 10) miao = \"0\" + afterMin;\r\n return m + ':' + miao\r\n },\r\n\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = new Date().getTime();\r\n return timestamp;\r\n },\r\n pushLister:function () {\r\n \r\n },\r\n removeAllLister:function () {\r\n \r\n },\r\n\r\n};\r\nexport { GameTool };"]} \ No newline at end of file