From 6b02b8652660258c940f9e8a0f2d2ea26ab6963d Mon Sep 17 00:00:00 2001 From: "YZ\\249929363" <249929363@qq.com> Date: Tue, 10 Dec 2024 16:11:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=B8=B8=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/Script/GameManager.ts | 22 +- assets/Script/GameOver.ts | 5 +- assets/Script/Sun.ts | 19 +- assets/Script/module/Config/GameConfig.ts | 96 +- assets/prefab/qiu4.prefab | 2 +- assets/resources/Json/CLICK_DATA.json | 3 +- build-templates/web-mobile/index.html | 238 +- build-templates/web-mobile/main.js | 21 +- build/SunMoves.zip | Bin 1893170 -> 1964248 bytes .../{config.57d1e.json => config.ecbbc.json} | 2 +- ...3c1ca4.1b0a3.json => 05f3c1ca4.2cb7c.json} | 2 +- build/SunMoves/assets/main/index.57d1e.js | 1 - build/SunMoves/assets/main/index.ecbbc.js | 1 + .../{config.2d635.json => config.a8f46.json} | 2 +- ...63-4f2f-467d-9c55-0a889d5533a8.92a06.json} | 2 +- .../{index.2d635.js => index.a8f46.js} | 0 ...s-min.bb976.js => cocos2d-js-min.2e4d7.js} | 2 +- build/SunMoves/index.html | 244 +- .../SunMoves/{main.a4f77.js => main.64c65.js} | 25 +- .../{settings.9a03e.js => settings.d5bf7.js} | 2 +- .../4be67b1d-91ec-42ca-a2e5-d0d1ddf4dd5f.js | 19 +- ...be67b1d-91ec-42ca-a2e5-d0d1ddf4dd5f.js.map | 2 +- .../7290c680-dfdc-4c59-9736-a614cc2a8bcf.js | 5 + ...290c680-dfdc-4c59-9736-a614cc2a8bcf.js.map | 2 +- .../805c69df-dfdf-4759-97ae-5a7341f424c7.js | 5 +- ...05c69df-dfdf-4759-97ae-5a7341f424c7.js.map | 2 +- .../b0432040-dbde-438c-839c-ba2b5d18a3b5.js | 17 +- ...0432040-dbde-438c-839c-ba2b5d18a3b5.js.map | 2 +- .../c5692be7-8703-45e4-9f67-23b54d290356.js | 46 +- ...5692be7-8703-45e4-9f67-23b54d290356.js.map | 2 +- .../d1323772-4ab2-4527-bd20-501fe4fb9723.json | 2 +- .../e1d57e63-4f2f-467d-9c55-0a889d5533a8.json | 3 +- library/uuid-to-mtime.json | 262 +- local/layout.editor.json | 28 +- local/local.json | 14 +- local/node-tree-state.json | 7 +- settings/project.json | 2 +- temp/BackupAssets/assets/prefab/qiu4.prefab | 2 +- temp/quick-scripts/dst/__file_stats__.json | 2 +- temp/quick-scripts/dst/__qc_bundle__.js | 3314 +++++++++-------- temp/quick-scripts/dst/__quick_compile__.js | 2 +- .../dst/assets/Script/GameManager.js | 19 +- .../dst/assets/Script/GameOver.js | 7 +- temp/quick-scripts/dst/assets/Script/Sun.js | 21 +- .../assets/Script/module/Config/GameConfig.js | 48 +- .../dst/assets/Script/module/Share/share.js | 7 +- .../src/assets/Script/GameManager.js | 17 +- .../src/assets/Script/GameOver.js | 5 +- .../src/assets/Script/GameOver.js.map | 2 +- temp/quick-scripts/src/assets/Script/Sun.js | 19 +- .../assets/Script/module/Config/GameConfig.js | 46 +- .../Script/module/Config/GameConfig.js.map | 2 +- .../src/assets/Script/module/Share/share.js | 5 + .../assets/Script/module/Share/share.js.map | 2 +- 54 files changed, 2453 insertions(+), 2176 deletions(-) rename build/SunMoves/assets/main/{config.57d1e.json => config.ecbbc.json} (96%) rename build/SunMoves/assets/main/import/05/{05f3c1ca4.1b0a3.json => 05f3c1ca4.2cb7c.json} (98%) delete mode 100644 build/SunMoves/assets/main/index.57d1e.js create mode 100644 build/SunMoves/assets/main/index.ecbbc.js rename build/SunMoves/assets/resources/{config.2d635.json => config.a8f46.json} (97%) rename build/SunMoves/assets/resources/import/e1/{e1d57e63-4f2f-467d-9c55-0a889d5533a8.34d4f.json => e1d57e63-4f2f-467d-9c55-0a889d5533a8.92a06.json} (83%) rename build/SunMoves/assets/resources/{index.2d635.js => index.a8f46.js} (100%) rename build/SunMoves/{cocos2d-js-min.bb976.js => cocos2d-js-min.2e4d7.js} (61%) rename build/SunMoves/{main.a4f77.js => main.64c65.js} (83%) rename build/SunMoves/src/{settings.9a03e.js => settings.d5bf7.js} (81%) diff --git a/assets/Script/GameManager.ts b/assets/Script/GameManager.ts index bca68eb..1f0773a 100644 --- a/assets/Script/GameManager.ts +++ b/assets/Script/GameManager.ts @@ -227,6 +227,7 @@ export default class GameManager extends cc.Component { this.ball_Array[k].removeFromParent(); this.ball_Array[k] = null; } + cc.fx.GameConfig.GM_INFO.gap = []; } //点击太阳执行方法 clickSun(data){ @@ -235,7 +236,8 @@ export default class GameManager extends cc.Component { let clickTime = cc.fx.GameTool.getTime(); this.time_Array.push((clickTime - this.timeStart)) this.timeStart = cc.fx.GameTool.getTime(); - if(data == this.clickNow){ + + if(data.id == this.clickNow){ cc.fx.AudioManager._instance.playAudioButton(); if(this.clickNow > 0){ this.createLine(cc.v2(this.ball_Array[this.clickNow-1].x,this.ball_Array[this.clickNow-1].y), @@ -243,6 +245,7 @@ export default class GameManager extends cc.Component { 0.2); } this.clickNow += 1; + cc.fx.GameConfig.GM_INFO.gap.push(data.distance); if(this.ball_Array[this.clickNow-1]) this.ball_Array[this.clickNow-1].getChildByName("guang").active = false; if(this.clickNow == this.now_Array.length){ @@ -271,7 +274,7 @@ export default class GameManager extends cc.Component { } } else{ - for(let m=0 ; m 50){ cc.fx.GameConfig.CLICK_DATA.duration = 50; } + this.setData(); cc.tween(win) .delay(0.4) @@ -327,12 +332,12 @@ export default class GameManager extends cc.Component { } } else{ - this.setLoss(); + this.setLoss(data); } } } //执行失败 - setLoss(){ + setLoss(data){ cc.fx.AudioManager._instance.playWarning(); this.begin = false; this.overTime = cc.fx.GameTool.getTime(); @@ -364,6 +369,7 @@ export default class GameManager extends cc.Component { sunArray.push(0); } } + cc.fx.GameConfig.GM_INFO.gap.push(data.distance); cc.fx.GameConfig.CLICK_DATA = { type:1, @@ -378,11 +384,13 @@ export default class GameManager extends cc.Component { difficultyLevel:this.level, sunList:sunArray, stepTimeList:this.time_Array, - remainder:this.countTime + remainder:this.countTime, + gap:cc.fx.GameConfig.GM_INFO.gap } if(cc.fx.GameConfig.CLICK_DATA.duration > 50){ cc.fx.GameConfig.CLICK_DATA.duration = 50; } + this.setData(); if(this.fuhuo == true){ this.fuhuo = false; @@ -881,7 +889,7 @@ export default class GameManager extends cc.Component { this.begin = false; this.over = true; this.unschedule(this.updateCountDownTime); - this.setLoss(); + this.setLoss({distance:0}); var time = 0; if(this.clickCount > 0) time = parseInt(cc.fx.GameConfig.GM_INFO.mean_Time/this.clickCount + ""); cc.fx.GameConfig.GM_INFO.mean_Time = parseInt(time/100 + ""); diff --git a/assets/Script/GameOver.ts b/assets/Script/GameOver.ts index fe837e5..4d9da76 100644 --- a/assets/Script/GameOver.ts +++ b/assets/Script/GameOver.ts @@ -89,6 +89,9 @@ export default class NewClass extends cc.Component { } //根据内容填充排行榜 setRank(num,data){ + if(!data){ + return; + } var hitNode = null; if(num == 0){ hitNode = this.one; @@ -107,7 +110,7 @@ export default class NewClass extends cc.Component { } if(hitNode){ hitNode.active = true; - cc.fx.GameTool.subName(data.nickName,4); + data.nickName = cc.fx.GameTool.subName(data.nickName,4); hitNode.getChildByName("name").getComponent(cc.Label).string = data.nickName; hitNode.getChildByName("total").getComponent(cc.Label).string = data.totalSunCount; cc.fx.GameTool.setPic(hitNode.getChildByName("pic").getChildByName("icon"),data.pic); diff --git a/assets/Script/Sun.ts b/assets/Script/Sun.ts index b0eceda..cfa69c9 100644 --- a/assets/Script/Sun.ts +++ b/assets/Script/Sun.ts @@ -10,6 +10,7 @@ export default class NewClass extends cc.Component { move:boolean // onLoad () {} start () { + this.node.on(cc.Node.EventType.TOUCH_START, this.clickBtn, this); } //初始化数据 init(_id,color,speed,repeat){ @@ -36,9 +37,16 @@ export default class NewClass extends cc.Component { if(type == true) this.node.getChildByName("number").getComponent(cc.Label).string = this.id_Number + ""; } + //计算两点之间直线距离 + distanceBetweenTwoPoints(x1: number, y1: number, x2: number, y2: number): number { + return Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2); + } //点击事件 clickBtn(event,data){ - if(data === "1"){ + let pos = this.node.convertToNodeSpaceAR(event.getLocation()); + let distance = this.distanceBetweenTwoPoints(pos.x, 0, pos.y, 0); + distance = Math.floor(distance*10)/10; + if(this.node.name != "qiu4"){ if( this.move == false && this.touch == true){ if(this.node.parent.parent.name == "GameNode"){ if(this.node.parent.parent.getComponent("GameManager").begin == true){ @@ -51,13 +59,15 @@ export default class NewClass extends cc.Component { .start(); this.touch = false; this.node.zIndex = -1; - cc.fx.Notifications.emit("clickSun",this.id_Number); + let data = {id:this.id_Number,distance:distance}; + cc.fx.Notifications.emit("clickSun",data); } } else{ this.touch = false; this.node.zIndex = -1; - cc.fx.Notifications.emit("clickSun",this.id_Number); + let data = {id:this.id_Number,distance:distance}; + cc.fx.Notifications.emit("clickSun",data); } } @@ -66,7 +76,8 @@ export default class NewClass extends cc.Component { 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); + let data = {id:this.id_Number,distance:distance}; + cc.fx.Notifications.emit("clickSun",data); } } } diff --git a/assets/Script/module/Config/GameConfig.ts b/assets/Script/module/Config/GameConfig.ts index 05158fd..bf0930f 100644 --- a/assets/Script/module/Config/GameConfig.ts +++ b/assets/Script/module/Config/GameConfig.ts @@ -7,20 +7,16 @@ export class GameConfig { //所有控制信息都通过GameAppStart内控制 private static _instance : GameConfig = null; //用于盛放埋点数据上传,每次上传后清空 - static GM_INFO: { - // isEnd: false, - mean_Time: number; //平均放箭速度 - total: number; //总共对的个数 - currSeed: number; //用于随机数种子 - gameId: string; //游戏ID - userId: number; //用户ID - scode: string; //用户code - guide: boolean; //是否有引导 - url: string; //访问域名 - success: boolean; //用户游戏成功与否 - matchId: any; //用于埋点上传的ID - custom: number; //用于测试跳关卡 - }; + + static LEVEL_INFO: { //第一难度 + number: number; //太阳总数 + moveNumber: number; //太阳可移动个数 + moveSpeed: number; //太阳移动速度等级 + maxDistance: number; //布局后移动最大距离 + maxMove: number; //每个太阳之间距离最大间距 + repeat: number; //是否重叠,现在0 不重叠 1 重叠1个 + }[]; + static GAME_DATA: any[]; static CLICK_DATA: { type: number; //上传数据类型 success: boolean; //此局游戏胜负 @@ -35,16 +31,23 @@ export class GameConfig { sunList: any[]; //太阳数组,用于存放太阳类型 0:普通 1:移动 2:重叠 stepTimeList: any[]; //每次点击间隔 remainder: number; //游戏剩余时间 + gap: any[]; //点击到太阳中心距离 + }; + static GM_INFO: { + // isEnd: false, + mean_Time: number; //平均放箭速度 + total: number; //总共对的个数 + currSeed: number; //用于随机数种子 + gameId: string; //游戏ID + userId: number; //用户ID + scode: string; //用户code,从网页后缀获取 + guide: boolean; //是否有引导 + url: string; //访问域名 + success: boolean; //用户游戏成功与否 + matchId: any; //用于埋点上传的ID + custom: number; //用于测试跳关卡 + gap: any[]; //存储点击到太阳中心距离 }; - static LEVEL_INFO: { //第一难度 - number: number; //太阳总数 - moveNumber: number; //太阳可移动个数 - moveSpeed: number; //太阳移动速度等级 - maxDistance: number; //布局后移动最大距离 - maxMove: number; //每个太阳之间距离最大间距 - repeat: number; //是否重叠,现在0 不重叠 1 重叠1个 - }[]; - static GAME_DATA: any[]; static get Instance() @@ -71,27 +74,27 @@ export class GameConfig { this.LEVEL_INFO_init(); var self = this; - cc.resources.load('Json/GM_INFO', (err: any, res: cc.JsonAsset) => { - if (err) { - WeChat.setShare(location.href); - self.Authentication(); - return; - } - let jsonData: object = res.json!; - self.GM_INFO = jsonData["data"]; - self.setCode(self.getKey("scode")); - WeChat.setShare(location.href); - self.Authentication(); + // cc.resources.load('Json/GM_INFO', (err: any, res: cc.JsonAsset) => { + // if (err) { + // WeChat.setShare(location.href); + // // self.Authentication(); + // return; + // } + // let jsonData: object = res.json!; + // self.GM_INFO = jsonData["data"]; + // self.setCode(self.getKey("scode")); + // WeChat.setShare(location.href); + // // self.Authentication(); - }) - cc.resources.load('Json/CLICK_DATA', (err: any, res: cc.JsonAsset) => { - if (err) { + // }) + // cc.resources.load('Json/CLICK_DATA', (err: any, res: cc.JsonAsset) => { + // if (err) { - return; - } - let jsonData: object = res.json!; - self.CLICK_DATA = jsonData["data"]; - }) + // return; + // } + // let jsonData: object = res.json!; + // self.CLICK_DATA = jsonData["data"]; + // }) cc.resources.load('Json/LEVEL_INFO', (err: any, res: cc.JsonAsset) => { if (err) { return; @@ -119,9 +122,12 @@ export class GameConfig { url: "https://api.sparkus.cn",//访问域名 success: false, //用户游戏成功与否 matchId: null, //用于埋点上传的ID - custom: 0 //用于测试跳关卡 + custom: 0, //用于测试跳关卡 + gap:[] //存储点击到太阳中心距离 }; this.setCode(this.getKey("scode")); + WeChat.setShare(location.href); + this.Authentication(); } static CLICK_init() { this.CLICK_DATA = @@ -138,8 +144,10 @@ export class GameConfig { difficultyLevel: 0, //此次难度 sunList: [], //太阳数组,用于存放太阳类型 0:普通 1:移动 2:重叠 stepTimeList: [], //每次点击间隔 - remainder: 120 //游戏剩余时间 + remainder: 120, //游戏剩余时间 + gap:[] //点击到太阳中心距离 } + } static LEVEL_INFO_init() { this.LEVEL_INFO = [ diff --git a/assets/prefab/qiu4.prefab b/assets/prefab/qiu4.prefab index aa3f1fa..0d24832 100644 --- a/assets/prefab/qiu4.prefab +++ b/assets/prefab/qiu4.prefab @@ -13,7 +13,7 @@ }, { "__type__": "cc.Node", - "_name": "qiu1", + "_name": "qiu4", "_objFlags": 0, "_parent": null, "_children": [ diff --git a/assets/resources/Json/CLICK_DATA.json b/assets/resources/Json/CLICK_DATA.json index c04e75a..ed735e8 100644 --- a/assets/resources/Json/CLICK_DATA.json +++ b/assets/resources/Json/CLICK_DATA.json @@ -13,6 +13,7 @@ "difficultyLevel": 0, "sunList": [], "stepTimeList": [], - "remainder": 120 + "remainder": 120, + "gap":[] } } \ No newline at end of file diff --git a/build-templates/web-mobile/index.html b/build-templates/web-mobile/index.html index c524533..6a256ff 100644 --- a/build-templates/web-mobile/index.html +++ b/build-templates/web-mobile/index.html @@ -4,40 +4,23 @@ - 后裔逐日 - + 思赞 - - - - - - - - - - - - - - - @@ -47,95 +30,164 @@ font-family: 'MyFont'; src: url('data:application/font-woff;charset=utf-8;base64,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Tkcg5byg5paH6b6ZIChib3BvbW9mbyk7IFNhbmRvbGwgQ29tbXVuaWNhdGlvbnMg7IKw64+M7Luk666k64uI7LyA7J207IWYLCBTb29oeXVuIFBBUksg67CV7IiY7ZiELCBZZWppbiBXRSDsnITsmIjsp4QgJiBEb25naG9vbiBIQU4g7ZWc64+Z7ZuIIChoYW5ndWwgZWxlbWVudHMsIGxldHRlcnMgJiBzeWxsYWJsZXMpRHIuIEtlbiBMdW5kZSAocHJvamVjdCBhcmNoaXRlY3QsIGdseXBoIHNldCBkZWZpbml0aW9uICYgb3ZlcmFsbCBwcm9kdWN0aW9uKTsgTWFzYXRha2EgSEFUVE9SSSDmnI3pg6jmraPosrQgKHByb2R1Y3Rpb24gJiBpZGVvZ3JhcGggZWxlbWVudHMpOyBaYWNoYXJ5IFF1aW5uIFNjaGV1cmVuICh2YXJpYWJsZSBmb250ICYgb3ZlcmFsbCBwcm9kdWN0aW9uKWh0dHA6Ly93d3cuYWRvYmUuY29tL3R5cGUvVGhpcyBGb250IFNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBTSUwgT3BlbiBGb250IExpY2Vuc2UsIFZlcnNpb24gMS4xLiBUaGlzIEZvbnQgU29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgU0lMIE9wZW4gRm9udCBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UsIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucyBnb3Zlcm5pbmcgeW91ciB1c2Ugb2YgdGhpcyBGb250IFNvZnR3YXJlLmh0dHA6Ly9zY3JpcHRzLnNpbC5vcmcvT0ZMU291cmNlIEhhbiBTZXJpZiBTQ0hlYXZ5AKkAIAAyADAAMQA3AC0AMgAwADIAMwAgAEEAZABvAGIAZQAgACgAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAZABvAGIAZQAuAGMAbwBtAC8AKQAsACAAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAAJwBTAG8AdQByAGMAZQAnAC4AUwBvAHUAcgBjAGUAIABIAGEAbgAgAFMAZQByAGkAZgAgAFMAQwAgAEgAZQBhAHYAeQBSAGUAZwB1AGwAYQByADIALgAwADAAMgA7AEEARABCAE8AOwBTAG8AdQByAGMAZQBIAGEAbgBTAGUAcgBpAGYAUwBDAC0ASABlAGEAdgB5ADsAQQBEAE8AQgBFAFMAbwB1AHIAYwBlACAASABhAG4AIABTAGUAcgBpAGYAIABTAEMAIABIAGUAYQB2AHkAVgBlAHIAcwBpAG8AbgAgADIALgAwADAAMgA7AGgAbwB0AGMAbwBuAHYAIAAxAC4AMQAuADAAOwBtAGEAawBlAG8AdABmAGUAeABlACAAMgAuADYALgAwAFMAbwB1AHIAYwBlAEgAYQBuAFMAZQByAGkAZgBTAEMALQBIAGUAYQB2AHkAUwBvAHUAcgBjAGUAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABBAGQAbwBiAGUAIABpAG4AIAB0AGgAZQAgAFUAbgBpAHQAZQBkACAAUwB0AGEAdABlAHMAIABhAG4AZAAvAG8AcgAgAG8AdABoAGUAcgAgAGMAbwB1AG4AdAByAGkAZQBzAC4AQQBkAG8AYgBlAFIAeQBvAGsAbwAgAE4ASQBTAEgASQBaAFUASwBBACCJf1habbxbUAAgACgAawBhAG4AYQAgACYAIABpAGQAZQBvAGcAcgBhAHAAaABzACkAOwAgAEYAcgBhAG4AawAgAEcAcgBpAGUA3wBoAGEAbQBtAGUAcgAgACgATABhAHQAaQBuACwAIABHAHIAZQBlAGsAIAAmACAAQwB5AHIAaQBsAGwAaQBjACkAOwAgAFcAZQBuAGwAbwBuAGcAIABaAEgAQQBOAEcAIF8gZYefmQAgACgAYgBvAHAAbwBtAG8AZgBvACkAOwAgAFMAYQBuAGQAbwBsAGwAIABDAG8AbQBtAHUAbgBpAGMAYQB0AGkAbwBuAHMAIMCws8zO5LukssjPAMd0wVgALAAgAFMAbwBvAGgAeQB1AG4AIABQAEEAUgBLACC8FcIY1gQALAAgAFkAZQBqAGkAbgAgAFcARQAgxwTGCMnEACAAJgAgAEQAbwBuAGcAaABvAG8AbgAgAEgAQQBOACDVXLPZ1sgAIAAoAGgAYQBuAGcAdQBsACAAZQBsAGUAbQBlAG4AdABzACwAIABsAGUAdAB0AGUAcgBzACAAJgAgAHMAeQBsAGwAYQBiAGwAZQBzACkARAByAC4AIABLAGUAbgAgAEwAdQBuAGQAZQAgACgAcAByAG8AagBlAGMAdAAgAGEAcgBjAGgAaQB0AGUAYwB0ACwAIABnAGwAeQBwAGgAIABzAGUAdAAgAGQAZQBmAGkAbgBpAHQAaQBvAG4AIAAmACAAbwB2AGUAcgBhAGwAbAAgAHAAcgBvAGQAdQBjAHQAaQBvAG4AKQA7ACAATQBhAHMAYQB0AGEAawBhACAASABBAFQAVABPAFIASQAgZw2Q6GtjjLQAIAAoAHAAcgBvAGQAdQBjAHQAaQBvAG4AIAAmACAAaQBkAGUAbwBnAHIAYQBwAGgAIABlAGwAZQBtAGUAbgB0AHMAKQA7ACAAWgBhAGMAaABhAHIAeQAgAFEAdQBpAG4AbgAgAFMAYwBoAGUAdQByAGUAbgAgACgAdgBhAHIAaQBhAGIAbABlACAAZgBvAG4AdAAgACYAIABvAHYAZQByAGEAbABsACAAcAByAG8AZAB1AGMAdABpAG8AbgApAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBhAGQAbwBiAGUALgBjAG8AbQAvAHQAeQBwAGUALwBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAuACAAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABvAG4AIABhAG4AIAAiAEEAUwAgAEkAUwAiACAAQgBBAFMASQBTACwAIABXAEkAVABIAE8AVQBUACAAVwBBAFIAUgBBAE4AVABJAEUAUwAgAE8AUgAgAEMATwBOAEQASQBUAEkATwBOAFMAIABPAEYAIABBAE4AWQAgAEsASQBOAEQALAAgAGUAaQB0AGgAZQByACAAZQB4AHAAcgBlAHMAcwAgAG8AcgAgAGkAbQBwAGwAaQBlAGQALgAgAFMAZQBlACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAgAGYAbwByACAAdABoAGUAIABzAHAAZQBjAGkAZgBpAGMAIABsAGEAbgBnAHUAYQBnAGUALAAgAHAAZQByAG0AaQBzAHMAaQBvAG4AcwAgAGEAbgBkACAAbABpAG0AaQB0AGEAdABpAG8AbgBzACAAZwBvAHYAZQByAG4AaQBuAGcAIAB5AG8AdQByACAAdQBzAGUAIABvAGYAIAB0AGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAuAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABTAG8AdQByAGMAZQAgAEgAYQBuACAAUwBlAHIAaQBmACAAUwBDAEgAZQBhAHYAeQAAAwAAAAAAAP+1ADIAAAAAAAAAAAAAAAAAAAAAAAAAXg==')format('opentype'); } - body, html { - height: 100%; + body { + background-color: black; margin: 0; - background-color: #000; /* 背景色设置为黑色 */ + font-family: 'MyFont', sans-serif; display: flex; - justify-content: center; + flex-direction: column; align-items: center; - font-family: 'MyFont', serif; + justify-content: center; + min-height: 100vh; + overflow: hidden; + padding: 20px; + box-sizing: border-box; } - .title{ - position: absolute; - color:#fff; - top: 35%; - font-size: 45px; - font-weight: 800; - } - .star-container { - position: absolute; + + .container { + width: 90%; + max-width: 600px; display: flex; - top: 45%; + flex-direction: column; + align-items: center; + position: absolute; + margin-bottom: 100px; } - - .star { + + .progress-container { + width: 100%; + height: 16px; + margin: 20px 0; + position: relative; + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAANCAYAAACHMDjlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Rjc1REI2N0E2ODI0MTFFRkI1RDZCRjJGNkU0OEFGRDciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Rjc1REI2Nzk2ODI0MTFFRkI1RDZCRjJGNkU0OEFGRDciIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4MDQ4RDIwNjY3NzcxMUVGQkE3NUU0QUQwQjVFRDhBMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4MDQ4RDIwNzY3NzcxMUVGQkE3NUU0QUQwQjVFRDhBMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PlFPNlMAAAOoSURBVHja7JxZaBNBHMZncxqzCa30MF5QtWA9qWAftFix4vGkFqVCFaWKoFQ86Ku+VB8VDxRRq6ioKFqPB0HtiydapNSrFeuBZ5seGNsmabs26/9vprpqEiMEm4fvBx/Z3Zmd3TDwfZmdzCq7yvNFItF14bJZTSUupy3PpIgUOhTiwwIAAMD/RCGZQiHd1xHQ7mta6LSiiK5EXsDyD3UXkm6SfDHqDFWd1u0t7YGCq7ffqv5uzSy/BAAAgP+P7nRY+/JzPfnpqY5pXQFtGx1rilGff/TPJF1JZIBsIe0knSctjTLycKiDrVvffOyYdexSQ6a3PaCi7wAAYOCpe96qrlyYMztrmLuXQqScRiLBKFUrSUWkTaQ9f2vXJD9dpMlR6myU4cEsIZ37IzxIlHLrfJ09hZVV9cMQHgAAkDw0tQXUI1X1HvZo9uoIcwr8pOiCDA9mN6ksSnNTSGp/gLhJl0h3SYXi5yMnLtsgGzLCI5AznBk/UkgREyjRis5ea8xs/Rx0oLsAACC5aCNvZo9mrybPHm8oUqWnF/12yj7SesNAg7NhDukO6SIPPLjgEGm2bKSaNE5WXkXaG+VelpEO9OeHw24prXnqHVnb0JqCbgIAgOSEPZq92mGzrDEEw0FScZRT9pNWyO0c0g2ZFRwkB7mBa4bKvN0utx+TXkdp9KsMG8Zlt5rH1jxpcaN7AAAguWGvttvMY0R46oK5TuqLUv0V6Yncbjf4/vfzOECOkdaRTpEWkFpk4UNSAakhQqM8F3JSbvt7tL5XeZMyOtA1AACQ3LBXk2e/ZO+Wh06IyH+OeibC/8iqlfte0lzSadJa0nHjEGa5+HO9xgfSIsNIpFuGx2XjaCTY87Uyb2Lm+6k56Z/RPQAAkJyQR/vYq8mzj4rwk6R+LsoQ6ZH7L6X3f/qtCc6IEtJh3jHFcc0XIjy5fotUKsIz9b8Q0sUzXRdVxfOyW9NTHUF0EwAAJBdp5M3k0V72avbsCFV4mcZqEV7vVyhDJCbmedNHxXNtnxy2PIpUyFPzvVqozq3axo4e4c5sfPfF5g9qNnQZAAAMPEPTBneVLh7v9aQ5q8mbdyjKL6MPIzzfwdMZcT1N+peV6L2xCnlhCt1YRdZwt71s2aSCe3XNLn+3ZhJYiQ4AAAOF7hxk7ZuR6+nMGOK42RXQKmIsIuxHi7dxS4JvtrnTr21OcdlLiudnTzMpIlXgXVgAADAQhN+FpQtfh7/3AXnzqUS/C+ubAAMA3lcWYmzreJUAAAAASUVORK5CYII='); + background-size: 100% 100%; + background-repeat: no-repeat; + background-position: center; + } + + .progress-bar { + margin-left: 4%; + margin-top: 2px; + height: 12px; + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgUAAAAOCAYAAAC/xG/nAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODA0OEQyMDI2Nzc3MTFFRkJBNzVFNEFEMEI1RUQ4QTEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODA0OEQyMDM2Nzc3MTFFRkJBNzVFNEFEMEI1RUQ4QTEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4MDQ4RDIwMDY3NzcxMUVGQkE3NUU0QUQwQjVFRDhBMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4MDQ4RDIwMTY3NzcxMUVGQkE3NUU0QUQwQjVFRDhBMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pm2I2nkAAAn3SURBVHja7F07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'); + background-size: cover; + transition: width 0.5s ease-out; + } + + .progress-icon { + position: absolute; + transform: translate(-50%, -50%); + top: 72.2%; + margin-left: 4%; + z-index: 100; + transition: left 0.5s ease-out; + } + + .progress-icon img { + width: 35px; + height: auto; + } + + .tagClass { + position: absolute; + left: 33%; + width: 30px; + } + + .tagClass img { + width: 100%; + height: auto; + } + + .header-container { position: relative; display: flex; - width: 23px; - height: 45px; - opacity: 0.5; - transform: scale(0.5); - background-image: url('data:image/image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAuCAYAAABJcBuEAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUM0MENGRjkxNUI0MTFFRkE2MDNDQUJCRTk1NEE3Q0UiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUM0MENGRkExNUI0MTFFRkE2MDNDQUJCRTk1NEE3Q0UiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQzQwQ0ZGNzE1QjQxMUVGQTYwM0NBQkJFOTU0QTdDRSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQzQwQ0ZGODE1QjQxMUVGQTYwM0NBQkJFOTU0QTdDRSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoQoElsAAAIYSURBVHjaYvz5OImBAiANxIxA/IRcA5gYKAOSUEw2YKHQAdIU6qc4BNSBWGMgQ0ATmgYGzAGWlEYBJQ4QBmI1JPZbeqcBd2jwM0LZdE+EPjjYdHEADxD7IfH9oGJ0c0AIEHMj8bmhYnRzQB6RYjRxACjBGWIRB4l50NoBIPXteOTbSTWTVAek4PA9DBhA1dDEATJA3EWEui6oWqo6AFRiLgdifiLU8kPVslLTAZOA2IaE0AKpnUgNBzBCgzSTjNwC0tNLqLbE5wB2IJ4NxKUUFNdFQDwHahZJDtAC4iNAnMxAOUiCmqVFjAPkoXF3AYhNGKgHQGZdhJotjxLHwFYxKMEYQ2s0Byo0UgiBv0C8H4i3APFZUAg8hzarHwDxNwbag69Qu0B2PmdE6xfwQVNvBRALUNnij9CiejoQf8KVBkASndAEs5WKlm+FNmA7kS3HlwtA0eILxE1UsLwJatZzUsuB/0BcD8QFFFheADXjPyVFMSjrdJBheQcxxTGxdUEVNNsQCzZD9VCtMgIFYRyueMSSfuLxBTu57YH3QJxPhLp8qFqatIhWA/EhPPL7oWpo2ijFF7c19GgVH4VidHAciI/Rq1+ALXv107Njsgktob2HitHNAT+BeB0Sfx1UjK694y042HQboNgLbVzA2HR3wGcgvoLEHpAxotMDOUYEAtcZBniU7OZAO+AJpWZQ6oCXFGZlBoAAAwDUK2BIc/JCPQAAAABJRU5ErkJggg=='); - animation: twinkle 1s ease-in-out infinite; - } - .star{ - padding-left: 10px; - } - /* 为每颗星星设置不同的动画延迟 */ - .star:nth-child(1) { - - animation-delay: 0s; - } - - .star:nth-child(2) { - - animation-delay: 0.2s; - } - - .star:nth-child(3) { - animation-delay: 0.4s; - } - .star:nth-child(4) { - animation-delay: 0.6s; - } - .star:nth-child(5) { - animation-delay: 0.8s; - } - .star:nth-child(6) { - animation-delay: 1s; - } - - /* 星星闪烁动画 */ - @keyframes twinkle { - 0%, 100% { - opacity: 0.5; - transform: scale(0.5); - } - 50% { - opacity: 1; - transform: scale(1); - } + flex-direction: column; + align-items: center; + margin-bottom: 20px; } - + .header-container img { + width: 100%; + max-width: 200px; + height: auto; + } + .header-container div { + color: white; + font-size: 1rem; + margin-top: 5px; + position: absolute; + bottom: 0px; + } + + @media (max-width: 480px) { + .header-container img { + max-width: 170px; + } + + .tagClass { + width: 20px; + } + + .progress-icon img { + width: 70px; + } + } + +
+
+ Head Icon +
注意力
+
+
+ Tag Icon +
+
+
+
+ Highlight Icon +
+
+
+ -
- - 注意力 -
-
-
-
-
-
-
-
- @@ -266,5 +318,7 @@ })(); + + diff --git a/build-templates/web-mobile/main.js b/build-templates/web-mobile/main.js index eab3e40..82f0072 100644 --- a/build-templates/web-mobile/main.js +++ b/build-templates/web-mobile/main.js @@ -11,13 +11,15 @@ window.boot = function () { var MAIN = cc.AssetManager.BuiltinBundleName.MAIN; function setLoadingDisplay () { // Loading splash scene - var splash = document.getElementById('splash'); - var star = document.getElementById('_star'); + var progressBar = document.getElementById('progress-bar'); + var progressIcon = document.getElementById('progress-icon'); + var progressContainer = document.querySelector('.progress-container'); onProgress = function (finish, total) { }; cc.director.once(cc.Director.EVENT_AFTER_SCENE_LAUNCH, function () { - splash.style.display = 'none'; - star.style.display = 'none'; + progressBar.style.display = 'none'; + progressIcon.style.display = 'none'; + progressContainer.style.display = 'none'; }); } @@ -102,7 +104,16 @@ window.boot = function () { count++; if (count === bundleRoot.length + 1) { cc.assetManager.loadBundle(MAIN, function (err) { - if (!err) cc.game.run(option, onStart); + if (!err){ + let time = 4 - window.progress_Index/3*0.2; + if(time <= 0) cc.game.run(option, onStart); + else{ + window.addSpeed_Index = 3; + setTimeout(() => { + cc.game.run(option, onStart); + }, time*1000/1.5); + } + } }); } } diff --git a/build/SunMoves.zip b/build/SunMoves.zip index 7753aee328a83974aca1556ad87d670d4da8fb40..27cc41b6b274187f00696740e6a60a07e0bbca2e 100644 GIT binary patch delta 237230 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

Sj9F>}MgmI|-_V9(ug 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

1$PeKVpa9&3sYLDs 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ℜ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 HR?z=nD8Q(= delta 164602 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

$E+F{=={ZATmKpG?MhUGYNS(cvN;C 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 z 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 z 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 Vo&uLEe*C)d6hww#no0zi_&@E-INJaK diff --git a/build/SunMoves/assets/main/config.57d1e.json b/build/SunMoves/assets/main/config.ecbbc.json similarity index 96% rename from build/SunMoves/assets/main/config.57d1e.json rename to build/SunMoves/assets/main/config.ecbbc.json index 54219b7..6402e7f 100644 --- a/build/SunMoves/assets/main/config.57d1e.json +++ b/build/SunMoves/assets/main/config.ecbbc.json @@ -1 +1 @@ -{"paths":{},"types":[],"uuids":["a2MjXRFdtLlYQ5ouAFv/+R","14K23Xm1ROrrsGMBKG1Ql4","1fwAIEeM1Nn7i705Pdg5L5","23CIt+PSBBMJopNtpbffXh","29FYIk+N1GYaeWH/q1NxQO","29G9ngwKpNW56EfZdKv0SX","2dL3kvpAxJu6GJ7RdqJG5J","37ND3actNCqZoLzr1NBiTF","46BfYz5xdMnqrgjOetBb8L","48Foz8zQZDfLObHQegvteG","4bnFp+xkVIpJrKXfOBzk71","4er1GLNexCYpKNTUl8Pygw","59MsqY7oZEy71JeUeyyS/Z","61cyPdEfRN047sDK9rO0W5","63m/tYswFOS7sCMuQGQ4kn","651MDCXIFPuZKQK1+nWOzk","71VhFCTINJM6/Ky3oX9nBT","77SCm7Ej5ItpMOaz4CSRUG","8eZObX1ehJkKU3GR/hPgya","93XHrCUNdAwJfBzyLGAOJ5","9cCAYtTPFLbqi6SjiBzH59","adrVhydQhMD7nhiXljhNId","b4P/PCArtIdIH38t6mlw8Y","d3OhOXdm5P4JNse7X8GMGe","d608qFRoFHwbXd0Dap056i","d8HsitJHxOYqo801xBk8ev","e7CzEDg/FMZpCTGJfBpdSu","e8Ueib+qJEhL6mXAHdnwbi","e97GVMl6JHh5Ml5qEDdSGa","eezChet5VG27PW9q3qdOpv","f0BIwQ8D5Ml7nTNQbh1YlS","f7ZJEQGfdJraVAIIAn8NFW","02delMVqdBD70a/HSD99FK","08/X0iIrpGHbKJqlQlA512","0cF7COgzlFRKaDnaVJrOOt","13EQ5PNYdOa4gRDKFsrIFJ","167IfY0HdDyZdtlLDeaDkg","27FeLB8OpGcaDrf9NiEDKz","28Gg0A8X1JHpYnbH9vZIzV","2aJVC/rshLnpvG+lkallqC","2cyTcZvcZP7rjmchhWREEu","3aIyOI2NxPeaHqgvY4W3zi","3fgys9roZKo5OdfZn0T4Fo","432ND8vGNFM4/Pxt+hVLkb","4cuYcoe7tPiIdp6gbSnrvF","4c7tzGCVNKE5yvOmzu4CXt","57X2D8NaxKHZ7D/uwxGBCK","59Sn0ZhhJHf7HX55ZqGeqE","5aBm0rBa9Gxr8lWEiz8nAb","5bsctimnBNw4onIGVsCfsU","5cO7kybDxGj4ipyMYdRYZB","5eUVg3ZQ5FhKCJ4qAl42w5","5f5dyqtRNNxaFmVzYns6FZ","61c+AvZ7lJH4DcNNAnJ//N","6cyjAC9cJDE6x1PK28Td4v","6eoolBkxxPvof0z1pzKU+w","70mY8jP3NKVonyvxI9/f6z","818w6dGPRH+rXb8KDTjDgq","8cv+mgkU9OTIB7sHOwnyZ8","8eo+QfsThNk7a0r8Ilro8q","95AC/gHlpJ64LEYVdSIIPB","95viAf/CZABIBJ7iCjDOU4","99vgruzGRMmJOIRLdPaQYs","9bvaMerUlDyary99mJa6xp","9cBsd3MbFMC56GS/sJnS6r","9c3CkVjW9H27x0Hoq3KNFJ","9e4xLWF9hCBq5CM6vIyvlp","a5+/rf9ZlPEIXTSsUOhw7T","adR/bBScVC/bM24V3TdrfL","adULT7sm1JR6vTV/oW1JIb","bcITWltAtAD4sUjinM7HdJ","c6VxSCRHRB+qS91aK866px","ceNMgtpZhCsKd8anXNKd7b","d1MjdySrJFJ70gUB/k+5cj","d7kiZgBYNPyIwqRjgGX7l0","ddnWn8vDxCOZaOnG9OVNnP","deq5vhWmZCFJ97k3T54cZ0","e82yVDavlBc6NpbK/tA6Dr","ecpdLyjvZBwrvm+cedCcQy","f1O5RoDlhGrI6+/w3NObrX"],"scenes":{"db://assets/Scene/GameScene.fire":11,"db://assets/Scene/GuideScene.fire":17,"db://assets/Scene/LoadScene.fire":20,"db://assets/Scene/OverScene.fire":10,"db://assets/Scene/RankScene.fire":6},"redirect":[32,0,33,1,34,1,36,1,37,1,39,1,40,1,43,1,48,1,49,1,53,1,54,1,56,1,58,1,59,1,60,1,61,1,62,1,64,1,66,1,67,1,69,1,70,1,71,1,72,1,74,1,76,1,78,0,79,1],"deps":["internal","resources"],"packs":{"01587c953":[3,4,18,20,0,26,77,28,30],"05f3c1ca4":[7,17,0,73,23],"0792a0dcc":[2,5,8,9,12,13,14,15,16,19,21,22,24,25,27,29,31],"0c3c65793":[1,10,46,65],"0cd1ec7f1":[55,75],"0d7de01d8":[35,38,4,7,41,42,44,45,11,51,57,0,23,28,30],"0e0598680":[1,6,47,50,52,63,68]},"name":"main","importBase":"import","nativeBase":"native","debug":false,"isZip":false,"encrypted":false,"versions":{"import":["01587c953","f064d","05f3c1ca4","1b0a3","0792a0dcc","c99c1","0c3c65793","34bfc","0cd1ec7f1","718bb","0d7de01d8","334d7","0e0598680","b46ac"],"native":[2,"42c23",3,"93a46",5,"6e8cb",8,"f61d5",9,"c8c0d",12,"d38b4",13,"6d707",14,"0828f",15,"618c7",16,"c06a9",18,"3ecad",19,"c0bdf",21,"2ac7c",22,"83fcc",24,"d55c2",25,"cdbc9",26,"58a8e",27,"90cf4",29,"40762",31,"27e3b"]}} \ No newline at end of file +{"paths":{},"types":[],"uuids":["a2MjXRFdtLlYQ5ouAFv/+R","14K23Xm1ROrrsGMBKG1Ql4","1fwAIEeM1Nn7i705Pdg5L5","23CIt+PSBBMJopNtpbffXh","29FYIk+N1GYaeWH/q1NxQO","29G9ngwKpNW56EfZdKv0SX","2dL3kvpAxJu6GJ7RdqJG5J","37ND3actNCqZoLzr1NBiTF","46BfYz5xdMnqrgjOetBb8L","48Foz8zQZDfLObHQegvteG","4bnFp+xkVIpJrKXfOBzk71","4er1GLNexCYpKNTUl8Pygw","59MsqY7oZEy71JeUeyyS/Z","61cyPdEfRN047sDK9rO0W5","63m/tYswFOS7sCMuQGQ4kn","651MDCXIFPuZKQK1+nWOzk","71VhFCTINJM6/Ky3oX9nBT","77SCm7Ej5ItpMOaz4CSRUG","8eZObX1ehJkKU3GR/hPgya","93XHrCUNdAwJfBzyLGAOJ5","9cCAYtTPFLbqi6SjiBzH59","adrVhydQhMD7nhiXljhNId","b4P/PCArtIdIH38t6mlw8Y","d3OhOXdm5P4JNse7X8GMGe","d608qFRoFHwbXd0Dap056i","d8HsitJHxOYqo801xBk8ev","e7CzEDg/FMZpCTGJfBpdSu","e8Ueib+qJEhL6mXAHdnwbi","e97GVMl6JHh5Ml5qEDdSGa","eezChet5VG27PW9q3qdOpv","f0BIwQ8D5Ml7nTNQbh1YlS","f7ZJEQGfdJraVAIIAn8NFW","02delMVqdBD70a/HSD99FK","08/X0iIrpGHbKJqlQlA512","0cF7COgzlFRKaDnaVJrOOt","13EQ5PNYdOa4gRDKFsrIFJ","167IfY0HdDyZdtlLDeaDkg","27FeLB8OpGcaDrf9NiEDKz","28Gg0A8X1JHpYnbH9vZIzV","2aJVC/rshLnpvG+lkallqC","2cyTcZvcZP7rjmchhWREEu","3aIyOI2NxPeaHqgvY4W3zi","3fgys9roZKo5OdfZn0T4Fo","432ND8vGNFM4/Pxt+hVLkb","4cuYcoe7tPiIdp6gbSnrvF","4c7tzGCVNKE5yvOmzu4CXt","57X2D8NaxKHZ7D/uwxGBCK","59Sn0ZhhJHf7HX55ZqGeqE","5aBm0rBa9Gxr8lWEiz8nAb","5bsctimnBNw4onIGVsCfsU","5cO7kybDxGj4ipyMYdRYZB","5eUVg3ZQ5FhKCJ4qAl42w5","5f5dyqtRNNxaFmVzYns6FZ","61c+AvZ7lJH4DcNNAnJ//N","6cyjAC9cJDE6x1PK28Td4v","6eoolBkxxPvof0z1pzKU+w","70mY8jP3NKVonyvxI9/f6z","818w6dGPRH+rXb8KDTjDgq","8cv+mgkU9OTIB7sHOwnyZ8","8eo+QfsThNk7a0r8Ilro8q","95AC/gHlpJ64LEYVdSIIPB","95viAf/CZABIBJ7iCjDOU4","99vgruzGRMmJOIRLdPaQYs","9bvaMerUlDyary99mJa6xp","9cBsd3MbFMC56GS/sJnS6r","9c3CkVjW9H27x0Hoq3KNFJ","9e4xLWF9hCBq5CM6vIyvlp","a5+/rf9ZlPEIXTSsUOhw7T","adR/bBScVC/bM24V3TdrfL","adULT7sm1JR6vTV/oW1JIb","bcITWltAtAD4sUjinM7HdJ","c6VxSCRHRB+qS91aK866px","ceNMgtpZhCsKd8anXNKd7b","d1MjdySrJFJ70gUB/k+5cj","d7kiZgBYNPyIwqRjgGX7l0","ddnWn8vDxCOZaOnG9OVNnP","deq5vhWmZCFJ97k3T54cZ0","e82yVDavlBc6NpbK/tA6Dr","ecpdLyjvZBwrvm+cedCcQy","f1O5RoDlhGrI6+/w3NObrX"],"scenes":{"db://assets/Scene/GameScene.fire":11,"db://assets/Scene/GuideScene.fire":17,"db://assets/Scene/LoadScene.fire":20,"db://assets/Scene/OverScene.fire":10,"db://assets/Scene/RankScene.fire":6},"redirect":[32,0,33,1,34,1,36,1,37,1,39,1,40,1,43,1,48,1,49,1,53,1,54,1,56,1,58,1,59,1,60,1,61,1,62,1,64,1,66,1,67,1,69,1,70,1,71,1,72,1,74,1,76,1,78,0,79,1],"deps":["internal","resources"],"packs":{"01587c953":[3,4,18,20,0,26,77,28,30],"05f3c1ca4":[7,17,0,73,23],"0792a0dcc":[2,5,8,9,12,13,14,15,16,19,21,22,24,25,27,29,31],"0c3c65793":[1,10,46,65],"0cd1ec7f1":[55,75],"0d7de01d8":[35,38,4,7,41,42,44,45,11,51,57,0,23,28,30],"0e0598680":[1,6,47,50,52,63,68]},"name":"main","importBase":"import","nativeBase":"native","debug":false,"isZip":false,"encrypted":false,"versions":{"import":["01587c953","f064d","05f3c1ca4","2cb7c","0792a0dcc","c99c1","0c3c65793","34bfc","0cd1ec7f1","718bb","0d7de01d8","334d7","0e0598680","b46ac"],"native":[2,"42c23",3,"93a46",5,"6e8cb",8,"f61d5",9,"c8c0d",12,"d38b4",13,"6d707",14,"0828f",15,"618c7",16,"c06a9",18,"3ecad",19,"c0bdf",21,"2ac7c",22,"83fcc",24,"d55c2",25,"cdbc9",26,"58a8e",27,"90cf4",29,"40762",31,"27e3b"]}} \ No newline at end of file diff --git a/build/SunMoves/assets/main/import/05/05f3c1ca4.1b0a3.json b/build/SunMoves/assets/main/import/05/05f3c1ca4.2cb7c.json similarity index 98% rename from build/SunMoves/assets/main/import/05/05f3c1ca4.1b0a3.json rename to build/SunMoves/assets/main/import/05/05f3c1ca4.2cb7c.json index e3c1b73..6510ae0 100644 --- a/build/SunMoves/assets/main/import/05/05f3c1ca4.1b0a3.json +++ b/build/SunMoves/assets/main/import/05/05f3c1ca4.2cb7c.json @@ -1 +1 @@ -[1,["ecpdLyjvZBwrvm+cedCcQy","a2MjXRFdtLlYQ5ouAFv/+R","a5+/rf9ZlPEIXTSsUOhw7T","d7kiZgBYNPyIwqRjgGX7l0","99vgruzGRMmJOIRLdPaQYs","ddnWn8vDxCOZaOnG9OVNnP","eezChet5VG27PW9q3qdOpv","adULT7sm1JR6vTV/oW1JIb","95viAf/CZABIBJ7iCjDOU4","37ND3actNCqZoLzr1NBiTF","d1MjdySrJFJ70gUB/k+5cj","6eoolBkxxPvof0z1pzKU+w","02delMVqdBD70a/HSD99FK","432ND8vGNFM4/Pxt+hVLkb","deq5vhWmZCFJ97k3T54cZ0","8eo+QfsThNk7a0r8Ilro8q","d3OhOXdm5P4JNse7X8GMGe","f1O5RoDlhGrI6+/w3NObrX","adrVhydQhMD7nhiXljhNId"],["node","_spriteFrame","_N$target","_parent","_textureSetter","ball","dialog","scene","qiu1","linePrefab","root","target","data","_defaultClip"],[["cc.Node",["_name","_active","_opacity","_id","_children","_trs","_parent","_components","_contentSize","_prefab","_color"],-1,2,7,1,9,5,4,5],["cc.Node",["_name","_opacity","_active","_components","_contentSize","_parent","_trs","_color","_prefab","_children"],0,9,5,1,7,5,4,12],"cc.SpriteFrame",["cc.Sprite",["_sizeMode","_type","node","_materials","_spriteFrame"],1,1,3,6],["cc.Label",["_string","_N$horizontalAlign","_N$verticalAlign","_fontSize","_lineHeight","_styleFlags","node","_materials"],-3,1,3],["cc.ClickEvent",["_componentId","handler","customEventData","target"],0,1],["cc.PrefabInfo",["fileId","root","asset"],2,1,1],["cc.SceneAsset",["_name","asyncLoadAssets"],1],["cc.Widget",["_alignFlags","node"],2,1],["3fd2fh6vHNJeISUizW09xat",["node","dialog","ball","qiu1","linePrefab"],3,1,1,1,6,6],["cc.Canvas",["_fitWidth","_fitHeight","node","_designResolution"],1,1,5],["cc.Button",["zoomScale","_N$transition","node","clickEvents","_N$target"],1,1,9,1],["cc.Scene",["_name","_active","autoReleaseAssets","_children","_anchorPoint","_trs"],0,2,5,7],["cc.Camera",["_clearFlags","_depth","node"],1,1],["cc.Prefab",["_name"],2],["4be67sdkexCyqLl0NHd9N1f",["node"],3,1],["cc.Animation",["playOnLoad","node","_clips","_defaultClip"],2,1,3,6]],[[3,2,3,4,1],[3,0,2,3,4,2],[4,0,3,4,1,2,6,7,6],[1,0,5,3,4,2],[1,0,5,3,4,6,2],[11,0,1,2,3,4,3],[1,0,5,3,7,4,6,2],[0,0,6,4,7,10,8,5,2],[5,0,1,3,3],[6,0,1,2,2],[1,0,1,5,3,7,4,3],[1,0,5,3,7,4,2],[1,0,5,3,8,4,2],[8,0,1,2],[3,1,0,2,3,4,3],[1,0,5,2],[0,0,1,4,7,8,5,3],[7,0,1,3],[1,0,9,3,4,2],[1,0,1,5,3,4,6,3],[1,0,2,5,3,4,3],[1,0,5,3,8,4,6,2],[1,0,2,5,3,8,7,4,3],[0,0,4,7,8,5,2],[0,0,6,4,5,2],[0,0,6,4,2],[0,0,1,6,4,7,8,5,3],[0,0,3,4,7,8,5,3],[0,0,6,4,7,5,2],[0,0,2,6,4,5,3],[0,0,2,6,4,3],[0,0,1,6,4,3],[0,0,4,7,9,8,5,2],[0,0,6,4,7,9,8,2],[9,0,1,2,3,4,1],[10,0,1,2,3,3],[4,0,1,2,6,7,4],[4,0,3,4,5,1,2,6,7,7],[5,0,1,2,3,4],[12,0,1,2,3,4,5,4],[13,0,1,2,3],[14,0,2],[15,0,1],[6,1,2,1],[16,0,1,2,3,2]],[[[{"name":"fit","rect":[0,0,278,300],"offset":[0,0],"originalSize":[278,300],"capInsets":[0,0,0,0]}],[2],0,[0],[4],[6]],[[[17,"GuideScene",null],[18,"GameNode2",[[-5,-6,-7,[15,"Line",-8],[15,"Sun",-9],-10,-11,-12],1,1,1,4,4,1,1,1],[[13,45,-1],[34,-4,-3,-2,73,74]],[5,750,1334]],[23,"tip1",[-14,-15,-16,-17,-18,-19],[[0,-13,[35],36]],[5,680,178],[0,167.455,0,0,0,0,1,1,1,1]],[24,"bg1",1,[-20,-21,-22,-23,-24,-25],[0,-212.867,0,0,0,0,1,1,1,1]],[16,"tip2",false,[-27,-28,-29,-30,-31],[[0,-26,[48],49]],[5,680,178],[0,167.455,0,0,0,0,1,1,1,1]],[16,"tip3",false,[-33,-34,-35,-36,-37],[[0,-32,[61],62]],[5,680,178],[0,167.455,0,0,0,0,1,1,1,1]],[25,"Dialog",1,[2,4,5,-38]],[26,"tip4",false,6,[-40,-41,-42,-43],[[14,1,0,-39,[71],72]],[5,680,260],[0,68.334,0,0,0,0,1,1,1,1]],[27,"Canvas","a5esZu+45LA5mBpvttspPD",[-46,1],[[35,true,false,-44,[5,750,1334]],[13,45,-45]],[5,750,1334],[375,667,0,0,0,0,1,1,1,1]],[7,"time",2,[-50],[[2,"跳过引导",35,35,1,1,-47,[31]],[5,1.1,3,-49,[[8,"3fd2fh6vHNJeISUizW09xat","clickBtn",1]],-48]],[4,4278190080],[5,140,44.1],[-144.952,-153.565,0,0,0,0,1,1,1,0]],[7,"time",2,[-54],[[2,"下一步",35,35,1,1,-51,[34]],[5,1.1,3,-53,[[8,"3fd2fh6vHNJeISUizW09xat","next",1]],-52]],[4,4278190080],[5,105,44.1],[144.952,-153.565,0,0,0,0,1,1,1,0]],[7,"time",4,[-58],[[2,"跳过引导",35,35,1,1,-55,[44]],[5,1.1,3,-57,[[8,"3fd2fh6vHNJeISUizW09xat","clickBtn",1]],-56]],[4,4278190080],[5,140,44.1],[-144.952,-153.565,0,0,0,0,1,1,1,0]],[7,"time",4,[-62],[[2,"下一步",35,35,1,1,-59,[47]],[5,1.1,3,-61,[[8,"3fd2fh6vHNJeISUizW09xat","next",1]],-60]],[4,4278190080],[5,105,44.1],[144.952,-153.565,0,0,0,0,1,1,1,0]],[7,"time",5,[-66],[[2,"跳过引导",35,35,1,1,-63,[57]],[5,1.1,3,-65,[[8,"3fd2fh6vHNJeISUizW09xat","clickBtn",1]],-64]],[4,4278190080],[5,140,44.1],[-144.952,-153.565,0,0,0,0,1,1,1,0]],[7,"time",5,[-70],[[2,"下一步",35,35,1,1,-67,[60]],[5,1.1,3,-69,[[8,"3fd2fh6vHNJeISUizW09xat","next",1]],-68]],[4,4278190080],[5,105,44.1],[144.952,-153.565,0,0,0,0,1,1,1,0]],[7,"time",7,[-74],[[2,"开始游戏",35,35,1,1,-71,[70]],[5,1.1,3,-73,[[8,"3fd2fh6vHNJeISUizW09xat","clickBtn",1]],-72]],[4,4278190080],[5,140,44.1],[0,-183.653,0,0,0,0,1,1,1,0]],[28,"Top",1,[-76,-77],[[13,1,-75]],[0,667,0,0,0,0,1,1,1,1]],[29,"ball",0,1,[-78],[-250,-216,0,0,0,0,1,1,1,1]],[30,"Over",0,1,[-79,-80]],[39,"New Node",false,true,[8],[0,0,0],[0,0,0,0,0,0,1,1,1,1]],[3,"Main Camera",8,[[40,7,-1,-81]],[5,960,640]],[3,"bg1",3,[[0,-82,[0],1]],[5,750,1600]],[4,"bg2",3,[[0,-83,[2],3]],[5,750,1600],[0,1600,0,0,0,0,1,1,-1,1]],[4,"bg1",3,[[0,-84,[4],5]],[5,750,1600],[0,-3200,0,0,0,0,1,1,1,1]],[4,"bg2",3,[[0,-85,[6],7]],[5,750,1600],[0,-1600,0,0,0,0,1,1,-1,1]],[4,"bg1",3,[[0,-86,[8],9]],[5,750,1600],[0,3200,0,0,0,0,1,1,1,1]],[4,"bg2",3,[[0,-87,[10],11]],[5,750,1600],[0,4800,0,0,0,0,1,1,-1,1]],[4,"New Sprite",16,[[0,-88,[12],13]],[5,689,223],[0,-118.023,0,0,0,0,1,1,1,1]],[19,"New Label",200,16,[[2,"倒计时",30,30,1,1,-89,[14]]],[5,90,37.8],[0,-29.627,0,0,0,0,1,1,1,1]],[3,"icon",17,[[1,0,-90,[15],16]],[5,96,96]],[31,"Win",false,1,[-91]],[3,"New Sprite",30,[[0,-92,[17],18]],[5,278,300]],[4,"New Sprite",18,[[14,2,0,-93,[19],20]],[5,125,1650],[-317.378,0,0,0,0,0,1,-1,1,1]],[4,"New Sprite",18,[[14,2,0,-94,[21],22]],[5,125,1650],[317.378,0,0,0,0,0,1,1,1,1]],[10,"New Sprite(Splash)",50,2,[[1,0,-95,[23],24]],[4,4278190080],[5,750,2000]],[3,"New Sprite",2,[[0,-96,[25],26]],[5,680,178]],[11,"New Label",2,[[2,"你是后羿,需要驱逐太阳,\n制止这场浩劫。",36,60,1,1,-97,[27]]],[4,4278190080],[5,432,135.6]],[20,"New Label",false,2,[[36,"Label",1,1,-98,[28]]],[5,97.87,50.4]],[6,"New Sprite(Splash)",9,[[1,0,-99,[29],30]],[4,4278190080],[5,160,5],[0,-26.492,0,0,0,0,1,1,1,1]],[6,"New Sprite(Splash)",10,[[1,0,-100,[32],33]],[4,4278190080],[5,105,5],[0,-26.492,0,0,0,0,1,1,1,1]],[10,"New Sprite(Splash)",50,4,[[1,0,-101,[37],38]],[4,4278190080],[5,750,2000]],[3,"New Sprite",4,[[0,-102,[39],40]],[5,680,178]],[11,"New Label",4,[[2,"记住屏幕中太阳出现的顺序。",36,60,1,1,-103,[41]]],[4,4278190080],[5,468,75.6]],[6,"New Sprite(Splash)",11,[[1,0,-104,[42],43]],[4,4278190080],[5,160,5],[0,-26.492,0,0,0,0,1,1,1,1]],[6,"New Sprite(Splash)",12,[[1,0,-105,[45],46]],[4,4278190080],[5,105,5],[0,-26.492,0,0,0,0,1,1,1,1]],[10,"New Sprite(Splash)",50,5,[[1,0,-106,[50],51]],[4,4278190080],[5,750,2000]],[3,"New Sprite",5,[[0,-107,[52],53]],[5,680,178]],[11,"New Label",5,[[2,"按照太阳的出现顺序依次点击。",36,60,1,1,-108,[54]]],[4,4278190080],[5,504,75.6]],[6,"New Sprite(Splash)",13,[[1,0,-109,[55],56]],[4,4278190080],[5,160,5],[0,-26.492,0,0,0,0,1,1,1,1]],[6,"New Sprite(Splash)",14,[[1,0,-110,[58],59]],[4,4278190080],[5,105,5],[0,-26.492,0,0,0,0,1,1,1,1]],[10,"New Sprite(Splash)",50,7,[[1,0,-111,[63],64]],[4,4278190080],[5,750,2000]],[3,"New Sprite",7,[[1,0,-112,[65],66]],[5,680,260]],[11,"New Label",7,[[2,"太厉害了,你已经成功驱逐了太阳。\n神弓法力只有2分钟,\n接下来请继续帮助苍生吧!",36,60,1,1,-113,[67]]],[4,4278190080],[5,576,195.6]],[6,"New Sprite(Splash)",15,[[1,0,-114,[68],69]],[4,4278190080],[5,160,5],[0,-26.492,0,0,0,0,1,1,1,1]]],0,[0,0,1,0,5,17,0,6,6,0,0,1,0,-1,3,0,-2,16,0,-3,17,0,3,1,0,3,1,0,-6,30,0,-7,18,0,-8,6,0,0,2,0,-1,34,0,-2,35,0,-3,36,0,-4,37,0,-5,9,0,-6,10,0,-1,21,0,-2,22,0,-3,23,0,-4,24,0,-5,25,0,-6,26,0,0,4,0,-1,40,0,-2,41,0,-3,42,0,-4,11,0,-5,12,0,0,5,0,-1,45,0,-2,46,0,-3,47,0,-4,13,0,-5,14,0,-4,7,0,0,7,0,-1,50,0,-2,51,0,-3,52,0,-4,15,0,0,8,0,0,8,0,-1,20,0,0,9,0,2,9,0,0,9,0,-1,38,0,0,10,0,2,10,0,0,10,0,-1,39,0,0,11,0,2,11,0,0,11,0,-1,43,0,0,12,0,2,12,0,0,12,0,-1,44,0,0,13,0,2,13,0,0,13,0,-1,48,0,0,14,0,2,14,0,0,14,0,-1,49,0,0,15,0,2,15,0,0,15,0,-1,53,0,0,16,0,-1,27,0,-2,28,0,-1,29,0,-1,32,0,-2,33,0,0,20,0,0,21,0,0,22,0,0,23,0,0,24,0,0,25,0,0,26,0,0,27,0,0,28,0,0,29,0,-1,31,0,0,31,0,0,32,0,0,33,0,0,34,0,0,35,0,0,36,0,0,37,0,0,38,0,0,39,0,0,40,0,0,41,0,0,42,0,0,43,0,0,44,0,0,45,0,0,46,0,0,47,0,0,48,0,0,49,0,0,50,0,0,51,0,0,52,0,0,53,0,7,19,1,3,8,2,3,6,4,3,6,5,3,6,8,3,19,114],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,-1,-1,1,-1,-1,1,-1,-1,1,-1,1,-1,1,-1,-1,1,-1,-1,1,-1,-1,1,-1,1,-1,1,-1,-1,1,-1,-1,1,-1,-1,1,-1,1,-1,1,-1,-1,1,-1,-1,1,8,9],[0,3,0,3,0,3,0,3,0,3,0,3,0,7,0,0,8,0,9,0,4,0,4,0,1,0,2,0,0,0,1,0,0,1,0,0,2,0,1,0,2,0,0,1,0,0,1,0,0,2,0,1,0,2,0,0,1,0,0,1,0,0,2,0,1,0,2,0,0,1,0,0,2,10,11]],[[{"name":"default_sprite_splash","rect":[0,0,2,2],"offset":[0,0],"originalSize":[2,2],"capInsets":[0,0,0,0]}],[2],0,[0],[4],[12]],[[[41,"qiu4"],[32,"qiu1",[-6,-7,-8,-9,-10],[[42,-2],[5,1.1,3,-5,[[38,"4be67sdkexCyqLl0NHd9N1f","clickBtn","2",-4]],-3]],[43,-1,0],[5,150,150],[-145.48,22.786,0,0,0,0,1,1,1,0]],[33,"di",1,[-12],[[0,-11,[4],5]],[9,"cb9ihGGopAkY+20ILGW9iZ",1,0],[5,80,80]],[21,"guang",1,[[0,-13,[8],9],[44,true,-14,[11],10]],[9,"e5EF5v9LVFm7EbMhBwubQu",1,0],[5,173,174],[0,5.684341886080802e-14,0,0,0,0,1,1,1,1]],[12,"shan",1,[[0,-15,[0],1]],[9,"d9zEZjmopFvqHMauaByqPT",1,0],[5,132,132]],[12,"New Sprite",2,[[0,-16,[2],3]],[9,"f7BMdXGSdAHrhT4coa6xTA",1,0],[5,118,118]],[12,"icon",1,[[0,-17,[6],7]],[9,"3ezLyhgMlBwoj1LfZ8xCfs",1,0],[5,66,66]],[22,"number",false,1,[[37,"9",60,60,1,1,1,-18,[12]]],[9,"ecdj27dvpMkq4us03b5VnO",1,0],[4,4278190080],[5,33.37,75.6]]],0,[0,10,1,0,0,1,0,2,1,0,11,1,0,0,1,0,-1,4,0,-2,2,0,-3,6,0,-4,3,0,-5,7,0,0,2,0,-1,5,0,0,3,0,0,3,0,0,4,0,0,5,0,0,6,0,0,7,0,12,1,18],[0,0,0,0,0,0,0,0,0,0,0,0,0],[-1,1,-1,1,-1,1,-1,1,-1,1,13,-1,-1],[0,13,0,14,0,15,0,16,0,17,5,5,0]],[[{"name":"ball1","rect":[0,0,66,66],"offset":[0,0],"originalSize":[66,66],"capInsets":[0,0,0,0]}],[2],0,[0],[4],[18]]]] \ No newline at end of file +[1,["ecpdLyjvZBwrvm+cedCcQy","a2MjXRFdtLlYQ5ouAFv/+R","a5+/rf9ZlPEIXTSsUOhw7T","d7kiZgBYNPyIwqRjgGX7l0","99vgruzGRMmJOIRLdPaQYs","ddnWn8vDxCOZaOnG9OVNnP","eezChet5VG27PW9q3qdOpv","adULT7sm1JR6vTV/oW1JIb","95viAf/CZABIBJ7iCjDOU4","37ND3actNCqZoLzr1NBiTF","d1MjdySrJFJ70gUB/k+5cj","6eoolBkxxPvof0z1pzKU+w","02delMVqdBD70a/HSD99FK","432ND8vGNFM4/Pxt+hVLkb","deq5vhWmZCFJ97k3T54cZ0","8eo+QfsThNk7a0r8Ilro8q","d3OhOXdm5P4JNse7X8GMGe","f1O5RoDlhGrI6+/w3NObrX","adrVhydQhMD7nhiXljhNId"],["node","_spriteFrame","_N$target","_parent","_textureSetter","ball","dialog","scene","qiu1","linePrefab","root","target","data","_defaultClip"],[["cc.Node",["_name","_active","_opacity","_id","_children","_trs","_parent","_components","_contentSize","_prefab","_color"],-1,2,7,1,9,5,4,5],["cc.Node",["_name","_opacity","_active","_components","_contentSize","_parent","_trs","_color","_prefab","_children"],0,9,5,1,7,5,4,12],"cc.SpriteFrame",["cc.Sprite",["_sizeMode","_type","node","_materials","_spriteFrame"],1,1,3,6],["cc.Label",["_string","_N$horizontalAlign","_N$verticalAlign","_fontSize","_lineHeight","_styleFlags","node","_materials"],-3,1,3],["cc.ClickEvent",["_componentId","handler","customEventData","target"],0,1],["cc.PrefabInfo",["fileId","root","asset"],2,1,1],["cc.SceneAsset",["_name","asyncLoadAssets"],1],["cc.Widget",["_alignFlags","node"],2,1],["3fd2fh6vHNJeISUizW09xat",["node","dialog","ball","qiu1","linePrefab"],3,1,1,1,6,6],["cc.Canvas",["_fitWidth","_fitHeight","node","_designResolution"],1,1,5],["cc.Button",["zoomScale","_N$transition","node","clickEvents","_N$target"],1,1,9,1],["cc.Scene",["_name","_active","autoReleaseAssets","_children","_anchorPoint","_trs"],0,2,5,7],["cc.Camera",["_clearFlags","_depth","node"],1,1],["cc.Prefab",["_name"],2],["4be67sdkexCyqLl0NHd9N1f",["node"],3,1],["cc.Animation",["playOnLoad","node","_clips","_defaultClip"],2,1,3,6]],[[3,2,3,4,1],[3,0,2,3,4,2],[4,0,3,4,1,2,6,7,6],[1,0,5,3,4,2],[1,0,5,3,4,6,2],[11,0,1,2,3,4,3],[1,0,5,3,7,4,6,2],[0,0,6,4,7,10,8,5,2],[5,0,1,3,3],[6,0,1,2,2],[1,0,1,5,3,7,4,3],[1,0,5,3,7,4,2],[1,0,5,3,8,4,2],[8,0,1,2],[3,1,0,2,3,4,3],[1,0,5,2],[0,0,1,4,7,8,5,3],[7,0,1,3],[1,0,9,3,4,2],[1,0,1,5,3,4,6,3],[1,0,2,5,3,4,3],[1,0,5,3,8,4,6,2],[1,0,2,5,3,8,7,4,3],[0,0,4,7,8,5,2],[0,0,6,4,5,2],[0,0,6,4,2],[0,0,1,6,4,7,8,5,3],[0,0,3,4,7,8,5,3],[0,0,6,4,7,5,2],[0,0,2,6,4,5,3],[0,0,2,6,4,3],[0,0,1,6,4,3],[0,0,4,7,9,8,5,2],[0,0,6,4,7,9,8,2],[9,0,1,2,3,4,1],[10,0,1,2,3,3],[4,0,1,2,6,7,4],[4,0,3,4,5,1,2,6,7,7],[5,0,1,2,3,4],[12,0,1,2,3,4,5,4],[13,0,1,2,3],[14,0,2],[15,0,1],[6,1,2,1],[16,0,1,2,3,2]],[[[{"name":"fit","rect":[0,0,278,300],"offset":[0,0],"originalSize":[278,300],"capInsets":[0,0,0,0]}],[2],0,[0],[4],[6]],[[[17,"GuideScene",null],[18,"GameNode2",[[-5,-6,-7,[15,"Line",-8],[15,"Sun",-9],-10,-11,-12],1,1,1,4,4,1,1,1],[[13,45,-1],[34,-4,-3,-2,73,74]],[5,750,1334]],[23,"tip1",[-14,-15,-16,-17,-18,-19],[[0,-13,[35],36]],[5,680,178],[0,167.455,0,0,0,0,1,1,1,1]],[24,"bg1",1,[-20,-21,-22,-23,-24,-25],[0,-212.867,0,0,0,0,1,1,1,1]],[16,"tip2",false,[-27,-28,-29,-30,-31],[[0,-26,[48],49]],[5,680,178],[0,167.455,0,0,0,0,1,1,1,1]],[16,"tip3",false,[-33,-34,-35,-36,-37],[[0,-32,[61],62]],[5,680,178],[0,167.455,0,0,0,0,1,1,1,1]],[25,"Dialog",1,[2,4,5,-38]],[26,"tip4",false,6,[-40,-41,-42,-43],[[14,1,0,-39,[71],72]],[5,680,260],[0,68.334,0,0,0,0,1,1,1,1]],[27,"Canvas","a5esZu+45LA5mBpvttspPD",[-46,1],[[35,true,false,-44,[5,750,1334]],[13,45,-45]],[5,750,1334],[375,667,0,0,0,0,1,1,1,1]],[7,"time",2,[-50],[[2,"跳过引导",35,35,1,1,-47,[31]],[5,1.1,3,-49,[[8,"3fd2fh6vHNJeISUizW09xat","clickBtn",1]],-48]],[4,4278190080],[5,140,44.1],[-144.952,-153.565,0,0,0,0,1,1,1,0]],[7,"time",2,[-54],[[2,"下一步",35,35,1,1,-51,[34]],[5,1.1,3,-53,[[8,"3fd2fh6vHNJeISUizW09xat","next",1]],-52]],[4,4278190080],[5,105,44.1],[144.952,-153.565,0,0,0,0,1,1,1,0]],[7,"time",4,[-58],[[2,"跳过引导",35,35,1,1,-55,[44]],[5,1.1,3,-57,[[8,"3fd2fh6vHNJeISUizW09xat","clickBtn",1]],-56]],[4,4278190080],[5,140,44.1],[-144.952,-153.565,0,0,0,0,1,1,1,0]],[7,"time",4,[-62],[[2,"下一步",35,35,1,1,-59,[47]],[5,1.1,3,-61,[[8,"3fd2fh6vHNJeISUizW09xat","next",1]],-60]],[4,4278190080],[5,105,44.1],[144.952,-153.565,0,0,0,0,1,1,1,0]],[7,"time",5,[-66],[[2,"跳过引导",35,35,1,1,-63,[57]],[5,1.1,3,-65,[[8,"3fd2fh6vHNJeISUizW09xat","clickBtn",1]],-64]],[4,4278190080],[5,140,44.1],[-144.952,-153.565,0,0,0,0,1,1,1,0]],[7,"time",5,[-70],[[2,"下一步",35,35,1,1,-67,[60]],[5,1.1,3,-69,[[8,"3fd2fh6vHNJeISUizW09xat","next",1]],-68]],[4,4278190080],[5,105,44.1],[144.952,-153.565,0,0,0,0,1,1,1,0]],[7,"time",7,[-74],[[2,"开始游戏",35,35,1,1,-71,[70]],[5,1.1,3,-73,[[8,"3fd2fh6vHNJeISUizW09xat","clickBtn",1]],-72]],[4,4278190080],[5,140,44.1],[0,-183.653,0,0,0,0,1,1,1,0]],[28,"Top",1,[-76,-77],[[13,1,-75]],[0,667,0,0,0,0,1,1,1,1]],[29,"ball",0,1,[-78],[-250,-216,0,0,0,0,1,1,1,1]],[30,"Over",0,1,[-79,-80]],[39,"New Node",false,true,[8],[0,0,0],[0,0,0,0,0,0,1,1,1,1]],[3,"Main Camera",8,[[40,7,-1,-81]],[5,960,640]],[3,"bg1",3,[[0,-82,[0],1]],[5,750,1600]],[4,"bg2",3,[[0,-83,[2],3]],[5,750,1600],[0,1600,0,0,0,0,1,1,-1,1]],[4,"bg1",3,[[0,-84,[4],5]],[5,750,1600],[0,-3200,0,0,0,0,1,1,1,1]],[4,"bg2",3,[[0,-85,[6],7]],[5,750,1600],[0,-1600,0,0,0,0,1,1,-1,1]],[4,"bg1",3,[[0,-86,[8],9]],[5,750,1600],[0,3200,0,0,0,0,1,1,1,1]],[4,"bg2",3,[[0,-87,[10],11]],[5,750,1600],[0,4800,0,0,0,0,1,1,-1,1]],[4,"New Sprite",16,[[0,-88,[12],13]],[5,689,223],[0,-118.023,0,0,0,0,1,1,1,1]],[19,"New Label",200,16,[[2,"倒计时",30,30,1,1,-89,[14]]],[5,90,37.8],[0,-29.627,0,0,0,0,1,1,1,1]],[3,"icon",17,[[1,0,-90,[15],16]],[5,96,96]],[31,"Win",false,1,[-91]],[3,"New Sprite",30,[[0,-92,[17],18]],[5,278,300]],[4,"New Sprite",18,[[14,2,0,-93,[19],20]],[5,125,1650],[-317.378,0,0,0,0,0,1,-1,1,1]],[4,"New Sprite",18,[[14,2,0,-94,[21],22]],[5,125,1650],[317.378,0,0,0,0,0,1,1,1,1]],[10,"New Sprite(Splash)",50,2,[[1,0,-95,[23],24]],[4,4278190080],[5,750,2000]],[3,"New Sprite",2,[[0,-96,[25],26]],[5,680,178]],[11,"New Label",2,[[2,"你是后羿,需要驱逐太阳,\n制止这场浩劫。",36,60,1,1,-97,[27]]],[4,4278190080],[5,432,135.6]],[20,"New Label",false,2,[[36,"Label",1,1,-98,[28]]],[5,97.87,50.4]],[6,"New Sprite(Splash)",9,[[1,0,-99,[29],30]],[4,4278190080],[5,160,5],[0,-26.492,0,0,0,0,1,1,1,1]],[6,"New Sprite(Splash)",10,[[1,0,-100,[32],33]],[4,4278190080],[5,105,5],[0,-26.492,0,0,0,0,1,1,1,1]],[10,"New Sprite(Splash)",50,4,[[1,0,-101,[37],38]],[4,4278190080],[5,750,2000]],[3,"New Sprite",4,[[0,-102,[39],40]],[5,680,178]],[11,"New Label",4,[[2,"记住屏幕中太阳出现的顺序。",36,60,1,1,-103,[41]]],[4,4278190080],[5,468,75.6]],[6,"New Sprite(Splash)",11,[[1,0,-104,[42],43]],[4,4278190080],[5,160,5],[0,-26.492,0,0,0,0,1,1,1,1]],[6,"New Sprite(Splash)",12,[[1,0,-105,[45],46]],[4,4278190080],[5,105,5],[0,-26.492,0,0,0,0,1,1,1,1]],[10,"New Sprite(Splash)",50,5,[[1,0,-106,[50],51]],[4,4278190080],[5,750,2000]],[3,"New Sprite",5,[[0,-107,[52],53]],[5,680,178]],[11,"New Label",5,[[2,"按照太阳的出现顺序依次点击。",36,60,1,1,-108,[54]]],[4,4278190080],[5,504,75.6]],[6,"New Sprite(Splash)",13,[[1,0,-109,[55],56]],[4,4278190080],[5,160,5],[0,-26.492,0,0,0,0,1,1,1,1]],[6,"New Sprite(Splash)",14,[[1,0,-110,[58],59]],[4,4278190080],[5,105,5],[0,-26.492,0,0,0,0,1,1,1,1]],[10,"New Sprite(Splash)",50,7,[[1,0,-111,[63],64]],[4,4278190080],[5,750,2000]],[3,"New Sprite",7,[[1,0,-112,[65],66]],[5,680,260]],[11,"New Label",7,[[2,"太厉害了,你已经成功驱逐了太阳。\n神弓法力只有2分钟,\n接下来请继续帮助苍生吧!",36,60,1,1,-113,[67]]],[4,4278190080],[5,576,195.6]],[6,"New Sprite(Splash)",15,[[1,0,-114,[68],69]],[4,4278190080],[5,160,5],[0,-26.492,0,0,0,0,1,1,1,1]]],0,[0,0,1,0,5,17,0,6,6,0,0,1,0,-1,3,0,-2,16,0,-3,17,0,3,1,0,3,1,0,-6,30,0,-7,18,0,-8,6,0,0,2,0,-1,34,0,-2,35,0,-3,36,0,-4,37,0,-5,9,0,-6,10,0,-1,21,0,-2,22,0,-3,23,0,-4,24,0,-5,25,0,-6,26,0,0,4,0,-1,40,0,-2,41,0,-3,42,0,-4,11,0,-5,12,0,0,5,0,-1,45,0,-2,46,0,-3,47,0,-4,13,0,-5,14,0,-4,7,0,0,7,0,-1,50,0,-2,51,0,-3,52,0,-4,15,0,0,8,0,0,8,0,-1,20,0,0,9,0,2,9,0,0,9,0,-1,38,0,0,10,0,2,10,0,0,10,0,-1,39,0,0,11,0,2,11,0,0,11,0,-1,43,0,0,12,0,2,12,0,0,12,0,-1,44,0,0,13,0,2,13,0,0,13,0,-1,48,0,0,14,0,2,14,0,0,14,0,-1,49,0,0,15,0,2,15,0,0,15,0,-1,53,0,0,16,0,-1,27,0,-2,28,0,-1,29,0,-1,32,0,-2,33,0,0,20,0,0,21,0,0,22,0,0,23,0,0,24,0,0,25,0,0,26,0,0,27,0,0,28,0,0,29,0,-1,31,0,0,31,0,0,32,0,0,33,0,0,34,0,0,35,0,0,36,0,0,37,0,0,38,0,0,39,0,0,40,0,0,41,0,0,42,0,0,43,0,0,44,0,0,45,0,0,46,0,0,47,0,0,48,0,0,49,0,0,50,0,0,51,0,0,52,0,0,53,0,7,19,1,3,8,2,3,6,4,3,6,5,3,6,8,3,19,114],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,-1,-1,1,-1,-1,1,-1,-1,1,-1,1,-1,1,-1,-1,1,-1,-1,1,-1,-1,1,-1,1,-1,1,-1,-1,1,-1,-1,1,-1,-1,1,-1,1,-1,1,-1,-1,1,-1,-1,1,8,9],[0,3,0,3,0,3,0,3,0,3,0,3,0,7,0,0,8,0,9,0,4,0,4,0,1,0,2,0,0,0,1,0,0,1,0,0,2,0,1,0,2,0,0,1,0,0,1,0,0,2,0,1,0,2,0,0,1,0,0,1,0,0,2,0,1,0,2,0,0,1,0,0,2,10,11]],[[{"name":"default_sprite_splash","rect":[0,0,2,2],"offset":[0,0],"originalSize":[2,2],"capInsets":[0,0,0,0]}],[2],0,[0],[4],[12]],[[[41,"qiu4"],[32,"qiu4",[-6,-7,-8,-9,-10],[[42,-2],[5,1.1,3,-5,[[38,"4be67sdkexCyqLl0NHd9N1f","clickBtn","2",-4]],-3]],[43,-1,0],[5,150,150],[-145.48,22.786,0,0,0,0,1,1,1,0]],[33,"di",1,[-12],[[0,-11,[4],5]],[9,"cb9ihGGopAkY+20ILGW9iZ",1,0],[5,80,80]],[21,"guang",1,[[0,-13,[8],9],[44,true,-14,[11],10]],[9,"e5EF5v9LVFm7EbMhBwubQu",1,0],[5,173,174],[0,5.684341886080802e-14,0,0,0,0,1,1,1,1]],[12,"shan",1,[[0,-15,[0],1]],[9,"d9zEZjmopFvqHMauaByqPT",1,0],[5,132,132]],[12,"New Sprite",2,[[0,-16,[2],3]],[9,"f7BMdXGSdAHrhT4coa6xTA",1,0],[5,118,118]],[12,"icon",1,[[0,-17,[6],7]],[9,"3ezLyhgMlBwoj1LfZ8xCfs",1,0],[5,66,66]],[22,"number",false,1,[[37,"9",60,60,1,1,1,-18,[12]]],[9,"ecdj27dvpMkq4us03b5VnO",1,0],[4,4278190080],[5,33.37,75.6]]],0,[0,10,1,0,0,1,0,2,1,0,11,1,0,0,1,0,-1,4,0,-2,2,0,-3,6,0,-4,3,0,-5,7,0,0,2,0,-1,5,0,0,3,0,0,3,0,0,4,0,0,5,0,0,6,0,0,7,0,12,1,18],[0,0,0,0,0,0,0,0,0,0,0,0,0],[-1,1,-1,1,-1,1,-1,1,-1,1,13,-1,-1],[0,13,0,14,0,15,0,16,0,17,5,5,0]],[[{"name":"ball1","rect":[0,0,66,66],"offset":[0,0],"originalSize":[66,66],"capInsets":[0,0,0,0]}],[2],0,[0],[4],[18]]]] \ No newline at end of file diff --git a/build/SunMoves/assets/main/index.57d1e.js b/build/SunMoves/assets/main/index.57d1e.js deleted file mode 100644 index 07e347f..0000000 --- a/build/SunMoves/assets/main/index.57d1e.js +++ /dev/null @@ -1 +0,0 @@ -window.__require=function t(e,i,n){function o(a,s){if(!i[a]){if(!e[a]){var c=a.split("/");if(c=c[c.length-1],!e[c]){var h="function"==typeof __require&&__require;if(!s&&h)return h(c,!0);if(r)return r(c,!0);throw new Error("Cannot find module '"+a+"'")}a=c}var l=i[a]={exports:{}};e[a][0].call(l.exports,function(t){return o(e[a][1][t]||t)},l,l.exports,t,e,i,n)}return i[a].exports}for(var r="function"==typeof __require&&__require,a=0;a=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=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 o(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,n){if((!n||this.mMusicSwitch)&&(n||this.mEffectSwitch)){var o=n?this.bgMusicVolume:this.effectMusicVolume;if(cc.sys.isBrowser){t==this.brickSound&&(o=.1),o=1;var r=cc.audioEngine.play(t,e,o);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([c(cc.AudioClip)],e.prototype,"audioGameBgm0",void 0),r([c(cc.AudioClip)],e.prototype,"audioButtonClick",void 0),r([c(cc.AudioClip)],e.prototype,"audioWarning",void 0),r([c(cc.AudioClip)],e.prototype,"audioWin",void 0),r([c(cc.AudioClip)],e.prototype,"luodui",void 0),i=r([s],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 n=t("../Config/GameConfig"),o=t("../Crypto/HttpUtil"),r=t("../Music/AudioManager"),a=t("../Notification/Notification"),s=t("../Storage/Storage"),c=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=n.GameConfig,cc.fx.HttpUtil=o.default,cc.fx.GameTool=c.GameTool,cc.fx.AudioManager=r.default,cc.fx.Notifications=a.Notifications,cc.fx.StorageMessage=s.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 n=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0}),i.GameConfig=void 0;var o=t("../Share/share"),r=cc._decorator,a=r.ccclass,s=(r.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.getKey=function(t){var e=new RegExp("(^|&)"+t+"=([^&]*)(&|$)","i"),i=window.location.search.substr(1).match(e);return null!=i?unescape(i[2]):""},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)return o.WeChat.setShare(location.href),void t.Authentication();var n=i.json;t.GM_INFO=n.data,t.setCode(t.getKey("scode")),o.WeChat.setShare(location.href),t.Authentication()}),cc.resources.load("Json/CLICK_DATA",function(e,i){if(!e){var n=i.json;t.CLICK_DATA=n.data}}),cc.resources.load("Json/LEVEL_INFO",function(e,i){if(!e){var n=i.json;t.LEVEL_INFO=n.data}}),t.GAME_DATA=[]},t.GM_INFO_init=function(){this.GM_INFO={mean_Time:0,total:0,currSeed:203213,gameId:"100009",userId:0,scode:"",guide:!0,url:"https://api.sparkus.cn",success:!1,matchId:null,custom:0},this.setCode(this.getKey("scode"))},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.setCode=function(t){this.GM_INFO.scode=t},t._instance=null,e=n([a("GameConfig")],t)}());i.GameConfig=s,cc._RF.pop()},{"../Share/share":"share"}],GameManager:[function(t,e,i){"use strict";cc._RF.push(e,"b0432BA295DjIOcuitdGKO1","GameManager");var n,o=this&&this.__extends||(n=function(t,e){return(n=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}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=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 o(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,n=this.ball_Array[0],o=1;o=0)for(var i=this.ball_Array[0],n=function(n){cc.tween(o.ball_Array[n]).to(2,{x:i.x,y:i.y}).call(function(){e.ball_Array[n].active=!1,n==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()},o=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 n=parseInt((this.overTime-this.startTime)/100+"");this.startTime=0,this.overTime=0,this.level<4&&this.level>1||this.level;var o=this.node.getChildByName("Win");o.active=!0,o.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(o).delay(.4).to(.01,{scale:2.5}).to(.35,{scale:1}).delay(.4).call(function(){o.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 n=this.node.getChildByName("Over");cc.tween(n).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*n.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)},n=this,o=0;o=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 n=cc.v2(0,0),o=0;o=0;s--)0==this.moveArray[s]&&(this.moveArray[s]=1,this.moveArray[0]=0,s=-1);for(var c=0;c=0;h--)h!=c&&0==this.moveArray[h]&&h!=this.repeat&&h!=this.numberRepeat&&(this.moveArray[h]=1,this.moveArray[c]=0,h=-1);for(var l=function(e){1==u.moveArray[e]&&setTimeout(function(){n=t.getPos2(!0,e),t.Pos_Array[e]=n},300*(a+=1))},u=this,p=0;p=2&&(n=7-i.moveSpeed/2),i.moveNumber>0){for(var o=0;o=0;r--)r!=o&&0==this.moveArray[r]&&r!=this.repeat&&r!=this.numberRepeat&&(this.moveArray[r]=1,this.moveArray[o]=0,r=-1);for(var a=0,s=0;s0)for(var r=0;r0)for(var r=0;r160&&(1==o?(cc.fx.GameConfig,r=c800&&(c=800),s=c/800*.6):2==o?(c>1200&&(c=1200),s=c/1200*1):3==o&&(c>1200&&(c=1200),s=c/1200*1.5),s},e.prototype.getDistance2=function(t,e,i,n,o){var r=!1,a=i-t,s=n-e,c=Math.sqrt(a*a+s*s);return c>160&&(r=1!=o||c0&&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;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=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 o(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;var t=window.location.href;this.containsTrain(t)?(this.node.getChildByName("again").active=!1,this.node.getChildByName("back").active=!1,this.node.getChildByName("finishi").active=!0):(this.node.getChildByName("again").active=!0,this.node.getChildByName("back").active=!0,this.node.getChildByName("finishi").active=!1),this.getRank()},e.prototype.jumpFinishi=function(){var t="https://train.sparkus.cn/poster/game/"+cc.fx.GameConfig.GM_INFO.scode+"?suc=1";window.location.href=t},e.prototype.openRank=function(){cc.director.loadScene("RankScene")},e.prototype.again=function(){cc.director.loadScene("GameScene")},e.prototype.containsTrain=function(t){return/from=train/i.test(t)},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([c(cc.Label)],e.prototype,"count",void 0),r([c(cc.Label)],e.prototype,"time",void 0),r([c(cc.Node)],e.prototype,"selfNode",void 0),r([c(cc.Node)],e.prototype,"one",void 0),r([c(cc.Node)],e.prototype,"two",void 0),r([c(cc.Node)],e.prototype,"three",void 0),r([c(cc.Node)],e.prototype,"four",void 0),r([c(cc.Node)],e.prototype,"five",void 0),r([s],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 n={_startTime:0,_endTime:0,_totalTime:0,Authentication:function(){var t="user_"+cc.fx.GameConfig.GM_INFO.gameId,e=null;if(localStorage.getItem(t)&&(e=JSON.parse(localStorage.getItem(t))),"undifend"==e||null==e||""==e){var i="https://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback="+encodeURIComponent(location.href);console.log("\u94fe\u63a5\u6ca1ID\u51c6\u5907\u8df3\u8f6c",i),window.location.href=i}else this.isNumber(e.userId)?(cc.fx.StorageMessage.setStorage(t,e),cc.fx.GameConfig.GM_INFO.userId=parseInt(e.userId)):(i="https://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback="+encodeURIComponent(location.href),console.log("\u94fe\u63a5\u4e0d\u5408\u6cd5",i),window.location.href=i)},isNumber:function(t){var e=!1;return(e="number"==typeof t)&&t<2e5&&(e=!1),e},setGameData:function(){cc.fx.GameConfig.GAME_DATA=[],cc.fx.GameConfig.GAME_DATA.push(cc.fx.GameConfig.CLICK_DATA);var t=cc.fx.GameConfig.CLICK_DATA.round;cc.fx.GameConfig.CLICK_init();var e=cc.fx.GameConfig.GAME_DATA,i=this.getMatchId(t),n={gameId:cc.fx.GameConfig.GM_INFO.gameId,userId:cc.fx.GameConfig.GM_INFO.userId,scode:cc.fx.GameConfig.GM_INFO.scode,matchId:i,data:e};console.log("\u4e0a\u4f20\u6570\u636e:",n),cc.fx.HttpUtil.uploadUserLogData(n,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,n={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)},n)},getMatchId:function(t){var e=cc.sys.localStorage.getItem("matchId"),i=e;if("undifend"==e||null==e)e=this.setMatchId();else if(1==this.containsNanana(e))e=this.setMatchId();else{var n=parseInt(i.substring(10,i.length));1==t&&(n+=1,e=i.slice(0,10)+n+"",this.containsNanana(e)&&(e=this.setMatchId()),cc.fx.GameConfig.GM_INFO.matchId=e,cc.sys.localStorage.setItem("matchId",e))}return 1==this.containsNanana(e)&&(e=this.setMatchId()),e},containsNanana:function(t){return/na/i.test(t)},setMatchId:function(){for(var t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",e=[],i=0;i<10;i++){var n=Math.floor(Math.random()*t.length),o=t.charAt(n);e.push(o)}var r=e.join("")+1+"";return cc.sys.localStorage.setItem("matchNumber",1),this.containsNanana(r)&&(r=this.setMatchId()),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(){})},100),cc.assetManager.loadRemote(i,{ext:".png"},function(e,i){i&&(t.active=!0,t.getComponent(cc.Sprite).spriteFrame=new cc.SpriteFrame(i))})},getRankData:function(t,e,i){e.listData=t.data.list,e.selfData=t.data.info;var n=[],o=!1;cc.fx.GameTool.setPic(e.selfNode.getChildByName("pic").getChildByName("icon"),e.selfData.pic);for(var r=0;r<=e.listData.length-1;r++)n.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&&(o=!0,e.rankNumber=r,e.selfNode.getChildByName("rankLab").getComponent(cc.Label).string=r+1+""),r==e.listData.length-1&&0==o&&(e.rankNumber=r,e.selfNode.getChildByName("rankLab").getComponent(cc.Label).string="99+");var a=cc.fx.GameTool.subName(e.selfData.nickName,i);switch(e.selfNode.getChildByName("nameLab").getComponent(cc.Label).string=a,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(n),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 n=parseInt((e-3600*i)/60+""),o=""+n;n<10&&(o="0"+n);var r=e-3600*i-60*n,a=r+"";return r<10&&(a="0"+r),o+":"+a},getTime:function(){return(new Date).getTime()},pushLister:function(){},removeAllLister:function(){}};i.GameTool=n,cc._RF.pop()},{}],GuideManager:[function(t,e,i){"use strict";cc._RF.push(e,"3fd2fh6vHNJeISUizW09xat","GuideManager");var n,o=this&&this.__extends||(n=function(t,e){return(n=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}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=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 o(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,n=t.ball_Array[0],o=1;o0&&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(n.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()},n=this,o=1;o=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a},s=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))(function(o,r){function a(t){try{c(n.next(t))}catch(e){r(e)}}function s(t){try{c(n.throw(t))}catch(e){r(e)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(a,s)}c((n=n.apply(t,e||[])).next())})},c=this&&this.__generator||function(t,e){var i,n,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(t){return function(e){return c([t,e])}}function c(r){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,n&&(o=2&r[0]?n.return:r[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,r[1])).done)return o;switch(n=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return a.label++,{value:r[1],done:!1};case 5:a.label++,n=r[1],r=[0];continue;case 7:r=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){a=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]0?(n-=1,setTimeout(function(){return s(l,void 0,void 0,function(){return c(this,function(o){switch(o.label){case 0:return[4,this.fetchData(t,e,i,n)];case 1:return a=o.sent(),[2]}})})},5e3*(3-n)),[3,5]):[2,null];case 5:return[2]}})})},e.fetchWithTimeout=function(t,e){return void 0===e&&(e={}),s(this,void 0,void 0,function(){var i,n,o;return c(this,function(a){switch(a.label){case 0:return i=new AbortController,n=setTimeout(function(){return i.abort()},5e3),[4,fetch(t,r(r({},e),{signal:i.signal}))];case 1:return o=a.sent(),clearTimeout(n),[2,o]}})})},e.apiSign=function(t,e){void 0===e&&(e={});var i=t.trim();-1===i.indexOf("?")&&(i+="?");var n="sign="+m(i,y(e)),o=d.encryptByDES(n,f.secretKey);return o=encodeURIComponent(o),g(i)+"&_p="+o},i=a([l],e)}(cc.Component);i.default=p;var f={gameId:"100009",secretKey:"CMNhOzBA",EK:"hui231%1"},d=new(function(){function t(){this.keyHex=this.getHetKey()}return t.prototype.getHetKey=function(){return u.enc.Utf8.parse(f.EK)},t.prototype.encryptByDES=function(t,e){if(!t)return t;var i=e?u.enc.Utf8.parse(e):this.keyHex;return u.DES.encrypt(t,i,{mode:u.mode.ECB,padding:u.pad.Pkcs7}).toString()},t.prototype.decryptByDES=function(t,e){var i=e?u.enc.Utf8.parse(e):this.keyHex;return u.DES.decrypt({ciphertext:u.enc.Base64.parse(t)},i,{mode:u.mode.ECB,padding:u.pad.Pkcs7}).toString(u.enc.Utf8)},t.prototype.hmacSha256=function(t,e){var i=e?u.enc.Utf8.parse(e):this.keyHex;return u.HmacSHA256(t,i).toString()},t.prototype.verifyHmacSha256=function(t,e){return u.HmacSHA256(t,this.keyHex).toString()===e},t.prototype.encryptCBC=function(t){if(!t)return t;var e=u.enc.Utf8.parse(t);return u.AES.encrypt(e,this.keyHex,{iv:this.keyHex,mode:u.mode.CBC,padding:u.pad.ZeroPadding}).toString()},t.prototype.decryptCBC=function(t){if(!t)return t;var e=u.enc.Hex.parse(t),i=u.enc.Base64.stringify(e);return u.AES.decrypt(i,this.keyHex,{iv:this.keyHex,mode:u.mode.CBC,padding:u.pad.ZeroPadding}).toString(u.enc.Utf8).toString()},t}());function y(t){for(var e,i=Object.keys(t).sort(),n={},o=0;o=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=(a.property,function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=null,e.itemIndex=0,e}return o(e,t),e.prototype.dataChanged=function(){var t=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=t+"",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(){}),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([s],e)}(cc.Component));i.default=c,cc._RF.pop()},{}],List:[function(t,e,i){"use strict";cc._RF.push(e,"d5421HgLShFKIjj5f18m1mi","List");var n,o=this&&this.__extends||(n=function(t,e){return(n=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}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(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,s,c=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"}(s=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=s.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 o(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==s.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==s.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&&((n=this.itemList.pop()).removeFromParent(),this.itemPool.push(n))}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,o=(this.itemHeight+this.spaceY)*e.length,r=0;ri&&t.y-o-this.padding_buttom>-this.content.height){var s=(h=t.getComponent(c.default)).itemIndex+e.length;h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.y=t.y-o}}else if(a.y<-i&&t.y+o+this.padding_top<0){var h;s=(h=t.getComponent(c.default)).itemIndex-e.length,h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.y=t.y+o}}this.lastContentPosY=this.scrollView.content.y},e.prototype.udpateH=function(){for(var t,e=this.itemList,i=this.halfScrollView,n=this.scrollView.content.x>this.lastContentPosX,o=(this.itemWidth+this.spaceX)*e.length,r=0;ri&&t.x-o-this.padding_left>0){var s=(h=t.getComponent(c.default)).itemIndex-e.length;h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.x=t.x-o}}else if(a.x<-i&&t.x+o+this.padding_rightthis.lastContentPosY,o=(this.itemHeight+this.spaceY)*(this.spawnCount/this.gridCol),r=0;ri&&t.y-o-this.padding_buttom>-this.content.height){var s=(h=t.getComponent(c.default)).itemIndex+this.spawnCount/this.gridCol*this.gridCol;null!=this.itemDataList[s]?(t.y=t.y-o,h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.opacity=255):(t.y=t.y-o,h.itemIndex=s,t.opacity=0)}}else if(a.y<-i&&t.y+o+this.padding_top<0){var h;s=(h=t.getComponent(c.default)).itemIndex-this.spawnCount/this.gridCol*this.gridCol,null!=this.itemDataList[s]?(t.y=t.y+o,h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.opacity=255):(t.y=t.y+o,h.itemIndex=s,t.opacity=0)}}this.lastContentPosY=this.scrollView.content.y},e.prototype.updateGrid_H=function(){for(var t,e=this.itemList,i=this.halfScrollView,n=this.scrollView.content.x>this.lastContentPosX,o=(this.itemWidth+this.spaceX)*(this.spawnCount/this.gridRow),r=0;ri&&t.x-o-this.padding_left>0){var s=(h=t.getComponent(c.default)).itemIndex-this.spawnCount/this.gridRow*this.gridRow;null!=this.itemDataList[s]?(t.x=t.x-o,h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.opacity=255):(t.x=t.x-o,h.itemIndex=s,t.opacity=0)}}else if(a.x<-i&&t.x+o+this.padding_right=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=(a.property,a.requireComponent,function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.start=function(){window.initMgr(),cc.fx.GameConfig.init();var t=window.location.href;this.containsTrain(t)?(console.log("\u65e0\u6392\u884c\u7248\u672c"),this.node.getChildByName("Rank").active=!1):console.log("\u6709\u6392\u884c\u7248\u672c")},e.prototype.containsTrain=function(t){return/from=train/i.test(t)},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([s],e)}(cc.Component));i.default=c,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 n=0;n=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(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"),s=cc._decorator,c=s.ccclass,h=s.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 o(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&&(console.log(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(){});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([c],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 n={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=n,cc._RF.pop()},{}],Sun:[function(t,e,i){"use strict";cc._RF.push(e,"4be67sdkexCyqLl0NHd9N1f","Sun");var n,o=this&&this.__extends||(n=function(t,e){return(n=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}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=(a.property,function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.start=function(){},e.prototype.init=function(t,e,i,n){this.touch=!0,this.move=!1,this.id_Number=t,this._color=e,this._speed=i,this._repeat=n,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([s],e)}(cc.Component));i.default=c,cc._RF.pop()},{}],"crypto-js.min":[function(t,e,i){"use strict";cc._RF.push(e,"e64e1qXyT9CV6s0gDQdj/ed","crypto-js.min"),function(t,n){"object"==typeof i?e.exports=i=n():"function"==typeof define&&define.amd?define([],n):(void 0).CryptoJS=n()}(0,function(){var t,e,i,n,o,r,a,s=s||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={},n=i.lib={},o=n.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=n.WordArray=o.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=null!=e?e:4*t.length},toString:function(t){return(t||s).stringify(this)},concat:function(t){var e=this.words,i=t.words,n=this.sigBytes,o=t.sigBytes;if(this.clamp(),n%4)for(var r=0;r>>2]>>>24-r%4*8&255;e[n+r>>>2]|=a<<24-(n+r)%4*8}else for(r=0;r>>2]=i[r>>>2];return this.sigBytes+=o,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=o.clone.call(this);return t.words=this.words.slice(0),t},random:function(e){for(var i,n=[],o=function(e){e=e;var i=987654321,n=4294967295;return function(){var o=((i=36969*(65535&i)+(i>>16)&n)<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n;return o/=4294967296,(o+=.5)*(t.random()>.5?1:-1)}},a=0;a>>2]>>>24-o%4*8&255;n.push((r>>>4).toString(16)),n.push((15&r).toString(16))}return n.join("")},parse:function(t){for(var e=t.length,i=[],n=0;n>>3]|=parseInt(t.substr(n,2),16)<<24-n%8*4;return new r.init(i,e/2)}},c=a.Latin1={stringify:function(t){for(var e=t.words,i=t.sigBytes,n=[],o=0;o>>2]>>>24-o%4*8&255;n.push(String.fromCharCode(r))}return n.join("")},parse:function(t){for(var e=t.length,i=[],n=0;n>>2]|=(255&t.charCodeAt(n))<<24-n%4*8;return new r.init(i,e)}},h=a.Utf8={stringify:function(t){try{return decodeURIComponent(escape(c.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return c.parse(unescape(encodeURIComponent(t)))}},l=n.BufferedBlockAlgorithm=o.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,n=i.words,o=i.sigBytes,a=this.blockSize,s=o/(4*a),c=(s=e?t.ceil(s):t.max((0|s)-this._minBufferSize,0))*a,h=t.min(4*c,o);if(c){for(var l=0;l>>6-a%4*2;o[r>>>2]|=(s|c)<<24-r%4*8,r++}return i.create(o,r)}var e=s,i=e.lib.WordArray;e.enc.Base64={stringify:function(t){var e=t.words,i=t.sigBytes,n=this._map;t.clamp();for(var o=[],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,s=0;s<4&&r+.75*s>>6*(3-s)&63));var c=n.charAt(64);if(c)for(;o.length%4;)o.push(c);return o.join("")},parse:function(e){var i=e.length,n=this._map,o=this._reverseMap;if(!o){o=this._reverseMap=[];for(var r=0;r>>32-r)+e}function i(t,e,i,n,o,r,a){var s=t+(e&n|i&~n)+o+a;return(s<>>32-r)+e}function n(t,e,i,n,o,r,a){var s=t+(e^i^n)+o+a;return(s<>>32-r)+e}function o(t,e,i,n,o,r,a){var s=t+(i^(e|~n))+o+a;return(s<>>32-r)+e}var r=s,a=r.lib,c=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 c.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,r){for(var a=0;a<16;a++){var s=r+a,c=t[s];t[s]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>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],S=t[r+13],A=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,S,12,u[13]),M=e(M,P,B,N,A,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,A,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,S,5,u[28]),P=i(P,B,N,M,f,9,u[29]),M=i(M,P,B,N,v,14,u[30]),B=n(B,N=i(N,M,P,B,x,20,u[31]),M,P,m,4,u[32]),P=n(P,B,N,M,_,11,u[33]),M=n(M,P,B,N,w,16,u[34]),N=n(N,M,P,B,A,23,u[35]),B=n(B,N,M,P,p,4,u[36]),P=n(P,B,N,M,y,11,u[37]),M=n(M,P,B,N,v,16,u[38]),N=n(N,M,P,B,C,23,u[39]),B=n(B,N,M,P,S,4,u[40]),P=n(P,B,N,M,l,11,u[41]),M=n(M,P,B,N,d,16,u[42]),N=n(N,M,P,B,g,23,u[43]),B=n(B,N,M,P,b,4,u[44]),P=n(P,B,N,M,x,11,u[45]),M=n(M,P,B,N,k,16,u[46]),B=o(B,N=n(N,M,P,B,f,23,u[47]),M,P,l,6,u[48]),P=o(P,B,N,M,v,10,u[49]),M=o(M,P,B,N,A,15,u[50]),N=o(N,M,P,B,m,21,u[51]),B=o(B,N,M,P,x,6,u[52]),P=o(P,B,N,M,d,10,u[53]),M=o(M,P,B,N,C,15,u[54]),N=o(N,M,P,B,p,21,u[55]),B=o(B,N,M,P,_,6,u[56]),P=o(P,B,N,M,k,10,u[57]),M=o(M,P,B,N,g,15,u[58]),N=o(N,M,P,B,S,21,u[59]),B=o(B,N,M,P,y,6,u[60]),P=o(P,B,N,M,w,10,u[61]),M=o(M,P,B,N,f,15,u[62]),N=o(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,n=8*this._nDataBytes,o=8*e.sigBytes;i[o>>>5]|=128<<24-o%32;var r=t.floor(n/4294967296),a=n;i[15+(o+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),i[14+(o+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),e.sigBytes=4*(i.length+1),this._process();for(var s=this._hash,c=s.words,h=0;h<4;h++){var l=c[h];c[h]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}return s},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=s).lib,i=e.WordArray,n=e.Hasher,o=t.algo,r=[],a=o.SHA1=n.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var i=this._hash.words,n=i[0],o=i[1],a=i[2],s=i[3],c=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=(n<<5|n>>>27)+c+r[h];u+=h<20?1518500249+(o&a|~o&s):h<40?1859775393+(o^a^s):h<60?(o&a|o&s|a&s)-1894007588:(o^a^s)-899497514,c=s,s=a,a=o<<30|o>>>2,o=n,n=u}i[0]=i[0]+n|0,i[1]=i[1]+o|0,i[2]=i[2]+a|0,i[3]=i[3]+s|0,i[4]=i[4]+c|0},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[14+(n+64>>>9<<4)]=Math.floor(i/4294967296),e[15+(n+64>>>9<<4)]=i,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}}),t.SHA1=n._createHelper(a),t.HmacSHA1=n._createHmacHelper(a),function(t){var e=s,i=e.lib,n=i.WordArray,o=i.Hasher,r=e.algo,a=[],c=[];!function(){function e(e){for(var i=t.sqrt(e),n=2;n<=i;n++)if(!(e%n))return!1;return!0}function i(t){return 4294967296*(t-(0|t))|0}for(var n=2,o=0;o<64;)e(n)&&(o<8&&(a[o]=i(t.pow(n,.5))),c[o]=i(t.pow(n,1/3)),o++),n++}();var h=[],l=r.SHA256=o.extend({_doReset:function(){this._hash=new n.init(a.slice(0))},_doProcessBlock:function(t,e){for(var i=this._hash.words,n=i[0],o=i[1],r=i[2],a=i[3],s=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=n&o^n&r^o&r,_=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),b=p+((s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25))+(s&l^~s&u)+c[f]+h[f];p=u,u=l,l=s,s=a+b|0,a=r,r=o,o=n,n=b+(_+v)|0}i[0]=i[0]+n|0,i[1]=i[1]+o|0,i[2]=i[2]+r|0,i[3]=i[3]+a|0,i[4]=i[4]+s|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,n=8*this._nDataBytes,o=8*e.sigBytes;return i[o>>>5]|=128<<24-o%32,i[14+(o+64>>>9<<4)]=t.floor(n/4294967296),i[15+(o+64>>>9<<4)]=n,e.sigBytes=4*i.length,this._process(),this._hash},clone:function(){var t=o.clone.call(this);return t._hash=this._hash.clone(),t}});e.SHA256=o._createHelper(l),e.HmacSHA256=o._createHmacHelper(l)}(Math),function(){function t(t){return t<<8&4278255360|t>>>8&16711935}var e=s,i=e.lib.WordArray,n=e.enc;n.Utf16=n.Utf16BE={stringify:function(t){for(var e=t.words,i=t.sigBytes,n=[],o=0;o>>2]>>>16-o%4*8&65535;n.push(String.fromCharCode(r))}return n.join("")},parse:function(t){for(var e=t.length,n=[],o=0;o>>1]|=t.charCodeAt(o)<<16-o%2*16;return i.create(n,2*e)}},n.Utf16LE={stringify:function(e){for(var i=e.words,n=e.sigBytes,o=[],r=0;r>>2]>>>16-r%4*8&65535);o.push(String.fromCharCode(a))}return o.join("")},parse:function(e){for(var n=e.length,o=[],r=0;r>>1]|=t(e.charCodeAt(r)<<16-r%2*16);return i.create(o,2*n)}}}(),function(){if("function"==typeof ArrayBuffer){var t=s.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,n=[],o=0;o>>2]|=t[o]<<24-o%4*8;e.call(this,n,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 n(t,e,i){return t&i|e&~i}function o(t,e,i){return t^(e|~i)}function r(t,e){return t<>>32-e}var a=s,c=a.lib,h=c.WordArray,l=c.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,s){for(var c=0;c<16;c++){var h=s+c,l=a[h];a[h]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}var u,v,_,b,C,w,x,S,A,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],S=_=N[2],A=b=N[3],k=C=N[4],c=0;c<80;c+=1)B=u+a[s+L[c]]|0,B+=c<16?t(v,_,b)+M[0]:c<32?e(v,_,b)+M[1]:c<48?i(v,_,b)+M[2]:c<64?n(v,_,b)+M[3]:o(v,_,b)+M[4],B=(B=r(B|=0,R[c]))+C|0,u=C,C=b,b=r(_,10),_=v,v=B,B=w+a[s+I[c]]|0,B+=c<16?o(x,S,A)+P[0]:c<32?n(x,S,A)+P[1]:c<48?i(x,S,A)+P[2]:c<64?e(x,S,A)+P[3]:t(x,S,A)+P[4],B=(B=r(B|=0,G[c]))+k|0,w=k,k=A,A=r(S,10),S=x,x=B;B=N[1]+_+A|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+S|0,N[0]=B},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;e[n>>>5]|=128<<24-n%32,e[14+(n+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t.sigBytes=4*(e.length+1),this._process();for(var o=this._hash,r=o.words,a=0;a<5;a++){var s=r[a];r[a]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}return o},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=s,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 n=t.blockSize,o=4*n;e.sigBytes>o&&(e=t.finalize(e)),e.clamp();for(var r=this._oKey=e.clone(),a=this._iKey=e.clone(),s=r.words,c=a.words,h=0;h>>24)|4278255360&(r<<24|r>>>8),a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),(N=i[o]).high^=a,N.low^=r}for(var s=0;s<24;s++){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,S=c[C];S<32?(f=w<>>32-S,d=x<>>32-S):(f=x<>>64-S,d=w<>>64-S);var A=u[h[C]];A.high=f,A.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[s];N.high^=I.high,N.low^=I.low}},_doFinalize:function(){var e=this._data,i=e.words,o=(this._nDataBytes,8*e.sigBytes),r=32*this.blockSize;i[o>>>5]|=1<<24-o%32,i[(t.ceil((o+1)/r)*r>>>5)-1]|=128,e.sigBytes=4*i.length,this._process();for(var a=this._state,s=this.cfg.outputLength/8,c=s/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 n.init(h,s)},clone:function(){for(var t=o.clone.call(this),e=t._state=this._state.slice(0),i=0;i<25;i++)e[i]=e[i].clone();return t}});e.SHA3=o._createHelper(p),e.HmacSHA3=o._createHmacHelper(p)}(Math),function(){function t(){return o.create.apply(o,arguments)}var e=s,i=e.lib.Hasher,n=e.x64,o=n.Word,r=n.WordArray,a=e.algo,c=[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 o.init(1779033703,4089235720),new o.init(3144134277,2227873595),new o.init(1013904242,4271175723),new o.init(2773480762,1595750129),new o.init(1359893119,2917565137),new o.init(2600822924,725511199),new o.init(528734635,4215389547),new o.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var i=this._hash.words,n=i[0],o=i[1],r=i[2],a=i[3],s=i[4],l=i[5],u=i[6],p=i[7],f=n.high,d=n.low,y=o.high,m=o.low,g=r.high,v=r.low,_=a.high,b=a.low,C=s.high,w=s.low,x=l.high,S=l.low,A=u.high,k=u.low,B=p.high,N=p.low,M=f,P=d,L=y,I=m,R=g,G=v,D=_,T=b,O=C,F=w,E=x,H=S,j=A,z=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,nt=(et>>>19|it<<13)^(et<<3|it>>>29)^et>>>6,ot=(it>>>19|et<<13)^(it<<3|et>>>29)^(it>>>6|et<<26),rt=h[K-7],at=rt.high,st=rt.low,ct=h[K-16],ht=ct.high,lt=ct.low;X=(X=(X=Q+at+((q=$+st)>>>0<$>>>0?1:0))+nt+((q+=ot)>>>0>>0?1:0))+ht+((q+=lt)>>>0>>0?1:0),U.high=X,U.low=q}var ut,pt=O&E^~O&j,ft=F&H^~F&z,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=(O>>>14|F<<18)^(O>>>18|F<<14)^(O<<23|F>>>9),_t=(F>>>14|O<<18)^(F>>>18|O<<14)^(F<<23|O>>>9),bt=c[K],Ct=bt.high,wt=bt.low,xt=V+vt+((ut=W+_t)>>>0>>0?1:0),St=gt+yt;V=j,W=z,j=E,z=H,E=O,H=F,O=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=T+ut|0)>>>0>>0?1:0)|0,D=R,T=G,R=L,G=I,L=M,I=P,M=xt+(mt+dt+(St>>>0>>0?1:0))+((P=ut+St|0)>>>0>>0?1:0)|0}d=n.low=d+P,n.high=f+M+(d>>>0

>>0?1:0),m=o.low=m+I,o.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+T,a.high=_+D+(b>>>0>>0?1:0),w=s.low=w+F,s.high=C+O+(w>>>0>>0?1:0),S=l.low=S+H,l.high=x+E+(S>>>0>>0?1:0),k=u.low=k+z,u.high=A+j+(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,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[30+(n+128>>>10<<5)]=Math.floor(i/4294967296),e[31+(n+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=s,e=t.x64,i=e.Word,n=e.WordArray,o=t.algo,r=o.SHA512,a=o.SHA384=r.extend({_doReset:function(){this._hash=new n.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)}(),s.lib.Cipher||function(t){var e=s,i=e.lib,n=i.Base,o=i.WordArray,r=i.BufferedBlockAlgorithm,a=e.enc,c=(a.Utf8,a.Base64),h=e.algo.EvpKDF,l=i.Cipher=r.extend({cfg:n.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,n,o){return t(n).encrypt(e,i,n,o)},decrypt:function(i,n,o){return t(n).decrypt(e,i,n,o)}}}}()}),u=(i.StreamCipher=l.extend({_doFinalize:function(){return this._process(!0)},blockSize:1}),e.mode={}),p=i.BlockCipherMode=n.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,n){var o=this._iv;if(o){var r=o;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 n=i.createEncryptor;else n=i.createDecryptor,this._minBufferSize=1;this._mode&&this._mode.__creator==n?this._mode.init(this,e&&e.words):(this._mode=n.call(i,this,e&&e.words),this._mode.__creator=n)},_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=n.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 n=o.create([1398893684,1701076831]).concat(i).concat(e);else n=e;return n.toString(c)},parse:function(t){var e=c.parse(t),i=e.words;if(1398893684==i[0]&&1701076831==i[1]){var n=o.create(i.slice(2,4));i.splice(0,4),e.sigBytes-=16}return y.create({ciphertext:e,salt:n})}},g=i.SerializableCipher=n.extend({cfg:n.extend({format:m}),encrypt:function(t,e,i,n){n=this.cfg.extend(n);var o=t.createEncryptor(i,n),r=o.finalize(e),a=o.cfg;return y.create({ciphertext:r,key:i,iv:a.iv,algorithm:t,mode:a.mode,padding:a.padding,blockSize:t.blockSize,formatter:n.format})},decrypt:function(t,e,i,n){return n=this.cfg.extend(n),e=this._parse(e,n.format),t.createDecryptor(i,n).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,n){n||(n=o.random(8));var r=h.create({keySize:e+i}).compute(t,n),a=o.create(r.words.slice(e),4*i);return r.sigBytes=4*e,y.create({key:r,iv:a,salt:n})}},_=i.PasswordBasedCipher=g.extend({cfg:g.cfg.extend({kdf:v}),encrypt:function(t,e,i,n){var o=(n=this.cfg.extend(n)).kdf.execute(i,t.keySize,t.ivSize);n.iv=o.iv;var r=g.encrypt.call(this,t,e,o.key,n);return r.mixIn(o),r},decrypt:function(t,e,i,n){n=this.cfg.extend(n),e=this._parse(e,n.format);var o=n.kdf.execute(i,t.keySize,t.ivSize,e.salt);return n.iv=o.iv,g.decrypt.call(this,t,e,o.key,n)}})}(),s.mode.CFB=function(){function t(t,e,i,n){var o=this._iv;if(o){var r=o.slice(0);this._iv=void 0}else r=this._prevBlock;n.encryptBlock(r,0);for(var a=0;a>>2]|=o<<24-r%4*8,t.sigBytes+=o},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},s.pad.Iso10126={pad:function(t,e){var i=4*e,n=i-t.sigBytes%i;t.concat(s.lib.WordArray.random(n-1)).concat(s.lib.WordArray.create([n<<24],1))},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},s.pad.Iso97971={pad:function(t,e){t.concat(s.lib.WordArray.create([2147483648],1)),s.pad.ZeroPadding.pad(t,e)},unpad:function(t){s.pad.ZeroPadding.unpad(t),t.sigBytes--}},s.mode.OFB=function(){var t=s.lib.BlockCipherMode.extend(),e=t.Encryptor=t.extend({processBlock:function(t,e){var i=this._cipher,n=i.blockSize,o=this._iv,r=this._keystream;o&&(r=this._keystream=o.slice(0),this._iv=void 0),i.encryptBlock(r,0);for(var a=0;a>>8^255&d^99,n[i]=d,o[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,c[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]]],s^=t[t[s]]):i=s=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,o=4*((this._nRounds=i+6)+1),r=this._keySchedule=[],a=0;a6&&a%i==4&&(s=n[s>>>24]<<24|n[s>>>16&255]<<16|n[s>>>8&255]<<8|n[255&s]):(s=n[(s=s<<8|s>>>24)>>>24]<<24|n[s>>>16&255]<<16|n[s>>>8&255]<<8|n[255&s],s^=d[a/i|0]<<24),r[a]=r[a-i]^s}for(var c=this._invKeySchedule=[],h=0;h>>24]]^u[n[s>>>16&255]]^p[n[s>>>8&255]]^f[n[255&s]]}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,r,a,c,h,n)},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,o),i=t[e+1],t[e+1]=t[e+3],t[e+3]=i},_doCryptBlock:function(t,e,i,n,o,r,a,s){for(var c=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]^o[l>>>16&255]^r[u>>>8&255]^a[255&p]^i[f++],m=n[l>>>24]^o[u>>>16&255]^r[p>>>8&255]^a[255&h]^i[f++],g=n[u>>>24]^o[p>>>16&255]^r[h>>>8&255]^a[255&l]^i[f++],v=n[p>>>24]^o[h>>>16&255]^r[l>>>8&255]^a[255&u]^i[f++];h=y,l=m,u=g,p=v}y=(s[h>>>24]<<24|s[l>>>16&255]<<16|s[u>>>8&255]<<8|s[255&p])^i[f++],m=(s[l>>>24]<<24|s[u>>>16&255]<<16|s[p>>>8&255]<<8|s[255&h])^i[f++],g=(s[u>>>24]<<24|s[p>>>16&255]<<16|s[h>>>8&255]<<8|s[255&l])^i[f++],v=(s[p>>>24]<<24|s[h>>>16&255]<<16|s[l>>>8&255]<<8|s[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-n%32&1}for(var o=this._subKeys=[],r=0;r<16;r++){var a=o[r]=[],s=l[r];for(i=0;i<24;i++)a[i/6|0]|=e[(h[i]-1+s)%28]<<31-i%6,a[4+(i/6|0)]|=e[28+(h[i+24]-1+s)%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]=o[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,n,o){this._lBlock=i[n],this._rBlock=i[n+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=o[r],s=this._lBlock,c=this._rBlock,h=0,l=0;l<8;l++)h|=u[l][((c^a[l])&p[l])>>>0];this._lBlock=c,this._rBlock=s^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[n]=this._lBlock,i[n+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(o.create(t.slice(0,2))),this._des2=f.createEncryptor(o.create(t.slice(2,4))),this._des3=f.createEncryptor(o.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,n=0,o=0;o<4;o++){i=(i+t[e=(e+1)%256])%256;var r=t[e];t[e]=t[i],t[i]=r,n|=t[(t[e]+t[i])%256]<<24-8*o}return this._i=e,this._j=i,n}var e=s,i=e.lib.StreamCipher,n=e.algo,o=n.RC4=i.extend({_doReset:function(){for(var t=this._key,e=t.words,i=t.sigBytes,n=this._S=[],o=0;o<256;o++)n[o]=o;o=0;for(var r=0;o<256;o++){var a=o%i,s=e[a>>>2]>>>24-a%4*8&255;r=(r+n[o]+s)%256;var c=n[o];n[o]=n[r],n[r]=c}this._i=this._j=0},_doProcessBlock:function(e,i){e[i]^=t.call(this)},keySize:8,ivSize:0});e.RC4=i._createHelper(o);var r=n.RC4Drop=o.extend({cfg:o.cfg.extend({drop:192}),_doReset:function(){o._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)t.call(this)}});e.RC4Drop=i._createHelper(r)}(),s.mode.CTRGladman=function(){function t(t){if(255==(t>>24&255)){var e=t>>16&255,i=t>>8&255,n=255&t;255===e?(e=0,255===i?(i=0,255===n?n=0:++n):++i):++e,t=0,t+=e<<16,t+=i<<8,t+=n}else t+=1<<24;return t}function e(e){return 0===(e[0]=t(e[0]))&&(e[1]=t(e[1])),e}var i=s.lib.BlockCipherMode.extend(),n=i.Encryptor=i.extend({processBlock:function(t,i){var n=this._cipher,o=n.blockSize,r=this._iv,a=this._counter;r&&(a=this._counter=r.slice(0),this._iv=void 0),e(a);var s=a.slice(0);n.encryptBlock(s,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 n=t[i]+e[i],o=65535&n,s=n>>>16,c=((o*o>>>17)+o*s>>>15)+s*s,h=((4294901760&n)*n|0)+((65535&n)*n|0);a[i]=c^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=s,i=e.lib.StreamCipher,n=e.algo,o=[],r=[],a=[],c=n.Rabbit=i.extend({_doReset:function(){for(var e=this._key.words,i=this.cfg.iv,n=0;n<4;n++)e[n]=16711935&(e[n]<<8|e[n]>>>24)|4278255360&(e[n]<<24|e[n]>>>8);var 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],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,n=0;n<4;n++)t.call(this);for(n=0;n<8;n++)r[n]^=o[n+4&7];if(i){var a=i.words,s=a[0],c=a[1],h=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),l=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>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,n=0;n<4;n++)t.call(this)}},_doProcessBlock:function(e,i){var n=this._X;t.call(this),o[0]=n[0]^n[5]>>>16^n[3]<<16,o[1]=n[2]^n[7]>>>16^n[5]<<16,o[2]=n[4]^n[1]>>>16^n[7]<<16,o[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)o[r]=16711935&(o[r]<<8|o[r]>>>24)|4278255360&(o[r]<<24|o[r]>>>8),e[i+r]^=o[r]},blockSize:4,ivSize:2});e.Rabbit=i._createHelper(c)}(),s.mode.CTR=function(){var t=s.lib.BlockCipherMode.extend(),e=t.Encryptor=t.extend({processBlock:function(t,e){var i=this._cipher,n=i.blockSize,o=this._iv,r=this._counter;o&&(r=this._counter=o.slice(0),this._iv=void 0);var a=r.slice(0);i.encryptBlock(a,0),r[n-1]=r[n-1]+1|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 n=t[i]+e[i],o=65535&n,s=n>>>16,c=((o*o>>>17)+o*s>>>15)+s*s,h=((4294901760&n)*n|0)+((65535&n)*n|0);a[i]=c^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=s,i=e.lib.StreamCipher,n=e.algo,o=[],r=[],a=[],c=n.RabbitLegacy=i.extend({_doReset:function(){var e=this._key.words,i=this.cfg.iv,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],o=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++)o[r]^=n[r+4&7];if(i){var a=i.words,s=a[0],c=a[1],h=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),l=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),u=h>>>16|4294901760&l,p=l<<16|65535&h;for(o[0]^=h,o[1]^=u,o[2]^=l,o[3]^=p,o[4]^=h,o[5]^=u,o[6]^=l,o[7]^=p,r=0;r<4;r++)t.call(this)}},_doProcessBlock:function(e,i){var n=this._X;t.call(this),o[0]=n[0]^n[5]>>>16^n[3]<<16,o[1]=n[2]^n[7]>>>16^n[5]<<16,o[2]=n[4]^n[1]>>>16^n[7]<<16,o[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)o[r]=16711935&(o[r]<<8|o[r]>>>24)|4278255360&(o[r]<<24|o[r]>>>8),e[i+r]^=o[r]},blockSize:4,ivSize:2});e.RabbitLegacy=i._createHelper(c)}(),s.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}},s}),cc._RF.pop()},{}],share:[function(t,e,i){"use strict";cc._RF.push(e,"7290caA39xMWZc2phTMKovP","share");var n=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))(function(o,r){function a(t){try{c(n.next(t))}catch(e){r(e)}}function s(t){try{c(n.throw(t))}catch(e){r(e)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(a,s)}c((n=n.apply(t,e||[])).next())})},o=this&&this.__generator||function(t,e){var i,n,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(t){return function(e){return c([t,e])}}function c(r){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,n&&(o=2&r[0]?n.return:r[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,r[1])).done)return o;switch(n=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return a.label++,{value:r[1],done:!1};case 5:a.label++,n=r[1],r=[0];continue;case 7:r=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){a=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=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 o(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,n){if((!n||this.mMusicSwitch)&&(n||this.mEffectSwitch)){var o=n?this.bgMusicVolume:this.effectMusicVolume;if(cc.sys.isBrowser){t==this.brickSound&&(o=.1),o=1;var r=cc.audioEngine.play(t,e,o);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([c(cc.AudioClip)],e.prototype,"audioGameBgm0",void 0),r([c(cc.AudioClip)],e.prototype,"audioButtonClick",void 0),r([c(cc.AudioClip)],e.prototype,"audioWarning",void 0),r([c(cc.AudioClip)],e.prototype,"audioWin",void 0),r([c(cc.AudioClip)],e.prototype,"luodui",void 0),i=r([s],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 n=t("../Config/GameConfig"),o=t("../Crypto/HttpUtil"),r=t("../Music/AudioManager"),a=t("../Notification/Notification"),s=t("../Storage/Storage"),c=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=n.GameConfig,cc.fx.HttpUtil=o.default,cc.fx.GameTool=c.GameTool,cc.fx.AudioManager=r.default,cc.fx.Notifications=a.Notifications,cc.fx.StorageMessage=s.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 n=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0}),i.GameConfig=void 0;var o=t("../Share/share"),r=cc._decorator,a=r.ccclass,s=(r.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.getKey=function(t){var e=new RegExp("(^|&)"+t+"=([^&]*)(&|$)","i"),i=window.location.search.substr(1).match(e);return null!=i?unescape(i[2]):""},t.init=function(){this.GM_INFO_init(),this.CLICK_init(),this.LEVEL_INFO_init();var t=this;cc.resources.load("Json/LEVEL_INFO",function(e,i){if(!e){var n=i.json;t.LEVEL_INFO=n.data}}),t.GAME_DATA=[]},t.GM_INFO_init=function(){this.GM_INFO={mean_Time:0,total:0,currSeed:203213,gameId:"100009",userId:0,scode:"",guide:!0,url:"https://api.sparkus.cn",success:!1,matchId:null,custom:0,gap:[]},this.setCode(this.getKey("scode")),o.WeChat.setShare(location.href),this.Authentication()},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,gap:[]}},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.setCode=function(t){this.GM_INFO.scode=t},t._instance=null,e=n([a("GameConfig")],t)}());i.GameConfig=s,cc._RF.pop()},{"../Share/share":"share"}],GameManager:[function(t,e,i){"use strict";cc._RF.push(e,"b0432BA295DjIOcuitdGKO1","GameManager");var n,o=this&&this.__extends||(n=function(t,e){return(n=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}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=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 o(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,n=this.ball_Array[0],o=1;o=0)for(var i=this.ball_Array[0],n=function(n){cc.tween(o.ball_Array[n]).to(2,{x:i.x,y:i.y}).call(function(){e.ball_Array[n].active=!1,n==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()},o=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,cc.fx.GameConfig.GM_INFO.gap.push(t.distance),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 n=parseInt((this.overTime-this.startTime)/100+"");this.startTime=0,this.overTime=0,this.level<4&&this.level>1||this.level;var o=this.node.getChildByName("Win");o.active=!0,o.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(o).delay(.4).to(.01,{scale:2.5}).to(.35,{scale:1}).delay(.4).call(function(){o.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(t)}},e.prototype.setLoss=function(t){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 e=parseInt((this.overTime-this.startTime)/100+"");e>58&&(e=58),this.startTime=0,this.overTime=0,this.level<4&&this.level>1||this.level,this.round+=1;var i=[];if(this.moveArray.length>0)for(var n=0;n50&&(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*n.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)},n=this,o=0;o=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 n=cc.v2(0,0),o=0;o=0;s--)0==this.moveArray[s]&&(this.moveArray[s]=1,this.moveArray[0]=0,s=-1);for(var c=0;c=0;h--)h!=c&&0==this.moveArray[h]&&h!=this.repeat&&h!=this.numberRepeat&&(this.moveArray[h]=1,this.moveArray[c]=0,h=-1);for(var l=function(e){1==u.moveArray[e]&&setTimeout(function(){n=t.getPos2(!0,e),t.Pos_Array[e]=n},300*(a+=1))},u=this,p=0;p=2&&(n=7-i.moveSpeed/2),i.moveNumber>0){for(var o=0;o=0;r--)r!=o&&0==this.moveArray[r]&&r!=this.repeat&&r!=this.numberRepeat&&(this.moveArray[r]=1,this.moveArray[o]=0,r=-1);for(var a=0,s=0;s0)for(var r=0;r0)for(var r=0;r160&&(1==o?(cc.fx.GameConfig,r=c800&&(c=800),s=c/800*.6):2==o?(c>1200&&(c=1200),s=c/1200*1):3==o&&(c>1200&&(c=1200),s=c/1200*1.5),s},e.prototype.getDistance2=function(t,e,i,n,o){var r=!1,a=i-t,s=n-e,c=Math.sqrt(a*a+s*s);return c>160&&(r=1!=o||c0&&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({distance:0});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;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=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 o(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;var t=window.location.href;this.containsTrain(t)?(this.node.getChildByName("again").active=!1,this.node.getChildByName("back").active=!1,this.node.getChildByName("finishi").active=!0):(this.node.getChildByName("again").active=!0,this.node.getChildByName("back").active=!0,this.node.getChildByName("finishi").active=!1),this.getRank()},e.prototype.jumpFinishi=function(){var t="https://train.sparkus.cn/poster/game/"+cc.fx.GameConfig.GM_INFO.scode+"?suc=1";window.location.href=t},e.prototype.openRank=function(){cc.director.loadScene("RankScene")},e.prototype.again=function(){cc.director.loadScene("GameScene")},e.prototype.containsTrain=function(t){return/from=train/i.test(t)},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){if(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,e.nickName=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([c(cc.Label)],e.prototype,"count",void 0),r([c(cc.Label)],e.prototype,"time",void 0),r([c(cc.Node)],e.prototype,"selfNode",void 0),r([c(cc.Node)],e.prototype,"one",void 0),r([c(cc.Node)],e.prototype,"two",void 0),r([c(cc.Node)],e.prototype,"three",void 0),r([c(cc.Node)],e.prototype,"four",void 0),r([c(cc.Node)],e.prototype,"five",void 0),r([s],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 n={_startTime:0,_endTime:0,_totalTime:0,Authentication:function(){var t="user_"+cc.fx.GameConfig.GM_INFO.gameId,e=null;if(localStorage.getItem(t)&&(e=JSON.parse(localStorage.getItem(t))),"undifend"==e||null==e||""==e){var i="https://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback="+encodeURIComponent(location.href);console.log("\u94fe\u63a5\u6ca1ID\u51c6\u5907\u8df3\u8f6c",i),window.location.href=i}else this.isNumber(e.userId)?(cc.fx.StorageMessage.setStorage(t,e),cc.fx.GameConfig.GM_INFO.userId=parseInt(e.userId)):(i="https://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback="+encodeURIComponent(location.href),console.log("\u94fe\u63a5\u4e0d\u5408\u6cd5",i),window.location.href=i)},isNumber:function(t){var e=!1;return(e="number"==typeof t)&&t<2e5&&(e=!1),e},setGameData:function(){cc.fx.GameConfig.GAME_DATA=[],cc.fx.GameConfig.GAME_DATA.push(cc.fx.GameConfig.CLICK_DATA);var t=cc.fx.GameConfig.CLICK_DATA.round;cc.fx.GameConfig.CLICK_init();var e=cc.fx.GameConfig.GAME_DATA,i=this.getMatchId(t),n={gameId:cc.fx.GameConfig.GM_INFO.gameId,userId:cc.fx.GameConfig.GM_INFO.userId,scode:cc.fx.GameConfig.GM_INFO.scode,matchId:i,data:e};console.log("\u4e0a\u4f20\u6570\u636e:",n),cc.fx.HttpUtil.uploadUserLogData(n,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,n={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)},n)},getMatchId:function(t){var e=cc.sys.localStorage.getItem("matchId"),i=e;if("undifend"==e||null==e)e=this.setMatchId();else if(1==this.containsNanana(e))e=this.setMatchId();else{var n=parseInt(i.substring(10,i.length));1==t&&(n+=1,e=i.slice(0,10)+n+"",this.containsNanana(e)&&(e=this.setMatchId()),cc.fx.GameConfig.GM_INFO.matchId=e,cc.sys.localStorage.setItem("matchId",e))}return 1==this.containsNanana(e)&&(e=this.setMatchId()),e},containsNanana:function(t){return/na/i.test(t)},setMatchId:function(){for(var t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",e=[],i=0;i<10;i++){var n=Math.floor(Math.random()*t.length),o=t.charAt(n);e.push(o)}var r=e.join("")+1+"";return cc.sys.localStorage.setItem("matchNumber",1),this.containsNanana(r)&&(r=this.setMatchId()),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(){})},100),cc.assetManager.loadRemote(i,{ext:".png"},function(e,i){i&&(t.active=!0,t.getComponent(cc.Sprite).spriteFrame=new cc.SpriteFrame(i))})},getRankData:function(t,e,i){e.listData=t.data.list,e.selfData=t.data.info;var n=[],o=!1;cc.fx.GameTool.setPic(e.selfNode.getChildByName("pic").getChildByName("icon"),e.selfData.pic);for(var r=0;r<=e.listData.length-1;r++)n.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&&(o=!0,e.rankNumber=r,e.selfNode.getChildByName("rankLab").getComponent(cc.Label).string=r+1+""),r==e.listData.length-1&&0==o&&(e.rankNumber=r,e.selfNode.getChildByName("rankLab").getComponent(cc.Label).string="99+");var a=cc.fx.GameTool.subName(e.selfData.nickName,i);switch(e.selfNode.getChildByName("nameLab").getComponent(cc.Label).string=a,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(n),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 n=parseInt((e-3600*i)/60+""),o=""+n;n<10&&(o="0"+n);var r=e-3600*i-60*n,a=r+"";return r<10&&(a="0"+r),o+":"+a},getTime:function(){return(new Date).getTime()},pushLister:function(){},removeAllLister:function(){}};i.GameTool=n,cc._RF.pop()},{}],GuideManager:[function(t,e,i){"use strict";cc._RF.push(e,"3fd2fh6vHNJeISUizW09xat","GuideManager");var n,o=this&&this.__extends||(n=function(t,e){return(n=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}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=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 o(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,n=t.ball_Array[0],o=1;o0&&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(n.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()},n=this,o=1;o=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a},s=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))(function(o,r){function a(t){try{c(n.next(t))}catch(e){r(e)}}function s(t){try{c(n.throw(t))}catch(e){r(e)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(a,s)}c((n=n.apply(t,e||[])).next())})},c=this&&this.__generator||function(t,e){var i,n,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(t){return function(e){return c([t,e])}}function c(r){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,n&&(o=2&r[0]?n.return:r[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,r[1])).done)return o;switch(n=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return a.label++,{value:r[1],done:!1};case 5:a.label++,n=r[1],r=[0];continue;case 7:r=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){a=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]0?(n-=1,setTimeout(function(){return s(l,void 0,void 0,function(){return c(this,function(o){switch(o.label){case 0:return[4,this.fetchData(t,e,i,n)];case 1:return a=o.sent(),[2]}})})},5e3*(3-n)),[3,5]):[2,null];case 5:return[2]}})})},e.fetchWithTimeout=function(t,e){return void 0===e&&(e={}),s(this,void 0,void 0,function(){var i,n,o;return c(this,function(a){switch(a.label){case 0:return i=new AbortController,n=setTimeout(function(){return i.abort()},5e3),[4,fetch(t,r(r({},e),{signal:i.signal}))];case 1:return o=a.sent(),clearTimeout(n),[2,o]}})})},e.apiSign=function(t,e){void 0===e&&(e={});var i=t.trim();-1===i.indexOf("?")&&(i+="?");var n="sign="+m(i,y(e)),o=d.encryptByDES(n,f.secretKey);return o=encodeURIComponent(o),g(i)+"&_p="+o},i=a([l],e)}(cc.Component);i.default=p;var f={gameId:"100009",secretKey:"CMNhOzBA",EK:"hui231%1"},d=new(function(){function t(){this.keyHex=this.getHetKey()}return t.prototype.getHetKey=function(){return u.enc.Utf8.parse(f.EK)},t.prototype.encryptByDES=function(t,e){if(!t)return t;var i=e?u.enc.Utf8.parse(e):this.keyHex;return u.DES.encrypt(t,i,{mode:u.mode.ECB,padding:u.pad.Pkcs7}).toString()},t.prototype.decryptByDES=function(t,e){var i=e?u.enc.Utf8.parse(e):this.keyHex;return u.DES.decrypt({ciphertext:u.enc.Base64.parse(t)},i,{mode:u.mode.ECB,padding:u.pad.Pkcs7}).toString(u.enc.Utf8)},t.prototype.hmacSha256=function(t,e){var i=e?u.enc.Utf8.parse(e):this.keyHex;return u.HmacSHA256(t,i).toString()},t.prototype.verifyHmacSha256=function(t,e){return u.HmacSHA256(t,this.keyHex).toString()===e},t.prototype.encryptCBC=function(t){if(!t)return t;var e=u.enc.Utf8.parse(t);return u.AES.encrypt(e,this.keyHex,{iv:this.keyHex,mode:u.mode.CBC,padding:u.pad.ZeroPadding}).toString()},t.prototype.decryptCBC=function(t){if(!t)return t;var e=u.enc.Hex.parse(t),i=u.enc.Base64.stringify(e);return u.AES.decrypt(i,this.keyHex,{iv:this.keyHex,mode:u.mode.CBC,padding:u.pad.ZeroPadding}).toString(u.enc.Utf8).toString()},t}());function y(t){for(var e,i=Object.keys(t).sort(),n={},o=0;o=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=(a.property,function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=null,e.itemIndex=0,e}return o(e,t),e.prototype.dataChanged=function(){var t=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=t+"",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(){}),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([s],e)}(cc.Component));i.default=c,cc._RF.pop()},{}],List:[function(t,e,i){"use strict";cc._RF.push(e,"d5421HgLShFKIjj5f18m1mi","List");var n,o=this&&this.__extends||(n=function(t,e){return(n=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}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(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,s,c=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"}(s=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=s.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 o(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==s.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==s.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&&((n=this.itemList.pop()).removeFromParent(),this.itemPool.push(n))}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,o=(this.itemHeight+this.spaceY)*e.length,r=0;ri&&t.y-o-this.padding_buttom>-this.content.height){var s=(h=t.getComponent(c.default)).itemIndex+e.length;h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.y=t.y-o}}else if(a.y<-i&&t.y+o+this.padding_top<0){var h;s=(h=t.getComponent(c.default)).itemIndex-e.length,h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.y=t.y+o}}this.lastContentPosY=this.scrollView.content.y},e.prototype.udpateH=function(){for(var t,e=this.itemList,i=this.halfScrollView,n=this.scrollView.content.x>this.lastContentPosX,o=(this.itemWidth+this.spaceX)*e.length,r=0;ri&&t.x-o-this.padding_left>0){var s=(h=t.getComponent(c.default)).itemIndex-e.length;h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.x=t.x-o}}else if(a.x<-i&&t.x+o+this.padding_rightthis.lastContentPosY,o=(this.itemHeight+this.spaceY)*(this.spawnCount/this.gridCol),r=0;ri&&t.y-o-this.padding_buttom>-this.content.height){var s=(h=t.getComponent(c.default)).itemIndex+this.spawnCount/this.gridCol*this.gridCol;null!=this.itemDataList[s]?(t.y=t.y-o,h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.opacity=255):(t.y=t.y-o,h.itemIndex=s,t.opacity=0)}}else if(a.y<-i&&t.y+o+this.padding_top<0){var h;s=(h=t.getComponent(c.default)).itemIndex-this.spawnCount/this.gridCol*this.gridCol,null!=this.itemDataList[s]?(t.y=t.y+o,h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.opacity=255):(t.y=t.y+o,h.itemIndex=s,t.opacity=0)}}this.lastContentPosY=this.scrollView.content.y},e.prototype.updateGrid_H=function(){for(var t,e=this.itemList,i=this.halfScrollView,n=this.scrollView.content.x>this.lastContentPosX,o=(this.itemWidth+this.spaceX)*(this.spawnCount/this.gridRow),r=0;ri&&t.x-o-this.padding_left>0){var s=(h=t.getComponent(c.default)).itemIndex-this.spawnCount/this.gridRow*this.gridRow;null!=this.itemDataList[s]?(t.x=t.x-o,h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.opacity=255):(t.x=t.x-o,h.itemIndex=s,t.opacity=0)}}else if(a.x<-i&&t.x+o+this.padding_right=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=(a.property,a.requireComponent,function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.start=function(){window.initMgr(),cc.fx.GameConfig.init();var t=window.location.href;this.containsTrain(t)?(console.log("\u65e0\u6392\u884c\u7248\u672c"),this.node.getChildByName("Rank").active=!1):console.log("\u6709\u6392\u884c\u7248\u672c")},e.prototype.containsTrain=function(t){return/from=train/i.test(t)},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([s],e)}(cc.Component));i.default=c,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 n=0;n=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(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"),s=cc._decorator,c=s.ccclass,h=s.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 o(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&&(console.log(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(){});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([c],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 n={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=n,cc._RF.pop()},{}],Sun:[function(t,e,i){"use strict";cc._RF.push(e,"4be67sdkexCyqLl0NHd9N1f","Sun");var n,o=this&&this.__extends||(n=function(t,e){return(n=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}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=(a.property,function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.start=function(){this.node.on(cc.Node.EventType.TOUCH_START,this.clickBtn,this)},e.prototype.init=function(t,e,i,n){this.touch=!0,this.move=!1,this.id_Number=t,this._color=e,this._speed=i,this._repeat=n,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.distanceBetweenTwoPoints=function(t,e,i,n){return Math.sqrt(Math.pow(i-t,2)+Math.pow(n-e,2))},e.prototype.clickBtn=function(t){var e=this.node.convertToNodeSpaceAR(t.getLocation()),i=this.distanceBetweenTwoPoints(e.x,0,e.y,0);if(i=Math.floor(10*i)/10,"qiu4"!=this.node.name){if(0==this.move&&1==this.touch)if("GameNode"==this.node.parent.parent.name){if(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;var n={id:this.id_Number,distance:i};cc.fx.Notifications.emit("clickSun",n)}}else{this.touch=!1,this.node.zIndex=-1;var o={id:this.id_Number,distance:i};cc.fx.Notifications.emit("clickSun",o)}}else if(1==this.touch&&1==this.node.parent.parent.getComponent("GuideManager").begin){this.touch=!1,this.node.zIndex=-1;var r={id:this.id_Number,distance:i};cc.fx.Notifications.emit("clickSun",r)}},r([s],e)}(cc.Component));i.default=c,cc._RF.pop()},{}],"crypto-js.min":[function(t,e,i){"use strict";cc._RF.push(e,"e64e1qXyT9CV6s0gDQdj/ed","crypto-js.min"),function(t,n){"object"==typeof i?e.exports=i=n():"function"==typeof define&&define.amd?define([],n):(void 0).CryptoJS=n()}(0,function(){var t,e,i,n,o,r,a,s=s||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={},n=i.lib={},o=n.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=n.WordArray=o.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=null!=e?e:4*t.length},toString:function(t){return(t||s).stringify(this)},concat:function(t){var e=this.words,i=t.words,n=this.sigBytes,o=t.sigBytes;if(this.clamp(),n%4)for(var r=0;r>>2]>>>24-r%4*8&255;e[n+r>>>2]|=a<<24-(n+r)%4*8}else for(r=0;r>>2]=i[r>>>2];return this.sigBytes+=o,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=o.clone.call(this);return t.words=this.words.slice(0),t},random:function(e){for(var i,n=[],o=function(e){e=e;var i=987654321,n=4294967295;return function(){var o=((i=36969*(65535&i)+(i>>16)&n)<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n;return o/=4294967296,(o+=.5)*(t.random()>.5?1:-1)}},a=0;a>>2]>>>24-o%4*8&255;n.push((r>>>4).toString(16)),n.push((15&r).toString(16))}return n.join("")},parse:function(t){for(var e=t.length,i=[],n=0;n>>3]|=parseInt(t.substr(n,2),16)<<24-n%8*4;return new r.init(i,e/2)}},c=a.Latin1={stringify:function(t){for(var e=t.words,i=t.sigBytes,n=[],o=0;o>>2]>>>24-o%4*8&255;n.push(String.fromCharCode(r))}return n.join("")},parse:function(t){for(var e=t.length,i=[],n=0;n>>2]|=(255&t.charCodeAt(n))<<24-n%4*8;return new r.init(i,e)}},h=a.Utf8={stringify:function(t){try{return decodeURIComponent(escape(c.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return c.parse(unescape(encodeURIComponent(t)))}},l=n.BufferedBlockAlgorithm=o.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,n=i.words,o=i.sigBytes,a=this.blockSize,s=o/(4*a),c=(s=e?t.ceil(s):t.max((0|s)-this._minBufferSize,0))*a,h=t.min(4*c,o);if(c){for(var l=0;l>>6-a%4*2;o[r>>>2]|=(s|c)<<24-r%4*8,r++}return i.create(o,r)}var e=s,i=e.lib.WordArray;e.enc.Base64={stringify:function(t){var e=t.words,i=t.sigBytes,n=this._map;t.clamp();for(var o=[],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,s=0;s<4&&r+.75*s>>6*(3-s)&63));var c=n.charAt(64);if(c)for(;o.length%4;)o.push(c);return o.join("")},parse:function(e){var i=e.length,n=this._map,o=this._reverseMap;if(!o){o=this._reverseMap=[];for(var r=0;r>>32-r)+e}function i(t,e,i,n,o,r,a){var s=t+(e&n|i&~n)+o+a;return(s<>>32-r)+e}function n(t,e,i,n,o,r,a){var s=t+(e^i^n)+o+a;return(s<>>32-r)+e}function o(t,e,i,n,o,r,a){var s=t+(i^(e|~n))+o+a;return(s<>>32-r)+e}var r=s,a=r.lib,c=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 c.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,r){for(var a=0;a<16;a++){var s=r+a,c=t[s];t[s]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>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],S=t[r+13],A=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,S,12,u[13]),M=e(M,P,B,N,A,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,A,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,S,5,u[28]),P=i(P,B,N,M,f,9,u[29]),M=i(M,P,B,N,v,14,u[30]),B=n(B,N=i(N,M,P,B,x,20,u[31]),M,P,m,4,u[32]),P=n(P,B,N,M,_,11,u[33]),M=n(M,P,B,N,w,16,u[34]),N=n(N,M,P,B,A,23,u[35]),B=n(B,N,M,P,p,4,u[36]),P=n(P,B,N,M,y,11,u[37]),M=n(M,P,B,N,v,16,u[38]),N=n(N,M,P,B,C,23,u[39]),B=n(B,N,M,P,S,4,u[40]),P=n(P,B,N,M,l,11,u[41]),M=n(M,P,B,N,d,16,u[42]),N=n(N,M,P,B,g,23,u[43]),B=n(B,N,M,P,b,4,u[44]),P=n(P,B,N,M,x,11,u[45]),M=n(M,P,B,N,k,16,u[46]),B=o(B,N=n(N,M,P,B,f,23,u[47]),M,P,l,6,u[48]),P=o(P,B,N,M,v,10,u[49]),M=o(M,P,B,N,A,15,u[50]),N=o(N,M,P,B,m,21,u[51]),B=o(B,N,M,P,x,6,u[52]),P=o(P,B,N,M,d,10,u[53]),M=o(M,P,B,N,C,15,u[54]),N=o(N,M,P,B,p,21,u[55]),B=o(B,N,M,P,_,6,u[56]),P=o(P,B,N,M,k,10,u[57]),M=o(M,P,B,N,g,15,u[58]),N=o(N,M,P,B,S,21,u[59]),B=o(B,N,M,P,y,6,u[60]),P=o(P,B,N,M,w,10,u[61]),M=o(M,P,B,N,f,15,u[62]),N=o(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,n=8*this._nDataBytes,o=8*e.sigBytes;i[o>>>5]|=128<<24-o%32;var r=t.floor(n/4294967296),a=n;i[15+(o+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),i[14+(o+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),e.sigBytes=4*(i.length+1),this._process();for(var s=this._hash,c=s.words,h=0;h<4;h++){var l=c[h];c[h]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}return s},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=s).lib,i=e.WordArray,n=e.Hasher,o=t.algo,r=[],a=o.SHA1=n.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var i=this._hash.words,n=i[0],o=i[1],a=i[2],s=i[3],c=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=(n<<5|n>>>27)+c+r[h];u+=h<20?1518500249+(o&a|~o&s):h<40?1859775393+(o^a^s):h<60?(o&a|o&s|a&s)-1894007588:(o^a^s)-899497514,c=s,s=a,a=o<<30|o>>>2,o=n,n=u}i[0]=i[0]+n|0,i[1]=i[1]+o|0,i[2]=i[2]+a|0,i[3]=i[3]+s|0,i[4]=i[4]+c|0},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[14+(n+64>>>9<<4)]=Math.floor(i/4294967296),e[15+(n+64>>>9<<4)]=i,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}}),t.SHA1=n._createHelper(a),t.HmacSHA1=n._createHmacHelper(a),function(t){var e=s,i=e.lib,n=i.WordArray,o=i.Hasher,r=e.algo,a=[],c=[];!function(){function e(e){for(var i=t.sqrt(e),n=2;n<=i;n++)if(!(e%n))return!1;return!0}function i(t){return 4294967296*(t-(0|t))|0}for(var n=2,o=0;o<64;)e(n)&&(o<8&&(a[o]=i(t.pow(n,.5))),c[o]=i(t.pow(n,1/3)),o++),n++}();var h=[],l=r.SHA256=o.extend({_doReset:function(){this._hash=new n.init(a.slice(0))},_doProcessBlock:function(t,e){for(var i=this._hash.words,n=i[0],o=i[1],r=i[2],a=i[3],s=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=n&o^n&r^o&r,_=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),b=p+((s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25))+(s&l^~s&u)+c[f]+h[f];p=u,u=l,l=s,s=a+b|0,a=r,r=o,o=n,n=b+(_+v)|0}i[0]=i[0]+n|0,i[1]=i[1]+o|0,i[2]=i[2]+r|0,i[3]=i[3]+a|0,i[4]=i[4]+s|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,n=8*this._nDataBytes,o=8*e.sigBytes;return i[o>>>5]|=128<<24-o%32,i[14+(o+64>>>9<<4)]=t.floor(n/4294967296),i[15+(o+64>>>9<<4)]=n,e.sigBytes=4*i.length,this._process(),this._hash},clone:function(){var t=o.clone.call(this);return t._hash=this._hash.clone(),t}});e.SHA256=o._createHelper(l),e.HmacSHA256=o._createHmacHelper(l)}(Math),function(){function t(t){return t<<8&4278255360|t>>>8&16711935}var e=s,i=e.lib.WordArray,n=e.enc;n.Utf16=n.Utf16BE={stringify:function(t){for(var e=t.words,i=t.sigBytes,n=[],o=0;o>>2]>>>16-o%4*8&65535;n.push(String.fromCharCode(r))}return n.join("")},parse:function(t){for(var e=t.length,n=[],o=0;o>>1]|=t.charCodeAt(o)<<16-o%2*16;return i.create(n,2*e)}},n.Utf16LE={stringify:function(e){for(var i=e.words,n=e.sigBytes,o=[],r=0;r>>2]>>>16-r%4*8&65535);o.push(String.fromCharCode(a))}return o.join("")},parse:function(e){for(var n=e.length,o=[],r=0;r>>1]|=t(e.charCodeAt(r)<<16-r%2*16);return i.create(o,2*n)}}}(),function(){if("function"==typeof ArrayBuffer){var t=s.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,n=[],o=0;o>>2]|=t[o]<<24-o%4*8;e.call(this,n,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 n(t,e,i){return t&i|e&~i}function o(t,e,i){return t^(e|~i)}function r(t,e){return t<>>32-e}var a=s,c=a.lib,h=c.WordArray,l=c.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,s){for(var c=0;c<16;c++){var h=s+c,l=a[h];a[h]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}var u,v,_,b,C,w,x,S,A,k,B,N=this._hash.words,M=m.words,P=g.words,I=p.words,L=f.words,G=d.words,R=y.words;for(w=u=N[0],x=v=N[1],S=_=N[2],A=b=N[3],k=C=N[4],c=0;c<80;c+=1)B=u+a[s+I[c]]|0,B+=c<16?t(v,_,b)+M[0]:c<32?e(v,_,b)+M[1]:c<48?i(v,_,b)+M[2]:c<64?n(v,_,b)+M[3]:o(v,_,b)+M[4],B=(B=r(B|=0,G[c]))+C|0,u=C,C=b,b=r(_,10),_=v,v=B,B=w+a[s+L[c]]|0,B+=c<16?o(x,S,A)+P[0]:c<32?n(x,S,A)+P[1]:c<48?i(x,S,A)+P[2]:c<64?e(x,S,A)+P[3]:t(x,S,A)+P[4],B=(B=r(B|=0,R[c]))+k|0,w=k,k=A,A=r(S,10),S=x,x=B;B=N[1]+_+A|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+S|0,N[0]=B},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;e[n>>>5]|=128<<24-n%32,e[14+(n+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t.sigBytes=4*(e.length+1),this._process();for(var o=this._hash,r=o.words,a=0;a<5;a++){var s=r[a];r[a]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}return o},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=s,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 n=t.blockSize,o=4*n;e.sigBytes>o&&(e=t.finalize(e)),e.clamp();for(var r=this._oKey=e.clone(),a=this._iKey=e.clone(),s=r.words,c=a.words,h=0;h>>24)|4278255360&(r<<24|r>>>8),a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),(N=i[o]).high^=a,N.low^=r}for(var s=0;s<24;s++){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,S=c[C];S<32?(f=w<>>32-S,d=x<>>32-S):(f=x<>>64-S,d=w<>>64-S);var A=u[h[C]];A.high=f,A.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],I=u[(p+2)%5+5*y];N.high=M.high^~P.high&I.high,N.low=M.low^~P.low&I.low}N=i[0];var L=l[s];N.high^=L.high,N.low^=L.low}},_doFinalize:function(){var e=this._data,i=e.words,o=(this._nDataBytes,8*e.sigBytes),r=32*this.blockSize;i[o>>>5]|=1<<24-o%32,i[(t.ceil((o+1)/r)*r>>>5)-1]|=128,e.sigBytes=4*i.length,this._process();for(var a=this._state,s=this.cfg.outputLength/8,c=s/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 n.init(h,s)},clone:function(){for(var t=o.clone.call(this),e=t._state=this._state.slice(0),i=0;i<25;i++)e[i]=e[i].clone();return t}});e.SHA3=o._createHelper(p),e.HmacSHA3=o._createHmacHelper(p)}(Math),function(){function t(){return o.create.apply(o,arguments)}var e=s,i=e.lib.Hasher,n=e.x64,o=n.Word,r=n.WordArray,a=e.algo,c=[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 o.init(1779033703,4089235720),new o.init(3144134277,2227873595),new o.init(1013904242,4271175723),new o.init(2773480762,1595750129),new o.init(1359893119,2917565137),new o.init(2600822924,725511199),new o.init(528734635,4215389547),new o.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var i=this._hash.words,n=i[0],o=i[1],r=i[2],a=i[3],s=i[4],l=i[5],u=i[6],p=i[7],f=n.high,d=n.low,y=o.high,m=o.low,g=r.high,v=r.low,_=a.high,b=a.low,C=s.high,w=s.low,x=l.high,S=l.low,A=u.high,k=u.low,B=p.high,N=p.low,M=f,P=d,I=y,L=m,G=g,R=v,D=_,T=b,O=C,F=w,E=x,H=S,j=A,z=k,V=B,W=N,U=0;U<80;U++){var K=h[U];if(U<16)var X=K.high=0|t[e+2*U],q=K.low=0|t[e+2*U+1];else{var Y=h[U-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[U-2],et=tt.high,it=tt.low,nt=(et>>>19|it<<13)^(et<<3|it>>>29)^et>>>6,ot=(it>>>19|et<<13)^(it<<3|et>>>29)^(it>>>6|et<<26),rt=h[U-7],at=rt.high,st=rt.low,ct=h[U-16],ht=ct.high,lt=ct.low;X=(X=(X=Q+at+((q=$+st)>>>0<$>>>0?1:0))+nt+((q+=ot)>>>0>>0?1:0))+ht+((q+=lt)>>>0>>0?1:0),K.high=X,K.low=q}var ut,pt=O&E^~O&j,ft=F&H^~F&z,dt=M&I^M&G^I&G,yt=P&L^P&R^L&R,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=(O>>>14|F<<18)^(O>>>18|F<<14)^(O<<23|F>>>9),_t=(F>>>14|O<<18)^(F>>>18|O<<14)^(F<<23|O>>>9),bt=c[U],Ct=bt.high,wt=bt.low,xt=V+vt+((ut=W+_t)>>>0>>0?1:0),St=gt+yt;V=j,W=z,j=E,z=H,E=O,H=F,O=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=T+ut|0)>>>0>>0?1:0)|0,D=G,T=R,G=I,R=L,I=M,L=P,M=xt+(mt+dt+(St>>>0>>0?1:0))+((P=ut+St|0)>>>0>>0?1:0)|0}d=n.low=d+P,n.high=f+M+(d>>>0

>>0?1:0),m=o.low=m+L,o.high=y+I+(m>>>0>>0?1:0),v=r.low=v+R,r.high=g+G+(v>>>0>>0?1:0),b=a.low=b+T,a.high=_+D+(b>>>0>>0?1:0),w=s.low=w+F,s.high=C+O+(w>>>0>>0?1:0),S=l.low=S+H,l.high=x+E+(S>>>0>>0?1:0),k=u.low=k+z,u.high=A+j+(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,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[30+(n+128>>>10<<5)]=Math.floor(i/4294967296),e[31+(n+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=s,e=t.x64,i=e.Word,n=e.WordArray,o=t.algo,r=o.SHA512,a=o.SHA384=r.extend({_doReset:function(){this._hash=new n.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)}(),s.lib.Cipher||function(t){var e=s,i=e.lib,n=i.Base,o=i.WordArray,r=i.BufferedBlockAlgorithm,a=e.enc,c=(a.Utf8,a.Base64),h=e.algo.EvpKDF,l=i.Cipher=r.extend({cfg:n.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,n,o){return t(n).encrypt(e,i,n,o)},decrypt:function(i,n,o){return t(n).decrypt(e,i,n,o)}}}}()}),u=(i.StreamCipher=l.extend({_doFinalize:function(){return this._process(!0)},blockSize:1}),e.mode={}),p=i.BlockCipherMode=n.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,n){var o=this._iv;if(o){var r=o;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 n=i.createEncryptor;else n=i.createDecryptor,this._minBufferSize=1;this._mode&&this._mode.__creator==n?this._mode.init(this,e&&e.words):(this._mode=n.call(i,this,e&&e.words),this._mode.__creator=n)},_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=n.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 n=o.create([1398893684,1701076831]).concat(i).concat(e);else n=e;return n.toString(c)},parse:function(t){var e=c.parse(t),i=e.words;if(1398893684==i[0]&&1701076831==i[1]){var n=o.create(i.slice(2,4));i.splice(0,4),e.sigBytes-=16}return y.create({ciphertext:e,salt:n})}},g=i.SerializableCipher=n.extend({cfg:n.extend({format:m}),encrypt:function(t,e,i,n){n=this.cfg.extend(n);var o=t.createEncryptor(i,n),r=o.finalize(e),a=o.cfg;return y.create({ciphertext:r,key:i,iv:a.iv,algorithm:t,mode:a.mode,padding:a.padding,blockSize:t.blockSize,formatter:n.format})},decrypt:function(t,e,i,n){return n=this.cfg.extend(n),e=this._parse(e,n.format),t.createDecryptor(i,n).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,n){n||(n=o.random(8));var r=h.create({keySize:e+i}).compute(t,n),a=o.create(r.words.slice(e),4*i);return r.sigBytes=4*e,y.create({key:r,iv:a,salt:n})}},_=i.PasswordBasedCipher=g.extend({cfg:g.cfg.extend({kdf:v}),encrypt:function(t,e,i,n){var o=(n=this.cfg.extend(n)).kdf.execute(i,t.keySize,t.ivSize);n.iv=o.iv;var r=g.encrypt.call(this,t,e,o.key,n);return r.mixIn(o),r},decrypt:function(t,e,i,n){n=this.cfg.extend(n),e=this._parse(e,n.format);var o=n.kdf.execute(i,t.keySize,t.ivSize,e.salt);return n.iv=o.iv,g.decrypt.call(this,t,e,o.key,n)}})}(),s.mode.CFB=function(){function t(t,e,i,n){var o=this._iv;if(o){var r=o.slice(0);this._iv=void 0}else r=this._prevBlock;n.encryptBlock(r,0);for(var a=0;a>>2]|=o<<24-r%4*8,t.sigBytes+=o},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},s.pad.Iso10126={pad:function(t,e){var i=4*e,n=i-t.sigBytes%i;t.concat(s.lib.WordArray.random(n-1)).concat(s.lib.WordArray.create([n<<24],1))},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},s.pad.Iso97971={pad:function(t,e){t.concat(s.lib.WordArray.create([2147483648],1)),s.pad.ZeroPadding.pad(t,e)},unpad:function(t){s.pad.ZeroPadding.unpad(t),t.sigBytes--}},s.mode.OFB=function(){var t=s.lib.BlockCipherMode.extend(),e=t.Encryptor=t.extend({processBlock:function(t,e){var i=this._cipher,n=i.blockSize,o=this._iv,r=this._keystream;o&&(r=this._keystream=o.slice(0),this._iv=void 0),i.encryptBlock(r,0);for(var a=0;a>>8^255&d^99,n[i]=d,o[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,c[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]]],s^=t[t[s]]):i=s=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,o=4*((this._nRounds=i+6)+1),r=this._keySchedule=[],a=0;a6&&a%i==4&&(s=n[s>>>24]<<24|n[s>>>16&255]<<16|n[s>>>8&255]<<8|n[255&s]):(s=n[(s=s<<8|s>>>24)>>>24]<<24|n[s>>>16&255]<<16|n[s>>>8&255]<<8|n[255&s],s^=d[a/i|0]<<24),r[a]=r[a-i]^s}for(var c=this._invKeySchedule=[],h=0;h>>24]]^u[n[s>>>16&255]]^p[n[s>>>8&255]]^f[n[255&s]]}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,r,a,c,h,n)},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,o),i=t[e+1],t[e+1]=t[e+3],t[e+3]=i},_doCryptBlock:function(t,e,i,n,o,r,a,s){for(var c=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]^o[l>>>16&255]^r[u>>>8&255]^a[255&p]^i[f++],m=n[l>>>24]^o[u>>>16&255]^r[p>>>8&255]^a[255&h]^i[f++],g=n[u>>>24]^o[p>>>16&255]^r[h>>>8&255]^a[255&l]^i[f++],v=n[p>>>24]^o[h>>>16&255]^r[l>>>8&255]^a[255&u]^i[f++];h=y,l=m,u=g,p=v}y=(s[h>>>24]<<24|s[l>>>16&255]<<16|s[u>>>8&255]<<8|s[255&p])^i[f++],m=(s[l>>>24]<<24|s[u>>>16&255]<<16|s[p>>>8&255]<<8|s[255&h])^i[f++],g=(s[u>>>24]<<24|s[p>>>16&255]<<16|s[h>>>8&255]<<8|s[255&l])^i[f++],v=(s[p>>>24]<<24|s[h>>>16&255]<<16|s[l>>>8&255]<<8|s[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-n%32&1}for(var o=this._subKeys=[],r=0;r<16;r++){var a=o[r]=[],s=l[r];for(i=0;i<24;i++)a[i/6|0]|=e[(h[i]-1+s)%28]<<31-i%6,a[4+(i/6|0)]|=e[28+(h[i+24]-1+s)%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]=o[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,n,o){this._lBlock=i[n],this._rBlock=i[n+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=o[r],s=this._lBlock,c=this._rBlock,h=0,l=0;l<8;l++)h|=u[l][((c^a[l])&p[l])>>>0];this._lBlock=c,this._rBlock=s^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[n]=this._lBlock,i[n+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(o.create(t.slice(0,2))),this._des2=f.createEncryptor(o.create(t.slice(2,4))),this._des3=f.createEncryptor(o.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,n=0,o=0;o<4;o++){i=(i+t[e=(e+1)%256])%256;var r=t[e];t[e]=t[i],t[i]=r,n|=t[(t[e]+t[i])%256]<<24-8*o}return this._i=e,this._j=i,n}var e=s,i=e.lib.StreamCipher,n=e.algo,o=n.RC4=i.extend({_doReset:function(){for(var t=this._key,e=t.words,i=t.sigBytes,n=this._S=[],o=0;o<256;o++)n[o]=o;o=0;for(var r=0;o<256;o++){var a=o%i,s=e[a>>>2]>>>24-a%4*8&255;r=(r+n[o]+s)%256;var c=n[o];n[o]=n[r],n[r]=c}this._i=this._j=0},_doProcessBlock:function(e,i){e[i]^=t.call(this)},keySize:8,ivSize:0});e.RC4=i._createHelper(o);var r=n.RC4Drop=o.extend({cfg:o.cfg.extend({drop:192}),_doReset:function(){o._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)t.call(this)}});e.RC4Drop=i._createHelper(r)}(),s.mode.CTRGladman=function(){function t(t){if(255==(t>>24&255)){var e=t>>16&255,i=t>>8&255,n=255&t;255===e?(e=0,255===i?(i=0,255===n?n=0:++n):++i):++e,t=0,t+=e<<16,t+=i<<8,t+=n}else t+=1<<24;return t}function e(e){return 0===(e[0]=t(e[0]))&&(e[1]=t(e[1])),e}var i=s.lib.BlockCipherMode.extend(),n=i.Encryptor=i.extend({processBlock:function(t,i){var n=this._cipher,o=n.blockSize,r=this._iv,a=this._counter;r&&(a=this._counter=r.slice(0),this._iv=void 0),e(a);var s=a.slice(0);n.encryptBlock(s,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 n=t[i]+e[i],o=65535&n,s=n>>>16,c=((o*o>>>17)+o*s>>>15)+s*s,h=((4294901760&n)*n|0)+((65535&n)*n|0);a[i]=c^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=s,i=e.lib.StreamCipher,n=e.algo,o=[],r=[],a=[],c=n.Rabbit=i.extend({_doReset:function(){for(var e=this._key.words,i=this.cfg.iv,n=0;n<4;n++)e[n]=16711935&(e[n]<<8|e[n]>>>24)|4278255360&(e[n]<<24|e[n]>>>8);var 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],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,n=0;n<4;n++)t.call(this);for(n=0;n<8;n++)r[n]^=o[n+4&7];if(i){var a=i.words,s=a[0],c=a[1],h=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),l=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>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,n=0;n<4;n++)t.call(this)}},_doProcessBlock:function(e,i){var n=this._X;t.call(this),o[0]=n[0]^n[5]>>>16^n[3]<<16,o[1]=n[2]^n[7]>>>16^n[5]<<16,o[2]=n[4]^n[1]>>>16^n[7]<<16,o[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)o[r]=16711935&(o[r]<<8|o[r]>>>24)|4278255360&(o[r]<<24|o[r]>>>8),e[i+r]^=o[r]},blockSize:4,ivSize:2});e.Rabbit=i._createHelper(c)}(),s.mode.CTR=function(){var t=s.lib.BlockCipherMode.extend(),e=t.Encryptor=t.extend({processBlock:function(t,e){var i=this._cipher,n=i.blockSize,o=this._iv,r=this._counter;o&&(r=this._counter=o.slice(0),this._iv=void 0);var a=r.slice(0);i.encryptBlock(a,0),r[n-1]=r[n-1]+1|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 n=t[i]+e[i],o=65535&n,s=n>>>16,c=((o*o>>>17)+o*s>>>15)+s*s,h=((4294901760&n)*n|0)+((65535&n)*n|0);a[i]=c^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=s,i=e.lib.StreamCipher,n=e.algo,o=[],r=[],a=[],c=n.RabbitLegacy=i.extend({_doReset:function(){var e=this._key.words,i=this.cfg.iv,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],o=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++)o[r]^=n[r+4&7];if(i){var a=i.words,s=a[0],c=a[1],h=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),l=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),u=h>>>16|4294901760&l,p=l<<16|65535&h;for(o[0]^=h,o[1]^=u,o[2]^=l,o[3]^=p,o[4]^=h,o[5]^=u,o[6]^=l,o[7]^=p,r=0;r<4;r++)t.call(this)}},_doProcessBlock:function(e,i){var n=this._X;t.call(this),o[0]=n[0]^n[5]>>>16^n[3]<<16,o[1]=n[2]^n[7]>>>16^n[5]<<16,o[2]=n[4]^n[1]>>>16^n[7]<<16,o[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)o[r]=16711935&(o[r]<<8|o[r]>>>24)|4278255360&(o[r]<<24|o[r]>>>8),e[i+r]^=o[r]},blockSize:4,ivSize:2});e.RabbitLegacy=i._createHelper(c)}(),s.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}},s}),cc._RF.pop()},{}],share:[function(t,e,i){"use strict";cc._RF.push(e,"7290caA39xMWZc2phTMKovP","share");var n=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))(function(o,r){function a(t){try{c(n.next(t))}catch(e){r(e)}}function s(t){try{c(n.throw(t))}catch(e){r(e)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(a,s)}c((n=n.apply(t,e||[])).next())})},o=this&&this.__generator||function(t,e){var i,n,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(t){return function(e){return c([t,e])}}function c(r){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,n&&(o=2&r[0]?n.return:r[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,r[1])).done)return o;switch(n=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return a.label++,{value:r[1],done:!1};case 5:a.label++,n=r[1],r=[0];continue;case 7:r=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){a=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=0;i--)e.push(cc.v2(t[i].x,t[i].y));return e}function i(t){for(var e=[],i=0;i=this._duration},_cloneDecoration:function(t){t._repeatForever=this._repeatForever,t._speed=this._speed,t._timesForRepeat=this._timesForRepeat,t._easeList=this._easeList,t._speedMethod=this._speedMethod,t._repeatMethod=this._repeatMethod},_reverseEaseList:function(t){if(this._easeList){t._easeList=[];for(var e=0;e1.192092896e-7?this._duration:1.192092896e-7);e=1>e?e:1,this.update(e>0?e:0),this._repeatMethod&&this._timesForRepeat>1&&this.isDone()&&(this._repeatForever||this._timesForRepeat--,this.startWithTarget(this.target),this.step(this._elapsed-this._duration))},startWithTarget:function(t){cc.Action.prototype.startWithTarget.call(this,t),this._elapsed=0,this._firstTick=!0},reverse:function(){return cc.logID(1010),null},setAmplitudeRate:function(){cc.logID(1011)},getAmplitudeRate:function(){return cc.logID(1012),0},speed:function(t){return t<=0?(cc.logID(1013),this):(this._speedMethod=!0,this._speed*=t,this)},getSpeed:function(){return this._speed},setSpeed:function(t){return this._speed=t,this},repeat:function(t){return t=Math.round(t),isNaN(t)||t<1?(cc.logID(1014),this):(this._repeatMethod=!0,this._timesForRepeat*=t,this)},repeatForever:function(){return this._repeatMethod=!0,this._timesForRepeat=this.MAX_VALUE,this._repeatForever=!0,this}}),cc.actionInterval=function(t){return new cc.ActionInterval(t)},cc.Sequence=cc.Class({name:"cc.Sequence",extends:cc.ActionInterval,ctor:function(t){this._actions=[],this._split=null,this._last=0,this._reversed=!1;var e=t instanceof Array?t:arguments;if(1!==e.length){var i=e.length-1;if(i>=0&&null==e[i]&&cc.logID(1015),i>=0){for(var n,r=e[0],s=1;s1?e%1:e),this._last=n)},reverse:function(){var t=cc.Sequence._actionOneTwo(this._actions[1].reverse(),this._actions[0].reverse());return this._cloneDecoration(t),this._reverseEaseList(t),t._reversed=!0,t}}),cc.sequence=function(t){var e=t instanceof Array?t:arguments;if(1===e.length)return cc.errorID(1019),null;var i=e.length-1;i>=0&&null==e[i]&&cc.logID(1015);var n=null;if(i>=0){n=e[0];for(var r=1;r<=i;r++)e[r]&&(n=cc.Sequence._actionOneTwo(n,e[r]))}return n},cc.Sequence._actionOneTwo=function(t,e){var i=new cc.Sequence;return i.initWithTwoActions(t,e),i},cc.Repeat=cc.Class({name:"cc.Repeat",extends:cc.ActionInterval,ctor:function(t,e){this._times=0,this._total=0,this._nextDt=0,this._actionInstant=!1,this._innerAction=null,void 0!==e&&this.initWithAction(t,e)},initWithAction:function(t,e){var i=t._duration*e;return!!this.initWithDuration(i)&&(this._times=e,this._innerAction=t,t instanceof cc.ActionInstant&&(this._actionInstant=!0,this._times-=1),this._total=0,!0)},clone:function(){var t=new cc.Repeat;return this._cloneDecoration(t),t.initWithAction(this._innerAction.clone(),this._times),t},startWithTarget:function(t){this._total=0,this._nextDt=this._innerAction._duration/this._duration,cc.ActionInterval.prototype.startWithTarget.call(this,t),this._innerAction.startWithTarget(t)},stop:function(){this._innerAction.stop(),cc.Action.prototype.stop.call(this)},update:function(t){t=this._computeEaseTime(t);var e=this._innerAction,i=this._duration,n=this._times,r=this._nextDt;if(t>=r){for(;t>r&&this._total1?1:r;t>=1&&this._total=0&&null==e[i]&&cc.logID(1015),i>=0){for(var n,r=e[0],s=1;sr?this._two=cc.Sequence._actionOneTwo(e,cc.delayTime(n-r)):n0&&null==e[e.length-1]&&cc.logID(1015);for(var i=e[0],n=1;n180&&(i-=360),i<-180&&(i+=360),this._startAngle=e,this._angle=cc.RotateTo._reverse?i:-i},reverse:function(){cc.logID(1016)},update:function(t){t=this._computeEaseTime(t),this.target&&(this.target.angle=this._startAngle+this._angle*t)}}),cc.rotateTo=function(t,e){return new cc.RotateTo(t,e)},cc.RotateBy=cc.Class({name:"cc.RotateBy",extends:cc.ActionInterval,statics:{_reverse:!1},ctor:function(t,e){e*=cc.RotateBy._reverse?1:-1,this._deltaAngle=0,this._startAngle=0,void 0!==e&&this.initWithDuration(t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._deltaAngle=e,!0)},clone:function(){var t=new cc.RotateBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._deltaAngle),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._startAngle=t.angle},update:function(t){t=this._computeEaseTime(t),this.target&&(this.target.angle=this._startAngle+this._deltaAngle*t)},reverse:function(){var t=new cc.RotateBy;return t.initWithDuration(this._duration,-this._deltaAngle),this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.rotateBy=function(t,e){return new cc.RotateBy(t,e)},cc.MoveBy=cc.Class({name:"cc.MoveBy",extends:cc.ActionInterval,ctor:function(t,e,i){this._positionDelta=cc.v2(0,0),this._startPosition=cc.v2(0,0),this._previousPosition=cc.v2(0,0),void 0!==e&&cc.MoveBy.prototype.initWithDuration.call(this,t,e,i)},initWithDuration:function(t,e,i){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(void 0!==e.x&&(i=e.y,e=e.x),this._positionDelta.x=e,this._positionDelta.y=i,!0)},clone:function(){var t=new cc.MoveBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._positionDelta),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.x,i=t.y;this._previousPosition.x=e,this._previousPosition.y=i,this._startPosition.x=e,this._startPosition.y=i},update:function(t){if(t=this._computeEaseTime(t),this.target){var e=this._positionDelta.x*t,i=this._positionDelta.y*t,n=this._startPosition;if(cc.macro.ENABLE_STACKABLE_ACTIONS){var r=this.target.x,s=this.target.y,a=this._previousPosition;n.x=n.x+r-a.x,n.y=n.y+s-a.y,e+=n.x,i+=n.y,a.x=e,a.y=i,this.target.setPosition(e,i)}else this.target.setPosition(n.x+e,n.y+i)}},reverse:function(){var t=new cc.MoveBy(this._duration,cc.v2(-this._positionDelta.x,-this._positionDelta.y));return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.moveBy=function(t,e,i){return new cc.MoveBy(t,e,i)},cc.MoveTo=cc.Class({name:"cc.MoveTo",extends:cc.MoveBy,ctor:function(t,e,i){this._endPosition=cc.v2(0,0),void 0!==e&&this.initWithDuration(t,e,i)},initWithDuration:function(t,e,i){return!!cc.MoveBy.prototype.initWithDuration.call(this,t,e,i)&&(void 0!==e.x&&(i=e.y,e=e.x),this._endPosition.x=e,this._endPosition.y=i,!0)},clone:function(){var t=new cc.MoveTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endPosition),t},startWithTarget:function(t){cc.MoveBy.prototype.startWithTarget.call(this,t),this._positionDelta.x=this._endPosition.x-t.x,this._positionDelta.y=this._endPosition.y-t.y}}),cc.moveTo=function(t,e,i){return new cc.MoveTo(t,e,i)},cc.SkewTo=cc.Class({name:"cc.SkewTo",extends:cc.ActionInterval,ctor:function(t,e,i){this._skewX=0,this._skewY=0,this._startSkewX=0,this._startSkewY=0,this._endSkewX=0,this._endSkewY=0,this._deltaX=0,this._deltaY=0,void 0!==i&&cc.SkewTo.prototype.initWithDuration.call(this,t,e,i)},initWithDuration:function(t,e,i){var n=!1;return cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._endSkewX=e,this._endSkewY=i,n=!0),n},clone:function(){var t=new cc.SkewTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endSkewX,this._endSkewY),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._startSkewX=t.skewX%180,this._deltaX=this._endSkewX-this._startSkewX,this._deltaX>180&&(this._deltaX-=360),this._deltaX<-180&&(this._deltaX+=360),this._startSkewY=t.skewY%360,this._deltaY=this._endSkewY-this._startSkewY,this._deltaY>180&&(this._deltaY-=360),this._deltaY<-180&&(this._deltaY+=360)},update:function(t){t=this._computeEaseTime(t),this.target.skewX=this._startSkewX+this._deltaX*t,this.target.skewY=this._startSkewY+this._deltaY*t}}),cc.skewTo=function(t,e,i){return new cc.SkewTo(t,e,i)},cc.SkewBy=cc.Class({name:"cc.SkewBy",extends:cc.SkewTo,ctor:function(t,e,i){void 0!==i&&this.initWithDuration(t,e,i)},initWithDuration:function(t,e,i){var n=!1;return cc.SkewTo.prototype.initWithDuration.call(this,t,e,i)&&(this._skewX=e,this._skewY=i,n=!0),n},clone:function(){var t=new cc.SkewBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._skewX,this._skewY),t},startWithTarget:function(t){cc.SkewTo.prototype.startWithTarget.call(this,t),this._deltaX=this._skewX,this._deltaY=this._skewY,this._endSkewX=this._startSkewX+this._deltaX,this._endSkewY=this._startSkewY+this._deltaY},reverse:function(){var t=new cc.SkewBy(this._duration,-this._skewX,-this._skewY);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.skewBy=function(t,e,i){return new cc.SkewBy(t,e,i)},cc.JumpBy=cc.Class({name:"cc.JumpBy",extends:cc.ActionInterval,ctor:function(t,e,i,n,r){this._startPosition=cc.v2(0,0),this._previousPosition=cc.v2(0,0),this._delta=cc.v2(0,0),this._height=0,this._jumps=0,void 0!==n&&cc.JumpBy.prototype.initWithDuration.call(this,t,e,i,n,r)},initWithDuration:function(t,e,i,n,r){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(void 0===r&&(r=n,n=i,i=e.y,e=e.x),this._delta.x=e,this._delta.y=i,this._height=n,this._jumps=r,!0)},clone:function(){var t=new cc.JumpBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._delta,this._height,this._jumps),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.x,i=t.y;this._previousPosition.x=e,this._previousPosition.y=i,this._startPosition.x=e,this._startPosition.y=i},update:function(t){if(t=this._computeEaseTime(t),this.target){var e=t*this._jumps%1,i=4*this._height*e*(1-e);i+=this._delta.y*t;var n=this._delta.x*t,r=this._startPosition;if(cc.macro.ENABLE_STACKABLE_ACTIONS){var s=this.target.x,a=this.target.y,o=this._previousPosition;r.x=r.x+s-o.x,r.y=r.y+a-o.y,n+=r.x,i+=r.y,o.x=n,o.y=i,this.target.setPosition(n,i)}else this.target.setPosition(r.x+n,r.y+i)}},reverse:function(){var t=new cc.JumpBy(this._duration,cc.v2(-this._delta.x,-this._delta.y),this._height,this._jumps);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.jumpBy=function(t,e,i,n,r){return new cc.JumpBy(t,e,i,n,r)},cc.JumpTo=cc.Class({name:"cc.JumpTo",extends:cc.JumpBy,ctor:function(t,e,i,n,r){this._endPosition=cc.v2(0,0),void 0!==n&&this.initWithDuration(t,e,i,n,r)},initWithDuration:function(t,e,i,n,r){return!!cc.JumpBy.prototype.initWithDuration.call(this,t,e,i,n,r)&&(void 0===r&&(i=e.y,e=e.x),this._endPosition.x=e,this._endPosition.y=i,!0)},startWithTarget:function(t){cc.JumpBy.prototype.startWithTarget.call(this,t),this._delta.x=this._endPosition.x-this._startPosition.x,this._delta.y=this._endPosition.y-this._startPosition.y},clone:function(){var t=new cc.JumpTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endPosition,this._height,this._jumps),t}}),cc.jumpTo=function(t,e,i,n,r){return new cc.JumpTo(t,e,i,n,r)},cc.BezierBy=cc.Class({name:"cc.BezierBy",extends:cc.ActionInterval,ctor:function(t,e){this._config=[],this._startPosition=cc.v2(0,0),this._previousPosition=cc.v2(0,0),e&&cc.BezierBy.prototype.initWithDuration.call(this,t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._config=e,!0)},clone:function(){var t=new cc.BezierBy;this._cloneDecoration(t);for(var e=[],i=0;ie/2?255:0}},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._originalState=t.opacity},stop:function(){this.target.opacity=this._originalState,cc.ActionInterval.prototype.stop.call(this)},reverse:function(){var t=new cc.Blink(this._duration,this._times);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.blink=function(t,e){return new cc.Blink(t,e)},cc.FadeTo=cc.Class({name:"cc.FadeTo",extends:cc.ActionInterval,ctor:function(t,e){this._toOpacity=0,this._fromOpacity=0,void 0!==e&&cc.FadeTo.prototype.initWithDuration.call(this,t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._toOpacity=e,!0)},clone:function(){var t=new cc.FadeTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._toOpacity),t},update:function(t){t=this._computeEaseTime(t);var e=void 0!==this._fromOpacity?this._fromOpacity:255;this.target.opacity=e+(this._toOpacity-e)*t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._fromOpacity=t.opacity}}),cc.fadeTo=function(t,e){return new cc.FadeTo(t,e)},cc.FadeIn=cc.Class({name:"cc.FadeIn",extends:cc.FadeTo,ctor:function(t){null==t&&(t=0),this._reverseAction=null,this.initWithDuration(t,255)},reverse:function(){var t=new cc.FadeOut;return t.initWithDuration(this._duration,0),this._cloneDecoration(t),this._reverseEaseList(t),t},clone:function(){var t=new cc.FadeIn;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._toOpacity),t},startWithTarget:function(t){this._reverseAction&&(this._toOpacity=this._reverseAction._fromOpacity),cc.FadeTo.prototype.startWithTarget.call(this,t)}}),cc.fadeIn=function(t){return new cc.FadeIn(t)},cc.FadeOut=cc.Class({name:"cc.FadeOut",extends:cc.FadeTo,ctor:function(t){null==t&&(t=0),this._reverseAction=null,this.initWithDuration(t,0)},reverse:function(){var t=new cc.FadeIn;return t._reverseAction=this,t.initWithDuration(this._duration,255),this._cloneDecoration(t),this._reverseEaseList(t),t},clone:function(){var t=new cc.FadeOut;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._toOpacity),t}}),cc.fadeOut=function(t){return new cc.FadeOut(t)},cc.TintTo=cc.Class({name:"cc.TintTo",extends:cc.ActionInterval,ctor:function(t,e,i,n){this._to=cc.color(0,0,0),this._from=cc.color(0,0,0),e instanceof cc.Color&&(n=e.b,i=e.g,e=e.r),void 0!==n&&this.initWithDuration(t,e,i,n)},initWithDuration:function(t,e,i,n){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._to=cc.color(e,i,n),!0)},clone:function(){var t=new cc.TintTo;this._cloneDecoration(t);var e=this._to;return t.initWithDuration(this._duration,e.r,e.g,e.b),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._from=this.target.color},update:function(t){t=this._computeEaseTime(t);var e=this._from,i=this._to;e&&(this.target.color=cc.color(e.r+(i.r-e.r)*t,e.g+(i.g-e.g)*t,e.b+(i.b-e.b)*t))}}),cc.tintTo=function(t,e,i,n){return new cc.TintTo(t,e,i,n)},cc.TintBy=cc.Class({name:"cc.TintBy",extends:cc.ActionInterval,ctor:function(t,e,i,n){this._deltaR=0,this._deltaG=0,this._deltaB=0,this._fromR=0,this._fromG=0,this._fromB=0,void 0!==n&&this.initWithDuration(t,e,i,n)},initWithDuration:function(t,e,i,n){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._deltaR=e,this._deltaG=i,this._deltaB=n,!0)},clone:function(){var t=new cc.TintBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._deltaR,this._deltaG,this._deltaB),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.color;this._fromR=e.r,this._fromG=e.g,this._fromB=e.b},update:function(t){t=this._computeEaseTime(t),this.target.color=cc.color(this._fromR+this._deltaR*t,this._fromG+this._deltaG*t,this._fromB+this._deltaB*t)},reverse:function(){var t=new cc.TintBy(this._duration,-this._deltaR,-this._deltaG,-this._deltaB);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.tintBy=function(t,e,i,n){return new cc.TintBy(t,e,i,n)},cc.DelayTime=cc.Class({name:"cc.DelayTime",extends:cc.ActionInterval,update:function(){},reverse:function(){var t=new cc.DelayTime(this._duration);return this._cloneDecoration(t),this._reverseEaseList(t),t},clone:function(){var t=new cc.DelayTime;return this._cloneDecoration(t),t.initWithDuration(this._duration),t}}),cc.delayTime=function(t){return new cc.DelayTime(t)},cc.ReverseTime=cc.Class({name:"cc.ReverseTime",extends:cc.ActionInterval,ctor:function(t){this._other=null,t&&this.initWithAction(t)},initWithAction:function(t){return t?t===this._other?(cc.errorID(1029),!1):!!cc.ActionInterval.prototype.initWithDuration.call(this,t._duration)&&(this._other=t,!0):(cc.errorID(1028),!1)},clone:function(){var t=new cc.ReverseTime;return this._cloneDecoration(t),t.initWithAction(this._other.clone()),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._other.startWithTarget(t)},update:function(t){t=this._computeEaseTime(t),this._other&&this._other.update(1-t)},reverse:function(){return this._other.clone()},stop:function(){this._other.stop(),cc.Action.prototype.stop.call(this)}}),cc.reverseTime=function(t){return new cc.ReverseTime(t)},cc.TargetedAction=cc.Class({name:"cc.TargetedAction",extends:cc.ActionInterval,ctor:function(t,e){this._action=null,this._forcedTarget=null,e&&this.initWithTarget(t,e)},initWithTarget:function(t,e){return!!this.initWithDuration(e._duration)&&(this._forcedTarget=t,this._action=e,!0)},clone:function(){var t=new cc.TargetedAction;return this._cloneDecoration(t),t.initWithTarget(this._forcedTarget,this._action.clone()),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._action.startWithTarget(this._forcedTarget)},stop:function(){this._action.stop()},update:function(t){t=this._computeEaseTime(t),this._action.update(t)},getForcedTarget:function(){return this._forcedTarget},setForcedTarget:function(t){this._forcedTarget!==t&&(this._forcedTarget=t)}}),cc.targetedAction=function(t,e){return new cc.TargetedAction(t,e)}}),{}],6:[(function(t){"use strict";t("../core/platform/CCClass");var e=t("../core/platform/js"),i=function(){this.actions=[],this.target=null,this.actionIndex=0,this.currentAction=null,this.paused=!1,this.lock=!1};cc.ActionManager=function(){this._hashTargets=e.createMap(!0),this._arrayTargets=[],this._currentTarget=null,cc.director._scheduler&&cc.director._scheduler.enableForTarget(this)},cc.ActionManager.prototype={constructor:cc.ActionManager,_elementPool:[],_searchElementByTarget:function(t,e){for(var i=0;i=n&&i.actionIndex--;break}}},_removeActionByTag:function(t,e,i){for(var n=0,r=e.actions.length;n=0;--n){var r=e.actions[n];if(r&&r.getTag()===t){if(i&&r.getOriginalTarget()!==i)continue;this._removeActionAtIndex(n,e)}}},removeActionByTag:function(t,e){t===cc.Action.TAG_INVALID&&cc.logID(1002);var i=this._hashTargets;if(e){var n=i[e._id];n&&this._removeActionByTag(t,n,e)}else for(var r in i){var s=i[r];this._removeActionByTag(t,s)}},removeAllActionsByTag:function(t,e){t===cc.Action.TAG_INVALID&&cc.logID(1002);var i=this._hashTargets;if(e){var n=i[e._id];n&&this._removeAllActionsByTag(t,n,e)}else for(var r in i){var s=i[r];this._removeAllActionsByTag(t,s)}},getActionByTag:function(t,e){t===cc.Action.TAG_INVALID&&cc.logID(1004);var i=this._hashTargets[e._id];if(i){if(null!=i.actions)for(var n=0;n=t&&e.actionIndex--,0===e.actions.length&&this._deleteHashElement(e)},_deleteHashElement:function(t){var e=!1;if(t&&!t.lock&&this._hashTargets[t.target._id]){delete this._hashTargets[t.target._id];for(var i=this._arrayTargets,n=0,r=i.length;n=1?t:r%n>n/2?255:0},this.to(t,{opacity:1},i)}});var a=[];function o(t){return function(){a.length=0;for(var e=arguments.length,i=0;i=0?d=u.events[p]:(d=new a,u.ratios.push(f),u.events.push(d)),d.add(_.func,_.params)}}l.playState=function(t,e){t.clip&&(t.curveLoaded||h(this.target,t),t.animator=this,t.play(),"number"==typeof e&&t.setTime(e),this.play())},l.stopStatesExcept=function(t){var e=this._anims,i=e.array;for(e.i=0;e.i=0?(this._anims.fastRemoveAt(e),0===this._anims.array.length&&this.stop()):cc.errorID(3907),t.animator=null},l.sample=function(){var t=this._anims,e=t.array;for(t.i=0;t.i1e-6){y=!1;break}u._findFrameIndex=y?s:o;var A=u.values[0];return null==A||u._lerp||("number"==typeof A?u._lerp=r.prototype._lerpNumber:A instanceof cc.Quat?u._lerp=r.prototype._lerpQuat:A instanceof cc.Vec2?u._lerp=r.prototype._lerpVector2:A instanceof cc.Vec3?u._lerp=r.prototype._lerpVector3:A.lerp&&(u._lerp=r.prototype._lerpObject)),u},createTargetCurves:function(t,e,i){var n=e.props,r=e.comps;if(n)for(var s in n){var a=n[s],o=this.createPropCurve(t,s,a);i.push(o)}if(r)for(var c in r){var u=t.getComponent(c);if(u){var l=r[c];for(var h in l){var _=l[h],f=this.createPropCurve(u,h,_);i.push(f)}}}},createCurves:function(t,e){var i=this.curveData,n=i.paths,r=[];for(var s in this.createTargetCurves(e,i,r),n){var a=cc.find(s,e);if(a){var o=n[s];this.createTargetCurves(a,o,r)}}return r}});cc.AnimationClip=e.exports=c}),{"../core/utils/binary-search":217,"./animation-curves":11,"./motion-path-helper":17,"./types":19}],11:[(function(t,e){"use strict";var i=t("./bezier").bezierByTime,n=t("../core/utils/binary-search").binarySearchEpsilon,r=t("./types").WrapModeMask,s=t("./types").WrappedInfo;function a(t,e){if("string"==typeof e){var n=cc.easing[e];n?t=n(t):cc.errorID(3906,e)}else Array.isArray(e)&&(t=i(e,t));return t}var o=cc.Class({name:"cc.AnimCurve",sample:function(){},onTimeChangedManually:void 0});var c,u=cc.Class({name:"cc.DynamicAnimCurve",extends:o,ctor:function(){this._cachedIndex=0},properties:{target:null,prop:"",values:[],ratios:[],types:[]},_findFrameIndex:n,_lerp:void 0,_lerpNumber:function(t,e,i){return t+(e-t)*i},_lerpObject:function(t,e,i){return t.lerp(e,i)},_lerpQuat:(c=cc.quat(),function(t,e,i){return t.lerp(e,i,c)}),_lerpVector2:(function(){var t=cc.v2();return function(e,i,n){return e.lerp(i,n,t)}})(),_lerpVector3:(function(){var t=cc.v3();return function(e,i,n){return e.lerp(i,n,t)}})(),sample:function(t,e){var i=this.values,n=this.ratios,r=n.length;if(0!==r){var s,o=!0,c=this._cachedIndex;if(c<0&&(c=~c)>0&&cu&&e=r)s=i[r-1];else{var _=i[h-1];if(this._lerp){var f=n[h-1],d=n[h],p=this.types[h-1],v=(e-f)/(d-f);p&&(v=a(v,p));var g=i[h];s=this._lerp(_,g,v)}else s=_}else s=i[h];this.target[this.prop]=s}}});u.Linear=null,u.Bezier=function(t){return t};var l=function(){this.events=[]};l.prototype.add=function(t,e){this.events.push({func:t||"",params:e||[]})};var h=cc.Class({name:"cc.EventAnimCurve",extends:o,properties:{target:null,ratios:[],events:[],_wrappedInfo:{default:function(){return new s}},_lastWrappedInfo:null,_ignoreIndex:NaN},_wrapIterations:function(t){return t-(0|t)==0&&(t-=1),0|t},sample:function(t,e,i){var a=this.ratios.length,o=i.getWrappedInfo(i.time,this._wrappedInfo),c=o.direction,u=n(this.ratios,o.ratio);if(u<0&&(u=~u-1,c<0&&(u+=1)),this._ignoreIndex!==u&&(this._ignoreIndex=NaN),o.frameIndex=u,!this._lastWrappedInfo)return this._fireEvent(u),void(this._lastWrappedInfo=new s(o));var l=i.wrapMode,h=this._wrapIterations(o.iterations),_=this._lastWrappedInfo,f=this._wrapIterations(_.iterations),d=_.frameIndex,p=_.direction,v=-1!==f&&h!==f;if(d===u&&v&&1===a)this._fireEvent(0);else if(d!==u||v){c=p;do{if(d!==u){if(-1===c&&0===d&&u>0?((l&r.PingPong)===r.PingPong?c*=-1:d=a,f++):1===c&&d===a-1&&uh)break}d+=c,cc.director.getAnimationManager().pushDelayEvent(this,"_fireEvent",[d])}while(d!==u&&d>-1&&d=this.events.length||this._ignoreIndex===t)){var e=this.events[t].events;if(this.target.isValid)for(var i=this.target._components,n=0;nr)return~t.length;var s=(e=(e-n)/(r-n))/(1/i),a=0|s;return s-a<1e-6?a:a+1-s<1e-6?a+1:~(a+1)}}}),{"../core/utils/binary-search":217,"./bezier":14,"./types":19}],12:[(function(t,e){"use strict";var i=cc.js,n=cc.Class({ctor:function(){this._anims=new i.array.MutableForwardIterator([]),this._delayEvents=[],cc.director._scheduler&&cc.director._scheduler.enableForTarget(this)},update:function(t){var e=this._anims,i=e.array;for(e.i=0;e.i=0?this._anims.fastRemoveAt(e):cc.errorID(3907)},pushDelayEvent:function(t,e,i){this._delayEvents.push({target:t,func:e,args:i})}});cc.AnimationManager=e.exports=n}),{}],13:[(function(t,e){"use strict";var i=cc.js,n=t("./playable"),r=t("./types"),s=r.WrappedInfo,a=r.WrapMode,o=r.WrapModeMask;function c(t,e){n.call(this),this._currentFramePlayed=!1,this._delay=0,this._delayTime=0,this._wrappedInfo=new s,this._lastWrappedInfo=null,this._process=l,this._clip=t,this._name=e||t&&t.name,this.animator=null,this.curves=[],this.delay=0,this.repeatCount=1,this.duration=1,this.speed=1,this.wrapMode=a.Normal,this.time=0,this._target=null,this._lastframeEventOn=!1,this.emit=function(){for(var t=new Array(arguments.length),e=0,i=t.length;e1&&(0|e.iterations)>(0|t.iterations)&&this.emit("lastframe",this),t.set(e)),e.stopped&&(this.stop(),this.emit("finished",this))}function h(){var t=this.time,e=this.duration;t>e?0==(t%=e)&&(t=e):t<0&&0!=(t%=e)&&(t+=e);for(var i=t/e,n=this.curves,r=0,s=n.length;r0&&this._lastIterations>i||this.time<0&&this._lastIterations0&&(this._delayTime-=t,this._delayTime>0)||(this._currentFramePlayed?this.time+=t*this.speed:this._currentFramePlayed=!0,this._process())},u._needRevers=function(t){var e=this.wrapMode,i=!1;return(e&o.PingPong)===o.PingPong&&(t-(0|t)==0&&t>0&&(t-=1),1&t&&(i=!i)),(e&o.Reverse)===o.Reverse&&(i=!i),i},u.getWrappedInfo=function(t,e){e=e||new s;var i=!1,n=this.duration,r=this.repeatCount,a=t>0?t/n:-t/n;if(a>=r){a=r,i=!0;var c=r-(0|r);0===c&&(c=1),t=c*n*(t>0?1:-1)}if(t>n){var u=t%n;t=0===u?n:u}else t<0&&0!=(t%=n)&&(t+=n);var l=!1,h=this._wrapMode&o.ShouldWrap;h&&(l=this._needRevers(a));var _=l?-1:1;return this.speed<0&&(_*=-1),h&&l&&(t=n-t),e.ratio=t/n,e.time=t,e.direction=_,e.stopped=i,e.iterations=a,e},u.sample=function(){for(var t=this.getWrappedInfo(this.time,this._wrappedInfo),e=this.curves,i=0,n=e.length;i0}),(function(){this.curves.length=0})),i.getset(u,"wrapMode",(function(){return this._wrapMode}),(function(t){this._wrapMode=t,this.time=0,t&o.Loop?this.repeatCount=1/0:this.repeatCount=1})),i.getset(u,"repeatCount",(function(){return this._repeatCount}),(function(t){this._repeatCount=t;var e=this._wrapMode&o.ShouldWrap,i=(this.wrapMode&o.Reverse)===o.Reverse;this._process=t!==1/0||e||i?l:h})),i.getset(u,"delay",(function(){return this._delay}),(function(t){this._delayTime=this._delay=t})),cc.AnimationState=e.exports=c}),{"./playable":18,"./types":19}],14:[(function(t,e){"use strict";var i=Math.cos,n=Math.acos,r=Math.max,s=2*Math.PI,a=Math.sqrt;function o(t){return t<0?-Math.pow(-t,1/3):Math.pow(t,1/3)}function c(t,e){var c,u,l,h,_=e-0,f=e-t[0],d=3*_,p=3*f,v=3*(e-t[2]),g=1/(-_+p-v+(e-1)),m=(d-6*f+v)*g,y=m*(1/3),T=(-d+p)*g,E=1/3*(3*T-m*m),A=E*(1/3),C=(2*m*m*m-9*m*T+_*g*27)/27,x=C/2,b=x*x+A*A*A;if(b<0){var S=1/3*-E,R=a(S*S*S),w=-C/(2*R),I=n(w<-1?-1:w>1?1:w),M=2*o(R);return u=M*i(I*(1/3))-y,l=M*i((I+s)*(1/3))-y,h=M*i((I+2*s)*(1/3))-y,0<=u&&u<=1?0<=l&&l<=1?0<=h&&h<=1?r(u,l,h):r(u,l):0<=h&&h<=1?r(u,h):u:0<=l&&l<=1?0<=h&&h<=1?r(l,h):l:h}if(0===b)return l=-(c=x<0?o(-x):-o(x))-y,0<=(u=2*c-y)&&u<=1?0<=l&&l<=1?r(u,l):u:l;var O=a(b);return(c=o(-x+O))-o(x+O)-y}e.exports={bezier:function(t,e,i,n,r){var s=1-r;return s*(s*(t+(3*e-t)*r)+3*i*r*r)+n*r*r*r},bezierByTime:function(t,e){var i=c(t,e),n=t[1];return((1-i)*(n+(t[3]-n)*i)*3+i*i)*i}}}),{}],15:[(function(t,e){"use strict";var i={constant:function(){return 0},linear:function(t){return t},quadIn:function(t){return t*t},quadOut:function(t){return t*(2-t)},quadInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quartIn:function(t){return t*t*t*t},quartOut:function(t){return 1- --t*t*t*t},quartInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quintIn:function(t){return t*t*t*t*t},quintOut:function(t){return--t*t*t*t*t+1},quintInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sineIn:function(t){return 1-Math.cos(t*Math.PI/2)},sineOut:function(t){return Math.sin(t*Math.PI/2)},sineInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},expoIn:function(t){return 0===t?0:Math.pow(1024,t-1)},expoOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},expoInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circIn:function(t){return 1-Math.sqrt(1-t*t)},circOut:function(t){return Math.sqrt(1- --t*t)},circInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin(2*(t-e)*Math.PI/.4))},elasticOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin(2*(t-e)*Math.PI/.4)+1)},elasticInOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin(2*(t-e)*Math.PI/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin(2*(t-e)*Math.PI/.4)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(t){return 1-i.bounceOut(1-t)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return t<.5?.5*i.bounceIn(2*t):.5*i.bounceOut(2*t-1)+.5},smooth:function(t){return t<=0?0:t>=1?1:t*t*(3-2*t)},fade:function(t){return t<=0?0:t>=1?1:t*t*t*(t*(6*t-15)+10)}};function n(t,e){return function(i){return i<.5?e(2*i)/2:t(2*i-1)/2+.5}}i.quadOutIn=n(i.quadIn,i.quadOut),i.cubicOutIn=n(i.cubicIn,i.cubicOut),i.quartOutIn=n(i.quartIn,i.quartOut),i.quintOutIn=n(i.quintIn,i.quintOut),i.sineOutIn=n(i.sineIn,i.sineOut),i.expoOutIn=n(i.expoIn,i.expoOut),i.circOutIn=n(i.circIn,i.circOut),i.backOutIn=n(i.backIn,i.backOut),i.bounceIn=function(t){return 1-i.bounceOut(1-t)},i.bounceInOut=function(t){return t<.5?.5*i.bounceIn(2*t):.5*i.bounceOut(2*t-1)+.5},i.bounceOutIn=n(i.bounceIn,i.bounceOut),cc.easing=e.exports=i}),{}],16:[(function(t){"use strict";t("./bezier"),t("./easing"),t("./types"),t("./motion-path-helper"),t("./animation-curves"),t("./animation-clip"),t("./animation-manager"),t("./animation-state"),t("./animation-animator")}),{"./animation-animator":9,"./animation-clip":10,"./animation-curves":11,"./animation-manager":12,"./animation-state":13,"./bezier":14,"./easing":15,"./motion-path-helper":17,"./types":19}],17:[(function(t,e){"use strict";var i=t("./animation-curves").DynamicAnimCurve,n=t("./animation-curves").computeRatioByType,r=t("./bezier").bezier,s=t("../core/utils/binary-search").binarySearchEpsilon,a=cc.v2;function o(t){this.points=t||[],this.beziers=[],this.ratios=[],this.progresses=[],this.length=0,this.computeBeziers()}function c(){this.start=a(),this.end=a(),this.startCtrlPoint=a(),this.endCtrlPoint=a()}function u(t){if(!Array.isArray(t))return!1;for(var e=0,i=t.length;e0)){c=r;break}c=r-1}if(n[r=c]===i)return r/(s-1);var u=n[r];return(r+(i-u)/(n[r+1]-u))/(s-1)},e.exports={sampleMotionPaths:function(t,e,r,c,l){function h(t){return t instanceof cc.Vec2?{in:t,pos:t,out:t}:Array.isArray(t)&&6===t.length?{in:a(t[2],t[3]),pos:a(t[0],t[1]),out:a(t[4],t[5])}:{in:cc.Vec2.ZERO,pos:cc.Vec2.ZERO,out:cc.Vec2.ZERO}}var _=e.values=e.values.map((function(t){return Array.isArray(t)&&(t=2===t.length?cc.v2(t[0],t[1]):cc.v3(t[0],t[1],t[2])),t}));if(0!==t.length&&0!==_.length){for(var f=!1,d=0;d0){f=!0;break}}if(f&&1!==_.length){for(var v=e.types,g=e.ratios,m=e.values=[],y=e.types=[],T=e.ratios=[],E=0,A=i.Linear,C=0,x=t.length;C0){var N=[];N.push(h(I));for(var F=0,B=S.length;F1e-6;){var V,H,W,G;if((b=n(b=L,O))<0)G=(0-b)*(H=z.beziers[0]).getLength(),W=H.start.sub(H.endCtrlPoint).normalize(),V=H.start.add(W.mul(G));else if(b>1)G=(b-1)*(H=z.beziers[z.beziers.length-1]).getLength(),W=H.end.sub(H.startCtrlPoint).normalize(),V=H.end.add(W.mul(G));else{var j=s(k,b);j<0&&(j=~j),b-=j>0?k[j-1]:0,b/=z.ratios[j],V=z.beziers[j].getPointAt(b)}D.push(V),L+=P}}else for(;1-L>1e-6;)b=n(b=L,O),D.push(I.lerp(M,b)),L+=P;for(A="constant"===O?O:i.Linear,F=0,B=D.length;F1e-6?(L-1)*w:0}g[g.length-1]!==T[T.length-1]&&X(_[_.length-1],A,g[g.length-1])}}function X(t,e,i){m.push(t),y.push(e),T.push(i)}},Curve:o,Bezier:c}}),{"../core/utils/binary-search":217,"./animation-curves":11,"./bezier":14}],18:[(function(t,e){"use strict";var i=cc.js,n=t("../core/CCDebug");function r(){this._isPlaying=!1,this._isPaused=!1,this._stepOnce=!1}var s=r.prototype;i.get(s,"isPlaying",(function(){return this._isPlaying}),!0),i.get(s,"isPaused",(function(){return this._isPaused}),!0);var a=function(){};s.onPlay=a,s.onPause=a,s.onResume=a,s.onStop=a,s.onError=a,s.play=function(){this._isPlaying?this._isPaused?(this._isPaused=!1,this.onResume()):this.onError(n.getError(3912)):(this._isPlaying=!0,this.onPlay())},s.stop=function(){this._isPlaying&&(this._isPlaying=!1,this.onStop(),this._isPaused=!1)},s.pause=function(){this._isPlaying&&!this._isPaused&&(this._isPaused=!0,this.onPause())},s.resume=function(){this._isPlaying&&this._isPaused&&(this._isPaused=!1,this.onResume())},s.step=function(){this.pause(),this._stepOnce=!0,this._isPlaying||this.play()},e.exports=r}),{"../core/CCDebug":22}],19:[(function(t,e){"use strict";var i={Loop:2,ShouldWrap:4,PingPong:22,Reverse:36},n=cc.Enum({Default:0,Normal:1,Reverse:i.Reverse,Loop:i.Loop,LoopReverse:i.Loop|i.Reverse,PingPong:i.PingPong,PingPongReverse:i.PingPong|i.Reverse});function r(t){t?this.set(t):(this.ratio=0,this.time=0,this.direction=1,this.stopped=!0,this.iterations=0,this.frameIndex=void 0)}cc.WrapMode=n,r.prototype.set=function(t){this.ratio=t.ratio,this.time=t.time,this.direction=t.direction,this.stopped=t.stopped,this.iterations=t.iterations,this.frameIndex=t.frameIndex},e.exports={WrapModeMask:i,WrapMode:n,WrappedInfo:r}}),{}],20:[(function(t,e){"use strict";var i,n,r=t("../core/event/event-target"),s=t("../core/platform/CCSys"),a=t("../core/assets/CCAudioClip").LoadMode,o=!1,c=[],u=function t(e){r.call(this),this._shouldRecycleOnEnded=!1,this._src=e,this._element=null,this.id=0,this._state=t.State.INITIALZING;var i=this;this._onended=function(){i._state=t.State.STOPPED,i.emit("ended")},this._onendedSecond=function(){i._unbindEnded(i._onendedSecond),i._bindEnded()}};cc.js.extend(u,r),u.State={ERROR:-1,INITIALZING:0,PLAYING:1,PAUSED:2,STOPPED:3},(i=u.prototype)._bindEnded=function(t){if(!(t=t||this._onended)._binded){t._binded=!0;var e=this._element;this._src&&e instanceof HTMLAudioElement?e.addEventListener("ended",t):e.onended=t}},i._unbindEnded=function(t){if((t=t||this._onended)._binded){t._binded=!1;var e=this._element;e instanceof HTMLAudioElement?e.removeEventListener("ended",t):e&&(e.onended=null)}},i._onLoaded=function(){this._createElement(),this._state=u.State.INITIALZING,this.setVolume(1),this.setLoop(!1)},i._createElement=function(){var t=this._src._nativeAsset;t instanceof HTMLAudioElement?(this._element||(this._element=document.createElement("audio")),this._element.src=t.src):this._element=new l(t,this)},i.play=function(){var t=this;this._src&&this._src._ensureLoaded((function(){t._state=u.State.PLAYING,t._bindEnded();var e=t._element.play();window.Promise&&e instanceof Promise&&e.catch((function(){})),t._touchToPlay()}))},i._touchToPlay=function(){if(this._src&&this._src.loadMode===a.DOM_AUDIO&&this._element.paused&&c.push({instance:this,offset:0,audio:this._element}),!o){o=!0;var t="ontouchend"in window?"touchend":"mousedown";cc.game.canvas.addEventListener(t,(function(){for(var t;t=c.pop();)t.audio.play(t.offset)}))}},i.destroy=function(){this._element=null},i.pause=function(){if(this.getState()===u.State.PLAYING){var t=this;this._src&&this._src._ensureLoaded((function(){t._unbindEnded(),t._element.pause(),t._state=u.State.PAUSED}))}},i.resume=function(){if(this.getState()===u.State.PAUSED){var t=this;this._src&&this._src._ensureLoaded((function(){t._bindEnded(),t._element.play(),t._state=u.State.PLAYING}))}},i.stop=function(){var t=this;this._src&&this._src._ensureLoaded((function(){t._element.pause(),t._element.currentTime=0;for(var e=0;ethis._buffer.duration)},enumerable:!0,configurable:!0}),Object.defineProperty(t,"loop",{get:function(){return this._loop},set:function(t){return this._currentSource&&(this._currentSource.loop=t),this._loop=t},enumerable:!0,configurable:!0}),Object.defineProperty(t,"volume",{get:function(){return this._volume},set:function(t){if(this._volume=t,this._gainObj.gain.setTargetAtTime)try{this._gainObj.gain.setTargetAtTime(t,this._context.currentTime,n)}catch(e){this._gainObj.gain.setTargetAtTime(t,this._context.currentTime,.01)}else this._gainObj.gain.value=t;s.os===s.OS_IOS&&!this.paused&&this._currentSource&&(this._currentSource.onended=null,this.pause(),this.play())},enumerable:!0,configurable:!0}),Object.defineProperty(t,"currentTime",{get:function(){return this.paused?this.playedLength:(this.playedLength=this._context.currentTime-this._startTime,this.playedLength%=this._buffer.duration,this.playedLength)},set:function(t){return this.paused?this.playedLength=t:(this.pause(),this.playedLength=t,this.play()),t},enumerable:!0,configurable:!0}),Object.defineProperty(t,"duration",{get:function(){return this._buffer.duration},enumerable:!0,configurable:!0})})(l.prototype),e.exports=cc._Audio=u}),{"../core/assets/CCAudioClip":59,"../core/event/event-target":132,"../core/platform/CCSys":158}],21:[(function(t,e){"use strict";var i=t("./CCAudio"),n=t("../core/assets/CCAudioClip"),r=cc.js,s=0,a=r.createMap(!0),o={},c=[],u=function(t){t._shouldRecycleOnEnded&&(t._finishCallback=null,t.off("ended"),t.off("stop"),t.src=null,c.includes(t)||(c.length<32?c.push(t):t.destroy()),t._shouldRecycleOnEnded=!1)},l=function(t){var e=s++,n=o[t];if(n||(n=o[t]=[]),f._maxAudioInstance<=n.length){var r=n.shift();h(r).stop()}var l=c.pop()||new i,_=function(){if(h(this.id)){delete a[this.id];var t=n.indexOf(this.id);cc.js.array.fastRemoveAt(n,t)}u(this)};return l.on("ended",(function(){this._finishCallback&&this._finishCallback(),this.getLoop()||_.call(this)}),l),l.on("stop",_,l),l.id=e,a[e]=l,n.push(e),l},h=function(t){return a[t]},_=function(t){return void 0===t?t=1:"string"==typeof t&&(t=Number.parseFloat(t)),t},f={AudioState:i.State,_maxAudioInstance:24,_id2audio:a,play:function(t,e,i){if(!(t instanceof n))return cc.error("Wrong type of AudioClip.");var r=t.nativeUrl,s=l(r);return s.src=t,t._ensureLoaded(),s._shouldRecycleOnEnded=!0,s.setLoop(e||!1),i=_(i),s.setVolume(i),s.play(),s.id},setLoop:function(t,e){var i=h(t);i&&i.setLoop&&i.setLoop(e)},isLoop:function(t){var e=h(t);return!(!e||!e.getLoop)&&e.getLoop()},setVolume:function(t,e){var i=h(t);i&&i.setVolume(e)},getVolume:function(t){var e=h(t);return e?e.getVolume():1},setCurrentTime:function(t,e){var i=h(t);return!!i&&(i.setCurrentTime(e),!0)},getCurrentTime:function(t){var e=h(t);return e?e.getCurrentTime():0},getDuration:function(t){var e=h(t);return e?e.getDuration():0},getState:function(t){var e=h(t);return e?e.getState():this.AudioState.ERROR},setFinishCallback:function(t,e){var i=h(t);i&&(i._finishCallback=e)},pause:function(t){var e=h(t);return!!e&&(e.pause(),!0)},_pauseIDCache:[],pauseAll:function(){for(var t in a){var e=a[t];e.getState()===i.State.PLAYING&&(this._pauseIDCache.push(t),e.pause())}},resume:function(t){var e=h(t);e&&e.resume()},resumeAll:function(){for(var t=0;t0;){var n=i.pop(),r=a[n];r&&(r.stop(),delete a[n])}},uncacheAll:function(){var t;for(var e in this.stopAll(),a)(t=a[e])&&t.destroy();for(;t=c.pop();)t.destroy();a=r.createMap(!0),o={}},_breakCache:null,_break:function(){for(var t in this._breakCache=[],a){var e=a[t];e.getState()===i.State.PLAYING&&(this._breakCache.push(t),e.pause())}},_restore:function(){if(this._breakCache){for(;this._breakCache.length>0;){var t=this._breakCache.pop(),e=h(t);e&&e.resume&&e.resume()}this._breakCache=null}},_music:{id:-1,loop:!1,volume:1},_effect:{volume:1,pauseCache:[]},playMusic:function(t,e){var i=this._music;return this.stop(i.id),i.id=this.play(t,e,i.volume),i.loop=e,i.id},stopMusic:function(){this.stop(this._music.id)},pauseMusic:function(){return this.pause(this._music.id),this._music.id},resumeMusic:function(){return this.resume(this._music.id),this._music.id},getMusicVolume:function(){return this._music.volume},setMusicVolume:function(t){t=_(t);var e=this._music;return e.volume=t,this.setVolume(e.id,e.volume),e.volume},isMusicPlaying:function(){return this.getState(this._music.id)===this.AudioState.PLAYING},playEffect:function(t,e){return this.play(t,e||!1,this._effect.volume)},setEffectsVolume:function(t){t=_(t);var e=this._music.id;for(var i in this._effect.volume=t,a){var n=a[i];n&&n.id!==e&&f.setVolume(i,t)}},getEffectsVolume:function(){return this._effect.volume},pauseEffect:function(t){return this.pause(t)},pauseAllEffects:function(){var t=this._music.id,e=this._effect;for(var i in e.pauseCache.length=0,a){var n=a[i];n&&n.id!==t&&n.getState()===this.AudioState.PLAYING&&(e.pauseCache.push(i),n.pause())}},resumeEffect:function(t){this.resume(t)},resumeAllEffects:function(){for(var t=this._effect.pauseCache,e=0;el.ERROR){var e=function(t){if(cc.game.canvas){if(!i){var e=document.createElement("Div");e.setAttribute("id","logInfoDiv"),e.setAttribute("width","200"),e.setAttribute("height",cc.game.canvas.height);var n=e.style;n.zIndex="99999",n.position="absolute",n.top=n.left="0",(i=document.createElement("textarea")).setAttribute("rows","20"),i.setAttribute("cols","30"),i.setAttribute("disabled","true");var r=i.style;r.backgroundColor="transparent",r.borderBottom="1px solid #cccccc",r.borderTopWidth=r.borderLeftWidth=r.borderRightWidth="0px",r.borderTopStyle=r.borderLeftStyle=r.borderRightStyle="none",r.padding="0px",r.margin=0,e.appendChild(i),cc.game.canvas.parentNode.appendChild(e)}i.value=i.value+t+"\r\n",i.scrollTop=i.scrollHeight}};cc.error=function(){e("ERROR : "+cc.js.formatStr.apply(null,arguments))},cc.assert=function(t,i){!t&&i&&(i=cc.js.formatStr.apply(null,cc.js.shiftArguments.apply(null,arguments)),e("ASSERT: "+i))},t!==l.ERROR_FOR_WEB_PAGE&&(cc.warn=function(){e("WARN : "+cc.js.formatStr.apply(null,arguments))}),t===l.INFO_FOR_WEB_PAGE&&(cc.log=function(){e(cc.js.formatStr.apply(null,arguments))})}else console&&console.log.apply&&(console.error||(console.error=console.log),console.warn||(console.warn=console.log),console.error.bind?cc.error=console.error.bind(console):cc.error=function(){return console.error.apply(console,arguments)},cc.assert=function(t,e){if(!t)throw e&&(e=cc.js.formatStr.apply(null,cc.js.shiftArguments.apply(null,arguments))),new Error(e)});t!==l.ERROR&&(console.warn.bind?cc.warn=console.warn.bind(console):cc.warn=function(){return console.warn.apply(console,arguments)}),t===l.INFO&&(console.log.bind?cc.log=console.log.bind(console):cc.log=function(){return console.log.apply(console,arguments)})}},getError:s("ERROR"),isDisplayStats:function(){return!!cc.profiler&&cc.profiler.isShowingStats()},setDisplayStats:function(t){cc.profiler&&cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS&&(t?cc.profiler.showStats():cc.profiler.hideStats(),cc.game.config.showFPS=!!t)}}}),{"../../DebugInfos":void 0,"./platform/utils":173}],23:[(function(t,e){"use strict";var i=t("./event/event-target"),n=t("./component-scheduler"),r=t("./node-activator"),s=t("./platform/CCObject"),a=t("./CCGame"),o=t("./renderer"),c=t("./event-manager"),u=t("./CCScheduler");cc.Director=function(){i.call(this),this._paused=!1,this._purgeDirectorInNextLoop=!1,this._winSizeInPoints=null,this._scene=null,this._loadingScene="",this._totalFrames=0,this._lastUpdate=0,this._deltaTime=0,this._startTime=0,this._maxParticleDeltaTime=0,this._scheduler=null,this._compScheduler=null,this._nodeActivator=null,this._actionManager=null;var t=this;a.on(a.EVENT_SHOW,(function(){t._lastUpdate=performance.now()})),a.once(a.EVENT_ENGINE_INITED,this.init,this)},cc.Director.prototype={constructor:cc.Director,init:function(){return this._totalFrames=0,this._lastUpdate=performance.now(),this._startTime=this._lastUpdate,this._paused=!1,this._purgeDirectorInNextLoop=!1,this._winSizeInPoints=cc.size(0,0),this._scheduler=new u,cc.ActionManager?(this._actionManager=new cc.ActionManager,this._scheduler.scheduleUpdate(this._actionManager,u.PRIORITY_SYSTEM,!1)):this._actionManager=null,this.sharedInit(),!0},sharedInit:function(){this._compScheduler=new n,this._nodeActivator=new r,c&&c.setEnabled(!0),cc.AnimationManager?(this._animationManager=new cc.AnimationManager,this._scheduler.scheduleUpdate(this._animationManager,u.PRIORITY_SYSTEM,!1)):this._animationManager=null,cc.CollisionManager?(this._collisionManager=new cc.CollisionManager,this._scheduler.scheduleUpdate(this._collisionManager,u.PRIORITY_SYSTEM,!1)):this._collisionManager=null,cc.PhysicsManager?(this._physicsManager=new cc.PhysicsManager,this._scheduler.scheduleUpdate(this._physicsManager,u.PRIORITY_SYSTEM,!1)):this._physicsManager=null,cc.Physics3DManager,this._physics3DManager=null,cc._widgetManager&&cc._widgetManager.init(this)},calculateDeltaTime:function(t){t||(t=performance.now()),this._deltaTime=t>this._lastUpdate?(t-this._lastUpdate)/1e3:0,this._lastUpdate=t},convertToGL:function(t){var e=a.container,i=cc.view,n=e.getBoundingClientRect(),r=n.left+window.pageXOffset-e.clientLeft,s=n.top+window.pageYOffset-e.clientTop,o=i._devicePixelRatio*(t.x-r),c=i._devicePixelRatio*(s+n.height-t.y);return i._isRotated?cc.v2(i._viewportRect.width-c,o):cc.v2(o,c)},convertToUI:function(t){var e=a.container,i=cc.view,n=e.getBoundingClientRect(),r=n.left+window.pageXOffset-e.clientLeft,s=n.top+window.pageYOffset-e.clientTop,o=cc.v2(0,0);return i._isRotated?(o.x=r+t.y/i._devicePixelRatio,o.y=s+n.height-(i._viewportRect.width-t.x)/i._devicePixelRatio):(o.x=r+t.x*i._devicePixelRatio,o.y=s+n.height-t.y*i._devicePixelRatio),o},end:function(){this._purgeDirectorInNextLoop=!0},getWinSize:function(){return cc.size(cc.winSize)},getWinSizeInPixels:function(){return cc.size(cc.winSize)},pause:function(){this._paused||(this._paused=!0)},purgeCachedData:function(){cc.assetManager.releaseAll()},purgeDirector:function(){this._scheduler.unscheduleAll(),this._compScheduler.unscheduleAll(),this._nodeActivator.reset(),c&&c.setEnabled(!1),cc.isValid(this._scene)&&this._scene.destroy(),this._scene=null,cc.renderer.clear(),cc.assetManager.builtins.clear(),cc.game.pause(),cc.assetManager.releaseAll()},reset:function(){this.purgeDirector(),c&&c.setEnabled(!0),this._actionManager&&this._scheduler.scheduleUpdate(this._actionManager,cc.Scheduler.PRIORITY_SYSTEM,!1),this._animationManager&&this._scheduler.scheduleUpdate(this._animationManager,cc.Scheduler.PRIORITY_SYSTEM,!1),this._collisionManager&&this._scheduler.scheduleUpdate(this._collisionManager,cc.Scheduler.PRIORITY_SYSTEM,!1),this._physicsManager&&this._scheduler.scheduleUpdate(this._physicsManager,cc.Scheduler.PRIORITY_SYSTEM,!1),cc.game.resume()},runSceneImmediate:function(t,e,i){cc.assertID(t instanceof cc.Scene||t instanceof cc.SceneAsset,1216),t instanceof cc.SceneAsset&&(t=t.scene),t._load();for(var n=Object.keys(a._persistRootNodes).map((function(t){return a._persistRootNodes[t]})),r=0;r2||e<0)&&(t.renderMode=0),"boolean"!=typeof t.registerSystemEvent&&(t.registerSystemEvent=!0),t.showFPS=1!==e&&!!t.showFPS,this.collisionMatrix=t.collisionMatrix||[],this.groupList=t.groupList||[],n._resetDebugSetting(t.debugMode),this.config=t,this._configLoaded=!0},_determineRenderType:function(){var t=this.config,e=parseInt(t.renderMode)||0;this.renderType=this.RENDER_TYPE_CANVAS;var i=!1;if(0===e?cc.sys.capabilities.opengl?(this.renderType=this.RENDER_TYPE_WEBGL,i=!0):cc.sys.capabilities.canvas&&(this.renderType=this.RENDER_TYPE_CANVAS,i=!0):1===e&&cc.sys.capabilities.canvas?(this.renderType=this.RENDER_TYPE_CANVAS,i=!0):2===e&&cc.sys.capabilities.opengl&&(this.renderType=this.RENDER_TYPE_WEBGL,i=!0),!i)throw new Error(n.getError(3820,e))},_initRenderer:function(){if(!this._rendererInitialized){var t,e,i,n,a=this.config.id,o=a instanceof HTMLElement?a:document.querySelector(a)||document.querySelector("#"+a);if("CANVAS"===o.tagName?(t=o.width,e=o.height,this.canvas=i=o,this.container=n=document.createElement("DIV"),i.parentNode&&i.parentNode.insertBefore(n,i)):("DIV"!==o.tagName&&cc.warnID(3819),t=o.clientWidth,e=o.clientHeight,this.canvas=i=document.createElement("CANVAS"),this.container=n=document.createElement("DIV"),o.appendChild(n)),n.setAttribute("id","Cocos2dGameContainer"),n.appendChild(i),this.frame=n.parentNode===document.body?document.documentElement:n.parentNode,(function(t){(" "+t.className+" ").indexOf(" gameCanvas ")>-1||(t.className&&(t.className+=" "),t.className+="gameCanvas")})(i),i.setAttribute("width",t||480),i.setAttribute("height",e||320),i.setAttribute("tabindex",99),this._determineRenderType(),this.renderType===this.RENDER_TYPE_WEBGL){var c={stencil:!0,antialias:cc.macro.ENABLE_WEBGL_ANTIALIAS,alpha:cc.macro.ENABLE_TRANSPARENT_CANVAS};r.initWebGL(i,c),this._renderContext=r.device._gl,!cc.macro.CLEANUP_IMAGE_CACHE&&s&&(s.enabled=!0)}this._renderContext||(this.renderType=this.RENDER_TYPE_CANVAS,r.initCanvas(i),this._renderContext=r.device._ctx),this.canvas.oncontextmenu=function(){if(!cc._isContextMenuEnable)return!1},this._rendererInitialized=!0}},_initEvents:function(){var t,e=window;this.config.registerSystemEvent&&cc.internal.inputManager.registerSystemEvent(this.canvas),void 0!==document.hidden?t="hidden":void 0!==document.mozHidden?t="mozHidden":void 0!==document.msHidden?t="msHidden":void 0!==document.webkitHidden&&(t="webkitHidden");var i=!1;function n(){i||(i=!0,a.emit(a.EVENT_HIDE))}function r(t,e,n,r,s){i&&(i=!1,a.emit(a.EVENT_SHOW,t,e,n,r,s))}if(t)for(var s=["visibilitychange","mozvisibilitychange","msvisibilitychange","webkitvisibilitychange","qbrowserVisibilityChange"],o=0;o-1&&(e.onfocus=r),"onpageshow"in window&&"onpagehide"in window&&(e.addEventListener("pagehide",n),e.addEventListener("pageshow",r),document.addEventListener("pagehide",n),document.addEventListener("pageshow",r)),this.on(a.EVENT_HIDE,(function(){a.pause()})),this.on(a.EVENT_SHOW,(function(){a.resume()}))}};i.call(a),cc.js.addon(a,i.prototype),cc.game=e.exports=a}),{"../audio/CCAudioEngine":21,"../core/renderer/utils/dynamic-atlas/manager":183,"./CCDebug":22,"./event/event-target":132,"./renderer/index.js":180}],25:[(function(t,e){"use strict";var i=t("./value-types"),n=t("./value-types/utils"),r=t("./utils/base-node"),s=t("./utils/prefab-helper"),a=t("./utils/trans-pool").NodeMemPool,o=t("./utils/affine-transform"),c=t("./event-manager"),u=t("./platform/CCMacro"),l=t("./platform/js"),h=(t("./event/event"),t("./event/event-target")),_=t("./renderer/render-flow"),f=cc.Object.Flags.Destroying,d=Math.PI/180,p=!!cc.ActionManager,v=function(){},g=new i.Vec3,m=new i.Quat,y=new i.Vec3,T=new i.Vec3,E=new i.Quat,A=new i.Quat,C=new i.Vec3,x=new i.Vec3,b=new i.Vec3,S=new i.Vec3,R=new i.Vec3,w=new i.Quat,I=new i.Quat,M=new i.Vec3,O=new i.Quat,D=new i.Vec3,L=new i.Quat,P=new i.Vec3,N=new i.Vec3,F=new i.Quat,B=new i.Quat,U=(new i.Quat,cc.mat4()),z=new i.Vec3,k=new l.Pool;k.get=function(){return this._get()||[]};var V=cc.Enum({DEBUG:31}),H=cc.Enum({POSITION:1,SCALE:2,ROTATION:4,SKEW:8,TRS:7,RS:6,TRSS:15,PHYSICS_POSITION:16,PHYSICS_SCALE:32,PHYSICS_ROTATION:64,PHYSICS_TRS:112,PHYSICS_RS:96,ALL_POSITION:17,ALL_SCALE:34,ALL_ROTATION:68,ALL_TRS:119,ALL:65535}),W=cc.Enum({TOUCH_START:"touchstart",TOUCH_MOVE:"touchmove",TOUCH_END:"touchend",TOUCH_CANCEL:"touchcancel",MOUSE_DOWN:"mousedown",MOUSE_MOVE:"mousemove",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_UP:"mouseup",MOUSE_WHEEL:"mousewheel",POSITION_CHANGED:"position-changed",ROTATION_CHANGED:"rotation-changed",SCALE_CHANGED:"scale-changed",SIZE_CHANGED:"size-changed",ANCHOR_CHANGED:"anchor-changed",COLOR_CHANGED:"color-changed",CHILD_ADDED:"child-added",CHILD_REMOVED:"child-removed",CHILD_REORDER:"child-reorder",GROUP_CHANGED:"group-changed",SIBLING_ORDER_CHANGED:"sibling-order-changed"}),G=[W.TOUCH_START,W.TOUCH_MOVE,W.TOUCH_END,W.TOUCH_CANCEL],j=[W.MOUSE_DOWN,W.MOUSE_ENTER,W.MOUSE_MOVE,W.MOUSE_LEAVE,W.MOUSE_UP,W.MOUSE_WHEEL],Y=!0,X=function(t){if(0!==t){Y&&cc.warn("`cc.Node.skewX/Y` is deprecated since v2.2.1, please use 3D node instead.",""),Y=!1}},q=null,Z=function(t,e){var i=t.getLocation(),n=this.owner;return!!n._hitTest(i,this)&&(e.type=W.TOUCH_START,e.touch=t,e.bubbles=!0,n.dispatchEvent(e),!0)},K=function(t,e){var i=this.owner;e.type=W.TOUCH_MOVE,e.touch=t,e.bubbles=!0,i.dispatchEvent(e)},Q=function(t,e){var i=t.getLocation(),n=this.owner;n._hitTest(i,this)?e.type=W.TOUCH_END:e.type=W.TOUCH_CANCEL,e.touch=t,e.bubbles=!0,n.dispatchEvent(e)},J=function(t,e){t.getLocation();var i=this.owner;e.type=W.TOUCH_CANCEL,e.touch=t,e.bubbles=!0,i.dispatchEvent(e)},$=function(t){var e=t.getLocation(),i=this.owner;i._hitTest(e,this)&&(t.type=W.MOUSE_DOWN,t.bubbles=!0,i.dispatchEvent(t))},tt=function(t){var e=t.getLocation(),i=this.owner;if(i._hitTest(e,this))this._previousIn||(q&&q._mouseListener&&(t.type=W.MOUSE_LEAVE,q.dispatchEvent(t),q._mouseListener._previousIn=!1),q=this.owner,t.type=W.MOUSE_ENTER,i.dispatchEvent(t),this._previousIn=!0),t.type=W.MOUSE_MOVE,t.bubbles=!0,i.dispatchEvent(t);else{if(!this._previousIn)return;t.type=W.MOUSE_LEAVE,i.dispatchEvent(t),this._previousIn=!1,q=null}t.stopPropagation()},et=function(t){var e=t.getLocation(),i=this.owner;i._hitTest(e,this)&&(t.type=W.MOUSE_UP,t.bubbles=!0,i.dispatchEvent(t),t.stopPropagation())},it=function(t){var e=t.getLocation(),i=this.owner;i._hitTest(e,this)&&(t.type=W.MOUSE_WHEEL,t.bubbles=!0,i.dispatchEvent(t),t.stopPropagation())};function nt(t,e){if(e){for(var i=0,n=null,r=t;r&&cc.Node.isNode(r);r=r._parent,++i)if(r.getComponent(e)){var s={index:i,node:r};n?n.push(s):n=[s]}return n}return null}function rt(t,e){if(!(t._objFlags&f)){if(t._bubblingListeners)for(var i=0,n=e.length;i=0;--r)if((n=i[r])._capturingListeners&&(e.currentTarget=n,n._capturingListeners.emit(e.type,e,i),e._propagationStopped))return void(i.length=0);if(i.length=0,e.eventPhase=2,e.currentTarget=t,t._capturingListeners&&t._capturingListeners.emit(e.type,e),!e._propagationImmediateStopped&&t._bubblingListeners&&t._bubblingListeners.emit(e.type,e),!e._propagationStopped&&e.bubbles)for(t._getBubblingTargets(e.type,i),e.eventPhase=3,r=0;r>16},set:function(t){t>u.MAX_ZINDEX?(cc.warnID(1636),t=u.MAX_ZINDEX):t0&&(this._renderFlag|=_.FLAG_CHILDREN)},_checkListenerMask:function(){if(this._touchListener){var t=this._touchListener.mask=nt(this,cc.Mask);this._mouseListener&&(this._mouseListener.mask=t)}else this._mouseListener&&(this._mouseListener.mask=nt(this,cc.Mask))},_checknSetupSysEvent:function(t){var e=!1,i=!1;return-1!==G.indexOf(t)?(this._touchListener||(this._touchListener=cc.EventListener.create({event:cc.EventListener.TOUCH_ONE_BY_ONE,swallowTouches:!0,owner:this,mask:nt(this,cc.Mask),onTouchBegan:Z,onTouchMoved:K,onTouchEnded:Q,onTouchCancelled:J}),c.addListener(this._touchListener,this),e=!0),i=!0):-1!==j.indexOf(t)&&(this._mouseListener||(this._mouseListener=cc.EventListener.create({event:cc.EventListener.MOUSE,_previousIn:!1,owner:this,mask:nt(this,cc.Mask),onMouseDown:$,onMouseMove:tt,onMouseUp:et,onMouseScroll:it}),c.addListener(this._mouseListener,this),e=!0),i=!0),e&&!this._activeInHierarchy&&cc.director.getScheduler().schedule((function(){this._activeInHierarchy||c.pauseTarget(this)}),this,0,0,0,!1),i},on:function(t,e,i,n){if(this._checknSetupSysEvent(t))return this._onDispatch(t,e,i,n);switch(t){case W.POSITION_CHANGED:this._eventMask|=1;break;case W.SCALE_CHANGED:this._eventMask|=2;break;case W.ROTATION_CHANGED:this._eventMask|=4;break;case W.SIZE_CHANGED:this._eventMask|=8;break;case W.ANCHOR_CHANGED:this._eventMask|=16;break;case W.COLOR_CHANGED:this._eventMask|=32}return this._bubblingListeners||(this._bubblingListeners=new h),this._bubblingListeners.on(t,e,i)},once:function(t,e,i,n){var r=this,s=null;(s=this._checknSetupSysEvent(t)&&n?this._capturingListeners=this._capturingListeners||new h:this._bubblingListeners=this._bubblingListeners||new h).once(t,e,i),s.once(t,(function(){r.off(t,e,i)}),void 0)},_onDispatch:function(t,e,i,n){if("boolean"==typeof i?(n=i,i=void 0):n=!!n,e){var r=null;return(r=n?this._capturingListeners=this._capturingListeners||new h:this._bubblingListeners=this._bubblingListeners||new h).hasEventListener(t,e,i)||(r.on(t,e,i),i&&i.__eventTargets&&i.__eventTargets.push(this)),e}cc.errorID(6800)},off:function(t,e,i,n){var r=-1!==G.indexOf(t),s=!r&&-1!==j.indexOf(t);if(r||s)this._offDispatch(t,e,i,n),r?this._touchListener&&!rt(this,G)&&(c.removeListener(this._touchListener),this._touchListener=null):s&&this._mouseListener&&!rt(this,j)&&(c.removeListener(this._mouseListener),this._mouseListener=null);else if(this._bubblingListeners&&(this._bubblingListeners.off(t,e,i),!this._bubblingListeners.hasEventListener(t)))switch(t){case W.POSITION_CHANGED:this._eventMask&=-2;break;case W.SCALE_CHANGED:this._eventMask&=-3;break;case W.ROTATION_CHANGED:this._eventMask&=-5;break;case W.SIZE_CHANGED:this._eventMask&=-9;break;case W.ANCHOR_CHANGED:this._eventMask&=-17;break;case W.COLOR_CHANGED:this._eventMask&=-33}},_offDispatch:function(t,e,i,n){if("boolean"==typeof i?(n=i,i=void 0):n=!!n,e){var r=n?this._capturingListeners:this._bubblingListeners;r&&(r.off(t,e,i),i&&i.__eventTargets&&l.array.fastRemove(i.__eventTargets,this))}else this._capturingListeners&&this._capturingListeners.removeAll(t),this._bubblingListeners&&this._bubblingListeners.removeAll(t)},targetOff:function(t){var e=this._bubblingListeners;e&&(e.targetOff(t),1&this._eventMask&&!e.hasEventListener(W.POSITION_CHANGED)&&(this._eventMask&=-2),2&this._eventMask&&!e.hasEventListener(W.SCALE_CHANGED)&&(this._eventMask&=-3),4&this._eventMask&&!e.hasEventListener(W.ROTATION_CHANGED)&&(this._eventMask&=-5),8&this._eventMask&&!e.hasEventListener(W.SIZE_CHANGED)&&(this._eventMask&=-9),16&this._eventMask&&!e.hasEventListener(W.ANCHOR_CHANGED)&&(this._eventMask&=-17),32&this._eventMask&&!e.hasEventListener(W.COLOR_CHANGED)&&(this._eventMask&=-33)),this._capturingListeners&&this._capturingListeners.targetOff(t),t&&t.__eventTargets&&l.array.fastRemove(t.__eventTargets,this),this._touchListener&&!rt(this,G)&&(c.removeListener(this._touchListener),this._touchListener=null),this._mouseListener&&!rt(this,j)&&(c.removeListener(this._mouseListener),this._mouseListener=null)},hasEventListener:function(t){var e=!1;return this._bubblingListeners&&(e=this._bubblingListeners.hasEventListener(t)),!e&&this._capturingListeners&&(e=this._capturingListeners.hasEventListener(t)),e},emit:function(t,e,i,n,r,s){this._bubblingListeners&&this._bubblingListeners.emit(t,e,i,n,r,s)},dispatchEvent:function(t){var e=k.get();st(this,t,e),k.put(e)},pauseSystemEvents:function(t){c.pauseTarget(this,t)},resumeSystemEvents:function(t){c.resumeTarget(this,t)},_hitTest:function(t,e){var n=this._contentSize.width,r=this._contentSize.height,s=P,a=N,o=cc.Camera.findCamera(this);if(o?o.getScreenToWorldPoint(t,s):s.set(t),this._updateWorldMatrix(),!i.Mat4.invert(U,this._worldMatrix))return!1;i.Vec2.transformMat4(a,s,U),a.x+=this._anchorPoint.x*n,a.y+=this._anchorPoint.y*r;var c=!1;if(a.x>=0&&a.y>=0&&a.x<=n&&a.y<=r&&(c=!0,e&&e.mask))for(var u=e.mask,l=this,h=u?u.length:0,_=0,f=0;l&&fd.index){u.length=f;break}}return c},_getCapturingTargets:function(t,e){for(var i=this.parent;i;)i._capturingListeners&&i._capturingListeners.hasEventListener(t)&&e.push(i),i=i.parent},_getBubblingTargets:function(t,e){for(var i=this.parent;i;)i._bubblingListeners&&i._bubblingListeners.hasEventListener(t)&&e.push(i),i=i.parent},runAction:p?function(t){if(this.active){cc.assertID(t,1618);var e=cc.director.getActionManager();return e._suppressDeprecation||(e._suppressDeprecation=!0,cc.warnID(1639)),e.addAction(t,this,!1),t}}:v,pauseAllActions:p?function(){cc.director.getActionManager().pauseTarget(this)}:v,resumeAllActions:p?function(){cc.director.getActionManager().resumeTarget(this)}:v,stopAllActions:p?function(){cc.director.getActionManager().removeAllActionsFromTarget(this)}:v,stopAction:p?function(t){cc.director.getActionManager().removeAction(t)}:v,stopActionByTag:p?function(t){t!==cc.Action.TAG_INVALID?cc.director.getActionManager().removeActionByTag(t,this):cc.logID(1612)}:v,getActionByTag:p?function(t){return t===cc.Action.TAG_INVALID?(cc.logID(1613),null):cc.director.getActionManager().getActionByTag(t,this)}:function(){return null},getNumberOfRunningActions:p?function(){return cc.director.getActionManager().getNumberOfRunningActionsInTarget(this)}:function(){return 0},getPosition:function(t){return t=t||new i.Vec3,i.Trs.toPosition(t,this._trs)},setPosition:function(t,e,i){var n;void 0===e?(n=t.x,e=t.y,i=t.z):n=t;var r=this._trs;void 0===i&&(i=r[2]),(r[0]!==n||r[1]!==e||r[2]!==i)&&(r[0]=n,r[1]=e,r[2]=i,this.setLocalDirty(H.ALL_POSITION),this._renderFlag|=_.FLAG_WORLD_TRANSFORM,1&this._eventMask&&this.emit(W.POSITION_CHANGED))},getScale:function(t){return void 0!==t?i.Trs.toScale(t,this._trs):(cc.errorID(1400,"cc.Node.getScale","cc.Node.scale or cc.Node.getScale(cc.Vec3)"),this._trs[7])},setScale:function(t,e,i){var n;t&&"number"!=typeof t?(n=t.x,e=t.y,i=t.z):void 0!==t&&void 0===e?(n=t,e=t,i=t):n=t;var r=this._trs;void 0===i&&(i=r[9]),r[7]===n&&r[8]===e&&r[9]===i||(r[7]=n,r[8]=e,r[9]=i,this.setLocalDirty(H.ALL_SCALE),this._renderFlag|=_.FLAG_TRANSFORM,2&this._eventMask&&this.emit(W.SCALE_CHANGED))},getRotation:function(t){return t instanceof i.Quat?i.Trs.toRotation(t,this._trs):-this.angle},setRotation:function(t,e,i,n){if("number"==typeof t&&void 0===e)this.angle=-t;else{var r=t;void 0===e&&(r=t.x,e=t.y,i=t.z,n=t.w);var s=this._trs;s[3]===r&&s[4]===e&&s[5]===i&&s[6]===n||(s[3]=r,s[4]=e,s[5]=i,s[6]=n,this.setLocalDirty(H.ALL_ROTATION),4&this._eventMask&&this.emit(W.ROTATION_CHANGED))}},getContentSize:function(){return cc.size(this._contentSize.width,this._contentSize.height)},setContentSize:function(t,e){var i=this._contentSize;if(void 0===e){if((0,n.approx)(t.width,i.width)&&(0,n.approx)(t.height,i.height))return;i.width=t.width,i.height=t.height}else{if((0,n.approx)(t,i.width)&&(0,n.approx)(e,i.height))return;i.width=t,i.height=e}8&this._eventMask&&this.emit(W.SIZE_CHANGED)},getAnchorPoint:function(){return cc.v2(this._anchorPoint)},setAnchorPoint:function(t,e){var i=this._anchorPoint;if(void 0===e){if(t.x===i.x&&t.y===i.y)return;i.x=t.x,i.y=t.y}else{if(t===i.x&&e===i.y)return;i.x=t,i.y=e}this.setLocalDirty(H.ALL_POSITION),16&this._eventMask&&this.emit(W.ANCHOR_CHANGED)},_invTransformPoint:function(t,e){this._parent?this._parent._invTransformPoint(t,e):i.Vec3.copy(t,e);var n=this._trs;return i.Trs.toPosition(y,n),i.Vec3.sub(t,t,y),i.Trs.toRotation(E,n),i.Quat.conjugate(A,E),i.Vec3.transformQuat(t,t,A),i.Trs.toScale(y,n),i.Vec3.inverseSafe(T,y),i.Vec3.mul(t,t,T),t},getWorldPosition:function(t){i.Trs.toPosition(t,this._trs);for(var e,n=this._parent;n;)e=n._trs,i.Trs.toScale(g,e),i.Vec3.mul(t,t,g),i.Trs.toRotation(m,e),i.Vec3.transformQuat(t,t,m),i.Trs.toPosition(g,e),i.Vec3.add(t,t,g),n=n._parent;return t},setWorldPosition:function(t){var e=this._trs;this._parent?this._parent._invTransformPoint(C,t):i.Vec3.copy(C,t),i.Trs.fromPosition(e,C),this.setLocalDirty(H.ALL_POSITION),1&this._eventMask&&this.emit(W.POSITION_CHANGED)},getWorldRotation:function(t){i.Trs.toRotation(F,this._trs),i.Quat.copy(t,F);for(var e=this._parent;e;)i.Trs.toRotation(F,e._trs),i.Quat.mul(t,F,t),e=e._parent;return t},setWorldRotation:function(t){this._parent?(this._parent.getWorldRotation(B),i.Quat.conjugate(B,B),i.Quat.mul(B,B,t)):i.Quat.copy(B,t),i.Trs.fromRotation(this._trs,B),this.setLocalDirty(H.ALL_ROTATION)},getWorldScale:function(t){i.Trs.toScale(x,this._trs),i.Vec3.copy(t,x);for(var e=this._parent;e;)i.Trs.toScale(x,e._trs),i.Vec3.mul(t,t,x),e=e._parent;return t},setWorldScale:function(t){this._parent?(this._parent.getWorldScale(b),i.Vec3.div(b,t,b)):i.Vec3.copy(b,t),i.Trs.fromScale(this._trs,b),this.setLocalDirty(H.ALL_SCALE)},getWorldRT:function(t){var e=S,n=w,r=this._trs;i.Trs.toPosition(e,r),i.Trs.toRotation(n,r);for(var s=this._parent;s;)r=s._trs,i.Trs.toScale(R,r),i.Vec3.mul(e,e,R),i.Trs.toRotation(I,r),i.Vec3.transformQuat(e,e,I),i.Trs.toPosition(R,r),i.Vec3.add(e,e,R),i.Quat.mul(n,I,n),s=s._parent;return i.Mat4.fromRT(t,n,e),t},lookAt:function(t,e){this.getWorldPosition(M),i.Vec3.sub(M,M,t),i.Vec3.normalize(M,M),i.Quat.fromViewUp(O,M,e),this.setWorldRotation(O)},_updateLocalMatrix:ut,_calculWorldMatrix:function(){this._localMatDirty&H.TRSS&&this._updateLocalMatrix();var t=this._parent;t?this._mulMat(this._worldMatrix,t._worldMatrix,this._matrix):i.Mat4.copy(this._worldMatrix,this._matrix),this._worldMatDirty=!1},_mulMat:_t,_updateWorldMatrix:function(){if(this._parent&&this._parent._updateWorldMatrix(),this._worldMatDirty){this._calculWorldMatrix();for(var t=this._children,e=0,i=t.length;e1){for(var n,r,s=1,a=t.length;s0&&(r=t[o-1])._localZOrder>n._localZOrder;o--)t[o]=r;t[o]=n}this.emit(W.CHILD_REORDER,this)}cc.director.__fastOff(cc.Director.EVENT_AFTER_UPDATE,this.sortAllChildren,this)}},_delaySort:function(){this._reorderChildDirty||(this._reorderChildDirty=!0,cc.director.__fastOn(cc.Director.EVENT_AFTER_UPDATE,this.sortAllChildren,this))},_restoreProperties:!1,onRestore:!1},pt=cc.Class(dt),vt=pt.prototype;l.getset(vt,"position",vt.getPosition,vt.setPosition,!1,!0),cc.Node=e.exports=pt}),{"./event-manager":130,"./event/event":133,"./event/event-target":132,"./platform/CCMacro":154,"./platform/js":170,"./renderer/render-flow":181,"./utils/affine-transform":215,"./utils/base-node":216,"./utils/prefab-helper":226,"./utils/trans-pool":232,"./value-types":238,"./value-types/utils":245}],26:[(function(t,e){"use strict";var i=t("./CCNode"),n=t("./renderer/render-flow"),r=(cc.Object.Flags.HideInHierarchy,i._LocalDirtyFlag),s=cc.Class({name:"cc.PrivateNode",extends:i,properties:{x:{get:function(){return this._originPos.x},set:function(t){var e=this._originPos;t!==e.x&&(e.x=t,this._posDirty(!0))},override:!0},y:{get:function(){return this._originPos.y},set:function(t){var e=this._originPos;t!==e.y&&(e.y=t,this._posDirty(!0))},override:!0},zIndex:{get:function(){return cc.macro.MIN_ZINDEX},set:function(){},override:!0},showInEditor:{default:!1,editorOnly:!0,override:!0}},ctor:function(){this._localZOrder=cc.macro.MIN_ZINDEX<<16,this._originPos=cc.v2()},_posDirty:function(t){this.setLocalDirty(r.POSITION),this._renderFlag|=n.FLAG_TRANSFORM,!0===t&&1&this._eventMask&&this.emit(i.EventType.POSITION_CHANGED)},_updateLocalMatrix:function(){if(this._localMatDirty){var t=this.parent;t&&(this._trs[0]=this._originPos.x-(t._anchorPoint.x-.5)*t._contentSize.width,this._trs[1]=this._originPos.y-(t._anchorPoint.y-.5)*t._contentSize.height),this._super()}},getPosition:function(){return new cc.Vec2(this._originPos)},setPosition:function(t,e){void 0===e&&(e=(t=t.x).y);var i=this._originPos;i.x===t&&i.y===e||(i.x=t,i.y=e,this._posDirty(!0))},setParent:function(t){var e=this._parent;this._super(t),e!==t&&(e&&e.off(i.EventType.ANCHOR_CHANGED,this._posDirty,this),t&&t.on(i.EventType.ANCHOR_CHANGED,this._posDirty,this))},_updateOrderOfArrival:function(){}}),a=s.prototype;cc.js.getset(a,"parent",a.getParent,a.setParent),cc.js.getset(a,"position",a.getPosition,a.setPosition),cc.PrivateNode=e.exports=s}),{"./CCNode":25,"./renderer/render-flow":181}],27:[(function(t,e){"use strict";cc.Scene=cc.Class({name:"cc.Scene",extends:t("./CCNode"),properties:{_is3DNode:{default:!0,override:!0},autoReleaseAssets:!1},ctor:function(){this._anchorPoint.x=0,this._anchorPoint.y=0,this._activeInHierarchy=!1,this._inited=!cc.game._isCloning,this.dependAssets=null},destroy:function(){if(cc.Object.prototype.destroy.call(this))for(var t=this._children,e=0;e0,this._repeat=r,this._runForever=this._repeat===cc.macro.REPEAT_FOREVER,!0},h.getInterval=function(){return this._interval},h.setInterval=function(t){this._interval=t},h.update=function(t){-1===this._elapsed?(this._elapsed=0,this._timesExecuted=0):(this._elapsed+=t,this._runForever&&!this._useDelay?this._elapsed>=this._interval&&(this.trigger(),this._elapsed=0):(this._useDelay?this._elapsed>=this._delay&&(this.trigger(),this._elapsed-=this._delay,this._timesExecuted+=1,this._useDelay=!1):this._elapsed>=this._interval&&(this.trigger(),this._elapsed=0,this._timesExecuted+=1),this._callback&&!this._runForever&&this._timesExecuted>this._repeat&&this.cancel()))},h.getCallback=function(){return this._callback},h.trigger=function(){this._target&&this._callback&&(this._lock=!0,this._callback.call(this._target,this._elapsed),this._lock=!1)},h.cancel=function(){this._scheduler.unschedule(this._callback,this._target)};var _=[];l.get=function(){return _.pop()||new l},l.put=function(t){_.length<20&&!t._lock&&(t._scheduler=t._target=t._callback=null,_.push(t))},cc.Scheduler=function(){this._timeScale=1,this._updatesNegList=[],this._updates0List=[],this._updatesPosList=[],this._hashForUpdates=i.createMap(!0),this._hashForTimers=i.createMap(!0),this._currentTarget=null,this._currentTargetSalvaged=!1,this._updateHashLocked=!1,this._arrayForTimers=[]},cc.Scheduler.prototype={constructor:cc.Scheduler,_removeHashElement:function(t){delete this._hashForTimers[t.target._id];for(var e=this._arrayForTimers,i=0,n=e.length;i=s&&n.timerIndex--,void(0===r.length&&(this._currentTarget===n?this._currentTargetSalvaged=!0:this._removeHashElement(n)))}}},unscheduleUpdate:function(t){if(t){var e=t._id;e||(t.__instanceId?(cc.warnID(1513),e=t._id=t.__instanceId):cc.errorID(1510));var i=this._hashForUpdates[e];i&&(this._updateHashLocked?i.entry.markedForDeletion=!0:this._removeUpdateFromHash(i.entry))}},unscheduleAllForTarget:function(t){if(t){var e=t._id;e||(t.__instanceId?(cc.warnID(1513),e=t._id=t.__instanceId):cc.errorID(1510));var i=this._hashForTimers[e];if(i){var n=i.timers;n.indexOf(i.currentTimer)>-1&&!i.currentTimerSalvaged&&(i.currentTimerSalvaged=!0);for(var r=0,s=n.length;r=0;e--)i=r[e],this.unscheduleAllForTarget(i.target);var s=0;if(t<0)for(e=0;e=t&&this.unscheduleUpdate(n.target),s==this._updatesNegList.length&&e++;if(t<=0)for(e=0;e=t&&this.unscheduleUpdate(n.target),s==this._updatesPosList.length&&e++},isScheduled:function(t,e){cc.assertID(t,1508),cc.assertID(e,1509);var i=e._id;i||(e.__instanceId?(cc.warnID(1513),i=e._id=e.__instanceId):cc.errorID(1510));var n=this._hashForTimers[i];if(!n)return!1;if(null==n.timers)return!1;for(var r=n.timers,s=0;s=t&&(r.paused=!0,s.push(r.target));if(t<=0)for(i=0;i=t&&(r.paused=!0,s.push(r.target));return s},resumeTargets:function(t){if(t)for(var e=0;e1?n:n[0]}},cc.AssetManager=P,cc.assetManager=new P,Object.defineProperty(cc,"resources",{get:function(){return D.get(L.RESOURCES)}}),e.exports=cc.assetManager}),{"./builtins":30,"./bundle":31,"./cache":32,"./depend-util":34,"./downloader":41,"./factory":42,"./fetch":43,"./helper":45,"./load":47,"./pack-manager":48,"./parser":49,"./pipeline":50,"./preprocess":51,"./releaseManager":52,"./request-item":53,"./shared":54,"./task":55,"./urlTransformer":56,"./utilities":57}],30:[(function(t,e){"use strict";var i=t("./cache"),n=t("./releaseManager"),r=t("./shared").BuiltinBundleName,s={_assets:new i({material:new i,effect:new i}),_loadBuiltins:function(t,e){var i=t+"s",n=this._assets.get(t);return cc.assetManager.internal.loadDir(i,null,null,(function(t,i){if(t)cc.error(t.message,t.stack);else for(var r=0;re.length)||47===t.charCodeAt(e.length)}return this.paths.forEach((function(n,r){if(r.startsWith(t)&&a(r,t)||!t)for(var o=0,c=n.length;o1){var f=Object.create(null);n.forEach((function(t){f[t._uuid]=t})),r={isCompleted:l,_map:f}}else r=n[0]}i&&i(e,r)}))},getXMLHttpRequest:function(){return new XMLHttpRequest},_parseLoadResArgs:i.parseLoadResArgs,getItem:function(t){return cc.assetManager.assets.has(t)?{content:cc.assetManager.assets.get(t)}:null},loadRes:function(t,e,i,n){var r=this._parseLoadResArgs(e,i,n),s=(e=r.type,r.onProgress),a=r.onComplete,o=cc.path.extname(t);o&&(t=t.slice(0,-o.length)),cc.resources.load(t,e,s,a)},loadResArray:function(t,e,i,n){var r=this._parseLoadResArgs(e,i,n),s=(e=r.type,r.onProgress),a=r.onComplete;t.forEach((function(e,i){var n=cc.path.extname(e);n&&(t[i]=e.slice(0,-n.length))})),cc.resources.load(t,e,s,a)},loadResDir:function(t,e,i,n){var r=this._parseLoadResArgs(e,i,n),s=(e=r.type,r.onProgress),a=r.onComplete;cc.resources.loadDir(t,e,s,(function(i,n){var r=[];i||(r=cc.resources.getDirWithPath(t,e).map((function(t){return t.path}))),a&&a(i,n,r)}))},getRes:function(t,e){return cc.assetManager.assets.has(t)?cc.assetManager.assets.get(t):cc.resources.get(t,e)},getResCount:function(){return cc.assetManager.assets.count},getDependsRecursively:function(t){return t?n.getDepsRecursively("string"==typeof t?t:t._uuid).concat([t._uuid]):[]},get assetLoader(){},get md5Pipe(){return h},get downloader(){return cc.assetManager.downloader},get loader(){return cc.assetManager.parser},addDownloadHandlers:function(t){var e=Object.create(null);for(var i in t){var n=t[i];e["."+i]=function(t,e,i){n({url:t},i)}}cc.assetManager.downloader.register(e)},addLoadHandlers:function(t){var e=Object.create(null);for(var i in t){var n=t[i];e["."+i]=function(t,e,i){n({content:t},i)}}cc.assetManager.parser.register(e)},flowInDeps:function(){},release:function(t){if(Array.isArray(t))for(var e=0;eN._maxInterval?N._maxInterval:cc.director._deltaTime;t-O>1e3*e&&(M=0,O=t)},P=function t(e,i){for(D=!1,L();R.length>0&&I0&&I0&&(s(P,m,y),D=!0),a.apply(this,arguments)}))}L(),I0){var i=n.create({name:t.name+" dependencies",input:c,progress:f,options:s,onProgress:t.onProgress,onError:n.prototype.recycle,onComplete:function(n){n||(t.output.push.apply(t.output,this.output),i.recycle()),r&&h(t),e(n)}});l.async(i)}else r&&h(t),e()}))}}),{"./pack-manager":48,"./shared":54,"./task":55,"./utilities":57}],44:[(function(t,e){"use strict";var i,n=t("../utils/text-utils"),r=null,s="BES bswy:->@123\u4e01\u3041\u1101",a=Object.create(null),o=-1,c=[],u=3e3,l=(i=void 0,function(){if(void 0===i)if(window.FontFace){var t=/Gecko.*Firefox\/(\d+)/.exec(window.navigator.userAgent),e=/OS X.*Version\/10\..*Safari/.exec(window.navigator.userAgent)&&/Apple/.exec(window.navigator.vendor);i=t?parseInt(t[1],10)>42:!e}else i=!1;return i});function h(){for(var t=!0,e=Date.now(),i=c.length-1;i>=0;i--){var a=c[i],l=a.fontFamilyName;if(e-a.startTime>u)cc.warnID(4933,l),a.onComplete(null,l),c.splice(i,1);else{var h=a.refWidth,_="40px "+l;r.font=_,h!==n.safeMeasureText(r,s,_)?(c.splice(i,1),a.onComplete(null,l)):t=!1}}t&&(clearInterval(o),o=-1)}var _={loadFont:function(t,e,i){var f=_._getFontFamily(t);if(a[f])return i(null,f);if(!r){var d=document.createElement("canvas");d.width=100,d.height=100,r=d.getContext("2d")}var p="40px "+f;r.font=p;var v=n.safeMeasureText(r,s,p),g=document.createElement("style");g.type="text/css";var m="";isNaN(f-0)?m+="@font-face { font-family:"+f+"; src:":m+="@font-face { font-family:'"+f+"'; src:",m+="url('"+t+"');",g.textContent=m+"}",document.body.appendChild(g);var y,T,E,A,C,x,b=document.createElement("div"),S=b.style;if(S.fontFamily=f,b.innerHTML=".",S.position="absolute",S.left="-100px",S.top="-100px",document.body.appendChild(b),l())y=Date.now(),T=f,E=i,A=new Promise(function(t,e){(function i(){Date.now()-y>=u?e():document.fonts.load("40px "+T).then((function(e){e.length>=1?t():setTimeout(i,100)}),(function(){e()}))})()}),C=null,x=new Promise(function(t,e){C=setTimeout(e,u)}),Promise.race([x,A]).then((function(){C&&(clearTimeout(C),C=null),E(null,T)}),(function(){cc.warnID(4933,T),E(null,T)}));else{var R={fontFamilyName:f,refWidth:v,onComplete:i,startTime:Date.now()};c.push(R),-1===o&&(o=setInterval(h,100))}a[f]=g},_getFontFamily:function(t){var e=t.lastIndexOf(".ttf");if(-1===e)return t;var i,n=t.lastIndexOf("/");return-1!==(i=-1===n?t.substring(0,e)+"_LABEL":t.substring(n+1,e)+"_LABEL").indexOf(" ")&&(i='"'+i+'"'),i}};e.exports=_}),{"../utils/text-utils":230}],45:[(function(t,e){"use strict";var i,n=t("./shared").bundles,r={decodeUuid:t("../utils/decode-uuid"),getUuidFromURL:(i=/.*[/\\][0-9a-fA-F]{2}[/\\]([0-9a-fA-F-]{8,})/,function(t){var e=t.match(i);return e?e[1]:""}),getUrlWithUuid:function(t,e){(e=e||Object.create(null)).__isNative__=e.isNative,e.ext=e.nativeExt;var i=n.find((function(e){return e.getAssetInfo(t)}));return i&&(e.bundle=i.name),cc.assetManager._transform(t,e)},isScene:function(t){return t&&(t.constructor===cc.SceneAsset||t instanceof cc.Scene)},normalize:function(t){return t&&(46===t.charCodeAt(0)&&47===t.charCodeAt(1)?t=t.slice(2):47===t.charCodeAt(0)&&(t=t.slice(1))),t}};e.exports=r}),{"../utils/decode-uuid":219,"./shared":54}],46:[(function(t){"use strict";t("./deprecated"),t("./CCAssetManager")}),{"./CCAssetManager":29,"./deprecated":35}],47:[(function(t,e){"use strict";var i=t("./pack-manager"),n=t("./pipeline"),r=t("./parser"),s=t("./utilities"),a=s.getDepends,o=s.cache,c=s.gatherAsset,u=s.setProperties,l=s.forEach,h=s.clear,_=s.checkCircleReference,f=t("./shared"),d=f.assets,p=f.files,v=f.parsed,g=f.pipeline,m=t("./task"),y=new n("loadOneAsset",[function(t,e){var n=t.output=t.input,r=n.options,s=n.isNative,a=n.uuid,o=n.file,c=r.reload;if(o||!c&&!s&&d.has(a))return e();i.load(n,t.options,(function(t,i){n.file=i,e(t)}))},function(t,e){var i=t.output=t.input,n=t.progress,s=t.options.__exclude__,a=i.id,o=i.file,c=i.options;if(i.isNative)r.parse(a,o,i.ext,c,(function(r,s){if(r)return e(r);i.content=s,n.canInvoke&&t.dispatch("progress",++n.finish,n.total,i),p.remove(a),v.remove(a),e()}));else{var u=i.uuid;if(u in s){var l=s[u],h=l.finish,f=l.content,g=l.err,m=l.callbacks;n.canInvoke&&t.dispatch("progress",++n.finish,n.total,i),h||_(u,u,s)?(f&&f.addRef&&f.addRef(),i.content=f,e(g)):m.push({done:e,item:i})}else if(!c.reload&&d.has(u)){var y=d.get(u);c.__asyncLoadAssets__||!y.__asyncLoadAssets__?(i.content=y.addRef(),n.canInvoke&&t.dispatch("progress",++n.finish,n.total,i),e()):T(t,y,e,!1)}else r.parse(a,o,"import",c,(function(i,n){if(i)return e(i);n._uuid=u,T(t,n,e,!0)}))}}]);function T(t,e,i,n){var r=t.input,s=t.progress,c=r.uuid,l=r.id,h=r.options,_=r.config,f=h.__asyncLoadAssets__,d=h.cacheAsset,y=[];e.addRef&&e.addRef(),a(c,e,Object.create(null),y,!1,f,_),s.canInvoke&&t.dispatch("progress",++s.finish,s.total+=y.length,r);var T=t.options.__exclude__[c]={content:e,finish:!1,callbacks:[{done:i,item:r}]},E=m.create({input:y,options:t.options,onProgress:t.onProgress,onError:m.prototype.recycle,progress:s,onComplete:function(t){if(e.decRef&&e.decRef(!1),e.__asyncLoadAssets__=f,T.finish=!0,T.err=t,!t){for(var i=Array.isArray(E.output)?E.output:[E.output],r=Object.create(null),s=0,a=i.length;sthis.pipes.length))return this.pipes.splice(e,0,t),this;cc.warnID(4921)},append:function(t){if("function"==typeof t)return this.pipes.push(t),this},remove:function(t){if("number"==typeof t)return this.pipes.splice(t,1),this},sync:function(t){var e=this.pipes;if(t instanceof i&&0!==e.length){null!=t.output&&(t.input=t.output,t.output=null),t._isFinish=!1;for(var n=0,r=e.length;n0&&h(t)>0)){r.remove(t._uuid);for(var n=i.getDeps(t._uuid),s=0,a=n.length;s0&&this._ref--,!1!==t&&cc.assetManager._releaseManager.tryRelease(this),this},destroy:function(){return this.loaded=!1,this._super()}}),e.exports=cc.Asset}),{"../platform/CCObject":155}],59:[(function(t,e){"use strict";var i=t("./CCAsset"),n=t("../event/event-target"),r=cc.Enum({WEB_AUDIO:0,DOM_AUDIO:1}),s=cc.Class({name:"cc.AudioClip",extends:i,mixins:[n],ctor:function(){this._loading=!1,this.loaded=!1,this._audio=null},properties:{duration:0,loadMode:{default:r.WEB_AUDIO,type:r},_nativeAsset:{get:function(){return this._audio},set:function(t){t instanceof cc.AudioClip?this._audio=t._nativeAsset:this._audio=t,this._audio&&(this.loaded=!0,this.emit("load"))},override:!0},_nativeDep:{get:function(){return{uuid:this._uuid,audioLoadMode:this.loadMode,ext:cc.path.extname(this._native),__isNative__:!0}},override:!0}},statics:{LoadMode:r,_loadByUrl:function(t,e){var i=cc.assetManager.assets.get(t);i?e(null,i):cc.assetManager.loadRemote(t,(function(t,i){if(t)return e(t);e(null,i)}))}},_ensureLoaded:function(t){if(this.isValid){if(this.loaded)return t&&t();if(t&&this.once("load",t),!this._loading){this._loading=!0;var e=this;cc.assetManager.postLoadNative(this,(function(){e._loading=!1}))}}},destroy:function(){cc.audioEngine.uncache(this),this._super()}});cc.AudioClip=s,e.exports=s}),{"../event/event-target":132,"./CCAsset":58}],60:[(function(t,e){"use strict";var i=function(){this.u=0,this.v=0,this.w=0,this.h=0,this.offsetX=0,this.offsetY=0,this.textureID=0,this.valid=!1,this.xAdvance=0},n=function(t){this._letterDefinitions={},this._texture=t};n.prototype={constructor:n,addLetterDefinitions:function(t,e){this._letterDefinitions[t]=e},cloneLetterDefinition:function(){var t={};for(var e in this._letterDefinitions){var n=new i;cc.js.mixin(n,this._letterDefinitions[e]),t[e]=n}return t},getTexture:function(){return this._texture},getLetter:function(t){return this._letterDefinitions[t]},getLetterDefinitionForChar:function(t){var e=t.charCodeAt(0);return this._letterDefinitions.hasOwnProperty(e)?this._letterDefinitions[e]:null},clear:function(){this._letterDefinitions={}}};var r=cc.Class({name:"cc.BitmapFont",extends:cc.Font,properties:{fntDataStr:{default:""},spriteFrame:{default:null,type:cc.SpriteFrame},fontSize:{default:-1},_fntConfig:null,_fontDefDictionary:null},onLoad:function(){var t=this.spriteFrame;this._fontDefDictionary||(this._fontDefDictionary=new n,t&&(this._fontDefDictionary._texture=t._texture));var e=this._fntConfig;if(e){var r=e.fontDefDictionary;for(var s in r){var a=new i,o=r[s].rect;a.offsetX=r[s].xOffset,a.offsetY=r[s].yOffset,a.w=o.width,a.h=o.height,a.u=o.x,a.v=o.y,a.textureID=0,a.valid=!0,a.xAdvance=r[s].xAdvance,this._fontDefDictionary.addLetterDefinitions(s,a)}}}});cc.BitmapFont=r,cc.BitmapFont.FontLetterDefinition=i,cc.BitmapFont.FontAtlas=n,e.exports=r}),{}],61:[(function(t,e){"use strict";var i=cc.Class({name:"cc.BufferAsset",extends:cc.Asset,ctor:function(){this._buffer=null},properties:{_nativeAsset:{get:function(){return this._buffer},set:function(t){this._buffer=t.buffer||t},override:!0},buffer:function(){return this._buffer}}});cc.BufferAsset=e.exports=i}),{}],62:[(function(t,e){"use strict";var i=cc.Class({name:"cc.Font",extends:cc.Asset});cc.Font=e.exports=i}),{}],63:[(function(t,e){"use strict";var i=cc.Class({name:"cc.JsonAsset",extends:cc.Asset,properties:{json:null}});e.exports=cc.JsonAsset=i}),{}],64:[(function(t,e){"use strict";var i=cc.Class({name:"cc.LabelAtlas",extends:cc.BitmapFont,onLoad:function(){this.spriteFrame?this._fntConfig?this._super():cc.warnID(9101,this.name):cc.warnID(9100,this.name)}});cc.LabelAtlas=i,e.exports=i}),{}],65:[(function(t,e){"use strict";var i=cc.Enum({AUTO:0,SINGLE_INSTANCE:1,MULTI_INSTANCE:2}),n=cc.Class({name:"cc.Prefab",extends:cc.Asset,ctor:function(){this._createFunction=null,this._instantiatedTimes=0},properties:{data:null,optimizationPolicy:i.AUTO,asyncLoadAssets:!1,readonly:{default:!1,editorOnly:!0}},statics:{OptimizationPolicy:i,OptimizationPolicyThreshold:3},createNode:!1,compileCreateFunction:function(){var e=t("../platform/instantiate-jit");this._createFunction=e.compile(this.data)},_doInstantiate:function(t){return this.data._prefab||cc.warnID(3700),this._createFunction||this.compileCreateFunction(),this._createFunction(t)},_instantiate:function(){var t;return this.optimizationPolicy!==i.SINGLE_INSTANCE&&(this.optimizationPolicy===i.MULTI_INSTANCE||this._instantiatedTimes+1>=n.OptimizationPolicyThreshold)?(t=this._doInstantiate(),this.data._instantiate(t)):t=this.data._instantiate(),++this._instantiatedTimes,t},destroy:function(){this.data&&this.data.destroy(),this._super()}});cc.Prefab=e.exports=n,cc.js.obsolete(cc,"cc._Prefab","Prefab")}),{"../platform/instantiate-jit":168}],66:[(function(t,e){"use strict";var i,n=(i=t("../../renderer/gfx"))&&i.__esModule?i:{default:i},r=t("../renderer"),s=t("./CCTexture2D"),a=cc.Enum({RB_FMT_D24S8:n.default.RB_FMT_D24S8,RB_FMT_S8:n.default.RB_FMT_S8,RB_FMT_D16:n.default.RB_FMT_D16}),o=cc.Class({name:"cc.RenderTexture",extends:s,statics:{DepthStencilFormat:a},ctor:function(){this._framebuffer=null},initWithSize:function(t,e,i){this.width=Math.floor(t||cc.visibleRect.width),this.height=Math.floor(e||cc.visibleRect.height),this._resetUnderlyingMipmaps();var s,a={colors:[this._texture]};this._depthStencilBuffer&&this._depthStencilBuffer.destroy(),i&&(s=new n.default.RenderBuffer(r.device,i,t,e),i===n.default.RB_FMT_D24S8?a.depthStencil=s:i===n.default.RB_FMT_S8?a.stencil=s:i===n.default.RB_FMT_D16&&(a.depth=s)),this._depthStencilBuffer=s,this._framebuffer&&this._framebuffer.destroy(),this._framebuffer=new n.default.FrameBuffer(r.device,t,e,a),this._packable=!1,this.loaded=!0,this.emit("load")},updateSize:function(t,e){this.width=Math.floor(t||cc.visibleRect.width),this.height=Math.floor(e||cc.visibleRect.height),this._resetUnderlyingMipmaps();var i=this._depthStencilBuffer;i&&i.update(this.width,this.height),this._framebuffer._width=t,this._framebuffer._height=e},drawTextureAt:function(t,e,i){t._image&&0!==t._image.width&&this._texture.updateSubImage({x:e,y:i,image:t._image,width:t.width,height:t.height,level:0,flipY:!1,premultiplyAlpha:t._premultiplyAlpha})},readPixels:function(t,e,i,n,r){if(!this._framebuffer||!this._texture)return t;e=e||0,i=i||0;var s=n||this.width,a=r||this.height;t=t||new Uint8Array(s*a*4);var o=cc.game._renderContext,c=o.getParameter(o.FRAMEBUFFER_BINDING);return o.bindFramebuffer(o.FRAMEBUFFER,this._framebuffer.getHandle()),o.readPixels(e,i,s,a,o.RGBA,o.UNSIGNED_BYTE,t),o.bindFramebuffer(o.FRAMEBUFFER,c),t},destroy:function(){this._super(),this._framebuffer&&(this._framebuffer.destroy(),this._framebuffer=null)}});cc.RenderTexture=e.exports=o}),{"../../renderer/gfx":265,"../renderer":180,"./CCTexture2D":73}],67:[(function(t,e){"use strict";var i=cc.Class({name:"cc.SceneAsset",extends:cc.Asset,properties:{scene:null,asyncLoadAssets:void 0}});cc.SceneAsset=i,e.exports=i}),{}],68:[(function(){"use strict";var t=cc.Class({name:"cc.Script",extends:cc.Asset});cc._Script=t;var e=cc.Class({name:"cc.JavaScript",extends:t});cc._JavaScript=e;var i=cc.Class({name:"cc.TypeScript",extends:t});cc._TypeScript=i}),{}],69:[(function(t,e){"use strict";var i=cc.Class({name:"cc.SpriteAtlas",extends:cc.Asset,properties:{_spriteFrames:{default:{}}},getTexture:function(){var t=Object.keys(this._spriteFrames);if(t.length>0){var e=this._spriteFrames[t[0]];return e?e.getTexture():null}return null},getSpriteFrame:function(t){var e=this._spriteFrames[t];return e?(e.name||(e.name=t),e):null},getSpriteFrames:function(){var t=[],e=this._spriteFrames;for(var i in e)t.push(this.getSpriteFrame(i));return t}});cc.SpriteAtlas=i,e.exports=i}),{}],70:[(function(t,e){"use strict";var i=t("../event/event-target"),n=[{u:0,v:0},{u:0,v:0},{u:0,v:0},{u:0,v:0}],r=cc.Class({name:"cc.SpriteFrame",extends:t("../assets/CCAsset"),mixins:[i],properties:{_textureSetter:{set:function(t){t&&this._texture!==t&&this._refreshTexture(t)}},insetTop:{get:function(){return this._capInsets[1]},set:function(t){this._capInsets[1]=t,this._texture&&this._calculateSlicedUV()}},insetBottom:{get:function(){return this._capInsets[3]},set:function(t){this._capInsets[3]=t,this._texture&&this._calculateSlicedUV()}},insetLeft:{get:function(){return this._capInsets[0]},set:function(t){this._capInsets[0]=t,this._texture&&this._calculateSlicedUV()}},insetRight:{get:function(){return this._capInsets[2]},set:function(t){this._capInsets[2]=t,this._texture&&this._calculateSlicedUV()}}},ctor:function(){i.call(this);var t=arguments[0],e=arguments[1],n=arguments[2],r=arguments[3],s=arguments[4];this._rect=null,this.uv=[],this._texture=null,this._original=null,this._offset=null,this._originalSize=null,this._rotated=!1,this._flipX=!1,this._flipY=!1,this.vertices=null,this._capInsets=[0,0,0,0],this.uvSliced=[],void 0!==t&&this.setTexture(t,e,n,r,s)},textureLoaded:function(){return this._texture&&this._texture.loaded},onTextureLoaded:function(t,e){return this.textureLoaded()?(t.call(e),!0):(this.once("load",t,e),this.ensureLoadTexture(),!1)},isRotated:function(){return this._rotated},setRotated:function(t){this._rotated=t,this._texture&&this._calculateUV()},isFlipX:function(){return this._flipX},isFlipY:function(){return this._flipY},setFlipX:function(t){this._flipX=t,this._texture&&this._calculateUV()},setFlipY:function(t){this._flipY=t,this._texture&&this._calculateUV()},getRect:function(){return cc.rect(this._rect)},setRect:function(t){this._rect=t,this._texture&&this._calculateUV()},getOriginalSize:function(){return cc.size(this._originalSize)},setOriginalSize:function(t){this._originalSize?(this._originalSize.width=t.width,this._originalSize.height=t.height):this._originalSize=cc.size(t)},getTexture:function(){return this._texture},_textureLoadedCallback:function(){var t=this._texture;if(t){var e=t.width,i=t.height;this._rect?this._checkRect(this._texture):this._rect=cc.rect(0,0,e,i),this._originalSize||this.setOriginalSize(cc.size(e,i)),this._offset||this.setOffset(cc.v2(0,0)),this._calculateUV(),this.emit("load")}},_refreshTexture:function(t){this._texture=t,t.loaded?this._textureLoadedCallback():t.once("load",this._textureLoadedCallback,this)},getOffset:function(){return cc.v2(this._offset)},setOffset:function(t){this._offset=cc.v2(t)},clone:function(){return new r(this._texture,this.getRect(),this._rotated,this.getOffset(),this.getOriginalSize())},setTexture:function(t,e,i,n,r){if(1!==arguments.length||t!==this._texture){if(this._rect=e||null,n?this.setOffset(n):this._offset=null,r?this.setOriginalSize(r):this._originalSize=null,this._rotated=i||!1,"string"!=typeof t)return t instanceof cc.Texture2D&&this._refreshTexture(t),!0;cc.errorID(3401)}},ensureLoadTexture:function(){this._texture&&(this._texture.loaded||(this._refreshTexture(this._texture),cc.assetManager.postLoadNative(this._texture)))},_checkRect:function(t){var e=this._rect,i=e.x,n=e.y;this._rotated?(i+=e.height,n+=e.width):(i+=e.width,n+=e.height),i>t.width&&cc.errorID(3300,t.nativeUrl+"/"+this.name,i,t.width),n>t.height&&cc.errorID(3400,t.nativeUrl+"/"+this.name,n,t.height)},_flipXY:function(t){if(this._flipX){var e=t[0];t[0]=t[1],t[1]=e,e=t[2],t[2]=t[3],t[3]=e}if(this._flipY){var i=t[0];t[0]=t[2],t[2]=i,i=t[1],t[1]=t[3],t[3]=i}},_calculateSlicedUV:function(){var t=this._rect,e=this._texture.width,i=this._texture.height,r=this._capInsets[0],s=this._capInsets[2],a=t.width-r-s,o=this._capInsets[1],c=this._capInsets[3],u=t.height-o-c,l=this.uvSliced;if(l.length=0,this._rotated){n[0].u=t.x/e,n[1].u=(t.x+c)/e,n[2].u=(t.x+c+u)/e,n[3].u=(t.x+t.height)/e,n[3].v=t.y/i,n[2].v=(t.y+r)/i,n[1].v=(t.y+r+a)/i,n[0].v=(t.y+t.width)/i,this._flipXY(n);for(var h=0;h<4;++h)for(var _=n[h],f=0;f<4;++f){var d=n[3-f];l.push({u:_.u,v:d.v})}}else{n[0].u=t.x/e,n[1].u=(t.x+r)/e,n[2].u=(t.x+r+a)/e,n[3].u=(t.x+t.width)/e,n[3].v=t.y/i,n[2].v=(t.y+o)/i,n[1].v=(t.y+o+u)/i,n[0].v=(t.y+t.height)/i,this._flipXY(n);for(var p=0;p<4;++p)for(var v=n[p],g=0;g<4;++g){var m=n[g];l.push({u:m.u,v:v.v})}}},_setDynamicAtlasFrame:function(t){t&&(this._original={_texture:this._texture,_x:this._rect.x,_y:this._rect.y},this._texture=t.texture,this._rect.x=t.x,this._rect.y=t.y,this._calculateUV())},_resetDynamicAtlasFrame:function(){this._original&&(this._rect.x=this._original._x,this._rect.y=this._original._y,this._texture=this._original._texture,this._original=null,this._texture.loaded?this._calculateUV():this.ensureLoadTexture())},_calculateUV:function(){var t=this._rect,e=this._texture,i=this.uv,n=e.width,r=e.height;if(this._rotated){var s=0===n?0:t.x/n,a=0===n?0:(t.x+t.height)/n,o=0===r?0:(t.y+t.width)/r,c=0===r?0:t.y/r;i[0]=s,i[1]=c,i[2]=s,i[3]=o,i[4]=a,i[5]=c,i[6]=a,i[7]=o}else{var u=0===n?0:t.x/n,l=0===n?0:(t.x+t.width)/n,h=0===r?0:(t.y+t.height)/r,_=0===r?0:t.y/r;i[0]=u,i[1]=h,i[2]=l,i[3]=h,i[4]=u,i[5]=_,i[6]=l,i[7]=_}if(this._flipX){var f=i[0];i[0]=i[2],i[2]=f,f=i[1],i[1]=i[3],i[3]=f,f=i[4],i[4]=i[6],i[6]=f,f=i[5],i[5]=i[7],i[7]=f}if(this._flipY){var d=i[0];i[0]=i[4],i[4]=d,d=i[1],i[1]=i[5],i[5]=d,d=i[2],i[2]=i[6],i[6]=d,d=i[3],i[3]=i[7],i[7]=d}var p=this.vertices;if(p){p.nu.length=0,p.nv.length=0;for(var v=0;v0?this._image=t.images[0]:void 0!==t.image&&(this._image=t.image,t.images||(_.length=0,t.images=_),t.images.push(t.image)),this._texture&&this._texture.update(t),this._hashDirty=!0},initWithElement:function(t){if(t)if(this._image=t,t.complete||t instanceof HTMLCanvasElement)this.handleLoadedTexture();else if(cc.sys.capabilities.imageBitmap&&t instanceof ImageBitmap)this._checkImageBitmap(this.handleLoadedTexture.bind(this));else{var e=this;t.addEventListener("load",(function(){e.handleLoadedTexture()})),t.addEventListener("error",(function(t){cc.warnID(3119,t.message)}))}},initWithData:function(t,e,i,n){var r=d();return r.image=t,r.images=[r.image],r.genMipmaps=this._genMipmaps,r.premultiplyAlpha=this._premultiplyAlpha,r.flipY=this._flipY,r.minFilter=h[this._minFilter],r.magFilter=h[this._magFilter],r.wrapS=this._wrapS,r.wrapT=this._wrapT,r.format=this._getGFXPixelFormat(e),r.width=i,r.height=n,this._texture?this._texture.update(r):this._texture=new s.Texture2D(s.device,r),this.width=i,this.height=n,this._updateFormat(),this._checkPackable(),this.loaded=!0,this.emit("load"),!0},getHtmlElementObj:function(){return this._image},destroy:function(){cc.sys.capabilities.imageBitmap&&this._image instanceof ImageBitmap&&this._image.close&&this._image.close(),this._packable&&cc.dynamicAtlasManager&&cc.dynamicAtlasManager.deleteAtlasTexture(this),this._image=null,this._texture&&this._texture.destroy(),this._super()},getPixelFormat:function(){return this._format},hasPremultipliedAlpha:function(){return this._premultiplyAlpha||!1},isAlphaAtlas:function(){return this._isAlphaAtlas},handleLoadedTexture:function(){if(this._image&&this._image.width&&this._image.height){this.width=this._image.width,this.height=this._image.height;var t=d();t.image=this._image,t.images=[t.image],t.width=this.width,t.height=this.height,t.genMipmaps=this._genMipmaps,t.format=this._getGFXPixelFormat(this._format),t.premultiplyAlpha=this._premultiplyAlpha,t.flipY=this._flipY,t.minFilter=h[this._minFilter],t.magFilter=h[this._magFilter],t.wrapS=this._wrapS,t.wrapT=this._wrapT,this._texture?this._texture.update(t):this._texture=new s.Texture2D(s.device,t),this._updateFormat(),this._checkPackable(),this.loaded=!0,this.emit("load"),cc.macro.CLEANUP_IMAGE_CACHE&&this._cleanupImageCache()}},_cleanupImageCache:function(){this._image instanceof HTMLImageElement?this._clearImage():cc.sys.capabilities.imageBitmap&&this._image instanceof ImageBitmap&&this._image.close&&this._image.close()},description:function(){return""},releaseTexture:function(){this._image=null,this._texture&&this._texture.destroy()},setWrapMode:function(t,e){if(this._wrapS!==t||this._wrapT!==e){var i=d();i.wrapS=t,i.wrapT=e,this.update(i)}},setFilters:function(t,e){if(this._minFilter!==t||this._magFilter!==e){var i=d();i.minFilter=t,i.magFilter=e,this.update(i)}},setFlipY:function(t){if(this._flipY!==t){var e=d();e.flipY=t,e.premultiplyAlpha=this._premultiplyAlpha,this.update(e)}},setPremultiplyAlpha:function(t){if(this._premultiplyAlpha!==t){var e=d();e.flipY=this._flipY,e.premultiplyAlpha=t,this.update(e)}},_updateFormat:function(){this._isAlphaAtlas=this._format===c.RGBA_ETC1||this._format===c.RGB_A_PVRTC_4BPPV1||this._format===c.RGB_A_PVRTC_2BPPV1},_checkPackable:function(){var t=cc.dynamicAtlasManager;if(t)if(this._isCompressed())this._packable=!1;else{var e=this.width,i=this.height;!this._image||e>t.maxFrameSize||i>t.maxFrameSize||this._getHash()!==t.Atlas.DEFAULT_HASH?this._packable=!1:this._image&&this._image instanceof HTMLCanvasElement&&(this._packable=!0)}},_getOpts:function(){var t=d();return t.width=this.width,t.height=this.height,t.genMipmaps=this._genMipmaps,t.format=this._format,t.premultiplyAlpha=this._premultiplyAlpha,t.anisotropy=this._anisotropy,t.flipY=this._flipY,t.minFilter=h[this._minFilter],t.magFilter=h[this._magFilter],t.mipFilter=h[this._mipFilter],t.wrapS=this._wrapS,t.wrapT=this._wrapT,t},_getGFXPixelFormat:function(t){return t===c.RGBA_ETC1?t=c.RGB_ETC1:t===c.RGB_A_PVRTC_4BPPV1?t=c.RGB_PVRTC_4BPPV1:t===c.RGB_A_PVRTC_2BPPV1&&(t=c.RGB_PVRTC_2BPPV1),t},_resetUnderlyingMipmaps:function(t){var e=this._getOpts();e.images=t||[null],this._texture?this._texture.update(e):this._texture=new s.Texture2D(s.device,e)},_serialize:!1,_deserialize:function(t){var e=t.split(","),i=e[0];if(i){var n=p._parseExt(i,this._format);if(n.bestExt)this._setRawAsset(n.bestExt),this._format=n.bestFormat;else{if(!n.defaultExt)throw new Error(cc.debug.getError(3121));this._setRawAsset(n.defaultExt),cc.warnID(3120,n.defaultExt,n.defaultExt)}}8===e.length&&(this._minFilter=parseInt(e[1]),this._magFilter=parseInt(e[2]),this._wrapS=parseInt(e[3]),this._wrapT=parseInt(e[4]),this._premultiplyAlpha=49===e[5].charCodeAt(0),this._genMipmaps=49===e[6].charCodeAt(0),this._packable=49===e[7].charCodeAt(0))},_getHash:function(){if(!this._hashDirty)return this._hash;var t=this._genMipmaps?1:0,e=this._premultiplyAlpha?1:0,i=this._flipY?1:0,n=this._minFilter===l.LINEAR?1:2,r=this._magFilter===l.LINEAR?1:2,s=this._wrapS===u.REPEAT?1:this._wrapS===u.CLAMP_TO_EDGE?2:3,a=this._wrapT===u.REPEAT?1:this._wrapT===u.CLAMP_TO_EDGE?2:3,o=this._format;return this._image,this._hash=Number(""+n+r+o+s+a+t+e+i),this._hashDirty=!1,this._hash},_isCompressed:function(){return this._formatc.RGBA32F},_clearImage:function(){this._image.src=""},_checkImageBitmap:function(t){var e=this,i=this._image,n=this._flipY,r=this._premultiplyAlpha;this._flipY!==i.flipY||this._premultiplyAlpha!==i.premultiplyAlpha?createImageBitmap(i,{imageOrientation:n!==i.flipY?"flipY":"none",premultiplyAlpha:r?"premultiply":"none"}).then((function(s){i.close&&i.close(),s.flipY=n,s.premultiplyAlpha=r,e._image=s,t()}),(function(t){cc.error(t.message)})):t()}});cc.Texture2D=e.exports=p}),{"../../renderer/gfx":265,"../assets/CCAsset":58,"../event/event-target":132,"../platform/CCClass":149,"../platform/id-generater":166,"../renderer":180}],74:[(function(t,e){"use strict";var i=t("./CCAsset"),n=t("../event/event-target"),r=cc.Class({name:"cc.VideoClip",extends:i,mixins:[n]});cc.VideoClip=r,e.exports=r}),{"../event/event-target":132,"./CCAsset":58}],75:[(function(t){"use strict";t("./CCAsset"),t("./CCFont"),t("./CCPrefab"),t("./CCAudioClip"),t("./CCVideoClip"),t("./CCScripts"),t("./CCSceneAsset"),t("./CCSpriteFrame"),t("./CCTexture2D"),t("./CCRenderTexture"),t("./CCTTFFont"),t("./CCSpriteAtlas"),t("./CCBitmapFont"),t("./CCLabelAtlas"),t("./CCTextAsset"),t("./CCJsonAsset"),t("./CCBufferAsset"),t("./material")}),{"./CCAsset":58,"./CCAudioClip":59,"./CCBitmapFont":60,"./CCBufferAsset":61,"./CCFont":62,"./CCJsonAsset":63,"./CCLabelAtlas":64,"./CCPrefab":65,"./CCRenderTexture":66,"./CCSceneAsset":67,"./CCScripts":68,"./CCSpriteAtlas":69,"./CCSpriteFrame":70,"./CCTTFFont":71,"./CCTextAsset":72,"./CCTexture2D":73,"./CCVideoClip":74,"./material":82}],76:[(function(t,e){"use strict";var i,n=(i=t("../CCAsset"))&&i.__esModule?i:{default:i},r=t("./effect-parser"),s=cc.Class({name:"cc.EffectAsset",extends:n.default,ctor:function(){this._effect=null},properties:{properties:Object,techniques:[],shaders:[]},onLoad:function(){if(cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS){for(var t=cc.renderer._forward._programLib,e=0;e=i.length)){var n=0,r=i.length;void 0!==e&&(n=e,r=e+1);for(var s=n;s=i.length)){var n=0,r=i.length;void 0!==e&&(n=e,r=e+1);for(var s=n;s=this._techniques.length?cc.warn("Can not switch to technique with index ["+t+"]"):this._technique=this._techniques[t]},c.clear=function(){this._techniques=[]},c.clone=function(){for(var t=[],e=0;ethis.maxSize||(this._clean(t),e[i][r].push(t),this.count++)}},s.clear=function(){this._pool={},this.count=0},s._clean=function(t){t._owner=null},r}(r.default));r.default.register("material",o);var c=o;i.default=c,e.exports=i.default}),{"../../utils/pool":225,"./utils":85}],84:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=o(t("./CCMaterial")),s=o(t("./effect-variant")),a=o(t("./material-pool"));function o(t){return t&&t.__esModule?t:{default:t}}function c(t,e){for(var i=0;i0},render:function(t){if(!(t=t||cc.director.getScene()))return null;this.node.getWorldMatrix(u),this.beforeDraw(),a.renderCamera(this._camera,t)},_onAlignWithScreen:function(){var t=cc.game.canvas.height/cc.view._scaleY;this._targetTexture&&(t=cc.visibleRect.height);var e=this._fov*cc.macro.RAD;this.node.z=t/(2*Math.tan(e/2)),e=2*Math.atan(Math.tan(e/2)/this.zoomRatio),this._camera.setFov(e),this._camera.setOrthoHeight(t/2/this.zoomRatio),this.node.setRotation(0,0,0,1)},beforeDraw:function(){if(this._camera){if(this._alignWithScreen)this._onAlignWithScreen();else{var t=this._fov*cc.macro.RAD;t=2*Math.atan(Math.tan(t/2)/this.zoomRatio),this._camera.setFov(t),this._camera.setOrthoHeight(this._orthoSize/this.zoomRatio)}this._camera.dirty=!0}}});cc.js.mixin(T.prototype,{getNodeToCameraTransform:function(t){var e=r.identity();return t.getWorldMatrix(l),this.containsNode(t)&&(this.getWorldToCameraMatrix(u),i.Mat4.mul(l,l,u)),r.fromMat4(e,l),e},getCameraToWorldPoint:function(t,e){return this.getScreenToWorldPoint(t,e)},getWorldToCameraPoint:function(t,e){return this.getWorldToScreenPoint(t,e)},getCameraToWorldMatrix:function(t){return this.getScreenToWorldMatrix2D(t)},getWorldToCameraMatrix:function(t){return this.getWorldToScreenMatrix2D(t)}}),e.exports=cc.Camera=T}),{"../../renderer/scene/camera":285,"../CCGame":24,"../geom-utils":void 0,"../renderer/index":180,"../renderer/render-flow":181,"../utils/affine-transform":215,"../value-types":238}],88:[(function(t,e){"use strict";cc.Collider.Box=cc.Class({properties:{_offset:cc.v2(0,0),_size:cc.size(100,100),offset:{tooltip:!1,get:function(){return this._offset},set:function(t){this._offset=t},type:cc.Vec2},size:{tooltip:!1,get:function(){return this._size},set:function(t){this._size.width=t.width<0?0:t.width,this._size.height=t.height<0?0:t.height},type:cc.Size}},resetInEditor:!1});var i=cc.Class({name:"cc.BoxCollider",extends:cc.Collider,mixins:[cc.Collider.Box],editor:!1});cc.BoxCollider=e.exports=i}),{}],89:[(function(t,e){"use strict";cc.Collider.Circle=cc.Class({properties:{_offset:cc.v2(0,0),_radius:50,offset:{tooltip:!1,get:function(){return this._offset},set:function(t){this._offset=t},type:cc.Vec2},radius:{tooltip:!1,get:function(){return this._radius},set:function(t){this._radius=t<0?0:t}}},resetInEditor:!1});var i=cc.Class({name:"cc.CircleCollider",extends:cc.Collider,mixins:[cc.Collider.Circle],editor:!1});cc.CircleCollider=e.exports=i}),{}],90:[(function(t,e){"use strict";var i=cc.Class({name:"cc.Collider",extends:cc.Component,properties:{editing:{default:!1,serializable:!1,tooltip:!1},tag:{tooltip:!1,default:0,range:[0,1e7],type:cc.Integer}},onDisable:function(){cc.director.getCollisionManager().removeCollider(this)},onEnable:function(){cc.director.getCollisionManager().addCollider(this)}});cc.Collider=e.exports=i}),{}],91:[(function(t,e){"use strict";var i,n=(i=t("../value-types/vec2"))&&i.__esModule?i:{default:i},r=t("./CCContact"),s=r.CollisionType,a=t("../CCNode").EventType,o=new n.default;function c(t,e,i,n,r,s){var a=t.x,o=t.y,c=t.width,u=t.height,l=e.m,h=l[0],_=l[1],f=l[4],d=l[5],p=h*a+f*o+l[12],v=_*a+d*o+l[13],g=h*c,m=_*c,y=f*u,T=d*u;n.x=p,n.y=v,r.x=g+p,r.y=m+v,i.x=y+p,i.y=T+v,s.x=g+y+p,s.y=m+T+v}var u=cc.Class({mixins:[cc.EventTarget],properties:{enabled:!1,enabledDrawBoundingBox:!1},ctor:function(){this._contacts=[],this._colliders=[],this._debugDrawer=null,this._enabledDebugDraw=!1,cc.director._scheduler&&cc.director._scheduler.enableForTarget(this)},update:function(){if(this.enabled){var t,e,i=this._colliders;for(t=0,e=i.length;tR&&(R=O),Ow&&(w=D),D=0){e.splice(i,1);for(var n=this._contacts,r=n.length-1;r>=0;r--){var o=n[r];o.collider1!==t&&o.collider2!==t||(o.touching&&this._doCollide(s.CollisionExit,o),n.splice(r,1))}t.node.off(a.GROUP_CHANGED,this.onNodeGroupChanged,this)}else cc.errorID(6600)},onNodeGroupChanged:function(t){for(var e=t.getComponents(cc.Collider),i=0,n=e.length;i0){t.moveTo(s[0].x,s[0].y);for(var a=1;a>>1;r<=s;a=r+s>>>1){var o=t[a],c=o.constructor._executionOrder;if(c>i)s=a-1;else if(cn)s=a-1;else{if(!(u0&&(t.array.sort(u),this._invoke(t),t.array.length=0),this._invoke(this._zero),this._zero.array.length=0;var e=this._pos;e.array.length>0&&(e.array.sort(u),this._invoke(e),e.array.length=0)}}),h=cc.Class({extends:c,add:function(t){var e=t.constructor._executionOrder;if(0===e)this._zero.array.push(t);else{var i=e<0?this._neg.array:this._pos.array,n=a(i,t);n<0&&i.splice(~n,0,t)}},remove:function(t){var e=t.constructor._executionOrder;if(0===e)this._zero.fastRemove(t);else{var i=e<0?this._neg:this._pos,n=a(i.array,t);n>=0&&i.removeAt(n)}},invoke:function(t){this._neg.array.length>0&&this._invoke(this._neg,t),this._invoke(this._zero,t),this._pos.array.length>0&&this._invoke(this._pos,t)}});function _(t,e,i,n){var r="var a=it.array;for(it.i=0;it.i=0?n.fastRemoveAt(this._deferredComps,e):(!t.start||t._objFlags&r||this.startInvoker.remove(t),t.update&&this.updateInvoker.remove(t),t.lateUpdate&&this.lateUpdateInvoker.remove(t))},enableComp:function(t,e){if(!(t._objFlags&s)){if(t.onEnable){if(e)return void e.add(t);if(t.onEnable(),!t.node._activeInHierarchy)return}this._onEnabled(t)}},disableComp:function(t){t._objFlags&s&&(t.onDisable&&t.onDisable(),this._onDisabled(t))},_scheduleImmediate:function(t){"function"!=typeof t.start||t._objFlags&r||this.startInvoker.add(t),"function"==typeof t.update&&this.updateInvoker.add(t),"function"==typeof t.lateUpdate&&this.lateUpdateInvoker.add(t)},_deferredSchedule:function(){for(var t=this._deferredComps,e=0,i=t.length;e0&&(this._deferredSchedule(),this.startInvoker.invoke())},startPhase:function(){this._updating=!0,this.startInvoker.invoke(),this._startForNewComps()},updatePhase:function(t){this.updateInvoker.invoke(t)},lateUpdatePhase:function(t){this.lateUpdateInvoker.invoke(t),this._updating=!1,this._startForNewComps()}});e.exports=g}),{"./platform/CCClass":149,"./platform/CCObject":155,"./platform/js":170,"./utils/misc":223}],96:[(function(t,e){"use strict";var i=t("../../animation/animation-animator"),n=t("../../animation/animation-clip"),r=t("../event/event-target"),s=t("../platform/js"),a=function(t,e){return t===e},o=cc.Enum({PLAY:"play",STOP:"stop",PAUSE:"pause",RESUME:"resume",LASTFRAME:"lastframe",FINISHED:"finished"}),c=cc.Class({name:"cc.Animation",extends:t("./CCComponent"),mixins:[r],editor:!1,statics:{EventType:o},ctor:function(){cc.EventTarget.call(this),this._animator=null,this._nameToState=s.createMap(!0),this._didInit=!1,this._currentClip=null},properties:{_defaultClip:{default:null,type:n},defaultClip:{type:n,get:function(){return this._defaultClip},set:function(){},tooltip:!1},currentClip:{get:function(){return this._currentClip},set:function(t){this._currentClip=t},type:n,visible:!1},_writableClips:{get:function(){return this._clips},set:function(t){this._didInit=!1,this._clips=t,this._init()},type:[n]},_clips:{default:[],type:[n],tooltip:!1,visible:!0},playOnLoad:{default:!1,tooltip:!1}},start:function(){if(this.playOnLoad&&this._defaultClip&&(!this._animator||!this._animator.isPlaying)){var t=this.getAnimationState(this._defaultClip.name);this._animator.playState(t)}},onEnable:function(){this._animator&&this._animator.resume()},onDisable:function(){this._animator&&this._animator.pause()},onDestroy:function(){this.stop()},getClips:function(){return this._clips},play:function(t,e){var i=this.playAdditive(t,e);return this._animator.stopStatesExcept(i),i},playAdditive:function(t,e){this._init();var i=this.getAnimationState(t||this._defaultClip&&this._defaultClip.name);if(i){this.enabled=!0;var n=this._animator;n.isPlaying&&i.isPlaying?i.isPaused?n.resumeState(i):(n.stopState(i),n.playState(i,e)):n.playState(i,e),this.enabledInHierarchy||n.pause(),this.currentClip=i.clip}return i},stop:function(t){if(this._didInit)if(t){var e=this._nameToState[t];e&&this._animator.stopState(e)}else this._animator.stop()},pause:function(t){if(this._didInit)if(t){var e=this._nameToState[t];e&&this._animator.pauseState(e)}else this.enabled=!1},resume:function(t){if(this._didInit)if(t){var e=this.getAnimationState(t);e&&this._animator.resumeState(e)}else this.enabled=!0},setCurrentTime:function(t,e){if(this._init(),e){var i=this.getAnimationState(e);i&&this._animator.setStateTime(i,t)}else this._animator.setStateTime(t)},getAnimationState:function(t){this._init();var e=this._nameToState[t];return e&&!e.curveLoaded&&this._animator._reloadClip(e),e||null},hasAnimationState:function(t){return this._init(),!!this._nameToState[t]},addClip:function(t,e){if(t){this._init(),cc.js.array.contains(this._clips,t)||this._clips.push(t),e=e||t.name;var i=this._nameToState[e];if(i){if(i.clip===t)return i;var n=this._clips.indexOf(i.clip);-1!==n&&this._clips.splice(n,1)}var r=new cc.AnimationState(t,e);return this._nameToState[e]=r,r}cc.warnID(3900)},removeClip:function(t,e){if(t){var i;for(var n in this._init(),this._nameToState)if(i=this._nameToState[n],a(i.clip,t))break;if(t===this._defaultClip){if(!e)return void cc.warnID(3902);this._defaultClip=null}if(i&&i.isPlaying){if(!e)return void cc.warnID(3903);this.stop(i.name)}this._clips=this._clips.filter((function(e){return!a(e,t)})),i&&delete this._nameToState[i.name]}else cc.warnID(3901)},sample:function(t){if(this._init(),t){var e=this.getAnimationState(t);e&&e.sample()}else this._animator.sample()},on:function(t,e,i,n){this._init();var r=this._EventTargetOn(t,e,i,n);if("lastframe"===t){var s=this._nameToState;for(var a in s)s[a]._lastframeEventOn=!0}return r},off:function(t,e,i,n){if(this._init(),"lastframe"===t){var r=this._nameToState;for(var s in r)r[s]._lastframeEventOn=!1}this._EventTargetOff(t,e,i,n)},_init:function(){this._didInit||(this._didInit=!0,this._animator=new i(this.node,this),this._createStates())},_createStates:function(){this._nameToState=s.createMap(!0);for(var t=null,e=!1,i=0;i0&&(i=this.time/this.duration),i>=1&&(i=1),this.transition===r.COLOR){var n=this._fromColor.lerp(this._toColor,i);this._setTargetColor(n)}else this.transition===r.SCALE&&this._originalScale&&(e.scale=this._fromScale.lerp(this._toScale,i));1===i&&(this._transitionFinished=!0)}},_registerNodeEvent:function(){this.node.on(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this),this.node.on(cc.Node.EventType.TOUCH_MOVE,this._onTouchMove,this),this.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.on(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancel,this),this.node.on(cc.Node.EventType.MOUSE_ENTER,this._onMouseMoveIn,this),this.node.on(cc.Node.EventType.MOUSE_LEAVE,this._onMouseMoveOut,this)},_unregisterNodeEvent:function(){this.node.off(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this),this.node.off(cc.Node.EventType.TOUCH_MOVE,this._onTouchMove,this),this.node.off(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.off(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancel,this),this.node.off(cc.Node.EventType.MOUSE_ENTER,this._onMouseMoveIn,this),this.node.off(cc.Node.EventType.MOUSE_LEAVE,this._onMouseMoveOut,this)},_registerTargetEvent:function(t){t.on(cc.Node.EventType.SCALE_CHANGED,this._onTargetScaleChanged,this)},_unregisterTargetEvent:function(t){t.off(cc.Node.EventType.SCALE_CHANGED,this._onTargetScaleChanged,this)},_getTargetSprite:function(t){var e=null;return t&&(e=t.getComponent(cc.Sprite)),e},_applyTarget:function(){var t=this._getTarget();this._sprite=this._getTargetSprite(t),this._originalScale||(this._originalScale=cc.Vec2.ZERO),this._originalScale.x=t.scaleX,this._originalScale.y=t.scaleY,this._registerTargetEvent(t)},_onTouchBegan:function(t){this.interactable&&this.enabledInHierarchy&&(this._pressed=!0,this._updateState(),t.stopPropagation())},_onTouchMove:function(t){if(this.interactable&&this.enabledInHierarchy&&this._pressed){var e,i=t.touch,n=this.node._hitTest(i.getLocation()),a=this._getTarget(),o=this._originalScale;this.transition===r.SCALE&&o?n?(this._fromScale.x=o.x,this._fromScale.y=o.y,this._toScale.x=o.x*this.zoomScale,this._toScale.y=o.y*this.zoomScale,this._transitionFinished=!1):(this.time=0,this._transitionFinished=!0,a.setScale(o.x,o.y)):(e=n?s.PRESSED:s.NORMAL,this._applyTransition(e)),t.stopPropagation()}},_onTouchEnded:function(t){this.interactable&&this.enabledInHierarchy&&(this._pressed&&(cc.Component.EventHandler.emitEvents(this.clickEvents,t),this.node.emit("click",this)),this._pressed=!1,this._updateState(),t.stopPropagation())},_onTouchCancel:function(){this.interactable&&this.enabledInHierarchy&&(this._pressed=!1,this._updateState())},_onMouseMoveIn:function(){!this._pressed&&this.interactable&&this.enabledInHierarchy&&(this.transition!==r.SPRITE||this.hoverSprite)&&(this._hovered||(this._hovered=!0,this._updateState()))},_onMouseMoveOut:function(){this._hovered&&(this._hovered=!1,this._updateState())},_updateState:function(){var t=this._getButtonState();this._applyTransition(t),this._updateDisabledState()},_getButtonState:function(){return this.interactable?this._pressed?s.PRESSED:this._hovered?s.HOVER:s.NORMAL:s.DISABLED},_updateColorTransitionImmediately:function(t){var e=this._getStateColor(t);this._setTargetColor(e),this._fromColor=e.clone(),this._toColor=e},_updateColorTransition:function(t){if(t===s.DISABLED)this._updateColorTransitionImmediately(t);else{var e=this._getTarget(),i=this._getStateColor(t);this._fromColor=e.color.clone(),this._toColor=i,this.time=0,this._transitionFinished=!1}},_updateSpriteTransition:function(t){var e=this._getStateSprite(t);this._sprite&&e&&(this._sprite.spriteFrame=e)},_updateScaleTransition:function(t){t===s.PRESSED?this._zoomUp():this._zoomBack()},_zoomUp:function(){this._originalScale&&(this._fromScale.x=this._originalScale.x,this._fromScale.y=this._originalScale.y,this._toScale.x=this._originalScale.x*this.zoomScale,this._toScale.y=this._originalScale.y*this.zoomScale,this.time=0,this._transitionFinished=!1)},_zoomBack:function(){if(this._originalScale){var t=this._getTarget();this._fromScale.x=t.scaleX,this._fromScale.y=t.scaleY,this._toScale.x=this._originalScale.x,this._toScale.y=this._originalScale.y,this.time=0,this._transitionFinished=!1}},_updateTransition:function(t){t===r.COLOR?this._updateColorTransitionImmediately(s.NORMAL):t===r.SPRITE&&this._updateSpriteTransition(s.NORMAL),this._updateState()},_applyTransition:function(t){var e=this.transition;e===r.COLOR?this._updateColorTransition(t):e===r.SPRITE?this._updateSpriteTransition(t):e===r.SCALE&&this._updateScaleTransition(t)},_resizeNodeToTargetNode:!1,_updateDisabledState:function(t){if(this._sprite&&(this.enableAutoGrayEffect||t)){var e=!1;this.transition===r.SPRITE&&this.disabledSprite||(e=this.enableAutoGrayEffect&&!this.interactable),this._switchGrayMaterial(e,this._sprite)}}});cc.Button=e.exports=a}),{"../utils/gray-sprite-state":221,"./CCComponent":101}],100:[(function(t,e){"use strict";var i=t("../camera/CCCamera"),n=t("./CCComponent"),r=cc.Class({name:"cc.Canvas",extends:n,editor:!1,resetInEditor:!1,statics:{instance:null},properties:{_designResolution:cc.size(960,640),designResolution:{get:function(){return cc.size(this._designResolution)},set:function(t){this._designResolution.width=t.width,this._designResolution.height=t.height,this.applySettings()},tooltip:!1},_fitWidth:!1,_fitHeight:!0,fitHeight:{get:function(){return this._fitHeight},set:function(t){this._fitHeight!==t&&(this._fitHeight=t,this.applySettings())},tooltip:!1},fitWidth:{get:function(){return this._fitWidth},set:function(t){this._fitWidth!==t&&(this._fitWidth=t,this.applySettings())},tooltip:!1}},_fitDesignResolution:!1,__preload:function(){if(r.instance)return cc.warnID(6700,this.node.name,r.instance.node.name);r.instance=this,this.applySettings();var t=this.getComponent(cc.Widget);t&&t.updateAlignment()},start:function(){if(!i.main&&cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS){var t=new cc.Node("Main Camera");t.parent=this.node,t.setSiblingIndex(0);var e=t.addComponent(i),n=i.ClearFlags;e.clearFlags=n.COLOR|n.DEPTH|n.STENCIL,e.depth=-1}},onDestroy:function(){r.instance===this&&(r.instance=null)},applySettings:function(){var t,e=cc.ResolutionPolicy;t=this.fitHeight&&this.fitWidth?e.SHOW_ALL:this.fitHeight||this.fitWidth?this.fitWidth?e.FIXED_WIDTH:e.FIXED_HEIGHT:e.NO_BORDER;var i=this._designResolution;cc.view.setDesignResolutionSize(i.width,i.height,t)}});cc.Canvas=e.exports=r}),{"../camera/CCCamera":87,"./CCComponent":101}],101:[(function(t,e){"use strict";var i=t("../platform/CCObject"),n=t("../platform/js"),r=new(t("../platform/id-generater"))("Comp"),s=(i.Flags.IsOnEnableCalled,i.Flags.IsOnLoadCalled),a=!!cc.ActionManager,o=cc.Class({name:"cc.Component",extends:i,ctor:function(){this._id=r.getNewId(),this.__eventTargets=[]},properties:{node:{default:null,visible:!1},name:{get:function(){if(this._name)return this._name;var t=cc.js.getClassName(this),e=t.lastIndexOf(".");return e>=0&&(t=t.slice(e+1)),this.node.name+"<"+t+">"},set:function(t){this._name=t},visible:!1},uuid:{get:function(){return this._id},visible:!1},__scriptAsset:!1,_enabled:!0,enabled:{get:function(){return this._enabled},set:function(t){if(this._enabled!==t&&(this._enabled=t,this.node._activeInHierarchy)){var e=cc.director._compScheduler;t?e.enableComp(this):e.disableComp(this)}},visible:!1,animatable:!0},enabledInHierarchy:{get:function(){return this._enabled&&this.node&&this.node._activeInHierarchy},visible:!1},_isOnLoadCalled:{get:function(){return this._objFlags&s}}},update:null,lateUpdate:null,__preload:null,onLoad:null,start:null,onEnable:null,onDisable:null,onDestroy:null,onFocusInEditor:null,onLostFocusInEditor:null,resetInEditor:null,addComponent:function(t){return this.node.addComponent(t)},getComponent:function(t){return this.node.getComponent(t)},getComponents:function(t){return this.node.getComponents(t)},getComponentInChildren:function(t){return this.node.getComponentInChildren(t)},getComponentsInChildren:function(t){return this.node.getComponentsInChildren(t)},_getLocalBounds:null,onRestore:null,destroy:function(){this._super()&&this._enabled&&this.node._activeInHierarchy&&cc.director._compScheduler.disableComp(this)},_onPreDestroy:function(){a&&cc.director.getActionManager().removeAllActionsFromTarget(this),this.unscheduleAllCallbacks();for(var t=this.__eventTargets,e=t.length-1;e>=0;--e){var i=t[e];i&&i.targetOff(this)}t.length=0,cc.director._nodeActivator.destroyComp(this),this.node._removeComponent(this)},_instantiate:function(t){return t||(t=cc.instantiate._clone(this,this)),t.node=null,t},schedule:function(t,e,i,n){cc.assertID(t,1619),e=e||0,cc.assertID(e>=0,1620),i=isNaN(i)?cc.macro.REPEAT_FOREVER:i,n=n||0;var r=cc.director.getScheduler(),s=r.isTargetPaused(this);r.schedule(t,this,e,i,n,s)},scheduleOnce:function(t,e){this.schedule(t,0,0,e)},unschedule:function(t){t&&cc.director.getScheduler().unschedule(t,this)},unscheduleAllCallbacks:function(){cc.director.getScheduler().unscheduleAllForTarget(this)}});o._requireComponent=null,o._executionOrder=0,n.value(o,"_registerEditorProps",(function(t,e){var i=e.requireComponent;i&&(t._requireComponent=i);var n=e.executionOrder;n&&"number"==typeof n&&(t._executionOrder=n)})),o.prototype.__scriptUuid="",cc.Component=e.exports=o}),{"../platform/CCObject":155,"../platform/id-generater":166,"../platform/js":170}],102:[(function(){"use strict";cc.Component.EventHandler=cc.Class({name:"cc.ClickEvent",properties:{target:{default:null,type:cc.Node},component:"",_componentId:"",_componentName:{get:function(){return this._genCompIdIfNeeded(),this._compId2Name(this._componentId)},set:function(t){this._componentId=this._compName2Id(t)}},handler:{default:""},customEventData:{default:""}},statics:{emitEvents:function(t){var e;if(arguments.length>0)for(var i=0,n=(e=new Array(arguments.length-1)).length;ip&&(p=v),w>=p&&(v=p,p=w,y=C.getAnchorPoint().y),this.horizontalDirection===o.RIGHT_TO_LEFT&&(S=1-C.anchorX),f=f+l*S*R+l*this.spacingX;var I=l*(1-S)*R;if(e){var M=f+I+l*(l>0?this.paddingRight:this.paddingLeft),O=this.horizontalDirection===o.LEFT_TO_RIGHT&&M>(1-c.x)*t,D=this.horizontalDirection===o.RIGHT_TO_LEFT&&M<-c.x*t;(O||D)&&(w>=p?(0===v&&(v=p),d+=v,v=p):(d+=p,v=w,p=0),f=_+l*(h+S*R),g++)}var L=i(C,d,g);t>=R+this.paddingLeft+this.paddingRight&&s&&C.setPosition(cc.v2(f,L));var P,N=1,F=0===p?w:p;this.verticalDirection===a.TOP_TO_BOTTOM?(m=m||this.node._contentSize.height,(P=L+(N=-1)*(F*y+this.paddingBottom))m&&(m=P)),f+=I}}return m},_getVerticalBaseHeight:function(t){var e=0,i=0;if(this.resizeMode===r.CONTAINER){for(var n=0;np&&(p=v),R>=p&&(v=p,p=R,y=C.getAnchorPoint().x),this.verticalDirection===a.TOP_TO_BOTTOM&&(S=1-C.anchorY),f=f+l*S*w+l*this.spacingY;var I=l*(1-S)*w;if(e){var M=f+I+l*(l>0?this.paddingTop:this.paddingBottom),O=this.verticalDirection===a.BOTTOM_TO_TOP&&M>(1-c.y)*t,D=this.verticalDirection===a.TOP_TO_BOTTOM&&M<-c.y*t;(O||D)&&(R>=p?(0===v&&(v=p),d+=v,v=p):(d+=p,v=R,p=0),f=_+l*(h+S*w),g++)}var L=i(C,d,g);t>=w+(this.paddingTop+this.paddingBottom)&&s&&C.setPosition(cc.v2(L,f));var P,N=1,F=0===p?R:p;this.horizontalDirection===o.RIGHT_TO_LEFT?(N=-1,m=m||this.node._contentSize.width,(P=L+N*(F*y+this.paddingLeft))m&&(m=P)),f+=I}}return m},_doLayoutBasic:function(){for(var t=this.node.children,e=null,i=0;i0&&this.node.children.find((function(t){return t.activeInHierarchy}))&&(this._doLayout(),this._layoutDirty=!1)}});cc.Layout=e.exports=c}),{"../CCNode":25,"./CCComponent":101}],105:[(function(t,e){"use strict";var i=a(t("../../renderer/gfx")),n=a(t("../value-types/mat4")),r=a(t("../value-types/vec2")),s=a(t("../assets/material/material-variant"));function a(t){return t&&t.__esModule?t:{default:t}}var o=t("../utils/misc"),c=t("./CCRenderComponent"),u=t("../renderer/render-flow"),l=t("../graphics/graphics"),h=new r.default,_=new n.default,f=[];function d(t,e,i){f.length=0;for(var n=2*Math.PI/i,r=0;r=0&&o.y>=0&&o.x<=s&&o.y<=a;else if(this.type===p.ELLIPSE){var u=s/2,l=a/2,f=o.x-.5*s,d=o.y-.5*a;c=f*f/(u*u)+d*d/(l*l)<1}return this.inverted&&(c=!c),c},markForRender:function(t){var e=u.FLAG_RENDER|u.FLAG_UPDATE_RENDER_DATA|u.FLAG_POST_RENDER;t?(this.node._renderFlag|=e,this.markForValidate()):t||(this.node._renderFlag&=~e)},disableRender:function(){this.node._renderFlag&=~(u.FLAG_RENDER|u.FLAG_UPDATE_RENDER_DATA|u.FLAG_POST_RENDER)}});cc.Mask=e.exports=v}),{"../../renderer/gfx":265,"../assets/material/material-variant":84,"../graphics/graphics":138,"../renderer/render-flow":181,"../utils/misc":223,"../value-types/mat4":240,"../value-types/vec2":247,"./CCRenderComponent":110}],106:[(function(t,e){"use strict";var i=t("../components/CCRenderComponent"),n=t("../../core/utils/blend-func"),r=cc.Class({name:"cc.MotionStreak",extends:i,mixins:[n],editor:!1,ctor:function(){this._points=[]},properties:{preview:{default:!1,editorOnly:!0,notify:!1,animatable:!1},_fadeTime:1,fadeTime:{get:function(){return this._fadeTime},set:function(t){this._fadeTime=t,this.reset()},animatable:!1,tooltip:!1},_minSeg:1,minSeg:{get:function(){return this._minSeg},set:function(t){this._minSeg=t},animatable:!1,tooltip:!1},_stroke:64,stroke:{get:function(){return this._stroke},set:function(t){this._stroke=t},animatable:!1,tooltip:!1},_texture:{default:null,type:cc.Texture2D},texture:{get:function(){return this._texture},set:function(t){this._texture!==t&&(this._texture=t,this._updateMaterial())},type:cc.Texture2D,animatable:!1,tooltip:!1},_color:cc.Color.WHITE,color:{get:function(){return this._color.clone()},set:function(t){this._color.equals(t)||this._color.set(t)},type:cc.Color,tooltip:!1},_fastMode:!1,fastMode:{get:function(){return this._fastMode},set:function(t){this._fastMode=t},animatable:!1,tooltip:!1}},onEnable:function(){this._super(),this.reset()},_updateMaterial:function(){var t=this.getMaterial(0);t&&t.setProperty("texture",this._texture),n.prototype._updateMaterial.call(this)},onFocusInEditor:!1,onLostFocusInEditor:!1,reset:function(){this._points.length=0,this._assembler&&this._assembler._renderData.clear()},lateUpdate:function(t){this._assembler&&this._assembler.update(this,t)}});cc.MotionStreak=e.exports=r}),{"../../core/utils/blend-func":218,"../components/CCRenderComponent":110}],107:[(function(t,e){"use strict";var i=cc.Enum({Unified:0,Free:1}),n=cc.Enum({Horizontal:0,Vertical:1}),r=cc.Enum({PAGE_TURNING:0}),s=cc.Class({name:"cc.PageView",extends:cc.ScrollView,editor:!1,ctor:function(){this._curPageIdx=0,this._lastPageIdx=0,this._pages=[],this._initContentPos=cc.v2(),this._scrollCenterOffsetX=[],this._scrollCenterOffsetY=[]},properties:{sizeMode:{default:i.Unified,type:i,tooltip:!1,notify:function(){this._syncSizeMode()}},direction:{default:n.Horizontal,type:n,tooltip:!1,notify:function(){this._syncScrollDirection()}},scrollThreshold:{default:.5,type:cc.Float,slide:!0,range:[0,1,.01],tooltip:!1},autoPageTurningThreshold:{default:100,type:cc.Float,tooltip:!1},pageTurningEventTiming:{default:.1,type:cc.Float,range:[0,1,.01],tooltip:!1},indicator:{default:null,type:cc.PageViewIndicator,tooltip:!1,notify:function(){this.indicator&&this.indicator.setPageView(this)}},pageTurningSpeed:{default:.3,type:cc.Float,tooltip:!1},pageEvents:{default:[],type:cc.Component.EventHandler,tooltip:!1}},statics:{SizeMode:i,Direction:n,EventType:r},onEnable:function(){this._super(),this.node.on(cc.Node.EventType.SIZE_CHANGED,this._updateAllPagesSize,this),this.node.on("scroll-ended-with-threshold",this._dispatchPageTurningEvent,this)},onDisable:function(){this._super(),this.node.off(cc.Node.EventType.SIZE_CHANGED,this._updateAllPagesSize,this),this.node.off("scroll-ended-with-threshold",this._dispatchPageTurningEvent,this)},onLoad:function(){this._initPages(),this.indicator&&this.indicator.setPageView(this)},getCurrentPageIndex:function(){return this._curPageIdx},setCurrentPageIndex:function(t){this.scrollToPage(t,!0)},getPages:function(){return this._pages},addPage:function(t){t&&-1===this._pages.indexOf(t)&&this.content&&(this.content.addChild(t),this._pages.push(t),this._updatePageView())},insertPage:function(t,e){e<0||!t||-1!==this._pages.indexOf(t)||!this.content||(e>=this._pages.length?this.addPage(t):(this._pages.splice(e,0,t),this.content.addChild(t),this._updatePageView()))},removePage:function(t){if(t&&this.content){var e=this._pages.indexOf(t);-1!==e?this.removePageAtIndex(e):cc.warnID(4300,t.name)}},removePageAtIndex:function(t){var e=this._pages;if(!(t<0||t>=e.length)){var i=e[t];i&&(this.content.removeChild(i),e.splice(t,1),this._updatePageView())}},removeAllPages:function(){if(this.content){for(var t=this._pages,e=0,i=t.length;e=this._pages.length||(e=void 0!==e?e:.3,this._curPageIdx=t,this.scrollToOffset(this._moveOffsetValue(t),e,!0),this.indicator&&this.indicator._changedState())},getScrollEndedEventTiming:function(){return this.pageTurningEventTiming},_syncScrollDirection:function(){this.horizontal=this.direction===n.Horizontal,this.vertical=this.direction===n.Vertical},_syncSizeMode:function(){if(this.content){var t=this.content.getComponent(cc.Layout);if(t){if(this.sizeMode===i.Free&&this._pages.length>0){var e=this._pages[this._pages.length-1];this.direction===n.Horizontal?(t.paddingLeft=(this._view.width-this._pages[0].width)/2,t.paddingRight=(this._view.width-e.width)/2):this.direction===n.Vertical&&(t.paddingTop=(this._view.height-this._pages[0].height)/2,t.paddingBottom=(this._view.height-e.height)/2)}t.updateLayout()}}},_updatePageView:function(){var t=this.content.getComponent(cc.Layout);t&&t.enabled&&t.updateLayout();var e=this._pages.length;this._curPageIdx>=e&&(this._curPageIdx=0===e?0:e-1,this._lastPageIdx=this._curPageIdx);for(var i=this._initContentPos,r=0;r=0||this._pages.push(i)}this._syncScrollDirection(),this._syncSizeMode(),this._updatePageView()}},_dispatchPageTurningEvent:function(){this._lastPageIdx!==this._curPageIdx&&(this._lastPageIdx=this._curPageIdx,cc.Component.EventHandler.emitEvents(this.pageEvents,this,r.PAGE_TURNING),this.node.emit("page-turning",this))},_isScrollable:function(t,e,r){if(this.sizeMode===i.Free){var s,a;if(this.direction===n.Horizontal)return s=this._scrollCenterOffsetX[e],a=this._scrollCenterOffsetX[r],Math.abs(t.x)>=Math.abs(s-a)*this.scrollThreshold;if(this.direction===n.Vertical)return s=this._scrollCenterOffsetY[e],a=this._scrollCenterOffsetY[r],Math.abs(t.y)>=Math.abs(s-a)*this.scrollThreshold}else{if(this.direction===n.Horizontal)return Math.abs(t.x)>=this._view.width*this.scrollThreshold;if(this.direction===n.Vertical)return Math.abs(t.y)>=this._view.height*this.scrollThreshold}},_isQuicklyScrollable:function(t){if(this.direction===n.Horizontal){if(Math.abs(t.x)>this.autoPageTurningThreshold)return!0}else if(this.direction===n.Vertical&&Math.abs(t.y)>this.autoPageTurningThreshold)return!0;return!1},_moveOffsetValue:function(t){var e=cc.v2(0,0);return this.sizeMode===i.Free?this.direction===n.Horizontal?e.x=this._scrollCenterOffsetX[t]:this.direction===n.Vertical&&(e.y=this._scrollCenterOffsetY[t]):this.direction===n.Horizontal?e.x=t*this._view.width:this.direction===n.Vertical&&(e.y=t*this._view.height),e},_getDragDirection:function(t){return this.direction===n.Horizontal?0===t.x?0:t.x>0?1:-1:this.direction===n.Vertical?0===t.y?0:t.y<0?1:-1:void 0},_handleReleaseLogic:function(){this._autoScrollToPage(),this._scrolling&&(this._scrolling=!1,this._autoScrolling||this._dispatchEvent("scroll-ended"))},_autoScrollToPage:function(){if(this._startBounceBackIfNeeded()){var t=this._getHowMuchOutOfBoundary();((t=this._clampDelta(t)).x>0||t.y<0)&&(this._curPageIdx=0===this._pages.length?0:this._pages.length-1),(t.x<0||t.y>0)&&(this._curPageIdx=0),this.indicator&&this.indicator._changedState()}else{var e=this._touchBeganPosition.sub(this._touchEndPosition),i=this._curPageIdx,n=i+this._getDragDirection(e),r=this.pageTurningSpeed*Math.abs(i-n);if(n=t.length)){for(var i=0;it.length)for(i=0;i0;--i){var n=t[i-1];this.node.removeChild(n),t.splice(i-1,1)}this._layout&&this._layout.enabledInHierarchy&&this._layout.updateLayout(),this._changedState()}}}});cc.PageViewIndicator=e.exports=n}),{"./CCComponent":101}],109:[(function(t,e){"use strict";var i=t("../utils/misc"),n=t("./CCComponent"),r=cc.Enum({HORIZONTAL:0,VERTICAL:1,FILLED:2}),s=cc.Class({name:"cc.ProgressBar",extends:n,editor:!1,_initBarSprite:function(){if(this.barSprite){var t=this.barSprite.node;if(!t)return;var e=this.node.getContentSize(),i=this.node.getAnchorPoint(),n=t.getContentSize();t.parent===this.node&&this.node.setContentSize(n),this.barSprite.fillType===cc.Sprite.FillType.RADIAL&&(this.mode=r.FILLED);var s=t.getContentSize();if(this.mode===r.HORIZONTAL?this.totalLength=s.width:this.mode===r.VERTICAL?this.totalLength=s.height:this.totalLength=this.barSprite.fillRange,t.parent===this.node){var a=-e.width*i.x;t.setPosition(cc.v2(a,0))}}},_updateBarStatus:function(){if(this.barSprite){var t=this.barSprite.node;if(!t)return;var e,n,s,a=t.getAnchorPoint(),o=t.getContentSize(),c=t.getPosition(),u=cc.v2(0,.5),l=i.clamp01(this.progress),h=this.totalLength*l;switch(this.mode){case r.HORIZONTAL:this.reverse&&(u=cc.v2(1,.5)),e=cc.size(h,o.height),n=this.totalLength,s=o.height;break;case r.VERTICAL:u=this.reverse?cc.v2(.5,1):cc.v2(.5,0),e=cc.size(o.width,h),n=o.width,s=this.totalLength}if(this.mode===r.FILLED)this.barSprite.type!==cc.Sprite.Type.FILLED?cc.warn("ProgressBar FILLED mode only works when barSprite's Type is FILLED!"):(this.reverse&&(h*=-1),this.barSprite.fillRange=h);else if(this.barSprite.type!==cc.Sprite.Type.FILLED){var _=u.x-a.x,f=u.y-a.y,d=cc.v2(n*_,s*f);t.setPosition(c.x+d.x,c.y+d.y),t.setAnchorPoint(u),t.setContentSize(e)}else cc.warn("ProgressBar non-FILLED mode only works when barSprite's Type is non-FILLED!")}},properties:{barSprite:{default:null,type:cc.Sprite,tooltip:!1,notify:function(){this._initBarSprite()},animatable:!1},mode:{default:r.HORIZONTAL,type:r,tooltip:!1,notify:function(){if(this.barSprite){var t=this.barSprite.node;if(!t)return;var e=t.getContentSize();this.mode===r.HORIZONTAL?this.totalLength=e.width:this.mode===r.VERTICAL?this.totalLength=e.height:this.mode===r.FILLED&&(this.totalLength=this.barSprite.fillRange)}},animatable:!1},_N$totalLength:1,totalLength:{range:[0,Number.MAX_VALUE],tooltip:!1,get:function(){return this._N$totalLength},set:function(t){this.mode===r.FILLED&&(t=i.clamp01(t)),this._N$totalLength=t,this._updateBarStatus()}},progress:{default:1,type:cc.Float,range:[0,1,.1],slide:!0,tooltip:!1,notify:function(){this._updateBarStatus()}},reverse:{default:!1,tooltip:!1,notify:function(){this.barSprite&&(this.barSprite.fillStart=1-this.barSprite.fillStart),this._updateBarStatus()},animatable:!1}},statics:{Mode:r}});cc.ProgressBar=e.exports=s}),{"../utils/misc":223,"./CCComponent":101}],110:[(function(t,e){"use strict";var i=s(t("../renderer/assembler")),n=s(t("../assets/material/material-variant")),r=t("../value-types");function s(t){return t&&t.__esModule?t:{default:t}}var a=t("./CCComponent"),o=t("../renderer/render-flow"),c=t("../assets/material/CCMaterial"),u=new r.Color,l=cc.Class({name:"RenderComponent",extends:a,editor:!1,properties:{_materials:{default:[],type:c},materials:{get:function(){return this._materials},set:function(t){this._materials=t,this._activateMaterial()},type:[c],displayName:"Materials",animatable:!1}},ctor:function(){this._vertsDirty=!0,this._assembler=null},_resetAssembler:function(){i.default.init(this),this._updateColor(),this.setVertsDirty()},__preload:function(){this._resetAssembler(),this._activateMaterial()},onEnable:function(){this.node._renderComponent&&(this.node._renderComponent.enabled=!1),this.node._renderComponent=this,this.node._renderFlag|=o.FLAG_OPACITY_COLOR,this.setVertsDirty()},onDisable:function(){this.node._renderComponent=null,this.disableRender()},onDestroy:function(){for(var t=this._materials,e=0;e=this._materials.length)return null;var e=this._materials[t];if(!e)return null;var i=n.default.create(e,this);return i!==e&&this.setMaterial(t,i),i},getMaterials:function(){for(var t=this._materials,e=0;e0?n:-n)),i*(e/r)},_calculatePosition:function(t,e,r,s,a,o){var c=t-e;a&&(c+=Math.abs(a));var u=0;c&&(u=s/c,u=i.clamp01(u));var l=(r-o)*u;return this.direction===n.VERTICAL?cc.v2(0,l):cc.v2(l,0)},_updateLength:function(t){if(this.handle){var e=this.handle.node,i=e.getContentSize();e.setAnchorPoint(cc.v2(0,0)),this.direction===n.HORIZONTAL?e.setContentSize(t,i.height):e.setContentSize(i.width,t)}},_processAutoHide:function(t){if(this.enableAutoHide&&!(this._autoHideRemainingTime<=0)&&!this._touching&&(this._autoHideRemainingTime-=t,this._autoHideRemainingTime<=this.autoHideTime)){this._autoHideRemainingTime=Math.max(0,this._autoHideRemainingTime);var e=this._opacity*(this._autoHideRemainingTime/this.autoHideTime);this._setOpacity(e)}},start:function(){this.enableAutoHide&&this._setOpacity(0)},hide:function(){this._autoHideRemainingTime=0,this._setOpacity(0)},show:function(){this._autoHideRemainingTime=this.autoHideTime,this._setOpacity(this._opacity)},update:function(t){this._processAutoHide(t)}});cc.Scrollbar=e.exports=r}),{"../utils/misc":223,"./CCComponent":101}],113:[(function(t,e){"use strict";var i=t("../CCNode").EventType,n=cc.v2(),r=cc.v2(),s=function(){return(new Date).getMilliseconds()},a=cc.Enum({SCROLL_TO_TOP:0,SCROLL_TO_BOTTOM:1,SCROLL_TO_LEFT:2,SCROLL_TO_RIGHT:3,SCROLLING:4,BOUNCE_TOP:5,BOUNCE_BOTTOM:6,BOUNCE_LEFT:7,BOUNCE_RIGHT:8,SCROLL_ENDED:9,TOUCH_UP:10,AUTOSCROLL_ENDED_WITH_THRESHOLD:11,SCROLL_BEGAN:12}),o={"scroll-to-top":a.SCROLL_TO_TOP,"scroll-to-bottom":a.SCROLL_TO_BOTTOM,"scroll-to-left":a.SCROLL_TO_LEFT,"scroll-to-right":a.SCROLL_TO_RIGHT,scrolling:a.SCROLLING,"bounce-bottom":a.BOUNCE_BOTTOM,"bounce-left":a.BOUNCE_LEFT,"bounce-right":a.BOUNCE_RIGHT,"bounce-top":a.BOUNCE_TOP,"scroll-ended":a.SCROLL_ENDED,"touch-up":a.TOUCH_UP,"scroll-ended-with-threshold":a.AUTOSCROLL_ENDED_WITH_THRESHOLD,"scroll-began":a.SCROLL_BEGAN},c=cc.Class({name:"cc.ScrollView",extends:t("./CCViewGroup"),editor:!1,ctor:function(){this._topBoundary=0,this._bottomBoundary=0,this._leftBoundary=0,this._rightBoundary=0,this._touchMoveDisplacements=[],this._touchMoveTimeDeltas=[],this._touchMovePreviousTimestamp=0,this._touchMoved=!1,this._autoScrolling=!1,this._autoScrollAttenuate=!1,this._autoScrollStartPosition=cc.v2(0,0),this._autoScrollTargetDelta=cc.v2(0,0),this._autoScrollTotalTime=0,this._autoScrollAccumulatedTime=0,this._autoScrollCurrentlyOutOfBoundary=!1,this._autoScrollBraking=!1,this._autoScrollBrakingStartPosition=cc.v2(0,0),this._outOfBoundaryAmount=cc.v2(0,0),this._outOfBoundaryAmountDirty=!0,this._stopMouseWheel=!1,this._mouseWheelEventElapsedTime=0,this._isScrollEndedWithThresholdEventFired=!1,this._scrollEventEmitMask=0,this._isBouncing=!1,this._scrolling=!1},properties:{content:{default:void 0,type:cc.Node,tooltip:!1,formerlySerializedAs:"content",notify:function(){this._calculateBoundary()}},horizontal:{default:!0,animatable:!1,tooltip:!1},vertical:{default:!0,animatable:!1,tooltip:!1},inertia:{default:!0,tooltip:!1},brake:{default:.5,type:cc.Float,range:[0,1,.1],tooltip:!1},elastic:{default:!0,animatable:!1,tooltip:!1},bounceDuration:{default:1,range:[0,10],tooltip:!1},horizontalScrollBar:{default:void 0,type:cc.Scrollbar,tooltip:!1,notify:function(){this.horizontalScrollBar&&(this.horizontalScrollBar.setTargetScrollView(this),this._updateScrollBar(0))},animatable:!1},verticalScrollBar:{default:void 0,type:cc.Scrollbar,tooltip:!1,notify:function(){this.verticalScrollBar&&(this.verticalScrollBar.setTargetScrollView(this),this._updateScrollBar(0))},animatable:!1},scrollEvents:{default:[],type:cc.Component.EventHandler,tooltip:!1},cancelInnerEvents:{default:!0,animatable:!1,tooltip:!1},_view:{get:function(){if(this.content)return this.content.parent}}},statics:{EventType:a},scrollToBottom:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,0),applyToHorizontal:!1,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i,!0)},scrollToTop:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,1),applyToHorizontal:!1,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToLeft:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,0),applyToHorizontal:!0,applyToVertical:!1});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToRight:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(1,0),applyToHorizontal:!0,applyToVertical:!1});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToTopLeft:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,1),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToTopRight:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(1,1),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToBottomLeft:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,0),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToBottomRight:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(1,0),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToOffset:function(t,e,i){var n=this.getMaxScrollOffset(),r=cc.v2(0,0);0===n.x?r.x=0:r.x=t.x/n.x,0===n.y?r.y=1:r.y=(n.y-t.y)/n.y,this.scrollTo(r,e,i)},getScrollOffset:function(){var t=this._getContentTopBoundary()-this._topBoundary,e=this._getContentLeftBoundary()-this._leftBoundary;return cc.v2(e,t)},getMaxScrollOffset:function(){var t=this._view.getContentSize(),e=this.content.getContentSize(),i=e.width-t.width,n=e.height-t.height;return i=i>=0?i:0,n=n>=0?n:0,cc.v2(i,n)},scrollToPercentHorizontal:function(t,e,i){var n=this._calculateMovePercentDelta({anchor:cc.v2(t,0),applyToHorizontal:!0,applyToVertical:!1});e?this._startAutoScroll(n,e,!1!==i):this._moveContent(n)},scrollTo:function(t,e,i){var n=this._calculateMovePercentDelta({anchor:cc.v2(t),applyToHorizontal:!0,applyToVertical:!0});e?this._startAutoScroll(n,e,!1!==i):this._moveContent(n)},scrollToPercentVertical:function(t,e,i){var n=this._calculateMovePercentDelta({anchor:cc.v2(0,t),applyToHorizontal:!1,applyToVertical:!0});e?this._startAutoScroll(n,e,!1!==i):this._moveContent(n)},stopAutoScroll:function(){this._autoScrolling=!1,this._autoScrollAccumulatedTime=this._autoScrollTotalTime},setContentPosition:function(t){t.fuzzyEquals(this.getContentPosition(),1e-4)||(this.content.setPosition(t),this._outOfBoundaryAmountDirty=!0)},getContentPosition:function(){return this.content.getPosition()},isScrolling:function(){return this._scrolling},isAutoScrolling:function(){return this._autoScrolling},_registerEvent:function(){this.node.on(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this,!0),this.node.on(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this,!0),this.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this,!0),this.node.on(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancelled,this,!0),this.node.on(cc.Node.EventType.MOUSE_WHEEL,this._onMouseWheel,this,!0)},_unregisterEvent:function(){this.node.off(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this,!0),this.node.off(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this,!0),this.node.off(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this,!0),this.node.off(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancelled,this,!0),this.node.off(cc.Node.EventType.MOUSE_WHEEL,this._onMouseWheel,this,!0)},_onMouseWheel:function(t,e){if(this.enabledInHierarchy&&!this.hasNestedViewGroup(t,e)){var i=cc.v2(0,0),n=-.1;cc.sys.os===cc.sys.OS_WINDOWS&&cc.sys.browserType===cc.sys.BROWSER_TYPE_FIREFOX&&(n=-.1/3),this.vertical?i=cc.v2(0,t.getScrollY()*n):this.horizontal&&(i=cc.v2(t.getScrollY()*n,0)),this._mouseWheelEventElapsedTime=0,this._processDeltaMove(i),this._stopMouseWheel||(this._handlePressLogic(),this.schedule(this._checkMouseWheel,1/60),this._stopMouseWheel=!0),this._stopPropagationIfTargetIsMe(t)}},_checkMouseWheel:function(t){if(!this._getHowMuchOutOfBoundary().fuzzyEquals(cc.v2(0,0),1e-4))return this._processInertiaScroll(),this.unschedule(this._checkMouseWheel),this._dispatchEvent("scroll-ended"),void(this._stopMouseWheel=!1);this._mouseWheelEventElapsedTime+=t,this._mouseWheelEventElapsedTime>.1&&(this._onScrollBarTouchEnded(),this.unschedule(this._checkMouseWheel),this._dispatchEvent("scroll-ended"),this._stopMouseWheel=!1)},_calculateMovePercentDelta:function(t){var e=t.anchor,i=t.applyToHorizontal,n=t.applyToVertical;this._calculateBoundary(),e=e.clampf(cc.v2(0,0),cc.v2(1,1));var r=this._view.getContentSize(),s=this.content.getContentSize(),a=this._getContentBottomBoundary()-this._bottomBoundary;a=-a;var o=this._getContentLeftBoundary()-this._leftBoundary;o=-o;var c=cc.v2(0,0),u=0;return i&&(u=s.width-r.width,c.x=o-u*e.x),n&&(u=s.height-r.height,c.y=a-u*e.y),c},_moveContentToTopLeft:function(t){var e=this.content.getContentSize(),i=this._getContentBottomBoundary()-this._bottomBoundary;i=-i;var n=cc.v2(0,0),r=0,s=this._getContentLeftBoundary()-this._leftBoundary;s=-s,e.height7&&!this._touchMoved&&t.target!==this.node){var n=new cc.Event.EventTouch(t.getTouches(),t.bubbles);n.type=cc.Node.EventType.TOUCH_CANCEL,n.touch=t.touch,n.simulate=!0,t.target.dispatchEvent(n),this._touchMoved=!0}this._stopPropagationIfTargetIsMe(t)}}},_onTouchEnded:function(t,e){if(this.enabledInHierarchy&&!this.hasNestedViewGroup(t,e)){this._dispatchEvent("touch-up");var i=t.touch;this.content&&this._handleReleaseLogic(i),this._touchMoved?t.stopPropagation():this._stopPropagationIfTargetIsMe(t)}},_onTouchCancelled:function(t,e){if(this.enabledInHierarchy&&!this.hasNestedViewGroup(t,e)){if(!t.simulate){var i=t.touch;this.content&&this._handleReleaseLogic(i)}this._stopPropagationIfTargetIsMe(t)}},_processDeltaMove:function(t){this._scrollChildren(t),this._gatherTouchMove(t)},_getLocalAxisAlignDelta:function(t){return this.node.convertToNodeSpaceAR(t.getLocation(),n),this.node.convertToNodeSpaceAR(t.getPreviousLocation(),r),n.sub(r)},_handleMoveLogic:function(t){var e=this._getLocalAxisAlignDelta(t);this._processDeltaMove(e)},_scrollChildren:function(t){var e,i=t=this._clampDelta(t);this.elastic&&(e=this._getHowMuchOutOfBoundary(),i.x*=0===e.x?1:.5,i.y*=0===e.y?1:.5),this.elastic||(e=this._getHowMuchOutOfBoundary(i),i=i.add(e));var n="",r="";this.vertical&&(i.y>0?this.content.y-this.content.anchorY*this.content.height+i.y>=this._bottomBoundary&&(n="scroll-to-bottom"):i.y<0&&this.content.y-this.content.anchorY*this.content.height+this.content.height+i.y<=this._topBoundary&&(n="scroll-to-top")),this.horizontal&&(i.x<0?this.content.x-this.content.anchorX*this.content.width+this.content.width+i.x<=this._rightBoundary&&(r="scroll-to-right"):i.x>0&&this.content.x-this.content.anchorX*this.content.width+i.x>=this._leftBoundary&&(r="scroll-to-left")),this._moveContent(i,!1),(this.horizontal&&0!==i.x||this.vertical&&0!==i.y)&&(this._scrolling||(this._scrolling=!0,this._dispatchEvent("scroll-began")),this._dispatchEvent("scrolling")),""!==n&&this._dispatchEvent(n),""!==r&&this._dispatchEvent(r)},_handlePressLogic:function(){this._autoScrolling&&this._dispatchEvent("scroll-ended"),this._autoScrolling=!1,this._isBouncing=!1,this._touchMovePreviousTimestamp=s(),this._touchMoveDisplacements.length=0,this._touchMoveTimeDeltas.length=0,this._onScrollBarTouchBegan()},_clampDelta:function(t){var e=this.content.getContentSize(),i=this._view.getContentSize();return e.width=5;)this._touchMoveDisplacements.shift(),this._touchMoveTimeDeltas.shift();this._touchMoveDisplacements.push(t);var e=s();this._touchMoveTimeDeltas.push((e-this._touchMovePreviousTimestamp)/1e3),this._touchMovePreviousTimestamp=e},_startBounceBackIfNeeded:function(){if(!this.elastic)return!1;var t=this._getHowMuchOutOfBoundary();if((t=this._clampDelta(t)).fuzzyEquals(cc.v2(0,0),1e-4))return!1;var e=Math.max(this.bounceDuration,0);return this._startAutoScroll(t,e,!0),this._isBouncing||(t.y>0&&this._dispatchEvent("bounce-top"),t.y<0&&this._dispatchEvent("bounce-bottom"),t.x>0&&this._dispatchEvent("bounce-right"),t.x<0&&this._dispatchEvent("bounce-left"),this._isBouncing=!0),!0},_processInertiaScroll:function(){if(!this._startBounceBackIfNeeded()&&this.inertia){var t=this._calculateTouchMoveVelocity();!t.fuzzyEquals(cc.v2(0,0),1e-4)&&this.brake<1&&this._startInertiaScroll(t)}this._onScrollBarTouchEnded()},_handleReleaseLogic:function(t){var e=this._getLocalAxisAlignDelta(t);this._gatherTouchMove(e),this._processInertiaScroll(),this._scrolling&&(this._scrolling=!1,this._autoScrolling||this._dispatchEvent("scroll-ended"))},_isOutOfBoundary:function(){return!this._getHowMuchOutOfBoundary().fuzzyEquals(cc.v2(0,0),1e-4)},_isNecessaryAutoScrollBrake:function(){if(this._autoScrollBraking)return!0;if(this._isOutOfBoundary()){if(!this._autoScrollCurrentlyOutOfBoundary)return this._autoScrollCurrentlyOutOfBoundary=!0,this._autoScrollBraking=!0,this._autoScrollBrakingStartPosition=this.getContentPosition(),!0}else this._autoScrollCurrentlyOutOfBoundary=!1;return!1},getScrollEndedEventTiming:function(){return 1e-4},_processAutoScrolling:function(t){var e=this._isNecessaryAutoScrollBrake(),i=e?.05:1;this._autoScrollAccumulatedTime+=t*(1/i);var n,r=Math.min(1,this._autoScrollAccumulatedTime/this._autoScrollTotalTime);this._autoScrollAttenuate&&(n=r,r=(n-=1)*n*n*n*n+1);var s=this._autoScrollStartPosition.add(this._autoScrollTargetDelta.mul(r)),a=Math.abs(r-1)<=1e-4;if(Math.abs(r-1)<=this.getScrollEndedEventTiming()&&!this._isScrollEndedWithThresholdEventFired&&(this._dispatchEvent("scroll-ended-with-threshold"),this._isScrollEndedWithThresholdEventFired=!0),this.elastic){var o=s.sub(this._autoScrollBrakingStartPosition);e&&(o=o.mul(i)),s=this._autoScrollBrakingStartPosition.add(o)}else{var c=s.sub(this.getContentPosition()),u=this._getHowMuchOutOfBoundary(c);u.fuzzyEquals(cc.v2(0,0),1e-4)||(s=s.add(u),a=!0)}a&&(this._autoScrolling=!1);var l=s.sub(this.getContentPosition());this._moveContent(this._clampDelta(l),a),this._dispatchEvent("scrolling"),this._autoScrolling||(this._isBouncing=!1,this._scrolling=!1,this._dispatchEvent("scroll-ended"))},_startInertiaScroll:function(t){var e=t.mul(.7);this._startAttenuatingAutoScroll(e,t)},_calculateAttenuatedFactor:function(t){return this.brake<=0?1-this.brake:(1-this.brake)*(1/(1+14e-6*t+t*t*8e-9))},_startAttenuatingAutoScroll:function(t,e){var i=this._calculateAutoScrollTimeByInitalSpeed(e.mag()),n=t.normalize(),r=this.content.getContentSize(),s=this._view.getContentSize(),a=r.width-s.width,o=r.height-s.height,c=this._calculateAttenuatedFactor(a),u=this._calculateAttenuatedFactor(o);n=cc.v2(n.x*a*(1-this.brake)*c,n.y*o*u*(1-this.brake));var l=t.mag(),h=n.mag()/l;n=n.add(t),this.brake>0&&h>7&&(h=Math.sqrt(h),n=t.mul(h).add(t)),this.brake>0&&h>3&&(i*=h=3),0===this.brake&&h>1&&(i*=h),this._startAutoScroll(n,i,!0)},_calculateAutoScrollTimeByInitalSpeed:function(t){return Math.sqrt(Math.sqrt(t/5))},_startAutoScroll:function(t,e,i){var n=this._flattenVectorByDirection(t);this._autoScrolling=!0,this._autoScrollTargetDelta=n,this._autoScrollAttenuate=i,this._autoScrollStartPosition=this.getContentPosition(),this._autoScrollTotalTime=e,this._autoScrollAccumulatedTime=0,this._autoScrollBraking=!1,this._isScrollEndedWithThresholdEventFired=!1,this._autoScrollBrakingStartPosition=cc.v2(0,0),this._getHowMuchOutOfBoundary().fuzzyEquals(cc.v2(0,0),1e-4)||(this._autoScrollCurrentlyOutOfBoundary=!0)},_calculateTouchMoveVelocity:function(){var t=0;if((t=this._touchMoveTimeDeltas.reduce((function(t,e){return t+e}),t))<=0||t>=.5)return cc.v2(0,0);var e=cc.v2(0,0);return e=this._touchMoveDisplacements.reduce((function(t,e){return t.add(e)}),e),cc.v2(e.x*(1-this.brake)/t,e.y*(1-this.brake)/t)},_flattenVectorByDirection:function(t){var e=t;return e.x=this.horizontal?e.x:0,e.y=this.vertical?e.y:0,e},_moveContent:function(t,e){var i=this._flattenVectorByDirection(t),n=this.getContentPosition().add(i);this.setContentPosition(n);var r=this._getHowMuchOutOfBoundary();this._updateScrollBar(r),this.elastic&&e&&this._startBounceBackIfNeeded()},_getContentLeftBoundary:function(){return this.getContentPosition().x-this.content.getAnchorPoint().x*this.content.getContentSize().width},_getContentRightBoundary:function(){var t=this.content.getContentSize();return this._getContentLeftBoundary()+t.width},_getContentTopBoundary:function(){var t=this.content.getContentSize();return this._getContentBottomBoundary()+t.height},_getContentBottomBoundary:function(){return this.getContentPosition().y-this.content.getAnchorPoint().y*this.content.getContentSize().height},_getHowMuchOutOfBoundary:function(t){if((t=t||cc.v2(0,0)).fuzzyEquals(cc.v2(0,0),1e-4)&&!this._outOfBoundaryAmountDirty)return this._outOfBoundaryAmount;var e=cc.v2(0,0);return this._getContentLeftBoundary()+t.x>this._leftBoundary?e.x=this._leftBoundary-(this._getContentLeftBoundary()+t.x):this._getContentRightBoundary()+t.xthis._bottomBoundary&&(e.y=this._bottomBoundary-(this._getContentBottomBoundary()+t.y)),t.fuzzyEquals(cc.v2(0,0),1e-4)&&(this._outOfBoundaryAmount=e,this._outOfBoundaryAmountDirty=!1),this._clampDelta(e)},_updateScrollBarState:function(){if(this.content){var t=this.content.getContentSize(),e=this._view.getContentSize();this.verticalScrollBar&&(t.height0},set:function(t){this._setAlign(s,t)},animatable:!1,tooltip:!1},isAlignVerticalCenter:{get:function(){return(this._alignFlags&a)>0},set:function(t){t?(this.isAlignTop=!1,this.isAlignBottom=!1,this._alignFlags|=a):this._alignFlags&=~a},animatable:!1,tooltip:!1},isAlignBottom:{get:function(){return(this._alignFlags&o)>0},set:function(t){this._setAlign(o,t)},animatable:!1,tooltip:!1},isAlignLeft:{get:function(){return(this._alignFlags&c)>0},set:function(t){this._setAlign(c,t)},animatable:!1,tooltip:!1},isAlignHorizontalCenter:{get:function(){return(this._alignFlags&u)>0},set:function(t){t?(this.isAlignLeft=!1,this.isAlignRight=!1,this._alignFlags|=u):this._alignFlags&=~u},animatable:!1,tooltip:!1},isAlignRight:{get:function(){return(this._alignFlags&l)>0},set:function(t){this._setAlign(l,t)},animatable:!1,tooltip:!1},isStretchWidth:{get:function(){return(this._alignFlags&_)===_},visible:!1},isStretchHeight:{get:function(){return(this._alignFlags&h)===h},visible:!1},top:{get:function(){return this._top},set:function(t){this._top=t},tooltip:!1},bottom:{get:function(){return this._bottom},set:function(t){this._bottom=t},tooltip:!1},left:{get:function(){return this._left},set:function(t){this._left=t},tooltip:!1},right:{get:function(){return this._right},set:function(t){this._right=t},tooltip:!1},horizontalCenter:{get:function(){return this._horizontalCenter},set:function(t){this._horizontalCenter=t},tooltip:!1},verticalCenter:{get:function(){return this._verticalCenter},set:function(t){this._verticalCenter=t},tooltip:!1},isAbsoluteHorizontalCenter:{get:function(){return this._isAbsHorizontalCenter},set:function(t){this._isAbsHorizontalCenter=t},animatable:!1},isAbsoluteVerticalCenter:{get:function(){return this._isAbsVerticalCenter},set:function(t){this._isAbsVerticalCenter=t},animatable:!1},isAbsoluteTop:{get:function(){return this._isAbsTop},set:function(t){this._isAbsTop=t},animatable:!1},isAbsoluteBottom:{get:function(){return this._isAbsBottom},set:function(t){this._isAbsBottom=t},animatable:!1},isAbsoluteLeft:{get:function(){return this._isAbsLeft},set:function(t){this._isAbsLeft=t},animatable:!1},isAbsoluteRight:{get:function(){return this._isAbsRight},set:function(t){this._isAbsRight=t},animatable:!1},alignMode:{default:n.ON_WINDOW_RESIZE,type:n,tooltip:!1},_wasAlignOnce:{default:void 0,formerlySerializedAs:"isAlignOnce"},_target:null,_alignFlags:0,_left:0,_right:0,_top:0,_bottom:0,_verticalCenter:0,_horizontalCenter:0,_isAbsLeft:!0,_isAbsRight:!0,_isAbsTop:!0,_isAbsBottom:!0,_isAbsHorizontalCenter:!0,_isAbsVerticalCenter:!0,_originalWidth:0,_originalHeight:0},statics:{AlignMode:n},onLoad:function(){void 0!==this._wasAlignOnce&&(this.alignMode=this._wasAlignOnce?n.ONCE:n.ALWAYS,this._wasAlignOnce=void 0)},onEnable:function(){i.add(this)},onDisable:function(){i.remove(this)},_validateTargetInDEV:!1,_setAlign:function(t,e){if(e!==(this._alignFlags&t)>0){var i=(t&_)>0;e?(this._alignFlags|=t,i?(this.isAlignHorizontalCenter=!1,this.isStretchWidth&&(this._originalWidth=this.node.width)):(this.isAlignVerticalCenter=!1,this.isStretchHeight&&(this._originalHeight=this.node.height))):(i?this.isStretchWidth&&(this.node.width=this._originalWidth):this.isStretchHeight&&(this.node.height=this._originalHeight),this._alignFlags&=~t)}},updateAlignment:function(){i.updateAlignment(this.node)}});Object.defineProperty(f.prototype,"isAlignOnce",{get:function(){return this.alignMode===n.ONCE},set:function(t){this.alignMode=t?n.ONCE:n.ALWAYS}}),cc.Widget=e.exports=f}),{"../base-ui/CCWidgetManager":86,"./CCComponent":101}],119:[(function(t,e){"use strict";var i=t("../../platform/CCMacro"),n=t("../editbox/EditBoxImplBase"),r=t("../CCLabel"),s=t("./types"),a=s.InputMode,o=s.InputFlag,c=s.KeyboardReturnType;function u(t){return t.charAt(0).toUpperCase()+t.slice(1)}var l=cc.Class({name:"cc.EditBox",extends:cc.Component,editor:!1,properties:{_string:"",string:{tooltip:!1,get:function(){return this._string},set:function(t){t=""+t,this.maxLength>=0&&t.length>=this.maxLength&&(t=t.slice(0,this.maxLength)),this._string=t,this._updateString(t)}},textLabel:{tooltip:!1,default:null,type:r,notify:function(t){this.textLabel&&this.textLabel!==t&&(this._updateTextLabel(),this._updateLabels())}},placeholderLabel:{tooltip:!1,default:null,type:r,notify:function(t){this.placeholderLabel&&this.placeholderLabel!==t&&(this._updatePlaceholderLabel(),this._updateLabels())}},background:{tooltip:!1,default:null,type:cc.Sprite,notify:function(t){this.background&&this.background!==t&&this._updateBackgroundSprite()}},_N$backgroundImage:{default:void 0,type:cc.SpriteFrame},backgroundImage:{get:function(){return this.background?this.background.spriteFrame:null},set:function(t){this.background&&(this.background.spriteFrame=t)}},returnType:{default:c.DEFAULT,tooltip:!1,displayName:"KeyboardReturnType",type:c},_N$returnType:{default:void 0,type:cc.Float},inputFlag:{tooltip:!1,default:o.DEFAULT,type:o,notify:function(){this._updateString(this._string)}},inputMode:{tooltip:!1,default:a.ANY,type:a,notify:function(t){this.inputMode!==t&&(this._updateTextLabel(),this._updatePlaceholderLabel())}},fontSize:{get:function(){return this.textLabel?this.textLabel.fontSize:0},set:function(t){this.textLabel&&(this.textLabel.fontSize=t)}},_N$fontSize:{default:void 0,type:cc.Float},lineHeight:{get:function(){return this.textLabel?this.textLabel.lineHeight:0},set:function(t){this.textLabel&&(this.textLabel.lineHeight=t)}},_N$lineHeight:{default:void 0,type:cc.Float},fontColor:{get:function(){return this.textLabel?this.textLabel.node.color:cc.Color.BLACK},set:function(t){this.textLabel&&(this.textLabel.node.color=t,this.textLabel.node.opacity=t.a)}},_N$fontColor:void 0,placeholder:{tooltip:!1,get:function(){return this.placeholderLabel?this.placeholderLabel.string:""},set:function(t){this.placeholderLabel&&(this.placeholderLabel.string=t)}},_N$placeholder:{default:void 0,type:cc.String},placeholderFontSize:{get:function(){return this.placeholderLabel?this.placeholderLabel.fontSize:0},set:function(t){this.placeholderLabel&&(this.placeholderLabel.fontSize=t)}},_N$placeholderFontSize:{default:void 0,type:cc.Float},placeholderFontColor:{get:function(){return this.placeholderLabel?this.placeholderLabel.node.color:cc.Color.BLACK},set:function(t){this.placeholderLabel&&(this.placeholderLabel.node.color=t,this.placeholderLabel.node.opacity=t.a)}},_N$placeholderFontColor:void 0,maxLength:{tooltip:!1,default:20},_N$maxLength:{default:void 0,type:cc.Float},stayOnTop:{default:!1,notify:function(){cc.warn("editBox.stayOnTop is removed since v2.1.")}},_tabIndex:0,tabIndex:{tooltip:!1,get:function(){return this._tabIndex},set:function(t){this._tabIndex!==t&&(this._tabIndex=t,this._impl&&this._impl.setTabIndex(t))}},editingDidBegan:{default:[],type:cc.Component.EventHandler},textChanged:{default:[],type:cc.Component.EventHandler},editingDidEnded:{default:[],type:cc.Component.EventHandler},editingReturn:{default:[],type:cc.Component.EventHandler}},statics:{_ImplClass:n,KeyboardReturnType:c,InputFlag:o,InputMode:a},_init:function(){this._upgradeComp(),this._isLabelVisible=!0,this.node.on(cc.Node.EventType.SIZE_CHANGED,this._syncSize,this),(this._impl=new l._ImplClass).init(this),this._updateString(this._string),this._syncSize()},_updateBackgroundSprite:function(){var t=this.background;if(!t){var e=this.node.getChildByName("BACKGROUND_SPRITE");e||(e=new cc.Node("BACKGROUND_SPRITE")),(t=e.getComponent(cc.Sprite))||(t=e.addComponent(cc.Sprite)),e.parent=this.node,this.background=t}t.type=cc.Sprite.Type.SLICED,void 0!==this._N$backgroundImage&&(t.spriteFrame=this._N$backgroundImage,this._N$backgroundImage=void 0)},_updateTextLabel:function(){var t=this.textLabel;if(!t){var e=this.node.getChildByName("TEXT_LABEL");e||(e=new cc.Node("TEXT_LABEL")),(t=e.getComponent(r))||(t=e.addComponent(r)),e.parent=this.node,this.textLabel=t}t.node.setAnchorPoint(0,1),t.overflow=r.Overflow.CLAMP,this.inputMode===a.ANY?(t.verticalAlign=i.VerticalTextAlignment.TOP,t.enableWrapText=!0):(t.verticalAlign=i.VerticalTextAlignment.CENTER,t.enableWrapText=!1),t.string=this._updateLabelStringStyle(this._string),void 0!==this._N$fontColor&&(t.node.color=this._N$fontColor,t.node.opacity=this._N$fontColor.a,this._N$fontColor=void 0),void 0!==this._N$fontSize&&(t.fontSize=this._N$fontSize,this._N$fontSize=void 0),void 0!==this._N$lineHeight&&(t.lineHeight=this._N$lineHeight,this._N$lineHeight=void 0)},_updatePlaceholderLabel:function(){var t=this.placeholderLabel;if(!t){var e=this.node.getChildByName("PLACEHOLDER_LABEL");e||(e=new cc.Node("PLACEHOLDER_LABEL")),(t=e.getComponent(r))||(t=e.addComponent(r)),e.parent=this.node,this.placeholderLabel=t}t.node.setAnchorPoint(0,1),t.overflow=r.Overflow.CLAMP,this.inputMode===a.ANY?(t.verticalAlign=i.VerticalTextAlignment.TOP,t.enableWrapText=!0):(t.verticalAlign=i.VerticalTextAlignment.CENTER,t.enableWrapText=!1),t.string=this.placeholder,void 0!==this._N$placeholderFontColor&&(t.node.color=this._N$placeholderFontColor,t.node.opacity=this._N$placeholderFontColor.a,this._N$placeholderFontColor=void 0),void 0!==this._N$placeholderFontSize&&(t.fontSize=this._N$placeholderFontSize,this._N$placeholderFontSize=void 0)},_upgradeComp:function(){void 0!==this._N$returnType&&(this.returnType=this._N$returnType,this._N$returnType=void 0),void 0!==this._N$maxLength&&(this.maxLength=this._N$maxLength,this._N$maxLength=void 0),void 0!==this._N$backgroundImage&&this._updateBackgroundSprite(),void 0===this._N$fontColor&&void 0===this._N$fontSize&&void 0===this._N$lineHeight||this._updateTextLabel(),void 0===this._N$placeholderFontColor&&void 0===this._N$placeholderFontSize||this._updatePlaceholderLabel(),void 0!==this._N$placeholder&&(this.placeholder=this._N$placeholder,this._N$placeholder=void 0)},_syncSize:function(){if(this._impl){var t=this.node.getContentSize();this._impl.setSize(t.width,t.height)}},_showLabels:function(){this._isLabelVisible=!0,this._updateLabels()},_hideLabels:function(){this._isLabelVisible=!1,this.textLabel&&(this.textLabel.node.active=!1),this.placeholderLabel&&(this.placeholderLabel.node.active=!1)},_updateLabels:function(){if(this._isLabelVisible){var t=this._string;this.textLabel&&(this.textLabel.node.active=""!==t),this.placeholderLabel&&(this.placeholderLabel.node.active=""===t)}},_updateString:function(t){var e=this.textLabel;if(e){var i=t;i&&(i=this._updateLabelStringStyle(i)),e.string=i,this._updateLabels()}},_updateLabelStringStyle:function(t,e){var i=this.inputFlag;if(e||i!==o.PASSWORD)i===o.INITIAL_CAPS_ALL_CHARACTERS?t=t.toUpperCase():i===o.INITIAL_CAPS_WORD?t=t.replace(/(?:^|\s)\S/g,(function(t){return t.toUpperCase()})):i===o.INITIAL_CAPS_SENTENCE&&(t=u(t));else{for(var n="",r=t.length,s=0;s=0&&(e.value=e.value.slice(0,n)),t._delegate.editBoxTextChanged(e.value)}},n.onClick=function(){t._editing&&cc.sys.isMobile&&t._adjustWindowScroll()},n.onKeydown=function(i){i.keyCode===r.KEY.enter?(i.stopPropagation(),t._delegate.editBoxEditingReturn(),t._isTextArea||e.blur()):i.keyCode===r.KEY.tab&&(i.stopPropagation(),i.preventDefault(),o.next(t))},n.onBlur=function(){cc.sys.isMobile&&i&&n.compositionEnd(),t._editing=!1,v=null,t._hideDom(),t._delegate.editBoxEditingDidEnded()},e.addEventListener("compositionstart",n.compositionStart),e.addEventListener("compositionend",n.compositionEnd),e.addEventListener("input",n.onInput),e.addEventListener("keydown",n.onKeydown),e.addEventListener("blur",n.onBlur),e.addEventListener("touchstart",n.onClick)},_removeEventListeners:function(){var t=this._elem,e=this._eventListeners;t.removeEventListener("compositionstart",e.compositionStart),t.removeEventListener("compositionend",e.compositionEnd),t.removeEventListener("input",e.onInput),t.removeEventListener("keydown",e.onKeydown),t.removeEventListener("blur",e.onBlur),t.removeEventListener("touchstart",e.onClick),e.compositionStart=null,e.compositionEnd=null,e.onInput=null,e.onKeydown=null,e.onBlur=null,e.onClick=null}})}),{"../../platform/CCMacro":154,"../../platform/utils":173,"../../value-types/mat4":240,"../CCLabel":103,"./tabIndexUtil":122,"./types":123}],122:[(function(t,e){"use strict";e.exports={_tabIndexList:[],add:function(t){var e=this._tabIndexList;-1===e.indexOf(t)&&e.push(t)},remove:function(t){var e=this._tabIndexList,i=e.indexOf(t);-1!==i&&e.splice(i,1)},resort:function(){this._tabIndexList.sort((function(t,e){return t._delegate._tabIndex-e._delegate._tabIndex}))},next:function(t){var e=this._tabIndexList,i=e.indexOf(t);if(t.setFocus(!1),-1!==i){var n=e[i+1];n&&n._delegate._tabIndex>=0&&n.setFocus(!0)}}}}),{}],123:[(function(t,e){"use strict";var i=cc.Enum({DEFAULT:0,DONE:1,SEND:2,SEARCH:3,GO:4,NEXT:5}),n=cc.Enum({ANY:0,EMAIL_ADDR:1,NUMERIC:2,PHONE_NUMBER:3,URL:4,DECIMAL:5,SINGLE_LINE:6}),r=cc.Enum({PASSWORD:0,SENSITIVE:1,INITIAL_CAPS_WORD:2,INITIAL_CAPS_SENTENCE:3,INITIAL_CAPS_ALL_CHARACTERS:4,DEFAULT:5});e.exports={KeyboardReturnType:i,InputMode:n,InputFlag:r}}),{}],124:[(function(t,e){"use strict";t("./CCComponent"),t("./CCComponentEventHandler"),t("./missing-script");var i=t("./SubContextView");i||(i=cc.Class({name:"cc.SubContextView",extends:cc.Component}),cc.SubContextView=cc.WXSubContextView=cc.SwanSubContextView=i);var n=[t("./CCSprite"),t("./CCWidget"),t("./CCCanvas"),t("./CCAudioSource"),t("./CCAnimation"),t("./CCButton"),t("./CCLabel"),t("./CCProgressBar"),t("./CCMask"),t("./CCScrollBar"),t("./CCScrollView"),t("./CCPageViewIndicator"),t("./CCPageView"),t("./CCSlider"),t("./CCLayout"),t("./editbox/CCEditBox"),t("./CCLabelOutline"),t("./CCLabelShadow"),t("./CCRichText"),t("./CCToggleContainer"),t("./CCToggleGroup"),t("./CCToggle"),t("./CCBlockInputEvents"),t("./CCMotionStreak"),t("./CCSafeArea"),i];e.exports=n}),{"./CCAnimation":96,"./CCAudioSource":97,"./CCBlockInputEvents":98,"./CCButton":99,"./CCCanvas":100,"./CCComponent":101,"./CCComponentEventHandler":102,"./CCLabel":103,"./CCLabelOutline":void 0,"./CCLabelShadow":void 0,"./CCLayout":104,"./CCMask":105,"./CCMotionStreak":106,"./CCPageView":107,"./CCPageViewIndicator":108,"./CCProgressBar":109,"./CCRichText":void 0,"./CCSafeArea":111,"./CCScrollBar":112,"./CCScrollView":113,"./CCSlider":114,"./CCSprite":115,"./CCToggle":void 0,"./CCToggleContainer":void 0,"./CCToggleGroup":void 0,"./CCWidget":118,"./SubContextView":void 0,"./editbox/CCEditBox":119,"./missing-script":125}],125:[(function(t,e){"use strict";var i=cc.js,n=cc.Class({name:"cc.MissingScript",extends:cc.Component,editor:{inspector:"packages://inspector/inspectors/comps/missing-script.js"},properties:{compiled:{default:!1,serializable:!1},_$erialized:{default:null,visible:!1,editorOnly:!0}},ctor:!1,statics:{safeFindClass:function(t){return i._getClassById(t)||(cc.deserialize.reportMissingClass(t),n)}},onLoad:function(){cc.warnID(4600,this.node.name)}});cc._MissingScript=e.exports=n}),{}],126:[(function(t,e){"use strict";var i=cc.js;t("../event/event");var n=function(t,e){cc.Event.call(this,cc.Event.MOUSE,e),this._eventType=t,this._button=0,this._x=0,this._y=0,this._prevX=0,this._prevY=0,this._scrollX=0,this._scrollY=0};i.extend(n,cc.Event);var r=n.prototype;r.setScrollData=function(t,e){this._scrollX=t,this._scrollY=e},r.getScrollX=function(){return this._scrollX},r.getScrollY=function(){return this._scrollY},r.setLocation=function(t,e){this._x=t,this._y=e},r.getLocation=function(){return cc.v2(this._x,this._y)},r.getLocationInView=function(){return cc.v2(this._x,cc.view._designResolutionSize.height-this._y)},r._setPrevCursor=function(t,e){this._prevX=t,this._prevY=e},r.getPreviousLocation=function(){return cc.v2(this._prevX,this._prevY)},r.getDelta=function(){return cc.v2(this._x-this._prevX,this._y-this._prevY)},r.getDeltaX=function(){return this._x-this._prevX},r.getDeltaY=function(){return this._y-this._prevY},r.setButton=function(t){this._button=t},r.getButton=function(){return this._button},r.getLocationX=function(){return this._x},r.getLocationY=function(){return this._y},n.NONE=0,n.DOWN=1,n.UP=2,n.MOVE=3,n.SCROLL=4,n.BUTTON_LEFT=0,n.BUTTON_RIGHT=2,n.BUTTON_MIDDLE=1,n.BUTTON_4=3,n.BUTTON_5=4,n.BUTTON_6=5,n.BUTTON_7=6,n.BUTTON_8=7;var s=function(t,e){cc.Event.call(this,cc.Event.TOUCH,e),this._eventCode=0,this._touches=t||[],this.touch=null,this.currentTouch=null};i.extend(s,cc.Event),(r=s.prototype).getEventCode=function(){return this._eventCode},r.getTouches=function(){return this._touches},r._setEventCode=function(t){this._eventCode=t},r._setTouches=function(t){this._touches=t},r.setLocation=function(t,e){this.touch&&this.touch.setTouchInfo(this.touch.getID(),t,e)},r.getLocation=function(){return this.touch?this.touch.getLocation():cc.v2()},r.getLocationInView=function(){return this.touch?this.touch.getLocationInView():cc.v2()},r.getPreviousLocation=function(){return this.touch?this.touch.getPreviousLocation():cc.v2()},r.getStartLocation=function(){return this.touch?this.touch.getStartLocation():cc.v2()},r.getID=function(){return this.touch?this.touch.getID():null},r.getDelta=function(){return this.touch?this.touch.getDelta():cc.v2()},r.getDeltaX=function(){return this.touch?this.touch.getDelta().x:0},r.getDeltaY=function(){return this.touch?this.touch.getDelta().y:0},r.getLocationX=function(){return this.touch?this.touch.getLocationX():0},r.getLocationY=function(){return this.touch?this.touch.getLocationY():0},s.MAX_TOUCHES=5,s.BEGAN=0,s.MOVED=1,s.ENDED=2,s.CANCELED=3;var a=function(t,e){cc.Event.call(this,cc.Event.ACCELERATION,e),this.acc=t};i.extend(a,cc.Event);var o=function(t,e,i){cc.Event.call(this,cc.Event.KEYBOARD,i),this.keyCode=t,this.isPressed=e};i.extend(o,cc.Event),cc.Event.EventMouse=n,cc.Event.EventTouch=s,cc.Event.EventAcceleration=a,cc.Event.EventKeyboard=o,e.exports=cc.Event}),{"../event/event":133}],127:[(function(t,e){"use strict";var i=t("../platform/js");cc.EventListener=function(t,e,i){this._onEvent=i,this._type=t||0,this._listenerID=e||"",this._registered=!1,this._fixedPriority=0,this._node=null,this._target=null,this._paused=!0,this._isEnabled=!0},cc.EventListener.prototype={constructor:cc.EventListener,_setPaused:function(t){this._paused=t},_isPaused:function(){return this._paused},_setRegistered:function(t){this._registered=t},_isRegistered:function(){return this._registered},_getType:function(){return this._type},_getListenerID:function(){return this._listenerID},_setFixedPriority:function(t){this._fixedPriority=t},_getFixedPriority:function(){return this._fixedPriority},_setSceneGraphPriority:function(t){this._target=t,this._node=t},_getSceneGraphPriority:function(){return this._node},checkAvailable:function(){return null!==this._onEvent},clone:function(){return null},setEnabled:function(t){this._isEnabled=t},isEnabled:function(){return this._isEnabled},retain:function(){},release:function(){}},cc.EventListener.UNKNOWN=0,cc.EventListener.TOUCH_ONE_BY_ONE=1,cc.EventListener.TOUCH_ALL_AT_ONCE=2,cc.EventListener.KEYBOARD=3,cc.EventListener.MOUSE=4,cc.EventListener.ACCELERATION=6,cc.EventListener.CUSTOM=8;var n=cc.EventListener.ListenerID={MOUSE:"__cc_mouse",TOUCH_ONE_BY_ONE:"__cc_touch_one_by_one",TOUCH_ALL_AT_ONCE:"__cc_touch_all_at_once",KEYBOARD:"__cc_keyboard",ACCELERATION:"__cc_acceleration"},r=function(t,e){this._onCustomEvent=e,cc.EventListener.call(this,cc.EventListener.CUSTOM,t,this._callback)};i.extend(r,cc.EventListener),i.mixin(r.prototype,{_onCustomEvent:null,_callback:function(t){null!==this._onCustomEvent&&this._onCustomEvent(t)},checkAvailable:function(){return cc.EventListener.prototype.checkAvailable.call(this)&&null!==this._onCustomEvent},clone:function(){return new r(this._listenerID,this._onCustomEvent)}});var s=function(){cc.EventListener.call(this,cc.EventListener.MOUSE,n.MOUSE,this._callback)};i.extend(s,cc.EventListener),i.mixin(s.prototype,{onMouseDown:null,onMouseUp:null,onMouseMove:null,onMouseScroll:null,_callback:function(t){var e=cc.Event.EventMouse;switch(t._eventType){case e.DOWN:this.onMouseDown&&this.onMouseDown(t);break;case e.UP:this.onMouseUp&&this.onMouseUp(t);break;case e.MOVE:this.onMouseMove&&this.onMouseMove(t);break;case e.SCROLL:this.onMouseScroll&&this.onMouseScroll(t)}},clone:function(){var t=new s;return t.onMouseDown=this.onMouseDown,t.onMouseUp=this.onMouseUp,t.onMouseMove=this.onMouseMove,t.onMouseScroll=this.onMouseScroll,t},checkAvailable:function(){return!0}});var a=function(){cc.EventListener.call(this,cc.EventListener.TOUCH_ONE_BY_ONE,n.TOUCH_ONE_BY_ONE,null),this._claimedTouches=[]};i.extend(a,cc.EventListener),i.mixin(a.prototype,{constructor:a,_claimedTouches:null,swallowTouches:!1,onTouchBegan:null,onTouchMoved:null,onTouchEnded:null,onTouchCancelled:null,setSwallowTouches:function(t){this.swallowTouches=t},isSwallowTouches:function(){return this.swallowTouches},clone:function(){var t=new a;return t.onTouchBegan=this.onTouchBegan,t.onTouchMoved=this.onTouchMoved,t.onTouchEnded=this.onTouchEnded,t.onTouchCancelled=this.onTouchCancelled,t.swallowTouches=this.swallowTouches,t},checkAvailable:function(){return!!this.onTouchBegan||(cc.logID(1801),!1)}});var o=function(){cc.EventListener.call(this,cc.EventListener.TOUCH_ALL_AT_ONCE,n.TOUCH_ALL_AT_ONCE,null)};i.extend(o,cc.EventListener),i.mixin(o.prototype,{constructor:o,onTouchesBegan:null,onTouchesMoved:null,onTouchesEnded:null,onTouchesCancelled:null,clone:function(){var t=new o;return t.onTouchesBegan=this.onTouchesBegan,t.onTouchesMoved=this.onTouchesMoved,t.onTouchesEnded=this.onTouchesEnded,t.onTouchesCancelled=this.onTouchesCancelled,t},checkAvailable:function(){return null!==this.onTouchesBegan||null!==this.onTouchesMoved||null!==this.onTouchesEnded||null!==this.onTouchesCancelled||(cc.logID(1802),!1)}});var c=function(t){this._onAccelerationEvent=t,cc.EventListener.call(this,cc.EventListener.ACCELERATION,n.ACCELERATION,this._callback)};i.extend(c,cc.EventListener),i.mixin(c.prototype,{constructor:c,_onAccelerationEvent:null,_callback:function(t){this._onAccelerationEvent(t.acc,t)},checkAvailable:function(){return cc.assertID(this._onAccelerationEvent,1803),!0},clone:function(){return new c(this._onAccelerationEvent)}});var u=function(){cc.EventListener.call(this,cc.EventListener.KEYBOARD,n.KEYBOARD,this._callback)};i.extend(u,cc.EventListener),i.mixin(u.prototype,{constructor:u,onKeyPressed:null,onKeyReleased:null,_callback:function(t){t.isPressed?this.onKeyPressed&&this.onKeyPressed(t.keyCode,t):this.onKeyReleased&&this.onKeyReleased(t.keyCode,t)},clone:function(){var t=new u;return t.onKeyPressed=this.onKeyPressed,t.onKeyReleased=this.onKeyReleased,t},checkAvailable:function(){return null!==this.onKeyPressed||null!==this.onKeyReleased||(cc.logID(1800),!1)}}),cc.EventListener.create=function(t){cc.assertID(t&&t.event,1900);var e=t.event;delete t.event;var i=null;for(var n in e===cc.EventListener.TOUCH_ONE_BY_ONE?i=new a:e===cc.EventListener.TOUCH_ALL_AT_ONCE?i=new o:e===cc.EventListener.MOUSE?i=new s:e===cc.EventListener.CUSTOM?(i=new r(t.eventName,t.callback),delete t.eventName,delete t.callback):e===cc.EventListener.KEYBOARD?i=new u:e===cc.EventListener.ACCELERATION&&(i=new c(t.callback),delete t.callback),t)i[n]=t[n];return i},e.exports=cc.EventListener}),{"../platform/js":170}],128:[(function(t,e){"use strict";var i=t("../platform/js");t("./CCEventListener");var n=cc.EventListener.ListenerID,r=function(){this._fixedListeners=[],this._sceneGraphListeners=[],this.gt0Index=0};r.prototype={constructor:r,size:function(){return this._fixedListeners.length+this._sceneGraphListeners.length},empty:function(){return 0===this._fixedListeners.length&&0===this._sceneGraphListeners.length},push:function(t){0===t._getFixedPriority()?this._sceneGraphListeners.push(t):this._fixedListeners.push(t)},clearSceneGraphListeners:function(){this._sceneGraphListeners.length=0},clearFixedListeners:function(){this._fixedListeners.length=0},clear:function(){this._sceneGraphListeners.length=0,this._fixedListeners.length=0},getFixedPriorityListeners:function(){return this._fixedListeners},getSceneGraphPriorityListeners:function(){return this._sceneGraphListeners}};var s=function(t){var e=cc.Event,i=t.type;return i===e.ACCELERATION?n.ACCELERATION:i===e.KEYBOARD?n.KEYBOARD:i.startsWith(e.MOUSE)?n.MOUSE:(i.startsWith(e.TOUCH)&&cc.logID(2e3),"")},a={DIRTY_NONE:0,DIRTY_FIXED_PRIORITY:1,DIRTY_SCENE_GRAPH_PRIORITY:2,DIRTY_ALL:3,_listenersMap:{},_priorityDirtyFlagMap:{},_nodeListenersMap:{},_toAddedListeners:[],_toRemovedListeners:[],_dirtyListeners:{},_inDispatch:0,_isEnabled:!1,_currentTouch:null,_currentTouchListener:null,_internalCustomListenerIDs:[],_setDirtyForNode:function(t){var e=this._nodeListenersMap[t._id];if(e)for(var i=0,n=e.length;i0)for(var s=t._children,a=0,o=s.length;a=0;i--)(e=t[i])._setRegistered(!1),null!=e._getSceneGraphPriority()&&(this._dissociateNodeAndEventListener(e._getSceneGraphPriority(),e),e._setSceneGraphPriority(null)),0===this._inDispatch&&cc.js.array.removeAt(t,i)},_removeListenersForListenerID:function(t){var e,i=this._listenersMap[t];if(i){var n=i.getFixedPriorityListeners(),r=i.getSceneGraphPriorityListeners();this._removeAllListenersInVector(r),this._removeAllListenersInVector(n),delete this._priorityDirtyFlagMap[t],this._inDispatch||(i.clear(),delete this._listenersMap[t])}var s,a=this._toAddedListeners;for(e=a.length-1;e>=0;e--)(s=a[e])&&s._getListenerID()===t&&cc.js.array.removeAt(a,e)},_sortEventListeners:function(t){var e=this.DIRTY_NONE,i=this._priorityDirtyFlagMap;i[t]&&(e=i[t]),e!==this.DIRTY_NONE&&(i[t]=this.DIRTY_NONE,e&this.DIRTY_FIXED_PRIORITY&&this._sortListenersOfFixedPriority(t),e&this.DIRTY_SCENE_GRAPH_PRIORITY&&cc.director.getScene()&&this._sortListenersOfSceneGraphPriority(t))},_sortListenersOfSceneGraphPriority:function(t){var e=this._getListeners(t);if(e){var i=e.getSceneGraphPriorityListeners();i&&0!==i.length&&e.getSceneGraphPriorityListeners().sort(this._sortEventListenersOfSceneGraphPriorityDes)}},_sortEventListenersOfSceneGraphPriorityDes:function(t,e){var i=t._getSceneGraphPriority(),n=e._getSceneGraphPriority();if(!(e&&n&&n._activeInHierarchy&&null!==n._parent))return-1;if(!t||!i||!i._activeInHierarchy||null===i._parent)return 1;for(var r=i,s=n,a=!1;r._parent._id!==s._parent._id;)r=null===r._parent._parent?(a=!0)&&n:r._parent,s=null===s._parent._parent?(a=!0)&&i:s._parent;if(r._id===s._id){if(r._id===n._id)return-1;if(r._id===i._id)return 1}return a?r._localZOrder-s._localZOrder:s._localZOrder-r._localZOrder},_sortListenersOfFixedPriority:function(t){var e=this._listenersMap[t];if(e){var i=e.getFixedPriorityListeners();if(i&&0!==i.length){i.sort(this._sortListenersOfFixedPriorityAsc);for(var n=0,r=i.length;n=0);)++n;e.gt0Index=n}}},_sortListenersOfFixedPriorityAsc:function(t,e){return t._getFixedPriority()-e._getFixedPriority()},_onUpdateListeners:function(t){var e,i,n,r=t.getFixedPriorityListeners(),s=t.getSceneGraphPriorityListeners(),a=this._toRemovedListeners;if(s)for(e=s.length-1;e>=0;e--)(i=s[e])._isRegistered()||(cc.js.array.removeAt(s,e),-1!==(n=a.indexOf(i))&&a.splice(n,1));if(r)for(e=r.length-1;e>=0;e--)(i=r[e])._isRegistered()||(cc.js.array.removeAt(r,e),-1!==(n=a.indexOf(i))&&a.splice(n,1));s&&0===s.length&&t.clearSceneGraphListeners(),r&&0===r.length&&t.clearFixedListeners()},frameUpdateListeners:function(){var t=this._listenersMap,e=this._priorityDirtyFlagMap;for(var i in t)t[i].empty()&&(delete e[i],delete t[i]);var n=this._toAddedListeners;if(0!==n.length){for(var r=0,s=n.length;r0,3508),!(t>1)){var e;(e=this._listenersMap[n.TOUCH_ONE_BY_ONE])&&this._onUpdateListeners(e),(e=this._listenersMap[n.TOUCH_ALL_AT_ONCE])&&this._onUpdateListeners(e),cc.assertID(1===t,3509);var i=this._toAddedListeners;if(0!==i.length){for(var r=0,s=i.length;r0&&-1!==(r=t._claimedTouches.indexOf(n))){if(s=!0,!cc.macro.ENABLE_MULTI_TOUCH&&a._currentTouch&&a._currentTouch!==n)return!1;o===c.MOVED&&t.onTouchMoved?t.onTouchMoved(n,i):o===c.ENDED?(t.onTouchEnded&&t.onTouchEnded(n,i),t._registered&&t._claimedTouches.splice(r,1),a._clearCurTouch()):o===c.CANCELED&&(t.onTouchCancelled&&t.onTouchCancelled(n,i),t._registered&&t._claimedTouches.splice(r,1),a._clearCurTouch())}return i.isStopped()?(a._updateTouchListeners(i),!0):!(!s||!t.swallowTouches||(e.needsMutableSet&&e.touches.splice(n,1),0))},_dispatchTouchEvent:function(t){this._sortEventListeners(n.TOUCH_ONE_BY_ONE),this._sortEventListeners(n.TOUCH_ALL_AT_ONCE);var e=this._getListeners(n.TOUCH_ONE_BY_ONE),i=this._getListeners(n.TOUCH_ALL_AT_ONCE);if(null!==e||null!==i){var r=t.getTouches(),s=cc.js.array.copy(r),a={event:t,needsMutableSet:e&&i,touches:s,selTouch:null};if(e)for(var o=0;o0&&(this._dispatchEventToListeners(i,this._onTouchesEventCallback,{event:t,touches:s}),t.isStopped())||this._updateTouchListeners(t)}},_onTouchesEventCallback:function(t,e){if(!t._registered)return!1;var i=cc.Event.EventTouch,n=e.event,r=e.touches,s=n.getEventCode();return n.currentTarget=t._node,s===i.BEGAN&&t.onTouchesBegan?t.onTouchesBegan(r,n):s===i.MOVED&&t.onTouchesMoved?t.onTouchesMoved(r,n):s===i.ENDED&&t.onTouchesEnded?t.onTouchesEnded(r,n):s===i.CANCELED&&t.onTouchesCancelled&&t.onTouchesCancelled(r,n),!!n.isStopped()&&(a._updateTouchListeners(n),!0)},_associateNodeAndEventListener:function(t,e){var i=this._nodeListenersMap[t._id];i||(i=[],this._nodeListenersMap[t._id]=i),i.push(e)},_dissociateNodeAndEventListener:function(t,e){var i=this._nodeListenersMap[t._id];i&&(cc.js.array.remove(i,e),0===i.length&&delete this._nodeListenersMap[t._id])},_dispatchEventToListeners:function(t,e,i){var n,r,s=!1,a=t.getFixedPriorityListeners(),o=t.getSceneGraphPriorityListeners(),c=0;if(a&&0!==a.length)for(;c=0;c--){var u=o[c];if(u===t){cc.js.array.removeAt(o,c),u._setRegistered(!1);break}}this._currentTouchListener===t&&this._clearCurTouch()}},_clearCurTouch:function(){this._currentTouchListener=null,this._currentTouch=null},_removeListenerInCallback:function(t,e){if(null==t)return!1;for(var i=t.length-1;i>=0;i--){var n=t[i];if(n._onCustomEvent===e||n._onEvent===e)return n._setRegistered(!1),null!=n._getSceneGraphPriority()&&(this._dissociateNodeAndEventListener(n._getSceneGraphPriority(),n),n._setSceneGraphPriority(null)),0===this._inDispatch?cc.js.array.removeAt(t,i):this._toRemovedListeners.push(n),!0}return!1},_removeListenerInVector:function(t,e){if(null==t)return!1;for(var i=t.length-1;i>=0;i--){var n=t[i];if(n===e)return n._setRegistered(!1),null!=n._getSceneGraphPriority()&&(this._dissociateNodeAndEventListener(n._getSceneGraphPriority(),n),n._setSceneGraphPriority(null)),0===this._inDispatch?cc.js.array.removeAt(t,i):this._toRemovedListeners.push(n),!0}return!1},removeListeners:function(t,e){var i=this;if(cc.js.isNumber(t)||t instanceof cc._BaseNode)if(void 0!==t._id){var r,s=i._nodeListenersMap[t._id];if(s){var a=cc.js.array.copy(s);for(r=0;r=0;i--){var n=e[i];n&&this.off(t,n.callback,n.target)}},cc.EventTarget=e.exports=s}),{"../platform/callbacks-invoker":162,"../platform/js":170}],133:[(function(t,e){"use strict";var i=t("../platform/js");cc.Event=function(t,e){this.type=t,this.bubbles=!!e,this.target=null,this.currentTarget=null,this.eventPhase=0,this._propagationStopped=!1,this._propagationImmediateStopped=!1},cc.Event.prototype={constructor:cc.Event,unuse:function(){this.type=cc.Event.NO_TYPE,this.target=null,this.currentTarget=null,this.eventPhase=cc.Event.NONE,this._propagationStopped=!1,this._propagationImmediateStopped=!1},reuse:function(t,e){this.type=t,this.bubbles=e||!1},stopPropagation:function(){this._propagationStopped=!0},stopPropagationImmediate:function(){this._propagationImmediateStopped=!0},isStopped:function(){return this._propagationStopped||this._propagationImmediateStopped},getCurrentTarget:function(){return this.currentTarget},getType:function(){return this.type}},cc.Event.NO_TYPE="no_type",cc.Event.TOUCH="touch",cc.Event.MOUSE="mouse",cc.Event.KEYBOARD="keyboard",cc.Event.ACCELERATION="acceleration",cc.Event.NONE=0,cc.Event.CAPTURING_PHASE=1,cc.Event.AT_TARGET=2,cc.Event.BUBBLING_PHASE=3;var n=function(t,e){cc.Event.call(this,t,e),this.detail=null};i.extend(n,cc.Event),n.prototype.reset=n,n.prototype.setUserData=function(t){this.detail=t},n.prototype.getUserData=function(){return this.detail},n.prototype.getEventName=cc.Event.prototype.getType;var r=new i.Pool(10);n.put=function(t){r.put(t)},n.get=function(t,e){var i=r._get();return i?i.reset(t,e):i=new n(t,e),i},cc.Event.EventCustom=n,e.exports=cc.Event}),{"../platform/js":170}],134:[(function(t){"use strict";t("./event"),t("./event-listeners"),t("./event-target"),t("./system-event")}),{"./event":133,"./event-listeners":131,"./event-target":132,"./system-event":135}],135:[(function(t,e){"use strict";var i=t("../event/event-target"),n=t("../event-manager"),r=t("../platform/CCInputManager"),s=cc.Enum({KEY_DOWN:"keydown",KEY_UP:"keyup",DEVICEMOTION:"devicemotion"}),a=null,o=null,c=cc.Class({name:"SystemEvent",extends:i,statics:{EventType:s},setAccelerometerEnabled:function(t){t&&window.DeviceMotionEvent&&"function"==typeof DeviceMotionEvent.requestPermission?DeviceMotionEvent.requestPermission().then((function(t){console.log("Device Motion Event request permission: "+t),r.setAccelerometerEnabled("granted"===t)})):r.setAccelerometerEnabled(t)},setAccelerometerInterval:function(t){r.setAccelerometerInterval(t)},on:function(t,e,i,r){this._super(t,e,i,r),t!==s.KEY_DOWN&&t!==s.KEY_UP||(a||(a=cc.EventListener.create({event:cc.EventListener.KEYBOARD,onKeyPressed:function(t,e){e.type=s.KEY_DOWN,cc.systemEvent.dispatchEvent(e)},onKeyReleased:function(t,e){e.type=s.KEY_UP,cc.systemEvent.dispatchEvent(e)}})),n.hasEventListener(cc.EventListener.ListenerID.KEYBOARD)||n.addListener(a,1)),t===s.DEVICEMOTION&&(o||(o=cc.EventListener.create({event:cc.EventListener.ACCELERATION,callback:function(t,e){e.type=s.DEVICEMOTION,cc.systemEvent.dispatchEvent(e)}})),n.hasEventListener(cc.EventListener.ListenerID.ACCELERATION)||n.addListener(o,1))},off:function(t,e,i){if(this._super(t,e,i),a&&(t===s.KEY_DOWN||t===s.KEY_UP)){var r=this.hasEventListener(s.KEY_DOWN),c=this.hasEventListener(s.KEY_UP);r||c||n.removeListener(a)}o&&t===s.DEVICEMOTION&&n.removeListener(o)}});cc.SystemEvent=e.exports=c,cc.systemEvent=new cc.SystemEvent}),{"../event-manager":130,"../event/event-target":132,"../platform/CCInputManager":153}],136:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=a(t("../value-types/vec3")),r=a(t("../value-types/mat3")),s=a(t("./enums"));function a(t){return t&&t.__esModule?t:{default:t}}var o=new n.default,c=new n.default,u=new r.default,l=function(t,e,i){var r=u.m,s=i.m;r[0]=Math.abs(s[0]),r[1]=Math.abs(s[1]),r[2]=Math.abs(s[2]),r[3]=Math.abs(s[4]),r[4]=Math.abs(s[5]),r[5]=Math.abs(s[6]),r[6]=Math.abs(s[8]),r[7]=Math.abs(s[9]),r[8]=Math.abs(s[10]),n.default.transformMat3(t,e,u)},h=(function(){function t(t,e,i,r,a,o){this.center=void 0,this.halfExtents=void 0,this._type=void 0,this._type=s.default.SHAPE_AABB,this.center=new n.default(t,e,i),this.halfExtents=new n.default(r,a,o)}t.create=function(e,i,n,r,s,a){return new t(e,i,n,r,s,a)},t.clone=function(e){return new t(e.center.x,e.center.y,e.center.z,e.halfExtents.x,e.halfExtents.y,e.halfExtents.z)},t.copy=function(t,e){return n.default.copy(t.center,e.center),n.default.copy(t.halfExtents,e.halfExtents),t},t.fromPoints=function(t,e,i){return n.default.scale(t.center,n.default.add(o,e,i),.5),n.default.scale(t.halfExtents,n.default.sub(c,i,e),.5),t},t.set=function(t,e,i,r,s,a,o){return n.default.set(t.center,e,i,r),n.default.set(t.halfExtents,s,a,o),t};var e=t.prototype;return e.getBoundary=function(t,e){n.default.sub(t,this.center,this.halfExtents),n.default.add(e,this.center,this.halfExtents)},e.transform=function(t,e,i,r,s){s||(s=this),n.default.transformMat4(s.center,this.center,t),l(s.halfExtents,this.halfExtents,t)},t})();i.default=h,e.exports=i.default}),{"../value-types/mat3":239,"../value-types/vec3":248,"./enums":137}],137:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0,i.default={SHAPE_RAY:1,SHAPE_LINE:2,SHAPE_SPHERE:4,SHAPE_AABB:8,SHAPE_OBB:16,SHAPE_PLANE:32,SHAPE_TRIANGLE:64,SHAPE_FRUSTUM:128,SHAPE_FRUSTUM_ACCURATE:256},e.exports=i.default}),{}],138:[(function(t,e){"use strict";var i=t("../components/CCRenderComponent"),n=t("../assets/material/CCMaterial"),r=t("./types"),s=r.LineCap,a=r.LineJoin,o=cc.Class({name:"cc.Graphics",extends:i,editor:!1,ctor:function(){this._impl=new o._Impl(this)},properties:{_lineWidth:2,_strokeColor:cc.Color.BLACK,_lineJoin:a.MITER,_lineCap:s.BUTT,_fillColor:cc.Color.WHITE,_miterLimit:10,lineWidth:{get:function(){return this._lineWidth},set:function(t){this._lineWidth=t,this._impl.lineWidth=t}},lineJoin:{get:function(){return this._lineJoin},set:function(t){this._lineJoin=t,this._impl.lineJoin=t},type:a},lineCap:{get:function(){return this._lineCap},set:function(t){this._lineCap=t,this._impl.lineCap=t},type:s},strokeColor:{get:function(){return this._strokeColor},set:function(t){this._impl.strokeColor=this._strokeColor=cc.color(t)}},fillColor:{get:function(){return this._fillColor},set:function(t){this._impl.fillColor=this._fillColor=cc.color(t)}},miterLimit:{get:function(){return this._miterLimit},set:function(t){this._miterLimit=t,this._impl.miterLimit=t}}},statics:{LineJoin:a,LineCap:s},onRestore:function(){this._impl||(this._impl=new o._Impl(this))},onDestroy:function(){this.clear(!0),this._super(),this._impl=null},_getDefaultMaterial:function(){return n.getBuiltinMaterial("2d-graphics")},_updateMaterial:function(){var t=this._materials[0];t&&(void 0!==t.getDefine("CC_USE_MODEL")&&t.define("CC_USE_MODEL",!0),void 0!==t.getDefine("CC_SUPPORT_standard_derivatives")&&cc.sys.glExtension("OES_standard_derivatives")&&t.define("CC_SUPPORT_standard_derivatives",!0))},moveTo:function(t,e){this._impl.moveTo(t,e)},lineTo:function(t,e){this._impl.lineTo(t,e)},bezierCurveTo:function(t,e,i,n,r,s){this._impl.bezierCurveTo(t,e,i,n,r,s)},quadraticCurveTo:function(t,e,i,n){this._impl.quadraticCurveTo(t,e,i,n)},arc:function(t,e,i,n,r,s){this._impl.arc(t,e,i,n,r,s)},ellipse:function(t,e,i,n){this._impl.ellipse(t,e,i,n)},circle:function(t,e,i){this._impl.circle(t,e,i)},rect:function(t,e,i,n){this._impl.rect(t,e,i,n)},roundRect:function(t,e,i,n,r){this._impl.roundRect(t,e,i,n,r)},fillRect:function(t,e,i,n){this.rect(t,e,i,n),this.fill()},clear:function(t){this._impl.clear(t),this._assembler&&this._assembler.clear(t)},close:function(){this._impl.close()},stroke:function(){this._assembler||this._resetAssembler(),this._assembler.stroke(this)},fill:function(){this._assembler||this._resetAssembler(),this._assembler.fill(this)}});cc.Graphics=e.exports=o,cc.Graphics.Types=r,cc.Graphics.Helper=t("./helper")}),{"../assets/material/CCMaterial":77,"../components/CCRenderComponent":110,"./helper":139,"./types":141}],139:[(function(t,e){"use strict";var i=t("./types").PointFlags,n=Math.PI,r=Math.min,s=Math.max,a=Math.cos,o=Math.sin,c=Math.abs,u=Math.sign,l=.5522847493;e.exports={arc:function(t,e,i,u,l,h,_){var f,d,p,v=0,g=0,m=0,y=0,T=0,E=0,A=0,C=0,x=0,b=0,S=0,R=0,w=0;if(g=h-l,_=_||!1)if(c(g)>=2*n)g=2*n;else for(;g<0;)g+=2*n;else if(c(g)>=2*n)g=2*-n;else for(;g>0;)g-=2*n;for(p=0|s(1,r(c(g)/(.5*n)+.5,5)),m=c(4/3*(1-a(f=g/p/2))/o(f)),_||(m=-m),d=0;d<=p;d++)E=e+(y=a(v=l+g*(d/p)))*u,A=i+(T=o(v))*u,C=-T*u*m,x=y*u*m,0===d?t.moveTo(E,A):t.bezierCurveTo(b+R,S+w,E-C,A-x,E,A),b=E,S=A,R=C,w=x},ellipse:function(t,e,i,n,r){t.moveTo(e-n,i),t.bezierCurveTo(e-n,i+r*l,e-n*l,i+r,e,i+r),t.bezierCurveTo(e+n*l,i+r,e+n,i+r*l,e+n,i),t.bezierCurveTo(e+n,i-r*l,e+n*l,i-r,e,i-r),t.bezierCurveTo(e-n*l,i-r,e-n,i-r*l,e-n,i),t.close()},roundRect:function(t,e,i,n,s,a){if(a<.1)t.rect(e,i,n,s);else{var o=r(a,.5*c(n))*u(n),h=r(a,.5*c(s))*u(s);t.moveTo(e,i+h),t.lineTo(e,i+s-h),t.bezierCurveTo(e,i+s-h*(1-l),e+o*(1-l),i+s,e+o,i+s),t.lineTo(e+n-o,i+s),t.bezierCurveTo(e+n-o*(1-l),i+s,e+n,i+s-h*(1-l),e+n,i+s-h),t.lineTo(e+n,i+h),t.bezierCurveTo(e+n,i+h*(1-l),e+n-o*(1-l),i,e+n-o,i),t.lineTo(e+o,i),t.bezierCurveTo(e+o*(1-l),i,e,i+h*(1-l),e,i+h),t.close()}},tesselateBezier:function t(e,n,r,s,a,o,u,l,h,_,f){var d,p,v,g,m,y,T,E,A,C,x,b,S,R,w,I;_>10||(m=.5*(o+l),y=.5*(u+h),T=.5*((d=.5*(n+s))+(v=.5*(s+o))),E=.5*((p=.5*(r+a))+(g=.5*(a+u))),((w=c((s-l)*(R=h-r)-(a-h)*(S=l-n)))+(I=c((o-l)*R-(u-h)*S)))*(w+I)0){for(var p=new DataView(i,r),v=n,g=c.num,m=0;m0||this.disableRender()},_updateMaterial:function(){var t=this.textures;if(t&&t.length>0)for(var e=this._getDefaultMaterial(),i=0;i>2,f=l.vertexOffset,d=u._vData,p=u._iData;!i.worldMatDirty&&this._worldDatas[n]||this._updateWorldVertices(n,a,r,s,t.node._worldMatrix),d.set(this._worldDatas[n],_);for(var v=0;v0?a:null,!0);var h=o.prototype;if(e&&(l||(i.extend(o,e),h=o.prototype),o.$super=e),n){for(var _=n.length-1;_>=0;_--){var f=n[_];p(h,f.prototype),p(o,f,(function(t){return f.hasOwnProperty(t)&&!0})),w._isCCClass(f)&&p(s.getClassAttrs(o),s.getClassAttrs(f))}h.constructor=o}return l||(h.__initProps__=A),i.setClassName(t,o),o}function g(t,e,n,r){var s=cc.Component,a=cc._RF.peek();if(a&&i.isChildClassOf(e,s)){if(i.isChildClassOf(a.cls,s))return cc.errorID(3615),null;t=t||a.script}var o=v(t,e,n,r);if(a)if(i.isChildClassOf(e,s)){var c=a.uuid;c&&i._setClassId(c,o),a.cls=o}else i.isChildClassOf(a.cls,s)||(a.cls=o);return o}function m(t){for(var e=i.getClassName(t),n=t.constructor,r="new "+e+"(",s=0;s0){var a="].apply(this,arguments);\n";if(1===s)r+="CCClass.__ctors__[0"+a;else{r+="var cs=CCClass.__ctors__;\n";for(var o=0;o=0)){var s=e[r];if("function"==typeof s){var a=i.getPropertyDescriptor(t.prototype,r);if(a){var o=a.value;if("function"==typeof o){b.test(s)&&(n=!0,e[r]=(function(t,e){return function(){var i=this._super;this._super=t;var n=e.apply(this,arguments);return this._super=i,n}})(o,s));continue}}}}return n}function R(t,e,i,n,r,c){if(t.__props__=[],n&&n.__props__&&(t.__props__=n.__props__.slice()),r)for(var u=0;u=0)){var f=t[_];o.validateMethodWithProps(f,_,e,s,n)&&i.value(s.prototype,_,f,!0,!0)}var d=t.editor;return d&&cc.Component._registerEditorProps(s,d),s}/xyz/.test((function(){xyz})),w._isCCClass=function(t){return t&&t.hasOwnProperty("__ctors__")},w._fastDefine=function(t,e,n){i.setClassName(t,e);for(var r=e.__props__=e.__values__=Object.keys(n),o=s.getClassAttrs(e),c=0;c=2&&((o||u())[c+"min"]=_[0],o[c+"max"]=_[1],_.length>2&&(o[c+"step"]=_[2])),h("min","number"),h("max","number"),h("step","number"),h("userData","object")}cc.Class=w,e.exports={isArray:function(t){return t=d(t),Array.isArray(t)},fastDefine:w._fastDefine,getNewValueTypeCode:m,IDENTIFIER_RE:E,escapeForJS:y,getDefault:d}}),{"./CCEnum":151,"./attribute":161,"./js":170,"./preprocess-class":171,"./requiring-frame":172,"./utils":173}],150:[(function(t,e){"use strict";t("./CCClass");var i=t("./preprocess-class"),n=t("./js"),r="__ccclassCache__";function s(t){return t}function a(t,e){return t[e]||(t[e]={})}function o(t){return function(e){return"function"==typeof e?t(e):function(i){return t(i,e)}}}function c(t,e){return function(t){return function(i){return e(i,t)}}}var u=c.bind(null,!1);function l(){return c.bind(null,!1)}var h=l(),_=l();function f(t){return a(t,r)}function d(t){var e;try{e=t()}catch(i){return t}return"object"!=typeof e||null===e?e:t}function p(t){var e;try{e=new t}catch(i){return{}}return e}function v(t,e,r,s,a,o){var c,u=a&&(a.get||a.set);s&&(c=i.getFullFormOfProperty(s,u));var l=e[r],h=n.mixin(l||{},c||s||{});if(u)a.get&&(h.get=a.get),a.set&&(h.set=a.set);else{var _=void 0;if(a)a.initializer&&(_=d(a.initializer));else{var f=o.default||(o.default=p(t));f.hasOwnProperty(r)&&(_=f[r])}h.default=_}e[r]=h}var g=o((function(t,e){var i=n.getSuper(t);i===Object&&(i=null);var s={name:e,extends:i,ctor:t,__ES6__:!0},a=t[r];if(a){var o=a.proto;o&&n.mixin(s,o),t[r]=void 0}return cc.Class(s)}));function m(t,e,i){return t((function(t,n){var r=f(t);if(r){var s=void 0!==i?i:n,o=a(r,"proto");a(o,"editor")[e]=s}}),e)}function y(t){return t(s)}var T=y(o),E=m(u,"requireComponent"),A=y(h),C=m(_,"executionOrder"),x=y(o),b=y(o),S=y(h),R=y(h),w=y(h);cc._decorator=e.exports={ccclass:g,property:function(t,e,i){var n=null;function r(t,e,i){var r=f(t.constructor);if(r){var s=a(r,"proto"),o=a(s,"properties");v(t.constructor,o,e,n,i,r)}}if(void 0===e)return n=t,r;r(t,e,i)},executeInEditMode:T,requireComponent:E,menu:A,executionOrder:C,disallowMultiple:x,playOnFocus:b,inspector:S,icon:R,help:w,mixins:function(){for(var t=[],e=0;ee){var l=u.getID();delete a[l],delete o[l],this._touchCount--,-1===r?(r=c,this._indexBitsUsed|=1<>=1}return r},_glView:null,_updateCanvasBoundingRect:function(){var t=cc.game.canvas,e=this._canvasBoundingRect,i=document.documentElement,n=window.pageXOffset-i.clientLeft,r=window.pageYOffset-i.clientTop;if(t.getBoundingClientRect){var s=t.getBoundingClientRect();e.left=s.left+n,e.top=s.top+r,e.width=s.width,e.height=s.height}else t instanceof HTMLCanvasElement?(e.left=n,e.top=r,e.width=t.width,e.height=t.height):(e.left=n,e.top=r,e.width=parseInt(t.style.width),e.height=parseInt(t.style.height))},handleTouchesBegin:function(t){for(var e,i,s=n.now(),a=[],o=this._touches,c=this._touchesIntegerDict,u=this._touchesCache,l=0,h=t.length;l0){this._glView._convertTouchesWithScale(a);var d=new cc.Event.EventTouch(a);d._eventCode=cc.Event.EventTouch.BEGAN,r.dispatchEvent(d)}},handleTouchesMove:function(t){for(var e,i,s=n.now(),a=[],o=this._touches,c=this._touchesIntegerDict,u=0,l=t.length;u0){this._glView._convertTouchesWithScale(a);var _=new cc.Event.EventTouch(a);_._eventCode=cc.Event.EventTouch.MOVED,r.dispatchEvent(_)}},handleTouchesEnd:function(t){var e=this.getSetOfTouchesEndOrCancel(t);if(e.length>0){this._glView._convertTouchesWithScale(e);var i=new cc.Event.EventTouch(e);i._eventCode=cc.Event.EventTouch.ENDED,r.dispatchEvent(i)}this._preTouchPool.length=0},handleTouchesCancel:function(t){var e=this.getSetOfTouchesEndOrCancel(t);if(e.length>0){this._glView._convertTouchesWithScale(e);var i=new cc.Event.EventTouch(e);i._eventCode=cc.Event.EventTouch.CANCELED,r.dispatchEvent(i)}this._preTouchPool.length=0},getSetOfTouchesEndOrCancel:function(t){for(var e,i,n,r=[],s=this._touches,a=this._touchesIntegerDict,o=this._touchesCache,c=0,u=t.length;c=0;r--)if(i[r].getID()===n){e=i[r];break}return e||(e=t),e},setPreTouch:function(t){for(var e=!1,i=this._preTouchPool,n=t.getID(),r=i.length-1;r>=0;r--)if(i[r].getID()===n){i[r]=t,e=!0;break}e||(i.length<=50?i.push(t):(i[this._preTouchPoolPointer]=t,this._preTouchPoolPointer=(this._preTouchPoolPointer+1)%50))},getTouchByXY:function(t,e,i){var n=this._preTouchPoint,r=this._glView.convertToLocationInView(t,e,i),s=new cc.Touch(r.x,r.y,0);return s._setPrevPoint(n.x,n.y),n.x=r.x,n.y=r.y,s},getMouseEvent:function(t,e,i){var n=this._prevMousePoint,r=new cc.Event.EventMouse(i);return r._setPrevCursor(n.x,n.y),n.x=t.x,n.y=t.y,this._glView._convertMouseToLocationInView(n,e),r.setLocation(n.x,n.y),r},getPointByEvent:function(t,e){return cc.sys.browserType!==cc.sys.BROWSER_TYPE_QQ&&cc.sys.browserType!==cc.sys.BROWSER_TYPE_UC&&cc.sys.browserType!==cc.sys.BROWSER_TYPE_SAFARI||this._updateCanvasBoundingRect(),null!=t.pageX?{x:t.pageX,y:t.pageY}:(e.left-=document.body.scrollLeft,e.top-=document.body.scrollTop,{x:t.clientX,y:t.clientY})},getTouchesByEvent:function(t,e){for(var i,r,a,o=[],c=this._glView,u=this._preTouchPoint,l=t.changedTouches.length,h=0;hthis._accelInterval&&(this._accelCurTime-=this._accelInterval,r.dispatchEvent(new cc.Event.EventAcceleration(this._acceleration))),this._accelCurTime+=t}};e.exports=cc.internal.inputManager=a}),{"../event-manager":130,"./CCMacro":154,"./CCSys":158}],154:[(function(t,e){"use strict";cc.macro={RAD:Math.PI/180,DEG:180/Math.PI,REPEAT_FOREVER:Number.MAX_VALUE-1,FLT_EPSILON:1.192092896e-7,MIN_ZINDEX:-Math.pow(2,15),MAX_ZINDEX:Math.pow(2,15)-1,ONE:1,ZERO:0,SRC_ALPHA:770,SRC_ALPHA_SATURATE:776,SRC_COLOR:768,DST_ALPHA:772,DST_COLOR:774,ONE_MINUS_SRC_ALPHA:771,ONE_MINUS_SRC_COLOR:769,ONE_MINUS_DST_ALPHA:773,ONE_MINUS_DST_COLOR:775,ONE_MINUS_CONSTANT_ALPHA:32772,ONE_MINUS_CONSTANT_COLOR:32770,ORIENTATION_PORTRAIT:1,ORIENTATION_LANDSCAPE:2,ORIENTATION_AUTO:3,DENSITYDPI_DEVICE:"device-dpi",DENSITYDPI_HIGH:"high-dpi",DENSITYDPI_MEDIUM:"medium-dpi",DENSITYDPI_LOW:"low-dpi",FIX_ARTIFACTS_BY_STRECHING_TEXEL_TMX:!0,DIRECTOR_STATS_POSITION:cc.v2(0,0),ENABLE_STACKABLE_ACTIONS:!0,TOUCH_TIMEOUT:5e3,BATCH_VERTEX_COUNT:2e4,ENABLE_TILEDMAP_CULLING:!0,ENABLE_TRANSPARENT_CANVAS:!1,ENABLE_WEBGL_ANTIALIAS:!1,ENABLE_CULLING:!1,CLEANUP_IMAGE_CACHE:!1,SHOW_MESH_WIREFRAME:!1,SHOW_MESH_NORMAL:!1,ENABLE_MULTI_TOUCH:!0,ALLOW_IMAGE_BITMAP:!cc.sys.isMobile,ENABLE_NATIVE_TTF_RENDERER:!0},Object.defineProperty(cc.macro,"ROTATE_ACTION_CCW",{set:function(t){cc.RotateTo&&cc.RotateBy&&(cc.RotateTo._reverse=cc.RotateBy._reverse=t)}}),cc.macro.SUPPORT_TEXTURE_FORMATS=[".pkm",".pvr",".webp",".jpg",".jpeg",".bmp",".png"],cc.macro.KEY={none:0,back:6,menu:18,backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,pause:19,capslock:20,escape:27,space:32,pageup:33,pagedown:34,end:35,home:36,left:37,up:38,right:39,down:40,select:41,insert:45,Delete:46,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,a:65,b:66,c:67,d:68,e:69,f:70,g:71,h:72,i:73,j:74,k:75,l:76,m:77,n:78,o:79,p:80,q:81,r:82,s:83,t:84,u:85,v:86,w:87,x:88,y:89,z:90,num0:96,num1:97,num2:98,num3:99,num4:100,num5:101,num6:102,num7:103,num8:104,num9:105,"*":106,"+":107,"-":109,numdel:110,"/":111,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123,numlock:144,scrolllock:145,";":186,semicolon:186,equal:187,"=":187,",":188,comma:188,dash:189,".":190,period:190,forwardslash:191,grave:192,"[":219,openbracket:219,backslash:220,"]":221,closebracket:221,quote:222,dpadLeft:1e3,dpadRight:1001,dpadUp:1003,dpadDown:1004,dpadCenter:1005},cc.macro.ImageFormat=cc.Enum({JPG:0,PNG:1,TIFF:2,WEBP:3,PVR:4,ETC:5,S3TC:6,ATITC:7,TGA:8,RAWDATA:9,UNKNOWN:10}),cc.macro.BlendFactor=cc.Enum({ONE:1,ZERO:0,SRC_ALPHA:770,SRC_COLOR:768,DST_ALPHA:772,DST_COLOR:774,ONE_MINUS_SRC_ALPHA:771,ONE_MINUS_SRC_COLOR:769,ONE_MINUS_DST_ALPHA:773,ONE_MINUS_DST_COLOR:775}),cc.macro.TextAlignment=cc.Enum({LEFT:0,CENTER:1,RIGHT:2}),cc.macro.VerticalTextAlignment=cc.Enum({TOP:0,CENTER:1,BOTTOM:2}),e.exports=cc.macro}),{}],155:[(function(t,e){"use strict";var i=t("./js"),n=t("./CCClass"),r=1;function s(){this._name="",this._objFlags=0}n.fastDefine("cc.Object",s,{_name:"",_objFlags:0}),i.value(s,"Flags",{Destroyed:r,DontSave:8,EditorOnly:16,Dirty:32,DontDestroy:64,PersistentMask:-4192741,Destroying:128,Deactivating:256,LockedInEditor:512,HideInHierarchy:1024,IsPreloadStarted:8192,IsOnLoadStarted:32768,IsOnLoadCalled:16384,IsOnEnableCalled:2048,IsStartCalled:65536,IsEditorOnEnableCalled:4096,IsPositionLocked:1<<21,IsRotationLocked:1<<17,IsScaleLocked:1<<18,IsAnchorLocked:1<<19,IsSizeLocked:1<<20});var a=[];i.value(s,"_deferredDestroy",(function(){for(var t=a.length,e=0;e0)return void(t.webkitEnterFullscreen&&t.webkitEnterFullscreen());t.setAttribute("x5-video-player-fullscreen","true")}if(this._supportsFullScreen){if(t=t||document.documentElement,e){var n=this._fn.fullscreenchange;this._onfullscreenchange&&document.removeEventListener(n,this._onfullscreenchange),this._onfullscreenchange=e,document.addEventListener(n,e,!1)}if(i){var r=this._fn.fullscreenerror;this._onfullscreenerror&&document.removeEventListener(r,this._onfullscreenerror),this._onfullscreenerror=i,document.addEventListener(r,i,{once:!0})}var s=t[this._fn.requestFullscreen]();void 0===document[this._fn.fullscreenerror]&&window.Promise&&s instanceof Promise&&s.catch((function(){}))}},exitFullScreen:function(t){if(t&&"video"===t.tagName.toLowerCase()){if(cc.sys.os===cc.sys.OS_IOS&&cc.sys.isBrowser)return void(t.webkitExitFullscreen&&t.webkitExitFullscreen());t.setAttribute("x5-video-player-fullscreen","false")}return!this._supportsFullScreen||document[this._fn.exitFullscreen]()},autoFullScreen:function(t,e){t=t||document.body,this._ensureFullScreen(t,e),this.requestFullScreen(t,e)},disableAutoFullScreen:function(t){var e=cc.game.canvas||t,i=this._touchEvent;this._preOnTouch&&(e.removeEventListener(i,this._preOnTouch),this._preOnTouch=null)},_ensureFullScreen:function(t,e){var i=this,n=cc.game.canvas||t,r=this._fn.fullscreenerror,s=this._touchEvent;function a(){i._preOnFullScreenError=null,i._preOnTouch&&n.removeEventListener(s,i._preOnTouch),i._preOnTouch=function(){i._preOnTouch=null,i.requestFullScreen(t,e)},n.addEventListener(s,i._preOnTouch,{once:!0})}this._preOnFullScreenError&&t.removeEventListener(r,this._preOnFullScreenError),this._preOnFullScreenError=a,t.addEventListener(r,a,{once:!0})}},cc.screen.init()}),{}],158:[(function(t,e){"use strict";window._CCSettings&&_CCSettings.platform;var i="undefined"==typeof window?global:window,n=cc&&cc.sys?cc.sys:(function(){cc.sys={};var t,e,n=cc.sys;if(n.LANGUAGE_ENGLISH="en",n.LANGUAGE_CHINESE="zh",n.LANGUAGE_FRENCH="fr",n.LANGUAGE_ITALIAN="it",n.LANGUAGE_GERMAN="de",n.LANGUAGE_SPANISH="es",n.LANGUAGE_DUTCH="du",n.LANGUAGE_RUSSIAN="ru",n.LANGUAGE_KOREAN="ko",n.LANGUAGE_JAPANESE="ja",n.LANGUAGE_HUNGARIAN="hu",n.LANGUAGE_PORTUGUESE="pt",n.LANGUAGE_ARABIC="ar",n.LANGUAGE_NORWEGIAN="no",n.LANGUAGE_POLISH="pl",n.LANGUAGE_TURKISH="tr",n.LANGUAGE_UKRAINIAN="uk",n.LANGUAGE_ROMANIAN="ro",n.LANGUAGE_BULGARIAN="bg",n.LANGUAGE_UNKNOWN="unknown",n.OS_IOS="iOS",n.OS_ANDROID="Android",n.OS_WINDOWS="Windows",n.OS_MARMALADE="Marmalade",n.OS_LINUX="Linux",n.OS_BADA="Bada",n.OS_BLACKBERRY="Blackberry",n.OS_OSX="OS X",n.OS_WP8="WP8",n.OS_WINRT="WINRT",n.OS_UNKNOWN="Unknown",n.UNKNOWN=-1,n.WIN32=0,n.LINUX=1,n.MACOS=2,n.ANDROID=3,n.IPHONE=4,n.IPAD=5,n.BLACKBERRY=6,n.NACL=7,n.EMSCRIPTEN=8,n.TIZEN=9,n.WINRT=10,n.WP8=11,n.MOBILE_BROWSER=100,n.DESKTOP_BROWSER=101,n.EDITOR_PAGE=102,n.EDITOR_CORE=103,n.WECHAT_GAME=104,n.QQ_PLAY=105,n.FB_PLAYABLE_ADS=106,n.BAIDU_GAME=107,n.VIVO_GAME=108,n.OPPO_GAME=109,n.HUAWEI_GAME=110,n.XIAOMI_GAME=111,n.JKW_GAME=112,n.ALIPAY_GAME=113,n.WECHAT_GAME_SUB=114,n.BAIDU_GAME_SUB=115,n.QTT_GAME=116,n.BYTEDANCE_GAME=117,n.BYTEDANCE_GAME_SUB=118,n.LINKSURE=119,n.TAOBAO=120,n.BROWSER_TYPE_WECHAT="wechat",n.BROWSER_TYPE_ANDROID="androidbrowser",n.BROWSER_TYPE_IE="ie",n.BROWSER_TYPE_EDGE="edge",n.BROWSER_TYPE_QQ="qqbrowser",n.BROWSER_TYPE_MOBILE_QQ="mqqbrowser",n.BROWSER_TYPE_UC="ucbrowser",n.BROWSER_TYPE_UCBS="ucbs",n.BROWSER_TYPE_360="360browser",n.BROWSER_TYPE_BAIDU_APP="baiduboxapp",n.BROWSER_TYPE_BAIDU="baidubrowser",n.BROWSER_TYPE_MAXTHON="maxthon",n.BROWSER_TYPE_OPERA="opera",n.BROWSER_TYPE_OUPENG="oupeng",n.BROWSER_TYPE_MIUI="miuibrowser",n.BROWSER_TYPE_FIREFOX="firefox",n.BROWSER_TYPE_SAFARI="safari",n.BROWSER_TYPE_CHROME="chrome",n.BROWSER_TYPE_LIEBAO="liebao",n.BROWSER_TYPE_QZONE="qzone",n.BROWSER_TYPE_SOUGOU="sogou",n.BROWSER_TYPE_HUAWEI="huawei",n.BROWSER_TYPE_UNKNOWN="unknown",n.isNative=!1,n.isBrowser="object"==typeof window&&"object"==typeof document&&!0,n.glExtension=function(t){return!!cc.renderer.device.ext(t)},n.getMaxJointMatrixSize=function(){if(!n._maxJointMatrixSize){var t=cc.game._renderContext,e=Math.floor(t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS)/4)-10;n._maxJointMatrixSize=e<50?0:50}return n._maxJointMatrixSize},n.getSafeAreaRect=function(){var t=cc.view.getVisibleSize();return cc.rect(0,0,t.width,t.height)},i.__globalAdapter&&i.__globalAdapter.adaptSys)i.__globalAdapter.adaptSys(n);else{var r=window,s=r.navigator,a=document,o=a.documentElement,c=s.userAgent.toLowerCase();n.isMobile=/mobile|android|iphone|ipad/.test(c),"undefined"!=typeof FbPlayableAd?n.platform=n.FB_PLAYABLE_ADS:n.platform=n.isMobile?n.MOBILE_BROWSER:n.DESKTOP_BROWSER;var u=s.language;u=u||s.browserLanguage,n.languageCode=u.toLowerCase(),u=u?u.split("-")[0]:n.LANGUAGE_ENGLISH,n.language=u;var l=!1,h=!1,_="",f=0,d=/android\s*(\d+(?:\.\d+)*)/i.exec(c)||/android\s*(\d+(?:\.\d+)*)/i.exec(s.platform);d&&(l=!0,_=d[1]||"",f=parseInt(_)||0),(d=/(iPad|iPhone|iPod).*OS ((\d+_?){2,3})/i.exec(c))?(h=!0,_=d[2]||"",f=parseInt(_)||0):(/(iPhone|iPad|iPod)/.exec(s.platform)||"MacIntel"===s.platform&&s.maxTouchPoints&&s.maxTouchPoints>1)&&(h=!0,_="",f=0);var p=n.OS_UNKNOWN;-1!==s.appVersion.indexOf("Win")?p=n.OS_WINDOWS:h?p=n.OS_IOS:-1!==s.appVersion.indexOf("Mac")?p=n.OS_OSX:-1!==s.appVersion.indexOf("X11")&&-1===s.appVersion.indexOf("Linux")?p=n.OS_UNIX:l?p=n.OS_ANDROID:-1===s.appVersion.indexOf("Linux")&&-1===c.indexOf("ubuntu")||(p=n.OS_LINUX),n.os=p,n.osVersion=_,n.osMainVersion=f,n.browserType=n.BROWSER_TYPE_UNKNOWN,(function(){var t=/mqqbrowser|micromessenger|qqbrowser|sogou|qzone|liebao|maxthon|ucbs|360 aphone|360browser|baiduboxapp|baidubrowser|maxthon|mxbrowser|miuibrowser/i.exec(c)||/qq|ucbrowser|ubrowser|edge|HuaweiBrowser/i.exec(c)||/chrome|safari|firefox|trident|opera|opr\/|oupeng/i.exec(c),e=t?t[0].toLowerCase():n.BROWSER_TYPE_UNKNOWN;"safari"===e&&l?e=n.BROWSER_TYPE_ANDROID:"qq"===e&&c.match(/android.*applewebkit/i)&&(e=n.BROWSER_TYPE_ANDROID);var i={micromessenger:n.BROWSER_TYPE_WECHAT,trident:n.BROWSER_TYPE_IE,edge:n.BROWSER_TYPE_EDGE,"360 aphone":n.BROWSER_TYPE_360,mxbrowser:n.BROWSER_TYPE_MAXTHON,"opr/":n.BROWSER_TYPE_OPERA,ubrowser:n.BROWSER_TYPE_UC,huaweibrowser:n.BROWSER_TYPE_HUAWEI};"qqbrowser"!==e&&"mqqbrowser"!==e||c.match(/wechat|micromessenger/i)&&(e=n.BROWSER_TYPE_WECHAT),n.browserType=i[e]||e})(),n.browserVersion="",(e=c.match(/(mqqbrowser|micromessenger|qqbrowser|sogou|qzone|liebao|maxthon|uc|ucbs|360 aphone|360|baiduboxapp|baidu|maxthon|mxbrowser|miui(?:.hybrid)?)(mobile)?(browser)?\/?([\d.]+)/i))||(e=c.match(/(qq|chrome|safari|firefox|trident|opera|opr\/|oupeng)(mobile)?(browser)?\/?([\d.]+)/i)),n.browserVersion=e?e[4]:"";var v=window.innerWidth||document.documentElement.clientWidth,g=window.innerHeight||document.documentElement.clientHeight,m=window.devicePixelRatio||1;n.windowPixelResolution={width:m*v,height:m*g},n._checkWebGLRenderMode=function(){if(cc.game.renderType!==cc.game.RENDER_TYPE_WEBGL)throw new Error("This feature supports WebGL render mode only.")};var y=document.createElement("canvas");try{var T=n.localStorage=r.localStorage;T.setItem("storage",""),T.removeItem("storage"),T=null}catch(w){var E=function(){cc.warnID(5200)};n.localStorage={getItem:E,setItem:E,removeItem:E,clear:E}}var A=y.toDataURL("image/webp").startsWith("data:image/webp"),C=!!y.getContext("2d"),x=!1;r.WebGLRenderingContext&&(x=!0);var b,S=n.capabilities={canvas:C,opengl:x,webp:A,imageBitmap:!1};"undefined"!=typeof createImageBitmap&&"undefined"!=typeof Blob&&(y.width=y.height=2,createImageBitmap(y,{}).then((function(t){S.imageBitmap=!0,t.close&&t.close()})).catch((function(){}))),(void 0!==o.ontouchstart||void 0!==a.ontouchstart||s.msPointerEnabled)&&(S.touches=!0),void 0!==o.onmouseup&&(S.mouse=!0),void 0!==o.onkeyup&&(S.keyboard=!0),(r.DeviceMotionEvent||r.DeviceOrientationEvent)&&(S.accelerometer=!0),(function(){n.browserVersion;var t=!!(window.AudioContext||window.webkitAudioContext||window.mozAudioContext);b={ONLY_ONE:!1,WEB_AUDIO:t,DELAY_CREATE_CTX:!1},n.os===n.OS_IOS&&(b.USE_LOADER_EVENT="loadedmetadata"),n.browserType===n.BROWSER_TYPE_FIREFOX&&(b.DELAY_CREATE_CTX=!0,b.USE_LOADER_EVENT="canplay"),n.os===n.OS_ANDROID&&n.browserType===n.BROWSER_TYPE_UC&&(b.ONE_SOURCE=!0)})();try{b.WEB_AUDIO&&(b.context=new(window.AudioContext||window.webkitAudioContext||window.mozAudioContext),b.DELAY_CREATE_CTX&&setTimeout((function(){b.context=new(window.AudioContext||window.webkitAudioContext||window.mozAudioContext)}),0))}catch(I){b.WEB_AUDIO=!1,cc.logID(5201)}var R=[];(t=document.createElement("audio")).canPlayType&&(t.canPlayType('audio/ogg; codecs="vorbis"')&&R.push(".ogg"),t.canPlayType("audio/mpeg")&&R.push(".mp3"),t.canPlayType('audio/wav; codecs="1"')&&R.push(".wav"),t.canPlayType("audio/mp4")&&R.push(".mp4"),t.canPlayType("audio/x-m4a")&&R.push(".m4a")),b.format=R,n.__audioSupport=b}return n.NetworkType={NONE:0,LAN:1,WWAN:2},n.getNetworkType=function(){return n.NetworkType.LAN},n.getBatteryLevel=function(){return 1},n.garbageCollect=function(){},n.restartVM=function(){},n.isObjectValid=function(t){return!!t},n.dump=function(){var t="";t+="isMobile : "+this.isMobile+"\r\n",t+="language : "+this.language+"\r\n",t+="browserType : "+this.browserType+"\r\n",t+="browserVersion : "+this.browserVersion+"\r\n",t+="capabilities : "+JSON.stringify(this.capabilities)+"\r\n",t+="os : "+this.os+"\r\n",t+="osVersion : "+this.osVersion+"\r\n",t+="platform : "+this.platform+"\r\n",t+="Using "+(cc.game.renderType===cc.game.RENDER_TYPE_WEBGL?"WEBGL":"CANVAS")+" renderer.\r\n",cc.log(t)},n.openURL=function(t){window.open(t)},n.now=function(){return Date.now?Date.now():+new Date},n})();e.exports=n}),{}],159:[(function(t,e){"use strict";var i=t("../event/event-target"),n=t("../platform/js"),r=t("../renderer");t("../platform/CCClass");var s={init:function(){this.html=document.getElementsByTagName("html")[0]},availWidth:function(t){return t&&t!==this.html?t.clientWidth:window.innerWidth},availHeight:function(t){return t&&t!==this.html?t.clientHeight:window.innerHeight},meta:{width:"device-width"},adaptationType:cc.sys.browserType};switch(cc.sys.os===cc.sys.OS_IOS&&(s.adaptationType=cc.sys.BROWSER_TYPE_SAFARI),s.adaptationType){case cc.sys.BROWSER_TYPE_SAFARI:case cc.sys.BROWSER_TYPE_SOUGOU:case cc.sys.BROWSER_TYPE_UC:s.meta["minimal-ui"]="true",s.availWidth=function(t){return t.clientWidth},s.availHeight=function(t){return t.clientHeight}}var a=null,o=function(){i.call(this);var t=this,e=cc.ContainerStrategy,n=cc.ContentStrategy;s.init(this),t._frameSize=cc.size(0,0),t._designResolutionSize=cc.size(0,0),t._originalDesignResolutionSize=cc.size(0,0),t._scaleX=1,t._scaleY=1,t._viewportRect=cc.rect(0,0,0,0),t._visibleRect=cc.rect(0,0,0,0),t._autoFullScreen=!1,t._devicePixelRatio=1,t._maxPixelRatio=2,t._retinaEnabled=!1,t._resizeCallback=null,t._resizing=!1,t._resizeWithBrowserSize=!1,t._orientationChanging=!0,t._isRotated=!1,t._orientation=cc.macro.ORIENTATION_AUTO,t._isAdjustViewport=!0,t._antiAliasEnabled=!1,t._resolutionPolicy=null,t._rpExactFit=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,n.EXACT_FIT),t._rpShowAll=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,n.SHOW_ALL),t._rpNoBorder=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,n.NO_BORDER),t._rpFixedHeight=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,n.FIXED_HEIGHT),t._rpFixedWidth=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,n.FIXED_WIDTH),cc.game.once(cc.game.EVENT_ENGINE_INITED,this.init,this)};cc.js.extend(o,i),cc.js.mixin(o.prototype,{init:function(){this._initFrameSize();var t=cc.game.canvas.width,e=cc.game.canvas.height;this._designResolutionSize.width=t,this._designResolutionSize.height=e,this._originalDesignResolutionSize.width=t,this._originalDesignResolutionSize.height=e,this._viewportRect.width=t,this._viewportRect.height=e,this._visibleRect.width=t,this._visibleRect.height=e,cc.winSize.width=this._visibleRect.width,cc.winSize.height=this._visibleRect.height,cc.visibleRect&&cc.visibleRect.init(this._visibleRect)},_resizeEvent:function(t){var e;e=this.setDesignResolutionSize?this:cc.view;var i=cc.sys;if(i.browserType!==i.BROWSER_TYPE_UC||i.os!==i.OS_IOS){var n=e._frameSize.width,r=e._frameSize.height,s=e._isRotated;if(cc.sys.isMobile){var a=cc.game.container.style,o=a.margin;a.margin="0",a.display="none",e._initFrameSize(),a.margin=o,a.display="block"}else e._initFrameSize();if(!0===t||e._isRotated!==s||e._frameSize.width!==n||e._frameSize.height!==r){var c=e._originalDesignResolutionSize.width,u=e._originalDesignResolutionSize.height;e._resizing=!0,c>0&&e.setDesignResolutionSize(c,u,e._resolutionPolicy),e._resizing=!1,e.emit("canvas-resize"),e._resizeCallback&&e._resizeCallback.call()}}else setTimeout((function(){e._resizeEvent(t)}),0)},_orientationChange:function(){cc.view._orientationChanging=!0,cc.view._resizeEvent(),cc.sys.browserType===cc.sys.BROWSER_TYPE_SAFARI&&cc.sys.isMobile&&setTimeout((function(){window.innerHeight>window.innerWidth&&window.scrollTo(0,1)}),500)},_resize:function(){cc.view._resizeEvent(!1)},resizeWithBrowserSize:function(t){t?this._resizeWithBrowserSize||(this._resizeWithBrowserSize=!0,window.addEventListener("resize",this._resize),window.addEventListener("orientationchange",this._orientationChange)):this._resizeWithBrowserSize&&(this._resizeWithBrowserSize=!1,window.removeEventListener("resize",this._resize),window.removeEventListener("orientationchange",this._orientationChange))},setResizeCallback:function(t){"function"!=typeof t&&null!=t||(this._resizeCallback=t)},setOrientation:function(t){if((t&=cc.macro.ORIENTATION_AUTO)&&this._orientation!==t){this._orientation=t;var e=this._originalDesignResolutionSize.width,i=this._originalDesignResolutionSize.height;this.setDesignResolutionSize(e,i,this._resolutionPolicy)}},_initFrameSize:function(){var t=this._frameSize,e=s.availWidth(cc.game.frame),i=s.availHeight(cc.game.frame),n=e>=i;!cc.sys.isMobile||n&&this._orientation&cc.macro.ORIENTATION_LANDSCAPE||!n&&this._orientation&cc.macro.ORIENTATION_PORTRAIT?(t.width=e,t.height=i,cc.game.container.style["-webkit-transform"]="rotate(0deg)",cc.game.container.style.transform="rotate(0deg)",this._isRotated=!1):(t.width=i,t.height=e,cc.game.container.style["-webkit-transform"]="rotate(90deg)",cc.game.container.style.transform="rotate(90deg)",cc.game.container.style["-webkit-transform-origin"]="0px 0px 0px",cc.game.container.style.transformOrigin="0px 0px 0px",this._isRotated=!0),this._orientationChanging&&setTimeout((function(){cc.view._orientationChanging=!1}),1e3)},_setViewportMeta:function(t,e){var i=document.getElementById("cocosMetaElement");i&&e&&document.head.removeChild(i);var n,r,s,a=document.getElementsByName("viewport"),o=a?a[0]:null;for(r in n=o?o.content:"",(i=i||document.createElement("meta")).id="cocosMetaElement",i.name="viewport",i.content="",t)-1==n.indexOf(r)?n+=","+r+"="+t[r]:e&&(s=new RegExp(r+"s*=s*[^,]+"),n=n.replace(s,r+"="+t[r]));/^,/.test(n)&&(n=n.substr(1)),i.content=n,o&&(o.content=n),document.head.appendChild(i)},_adjustViewportMeta:function(){this._isAdjustViewport&&(this._setViewportMeta(s.meta,!1),this._isAdjustViewport=!1)},adjustViewportMeta:function(t){this._isAdjustViewport=t},enableRetina:function(t){this._retinaEnabled=!!t},isRetinaEnabled:function(){return this._retinaEnabled},enableAntiAlias:function(t){if(cc.warnID(9200),this._antiAliasEnabled!==t)if(this._antiAliasEnabled=t,cc.game.renderType===cc.game.RENDER_TYPE_WEBGL)cc.assetManager.assets.forEach((function(e){if(e instanceof cc.Texture2D){var i=cc.Texture2D.Filter;t?e.setFilters(i.LINEAR,i.LINEAR):e.setFilters(i.NEAREST,i.NEAREST)}}));else if(cc.game.renderType===cc.game.RENDER_TYPE_CANVAS){var e=cc.game.canvas.getContext("2d");e.imageSmoothingEnabled=t,e.mozImageSmoothingEnabled=t}},isAntiAliasEnabled:function(){return this._antiAliasEnabled},enableAutoFullScreen:function(t){t&&t!==this._autoFullScreen&&cc.sys.isMobile?(this._autoFullScreen=!0,cc.screen.autoFullScreen(cc.game.frame)):(this._autoFullScreen=!1,cc.screen.disableAutoFullScreen(cc.game.frame))},isAutoFullScreenEnabled:function(){return this._autoFullScreen},setCanvasSize:function(t,e){var i=cc.game.canvas,n=cc.game.container;i.width=t*this._devicePixelRatio,i.height=e*this._devicePixelRatio,i.style.width=t+"px",i.style.height=e+"px",n.style.width=t+"px",n.style.height=e+"px",this._resizeEvent()},getCanvasSize:function(){return cc.size(cc.game.canvas.width,cc.game.canvas.height)},getFrameSize:function(){return cc.size(this._frameSize.width,this._frameSize.height)},setFrameSize:function(t,e){this._frameSize.width=t,this._frameSize.height=e,cc.game.frame.style.width=t+"px",cc.game.frame.style.height=e+"px",this._resizeEvent(!0)},getVisibleSize:function(){return cc.size(this._visibleRect.width,this._visibleRect.height)},getVisibleSizeInPixel:function(){return cc.size(this._visibleRect.width*this._scaleX,this._visibleRect.height*this._scaleY)},getVisibleOrigin:function(){return cc.v2(this._visibleRect.x,this._visibleRect.y)},getVisibleOriginInPixel:function(){return cc.v2(this._visibleRect.x*this._scaleX,this._visibleRect.y*this._scaleY)},getResolutionPolicy:function(){return this._resolutionPolicy},setResolutionPolicy:function(t){var e=this;if(t instanceof cc.ResolutionPolicy)e._resolutionPolicy=t;else{var i=cc.ResolutionPolicy;t===i.EXACT_FIT&&(e._resolutionPolicy=e._rpExactFit),t===i.SHOW_ALL&&(e._resolutionPolicy=e._rpShowAll),t===i.NO_BORDER&&(e._resolutionPolicy=e._rpNoBorder),t===i.FIXED_HEIGHT&&(e._resolutionPolicy=e._rpFixedHeight),t===i.FIXED_WIDTH&&(e._resolutionPolicy=e._rpFixedWidth)}},setDesignResolutionSize:function(t,e,i){if(t>0&&e>0){this.setResolutionPolicy(i);var n=this._resolutionPolicy;if(n&&n.preApply(this),cc.sys.isMobile&&this._adjustViewportMeta(),this._orientationChanging=!0,this._resizing||this._initFrameSize(),n){this._originalDesignResolutionSize.width=this._designResolutionSize.width=t,this._originalDesignResolutionSize.height=this._designResolutionSize.height=e;var s=n.apply(this,this._designResolutionSize);if(s.scale&&2===s.scale.length&&(this._scaleX=s.scale[0],this._scaleY=s.scale[1]),s.viewport){var a=this._viewportRect,o=this._visibleRect,c=s.viewport;a.x=c.x,a.y=c.y,a.width=c.width,a.height=c.height,o.x=0,o.y=0,o.width=c.width/this._scaleX,o.height=c.height/this._scaleY}n.postApply(this),cc.winSize.width=this._visibleRect.width,cc.winSize.height=this._visibleRect.height,cc.visibleRect&&cc.visibleRect.init(this._visibleRect),r.updateCameraViewport(),cc.internal.inputManager._updateCanvasBoundingRect(),this.emit("design-resolution-changed")}else cc.logID(2201)}else cc.errorID(2200)},getDesignResolutionSize:function(){return cc.size(this._designResolutionSize.width,this._designResolutionSize.height)},setRealPixelResolution:function(t,e,i){this._setViewportMeta({width:t},!0),document.documentElement.style.width=t+"px",document.body.style.width=t+"px",document.body.style.left="0px",document.body.style.top="0px",this.setDesignResolutionSize(t,e,i)},setViewportInPoints:function(t,e,i,n){var r=this._scaleX,s=this._scaleY;cc.game._renderContext.viewport(t*r+this._viewportRect.x,e*s+this._viewportRect.y,i*r,n*s)},setScissorInPoints:function(t,e,i,n){var r=this._scaleX,s=this._scaleY,o=Math.ceil(t*r+this._viewportRect.x),c=Math.ceil(e*s+this._viewportRect.y),u=Math.ceil(i*r),l=Math.ceil(n*s),h=cc.game._renderContext;if(!a){var _=h.getParameter(h.SCISSOR_BOX);a=cc.rect(_[0],_[1],_[2],_[3])}a.x===o&&a.y===c&&a.width===u&&a.height===l||(a.x=o,a.y=c,a.width=u,a.height=l,h.scissor(o,c,u,l))},isScissorEnabled:function(){return cc.game._renderContext.isEnabled(gl.SCISSOR_TEST)},getScissorRect:function(){if(!a){var t=gl.getParameter(gl.SCISSOR_BOX);a=cc.rect(t[0],t[1],t[2],t[3])}var e=1/this._scaleX,i=1/this._scaleY;return cc.rect((a.x-this._viewportRect.x)*e,(a.y-this._viewportRect.y)*i,a.width*e,a.height*i)},getViewportRect:function(){return this._viewportRect},getScaleX:function(){return this._scaleX},getScaleY:function(){return this._scaleY},getDevicePixelRatio:function(){return this._devicePixelRatio},convertToLocationInView:function(t,e,i,n){var r=n||cc.v2(),s=i.adjustedLeft?i.adjustedLeft:i.left,a=i.adjustedTop?i.adjustedTop:i.top,o=this._devicePixelRatio*(t-s),c=this._devicePixelRatio*(a+i.height-e);return this._isRotated?(r.x=cc.game.canvas.width-c,r.y=o):(r.x=o,r.y=c),r},_convertMouseToLocationInView:function(t,e){var i=this._viewportRect;t.x=(this._devicePixelRatio*(t.x-e.left)-i.x)/this._scaleX,t.y=(this._devicePixelRatio*(e.top+e.height-t.y)-i.y)/this._scaleY},_convertPointWithScale:function(t){var e=this._viewportRect;t.x=(t.x-e.x)/this._scaleX,t.y=(t.y-e.y)/this._scaleY},_convertTouchesWithScale:function(t){for(var e,i,n,r=this._viewportRect,s=this._scaleX,a=this._scaleY,o=0;o=0;n--){var s=i[n];s.hasOwnProperty("__attrs__")&&s.__attrs__||r(s,(e=i[n+1])&&e.__attrs__)}return r(t,(e=i[0])&&e.__attrs__),t.__attrs__}function a(t){return t.hasOwnProperty("__attrs__")&&t.__attrs__||s(t)}function o(t,e){this.name=t,this.default=e}o.prototype.toString=function(){return this.name},cc.Integer=new o("Integer",0),cc.Float=new o("Float",0),cc.Boolean=new o("Boolean",!1),cc.String=new o("String",""),e.exports={PrimitiveType:o,attr:function(t,e){var i=a(t),r=e+n,s={};for(var o in i)o.startsWith(r)&&(s[o.slice(r.length)]=i[o]);return s},getClassAttrs:a,setClassAttr:function(t,e,i,r){a(t)[e+n+i]=r},DELIMETER:n,getTypeChecker_ET:!1,getObjTypeChecker_ET:!1,ScriptUuid:{}}}),{"./CCClass":149,"./js":170,"./utils":173}],162:[(function(t,e){"use strict";var i=t("./js"),n=i.array.fastRemoveAt;function r(){}function s(){this.callback=r,this.target=void 0,this.once=!1}s.prototype.set=function(t,e,i){this.callback=t,this.target=e,this.once=!!i};var a=new i.Pool(function(t){return t.callback=r,t.target=void 0,t.once=!1,!0},32);function o(){this.callbackInfos=[],this.isInvoking=!1,this.containCanceled=!1}a.get=function(){return this._get()||new s};var c=o.prototype;c.removeByCallback=function(t){for(var e=0;e=0;--t)this.callbackInfos[t]||n(this.callbackInfos,t);this.containCanceled=!1},c.clear=function(){this.cancelAll(),this.callbackInfos.length=0,this.isInvoking=!1,this.containCanceled=!1};var u=new i.Pool(function(t){return t.callbackInfos=[],t.isInvoking=!1,t.containCanceled=!1,!0},16);function l(){this._callbackTable=i.createMap(!0)}u.get=function(){return this._get()||new o},(c=l.prototype).on=function(t,e,i,n){var r=this._callbackTable[t];r||(r=this._callbackTable[t]=u.get());var s=a.get();s.set(e,i,n),r.callbackInfos.push(s)},c.hasEventListener=function(t,e,i){var n=this._callbackTable[t];if(!n)return!1;var r=n.callbackInfos;if(!e){if(n.isInvoking){for(var s=0;s0}for(var a=0;a=0?a[i[c]]=o:a[~c]=o}for(;r=0?u[i[h]]=l:u[~h]=l}}function A(t,e){for(var i=t[4][e[0]],n=i[0],r=new(0,n[0]),s=n[1],a=n[2],o=i[i.length-1],c=1;c=0?e[i]=t[5][n]:t[7][3*~n]=e}function b(t){return function(e,i,n,r){i[n]=r;for(var s=0;s=0){var h=o[u];e[a]=C(t,h,l)}else(0,w[u=~u])(t,e,a,l)}return r}function M(t,e){return t||N.reportMissingClass(e),Object}function O(t,e,i,n,r,s){var a=t(e);if(!a){if(r)return void(i[n]=(function(e,i,n){return function(){var r=t(n)||M(s,n);return e[i]=r,new r}})(i,n,e));a=M(s,e)}i[n]=a}function D(t,e,i){for(var r=i||n.default._getClassById,s=t[3],a=0;a=0?i[u]:~u,s[o]=u);var l=a[o];"number"==typeof l&&(a[o]=n[l])}}function N(t,e,i){"string"==typeof t&&(t=JSON.parse(t));var n=!e;(e=e||T.pool.get()).init(t),i=i||{};var r=t[0],s=!1;if("object"==typeof r&&(s=r.preprocessed,r=r.version),r0&&(i=_+this.globalVariables.join(",")+";");var n=c.flattenCodeArray(["return (function(R){",i||[],this.codeArray,"return o;","})"]);this.result=Function("O","F",n)(this.objs,this.funcs);for(var r=0,s=this.objsToClear_iN$t.length;r1)t.push(d+"="+this._targetExp+";"),e=d;else{if(1!==this._exps.length)return;e=this._targetExp}for(var i=0;i=0&&(_(t,i),!0)}function d(t,e){void 0===e&&(e=t,t=null),this.get=null,this.count=0,this._pool=new Array(e),this._cleanup=t}s.formatStr=function(){var t=arguments.length;if(0===t)return"";var e=arguments[0];if(1===t)return""+e;var i="string"==typeof e&&l.test(e);if(i)for(var n=1;n=0&&(t[i]=t[t.length-1],--t.length)},removeAt:_,fastRemoveAt:function(t,e){var i=t.length;e<0||e>=i||(t[e]=t[i-1],t.length=i-1)},contains:function(t,e){return t.indexOf(e)>=0},verifyType:function(t,e){if(t&&t.length>0)for(var i=0;i0){--this.count;var t=this._pool[this.count];return this._pool[this.count]=null,t}return null},d.prototype.put=function(t){var e=this._pool;if(this.count=0&&(this._pool.length=t,this.count>t&&(this.count=t))},s.Pool=d,cc.js=s,e.exports=s}),{"../utils/mutable-forward-iterator":224,"./id-generater":166}],171:[(function(t,e,i){"use strict";var n=t("./js"),r=t("./attribute"),s={default:{},serializable:{},editorOnly:{},formerlySerializedAs:{}};function a(t,e,i,n){if(!t.get&&!t.set&&t.hasOwnProperty("default")){var r="_N$"+e;t.get=function(){return this[r]},t.set=function(t){var e=this[r];this[r]=t,i.call(this,e)};var a={};for(var o in n[r]=a,s){var c=s[o];t.hasOwnProperty(o)&&(a[o]=t[o],c.canUsedInGet||delete t[o])}}}function o(t,e,i,n){if(Array.isArray(e)){if(!(e.length>0))return cc.errorID(5508,i,n);t.type=e=e[0]}"function"==typeof e&&(e===String?t.type=cc.String:e===Boolean?t.type=cc.Boolean:e===Number&&(t.type=cc.Float))}function c(t,e,i){var n=t?{_short:!0}:{_short:!0,default:e};return i&&(n.type=i),n}i.getFullFormOfProperty=function(t,e){return t&&t.constructor===Object?null:Array.isArray(t)&&t.length>0?c(e,[],t):"function"==typeof t?c(e,n.isChildClassOf(t,cc.ValueType)?new t:null,t):t instanceof r.PrimitiveType?c(e,t.default):c(e,t)},i.preprocessAttrs=function(t,e){for(var n in t){var r=t[n],s=i.getFullFormOfProperty(r,!1);if(s&&(r=t[n]=s),r){var c=r.notify;c&&a(r,n,c,t),"type"in r&&o(r,r.type,e,n)}}},i.validateMethodWithProps=function(t){return"function"==typeof t||null===t}}),{"./CCClass":149,"./attribute":161,"./js":170}],172:[(function(){"use strict";var t=[];cc._RF={push:function(e,i,n){void 0===n&&(n=i,i=""),t.push({uuid:i,script:n,module:e,exports:e.exports,beh:null})},pop:function(){var e=t.pop(),i=e.module,n=i.exports;if(n===e.exports){for(var r in n)return;i.exports=n=e.cls}},peek:function(){return t[t.length-1]}}}),{}],173:[(function(t,e){"use strict";t("./js"),e.exports={contains:function(t,e){if("function"==typeof t.contains)return t.contains(e);if("function"==typeof t.compareDocumentPosition)return!!(16&t.compareDocumentPosition(e));var i=e.parentNode;if(i)do{if(i===t)return!0;i=i.parentNode}while(null!==i);return!1},isDomNode:"object"==typeof window&&("function"==typeof Node?function(t){return t instanceof Node}:function(t){return t&&"object"==typeof t&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName}),callInNextTick:function(t,e,i){t&&setTimeout((function(){t(e,i)}),0)}}}),{"./js":170}],174:[(function(t){"use strict";t("./platform/js"),t("./value-types"),t("./utils"),t("./platform/CCInputManager"),t("./platform/CCInputExtension"),t("./event"),t("./platform/CCSys"),t("./platform/CCMacro"),t("./asset-manager"),t("./CCDirector"),t("./renderer"),t("./platform/CCView"),t("./platform/CCScreen"),t("./CCScheduler"),t("./event-manager")}),{"./CCDirector":23,"./CCScheduler":28,"./asset-manager":46,"./event":134,"./event-manager":130,"./platform/CCInputExtension":152,"./platform/CCInputManager":153,"./platform/CCMacro":154,"./platform/CCScreen":157,"./platform/CCSys":158,"./platform/CCView":159,"./platform/js":170,"./renderer":180,"./utils":222,"./value-types":238}],175:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=a(t("./assembler")),r=a(t("./utils/dynamic-atlas/manager")),s=a(t("./webgl/render-data"));function a(t){return t&&t.__esModule?t:{default:t}}function o(t,e){for(var i=0;i>2,c=s._vData;n.length+o>c.length?c.set(n.subarray(0,c.length-o),o):c.set(n,o);for(var u=s._iData,l=a.indiceOffset,h=a.vertexOffset,_=0,f=r.length;_this.maxSize||(this._clean(t),i[e].push(t),this.count++)}},r.get=function(t){var e;if(this.enabled){var i=this._pool,n=o(t);e=i[n]&&i[n].pop()}return e?this.count--:e=new t,e},r.clear=function(){this._pool={},this.count=0},r._clean=function(t){t._renderComp=null},n}(r.default));r.default.register("assembler",c);var u=c;i.default=u,e.exports=i.default}),{"../utils/pool":225}],177:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("./webgl/vertex-format"),s=(n=t("./assembler-pool"))&&n.__esModule?n:{default:n},a=(function(){function t(){this._extendNative&&this._extendNative()}var e=t.prototype;return e.init=function(t){this._renderComp=t},e.updateRenderData=function(){},e.fillBuffers=function(){},e.getVfmt=function(){return r.vfmtPosUvColor},t})();i.default=a,a.register=function(t,e){t.__assembler__=e},a.init=function(t){for(var e=t.constructor,i=e.__assembler__;!i;){if(!(e=e.$super))return void cc.warn("Can not find assembler for render component : ["+cc.js.getClassName(t)+"]");i=e.__assembler__}if(i.getConstructor&&(i=i.getConstructor(t)),!t._assembler||t._assembler.constructor!==i){var n=s.default.get(i);n.init(t),t._assembler=n}},cc.Assembler=a,e.exports=i.default}),{"./assembler-pool":176,"./webgl/vertex-format":213}],178:[(function(t,e){"use strict";var i=function(t){var e;try{e=t.getContext("2d")}catch(i){return void console.error(i)}this._canvas=t,this._ctx=e,this._caps={},this._stats={drawcalls:0},this._vx=this._vy=this._vw=this._vh=0,this._sx=this._sy=this._sw=this._sh=0};i.prototype._restoreTexture=function(){},i.prototype.setViewport=function(t,e,i,n){this._vx===t&&this._vy===e&&this._vw===i&&this._vh===n||(this._vx=t,this._vy=e,this._vw=i,this._vh=n)},i.prototype.setScissor=function(t,e,i,n){this._sx===t&&this._sy===e&&this._sw===i&&this._sh===n||(this._sx=t,this._sy=e,this._sw=i,this._sh=n)},i.prototype.clear=function(t){var e=this._ctx;e.clearRect(this._vx,this._vy,this._vw,this._vh),!t||0===t[0]&&0===t[1]&&0===t[2]||(e.fillStyle="rgb("+t[0]+","+t[1]+","+t[2]+")",e.globalAlpha=t[3],e.fillRect(this._vx,this._vy,this._vw,this._vh))},i.prototype.resetDrawCalls=function(){this._stats.drawcalls=0},i.prototype.getDrawCalls=function(){return this._stats.drawcalls},e.exports=i}),{}],179:[(function(t,e){"use strict";var i=function(t,e){this._device=t,this._width=4,this._height=4,this._image=null,e&&(void 0!==e.width&&(this._width=e.width),void 0!==e.height&&(this._height=e.height),this.updateImage(e))};i.prototype.update=function(t){this.updateImage(t)},i.prototype.updateImage=function(t){if(t.images&&t.images[0]){var e=t.images[0];e&&e!==this._image&&(this._image=e)}},i.prototype.destroy=function(){this._image=null},e.exports=i}),{}],180:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=a(t("../../renderer/gfx")),r=a(t("../../renderer/core/input-assembler")),s=a(t("../../renderer/core/pass"));function a(t){return t&&t.__esModule?t:{default:t}}var o=cc.renderer={Texture2D:null,InputAssembler:r.default,Pass:s.default,renderEngine:null,canvas:null,device:null,scene:null,drawCalls:0,_handle:null,_cameraNode:null,_camera:null,_forward:null,_flow:null,initWebGL:function(e,i){t("./webgl/assemblers");var r=t("./webgl/model-batcher");this.Texture2D=n.default.Texture2D,this.canvas=e,this._flow=cc.RenderFlow;var s=t("../../renderer/scene/scene"),a=t("../../renderer/renderers/forward-renderer");this.device=new n.default.Device(e,i),this.scene=new s;var o,c=(o=this.device,{defaultTexture:new n.default.Texture2D(o,{images:[],width:128,height:128,wrapS:n.default.WRAP_REPEAT,wrapT:n.default.WRAP_REPEAT,format:n.default.TEXTURE_FMT_RGB8,genMipmaps:!1}),programTemplates:[],programChunks:{}});this._forward=new a(this.device,c),this._handle=new r(this.device,this.scene),this._flow.init(this._handle,this._forward)},initCanvas:function(e){var i=t("./canvas"),n=t("./canvas/Texture2D"),r=t("./canvas/Device");this.Device=r,this.Texture2D=n,this.canvas=e,this.device=new r(e),this._camera={a:1,b:0,c:0,d:1,tx:0,ty:0},this._handle=new i.RenderComponentHandle(this.device,this._camera),this._forward=new i.ForwardRenderer,this._flow=cc.RenderFlow,this._flow.init(this._handle,this._forward)},updateCameraViewport:function(){if(cc.director){var t=cc.director.getScene();t&&t.setScale(1,1,1)}if(cc.game.renderType===cc.game.RENDER_TYPE_CANVAS){var e=cc.view.getViewportRect();this.device.setViewport(e.x,e.y,e.width,e.height),this._camera.a=cc.view.getScaleX(),this._camera.d=cc.view.getScaleY(),this._camera.tx=e.x,this._camera.ty=e.y+e.height}},render:function(t,e){this.device.resetDrawCalls(),t&&(this._flow.render(t,e),this.drawCalls=this.device.getDrawCalls())},clear:function(){this._handle.reset(),this._forward.clear()}};i.default=o,e.exports=i.default}),{"../../renderer/core/input-assembler":255,"../../renderer/core/pass":256,"../../renderer/gfx":265,"../../renderer/renderers/forward-renderer":284,"../../renderer/scene/scene":287,"./canvas":void 0,"./canvas/Device":178,"./canvas/Texture2D":179,"./webgl/assemblers":192,"./webgl/model-batcher":209}],181:[(function(t,e){"use strict";var i,n,r=0,s=1<0;)i&t&&(e=C(i,e)),i>>=1;return e}function b(t){var e=t._renderFlag;(A[e]=x(e))._func(t)}y.flows=A,y.createFlow=C;var S=[];y.registerValidate=function(t){t._inValidateList||(S.push(t),t._inValidateList=!0)},y.validateRenderers=function(){for(var t=0,e=S.length;tthis._width&&(this._x=n,this._y=this._nexty),this._y+c+n>this._nexty&&(this._nexty=this._y+c+n),this._nexty>this._height)return null;cc.dynamicAtlasManager.textureBleeding&&((o<=8||c<=8)&&(this._texture.drawTextureAt(i,this._x-1,this._y-1),this._texture.drawTextureAt(i,this._x-1,this._y+1),this._texture.drawTextureAt(i,this._x+1,this._y-1),this._texture.drawTextureAt(i,this._x+1,this._y+1)),this._texture.drawTextureAt(i,this._x-1,this._y),this._texture.drawTextureAt(i,this._x+1,this._y),this._texture.drawTextureAt(i,this._x,this._y-1),this._texture.drawTextureAt(i,this._x,this._y+1)),this._texture.drawTextureAt(i,this._x,this._y),this._innerTextureInfos[i._id]={x:this._x,y:this._y,texture:i},this._count++,s+=this._x,a+=this._y,this._x+=o+n,this._dirty=!0}var u={x:s,y:a,texture:this._texture};return this._innerSpriteFrames.push(t),u},update:function(){this._dirty&&(this._texture.update(),this._dirty=!1)},deleteInnerTexture:function(t){t&&this._innerTextureInfos[t._id]&&(delete this._innerTextureInfos[t._id],this._count--)},isEmpty:function(){return this._count<=0},reset:function(){this._x=n,this._y=n,this._nexty=n;for(var t=this._innerSpriteFrames,e=0,i=t.length;e=0;e--)n[e].deleteInnerTexture(t),n[e].isEmpty()&&(n[e].destroy(),n.splice(e,1),r--)},showDebug:function(t){if(t){if(!u||!u.isValid){var e=cc.visibleRect.width,i=cc.visibleRect.height;(u=new cc.Node("DYNAMIC_ATLAS_DEBUG_NODE")).width=e,u.height=i,u.x=e/2,u.y=i/2,u.zIndex=cc.macro.MAX_ZINDEX,u.parent=cc.director.getScene(),u.groupIndex=cc.Node.BuiltinGroupIndex.DEBUG,cc.Camera._setupDebugCamera();var s=u.addComponent(cc.ScrollView),o=new cc.Node("CONTENT"),c=o.addComponent(cc.Layout);c.type=cc.Layout.Type.VERTICAL,c.resizeMode=cc.Layout.ResizeMode.CONTAINER,o.parent=u,o.width=a,o.anchorY=1,o.x=a,s.content=o;for(var l=0;l<=r;l++){var h=new cc.Node("ATLAS"),_=(n[l]._texture,new cc.SpriteFrame);_.setTexture(n[l]._texture),h.addComponent(cc.Sprite).spriteFrame=_,h.parent=o}}return u}u&&(u.parent=null,u=null)},update:function(){if(this.enabled)for(var t=0;t<=r;t++)n[t].update()}};e.exports=cc.dynamicAtlasManager=f}),{"./atlas":182}],184:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../assembler-2d"))&&n.__esModule?n:{default:n};function s(t,e){return(s=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var a=t("../../../utils/text-utils"),o=t("../../../platform/CCMacro"),c=t("../../../components/CCLabel").Overflow,u=t("../utils").shareLabelInfo,l=function(){this.char="",this.valid=!0,this.x=0,this.y=0,this.line=0,this.hash=""},h=cc.rect(),_=null,f=[],d=[],p=[],v=[],g=null,m=0,y=0,T=0,E=0,A=0,C=1,x=null,b=cc.size(),S="",R=0,w=0,I=0,M=0,O=0,D=0,L=0,P=!1,N=0,F=0,B=0,U=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,s(e,i);var r=n.prototype;return r.updateRenderData=function(t){t._vertsDirty&&_!==t&&(_=t,this._reserveQuads(t,t.string.toString().length),this._updateFontFamily(t),this._updateProperties(t),this._updateLabelInfo(t),this._updateContent(),this.updateWorldVerts(t),_._actualFontSize=R,_.node.setContentSize(b),_._vertsDirty=!1,_=null,this._resetProperties())},r._updateFontScale=function(){C=R/w},r._updateFontFamily=function(t){var e=t.font;x=e.spriteFrame,g=e._fntConfig,u.fontAtlas=e._fontDefDictionary,this.packToDynamicAtlas(t,x)},r._updateLabelInfo=function(){u.hash="",u.margin=0},r._updateProperties=function(t){S=t.string.toString(),R=t.fontSize,w=g?g.fontSize:t.fontSize,I=t.horizontalAlign,M=t.verticalAlign,O=t.spacingX,L=t.overflow,D=t._lineHeight,b.width=t.node.width,b.height=t.node.height,L===c.NONE?(P=!1,b.width+=2*u.margin,b.height+=2*u.margin):L===c.RESIZE_HEIGHT?(P=!0,b.height+=2*u.margin):P=t.enableWrapText,u.lineHeight=D,u.fontSize=R,this._setupBMFontOverflowMetrics()},r._resetProperties=function(){g=null,x=null,u.hash="",u.margin=0},r._updateContent=function(){this._updateFontScale(),this._computeHorizontalKerningForText(),this._alignText()},r._computeHorizontalKerningForText=function(){var t,e=S,i=e.length,n=f;if(g&&(t=g.kerningDict),t&&!cc.js.isEmptyObject(t))for(var r=-1,s=0;s0&&n>0&&V+_.w*C>B&&!a.isUnicodeSpace(T)){p.push(o),o=0,i++,n=0,r-=D*this._getFontScale()+0,U=!0;break}d.x=V,d.y=r-_.offsetY*C+u.margin,this._recordLetterInfo(d,T,k,i),k+1d.y-_.h*C&&(w=d.y-_.h*C)}else{this._recordPlaceholderInfo(k,T);var H="";g&&(H=g.atlasName),console.log("Can't find letter definition in texture atlas "+H+" for letter:"+T)}else this._recordPlaceholderInfo(k,T)}U||(n=M,lw&&(h=w),s<(o=I)&&(s=o),v+=x)}else p.push(o),o=0,i++,n=0,r-=D*this._getFontScale()+0,this._recordPlaceholderInfo(v,T),v++}return p.push(o),y=(m=i+1)*D*this._getFontScale(),m>1&&(y+=0*(m-1)),b.width=N,b.height=F,N<=0&&(b.width=parseFloat(s.toFixed(2))+2*u.margin),F<=0&&(b.height=parseFloat(y.toFixed(2))+2*u.margin),E=b.height,A=0,L!==c.CLAMP&&(l>0&&(E=b.height+l),h<-y&&(A=y+h)),!0},r._getFirstCharLen=function(){return 1},r._getFontScale=function(){return L===c.SHRINK?C:1},r._getFirstWordLen=function(t,e,i){var n=t.charAt(e);if(a.isUnicodeCJK(n)||"\n"===n||a.isUnicodeSpace(n))return 1;var r=1,s=u.fontAtlas.getLetterDefinitionForChar(n,u);if(!s)return r;for(var o=s.xAdvance*C+O,c=e+1;cB&&!a.isUnicodeSpace(n)&&B>0)return r;if(o+=s.xAdvance*C+O,"\n"===n||a.isUnicodeSpace(n)||a.isUnicodeCJK(n))break;r++}return r},r._multilineTextWrapByWord=function(){return this._multilineTextWrap(this._getFirstWordLen)},r._multilineTextWrapByChar=function(){return this._multilineTextWrap(this._getFirstCharLen)},r._recordPlaceholderInfo=function(t,e){if(t>=d.length){var i=new l;d.push(i)}d[t].char=e,d[t].hash=e.charCodeAt(0)+u.hash,d[t].valid=!1},r._recordLetterInfo=function(t,e,i,n){if(i>=d.length){var r=new l;d.push(r)}var s=e.charCodeAt(0)+u.hash;d[i].line=n,d[i].char=e,d[i].hash=s,d[i].valid=u.fontAtlas.getLetter(s).valid,d[i].x=t.x,d[i].y=t.y},r._alignText=function(){y=0,p.length=0,this._multilineTextWrapByWord(),this._computeAlignmentOffset(),L===c.SHRINK&&R>0&&this._isVerticalClamp()&&this._shrinkLabelToContentSize(this._isVerticalClamp),this._updateQuads()||L===c.SHRINK&&this._shrinkLabelToContentSize(this._isHorizontalClamp)},r._scaleFontSizeDown=function(t){var e=!0;t||(t=.1,e=!1),R=t,e&&this._updateContent()},r._shrinkLabelToContentSize=function(t){for(var e=0,i=0|R,n=0;e>1;if(r<=0)break;C=r/w,this._multilineTextWrapByWord(),this._computeAlignmentOffset(),t()?i=n-1:e=n}var s=e;s>=0&&this._scaleFontSizeDown(s)},r._isVerticalClamp=function(){return y>b.height},r._isHorizontalClamp=function(){for(var t=!1,e=0,i=S.length;e0)if(P){if(p[a]>b.width&&(s>b.width||s<0)){t=!0;break}}else if(s>b.width){t=!0;break}}}return t},r._isHorizontalClamped=function(t,e){var i=p[e],n=t>b.width||t<0;return P?i>b.width&&n:n},r._updateQuads=function(){var t=x?x._texture:u.fontAtlas.getTexture(),e=_.node;this.verticesCount=this.indicesCount=0,this._renderData&&(this._renderData.dataLength=0);for(var i=b,n=e._anchorPoint.x*i.width,r=e._anchorPoint.y*i.height,s=!0,a=0,o=S.length;a0){if(p>E){var g=p-E;h.y+=g,h.height-=g,p-=g}p-f.h*C0&&this._isHorizontalClamped(y,m))if(L===c.CLAMP)h.width=0;else if(L===c.SHRINK){if(b.width>f.w){s=!1;break}h.width=0}if(h.height>0&&h.width>0){var R=this._determineRect(h),w=l.x+v[l.line];this.appendQuad(_,t,h,R,w-n,p-r,C)}}}return this._quadsUpdated(_),s},r._determineRect=function(t){var e=x.isRotated(),i=x._originalSize,n=x._rect,r=x._offset,s=r.x+(i.width-n.width)/2,a=r.y-(i.height-n.height)/2;if(e){var o=t.x;t.x=n.x+n.height-t.y-t.height-a,t.y=o+n.y-s,t.y<0&&(t.height=t.height+a)}else t.x+=n.x-s,t.y+=n.y+a;return e},r._computeAlignmentOffset=function(){switch(v.length=0,I){case o.TextAlignment.LEFT:for(var t=0;t0){var u=e.out||v;t.strokeStyle="rgba("+u.r+", "+u.g+", "+u.b+", "+u.a/255+")",t.lineWidth=2*e.margin,t.strokeText(this._char,s,a)}t.fillText(this._char,s,a),this._texture.handleLoadedTexture()},destroy:function(){this._texture.destroy(),this._texture=null,a._canvasPool.put(this._data)}},cc.js.mixin(T.prototype,{insertLetterTexture:function(t){var e=t._texture,i=e.width,n=e.height;if(this._x+i+g>this._width&&(this._x=g,this._y=this._nexty),this._y+n>this._nexty&&(this._nexty=this._y+n+g),this._nexty>this._height)return null;this._fontDefDictionary._texture.drawTextureAt(e,this._x,this._y),this._dirty=!0;var r=new d;return r.u=this._x+1,r.v=this._y+1,r.texture=this._fontDefDictionary._texture,r.valid=!0,r.w=t._width-2,r.h=t._height-2,r.xAdvance=r.w,r.offsetY=t._offsetY,this._x+=i+g,this._fontDefDictionary.addLetterDefinitions(t._hash,r),r},update:function(){this._dirty&&(this._fontDefDictionary._texture.update(),this._dirty=!1)},reset:function(){this._x=g,this._y=g,this._nexty=g;for(var t=this._fontDefDictionary._letterDefinitions,e=0,i=t.length;e0&&(n=n+e.margin+e.out.toHEX()),""+e.fontSize+e.fontFamily+i+n)},r._getFontDesc=function(){return f.fontSize.toString()+"px "+f.fontFamily},r._computeHorizontalKerningForText=function(){},r._determineRect=function(){return!1},n})(r.default);i.default=A,e.exports=i.default}),{"../../../assets/CCRenderTexture":66,"../../../components/CCComponent":101,"../../../components/CCLabel":103,"../../../components/CCLabelOutline":void 0,"../../../utils/text-utils":230,"../../webgl/assemblers/label/2d/bmfont":193,"../utils":188}],187:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../assembler-2d"))&&n.__esModule?n:{default:n};function s(t,e){return(s=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var a,o=t("../../../utils/text-utils"),c=t("../../../platform/CCMacro"),u=t("../../../components/CCLabel"),l=t("../../../components/CCLabelOutline"),h=t("../../../components/CCLabelShadow"),_=u.Overflow,f=t("../utils").deleteFromDynamicAtlas,d=t("../utils").getFontFamily,p=(1/255).toFixed(3),v=null,g=null,m=null,y="",T="",E=0,A=0,C=[],x=cc.Size.ZERO,b=0,S=0,R=0,w=null,I="",M=_.NONE,O=!1,D=!1,L=null,P=cc.Color.WHITE,N=null,F=cc.Color.BLACK,B=cc.rect(),U=cc.Size.ZERO,z=cc.Size.ZERO,k=!1,V=!1,H=!1,W=0,G=cc.Vec2.ZERO,j=0,Y=["left","center","right"],X=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,s(e,i);var r=n.prototype;return r._getAssemblerData=function(){return(a=u._canvasPool.get()).canvas.width=a.canvas.height=1,a},r._resetAssemblerData=function(t){t&&u._canvasPool.put(t)},r.updateRenderData=function(e){t.prototype.updateRenderData.call(this,e),e._vertsDirty&&(this._updateProperties(e),this._calculateLabelFont(),this._updateLabelDimensions(),this._updateTexture(e),this._calDynamicAtlas(e),e._actualFontSize=E,e.node.setContentSize(z),this.updateVerts(e),e._vertsDirty=!1,v=null,g=null,m=null)},r.updateVerts=function(){},r._updatePaddingRect=function(){var t=0,e=0,i=0,n=0,r=0;if(U.width=U.height=0,L&&(t=e=i=n=r=L.width,U.width=U.height=2*r),N){var s=N.blur+r;i=Math.max(i,-N._offset.x+s),n=Math.max(n,N._offset.x+s),t=Math.max(t,N._offset.y+s),e=Math.max(e,-N._offset.y+s)}if(V){var a=A*Math.tan(.20943951);n+=a,U.width+=a}B.x=i,B.y=t,B.width=i+n,B.height=t+e},r._updateProperties=function(t){var e=t._assemblerData;v=e.context,g=e.canvas,m=t._frame._original?t._frame._original._texture:t._frame._texture,T=t.string.toString(),E=t._fontSize,A=E,W=t.underlineHeight||A/8,M=t.overflow,x.width=t.node.width,x.height=t.node.height,z=t.node.getContentSize(),b=t._lineHeight,S=t.horizontalAlign,R=t.verticalAlign,w=t.node.color,k=t.enableBold,V=t.enableItalic,H=t.enableUnderline,I=d(t),D=t.srcBlendFactor===cc.macro.BlendFactor.ONE,O=M!==_.NONE&&(M===_.RESIZE_HEIGHT||t.enableWrapText),(L=(L=l&&t.getComponent(l))&&L.enabled&&L.width>0?L:null)&&P.set(L.color),(N=(N=h&&t.getComponent(h))&&N.enabled?N:null)&&(F.set(N.color),F.a=F.a*t.node.color.a/255),this._updatePaddingRect()},r._calculateFillTextStartPosition=function(){var t=0;S===c.TextAlignment.RIGHT?t=x.width-B.width:S===c.TextAlignment.CENTER&&(t=(x.width-B.width)/2);var e=this._getLineHeight()*(C.length-1),i=E*(1-o.BASELINE_RATIO/2);if(R!==c.VerticalTextAlignment.TOP){var n=e+B.height+E-x.height;R===c.VerticalTextAlignment.BOTTOM?i-=n+=o.BASELINE_RATIO/2*E:i-=n/2}return i+=o.BASELINE_OFFSET*E,cc.v2(t+B.x,i+B.y)},r._setupOutline=function(){v.strokeStyle="rgba("+P.r+", "+P.g+", "+P.b+", "+P.a/255+")",v.lineWidth=2*L.width},r._setupShadow=function(){v.shadowColor="rgba("+F.r+", "+F.g+", "+F.b+", "+F.a/255+")",v.shadowBlur=N.blur,v.shadowOffsetX=N.offset.x,v.shadowOffsetY=-N.offset.y},r._drawTextEffect=function(t,e){if(N||L||H){var i=C.length>1&&N,n=this._measureText(v,y),r=0,s=0;N&&this._setupShadow(),L&&this._setupOutline();for(var a=0;at||x.height>t)&&cc.warn("The maximum texture size supported by the device is "+t),x.width=Math.min(x.width,t),x.height=Math.min(x.height,t);var e=!1;g.width!==x.width&&(g.width=x.width,e=!0),g.height!==x.height&&(g.height=x.height,e=!0),e&&(v.font=y),v.textAlign=Y[S]},r._getFontDesc=function(){var t=E.toString()+"px ";return t+=I,k&&(t="bold "+t),V&&(t="italic "+t),t},r._getLineHeight=function(){return 0|(0===b?E:b*E/A)},r._calculateParagraphLength=function(t,e){for(var i=[],n=0;n>1)<=0){cc.logID(4003);break}E=l,y=this._getFontDesc(),v.font=y;var h=this._getLineHeight();for(n=0,i=0;ia?u=l-1:c=l}0===c?cc.logID(4003):(E=c,y=this._getFontDesc(),v.font=y)}else{for(n=t.length*this._getLineHeight(),i=0;ir?e:r}i=(C.length+o.BASELINE_RATIO)*this._getLineHeight();var s=parseFloat(e.toFixed(2)),a=parseFloat(i.toFixed(2));x.width=s+B.width,x.height=a+B.height,z.width=s+U.width,z.height=a+U.height;break;case _.SHRINK:this._calculateShrinkFont(t),this._calculateWrapText(t);break;case _.CLAMP:this._calculateWrapText(t);break;case _.RESIZE_HEIGHT:this._calculateWrapText(t);var c=(C.length+o.BASELINE_RATIO)*this._getLineHeight();x.height=c+B.height,z.height=c+U.height}},n})(r.default);i.default=X,e.exports=i.default}),{"../../../components/CCLabel":103,"../../../components/CCLabelOutline":void 0,"../../../components/CCLabelShadow":void 0,"../../../platform/CCMacro":154,"../../../utils/text-utils":230,"../../assembler-2d":175,"../utils":188}],188:[(function(t,e){"use strict";var i=t("./dynamic-atlas/manager"),n=cc.Color.WHITE,r={fontAtlas:null,fontSize:0,lineHeight:0,hAlign:0,vAlign:0,hash:"",fontFamily:"",fontDesc:"Arial",color:n,isOutlined:!1,out:n,margin:0};e.exports={deleteFromDynamicAtlas:function(t,e){e&&e._original&&i&&(i.deleteAtlasSpriteFrame(e),e._resetDynamicAtlasFrame())},getFontFamily:function(t){return t.useSystemFont?t.fontFamily||"Arial":t.font?t.font._nativeAsset?t.font._nativeAsset:(cc.assetManager.postLoadNative(t.font,(function(){t.isValid&&t.setVertsDirty()})),"Arial"):"Arial"},shareLabelInfo:r}}),{"./dynamic-atlas/manager":183}],189:[(function(t,e){"use strict";function i(t,e,i){i=i||2;var r,a,o,c,u,h,_,f=e&&e.length,d=f?e[0]*i:t.length,p=n(t,0,d,i,!0),v=[];if(!p)return v;if(f&&(p=l(t,e,p,i)),t.length>80*i){r=o=t[0],a=c=t[1];for(var g=i;go&&(o=u),h>c&&(c=h);_=Math.max(o-r,c-a)}return s(p,v,i,r,a,_),v}function n(t,e,i,n,r){var s,a;if(r===M(t,e,i,n)>0)for(s=e;s=e;s-=n)a=R(s,t[s],t[s+1],a);return a&&E(a,a.next)&&(w(a),a=a.next),a}function r(t,e){if(!t)return t;e||(e=t);var i,n=t;do{if(i=!1,n.steiner||!E(n,n.next)&&0!==T(n.prev,n,n.next))n=n.next;else{if(w(n),(n=e=n.prev)===n.next)return null;i=!0}}while(i||n!==e);return e}function s(t,e,i,n,l,h,_){if(t){!_&&h&&d(t,n,l,h);for(var f,p,v=t;t.prev!==t.next;)if(f=t.prev,p=t.next,h?o(t,n,l,h):a(t))e.push(f.i/i),e.push(t.i/i),e.push(p.i/i),w(t),t=p.next,v=p.next;else if((t=p)===v){_?1===_?s(t=c(t,e,i),e,i,n,l,h,2):2===_&&u(t,e,i,n,l,h):s(r(t),e,i,n,l,h,1);break}}}function a(t){var e=t.prev,i=t,n=t.next;if(T(e,i,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(m(e.x,e.y,i.x,i.y,n.x,n.y,r.x,r.y)&&T(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function o(t,e,i,n){var r=t.prev,s=t,a=t.next;if(T(r,s,a)>=0)return!1;for(var o=r.xs.x?r.x>a.x?r.x:a.x:s.x>a.x?s.x:a.x,l=r.y>s.y?r.y>a.y?r.y:a.y:s.y>a.y?s.y:a.y,h=v(o,c,e,i,n),_=v(u,l,e,i,n),f=t.nextZ;f&&f.z<=_;){if(f!==t.prev&&f!==t.next&&m(r.x,r.y,s.x,s.y,a.x,a.y,f.x,f.y)&&T(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=h;){if(f!==t.prev&&f!==t.next&&m(r.x,r.y,s.x,s.y,a.x,a.y,f.x,f.y)&&T(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0}function c(t,e,i){var n=t;do{var r=n.prev,s=n.next.next;!E(r,s)&&A(r,n,n.next,s)&&x(r,s)&&x(s,r)&&(e.push(r.i/i),e.push(n.i/i),e.push(s.i/i),w(n),w(n.next),n=t=s),n=n.next}while(n!==t);return n}function u(t,e,i,n,a,o){var c=t;do{for(var u=c.next.next;u!==c.prev;){if(c.i!==u.i&&y(c,u)){var l=S(c,u);return c=r(c,c.next),l=r(l,l.next),s(c,e,i,n,a,o),void s(l,e,i,n,a,o)}u=u.next}c=c.next}while(c!==t)}function l(t,e,i,s){var a,o,c,u=[];for(a=0,o=e.length;a=n.next.y){var o=n.x+(s-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(o<=r&&o>a){if(a=o,o===r){if(s===n.y)return n;if(s===n.next.y)return n.next}i=n.x=n.x&&n.x>=l&&m(si.x)&&x(n,t)&&(i=n,_=c),n=n.next;return i}function d(t,e,i,n){var r=t;do{null===r.z&&(r.z=v(r.x,r.y,e,i,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,p(r)}function p(t){var e,i,n,r,s,a,o,c,u=1;do{for(i=t,t=null,s=null,a=0;i;){for(a++,n=i,o=0,e=0;e0||c>0&&n;)0===o?(r=n,n=n.nextZ,c--):0!==c&&n?i.z<=n.z?(r=i,i=i.nextZ,o--):(r=n,n=n.nextZ,c--):(r=i,i=i.nextZ,o--),s?s.nextZ=r:t=r,r.prevZ=s,s=r;i=n}s.nextZ=null,u*=2}while(a>1);return t}function v(t,e,i,n,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-i)/r)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)/r)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function g(t){var e=t,i=t;do{e.x=0&&(t-a)*(n-o)-(i-a)*(e-o)>=0&&(i-a)*(s-o)-(r-a)*(n-o)>=0}function y(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!C(t,e)&&x(t,e)&&x(e,t)&&b(t,e)}function T(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function E(t,e){return t.x===e.x&&t.y===e.y}function A(t,e,i,n){return!!(E(t,e)&&E(i,n)||E(t,n)&&E(i,e))||T(t,e,i)>0!=T(t,e,n)>0&&T(i,n,t)>0!=T(i,n,e)>0}function C(t,e){var i=t;do{if(i.i!==t.i&&i.next.i!==t.i&&i.i!==e.i&&i.next.i!==e.i&&A(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}function x(t,e){return T(t.prev,t,t.next)<0?T(t,e,t.next)>=0&&T(t,t.prev,e)>=0:T(t,e,t.prev)<0||T(t,t.next,e)<0}function b(t,e){var i=t,n=!1,r=(t.x+e.x)/2,s=(t.y+e.y)/2;do{i.y>s!=i.next.y>s&&r<(i.next.x-i.x)*(s-i.y)/(i.next.y-i.y)+i.x&&(n=!n),i=i.next}while(i!==t);return n}function S(t,e){var i=new I(t.i,t.x,t.y),n=new I(e.i,e.x,e.y),r=t.next,s=e.prev;return t.next=e,e.prev=t,i.next=r,r.prev=i,n.next=i,i.prev=n,s.next=n,n.prev=s,n}function R(t,e,i,n){var r=new I(t,e,i);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function w(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function I(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function M(t,e,i,n){for(var r=0,s=e,a=i-n;s0&&(n+=t[r-1].length,i.holes.push(n))}return i}}),{}],190:[(function(t,e){"use strict";var i=t("../../../../graphics/helper"),n=t("../../../../graphics/types").PointFlags,r=cc.Graphics.Point=cc.Class({name:"cc.GraphicsPoint",extends:cc.Vec2,ctor:function(){this.reset()},reset:function(){this.dx=0,this.dy=0,this.dmx=0,this.dmy=0,this.flags=0,this.len=0}});function s(){this.reset()}function a(){this._tessTol=.25,this._distTol=.01,this._updatePathOffset=!1,this._paths=null,this._pathLength=0,this._pathOffset=0,this._points=null,this._pointsOffset=0,this._commandx=0,this._commandy=0,this._paths=[],this._points=[]}cc.js.mixin(s.prototype,{reset:function(){this.closed=!1,this.nbevel=0,this.complex=!0,this.points?this.points.length=0:this.points=[]}}),cc.js.mixin(a.prototype,{moveTo:function(t,e){this._updatePathOffset&&(this._pathOffset=this._pathLength,this._updatePathOffset=!1),this._addPath(),this._addPoint(t,e,n.PT_CORNER),this._commandx=t,this._commandy=e},lineTo:function(t,e){this._addPoint(t,e,n.PT_CORNER),this._commandx=t,this._commandy=e},bezierCurveTo:function(t,e,r,s,a,o){var c=this._curPath,u=c.points[c.points.length-1];u.x!==t||u.y!==e||r!==a||s!==o?(i.tesselateBezier(this,u.x,u.y,t,e,r,s,a,o,0,n.PT_CORNER),this._commandx=a,this._commandy=o):this.lineTo(a,o)},quadraticCurveTo:function(t,e,i,n){var r=this._commandx,s=this._commandy;this.bezierCurveTo(r+2/3*(t-r),s+2/3*(e-s),i+2/3*(t-i),n+2/3*(e-n),i,n)},arc:function(t,e,n,r,s,a){i.arc(this,t,e,n,r,s,a)},ellipse:function(t,e,n,r){i.ellipse(this,t,e,n,r),this._curPath.complex=!1},circle:function(t,e,n){i.ellipse(this,t,e,n,n),this._curPath.complex=!1},rect:function(t,e,i,n){this.moveTo(t,e),this.lineTo(t,e+n),this.lineTo(t+i,e+n),this.lineTo(t+i,e),this.close(),this._curPath.complex=!1},roundRect:function(t,e,n,r,s){i.roundRect(this,t,e,n,r,s),this._curPath.complex=!1},clear:function(t){this._pathLength=0,this._pathOffset=0,this._pointsOffset=0,this._curPath=null,t&&(this._paths.length=0,this._points.length=0)},close:function(){this._curPath.closed=!0},_addPath:function(){var t=this._pathLength,e=this._paths[t];return e?e.reset():(e=new s,this._paths.push(e)),this._pathLength++,this._curPath=e,e},_addPoint:function(t,e,i){var n=this._curPath;if(n){var s,a=this._points,o=n.points;(s=a[this._pointsOffset++])?(s.x=t,s.y=e):(s=new r(t,e),a.push(s)),s.flags=i,o.push(s)}}}),cc.Graphics._Impl=a,e.exports=a}),{"../../../../graphics/helper":139,"../../../../graphics/types":141}],191:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=s(t("../../../assembler")),r=s(t("../../../../../renderer/core/input-assembler"));function s(t){return t&&t.__esModule?t:{default:t}}function a(t,e){return(a=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var o=t("../../mesh-buffer"),c=t("../../../index"),u=t("../../../../graphics/graphics"),l=t("../../../../graphics/types").PointFlags,h=u.LineJoin,_=u.LineCap,f=t("./earcut");t("./impl");var d=Math.PI,p=Math.min,v=Math.max,g=Math.ceil,m=Math.acos,y=Math.cos,T=Math.sin,E=Math.atan2;function A(t,e,i){return ti?i:t}var C=cc.gfx,x=new C.VertexFormat([{name:C.ATTR_POSITION,type:C.ATTR_TYPE_FLOAT32,num:2},{name:C.ATTR_COLOR,type:C.ATTR_TYPE_UINT8,num:4,normalize:!0},{name:"a_dist",type:C.ATTR_TYPE_FLOAT32,num:1}]);x.name="vfmtPosColorSdf";var b=(function(t){var e,i;function n(e){var i;return(i=t.call(this,e)||this)._buffer=null,i._buffers=[],i._bufferOffset=0,i}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,a(e,i);var s=n.prototype;return s.getVfmt=function(){return x},s.getVfmtFloatCount=function(){return 4},s.requestBuffer=function(){var t={indiceStart:0,vertexStart:0},e=new o(c._handle,this.getVfmt());t.meshbuffer=e;var i=new r.default(e._vb,e._ib);return t.ia=i,this._buffers.push(t),t},s.getBuffers=function(){return 0===this._buffers.length&&this.requestBuffer(),this._buffers},s.clear=function(t){this._bufferOffset=0;var e=this._buffers;if(t){for(var i=0,n=e.length;i65535||3*s>131070)&&(++this._bufferOffset,s=e,this._bufferOffsetr.vertexOffset&&r.requestStatic(e,3*e),this._buffer=n,n},s.stroke=function(t){this._curColor=t._strokeColor._val,this._flattenPaths(t._impl),this._expandStroke(t),t._impl._updatePathOffset=!0},s.fill=function(t){this._curColor=t._fillColor._val,this._expandFill(t),t._impl._updatePathOffset=!0},s._expandStroke=function(t){var e,i,n,r,s=.5*t.lineWidth,a=t.lineCap,o=t.lineJoin,c=t.miterLimit,u=t._impl,f=(e=s,i=d,n=u._tessTol,r=2*m(e/(e+n)),v(2,g(i/r)));this._calculateJoins(u,s,o,c);for(var p=u._paths,y=0,T=u._pathOffset,E=u._pathLength;T0&&(r=1/e);for(var a=t._paths,o=t._pathOffset,c=t._pathLength;o1e-6){var b=1/y;b>600&&(b=600),g.dmx*=b,g.dmy*=b}g.dx*d.dy-d.dx*g.dy>0&&(g.flags|=l.PT_LEFT),y*(T=v(11,p(d.len,g.len)*r))*T<1&&(g.flags|=l.PT_INNERBEVEL);var S=g.dmx*e,R=g.dmy*e,w=S*S+R*R;w>g.len*g.len+s&&w>d.len*d.len+s&&(g.flags|=l.PT_INNERBEVEL),g.flags&l.PT_CORNER&&(y*n*n<1||i===h.BEVEL||i===h.ROUND)&&(g.flags|=l.PT_BEVEL),0!=(g.flags&(l.PT_BEVEL|l.PT_INNERBEVEL))&&u.nbevel++,d=g,g=_[m+1]}}},s._flattenPaths=function(t){for(var e=t._paths,i=t._pathOffset,n=t._pathLength;i2&&a.equals(o)&&(r.closed=!0,s.pop(),a=s[s.length-1]);for(var c=0,u=s.length;cC&&(x-=2*d),this._vset(f,p,1),this._vset(u-s*n,e.y-a*n,-1);for(var b=A(g((C-x)/d)*r,2,r),S=0;S "+n+"/"+i+".")},e._updateCfgFlag=function(t){var e=this._cfgFields.updateFlags;this._setBufferFlag(this._cfg,e.offset,e.size,e.type,t)},e._setBufferValue=function(t,e,i,n,r){"float"==n&&4==i?t.setFloat32(e,r,jsb.__isLittleEndian__):"int32"==n&&4==i?t.setInt32(e,r,jsb.__isLittleEndian__):"bool"==n&&1==i?t.setInt8(e,r?1:0,jsb.__isLittleEndian__):"Color4B"==n&&4==i?(t.setUint8(e,r.r),t.setUint8(e+1,r.g),t.setUint8(e+2,r.b),t.setUint8(e+3,r.a)):"int8"==n&&1==i?t.setUint8(e,r):cc.warn("dont know how to set value to buffer, type/size -> "+n+"/"+i+".")},e._setFieldValue=function(t,e,i,n){var r=e[i];this._setBufferValue(t,r.offset,r.size,r.type,n)},e._getBufferValue=function(t,e,i,n){return"float"==n&&4==i?t.getFloat32(e,jsb.__isLittleEndian__):"int32"==n&&4==i?t.getInt32(e,jsb.__isLittleEndian__):"bool"==n&&1==i?0!=t.getInt8(e,jsb.__isLittleEndian__):"Color4B"==n&&4==i?{r:t.getUint8(e),g:t.getUint8(e+1),b:t.getUint8(e+2),a:t.getUint8(e+3)}:"int8"==n&&1==i?t.getUint8(e):void cc.warn("dont know how to get value from buffer, type/size -> "+n+"/"+i+".")},e._getFieldValue=function(t,e,i){var n=e[i];return this._getBufferValue(t,n.offset,n.size,n.type)},e._getLayoutValue=function(t){return this._getFieldValue(this._layoutInfo,this._layoutFields,t)},e._setLayoutValue=function(t,e){return this._setFieldValue(this._layoutInfo,this._layoutFields,t,e)},e._updateCfgFlag_Content=function(){this._updateCfgFlag(1)},e._updateCfgFlag_Font=function(){this._updateCfgFlag(2)},e._colorEqual=function(t,e){return t.r==e.r&&t.g==e.g&&t.b==e.b&&t.a==e.a},e._colorToObj=function(t,e,i,n){return{r:t,g:e,b:i,a:n}},e.setString=function(t){t!=this._layout.string&&(this._layout.string=t,this._updateCfgFlag_Content())},e.setFontPath=function(t){t!=this._layout.fontPath&&(this._layout.fontPath=t,this._updateCfgFlag_Font())},e.setFontSize=function(t,e){this._getFieldValue(this._cfg,this._cfgFields,"fontSize")!=t&&(this._setFieldValue(this._cfg,this._cfgFields,"fontSize",t),this._setFieldValue(this._cfg,this._cfgFields,"fontSizeRetina",e),this._updateCfgFlag_Font())},e.setOutline=function(t){var e=this._getLayoutValue("outlineSize");e>0!=t>0&&this._updateCfgFlag_Font(),e!=t&&(this._updateCfgFlag_Content(),this._setLayoutValue("outlineSize",t))},e.setOutlineColor=function(t){var e=this._getLayoutValue("outlineColor");this._colorEqual(e,t)||(this._setLayoutValue("outlineColor",t),this._updateCfgFlag_Content())},e.setLineHeight=function(t){this._getLayoutValue("lineHeight")!=t&&(this._setLayoutValue("lineHeight",t),this._updateCfgFlag_Content())},e.setOverFlow=function(t){this._getLayoutValue("overflow")!=t&&(this._setLayoutValue("overflow",t),this._updateCfgFlag_Content())},e.setEnableWrap=function(t){this._getLayoutValue("wrap")!=t&&(this._setLayoutValue("wrap",t),this._updateCfgFlag_Content())},e.setVerticalAlign=function(t){this._getLayoutValue("valign")!=t&&(this._setLayoutValue("valign",t),this._updateCfgFlag_Content())},e.setHorizontalAlign=function(t){this._getLayoutValue("halign")!=t&&(this._setLayoutValue("halign",t),this._updateCfgFlag_Content())},e.setContentSize=function(t,e){var i=this._getLayoutValue("width"),n=this._getLayoutValue("height");i==t&&n==e||(this._setLayoutValue("height",e),this._setLayoutValue("width",t),this._updateCfgFlag_Content())},e.setAnchorPoint=function(t,e){var i=this._getLayoutValue("anchorX"),n=this._getLayoutValue("anchorY");i==t&&n==e||(this._setLayoutValue("anchorX",t),this._setLayoutValue("anchorY",e),this._updateCfgFlag_Content())},e.setColor=function(t){var e=this._getLayoutValue("color");this._colorEqual(e,t)||(this._setLayoutValue("color",t),this._updateCfgFlag_Content())},e.setShadow=function(t,e,i){var n=this._getLayoutValue("shadowBlur"),r=this._getLayoutValue("shadowX"),s=this._getLayoutValue("shadowY");n>0!=i>0&&this._updateCfgFlag_Font();var a=!1;n!=i&&(this._setLayoutValue("shadowBlur",i),a=!0),r!=t&&(this._setLayoutValue("shadowX",t),a=!0),s!=e&&(this._setLayoutValue("shadowY",e),a=!0),a&&this._updateCfgFlag_Content()},e.setShadowColor=function(t){var e=this._getLayoutValue("shadowColor");this._colorEqual(e,t)||(this._setLayoutValue("shadowColor",t),this._updateCfgFlag_Content())},e.setItalic=function(t){this._getLayoutValue("italic")!=t&&(this._setLayoutValue("italic",t),this._updateCfgFlag_Content())},e.setBold=function(t){this._getLayoutValue("bold")!=t&&(this._setLayoutValue("bold",t),this._updateCfgFlag_Content(),this._updateCfgFlag_Font())},e.setUnderline=function(t){this._getLayoutValue("underline")!=t&&(this._setLayoutValue("underline",t),this._updateCfgFlag_Content())},e.setSpacingX=function(t){this._getLayoutValue("spaceX")==t||"number"!=typeof t||isNaN(t)||(this._setLayoutValue("spaceX",t),this._updateCfgFlag_Content())},e.updateRenderData=function(t){if(t._vertsDirty){t.font&&t.font.nativeUrl&&this.setFontPath(cc.assetManager.cacheManager.getCache(t.font.nativeUrl)||t.font.nativeUrl);var e=this._layout,i=t.node.color,n=t.node,r=t.fontSize;this.setString(t.string),this.setFontSize(t.fontSize,r/72*t.fontSize),this.setLineHeight(t.lineHeight),this.setEnableWrap(t.enableWrapText),this.setItalic(t.enableItalic),this.setUnderline(t.enableUnderline),this.setBold(t.enableBold),this.setOverFlow(t.overflow),this.setVerticalAlign(t.verticalAlign),this.setHorizontalAlign(t.horizontalAlign),this.setSpacingX(t.spacingX),this.setContentSize(n.getContentSize().width,n.getContentSize().height),this.setAnchorPoint(n.anchorX,n.anchorY),this.setColor(this._colorToObj(i.getR(),i.getG(),i.getB(),Math.ceil(i.getA()*n.opacity/255)));var s=n.getComponent(cc.LabelShadow);if(s&&s.enabled){var a=s.color;this.setShadow(s.offset.x,s.offset.y,s.blur),this.setShadowColor(this._colorToObj(a.getR(),a.getG(),a.getB(),Math.ceil(a.getA()*n.opacity/255)))}else this.setShadow(0,0,-1);this._updateTTFMaterial(t),e.render()}},e._bindMaterial=function(t){var e=this.labelMaterial;return e||(e=r.default.createWithBuiltin("2d-label",t),this.labelMaterial=e),e},e._updateTTFMaterial=function(t){var e=this._bindMaterial(t),i=this._label.node,n=this._layout,r=i.getComponent(cc.LabelOutline),s=0;if(r&&r.enabled&&r.width>0){s=Math.max(Math.min(r.width/10,.4),.1);var a=r.color;this.setOutlineColor(this._colorToObj(a.getR(),a.getG(),a.getB(),Math.ceil(a.getA()*i.opacity/255)))}this.setOutline(s),e.define("CC_USE_MODEL",!0),e.define("USE_TEXTURE_ALPHAONLY",!0),e.define("USE_SDF",s>0||t.enableBold),e.define("USE_SDF_EXTEND",t.enableBold?1:0),void 0!==e.getDefine("CC_SUPPORT_standard_derivatives")&&cc.sys.glExtension("OES_standard_derivatives")&&e.define("CC_SUPPORT_standard_derivatives",!0),n.setEffect(e.effect._nativeObj)},e.fillBuffers=function(){this._layout.render()},e.getVfmt=function(){},t})();i.default=s,e.exports=i.default}),{"../../../../../assets/material/CCMaterial":77,"../../../../../assets/material/material-variant":84,"../../../../../components/CCLabel":103,"../../../../../components/CCLabelOutline":void 0,"../../../../../components/CCLabelShadow":void 0}],196:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../../../utils/label/ttf"))&&n.__esModule?n:{default:n};function s(t,e){return(s=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var a=t("../../../../../components/CCLabelShadow"),o=cc.color(255,255,255,255),c=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,s(e,i);var r=n.prototype;return r.updateUVs=function(t){for(var e=this._renderData.vDatas[0],i=t._frame.uv,n=this.uvOffset,r=this.floatsPerVert,s=0;s<4;s++){var a=2*s,o=r*s+n;e[o]=i[a],e[o+1]=i[a+1]}},r.updateColor=function(e){o._fastSetA(e.node._color.a);var i=o._val;t.prototype.updateColor.call(this,e,i)},r.updateVerts=function(t){var e=t.node,i=t._ttfTexture.width,n=t._ttfTexture.height,r=e.anchorX*e.width,s=e.anchorY*e.height,o=a&&t.getComponent(a);if(o&&o._enabled){var c=(i-e.width)/2,u=(n-e.height)/2,l=o.offset;-l.x>c?r+=i-e.width:c>l.x&&(r+=c-l.x),-l.y>u?s+=n-e.height:u>l.y&&(s+=u-l.y)}var h=this._local;h[0]=-r,h[1]=-s,h[2]=i-r,h[3]=n-s,this.updateUVs(t),this.updateWorldVerts(t)},n})(r.default);i.default=c,e.exports=i.default}),{"../../../../../components/CCLabelShadow":void 0,"../../../../utils/label/ttf":187}],197:[(function(t){"use strict";var e=u(t("../../../assembler")),i=u(t("../../../../components/CCLabel")),n=u(t("./2d/ttf")),r=u(t("./2d/bmfont")),s=u(t("./2d/letter")),a=u(t("./3d/ttf")),o=u(t("./3d/bmfont")),c=u(t("./3d/letter"));function u(t){return t&&t.__esModule?t:{default:t}}i.default._canvasPool={pool:[],get:function(){var t=this.pool.pop();if(!t){var e=document.createElement("canvas"),i=e.getContext("2d");t={canvas:e,context:i},i.textBaseline="alphabetic"}return t},put:function(t){this.pool.length>=32||this.pool.push(t)}},e.default.register(cc.Label,{getConstructor:function(t){var e=t.node.is3DNode,u=e?a.default:n.default;return t.font instanceof cc.BitmapFont?u=e?o.default:r.default:t.cacheMode===i.default.CacheMode.CHAR&&(cc.sys.platform===cc.sys.WECHAT_GAME_SUB?cc.warn("sorry, subdomain does not support CHAR mode currently!"):u=e?c.default:s.default),u},TTF:n.default,Bmfont:r.default,Letter:s.default,TTF3D:a.default,Bmfont3D:o.default,Letter3D:c.default,NativeTTF:void 0})}),{"../../../../components/CCLabel":103,"../../../assembler":177,"./2d/bmfont":193,"./2d/letter":194,"./2d/nativeTTF":195,"./2d/ttf":196,"./3d/bmfont":void 0,"./3d/letter":void 0,"./3d/ttf":void 0}],198:[(function(t,e,i){"use strict";i.__esModule=!0,i.MaskAssembler=void 0;var n,r=(n=t("../../assembler"))&&n.__esModule?n:{default:n};function s(t,e){return(s=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var a=t("../../../components/CCMask"),o=t("../../render-flow"),c=t("./sprite/2d/simple"),u=t("./graphics"),l=t("../../../../renderer/gfx"),h=t("../vertex-format").vfmtPos,_=8,f=[];function d(){return 1<_&&cc.errorID(9e3,_),f.push(t)}function m(t,e){0===f.length&&cc.errorID(9001),f.pop(),0===f.length?e._flushMaterial(t._exitMaterial):E(e)}function y(t,e){var i=l.DS_FUNC_NEVER,n=d(),r=n,s=n,a=t.inverted?l.STENCIL_OP_REPLACE:l.STENCIL_OP_ZERO;v(t._clearMaterial,i,a,n,r,s);var o=e.getBuffer("mesh",h),c=o.request(4,6),u=c.indiceOffset,_=c.byteOffset>>2,f=c.vertexOffset,p=o._vData,g=o._iData;p[_++]=-1,p[_++]=-1,p[_++]=-1,p[_++]=1,p[_++]=1,p[_++]=1,p[_++]=1,p[_++]=-1,g[u++]=f,g[u++]=f+3,g[u++]=f+1,g[u++]=f+1,g[u++]=f+3,g[u++]=f+2,e.node=e._dummyNode,e.material=t._clearMaterial,e._flush()}function T(t,e){var i=l.DS_FUNC_NEVER,n=d(),r=n,s=n,o=t.inverted?l.STENCIL_OP_ZERO:l.STENCIL_OP_REPLACE;v(t._materials[0],i,o,n,r,s),e.material=t._materials[0],t._type===a.Type.IMAGE_STENCIL?(e.node=e._dummyNode,c.prototype.fillBuffers.call(t._assembler,t,e),e._flush()):(e.node=t.node,u.prototype.fillBuffers.call(t._graphics._assembler,t._graphics,e))}function E(t){var e=l.DS_FUNC_EQUAL,i=l.STENCIL_OP_KEEP,n=p(),r=n,s=d(),a=f[f.length-1];v(a._enableMaterial,e,i,n,r,s),t._flushMaterial(a._enableMaterial)}var A=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,s(e,i);var r=n.prototype;return r.updateRenderData=function(t){t._type===a.Type.IMAGE_STENCIL?t.spriteFrame?c.prototype.updateRenderData.call(this,t):t.setMaterial(0,null):(t._graphics.setMaterial(0,t._materials[0]),u.prototype.updateRenderData.call(t._graphics._assembler,t._graphics,t._graphics))},r.fillBuffers=function(t,e){(t._type!==a.Type.IMAGE_STENCIL||t.spriteFrame)&&(g(t),y(t,e),T(t,e),E(e)),t.node._renderFlag|=o.FLAG_UPDATE_RENDER_DATA},r.postFillBuffers=function(t,e){(t._type!==a.Type.IMAGE_STENCIL||t.spriteFrame)&&m(t,e),t.node._renderFlag|=o.FLAG_UPDATE_RENDER_DATA},n})(c);i.MaskAssembler=A,r.default.register(a,A)}),{"../../../../renderer/gfx":265,"../../../components/CCMask":105,"../../assembler":177,"../../render-flow":181,"../vertex-format":213,"./graphics":191,"./sprite/2d/simple":203}],199:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../assembler-2d"))&&n.__esModule?n:{default:n};function s(t,e){return(s=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var a=t("../../../components/CCMotionStreak"),o=t("../../render-flow");function c(t,e){this.point=t||cc.v2(),this.dir=e||cc.v2(),this.distance=0,this.time=0}c.prototype.setPoint=function(t,e){this.point.x=t,this.point.y=e},c.prototype.setDir=function(t,e){this.dir.x=t,this.dir.y=e},cc.v2(),cc.v2();var u=cc.v2(),l=cc.v2();function h(t,e){return t.x=-e.y,t.y=e.x,t}var _=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,s(e,i);var r=n.prototype;return r.initData=function(){this._renderData.createFlexData(0,16,42)},r.update=function(t,e){var i,n=t._stroke/2,r=t.node._worldMatrix.m,s=r[12],a=r[13],o=t._points;if(o.length>1){var _=o[0].point.x-s,f=o[0].point.y-a;_*_+f*f=0;R--){var w=o[R],I=w.point,M=w.dir;if(w.time-=e,w.time<0)o.splice(R,1);else{var O=w.time/b,D=o[R-1];if(!S){if(!D){o.splice(R,1);continue}I.x=D.point.x-M.x*O,I.y=D.point.y-M.y*O}S=!0,h(u,M);var L=(O*T<<24>>>0)+(y<<16)+(m<<8)+g,P=5*p;C[P]=I.x+u.x*n,C[P+1]=I.y+u.y*n,C[P+2]=1,C[P+3]=O,x[P+4]=L,C[P+=5]=I.x-u.x*n,C[P+1]=I.y-u.y*n,C[P+2]=0,C[P+3]=O,x[P+4]=L,p+=2}}d=p<=2?0:3*(p-2),A.used(p,d)}},r.fillBuffers=function(t,e){var i=this._renderData._flexBuffer,n=i.vData,r=i.usedVertices,s=i.usedIndices,a=i.usedVerticesFloats,c=e._meshBuffer,u=c.request(r,s),l=u.byteOffset>>2,h=c._vData;n.length+l>h.length?h.set(n.subarray(0,a),l):h.set(n,l);for(var _=c._iData,f=u.indiceOffset,d=u.vertexOffset,p=0,v=r;p1?1:n)<0?0:n;var r=(i=(i=i>1?1:i)<0?0:i)+(n=(n-=i)<0?0:n);r=r>1?1:r,this.updateUVs(t,i,r),this.updateVerts(t,i,r),t._vertsDirty=!1}},r.updateUVs=function(t,e,i){var n,r,s,o,c,u,l,h,_,f,d=t._spriteFrame,p=d._texture.width,v=d._texture.height,g=d._rect;d._rotated?(n=g.x/p,r=(g.y+g.width)/v,s=c=n,l=_=(g.x+g.height)/p,u=f=r,o=h=g.y/v):(n=g.x/p,r=(g.y+g.height)/v,s=l=n,c=_=(g.x+g.width)/p,o=u=r,h=f=g.y/v);var m=this._renderData.vDatas[0],y=this.uvOffset,T=this.floatsPerVert;switch(t._fillType){case a.HORIZONTAL:m[y]=s+(c-s)*e,m[y+1]=o+(u-o)*e,m[y+T]=s+(c-s)*i,m[y+T+1]=o+(u-o)*i,m[y+2*T]=l+(_-l)*e,m[y+2*T+1]=h+(f-h)*e,m[y+3*T]=l+(_-l)*i,m[y+3*T+1]=h+(f-h)*i;break;case a.VERTICAL:m[y]=s+(l-s)*e,m[y+1]=o+(h-o)*e,m[y+T]=c+(_-c)*e,m[y+T+1]=u+(f-u)*e,m[y+2*T]=s+(l-s)*i,m[y+2*T+1]=o+(h-o)*i,m[y+3*T]=c+(_-c)*i,m[y+3*T+1]=u+(f-u)*i;break;default:cc.errorID(2626)}},r.updateVerts=function(t,e,i){var n,r=t.node,s=r.width,o=r.height,c=r.anchorX*s,u=r.anchorY*o,l=-c,h=-u,_=s-c,f=o-u;switch(t._fillType){case a.HORIZONTAL:n=l+(_-l)*i,l+=(_-l)*e,_=n;break;case a.VERTICAL:n=h+(f-h)*i,h+=(f-h)*e,f=n;break;default:cc.errorID(2626)}var d=this._local;d[0]=l,d[1]=h,d[2]=_,d[3]=f,this.updateWorldVerts(t)},n})(r.default);i.default=o,e.exports=i.default}),{"../../../../../components/CCSprite":115,"../../../../assembler-2d":175}],201:[(function(t,e,i){"use strict";var n;function r(t,e){return(r=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}i.__esModule=!0,i.default=void 0;var s=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,r(e,i);var s=n.prototype;return s.initData=function(){this._renderData.createFlexData(0,4,6,this.getVfmt())},s.updateRenderData=function(t){this.packToDynamicAtlas(t,t._spriteFrame);var e=t.spriteFrame;if(e){var i=e.vertices;if(i){this.verticesCount=i.x.length,this.indicesCount=i.triangles.length;var n=this._renderData._flexBuffer;n.reserve(this.verticesCount,this.indicesCount)&&(this.updateColor(t),t._vertsDirty=!0),n.used(this.verticesCount,this.indicesCount),this.updateIndices(i.triangles),t._vertsDirty&&(this.updateUVs(t),this.updateVerts(t),this.updateWorldVerts(t),t._vertsDirty=!1)}}},s.updateIndices=function(t){this._renderData.iDatas[0].set(t)},s.updateUVs=function(t){for(var e=t.spriteFrame.vertices,i=e.nu,n=e.nv,r=this.uvOffset,s=this.floatsPerVert,a=this._renderData.vDatas[0],o=0;o0){var h=r.y+o*(t-r.x);a[0].x=t,a[0].y=h}if((e-r.x)*l>0){var _=r.y+o*(e-r.x);a[2].x=e,a[2].y=_}}if(0!==Math.sin(s)){if(c=l/u,(n-r.y)*u>0){var f=r.x+c*(n-r.y);a[3].x=f,a[3].y=n}if((i-r.y)*u>0){var d=r.x+c*(i-r.y);a[1].x=d,a[1].y=i}}}function p(t){var e=t.node,i=e.width,n=e.height,r=e.anchorX*i,s=e.anchorY*n,a=-r,u=-s,l=i-r,h=n-s,d=c;d[0]=a,d[1]=u,d[2]=l,d[3]=h;var p=t._fillCenter,v=_.x=Math.min(Math.max(0,p.x),1)*(l-a)+a,g=_.y=Math.min(Math.max(0,p.y),1)*(h-u)+u;o[0].x=o[3].x=a,o[1].x=o[2].x=l,o[0].y=o[1].y=u,o[2].y=o[3].y=h,f.length=0,v!==d[0]&&(f[0]=[3,0]),v!==d[2]&&(f[2]=[1,2]),g!==d[1]&&(f[1]=[0,1]),g!==d[3]&&(f[3]=[2,3])}function v(t,e){var i,n;if(i=e.x-t.x,n=e.y-t.y,0!==i||0!==n){if(0===i)return n>0?.5*Math.PI:1.5*Math.PI;var r=Math.atan(n/i);return i<0&&(r+=Math.PI),r}}var g=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,s(e,i);var r=n.prototype;return r.initData=function(){this._renderData.createFlexData(0,4,6,this.getVfmt()),this.updateIndices()},r.updateRenderData=function(e){t.prototype.updateRenderData.call(this,e);var i,n,r,s,o,f,v,g,m,y=e.spriteFrame;if(this.packToDynamicAtlas(e,y),e._vertsDirty){var T=e._fillStart,E=e._fillRange;for(E<0&&(T+=E,E=-E);T>=1;)T-=1;for(;T<0;)T+=1;T*=a,E*=a,p(e),f=(i=y)._texture.width,v=i._texture.height,g=i._rect,m=u,i._rotated?(n=g.x/f,r=(g.x+g.height)/f,s=g.y/v,o=(g.y+g.width)/v,m[0]=m[2]=n,m[4]=m[6]=r,m[3]=m[7]=o,m[1]=m[5]=s):(n=g.x/f,r=(g.x+g.width)/f,s=g.y/v,o=(g.y+g.height)/v,m[0]=m[4]=n,m[2]=m[6]=r,m[1]=m[3]=o,m[5]=m[7]=s),d(c[0],c[2],c[1],c[3],_,T,l),d(c[0],c[2],c[1],c[3],_,T+E,h),this.updateVerts(e,T,E),e._vertsDirty=!1}},r.updateVerts=function(t,e,i){var n=e+i,r=this._local;r.length=0;for(var s=0,c=3*this.floatsPerVert,u=0;u<4;++u){var d=f[u];if(d)if(i>=a)r.length=s+c,this._generateTriangle(r,s,_,o[d[0]],o[d[1]]),s+=c;else{var p=v(_,o[d[0]]),g=v(_,o[d[1]]);g=n||(p>=e?(r.length=s+c,g>=n?this._generateTriangle(r,s,_,o[d[0]],h[u]):this._generateTriangle(r,s,_,o[d[0]],o[d[1]]),s+=c):g<=e||(g<=n?(r.length=s+c,this._generateTriangle(r,s,_,l[u],o[d[1]]),s+=c):(r.length=s+c,this._generateTriangle(r,s,_,l[u],h[u]),s+=c))),p+=a,g+=a}}this.allocWorldVerts(t),this.updateWorldVerts(t)},r.allocWorldVerts=function(t){var e=t.node._color._val,i=this._renderData,n=this.floatsPerVert,r=this._local,s=r.length/n;this.verticesCount=this.indicesCount=s;var a=i._flexBuffer;a.reserve(s,s)&&this.updateIndices(),a.used(this.verticesCount,this.indicesCount);for(var o=i.vDatas[0],c=i.uintVDatas[0],u=this.uvOffset,l=0;l0)){this._renderData.createData(0,this.verticesFloats,this.indicesCount);for(var t=this._renderData.iDatas[0],e=0,i=0;i<3;++i)for(var n=0;n<3;++n){var r=4*i+n;t[e++]=r,t[e++]=r+1,t[e++]=r+4,t[e++]=r+1,t[e++]=r+5,t[e++]=r+4}}},s.initLocal=function(){this._local=[],this._local.length=8},s.updateRenderData=function(t){var e=t._spriteFrame;this.packToDynamicAtlas(t,e),t._vertsDirty&&(this.updateUVs(t),this.updateVerts(t),t._vertsDirty=!1)},s.updateVerts=function(t){var e=t.node,i=e.width,n=e.height,r=e.anchorX*i,s=e.anchorY*n,a=t.spriteFrame,o=a.insetLeft,c=a.insetRight,u=a.insetTop,l=a.insetBottom,h=i-o-c,_=n-u-l,f=i/(o+c),d=n/(u+l);f=isNaN(f)||f>1?1:f,d=isNaN(d)||d>1?1:d,h=h<0?0:h,_=_<0?0:_;var p=this._local;p[0]=-r,p[1]=-s,p[2]=o*f-r,p[3]=l*d-s,p[4]=p[2]+h,p[5]=p[3]+_,p[6]=i-r,p[7]=n-s,this.updateWorldVerts(t)},s.updateUVs=function(t){for(var e=this._renderData.vDatas[0],i=t.spriteFrame.uvSliced,n=this.uvOffset,r=this.floatsPerVert,s=0;s<4;++s)for(var a=0;a<4;++a){var o=4*s+a,c=i[o],u=o*r;e[u+n]=c.u,e[u+n+1]=c.v}},s.updateWorldVerts=function(t){for(var e=t.node._worldMatrix.m,i=e[0],n=e[1],r=e[4],s=e[5],a=e[12],o=e[13],c=this._local,u=this._renderData.vDatas[0],l=this.floatsPerVert,h=0;h<4;++h)for(var _=c[2*h+1],f=0;f<4;++f){var d=c[2*f],p=(4*h+f)*l;u[p]=d*i+_*r+a,u[p+1]=d*n+_*s+o}},n})(((n=t("../../../../assembler-2d"))&&n.__esModule?n:{default:n}).default);i.default=s,Object.assign(s.prototype,{verticesCount:16,indicesCount:54}),e.exports=i.default}),{"../../../../assembler-2d":175}],205:[(function(t,e,i){"use strict";var n;function r(t,e){return(r=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}i.__esModule=!0,i.default=void 0;var s=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,r(e,i);var s=n.prototype;return s.initData=function(){this.verticesCount=0,this.contentWidth=0,this.contentHeight=0,this.rectWidth=0,this.rectHeight=0,this.hRepeat=0,this.vRepeat=0,this.row=0,this.col=0,this._renderData.createFlexData(0,4,6,this.getVfmt()),this._updateIndices()},s.initLocal=function(){this._local={x:[],y:[]}},s._updateIndices=function(){for(var t=this._renderData.iDatas[0],e=0,i=0,n=t.length;e0?this.sizableWidth:0,this.sizableHeight=this.sizableHeight>0?this.sizableHeight:0;var _=this.hRepeat=0===c?this.sizableWidth:this.sizableWidth/c,f=this.vRepeat=0===h?this.sizableHeight:this.sizableHeight/h,d=(this.row=Math.ceil(f+2))*(this.col=Math.ceil(_+2));this.verticesCount=4*d,this.indicesCount=6*d;var p=this._renderData._flexBuffer;p.reserve(this.verticesCount,this.indicesCount)&&(this._updateIndices(),this.updateColor(t)),p.used(this.verticesCount,this.indicesCount),t._vertsDirty&&(this.updateUVs(t),this.updateVerts(t),t._vertsDirty=!1)},s.updateVerts=function(t){var e=t._spriteFrame,i=e._rect,n=t.node,r=n.anchorX*n.width,s=n.anchorY*n.height,a=this.row,o=this.col,c=this.contentWidth,u=this.contentHeight,l=this._local,h=l.x,_=l.y;h.length=_.length=0;var f,d,p=e.insetLeft,v=e.insetRight,g=i.width-p-v,m=e.insetTop,y=e.insetBottom,T=i.height-m-y,E=n.width/(p+v)>1?1:n.width/(p+v),A=n.height/(m+y)>1?1:n.height/(m+y);f=g>0?Math.floor(1e3*this.sizableWidth)/1e3%g==0?g:this.sizableWidth%g:this.sizableWidth,d=T>0?Math.floor(1e3*this.sizableHeight)/1e3%T==0?T:this.sizableHeight%T:this.sizableHeight;for(var C=0;C<=o;C++)0===C?h[C]=-r:C>0&&C0?C===o-1?p+f+g*(C-2)-r:p+Math.min(g,this.sizableWidth)+g*(C-2)-r:p+this.sizableWidth-r:C===o&&(h[C]=Math.min(p+this.sizableWidth+v,c)-r);for(var x=0;x<=a;x++)0===x?_[x]=-s:x>0&&x0?x===a-1?y+d+(x-2)*T-s:y+Math.min(T,this.sizableHeight)+(x-2)*T-s:y+this.sizableHeight-s:x===a&&(_[x]=Math.min(y+this.sizableHeight+m,u)-s);this.updateWorldVerts(t)},s.updateWorldVerts=function(t){for(var e,i,n,r,s=this._renderData,a=this._local,o=a.x,c=a.y,u=s.vDatas[0],l=this.row,h=this.col,_=t.node._worldMatrix.m,f=_[0],d=_[1],p=_[4],v=_[5],g=_[12],m=_[13],y=this.floatsPerVert,T=0,E=0,A=l;Eu?this.sizableHeight>=C*u?1:f%1:f;for(var b=0,S=h;ba?this.sizableWidth>=b*a?1:_%1:_,m?(0===C?(E[0]=g[0].u,E[1]=g[0].u,E[2]=g[4].u+(g[8].u-g[4].u)*p):C>2,n=this.vData.length,r=!1;if(i>n){for(;ns){for(;s>2,this._handler.updateMeshRange(t,e)},e.reset=function(){var t=this._initVerticesCount*this._verticesBytes>>2;this._reallocVData(t),this._reallocIData(this._initIndicesCount),this.usedVertices=0,this.usedVerticesFloats=0,this.usedIndices=0},t})();i.default=n,cc.FlexBuffer=n,e.exports=i.default}),{}],208:[(function(t,e){"use strict";var i,n=(i=t("../../../renderer/gfx"))&&i.__esModule?i:{default:i},r=(cc.sys.os===cc.sys.OS_IOS||cc.sys.os===cc.sys.OS_OSX)&&cc.sys.isBrowser&&/(OS 1[4-9])|(Version\/1[4-9])/.test(window.navigator.userAgent),s=cc.Class({name:"cc.MeshBuffer",ctor:function(t,e){this.init(t,e)},init:function(t,e){this.byteOffset=0,this.indiceOffset=0,this.vertexOffset=0,this.indiceStart=0,this._dirty=!1,this._vertexFormat=e,this._vertexBytes=this._vertexFormat._bytes,this._arrOffset=0,this._vbArr=[],this._vb=new n.default.VertexBuffer(t._device,e,n.default.USAGE_DYNAMIC,new ArrayBuffer,0),this._vbArr[0]=this._vb,this._ibArr=[],this._ib=new n.default.IndexBuffer(t._device,n.default.INDEX_FMT_UINT16,n.default.USAGE_STATIC,new ArrayBuffer,0),this._ibArr[0]=this._ib,this._vData=null,this._uintVData=null,this._iData=null,this._batcher=t,this._initVDataCount=256*e._bytes,this._initIDataCount=1536,this._offsetInfo={byteOffset:0,vertexOffset:0,indiceOffset:0},this._reallocBuffer()},uploadData:function(){if(0!==this.byteOffset&&this._dirty){var t=new Float32Array(this._vData.buffer,0,this.byteOffset>>2),e=new Uint16Array(this._iData.buffer,0,this.indiceOffset);this._vb.update(0,t),this._ib.update(0,e),this._dirty=!1}},switchBuffer:function(){var t=++this._arrOffset;this.byteOffset=0,this.vertexOffset=0,this.indiceOffset=0,this.indiceStart=0,t65535&&(this.uploadData(),this._batcher._flush(),this.switchBuffer())},requestStatic:function(t,e){this.checkAndSwitchBuffer(t);var i=this.byteOffset+t*this._vertexBytes,n=this.indiceOffset+e,r=this._vData.byteLength,s=this._iData.length;if(i>r||n>s){for(;r65535&&(this.uploadData(),this._batcher._flush())},s.prototype.forwardIndiceStartToOffset=function(){this.uploadData(),this.switchBuffer()}),cc.MeshBuffer=e.exports=s}),{"../../../renderer/gfx":265}],209:[(function(t,e){"use strict";var i=s(t("../../../renderer/core/input-assembler")),n=s(t("../../../renderer/memop/recycle-pool")),r=s(t("../../../renderer/scene/model"));function s(t){return t&&t.__esModule?t:{default:t}}var a=t("./vertex-format"),o=a.vfmtPosUvColor,c=a.vfmt3D,u=t("./quad-buffer"),l=t("./mesh-buffer"),h=t("./spine-buffer"),_=t("../../assets/material/CCMaterial"),f=(new(t("../../platform/id-generater"))("VertextFormat"),{}),d=new _,p=new i.default;p._count=0;var v=function(t,e){this._renderScene=e,this._device=t,this.walking=!1,this.material=d,this.cullingMask=1,this._iaPool=new n.default(function(){return new i.default},16),this._modelPool=new n.default(function(){return new r.default},16),this._quadBuffer=this.getBuffer("quad",o),this._meshBuffer=this.getBuffer("mesh",o),this._quadBuffer3D=this.getBuffer("quad",c),this._meshBuffer3D=this.getBuffer("mesh",c),this._buffer=this._meshBuffer,this._batchedModels=[],this._dummyNode=new cc.Node,this._sortKey=0,this.node=this._dummyNode,this.parentOpacity=1,this.parentOpacityDirty=0,this.worldMatDirty=0};v.prototype={constructor:v,reset:function(){this._iaPool.reset();for(var t=this._renderScene,e=this._batchedModels,i=0;i>2);this._vb.update(0,t),this._dirty=!1}},switchBuffer:function(){this._super();var t=new Uint16Array(this._iData.buffer,0,this._initIDataCount);this._ib.update(0,t)},_reallocBuffer:function(){this._reallocVData(!0),this._reallocIData(),this._fillQuadBuffer()}});cc.QuadBuffer=e.exports=n}),{"./mesh-buffer":208}],211:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=a;var n,r=(n=t("./flex-buffer"))&&n.__esModule?n:{default:n},s=t("./vertex-format");function a(){this.vDatas=[],this.uintVDatas=[],this.iDatas=[],this.meshCount=0,this._infos=null,this._flexBuffer=null}cc.js.mixin(a.prototype,{init:function(){},clear:function(){this.vDatas.length=0,this.iDatas.length=0,this.uintVDatas.length=0,this.meshCount=0,this._infos=null,this._flexBuffer&&this._flexBuffer.reset()},updateMesh:function(t,e,i){this.vDatas[t]=e,this.uintVDatas[t]=new Uint32Array(e.buffer,0,e.length),this.iDatas[t]=i,this.meshCount=this.vDatas.length},updateMeshRange:function(){},createData:function(t,e,i){var n=new Float32Array(e),r=new Uint16Array(i);this.updateMesh(t,n,r)},createQuadData:function(t,e,i){this.createData(t,e,i),this.initQuadIndices(this.iDatas[t])},createFlexData:function(t,e,i,n){n=n||s.vfmtPosUvColor,this._flexBuffer=new r.default(this,t,e,i,n)},initQuadIndices:function(t){for(var e=t.length/6,i=0,n=0;ir||n>s){for(;r0&&(t=t.substring(0,i));var n=/(\/|\\)([^\/\\]+)$/g.exec(t.replace(/(\/|\\)$/,""));if(!n)return t;var r=n[2];return e&&t.substring(t.length-e.length).toLowerCase()===e.toLowerCase()?r.substring(0,r.length-e.length):r},dirname:function(t){var e=n.exec(t);return e?e[2]:""},changeExtname:function(t,e){e=e||"";var i=t.indexOf("?"),n="";return i>0&&(n=t.substring(i),t=t.substring(0,i)),(i=t.lastIndexOf("."))<0?t+e+n:t.substring(0,i)+e+n},changeBasename:function(t,e,i){if(0===e.indexOf("."))return this.changeExtname(t,e);var n=t.indexOf("?"),r="",s=i?this.extname(t):"";return n>0&&(r=t.substring(n),t=t.substring(0,n)),n=(n=t.lastIndexOf("/"))<=0?0:n+1,t.substring(0,n)+e+s+r},_normalize:function(t){var e=t=String(t);do{e=t,t=t.replace(r,"")}while(e.length!==t.length);return t},sep:cc.sys.os===cc.sys.OS_WINDOWS?"\\":"/",stripSep:function(t){return t.replace(/[\/\\]$/,"")}},e.exports=cc.path}),{"../platform/CCSys":158}],215:[(function(t,e){"use strict";var i=function(t,e,i,n,r,s){this.a=t,this.b=e,this.c=i,this.d=n,this.tx=r,this.ty=s};i.create=function(t,e,i,n,r,s){return{a:t,b:e,c:i,d:n,tx:r,ty:s}},i.identity=function(){return{a:1,b:0,c:0,d:1,tx:0,ty:0}},i.clone=function(t){return{a:t.a,b:t.b,c:t.c,d:t.d,tx:t.tx,ty:t.ty}},i.concat=function(t,e,i){var n=e.a,r=e.b,s=e.c,a=e.d,o=e.tx,c=e.ty;return t.a=n*i.a+r*i.c,t.b=n*i.b+r*i.d,t.c=s*i.a+a*i.c,t.d=s*i.b+a*i.d,t.tx=o*i.a+c*i.c+i.tx,t.ty=o*i.b+c*i.d+i.ty,t},i.invert=function(t,e){var i=e.a,n=e.b,r=e.c,s=e.d,a=1/(i*s-n*r),o=e.tx,c=e.ty;return t.a=a*s,t.b=-a*n,t.c=-a*r,t.d=a*i,t.tx=a*(r*c-s*o),t.ty=a*(n*o-i*c),t},i.fromMat4=function(t,e){var i=e.m;return t.a=i[0],t.b=i[1],t.c=i[4],t.d=i[5],t.tx=i[12],t.ty=i[13],t},i.transformVec2=function(t,e,i,n){var r,s;return void 0===n?(n=i,r=e.x,s=e.y):(r=e,s=i),t.x=n.a*r+n.c*s+n.tx,t.y=n.b*r+n.d*s+n.ty,t},i.transformSize=function(t,e,i){return t.width=i.a*e.width+i.c*e.height,t.height=i.b*e.width+i.d*e.height,t},i.transformRect=function(t,e,i){var n=e.x,r=e.y,s=n+e.width,a=r+e.height,o=i.a*n+i.c*r+i.tx,c=i.b*n+i.d*r+i.ty,u=i.a*s+i.c*r+i.tx,l=i.b*s+i.d*r+i.ty,h=i.a*n+i.c*a+i.tx,_=i.b*n+i.d*a+i.ty,f=i.a*s+i.c*a+i.tx,d=i.b*s+i.d*a+i.ty,p=Math.min(o,u,h,f),v=Math.max(o,u,h,f),g=Math.min(c,l,_,d),m=Math.max(c,l,_,d);return t.x=p,t.y=g,t.width=v-p,t.height=m-g,t},i.transformObb=function(t,e,i,n,r,s){var a=r.x,o=r.y,c=r.width,u=r.height,l=s.a*a+s.c*o+s.tx,h=s.b*a+s.d*o+s.ty,_=s.a*c,f=s.b*c,d=s.c*u,p=s.d*u;e.x=l,e.y=h,i.x=_+l,i.y=f+h,t.x=d+l,t.y=p+h,n.x=_+d+l,n.y=f+p+h},cc.AffineTransform=e.exports=i}),{}],216:[(function(t,e){"use strict";var i=t("../platform/CCObject").Flags,n=t("./misc"),r=t("../platform/js"),s=t("../platform/id-generater"),a=t("../event-manager"),o=t("../renderer/render-flow"),c=i.Destroying,u=i.DontDestroy,l=i.Deactivating,h=new s("Node");function _(t){return t?"string"==typeof t?r.getClassByName(t):t:(cc.errorID(3804),null)}function f(t,e){if(e._sealed)for(var i=0;i0&&(r=p(n._children,e)))return r}return null}function v(t,e,i){for(var n=0;n0&&v(r._children,e,i)}}var g=cc.Class({name:"cc._BaseNode",extends:cc.Object,properties:{_parent:null,_children:[],_active:!0,_components:[],_prefab:null,_persistNode:{get:function(){return(this._objFlags&u)>0},set:function(t){t?this._objFlags|=u:this._objFlags&=~u}},name:{get:function(){return this._name},set:function(t){this._name=t}},uuid:{get:function(){return this._id}},children:{get:function(){return this._children}},childrenCount:{get:function(){return this._children.length}},active:{get:function(){return this._active},set:function(t){if(t=!!t,this._active!==t){this._active=t;var e=this._parent;e&&e._activeInHierarchy&&cc.director._nodeActivator.activateNode(this,t)}}},activeInHierarchy:{get:function(){return this._activeInHierarchy}}},ctor:function(t){this._name=void 0!==t?t:"New Node",this._activeInHierarchy=!1,this._id=h.getNewId(),cc.director._scheduler&&cc.director._scheduler.enableForTarget(this),this.__eventTargets=[]},getParent:function(){return this._parent},setParent:function(t){if(this._parent!==t){var e=this._parent;if(this._parent=t||null,this._onSetParent(t),t&&(a._setDirtyForNode(this),t._children.push(this),t.emit&&t.emit("child-added",this),t._renderFlag|=o.FLAG_CHILDREN),e){if(!(e._objFlags&c)){var i=e._children.indexOf(this);e._children.splice(i,1),e.emit&&e.emit("child-removed",this),this._onHierarchyChanged(e),0===e._children.length&&(e._renderFlag&=~o.FLAG_CHILDREN)}}else t&&this._onHierarchyChanged(null)}},attr:function(t){r.mixin(this,t)},getChildByUuid:function(t){if(!t)return cc.log("Invalid uuid"),null;for(var e=this._children,i=0,n=e.length;i0?(u=n,i=n._children,r=0,c[o]=i[r],o++):(c[o]=n,o++,s=!0);c.length=0,a._stackId--},cleanup:function(){},removeFromParent:function(t){this._parent&&(void 0===t&&(t=!0),this._parent.removeChild(this,t))},removeChild:function(t,e){this._children.indexOf(t)>-1&&((e||void 0===e)&&t.cleanup(),t.parent=null)},removeAllChildren:function(t){var e=this._children;void 0===t&&(t=!0);for(var i=e.length-1;i>=0;i--){var n=e[i];n&&(t&&n.cleanup(),n.parent=null)}this._children.length=0},isChildOf:function(t){var e=this;do{if(e===t)return!0;e=e._parent}while(e);return!1},getComponent:function(t){var e=_(t);return e?f(this,e):null},getComponents:function(t){var e=_(t),i=[];return e&&d(this,e,i),i},getComponentInChildren:function(t){var e=_(t);return e?p(this._children,e):null},getComponentsInChildren:function(t){var e=_(t),i=[];return e&&(d(this,e,i),v(this._children,e,i)),i},_checkMultipleComp:!1,addComponent:function(t){var e;if("string"==typeof t){if(!(e=r.getClassByName(t)))return cc.errorID(3807,t),cc._RFpeek()&&cc.errorID(3808,t),null}else{if(!t)return cc.errorID(3804),null;e=t}if("function"!=typeof e)return cc.errorID(3809),null;if(!r.isChildClassOf(e,cc.Component))return cc.errorID(3810),null;var i=e._requireComponent;if(i&&!this.getComponent(i)&&!this.addComponent(i))return null;var n=new e;return n.node=this,this._components.push(n),this._activeInHierarchy&&cc.director._nodeActivator.activateComp(n),n},_addComponentAt:!1,removeComponent:function(t){t?(t instanceof cc.Component||(t=this.getComponent(t)),t&&t.destroy()):cc.errorID(3813)},_getDependComponent:!1,_removeComponent:function(t){if(t){if(!(this._objFlags&c)){var e=this._components.indexOf(t);-1!==e?this._components.splice(e,1):t.node!==this&&cc.errorID(3815)}}else cc.errorID(3814)},destroy:function(){cc.Object.prototype.destroy.call(this)&&(this.active=!1)},destroyAllChildren:function(){for(var t=this._children,e=0;e>>1;i<=n;r=i+n>>>1){var s=t[r];if(s>e+1e-6)n=r-1;else{if(!(s>2],s[a[r++]]=n[(3&o)<<2|c>>4],s[a[r++]]=n[15&c]}return s.join("")}}),{"./misc":223}],220:[(function(t,e){"use strict";cc.find=e.exports=function(t,e){if(null==t)return cc.errorID(3814),null;if(e);else{var i=cc.director.getScene();if(!i)return null;e=i}for(var n=e,r="/"!==t[0]?0:1,s=t.split("/"),a=r;a>1,t|=t>>2,t|=t>>4,t|=t>>8,1+(t|=t>>16)},BUILTIN_CLASSID_RE:/^(?:cc|dragonBones|sp|ccsg)\..+/},r=new Array(123),s=0;s<123;++s)r[s]=64;for(var a=0;a<64;++a)r["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charCodeAt(a)]=a;n.BASE64_VALUES=r,n.pushToMap=function(t,e,i,n){var r=t[e];r?Array.isArray(r)?n?(r.push(r[0]),r[0]=i):r.push(i):t[e]=n?[i,r]:[r,i]:t[e]=i},n.clampf=function(t,e,i){if(e>i){var n=e;e=i,i=n}return t=0&&this.removeAt(e)},n.removeAt=function(t){this.array.splice(t,1),t<=this.i&&--this.i},n.fastRemove=function(t){var e=this.array.indexOf(t);e>=0&&this.fastRemoveAt(e)},n.fastRemoveAt=function(t){var e=this.array;e[t]=e[e.length-1],--e.length,t<=this.i&&--this.i},n.push=function(t){this.array.push(t)},e.exports=i}),{}],225:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(){function t(){this.enabled=!1,this.count=0,this.maxSize=1024}var e=t.prototype;return e.get=function(){},e.put=function(){},e.clear=function(){},t})();i.default=n,cc.pool={},n.register=function(t,e){cc.pool[t]=e},e.exports=i.default}),{}],226:[(function(t,e){"use strict";cc._PrefabInfo=cc.Class({name:"cc.PrefabInfo",properties:{root:null,asset:null,fileId:"",sync:!1}}),e.exports={syncWithPrefab:function(t){var e=t._prefab;if(!e.asset)return cc.errorID(3701,t.name),void(t._prefab=null);var i=t._objFlags,n=t._parent,r=t._id,s=t._name,a=t._active,o=t._eulerAngles.x,c=t._eulerAngles.y,u=t._eulerAngles.z,l=t._localZOrder,h=t._trs,_=h[0],f=h[1],d=h[2];cc.game._isCloning=!0,e.asset._doInstantiate(t),cc.game._isCloning=!1,t._objFlags=i,t._parent=n,t._id=r,t._prefab=e,t._name=s,t._active=a,t._localZOrder=l,(h=t._trs)[0]=_,h[1]=f,h[2]=d,t._eulerAngles.x=o,t._eulerAngles.y=c,t._eulerAngles.z=u}}}),{}],227:[(function(t,e){"use strict";var i=t("../../platform/CCMacro"),n=t("./perf-counter"),r=!1,s=15,a=null,o=null,c=null;function u(){if(!a){a={fps:{desc:"Framerate (FPS)",below:30,average:500},draws:{desc:"Draw Call"},frame:{desc:"Frame time (ms)",min:0,max:50,average:500},logic:{desc:"Game Logic (ms)",min:0,max:50,average:500,color:"#080"},render:{desc:"Renderer (ms)",min:0,max:50,average:500,color:"#f90"},mode:{desc:cc.game.renderType===cc.game.RENDER_TYPE_WEBGL?"WebGL":"Canvas",min:1}};var t=performance.now();for(var e in a)a[e]._counter=new n(e,a[e],t)}}function l(){if(!o||!o.isValid){(o=new cc.Node("PROFILER-NODE")).x=o.y=10,o.groupIndex=cc.Node.BuiltinGroupIndex.DEBUG,cc.Camera._setupDebugCamera(),o.zIndex=i.MAX_ZINDEX,cc.game.addPersistRootNode(o);var t=new cc.Node("LEFT-PANEL");t.anchorX=t.anchorY=0;var e=t.addComponent(cc.Label);e.fontSize=s,e.lineHeight=s,t.parent=o;var n=new cc.Node("RIGHT-PANEL");n.anchorX=1,n.anchorY=0,n.x=200;var r=n.addComponent(cc.Label);r.horizontalAlign=cc.Label.HorizontalAlign.RIGHT,r.fontSize=s,r.lineHeight=s,n.parent=o,cc.sys.platform!==cc.sys.BAIDU_GAME_SUB&&cc.sys.platform!==cc.sys.WECHAT_GAME_SUB&&(e.cacheMode=cc.Label.CacheMode.CHAR,r.cacheMode=cc.Label.CacheMode.CHAR),c={left:e,right:r}}}function h(){l();var t=cc.director._lastUpdate;a.frame._counter.start(t),a.logic._counter.start(t)}function _(){var t=performance.now();cc.director.isPaused()?a.frame._counter.start(t):a.logic._counter.end(t),a.render._counter.start(t)}function f(){var t=performance.now();a.render._counter.end(t),a.draws._counter.value=cc.renderer.drawCalls,a.frame._counter.end(t),a.fps._counter.frame(t);var e="",i="";for(var n in a){var r=a[n];r._counter.sample(t),e+=r.desc+"\n",i+=r._counter.human()+"\n"}c&&(c.left.string=e,c.right.string=i)}cc.profiler=e.exports={isShowingStats:function(){return r},hideStats:function(){r&&(o&&(o.active=!1),cc.director.off(cc.Director.EVENT_BEFORE_UPDATE,h),cc.director.off(cc.Director.EVENT_AFTER_UPDATE,_),cc.director.off(cc.Director.EVENT_AFTER_DRAW,f),r=!1)},showStats:function(){r||(u(),o&&(o.active=!0),cc.director.on(cc.Director.EVENT_BEFORE_UPDATE,h),cc.director.on(cc.Director.EVENT_AFTER_UPDATE,_),cc.director.on(cc.Director.EVENT_AFTER_DRAW,f),r=!0)}}}),{"../../platform/CCMacro":154,"./perf-counter":229}],228:[(function(t,e){"use strict";var i=cc.Class({name:"cc.Counter",ctor:function(t,e,i){this._id=t,this._opts=e||{},this._value=0,this._total=0,this._averageValue=0,this._accumValue=0,this._accumSamples=0,this._accumStart=i},properties:{value:{get:function(){return this._value},set:function(t){this._value=t}}},_average:function(t,e){if(this._opts.average){this._accumValue+=t,++this._accumSamples;var i=e;i-this._accumStart>=this._opts.average&&(this._averageValue=this._accumValue/this._accumSamples,this._accumValue=0,this._accumStart=i,this._accumSamples=0)}},sample:function(t){this._average(this._value,t)},human:function(){var t=this._opts.average?this._averageValue:this._value;return Math.round(100*t)/100},alarm:function(){return this._opts.below&&this._valuethis._opts.over}});e.exports=i}),{}],229:[(function(t,e){"use strict";var i=t("./counter"),n=cc.Class({name:"cc.PerfCounter",extends:i,ctor:function(t,e,i){this._time=i},start:function(t){this._time=t},end:function(t){this._value=t-this._time,this._average(this._value)},tick:function(){this.end(),this.start()},frame:function(t){var e=t,i=e-this._time;this._total++,i>(this._opts.average||1e3)&&(this._value=1e3*this._total/i,this._total=0,this._time=e,this._average(this._value))}});e.exports=n}),{"./counter":228}],230:[(function(t,e){"use strict";var i,n=new(((i=t("../platform/js"))&&i.__esModule?i:{default:i}).default.Pool)(2);function r(t){this.count=0,this.limit=t,this.datas={},this.head=null,this.tail=null}n.get=function(){return this._get()||{key:null,value:null,prev:null,next:null}},r.prototype.moveToHead=function(t){t.next=this.head,t.prev=null,null!==this.head&&(this.head.prev=t),this.head=t,null===this.tail&&(this.tail=t),this.count++,this.datas[t.key]=t},r.prototype.put=function(t,e){var i=n.get();if(i.key=t,i.value=e,this.count>=this.limit){var r=this.tail;delete this.datas[r.key],this.count--,this.tail=r.prev,this.tail.next=null,r.prev=null,r.next=null,n.put(r)}this.moveToHead(i)},r.prototype.remove=function(t){null!==t.prev?t.prev.next=t.next:this.head=t.next,null!==t.next?t.next.prev=t.prev:this.tail=t.prev,delete this.datas[t.key],this.count--},r.prototype.get=function(t){var e=this.datas[t];return e?(this.remove(e),this.moveToHead(e),e.value):null},r.prototype.clear=function(){this.count=0,this.datas={},this.head=null,this.tail=null},r.prototype.has=function(t){return!!this.datas[t]},r.prototype.delete=function(t){var e=this.datas[t];this.remove(e)};var s=new r(100),a={BASELINE_RATIO:.26,MIDDLE_RATIO:.37,BASELINE_OFFSET:0,label_wordRex:/([a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430-\u044f\u0410-\u042f\u0401\u0451]+|\S)/,label_symbolRex:/^[!,.:;'}\]%\?>\u3001\u2018\u201c\u300b\uff1f\u3002\uff0c\uff01]/,label_lastWordRex:/([a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430\xed\xec\xcd\xcc\xef\xc1\xc0\xe1\xe0\xc9\xc8\xd2\xd3\xf2\xf3\u0150\u0151\xd9\xda\u0170\xfa\u0171\xf1\xd1\xe6\xc6\u0153\u0152\xc3\xc2\xe3\xd4\xf5\u011b\u0161\u010d\u0159\u017e\xfd\xe1\xed\xe9\xf3\xfa\u016f\u0165\u010f\u0148\u011a\u0160\u010c\u0158\u017d\xc1\xcd\xc9\xd3\xda\u0164\u017c\u017a\u015b\xf3\u0144\u0142\u0119\u0107\u0105\u017b\u0179\u015a\xd3\u0143\u0141\u0118\u0106\u0104-\u044f\u0410-\u042f\u0401\u0451]+|\S)$/,label_lastEnglish:/[a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430\xed\xec\xcd\xcc\xef\xc1\xc0\xe1\xe0\xc9\xc8\xd2\xd3\xf2\xf3\u0150\u0151\xd9\xda\u0170\xfa\u0171\xf1\xd1\xe6\xc6\u0153\u0152\xc3\xc2\xe3\xd4\xf5\u011b\u0161\u010d\u0159\u017e\xfd\xe1\xed\xe9\xf3\xfa\u016f\u0165\u010f\u0148\u011a\u0160\u010c\u0158\u017d\xc1\xcd\xc9\xd3\xda\u0164\u017c\u017a\u015b\xf3\u0144\u0142\u0119\u0107\u0105\u017b\u0179\u015a\xd3\u0143\u0141\u0118\u0106\u0104-\u044f\u0410-\u042f\u0401\u0451]+$/,label_firstEnglish:/^[a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430\xed\xec\xcd\xcc\xef\xc1\xc0\xe1\xe0\xc9\xc8\xd2\xd3\xf2\xf3\u0150\u0151\xd9\xda\u0170\xfa\u0171\xf1\xd1\xe6\xc6\u0153\u0152\xc3\xc2\xe3\xd4\xf5\u011b\u0161\u010d\u0159\u017e\xfd\xe1\xed\xe9\xf3\xfa\u016f\u0165\u010f\u0148\u011a\u0160\u010c\u0158\u017d\xc1\xcd\xc9\xd3\xda\u0164\u017c\u017a\u015b\xf3\u0144\u0142\u0119\u0107\u0105\u017b\u0179\u015a\xd3\u0143\u0141\u0118\u0106\u0104-\u044f\u0410-\u042f\u0401\u0451]/,highSurrogateRex:/[\uD800-\uDBFF]/,lowSurrogateRex:/[\uDC00-\uDFFF]/,label_wrapinspection:!0,__CHINESE_REG:/^[\u4E00-\u9FFF\u3400-\u4DFF]+$/,__JAPANESE_REG:/[\u3000-\u303F]|[\u3040-\u309F]|[\u30A0-\u30FF]|[\uFF00-\uFFEF]|[\u4E00-\u9FAF]|[\u2605-\u2606]|[\u2190-\u2195]|\u203B/g,__KOREAN_REG:/^[\u1100-\u11FF]|[\u3130-\u318F]|[\uA960-\uA97F]|[\uAC00-\uD7AF]|[\uD7B0-\uD7FF]+$/,isUnicodeCJK:function(t){return this.__CHINESE_REG.test(t)||this.__JAPANESE_REG.test(t)||this.__KOREAN_REG.test(t)},isUnicodeSpace:function(t){return(t=t.charCodeAt(0))>=9&&t<=13||32===t||133===t||160===t||5760===t||t>=8192&&t<=8202||8232===t||8233===t||8239===t||8287===t||12288===t},safeMeasureText:function(t,e,i){var n=(i||t.font)+"\ud83c\udfae"+e,r=s.get(n);if(null!==r)return r;var a=t.measureText(e),o=a&&a.width||0;return s.put(n,o),o},_safeSubstring:function(t,e,i){var n=e,r=i,s=t[e];if(this.lowSurrogateRex.test(s)&&n--,void 0!==i)if(i-1!==e){var a=t[i-1];this.highSurrogateRex.test(a)&&r--}else this.highSurrogateRex.test(s)&&r++;return t.substring(n,r)},fragmentText:function(t,e,i,n){var r=[];if(0===t.length||i<0)return r.push(""),r;for(var s=t;e>i&&s.length>1;){for(var a=s.length*(i/e)|0,o=this._safeSubstring(s,a),c=e-n(o),u=o,l=0,h=0;c>i&&h++<10;)a*=i/c,a|=0,c=e-n(o=this._safeSubstring(s,a));for(h=0;c<=i&&h++<10;){if(o){var _=this.label_wordRex.exec(o);l=_?_[0].length:1,u=o}a+=l,c=e-n(o=this._safeSubstring(s,a))}0==(a-=l)?(a=1,u=this._safeSubstring(s,1)):1===a&&this.highSurrogateRex.test(s[0])&&(a=2,u=this._safeSubstring(s,2));var f,d=this._safeSubstring(s,0,a);this.label_wrapinspection&&this.label_symbolRex.test(u||o)&&(0==(a-=(f=this.label_lastWordRex.exec(d))?f[0].length:0)&&(a=1),u=this._safeSubstring(s,a),d=this._safeSubstring(s,0,a)),this.label_firstEnglish.test(u)&&(f=this.label_lastEnglish.exec(d))&&d!==f[0]&&(a-=f[0].length,u=this._safeSubstring(s,a),d=this._safeSubstring(s,0,a)),0===r.length?r.push(d):(d=d.trimLeft()).length>0&&r.push(d),e=n(s=u||o)}return 0===r.length?r.push(s):(s=s.trimLeft()).length>0&&r.push(s),r}};cc.textUtils=e.exports=a}),{"../platform/js":170}],231:[(function(t,e){"use strict";var i=t("../assets/CCTexture2D"),n={loadImage:function(t,e,i){cc.assertID(t,3103);var n=cc.assetManager.assets.get(t);if(n)return n.loaded?(e&&e.call(i,null,n),n):(n.once("load",(function(){e&&e.call(i,null,n)}),i),n);cc.assetManager.loadRemote(t,(function(t,n){e&&e.call(i,t,n)}))},cacheImage:function(t,e){if(t&&e){var n=new i;return n.initWithElement(e),cc.assetManager.assets.add(t,n),n}},postLoadTexture:function(t,e){t.loaded?e&&e():t.nativeUrl?cc.assetManager.postLoadNative(t,e):e&&e()}};e.exports=n}),{"../assets/CCTexture2D":73}],232:[(function(t,e){"use strict";var i=t("./node-unit"),n=t("./node-mem-pool");e.exports={NodeMemPool:new n(i)}}),{"./node-mem-pool":234,"./node-unit":235}],233:[(function(t,e){"use strict";var i=function(t){this._unitClass=t,this._pool=[],this._findOrder=[]},n=i.prototype;n._initNative=function(){this._nativeMemPool=new renderer.MemPool},n._buildUnit=function(t){return new this._unitClass(t,this)},n._destroyUnit=function(t){this._pool[t]=null;for(var e=0,i=this._findOrder.length;e1&&e.isAllFree()&&this._destroyUnit(t.unitID),e},e.exports=i}),{}],234:[(function(t,e){"use strict";var i,n=t("./mem-pool"),r=function(t){n.call(this,t)};(i=function(){}).prototype=n.prototype;var s=r.prototype=new i;s._initNative=function(){this._nativeMemPool=new renderer.NodeMemPool},s._destroyUnit=function(t){n.prototype._destroyUnit.call(this,t)},e.exports=r}),{"./mem-pool":233}],235:[(function(t,e){"use strict";var i,n=t("../../value-types/utils"),r=(Uint32Array,10*n.FLOAT_BYTES),s=16*n.FLOAT_BYTES,a=16*n.FLOAT_BYTES,o=(Uint32Array,Uint32Array,Int32Array,Uint8Array,Uint8Array,Uint32Array,n.FLOAT_BYTES,t("./unit-base")),c=function(t,e){o.call(this,t,e);var i=this._contentNum;this.trsList=new n.FLOAT_ARRAY_TYPE(10*i),this.localMatList=new n.FLOAT_ARRAY_TYPE(16*i),this.worldMatList=new n.FLOAT_ARRAY_TYPE(16*i);for(var c=0;c",e=this._signData[2*e+0];for(var n=0,r="",s=this._contentNum,a=0;a");var o=t+n;console.log("unitID:",this.unitID,"spaceNum:",t,"calc using num:",n,"store using num:",this._data[1],"calc total num:",o,"actually total num:",this._contentNum),console.log("free info:",i),console.log("using info:",r),n!=this._data[1]&&cc.error("using num error","calc using num:",n,"store using num:",this._data[1]),t+n!=this._contentNum&&cc.error("total num error","calc total num:",o,"actually total num:",this._contentNum)},e.exports=i}),{}],237:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=a(t("./value-type")),r=a(t("../platform/CCClass")),s=a(t("../utils/misc"));function a(t){return t&&t.__esModule?t:{default:t}}function o(t,e){for(var i=0;i>>0)+(n<<16)+(i<<8)+(0|e),s}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,c(e,i),n.copy=function(t,e){return t.r=e.r,t.g=e.g,t.b=e.b,t.a=e.a,t},n.clone=function(t){return new n(t.r,t.g,t.b,t.a)},n.set=function(t,e,i,n,r){return void 0===e&&(e=255),void 0===i&&(i=255),void 0===n&&(n=255),void 0===r&&(r=255),t.r=e,t.g=i,t.b=n,t.a=r,t},n.fromHex=function(t,e){var i=e>>24&255,n=e>>16&255,r=e>>8&255,s=255&e;return t.r=i,t.g=n,t.b=r,t.a=s,t},n.fromHEX=function(t,e){return e=0===e.indexOf("#")?e.substring(1):e,t.r=parseInt(e.substr(0,2),16)||0,t.g=parseInt(e.substr(2,2),16)||0,t.b=parseInt(e.substr(4,2),16)||0,t.a=parseInt(e.substr(6,2),16)||255,t._val=(t.a<<24>>>0)+(t.b<<16)+(t.g<<8)+t.r,t},n.add=function(t,e,i){return t.r=e.r+i.r,t.g=e.g+i.g,t.b=e.b+i.b,t.a=e.a+i.a,t},n.subtract=function(t,e,i){return t.r=e.r-i.r,t.g=e.g-i.g,t.b=e.b-i.b,t.a=e.a-i.a,t},n.multiply=function(t,e,i){return t.r=e.r*i.r,t.g=e.g*i.g,t.b=e.b*i.b,t.a=e.a*i.a,t},n.divide=function(t,e,i){return t.r=e.r/i.r,t.g=e.g/i.g,t.b=e.b/i.b,t.a=e.a/i.a,t},n.scale=function(t,e,i){return t.r=e.r*i,t.g=e.g*i,t.b=e.b*i,t.a=e.a*i,t},n.lerp=function(t,e,i,n){var r=e.r,s=e.g,a=e.b,o=e.a;return t.r=r+n*(i.r-r),t.g=s+n*(i.g-s),t.b=a+n*(i.b-a),t.a=o+n*(i.a-o),t},n.toArray=function(t,e,i){void 0===i&&(i=0);var r=e instanceof n||e.a>1?1/255:1;return t[i+0]=e.r*r,t[i+1]=e.g*r,t[i+2]=e.b*r,t[i+3]=e.a*r,t},n.fromArray=function(t,e,i){return void 0===i&&(i=0),e.r=255*t[i+0],e.g=255*t[i+1],e.b=255*t[i+2],e.a=255*t[i+3],e},n.premultiplyAlpha=function(t,e){var i=e.a/255;return t.r=e.r*i,t.g=e.g*i,t.b=e.b*i,t._fastSetA(e.a),t};var r,a,u,l=n.prototype;return l.clone=function(){var t=new n;return t._val=this._val,t},l.equals=function(t){return t&&this._val===t._val},l.lerp=function(t,e,i){i=i||new n;var r=this.r,s=this.g,a=this.b,o=this.a;return i.r=r+(t.r-r)*e,i.g=s+(t.g-s)*e,i.b=a+(t.b-a)*e,i.a=o+(t.a-o)*e,i},l.toString=function(){return"rgba("+this.r.toFixed()+", "+this.g.toFixed()+", "+this.b.toFixed()+", "+this.a.toFixed()+")"},l.getR=function(){return 255&this._val},l.setR=function(t){return t=~~s.default.clampf(t,0,255),this._val=(4294967040&this._val|t)>>>0,this},l.getG=function(){return(65280&this._val)>>8},l.setG=function(t){return t=~~s.default.clampf(t,0,255),this._val=(4294902015&this._val|t<<8)>>>0,this},l.getB=function(){return(16711680&this._val)>>16},l.setB=function(t){return t=~~s.default.clampf(t,0,255),this._val=(4278255615&this._val|t<<16)>>>0,this},l.getA=function(){return(4278190080&this._val)>>>24},l.setA=function(t){return t=~~s.default.clampf(t,0,255),this._val=(16777215&this._val|t<<24)>>>0,this},l.toCSS=function(t){return t&&"rgba"!==t?"rgb"===t?"rgb("+this.r+","+this.g+","+this.b+")":"#"+this.toHEX(t):"rgba("+this.r+","+this.g+","+this.b+","+(this.a/255).toFixed(2)+")"},l.fromHEX=function(t){t=0===t.indexOf("#")?t.substring(1):t;var e=parseInt(t.substr(0,2),16)||0,i=parseInt(t.substr(2,2),16)||0,n=parseInt(t.substr(4,2),16)||0,r=parseInt(t.substr(6,2),16)||255;return this._val=(r<<24>>>0)+(n<<16)+(i<<8)+e,this},l.toHEX=function(t){var e=[(this.r<16?"0":"")+this.r.toString(16),(this.g<16?"0":"")+this.g.toString(16),(this.b<16?"0":"")+this.b.toString(16)];return"#rgb"===t?(e[0]=e[0][0],e[1]=e[1][0],e[2]=e[2][0]):"#rrggbbaa"===t&&e.push((this.a<16?"0":"")+this.a.toString(16)),e.join("")},l.toRGBValue=function(){return 16777215&this._val},l.fromHSV=function(t,e,i){var n,r,s;if(0===e)n=r=s=i;else if(0===i)n=r=s=0;else{1===t&&(t=0),t*=6;var a=Math.floor(t),o=t-a,c=i*(1-e),u=i*(1-e*o),l=i*(1-e*(1-o));switch(a){case 0:n=i,r=l,s=c;break;case 1:n=u,r=i,s=c;break;case 2:n=c,r=i,s=l;break;case 3:n=c,r=u,s=i;break;case 4:n=l,r=c,s=i;break;case 5:n=i,r=c,s=u}}return n*=255,r*=255,s*=255,this._val=(this.a<<24>>>0)+(s<<16)+(r<<8)+(0|n),this},l.toHSV=function(){var t=this.r/255,e=this.g/255,i=this.b/255,n={h:0,s:0,v:0},r=Math.max(t,e,i),s=Math.min(t,e,i),a=0;return n.v=r,n.s=r?(r-s)/r:0,n.s?(a=r-s,n.h=t===r?(e-i)/a:e===r?2+(i-t)/a:4+(t-e)/a,n.h/=6,n.h<0&&(n.h+=1)):n.h=0,n},l.set=function(t){return t._val?this._val=t._val:(this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a),this},l._fastSetA=function(t){this._val=(16777215&this._val|t<<24)>>>0},l.multiply=function(t){var e=(255&this._val)*t.r>>8,i=(65280&this._val)*t.g>>8,n=(16711680&this._val)*t.b>>8,r=((4278190080&this._val)>>>8)*t.a;return this._val=4278190080&r|16711680&n|65280&i|255&e,this},r=n,u=[{key:"WHITE",get:function(){return new n(255,255,255,255)}},{key:"BLACK",get:function(){return new n(0,0,0,255)}},{key:"TRANSPARENT",get:function(){return new n(0,0,0,0)}},{key:"GRAY",get:function(){return new n(127.5,127.5,127.5)}},{key:"RED",get:function(){return new n(255,0,0)}},{key:"GREEN",get:function(){return new n(0,255,0)}},{key:"BLUE",get:function(){return new n(0,0,255)}},{key:"YELLOW",get:function(){return new n(255,235,4)}},{key:"ORANGE",get:function(){return new n(255,127,0)}},{key:"CYAN",get:function(){return new n(0,255,255)}},{key:"MAGENTA",get:function(){return new n(255,0,255)}}],(a=[{key:"r",get:function(){return this.getR()},set:function(t){this.setR(t)}},{key:"g",get:function(){return this.getG()},set:function(t){this.setG(t)}},{key:"b",get:function(){return this.getB()},set:function(t){this.setB(t)}},{key:"a",get:function(){return this.getA()},set:function(t){this.setA(t)}}])&&o(r.prototype,a),u&&o(r,u),n})(n.default);i.default=u,u.div=u.divide,u.sub=u.subtract,u.mul=u.multiply,u.WHITE_R=u.WHITE,u.BLACK_R=u.BLACK,u.TRANSPARENT_R=u.TRANSPARENT,u.GRAY_R=u.GRAY,u.RED_R=u.RED,u.GREEN_R=u.GREEN,u.BLUE_R=u.BLUE,u.YELLOW_R=u.YELLOW,u.ORANGE_R=u.ORANGE,u.CYAN_R=u.CYAN,u.MAGENTA_R=u.MAGENTA,r.default.fastDefine("cc.Color",u,{r:0,g:0,b:0,a:255}),cc.Color=u,cc.color=function(t,e,i,n){return"string"==typeof t?(new u).fromHEX(t):"object"==typeof t?new u(t.r,t.g,t.b,t.a):new u(t,e,i,n)},e.exports=i.default}),{"../platform/CCClass":149,"../utils/misc":223,"./value-type":246}],238:[(function(t,e,i){"use strict";i.__esModule=!0;var n={Vec2:!0,Vec3:!0,Vec4:!0,Mat4:!0,Mat3:!0,Rect:!0,Size:!0,Color:!0,Quat:!0,Trs:!0};i.Vec4=i.Vec3=i.Vec2=i.Trs=i.Size=i.Rect=i.Quat=i.Mat4=i.Mat3=i.Color=void 0;var r=p(t("./vec2"));i.Vec2=r.default;var s=p(t("./vec3"));i.Vec3=s.default;var a=p(t("./vec4"));i.Vec4=a.default;var o=p(t("./mat4"));i.Mat4=o.default;var c=p(t("./mat3"));i.Mat3=c.default;var u=p(t("./rect"));i.Rect=u.default;var l=p(t("./size"));i.Size=l.default;var h=p(t("./color"));i.Color=h.default;var _=p(t("./quat"));i.Quat=_.default;var f=p(t("./trs"));i.Trs=f.default;var d=t("./utils");function p(t){return t&&t.__esModule?t:{default:t}}Object.keys(d).forEach((function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(n,t)||t in i&&i[t]===d[t]||(i[t]=d[t]))})),cc.math=e.exports}),{"./color":237,"./mat3":239,"./mat4":240,"./quat":241,"./rect":242,"./size":243,"./trs":244,"./utils":245,"./vec2":247,"./vec3":248,"./vec4":249}],239:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("../value-types/utils"),s=(n=t("./vec3"))&&n.__esModule?n:{default:n},a=(function(){function t(t,e,i,n,s,a,o,c,u){if(void 0===t&&(t=1),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===s&&(s=1),void 0===a&&(a=0),void 0===o&&(o=0),void 0===c&&(c=0),void 0===u&&(u=1),this.m=void 0,t instanceof r.FLOAT_ARRAY_TYPE)this.m=t;else{this.m=new r.FLOAT_ARRAY_TYPE(9);var l=this.m;l[0]=t,l[1]=e,l[2]=i,l[3]=n,l[4]=s,l[5]=a,l[6]=o,l[7]=c,l[8]=u}}return t.create=function(e,i,n,r,s,a,o,c,u){return void 0===e&&(e=1),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===s&&(s=1),void 0===a&&(a=0),void 0===o&&(o=0),void 0===c&&(c=0),void 0===u&&(u=1),new t(e,i,n,r,s,a,o,c,u)},t.clone=function(e){var i=e.m;return new t(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8])},t.copy=function(t,e){return t.m.set(e.m),t},t.set=function(t,e,i,n,r,s,a,o,c,u){var l=t.m;return l[0]=e,l[1]=i,l[2]=n,l[3]=r,l[4]=s,l[5]=a,l[6]=o,l[7]=c,l[8]=u,t},t.identity=function(t){var e=t.m;return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,t},t.transpose=function(t,e){var i=e.m,n=t.m;if(t===e){var r=i[1],s=i[2],a=i[5];n[1]=i[3],n[2]=i[6],n[3]=r,n[5]=i[7],n[6]=s,n[7]=a}else n[0]=i[0],n[1]=i[3],n[2]=i[6],n[3]=i[1],n[4]=i[4],n[5]=i[7],n[6]=i[2],n[7]=i[5],n[8]=i[8];return t},t.invert=function(t,e){var i=e.m,n=t.m,r=i[0],s=i[1],a=i[2],o=i[3],c=i[4],u=i[5],l=i[6],h=i[7],_=i[8],f=_*c-u*h,d=-_*o+u*l,p=h*o-c*l,v=r*f+s*d+a*p;return v?(v=1/v,n[0]=f*v,n[1]=(-_*s+a*h)*v,n[2]=(u*s-a*c)*v,n[3]=d*v,n[4]=(_*r-a*l)*v,n[5]=(-u*r+a*o)*v,n[6]=p*v,n[7]=(-h*r+s*l)*v,n[8]=(c*r-s*o)*v,t):t},t.adjoint=function(t,e){var i=e.m,n=t.m,r=i[0],s=i[1],a=i[2],o=i[3],c=i[4],u=i[5],l=i[6],h=i[7],_=i[8];return n[0]=c*_-u*h,n[1]=a*h-s*_,n[2]=s*u-a*c,n[3]=u*l-o*_,n[4]=r*_-a*l,n[5]=a*o-r*u,n[6]=o*h-c*l,n[7]=s*l-r*h,n[8]=r*c-s*o,t},t.determinant=function(t){var e=t.m,i=e[0],n=e[1],r=e[2],s=e[3],a=e[4],o=e[5],c=e[6],u=e[7],l=e[8];return i*(l*a-o*u)+n*(-l*s+o*c)+r*(u*s-a*c)},t.multiply=function(t,e,i){var n=e.m,r=i.m,s=t.m,a=n[0],o=n[1],c=n[2],u=n[3],l=n[4],h=n[5],_=n[6],f=n[7],d=n[8],p=r[0],v=r[1],g=r[2],m=r[3],y=r[4],T=r[5],E=r[6],A=r[7],C=r[8];return s[0]=p*a+v*u+g*_,s[1]=p*o+v*l+g*f,s[2]=p*c+v*h+g*d,s[3]=m*a+y*u+T*_,s[4]=m*o+y*l+T*f,s[5]=m*c+y*h+T*d,s[6]=E*a+A*u+C*_,s[7]=E*o+A*l+C*f,s[8]=E*c+A*h+C*d,t},t.multiplyMat4=function(t,e,i){var n=e.m,r=i.m,s=t.m,a=n[0],o=n[1],c=n[2],u=n[3],l=n[4],h=n[5],_=n[6],f=n[7],d=n[8],p=r[0],v=r[1],g=r[2],m=r[4],y=r[5],T=r[6],E=r[8],A=r[9],C=r[10];return s[0]=p*a+v*u+g*_,s[1]=p*o+v*l+g*f,s[2]=p*c+v*h+g*d,s[3]=m*a+y*u+T*_,s[4]=m*o+y*l+T*f,s[5]=m*c+y*h+T*d,s[6]=E*a+A*u+C*_,s[7]=E*o+A*l+C*f,s[8]=E*c+A*h+C*d,t},t.translate=function(t,e,i){var n=e.m,r=t.m,s=n[0],a=n[1],o=n[2],c=n[3],u=n[4],l=n[5],h=n[6],_=n[7],f=n[8],d=i.x,p=i.y;return r[0]=s,r[1]=a,r[2]=o,r[3]=c,r[4]=u,r[5]=l,r[6]=d*s+p*c+h,r[7]=d*a+p*u+_,r[8]=d*o+p*l+f,t},t.rotate=function(t,e,i){var n=e.m,r=t.m,s=n[0],a=n[1],o=n[2],c=n[3],u=n[4],l=n[5],h=n[6],_=n[7],f=n[8],d=Math.sin(i),p=Math.cos(i);return r[0]=p*s+d*c,r[1]=p*a+d*u,r[2]=p*o+d*l,r[3]=p*c-d*s,r[4]=p*u-d*a,r[5]=p*l-d*o,r[6]=h,r[7]=_,r[8]=f,t},t.scale=function(t,e,i){var n=i.x,r=i.y,s=e.m,a=t.m;return a[0]=n*s[0],a[1]=n*s[1],a[2]=n*s[2],a[3]=r*s[3],a[4]=r*s[4],a[5]=r*s[5],a[6]=s[6],a[7]=s[7],a[8]=s[8],t},t.fromMat4=function(t,e){var i=e.m,n=t.m;return n[0]=i[0],n[1]=i[1],n[2]=i[2],n[3]=i[4],n[4]=i[5],n[5]=i[6],n[6]=i[8],n[7]=i[9],n[8]=i[10],t},t.fromTranslation=function(t,e){var i=t.m;return i[0]=1,i[1]=0,i[2]=0,i[3]=0,i[4]=1,i[5]=0,i[6]=e.x,i[7]=e.y,i[8]=1,t},t.fromRotation=function(t,e){var i=Math.sin(e),n=Math.cos(e),r=t.m;return r[0]=n,r[1]=i,r[2]=0,r[3]=-i,r[4]=n,r[5]=0,r[6]=0,r[7]=0,r[8]=1,t},t.fromScaling=function(t,e){var i=t.m;return i[0]=e.x,i[1]=0,i[2]=0,i[3]=0,i[4]=e.y,i[5]=0,i[6]=0,i[7]=0,i[8]=1,t},t.fromQuat=function(t,e){var i=t.m,n=e.x,r=e.y,s=e.z,a=e.w,o=n+n,c=r+r,u=s+s,l=n*o,h=r*o,_=r*c,f=s*o,d=s*c,p=s*u,v=a*o,g=a*c,m=a*u;return i[0]=1-_-p,i[3]=h-m,i[6]=f+g,i[1]=h+m,i[4]=1-l-p,i[7]=d-v,i[2]=f-g,i[5]=d+v,i[8]=1-l-_,t},t.fromViewUp=function(e,i,n){var a,o,c;return(a=new s.default(0,1,0),o=new s.default,c=new s.default,function(e,i,n){return s.default.lengthSqr(i)0?(r=2*Math.sqrt(n+1),t.w=.25*r,t.x=(i[6]-i[9])/r,t.y=(i[8]-i[2])/r,t.z=(i[1]-i[4])/r):i[0]>i[5]&&i[0]>i[10]?(r=2*Math.sqrt(1+i[0]-i[5]-i[10]),t.w=(i[6]-i[9])/r,t.x=.25*r,t.y=(i[1]+i[4])/r,t.z=(i[8]+i[2])/r):i[5]>i[10]?(r=2*Math.sqrt(1+i[5]-i[0]-i[10]),t.w=(i[8]-i[2])/r,t.x=(i[1]+i[4])/r,t.y=.25*r,t.z=(i[6]+i[9])/r):(r=2*Math.sqrt(1+i[10]-i[0]-i[5]),t.w=(i[1]-i[4])/r,t.x=(i[8]+i[2])/r,t.y=(i[6]+i[9])/r,t.z=.25*r),t},r.toRTS=function(t,e,i,n){var r=t.m,o=I.m;n.x=s.default.set(w,r[0],r[1],r[2]).mag(),o[0]=r[0]/n.x,o[1]=r[1]/n.x,o[2]=r[2]/n.x,n.y=s.default.set(w,r[4],r[5],r[6]).mag(),o[3]=r[4]/n.y,o[4]=r[5]/n.y,o[5]=r[6]/n.y,n.z=s.default.set(w,r[8],r[9],r[10]).mag(),o[6]=r[8]/n.z,o[7]=r[9]/n.z,o[8]=r[10]/n.z,c.default.determinant(I)<0&&(n.x*=-1,o[0]*=-1,o[1]*=-1,o[2]*=-1),a.default.fromMat3(e,I),s.default.set(i,r[12],r[13],r[14])},r.fromRTS=function(t,e,i,n){var r=e.x,s=e.y,a=e.z,o=e.w,c=r+r,u=s+s,l=a+a,h=r*c,_=r*u,f=r*l,d=s*u,p=s*l,v=a*l,g=o*c,m=o*u,y=o*l,T=n.x,E=n.y,A=n.z,C=t.m;return C[0]=(1-(d+v))*T,C[1]=(_+y)*T,C[2]=(f-m)*T,C[3]=0,C[4]=(_-y)*E,C[5]=(1-(h+v))*E,C[6]=(p+g)*E,C[7]=0,C[8]=(f+m)*A,C[9]=(p-g)*A,C[10]=(1-(h+d))*A,C[11]=0,C[12]=i.x,C[13]=i.y,C[14]=i.z,C[15]=1,t},r.fromRTSOrigin=function(t,e,i,n,r){var s=e.x,a=e.y,o=e.z,c=e.w,u=s+s,l=a+a,h=o+o,_=s*u,f=s*l,d=s*h,p=a*l,v=a*h,g=o*h,m=c*u,y=c*l,T=c*h,E=n.x,A=n.y,C=n.z,x=r.x,b=r.y,S=r.z,R=t.m;return R[0]=(1-(p+g))*E,R[1]=(f+T)*E,R[2]=(d-y)*E,R[3]=0,R[4]=(f-T)*A,R[5]=(1-(_+g))*A,R[6]=(v+m)*A,R[7]=0,R[8]=(d+y)*C,R[9]=(v-m)*C,R[10]=(1-(_+p))*C,R[11]=0,R[12]=i.x+x-(R[0]*x+R[4]*b+R[8]*S),R[13]=i.y+b-(R[1]*x+R[5]*b+R[9]*S),R[14]=i.z+S-(R[2]*x+R[6]*b+R[10]*S),R[15]=1,t},r.fromQuat=function(t,e){var i=e.x,n=e.y,r=e.z,s=e.w,a=i+i,o=n+n,c=r+r,u=i*a,l=n*a,h=n*o,_=r*a,f=r*o,d=r*c,p=s*a,v=s*o,g=s*c,m=t.m;return m[0]=1-h-d,m[1]=l+g,m[2]=_-v,m[3]=0,m[4]=l-g,m[5]=1-u-d,m[6]=f+p,m[7]=0,m[8]=_+v,m[9]=f-p,m[10]=1-u-h,m[11]=0,m[12]=0,m[13]=0,m[14]=0,m[15]=1,t},r.frustum=function(t,e,i,n,r,s,a){var o=1/(i-e),c=1/(r-n),u=1/(s-a),l=t.m;return l[0]=2*s*o,l[1]=0,l[2]=0,l[3]=0,l[4]=0,l[5]=2*s*c,l[6]=0,l[7]=0,l[8]=(i+e)*o,l[9]=(r+n)*c,l[10]=(a+s)*u,l[11]=-1,l[12]=0,l[13]=0,l[14]=a*s*2*u,l[15]=0,t},r.perspective=function(t,e,i,n,r){var s=1/Math.tan(e/2),a=1/(n-r),o=t.m;return o[0]=s/i,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=s,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=(r+n)*a,o[11]=-1,o[12]=0,o[13]=0,o[14]=2*r*n*a,o[15]=0,t},r.ortho=function(t,e,i,n,r,s,a){var o=1/(e-i),c=1/(n-r),u=1/(s-a),l=t.m;return l[0]=-2*o,l[1]=0,l[2]=0,l[3]=0,l[4]=0,l[5]=-2*c,l[6]=0,l[7]=0,l[8]=0,l[9]=0,l[10]=2*u,l[11]=0,l[12]=(e+i)*o,l[13]=(r+n)*c,l[14]=(a+s)*u,l[15]=1,t},r.lookAt=function(t,e,i,n){var r=e.x,s=e.y,a=e.z,o=n.x,c=n.y,u=n.z,l=r-i.x,h=s-i.y,_=a-i.z,f=1/Math.sqrt(l*l+h*h+_*_),d=c*(_*=f)-u*(h*=f),p=u*(l*=f)-o*_,v=o*h-c*l,g=h*(v*=f=1/Math.sqrt(d*d+p*p+v*v))-_*(p*=f),m=_*(d*=f)-l*v,y=l*p-h*d,T=t.m;return T[0]=d,T[1]=g,T[2]=l,T[3]=0,T[4]=p,T[5]=m,T[6]=h,T[7]=0,T[8]=v,T[9]=y,T[10]=_,T[11]=0,T[12]=-(d*r+p*s+v*a),T[13]=-(g*r+m*s+y*a),T[14]=-(l*r+h*s+_*a),T[15]=1,t},r.inverseTranspose=function(t,e){var i=e.m;h=i[0],_=i[1],f=i[2],d=i[3],p=i[4],v=i[5],g=i[6],m=i[7],y=i[8],T=i[9],E=i[10],A=i[11],C=i[12],x=i[13],b=i[14],S=i[15];var n=h*v-_*p,r=h*g-f*p,s=h*m-d*p,a=_*g-f*v,o=_*m-d*v,c=f*m-d*g,u=y*x-T*C,l=y*b-E*C,R=y*S-A*C,w=T*b-E*x,I=T*S-A*x,M=E*S-A*b,O=n*M-r*I+s*w+a*R-o*l+c*u;return O?(O=1/O,(i=t.m)[0]=(v*M-g*I+m*w)*O,i[1]=(g*R-p*M-m*l)*O,i[2]=(p*I-v*R+m*u)*O,i[3]=0,i[4]=(f*I-_*M-d*w)*O,i[5]=(h*M-f*R+d*l)*O,i[6]=(_*R-h*I-d*u)*O,i[7]=0,i[8]=(x*c-b*o+S*a)*O,i[9]=(b*s-C*c-S*r)*O,i[10]=(C*o-x*s+S*n)*O,i[11]=0,i[12]=0,i[13]=0,i[14]=0,i[15]=1,t):null},r.add=function(t,e,i){var n=t.m,r=e.m,s=i.m;return n[0]=r[0]+s[0],n[1]=r[1]+s[1],n[2]=r[2]+s[2],n[3]=r[3]+s[3],n[4]=r[4]+s[4],n[5]=r[5]+s[5],n[6]=r[6]+s[6],n[7]=r[7]+s[7],n[8]=r[8]+s[8],n[9]=r[9]+s[9],n[10]=r[10]+s[10],n[11]=r[11]+s[11],n[12]=r[12]+s[12],n[13]=r[13]+s[13],n[14]=r[14]+s[14],n[15]=r[15]+s[15],t},r.subtract=function(t,e,i){var n=t.m,r=e.m,s=i.m;return n[0]=r[0]-s[0],n[1]=r[1]-s[1],n[2]=r[2]-s[2],n[3]=r[3]-s[3],n[4]=r[4]-s[4],n[5]=r[5]-s[5],n[6]=r[6]-s[6],n[7]=r[7]-s[7],n[8]=r[8]-s[8],n[9]=r[9]-s[9],n[10]=r[10]-s[10],n[11]=r[11]-s[11],n[12]=r[12]-s[12],n[13]=r[13]-s[13],n[14]=r[14]-s[14],n[15]=r[15]-s[15],t},r.multiplyScalar=function(t,e,i){var n=t.m,r=e.m;return n[0]=r[0]*i,n[1]=r[1]*i,n[2]=r[2]*i,n[3]=r[3]*i,n[4]=r[4]*i,n[5]=r[5]*i,n[6]=r[6]*i,n[7]=r[7]*i,n[8]=r[8]*i,n[9]=r[9]*i,n[10]=r[10]*i,n[11]=r[11]*i,n[12]=r[12]*i,n[13]=r[13]*i,n[14]=r[14]*i,n[15]=r[15]*i,t},r.multiplyScalarAndAdd=function(t,e,i,n){var r=t.m,s=e.m,a=i.m;return r[0]=s[0]+a[0]*n,r[1]=s[1]+a[1]*n,r[2]=s[2]+a[2]*n,r[3]=s[3]+a[3]*n,r[4]=s[4]+a[4]*n,r[5]=s[5]+a[5]*n,r[6]=s[6]+a[6]*n,r[7]=s[7]+a[7]*n,r[8]=s[8]+a[8]*n,r[9]=s[9]+a[9]*n,r[10]=s[10]+a[10]*n,r[11]=s[11]+a[11]*n,r[12]=s[12]+a[12]*n,r[13]=s[13]+a[13]*n,r[14]=s[14]+a[14]*n,r[15]=s[15]+a[15]*n,t},r.strictEquals=function(t,e){var i=t.m,n=e.m;return i[0]===n[0]&&i[1]===n[1]&&i[2]===n[2]&&i[3]===n[3]&&i[4]===n[4]&&i[5]===n[5]&&i[6]===n[6]&&i[7]===n[7]&&i[8]===n[8]&&i[9]===n[9]&&i[10]===n[10]&&i[11]===n[11]&&i[12]===n[12]&&i[13]===n[13]&&i[14]===n[14]&&i[15]===n[15]},r.equals=function(t,e,i){void 0===i&&(i=o.EPSILON);var n=t.m,r=e.m;return Math.abs(n[0]-r[0])<=i*Math.max(1,Math.abs(n[0]),Math.abs(r[0]))&&Math.abs(n[1]-r[1])<=i*Math.max(1,Math.abs(n[1]),Math.abs(r[1]))&&Math.abs(n[2]-r[2])<=i*Math.max(1,Math.abs(n[2]),Math.abs(r[2]))&&Math.abs(n[3]-r[3])<=i*Math.max(1,Math.abs(n[3]),Math.abs(r[3]))&&Math.abs(n[4]-r[4])<=i*Math.max(1,Math.abs(n[4]),Math.abs(r[4]))&&Math.abs(n[5]-r[5])<=i*Math.max(1,Math.abs(n[5]),Math.abs(r[5]))&&Math.abs(n[6]-r[6])<=i*Math.max(1,Math.abs(n[6]),Math.abs(r[6]))&&Math.abs(n[7]-r[7])<=i*Math.max(1,Math.abs(n[7]),Math.abs(r[7]))&&Math.abs(n[8]-r[8])<=i*Math.max(1,Math.abs(n[8]),Math.abs(r[8]))&&Math.abs(n[9]-r[9])<=i*Math.max(1,Math.abs(n[9]),Math.abs(r[9]))&&Math.abs(n[10]-r[10])<=i*Math.max(1,Math.abs(n[10]),Math.abs(r[10]))&&Math.abs(n[11]-r[11])<=i*Math.max(1,Math.abs(n[11]),Math.abs(r[11]))&&Math.abs(n[12]-r[12])<=i*Math.max(1,Math.abs(n[12]),Math.abs(r[12]))&&Math.abs(n[13]-r[13])<=i*Math.max(1,Math.abs(n[13]),Math.abs(r[13]))&&Math.abs(n[14]-r[14])<=i*Math.max(1,Math.abs(n[14]),Math.abs(r[14]))&&Math.abs(n[15]-r[15])<=i*Math.max(1,Math.abs(n[15]),Math.abs(r[15]))},r.adjoint=function(t,e){var i=e.m,n=t.m,r=i[0],s=i[1],a=i[2],o=i[3],c=i[4],u=i[5],l=i[6],h=i[7],_=i[8],f=i[9],d=i[10],p=i[11],v=i[12],g=i[13],m=i[14],y=i[15];return n[0]=u*(d*y-p*m)-f*(l*y-h*m)+g*(l*p-h*d),n[1]=-(s*(d*y-p*m)-f*(a*y-o*m)+g*(a*p-o*d)),n[2]=s*(l*y-h*m)-u*(a*y-o*m)+g*(a*h-o*l),n[3]=-(s*(l*p-h*d)-u*(a*p-o*d)+f*(a*h-o*l)),n[4]=-(c*(d*y-p*m)-_*(l*y-h*m)+v*(l*p-h*d)),n[5]=r*(d*y-p*m)-_*(a*y-o*m)+v*(a*p-o*d),n[6]=-(r*(l*y-h*m)-c*(a*y-o*m)+v*(a*h-o*l)),n[7]=r*(l*p-h*d)-c*(a*p-o*d)+_*(a*h-o*l),n[8]=c*(f*y-p*g)-_*(u*y-h*g)+v*(u*p-h*f),n[9]=-(r*(f*y-p*g)-_*(s*y-o*g)+v*(s*p-o*f)),n[10]=r*(u*y-h*g)-c*(s*y-o*g)+v*(s*h-o*u),n[11]=-(r*(u*p-h*f)-c*(s*p-o*f)+_*(s*h-o*u)),n[12]=-(c*(f*m-d*g)-_*(u*m-l*g)+v*(u*d-l*f)),n[13]=r*(f*m-d*g)-_*(s*m-a*g)+v*(s*d-a*f),n[14]=-(r*(u*m-l*g)-c*(s*m-a*g)+v*(s*l-a*u)),n[15]=r*(u*d-l*f)-c*(s*d-a*f)+_*(s*l-a*u),t},r.toArray=function(t,e,i){void 0===i&&(i=0);for(var n=e.m,r=0;r<16;r++)t[i+r]=n[r];return t},r.fromArray=function(t,e,i){void 0===i&&(i=0);for(var n=t.m,r=0;r<16;r++)n[r]=e[i+r];return t},n.clone=function(){var t=this.m;return new r(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},n.set=function(t){var e=this.m,i=t.m;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],e[9]=i[9],e[10]=i[10],e[11]=i[11],e[12]=i[12],e[13]=i[13],e[14]=i[14],e[15]=i[15],this},n.equals=function(t){return r.strictEquals(this,t)},n.fuzzyEquals=function(t){return r.equals(this,t)},n.toString=function(){var t=this.m;return t?"[\n"+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+",\n"+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+",\n"+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+",\n"+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+"\n]":"[\n1, 0, 0, 0\n0, 1, 0, 0\n0, 0, 1, 0\n0, 0, 0, 1\n]"},n.identity=function(){return r.identity(this)},n.transpose=function(t){return t=t||new r,r.transpose(t,this)},n.invert=function(t){return t=t||new r,r.invert(t,this)},n.adjoint=function(t){return t=t||new r,r.adjoint(t,this)},n.determinant=function(){return r.determinant(this)},n.add=function(t,e){return e=e||new r,r.add(e,this,t)},n.subtract=function(t){return r.subtract(this,this,t)},n.multiply=function(t){return r.multiply(this,this,t)},n.multiplyScalar=function(t){return r.multiplyScalar(this,this,t)},n.translate=function(t,e){return e=e||new r,r.translate(e,this,t)},n.scale=function(t,e){return e=e||new r,r.scale(e,this,t)},n.rotate=function(t,e,i){return i=i||new r,r.rotate(i,this,t,e)},n.getTranslation=function(t){return t=t||new s.default,r.getTranslation(t,this)},n.getScale=function(t){return t=t||new s.default,r.getScaling(t,this)},n.getRotation=function(t){return t=t||new a.default,r.getRotation(t,this)},n.fromRTS=function(t,e,i){return r.fromRTS(this,t,e,i)},n.fromQuat=function(t){return r.fromQuat(this,t)},r})(n.default);i.default=R,R.mul=R.multiply,R.sub=R.subtract,R.IDENTITY=Object.freeze(new R);var w=new s.default,I=new c.default;r.default.fastDefine("cc.Mat4",R,{m00:1,m01:0,m02:0,m03:0,m04:0,m05:1,m06:0,m07:0,m08:0,m09:0,m10:1,m11:0,m12:0,m13:0,m14:0,m15:1});for(var M=function(t){Object.defineProperty(R.prototype,"m"+t,{get:function(){return this.m[t]},set:function(e){this.m[t]=e}})},O=0;O<16;O++)M(O);cc.mat4=function(t,e,i,n,r,s,a,o,c,u,l,h,_,f,d,p){var v=new R(t,e,i,n,r,s,a,o,c,u,l,h,_,f,d,p);return void 0===t&&R.identity(v),v},cc.Mat4=R,e.exports=i.default}),{"../platform/CCClass":149,"./mat3":239,"./quat":241,"./utils":245,"./value-type":246,"./vec3":248}],241:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=c(t("./value-type")),r=c(t("../platform/CCClass")),s=c(t("./vec3")),a=c(t("./mat3")),o=t("./utils");function c(t){return t&&t.__esModule?t:{default:t}}function u(t,e){return(u=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var l=0,h=0,_=0,f=0,d=(function(t){var e,i;i=t,(e=r).prototype=Object.create(i.prototype),e.prototype.constructor=e,u(e,i);var n=r.prototype;function r(e,i,n,r){var s;return void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=1),(s=t.call(this)||this).x=void 0,s.y=void 0,s.z=void 0,s.w=void 0,e&&"object"==typeof e?(s.x=e.x,s.y=e.y,s.z=e.z,s.w=e.w):(s.x=e,s.y=i,s.z=n,s.w=r),s}return n.mul=function(t,e){return r.multiply(e||new r,this,t)},r.clone=function(t){return new r(t.x,t.y,t.z,t.w)},r.copy=function(t,e){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t},r.set=function(t,e,i,n,r){return t.x=e,t.y=i,t.z=n,t.w=r,t},r.identity=function(t){return t.x=0,t.y=0,t.z=0,t.w=1,t},r.rotationTo=function(t,e,i){var n=s.default.dot(e,i);return n<-.999999?(s.default.cross(g,s.default.RIGHT,e),g.mag()<1e-6&&s.default.cross(g,s.default.UP,e),s.default.normalize(g,g),r.fromAxisAngle(t,g,Math.PI),t):n>.999999?(t.x=0,t.y=0,t.z=0,t.w=1,t):(s.default.cross(g,e,i),t.x=g.x,t.y=g.y,t.z=g.z,t.w=1+n,r.normalize(t,t))},r.getAxisAngle=function(t,e){var i=2*Math.acos(e.w),n=Math.sin(i/2);return 0!==n?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n):(t.x=1,t.y=0,t.z=0),i},r.multiply=function(t,e,i){return l=e.x*i.w+e.w*i.x+e.y*i.z-e.z*i.y,h=e.y*i.w+e.w*i.y+e.z*i.x-e.x*i.z,_=e.z*i.w+e.w*i.z+e.x*i.y-e.y*i.x,f=e.w*i.w-e.x*i.x-e.y*i.y-e.z*i.z,t.x=l,t.y=h,t.z=_,t.w=f,t},r.multiplyScalar=function(t,e,i){return t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t.w=e.w*i,t},r.scaleAndAdd=function(t,e,i,n){return t.x=e.x+i.x*n,t.y=e.y+i.y*n,t.z=e.z+i.z*n,t.w=e.w+i.w*n,t},r.rotateX=function(t,e,i){i*=.5;var n=Math.sin(i),r=Math.cos(i);return l=e.x*r+e.w*n,h=e.y*r+e.z*n,_=e.z*r-e.y*n,f=e.w*r-e.x*n,t.x=l,t.y=h,t.z=_,t.w=f,t},r.rotateY=function(t,e,i){i*=.5;var n=Math.sin(i),r=Math.cos(i);return l=e.x*r-e.z*n,h=e.y*r+e.w*n,_=e.z*r+e.x*n,f=e.w*r-e.y*n,t.x=l,t.y=h,t.z=_,t.w=f,t},r.rotateZ=function(t,e,i){i*=.5;var n=Math.sin(i),r=Math.cos(i);return l=e.x*r+e.y*n,h=e.y*r-e.x*n,_=e.z*r+e.w*n,f=e.w*r-e.z*n,t.x=l,t.y=h,t.z=_,t.w=f,t},r.rotateAround=function(t,e,i,n){return r.invert(p,e),s.default.transformQuat(g,i,p),r.fromAxisAngle(p,g,n),r.multiply(t,e,p),t},r.rotateAroundLocal=function(t,e,i,n){return r.fromAxisAngle(p,i,n),r.multiply(t,e,p),t},r.calculateW=function(t,e){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=Math.sqrt(Math.abs(1-e.x*e.x-e.y*e.y-e.z*e.z)),t},r.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z+t.w*e.w},r.lerp=function(t,e,i,n){return t.x=e.x+n*(i.x-e.x),t.y=e.y+n*(i.y-e.y),t.z=e.z+n*(i.z-e.z),t.w=e.w+n*(i.w-e.w),t},r.slerp=function(t,e,i,n){var r=0,s=0,a=e.x*i.x+e.y*i.y+e.z*i.z+e.w*i.w;if(a<0&&(a=-a,i.x=-i.x,i.y=-i.y,i.z=-i.z,i.w=-i.w),1-a>1e-6){var o=Math.acos(a),c=Math.sin(o);r=Math.sin((1-n)*o)/c,s=Math.sin(n*o)/c}else r=1-n,s=n;return t.x=r*e.x+s*i.x,t.y=r*e.y+s*i.y,t.z=r*e.z+s*i.z,t.w=r*e.w+s*i.w,t},r.sqlerp=function(t,e,i,n,s,a){return r.slerp(p,e,s,a),r.slerp(v,i,n,a),r.slerp(t,p,v,2*a*(1-a)),t},r.invert=function(t,e){var i=e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w,n=i?1/i:0;return t.x=-e.x*n,t.y=-e.y*n,t.z=-e.z*n,t.w=e.w*n,t},r.conjugate=function(t,e){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t},r.len=function(t){return Math.sqrt(t.x*t.x+t.y*t.y+t.z*t.z+t.w*t.w)},r.lengthSqr=function(t){return t.x*t.x+t.y*t.y+t.z*t.z+t.w*t.w},r.normalize=function(t,e){var i=e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w;return i>0&&(i=1/Math.sqrt(i),t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t.w=e.w*i),t},r.fromAxes=function(t,e,i,n){return a.default.set(m,e.x,e.y,e.z,i.x,i.y,i.z,n.x,n.y,n.z),r.normalize(t,r.fromMat3(t,m))},r.fromViewUp=function(t,e,i){return a.default.fromViewUp(m,e,i),r.normalize(t,r.fromMat3(t,m))},r.fromAxisAngle=function(t,e,i){i*=.5;var n=Math.sin(i);return t.x=n*e.x,t.y=n*e.y,t.z=n*e.z,t.w=Math.cos(i),t},r.fromAngleZ=function(t,e){return e*=y,t.x=t.y=0,t.z=Math.sin(e),t.w=Math.cos(e),t},r.fromMat3=function(t,e){var i=e.m,n=i[0],r=i[1],s=i[2],a=i[3],o=i[4],c=i[5],u=i[6],l=i[7],h=i[8],_=n+o+h;if(_>0){var f=.5/Math.sqrt(_+1);t.w=.25/f,t.x=(c-l)*f,t.y=(u-s)*f,t.z=(r-a)*f}else if(n>o&&n>h){var d=2*Math.sqrt(1+n-o-h);t.w=(c-l)/d,t.x=.25*d,t.y=(a+r)/d,t.z=(u+s)/d}else if(o>h){var p=2*Math.sqrt(1+o-n-h);t.w=(u-s)/p,t.x=(a+r)/p,t.y=.25*p,t.z=(l+c)/p}else{var v=2*Math.sqrt(1+h-n-o);t.w=(r-a)/v,t.x=(u+s)/v,t.y=(l+c)/v,t.z=.25*v}return t},r.fromEuler=function(t,e,i,n){e*=y,i*=y,n*=y;var r=Math.sin(e),s=Math.cos(e),a=Math.sin(i),o=Math.cos(i),c=Math.sin(n),u=Math.cos(n);return t.x=r*o*u+s*a*c,t.y=s*a*u+r*o*c,t.z=s*o*c-r*a*u,t.w=s*o*u-r*a*c,t},r.toAxisX=function(t,e){var i=2*e.y,n=2*e.z;return t.x=1-i*e.y-n*e.z,t.y=i*e.x+n*e.w,t.z=n*e.x+i*e.w,t},r.toAxisY=function(t,e){var i=2*e.x,n=2*e.y,r=2*e.z;return t.x=n*e.x-r*e.w,t.y=1-i*e.x-r*e.z,t.z=r*e.y+i*e.w,t},r.toAxisZ=function(t,e){var i=2*e.x,n=2*e.y,r=2*e.z;return t.x=r*e.x-n*e.w,t.y=r*e.y-i*e.w,t.z=1-i*e.x-n*e.y,t},r.toEuler=function(t,e,i){var n=e.x,r=e.y,s=e.z,a=e.w,c=0,u=0,l=0,h=n*r+s*a;if(h>.499999)c=0,u=(0,o.toDegree)(2*Math.atan2(n,a)),l=90;else if(h<-.499999)c=0,u=-(0,o.toDegree)(2*Math.atan2(n,a)),l=-90;else{var _=n*n,f=r*r,d=s*s;c=(0,o.toDegree)(Math.atan2(2*n*a-2*r*s,1-2*_-2*d)),u=(0,o.toDegree)(Math.atan2(2*r*a-2*n*s,1-2*f-2*d)),l=(0,o.toDegree)(Math.asin(2*h)),i&&(c=-180*Math.sign(c+1e-6)+c,u=-180*Math.sign(u+1e-6)+u,l=180*Math.sign(l+1e-6)-l)}return t.x=c,t.y=u,t.z=l,t},r.strictEquals=function(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z&&t.w===e.w},r.equals=function(t,e,i){return void 0===i&&(i=o.EPSILON),Math.abs(t.x-e.x)<=i*Math.max(1,Math.abs(t.x),Math.abs(e.x))&&Math.abs(t.y-e.y)<=i*Math.max(1,Math.abs(t.y),Math.abs(e.y))&&Math.abs(t.z-e.z)<=i*Math.max(1,Math.abs(t.z),Math.abs(e.z))&&Math.abs(t.w-e.w)<=i*Math.max(1,Math.abs(t.w),Math.abs(e.w))},r.toArray=function(t,e,i){return void 0===i&&(i=0),t[i+0]=e.x,t[i+1]=e.y,t[i+2]=e.z,t[i+3]=e.w,t},r.fromArray=function(t,e,i){return void 0===i&&(i=0),t.x=e[i+0],t.y=e[i+1],t.z=e[i+2],t.w=e[i+3],t},n.clone=function(){return new r(this.x,this.y,this.z,this.w)},n.set=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},n.equals=function(t){return t&&this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},n.toEuler=function(t){return r.toEuler(t,this)},n.fromEuler=function(t){return r.fromEuler(this,t.x,t.y,t.z)},n.lerp=function(t,e,i){return i=i||new r,r.slerp(i,this,t,e),i},n.multiply=function(t){return r.multiply(this,this,t)},n.rotateAround=function(t,e,i,n){return n=n||new r,r.rotateAround(n,t,e,i)},r})(n.default);i.default=d,d.mul=d.multiply,d.scale=d.multiplyScalar,d.mag=d.len,d.IDENTITY=Object.freeze(new d);var p=new d,v=new d,g=new s.default,m=new a.default,y=.5*Math.PI/180;r.default.fastDefine("cc.Quat",d,{x:0,y:0,z:0,w:1}),cc.quat=function(t,e,i,n){return new d(t,e,i,n)},cc.Quat=d,e.exports=i.default}),{"../platform/CCClass":149,"./mat3":239,"./utils":245,"./value-type":246,"./vec3":248}],242:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=o(t("./value-type")),r=o(t("../platform/CCClass")),s=o(t("./vec2")),a=o(t("./size"));function o(t){return t&&t.__esModule?t:{default:t}}function c(t,e){for(var i=0;i=t.x&&this.y<=t.y&&this.y+this.height>=t.y},l.containsRect=function(t){return this.x<=t.x&&this.x+this.width>=t.x+t.width&&this.y<=t.y&&this.y+this.height>=t.y+t.height},l.union=function(t,e){var i=this.x,n=this.y,r=this.width,s=this.height,a=e.x,o=e.y,c=e.width,u=e.height;return t.x=Math.min(i,a),t.y=Math.min(n,o),t.width=Math.max(i+r,a+c)-t.x,t.height=Math.max(n+s,o+u)-t.y,t},l.transformMat4=function(t,e){var i=this.x,n=this.y,r=i+this.width,s=n+this.height,a=e.m,o=a[0]*i+a[4]*n+a[12],c=a[1]*i+a[5]*n+a[13],u=a[0]*r+a[4]*n+a[12],l=a[1]*r+a[5]*n+a[13],h=a[0]*i+a[4]*s+a[12],_=a[1]*i+a[5]*s+a[13],f=a[0]*r+a[4]*s+a[12],d=a[1]*r+a[5]*s+a[13],p=Math.min(o,u,h,f),v=Math.max(o,u,h,f),g=Math.min(c,l,_,d),m=Math.max(c,l,_,d);return t.x=p,t.y=g,t.width=v-p,t.height=m-g,t},l.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+", "+this.width.toFixed(2)+", "+this.height.toFixed(2)+")"},r=n,(o=[{key:"xMin",get:function(){return this.x},set:function(t){this.width+=this.x-t,this.x=t}},{key:"yMin",get:function(){return this.y},set:function(t){this.height+=this.y-t,this.y=t}},{key:"xMax",get:function(){return this.x+this.width},set:function(t){this.width=t-this.x}},{key:"yMax",get:function(){return this.y+this.height},set:function(t){this.height=t-this.y}},{key:"center",get:function(){return new s.default(this.x+.5*this.width,this.y+.5*this.height)},set:function(t){this.x=t.x-.5*this.width,this.y=t.y-.5*this.height}},{key:"origin",get:function(){return new s.default(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}},{key:"size",get:function(){return new a.default(this.width,this.height)},set:function(t){this.width=t.width,this.height=t.height}}])&&c(r.prototype,o),n})(n.default);i.default=l,r.default.fastDefine("cc.Rect",l,{x:0,y:0,width:0,height:0}),cc.Rect=l,cc.rect=function(t,e,i,n){return new l(t,e,i,n)},e.exports=i.default}),{"../platform/CCClass":149,"./size":243,"./value-type":246,"./vec2":247}],243:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=s(t("./value-type")),r=s(t("../platform/CCClass"));function s(t){return t&&t.__esModule?t:{default:t}}function a(t,e){for(var i=0;ii?i:t},i.clamp01=function(t){return t<0?0:t>1?1:t},i.equals=function(t,e){return Math.abs(t-e)<=s*Math.max(1,Math.abs(t),Math.abs(e))},i.inverseLerp=function(t,e,i){return(i-t)/(e-t)},i.lerp=function(t,e,i){return t+(e-t)*i},i.nextPow2=function(t){return--t,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i.pingPong=function(t,e){return t=h(t,2*e),e-Math.abs(t-e)},i.pseudoRandom=u,i.pseudoRandomRange=l,i.pseudoRandomRangeInt=function(t,e,i){return Math.floor(l(t,e,i))},i.random=void 0,i.randomRange=c,i.randomRangeInt=function(t,e){return Math.floor(c(t,e))},i.repeat=h,i.sign=function(t){return(t>0)-(t<0)},i.toDegree=function(t){return t*r},i.toRadian=function(t){return t*n};var n=Math.PI/180,r=180/Math.PI,s=1e-6;i.EPSILON=s,i.INT_BITS=32,i.INT_MAX=2147483647,i.INT_MIN=-1<<31;var a=Float64Array;i.FLOAT_ARRAY_TYPE=a,i.FLOAT_BYTES=8;var o=Math.random;function c(t,e){return Math.random()*(e-t)+t}function u(t){return(t=(9301*t+49297)%233280)/233280}function l(t,e,i){return u(t)*(i-e)+e}function h(t,e){return t-Math.floor(t/e)*e}i.random=o}),{}],246:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../platform/js"))&&n.__esModule?n:{default:n},s=(function(){function t(){}var e=t.prototype;return e.clone=function(){return cc.errorID("0100",r.default.getClassName(this)+".clone"),null},e.equals=function(){return cc.errorID("0100",r.default.getClassName(this)+".equals"),!1},e.lerp=function(){return cc.errorID("0100",r.default.getClassName(this)+".lerp"),this.clone()},e.set=function(){cc.errorID("0100",r.default.getClassName(this)+".set")},e.toString=function(){return""+{}},t})();i.default=s,r.default.setClassName("cc.ValueType",s),cc.ValueType=s,e.exports=i.default}),{"../platform/js":170}],247:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=o(t("./value-type")),r=o(t("../platform/CCClass")),s=o(t("../utils/misc")),a=t("./utils");function o(t){return t&&t.__esModule?t:{default:t}}function c(t,e){for(var i=0;i0&&(i=1/Math.sqrt(i),t.x=l*i,t.y=h*i),t},_.dot=function(t,e){return t.x*e.x+t.y*e.y},_.cross=function(t,e,i){return t.x=t.y=0,t.z=e.x*i.y-e.y*i.x,t},_.lerp=function(t,e,i,n){return l=e.x,h=e.y,t.x=l+n*(i.x-l),t.y=h+n*(i.y-h),t},_.random=function(t,e){e=e||1;var i=2*(0,a.random)()*Math.PI;return t.x=Math.cos(i)*e,t.y=Math.sin(i)*e,t},_.transformMat3=function(t,e,i){l=e.x,h=e.y;var n=i.m;return t.x=n[0]*l+n[3]*h+n[6],t.y=n[1]*l+n[4]*h+n[7],t},_.transformMat4=function(t,e,i){l=e.x,h=e.y;var n=i.m;return t.x=n[0]*l+n[4]*h+n[12],t.y=n[1]*l+n[5]*h+n[13],t},_.strictEquals=function(t,e){return t.x===e.x&&t.y===e.y},_.equals=function(t,e,i){return void 0===i&&(i=a.EPSILON),Math.abs(t.x-e.x)<=i*Math.max(1,Math.abs(t.x),Math.abs(e.x))&&Math.abs(t.y-e.y)<=i*Math.max(1,Math.abs(t.y),Math.abs(e.y))},_.angle=function(t,e){_.normalize(f,t),_.normalize(d,e);var i=_.dot(f,d);return i>1?0:i<-1?Math.PI:Math.acos(i)},_.toArray=function(t,e,i){return void 0===i&&(i=0),t[i+0]=e.x,t[i+1]=e.y,t},_.fromArray=function(t,e,i){return void 0===i&&(i=0),t.x=e[i+0],t.y=e[i+1],t},o.clone=function(){return new _(this.x,this.y)},o.set=function(t){return this.x=t.x,this.y=t.y,this},o.equals=function(t){return t&&this.x===t.x&&this.y===t.y},o.fuzzyEquals=function(t,e){return this.x-e<=t.x&&t.x<=this.x+e&&this.y-e<=t.y&&t.y<=this.y+e},o.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+")"},o.lerp=function(t,e,i){i=i||new _;var n=this.x,r=this.y;return i.x=n+(t.x-n)*e,i.y=r+(t.y-r)*e,i},o.clampf=function(t,e){return this.x=s.default.clampf(this.x,t.x,e.x),this.y=s.default.clampf(this.y,t.y,e.y),this},o.add=function(t,e){return(e=e||new _).x=this.x+t.x,e.y=this.y+t.y,e},o.addSelf=function(t){return this.x+=t.x,this.y+=t.y,this},o.subtract=function(t){return this.x-=t.x,this.y-=t.y,this},o.multiplyScalar=function(t){return this.x*=t,this.y*=t,this},o.multiply=function(t){return this.x*=t.x,this.y*=t.y,this},o.divide=function(t){return this.x/=t,this.y/=t,this},o.negate=function(){return this.x=-this.x,this.y=-this.y,this},o.dot=function(t){return this.x*t.x+this.y*t.y},o.cross=function(t){return this.x*t.y-this.y*t.x},o.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},o.lengthSqr=function(){return this.x*this.x+this.y*this.y},o.normalizeSelf=function(){var t=this.x*this.x+this.y*this.y;if(1===t)return this;if(0===t)return this;var e=1/Math.sqrt(t);return this.x*=e,this.y*=e,this},o.normalize=function(t){return(t=t||new _).x=this.x,t.y=this.y,t.normalizeSelf(),t},o.angle=function(t){var e=this.magSqr(),i=t.magSqr();if(0===e||0===i)return console.warn("Can't get angle between zero vector"),0;var n=this.dot(t)/Math.sqrt(e*i);return n=s.default.clampf(n,-1,1),Math.acos(n)},o.signAngle=function(t){var e=this.angle(t);return this.cross(t)<0?-e:e},o.rotate=function(t,e){return(e=e||new _).x=this.x,e.y=this.y,e.rotateSelf(t)},o.rotateSelf=function(t){var e=Math.sin(t),i=Math.cos(t),n=this.x;return this.x=i*n-e*this.y,this.y=e*n+i*this.y,this},o.project=function(t){return t.multiplyScalar(this.dot(t)/t.dot(t))},o.transformMat4=function(t,e){return e=e||new _,_.transformMat4(e,this,t),e},o.maxAxis=function(){return Math.max(this.x,this.y)},n=_,r=[{key:"ONE",get:function(){return new _(1,1)}},{key:"ZERO",get:function(){return new _(0,0)}},{key:"UP",get:function(){return new _(0,1)}},{key:"RIGHT",get:function(){return new _(1,0)}}],null&&c(n.prototype,null),r&&c(n,r),_})(n.default);i.default=_,_.sub=_.subtract,_.mul=_.multiply,_.scale=_.multiplyScalar,_.mag=_.len,_.squaredMagnitude=_.lengthSqr,_.div=_.divide,_.ONE_R=_.ONE,_.ZERO_R=_.ZERO,_.UP_R=_.UP,_.RIGHT_R=_.RIGHT;var f=new _,d=new _;r.default.fastDefine("cc.Vec2",_,{x:0,y:0}),cc.v2=function(t,e){return new _(t,e)},cc.Vec2=_,e.exports=i.default}),{"../platform/CCClass":149,"../utils/misc":223,"./utils":245,"./value-type":246}],248:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=c(t("./value-type")),r=c(t("../platform/CCClass")),s=c(t("../utils/misc")),a=c(t("./vec2")),o=t("./utils");function c(t){return t&&t.__esModule?t:{default:t}}function u(t,e){for(var i=0;i0&&(i=1/Math.sqrt(i),t.x=h*i,t.y=_*i,t.z=f*i),t},d.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z},d.cross=function(t,e,i){var n=e.x,r=e.y,s=e.z,a=i.x,o=i.y,c=i.z;return t.x=r*c-s*o,t.y=s*a-n*c,t.z=n*o-r*a,t},d.lerp=function(t,e,i,n){return t.x=e.x+n*(i.x-e.x),t.y=e.y+n*(i.y-e.y),t.z=e.z+n*(i.z-e.z),t},d.random=function(t,e){e=e||1;var i=2*(0,o.random)()*Math.PI,n=2*(0,o.random)()-1,r=Math.sqrt(1-n*n);return t.x=r*Math.cos(i)*e,t.y=r*Math.sin(i)*e,t.z=n*e,t},d.transformMat4=function(t,e,i){h=e.x,_=e.y,f=e.z;var n=i.m,r=n[3]*h+n[7]*_+n[11]*f+n[15];return r=r?1/r:1,t.x=(n[0]*h+n[4]*_+n[8]*f+n[12])*r,t.y=(n[1]*h+n[5]*_+n[9]*f+n[13])*r,t.z=(n[2]*h+n[6]*_+n[10]*f+n[14])*r,t},d.transformMat4Normal=function(t,e,i){h=e.x,_=e.y,f=e.z;var n=i.m,r=n[3]*h+n[7]*_+n[11]*f;return r=r?1/r:1,t.x=(n[0]*h+n[4]*_+n[8]*f)*r,t.y=(n[1]*h+n[5]*_+n[9]*f)*r,t.z=(n[2]*h+n[6]*_+n[10]*f)*r,t},d.transformMat3=function(t,e,i){h=e.x,_=e.y,f=e.z;var n=i.m;return t.x=h*n[0]+_*n[3]+f*n[6],t.y=h*n[1]+_*n[4]+f*n[7],t.z=h*n[2]+_*n[5]+f*n[8],t},d.transformAffine=function(t,e,i){h=e.x,_=e.y,f=e.z;var n=i.m;return t.x=n[0]*h+n[1]*_+n[2]*f+n[3],t.y=n[4]*h+n[5]*_+n[6]*f+n[7],t.x=n[8]*h+n[9]*_+n[10]*f+n[11],t},d.transformQuat=function(t,e,i){var n=i.w*e.x+i.y*e.z-i.z*e.y,r=i.w*e.y+i.z*e.x-i.x*e.z,s=i.w*e.z+i.x*e.y-i.y*e.x,a=-i.x*e.x-i.y*e.y-i.z*e.z;return t.x=n*i.w+a*-i.x+r*-i.z-s*-i.y,t.y=r*i.w+a*-i.y+s*-i.x-n*-i.z,t.z=s*i.w+a*-i.z+n*-i.y-r*-i.x,t},d.transformRTS=function(t,e,i,n,r){var s=e.x*r.x,a=e.y*r.y,o=e.z*r.z,c=i.w*s+i.y*o-i.z*a,u=i.w*a+i.z*s-i.x*o,l=i.w*o+i.x*a-i.y*s,h=-i.x*s-i.y*a-i.z*o;return t.x=c*i.w+h*-i.x+u*-i.z-l*-i.y+n.x,t.y=u*i.w+h*-i.y+l*-i.x-c*-i.z+n.y,t.z=l*i.w+h*-i.z+c*-i.y-u*-i.x+n.z,t},d.transformInverseRTS=function(t,e,i,n,r){var s=e.x-n.x,a=e.y-n.y,o=e.z-n.z,c=i.w*s-i.y*o+i.z*a,u=i.w*a-i.z*s+i.x*o,l=i.w*o-i.x*a+i.y*s,h=i.x*s+i.y*a+i.z*o;return t.x=(c*i.w+h*i.x+u*i.z-l*i.y)/r.x,t.y=(u*i.w+h*i.y+l*i.x-c*i.z)/r.y,t.z=(l*i.w+h*i.z+c*i.y-u*i.x)/r.z,t},d.rotateX=function(t,e,i,n){h=e.x-i.x,_=e.y-i.y,f=e.z-i.z;var r=Math.cos(n),s=Math.sin(n),a=h,o=_*r-f*s,c=_*s+f*r;return t.x=a+i.x,t.y=o+i.y,t.z=c+i.z,t},d.rotateY=function(t,e,i,n){h=e.x-i.x,_=e.y-i.y,f=e.z-i.z;var r=Math.cos(n),s=Math.sin(n),a=f*s+h*r,o=_,c=f*r-h*s;return t.x=a+i.x,t.y=o+i.y,t.z=c+i.z,t},d.rotateZ=function(t,e,i,n){h=e.x-i.x,_=e.y-i.y,f=e.z-i.z;var r=Math.cos(n),s=Math.sin(n),a=h*r-_*s,o=h*s+_*r,c=f;return t.x=a+i.x,t.y=o+i.y,t.z=c+i.z,t},d.strictEquals=function(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z},d.equals=function(t,e,i){void 0===i&&(i=o.EPSILON);var n=t.x,r=t.y,s=t.z,a=e.x,c=e.y,u=e.z;return Math.abs(n-a)<=i*Math.max(1,Math.abs(n),Math.abs(a))&&Math.abs(r-c)<=i*Math.max(1,Math.abs(r),Math.abs(c))&&Math.abs(s-u)<=i*Math.max(1,Math.abs(s),Math.abs(u))},d.angle=function(t,e){d.normalize(p,t),d.normalize(v,e);var i=d.dot(p,v);return i>1?0:i<-1?Math.PI:Math.acos(i)},d.projectOnPlane=function(t,e,i){return d.subtract(t,e,d.project(t,e,i))},d.project=function(t,e,i){var n=d.lengthSqr(i);return n<1e-6?d.set(t,0,0,0):d.multiplyScalar(t,i,d.dot(e,i)/n)},d.toArray=function(t,e,i){return void 0===i&&(i=0),t[i+0]=e.x,t[i+1]=e.y,t[i+2]=e.z,t},d.fromArray=function(t,e,i){return void 0===i&&(i=0),t.x=e[i+0],t.y=e[i+1],t.z=e[i+2],t},c.clone=function(){return new d(this.x,this.y,this.z)},c.set=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},c.equals=function(t){return t&&this.x===t.x&&this.y===t.y&&this.z===t.z},c.fuzzyEquals=function(t,e){return this.x-e<=t.x&&t.x<=this.x+e&&this.y-e<=t.y&&t.y<=this.y+e&&this.z-e<=t.z&&t.z<=this.z+e},c.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+", "+this.z.toFixed(2)+")"},c.lerp=function(t,e,i){return i=i||new d,d.lerp(i,this,t,e),i},c.clampf=function(t,e){return this.x=s.default.clampf(this.x,t.x,e.x),this.y=s.default.clampf(this.y,t.y,e.y),this.z=s.default.clampf(this.z,t.z,e.z),this},c.addSelf=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},c.add=function(t,e){return(e=e||new d).x=this.x+t.x,e.y=this.y+t.y,e.z=this.z+t.z,e},c.subtract=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this},c.multiplyScalar=function(t){return this.x*=t,this.y*=t,this.z*=t,this},c.multiply=function(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this},c.divide=function(t){return this.x/=t,this.y/=t,this.z/=t,this},c.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},c.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},c.cross=function(t,e){return e=e||new d,d.cross(e,this,t),e},c.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},c.lengthSqr=function(){return this.x*this.x+this.y*this.y+this.z*this.z},c.normalizeSelf=function(){return d.normalize(this,this),this},c.normalize=function(t){return t=t||new d,d.normalize(t,this),t},c.transformMat4=function(t,e){return e=e||new d,d.transformMat4(e,this,t),e},c.maxAxis=function(){return Math.max(this.x,this.y,this.z)},c.signAngle=function(t){cc.warnID(1408,"vec3.signAngle","v2.1","cc.v2(selfVector).signAngle(vector)");var e=new a.default(this.x,this.y),i=new a.default(t.x,t.y);return e.signAngle(i)},c.rotate=function(t,e){return cc.warnID(1408,"vec3.rotate","v2.1","cc.v2(selfVector).rotate(radians, out)"),a.default.prototype.rotate.call(this,t,e)},c.rotateSelf=function(t){return cc.warnID(1408,"vec3.rotateSelf","v2.1","cc.v2(selfVector).rotateSelf(radians)"),a.default.prototype.rotateSelf.call(this,t)},n=d,r=[{key:"ONE",get:function(){return new d(1,1,1)}},{key:"ZERO",get:function(){return new d}},{key:"UP",get:function(){return new d(0,1,0)}},{key:"RIGHT",get:function(){return new d(1,0,0)}},{key:"FORWARD",get:function(){return new d(0,0,1)}}],null&&u(n.prototype,null),r&&u(n,r),d})(n.default);i.default=d,d.sub=d.subtract,d.mul=d.multiply,d.scale=d.multiplyScalar,d.mag=d.len,d.squaredMagnitude=d.lengthSqr,d.div=d.divide,d.ONE_R=d.ONE,d.ZERO_R=d.ZERO,d.UP_R=d.UP,d.RIGHT_R=d.RIGHT,d.FRONT_R=d.FORWARD;var p=new d,v=new d;r.default.fastDefine("cc.Vec3",d,{x:0,y:0,z:0}),cc.v3=function(t,e,i){return new d(t,e,i)},cc.Vec3=d,e.exports=i.default}),{"../platform/CCClass":149,"../utils/misc":223,"./utils":245,"./value-type":246,"./vec2":247}],249:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0,i.v4=d;var n=a(t("../platform/CCClass")),r=a(t("./value-type")),s=t("./utils");function a(t){return t&&t.__esModule?t:{default:t}}function o(t,e){for(var i=0;i0&&(i=1/Math.sqrt(i),t.x=u*i,t.y=l*i,t.z=h*i,t.w=_*i),t},f.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z+t.w*e.w},f.lerp=function(t,e,i,n){return t.x=e.x+n*(i.x-e.x),t.y=e.y+n*(i.y-e.y),t.z=e.z+n*(i.z-e.z),t.w=e.w+n*(i.w-e.w),t},f.random=function(t,e){e=e||1;var i=2*(0,s.random)()*Math.PI,n=2*(0,s.random)()-1,r=Math.sqrt(1-n*n);return t.x=r*Math.cos(i)*e,t.y=r*Math.sin(i)*e,t.z=n*e,t.w=0,t},f.transformMat4=function(t,e,i){u=e.x,l=e.y,h=e.z,_=e.w;var n=i.m;return t.x=n[0]*u+n[4]*l+n[8]*h+n[12]*_,t.y=n[1]*u+n[5]*l+n[9]*h+n[13]*_,t.z=n[2]*u+n[6]*l+n[10]*h+n[14]*_,t.w=n[3]*u+n[7]*l+n[11]*h+n[15]*_,t},f.transformAffine=function(t,e,i){u=e.x,l=e.y,h=e.z,_=e.w;var n=i.m;return t.x=n[0]*u+n[1]*l+n[2]*h+n[3]*_,t.y=n[4]*u+n[5]*l+n[6]*h+n[7]*_,t.x=n[8]*u+n[9]*l+n[10]*h+n[11]*_,t.w=e.w,t},f.transformQuat=function(t,e,i){var n=e.x,r=e.y,s=e.z;u=i.x,l=i.y,h=i.z;var a=(_=i.w)*n+l*s-h*r,o=_*r+h*n-u*s,c=_*s+u*r-l*n,f=-u*n-l*r-h*s;return t.x=a*_+f*-u+o*-h-c*-l,t.y=o*_+f*-l+c*-u-a*-h,t.z=c*_+f*-h+a*-l-o*-u,t.w=e.w,t},f.strictEquals=function(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z&&t.w===e.w},f.equals=function(t,e,i){return void 0===i&&(i=s.EPSILON),Math.abs(t.x-e.x)<=i*Math.max(1,Math.abs(t.x),Math.abs(e.x))&&Math.abs(t.y-e.y)<=i*Math.max(1,Math.abs(t.y),Math.abs(e.y))&&Math.abs(t.z-e.z)<=i*Math.max(1,Math.abs(t.z),Math.abs(e.z))&&Math.abs(t.w-e.w)<=i*Math.max(1,Math.abs(t.w),Math.abs(e.w))},f.toArray=function(t,e,i){return void 0===i&&(i=0),t[i+0]=e.x,t[i+1]=e.y,t[i+2]=e.z,t[i+3]=e.w,t},f.fromArray=function(t,e,i){return void 0===i&&(i=0),t.x=e[i+0],t.y=e[i+1],t.z=e[i+2],t.w=e[i+3],t},a.clone=function(){return new f(this.x,this.y,this.z,this.w)},a.set=function(t,e,i,n){return t&&"object"==typeof t?(this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w):(this.x=t||0,this.y=e||0,this.z=i||0,this.w=n||0),this},a.equals=function(t,e){return void 0===e&&(e=s.EPSILON),Math.abs(this.x-t.x)<=e*Math.max(1,Math.abs(this.x),Math.abs(t.x))&&Math.abs(this.y-t.y)<=e*Math.max(1,Math.abs(this.y),Math.abs(t.y))&&Math.abs(this.z-t.z)<=e*Math.max(1,Math.abs(this.z),Math.abs(t.z))&&Math.abs(this.w-t.w)<=e*Math.max(1,Math.abs(this.w),Math.abs(t.w))},a.equals4f=function(t,e,i,n,r){return void 0===r&&(r=s.EPSILON),Math.abs(this.x-t)<=r*Math.max(1,Math.abs(this.x),Math.abs(t))&&Math.abs(this.y-e)<=r*Math.max(1,Math.abs(this.y),Math.abs(e))&&Math.abs(this.z-i)<=r*Math.max(1,Math.abs(this.z),Math.abs(i))&&Math.abs(this.w-n)<=r*Math.max(1,Math.abs(this.w),Math.abs(n))},a.strictEquals=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},a.strictEquals4f=function(t,e,i,n){return this.x===t&&this.y===e&&this.z===i&&this.w===n},a.lerp=function(t,e){return u=this.x,l=this.y,h=this.z,_=this.w,this.x=u+e*(t.x-u),this.y=l+e*(t.y-l),this.z=h+e*(t.z-h),this.w=_+e*(t.w-_),this},a.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+", "+this.z.toFixed(2)+", "+this.w.toFixed(2)+")"},a.clampf=function(t,e){return this.x=(0,s.clamp)(this.x,t.x,e.x),this.y=(0,s.clamp)(this.y,t.y,e.y),this.z=(0,s.clamp)(this.z,t.z,e.z),this.w=(0,s.clamp)(this.w,t.w,e.w),this},a.addSelf=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this},a.add=function(t,e){return(e=e||new f).x=this.x+t.x,e.y=this.y+t.y,e.z=this.z+t.z,e.w=this.w+t.w,e},a.subtract=function(t,e){return(e=e||new f).x=this.x-t.x,e.y=this.y-t.y,e.z=this.z-t.z,e.w=this.w-t.w,e},a.multiplyScalar=function(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},a.multiply=function(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this},a.divide=function(t){return this.x/=t,this.y/=t,this.z/=t,this.w/=t,this},a.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},a.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},a.cross=function(t,e){e=e||new f;var i=this.x,n=this.y,r=this.z,s=t.x,a=t.y,o=t.z;return e.x=n*o-r*a,e.y=r*s-i*o,e.z=i*a-n*s,e},a.len=function(){var t=this.x,e=this.y,i=this.z,n=this.w;return Math.sqrt(t*t+e*e+i*i+n*n)},a.lengthSqr=function(){var t=this.x,e=this.y,i=this.z,n=this.w;return t*t+e*e+i*i+n*n},a.normalizeSelf=function(){return this.normalize(this),this},a.normalize=function(t){t=t||new f,u=this.x,l=this.y,h=this.z,_=this.w;var e=u*u+l*l+h*h+_*_;return e>0&&(e=1/Math.sqrt(e),t.x=u*e,t.y=l*e,t.z=h*e,t.w=_*e),t},a.transformMat4=function(t,e){e=e||new f,u=this.x,l=this.y,h=this.z,_=this.w;var i=t.m;return e.x=i[0]*u+i[4]*l+i[8]*h+i[12]*_,e.y=i[1]*u+i[5]*l+i[9]*h+i[13]*_,e.z=i[2]*u+i[6]*l+i[10]*h+i[14]*_,e.w=i[3]*u+i[7]*l+i[11]*h+i[15]*_,e},a.maxAxis=function(){return Math.max(this.x,this.y,this.z,this.w)},n=f,r=[{key:"ZERO",get:function(){return new f(0,0,0,0)}},{key:"ONE",get:function(){return new f(1,1,1,1)}},{key:"NEG_ONE",get:function(){return new f(-1,-1,-1,-1)}}],null&&o(n.prototype,null),r&&o(n,r),f})(r.default);function d(t,e,i,n){return new f(t,e,i,n)}i.default=f,f.sub=f.subtract,f.mul=f.multiply,f.div=f.divide,f.scale=f.multiplyScalar,f.mag=f.len,f.squaredMagnitude=f.lengthSqr,f.ZERO_R=f.ZERO,f.ONE_R=f.ONE,f.NEG_ONE_R=f.NEG_ONE,n.default.fastDefine("cc.Vec4",f,{x:0,y:0,z:0,w:0}),cc.v4=d,cc.Vec4=f}),{"../platform/CCClass":149,"./utils":245,"./value-type":246}],250:[(function(){"use strict";cc.js}),{}],251:[(function(t){"use strict";t("./core/CCGame"),t("./actions")}),{"./actions":7,"./core/CCGame":24}],252:[(function(t,e){"use strict";var i=t("../core/assets/CCAsset"),n=t("../core/assets/CCSpriteFrame"),r=cc.Class({name:"cc.ParticleAsset",extends:i,properties:{spriteFrame:{default:null,type:n}}});cc.ParticleAsset=e.exports=r}),{"../core/assets/CCAsset":58,"../core/assets/CCSpriteFrame":70}],253:[(function(t,e){"use strict";var i,n,r,s,a,o,c,u,l,h,_,f,d,p,v,g,m,y,T,E,A,C,x,b,S,R,w,I,M,O,D,L,P,N,F,B,U,z,k,V,H,W;(function(t){t[t.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",t[t.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",t[t.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",t[t.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",t[t.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",t[t.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",t[t.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL"})(i||(i={})),(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.BUFFER=1]="BUFFER",t[t.TEXTURE=2]="TEXTURE",t[t.TEXTURE_VIEW=3]="TEXTURE_VIEW",t[t.RENDER_PASS=4]="RENDER_PASS",t[t.FRAMEBUFFER=5]="FRAMEBUFFER",t[t.SAMPLER=6]="SAMPLER",t[t.SHADER=7]="SHADER",t[t.PIPELINE_LAYOUT=8]="PIPELINE_LAYOUT",t[t.PIPELINE_STATE=9]="PIPELINE_STATE",t[t.BINDING_LAYOUT=10]="BINDING_LAYOUT",t[t.INPUT_ASSEMBLER=11]="INPUT_ASSEMBLER",t[t.COMMAND_ALLOCATOR=12]="COMMAND_ALLOCATOR",t[t.COMMAND_BUFFER=13]="COMMAND_BUFFER",t[t.QUEUE=14]="QUEUE",t[t.WINDOW=15]="WINDOW"})(n||(n={})),(function(t){t[t.UNREADY=0]="UNREADY",t[t.FAILED=1]="FAILED",t[t.SUCCESS=2]="SUCCESS"})(r||(r={})),(function(){function t(t){this._gfxType=n.UNKNOWN,this._status=r.UNREADY,this._gfxType=t}Object.defineProperty(t.prototype,"gfxType",{get:function(){return this._gfxType},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"status",{get:function(){return this._status},enumerable:!0,configurable:!0})})(),(function(t){t.ATTR_POSITION="a_position",t.ATTR_NORMAL="a_normal",t.ATTR_TANGENT="a_tangent",t.ATTR_BITANGENT="a_bitangent",t.ATTR_WEIGHTS="a_weights",t.ATTR_JOINTS="a_joints",t.ATTR_COLOR="a_color",t.ATTR_COLOR1="a_color1",t.ATTR_COLOR2="a_color2",t.ATTR_TEX_COORD="a_texCoord",t.ATTR_TEX_COORD1="a_texCoord1",t.ATTR_TEX_COORD2="a_texCoord2",t.ATTR_TEX_COORD3="a_texCoord3",t.ATTR_TEX_COORD4="a_texCoord4",t.ATTR_TEX_COORD5="a_texCoord5",t.ATTR_TEX_COORD6="a_texCoord6",t.ATTR_TEX_COORD7="a_texCoord7",t.ATTR_TEX_COORD8="a_texCoord8"})(s||(s={})),(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.BOOL=1]="BOOL",t[t.BOOL2=2]="BOOL2",t[t.BOOL3=3]="BOOL3",t[t.BOOL4=4]="BOOL4",t[t.INT=5]="INT",t[t.INT2=6]="INT2",t[t.INT3=7]="INT3",t[t.INT4=8]="INT4",t[t.UINT=9]="UINT",t[t.UINT2=10]="UINT2",t[t.UINT3=11]="UINT3",t[t.UINT4=12]="UINT4",t[t.FLOAT=13]="FLOAT",t[t.FLOAT2=14]="FLOAT2",t[t.FLOAT3=15]="FLOAT3",t[t.FLOAT4=16]="FLOAT4",t[t.COLOR4=17]="COLOR4",t[t.MAT2=18]="MAT2",t[t.MAT2X3=19]="MAT2X3",t[t.MAT2X4=20]="MAT2X4",t[t.MAT3X2=21]="MAT3X2",t[t.MAT3=22]="MAT3",t[t.MAT3X4=23]="MAT3X4",t[t.MAT4X2=24]="MAT4X2",t[t.MAT4X3=25]="MAT4X3",t[t.MAT4=26]="MAT4",t[t.SAMPLER1D=27]="SAMPLER1D",t[t.SAMPLER1D_ARRAY=28]="SAMPLER1D_ARRAY",t[t.SAMPLER2D=29]="SAMPLER2D",t[t.SAMPLER2D_ARRAY=30]="SAMPLER2D_ARRAY",t[t.SAMPLER3D=31]="SAMPLER3D",t[t.SAMPLER_CUBE=32]="SAMPLER_CUBE",t[t.COUNT=33]="COUNT"})(a||(a={})),(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.A8=1]="A8",t[t.L8=2]="L8",t[t.LA8=3]="LA8",t[t.R8=4]="R8",t[t.R8SN=5]="R8SN",t[t.R8UI=6]="R8UI",t[t.R8I=7]="R8I",t[t.R16F=8]="R16F",t[t.R16UI=9]="R16UI",t[t.R16I=10]="R16I",t[t.R32F=11]="R32F",t[t.R32UI=12]="R32UI",t[t.R32I=13]="R32I",t[t.RG8=14]="RG8",t[t.RG8SN=15]="RG8SN",t[t.RG8UI=16]="RG8UI",t[t.RG8I=17]="RG8I",t[t.RG16F=18]="RG16F",t[t.RG16UI=19]="RG16UI",t[t.RG16I=20]="RG16I",t[t.RG32F=21]="RG32F",t[t.RG32UI=22]="RG32UI",t[t.RG32I=23]="RG32I",t[t.RGB8=24]="RGB8",t[t.SRGB8=25]="SRGB8",t[t.RGB8SN=26]="RGB8SN",t[t.RGB8UI=27]="RGB8UI",t[t.RGB8I=28]="RGB8I",t[t.RGB16F=29]="RGB16F",t[t.RGB16UI=30]="RGB16UI",t[t.RGB16I=31]="RGB16I",t[t.RGB32F=32]="RGB32F",t[t.RGB32UI=33]="RGB32UI",t[t.RGB32I=34]="RGB32I",t[t.RGBA8=35]="RGBA8",t[t.SRGB8_A8=36]="SRGB8_A8",t[t.RGBA8SN=37]="RGBA8SN",t[t.RGBA8UI=38]="RGBA8UI",t[t.RGBA8I=39]="RGBA8I",t[t.RGBA16F=40]="RGBA16F",t[t.RGBA16UI=41]="RGBA16UI",t[t.RGBA16I=42]="RGBA16I",t[t.RGBA32F=43]="RGBA32F",t[t.RGBA32UI=44]="RGBA32UI",t[t.RGBA32I=45]="RGBA32I",t[t.R5G6B5=46]="R5G6B5",t[t.R11G11B10F=47]="R11G11B10F",t[t.RGB5A1=48]="RGB5A1",t[t.RGBA4=49]="RGBA4",t[t.RGB10A2=50]="RGB10A2",t[t.RGB10A2UI=51]="RGB10A2UI",t[t.RGB9E5=52]="RGB9E5",t[t.D16=53]="D16",t[t.D16S8=54]="D16S8",t[t.D24=55]="D24",t[t.D24S8=56]="D24S8",t[t.D32F=57]="D32F",t[t.D32F_S8=58]="D32F_S8",t[t.BC1=59]="BC1",t[t.BC1_ALPHA=60]="BC1_ALPHA",t[t.BC1_SRGB=61]="BC1_SRGB",t[t.BC1_SRGB_ALPHA=62]="BC1_SRGB_ALPHA",t[t.BC2=63]="BC2",t[t.BC2_SRGB=64]="BC2_SRGB",t[t.BC3=65]="BC3",t[t.BC3_SRGB=66]="BC3_SRGB",t[t.BC4=67]="BC4",t[t.BC4_SNORM=68]="BC4_SNORM",t[t.BC5=69]="BC5",t[t.BC5_SNORM=70]="BC5_SNORM",t[t.BC6H_UF16=71]="BC6H_UF16",t[t.BC6H_SF16=72]="BC6H_SF16",t[t.BC7=73]="BC7",t[t.BC7_SRGB=74]="BC7_SRGB",t[t.ETC_RGB8=75]="ETC_RGB8",t[t.ETC2_RGB8=76]="ETC2_RGB8",t[t.ETC2_SRGB8=77]="ETC2_SRGB8",t[t.ETC2_RGB8_A1=78]="ETC2_RGB8_A1",t[t.ETC2_SRGB8_A1=79]="ETC2_SRGB8_A1",t[t.ETC2_RGBA8=80]="ETC2_RGBA8",t[t.ETC2_SRGB8_A8=81]="ETC2_SRGB8_A8",t[t.EAC_R11=82]="EAC_R11",t[t.EAC_R11SN=83]="EAC_R11SN",t[t.EAC_RG11=84]="EAC_RG11",t[t.EAC_RG11SN=85]="EAC_RG11SN",t[t.PVRTC_RGB2=86]="PVRTC_RGB2",t[t.PVRTC_RGBA2=87]="PVRTC_RGBA2",t[t.PVRTC_RGB4=88]="PVRTC_RGB4",t[t.PVRTC_RGBA4=89]="PVRTC_RGBA4",t[t.PVRTC2_2BPP=90]="PVRTC2_2BPP",t[t.PVRTC2_4BPP=91]="PVRTC2_4BPP"})(o||(o={})),(function(t){t[t.NONE=0]="NONE",t[t.TRANSFER_SRC=1]="TRANSFER_SRC",t[t.TRANSFER_DST=2]="TRANSFER_DST",t[t.INDEX=4]="INDEX",t[t.VERTEX=8]="VERTEX",t[t.UNIFORM=16]="UNIFORM",t[t.STORAGE=32]="STORAGE",t[t.INDIRECT=64]="INDIRECT"})(c||(c={})),(function(t){t[t.NONE=0]="NONE",t[t.DEVICE=1]="DEVICE",t[t.HOST=2]="HOST"})(u||(u={})),(function(t){t[t.NONE=0]="NONE",t[t.READ=1]="READ",t[t.WRITE=2]="WRITE"})(l||(l={})),(function(t){t[t.POINT_LIST=0]="POINT_LIST",t[t.LINE_LIST=1]="LINE_LIST",t[t.LINE_STRIP=2]="LINE_STRIP",t[t.LINE_LOOP=3]="LINE_LOOP",t[t.LINE_LIST_ADJACENCY=4]="LINE_LIST_ADJACENCY",t[t.LINE_STRIP_ADJACENCY=5]="LINE_STRIP_ADJACENCY",t[t.ISO_LINE_LIST=6]="ISO_LINE_LIST",t[t.TRIANGLE_LIST=7]="TRIANGLE_LIST",t[t.TRIANGLE_STRIP=8]="TRIANGLE_STRIP",t[t.TRIANGLE_FAN=9]="TRIANGLE_FAN",t[t.TRIANGLE_LIST_ADJACENCY=10]="TRIANGLE_LIST_ADJACENCY",t[t.TRIANGLE_STRIP_ADJACENCY=11]="TRIANGLE_STRIP_ADJACENCY",t[t.TRIANGLE_PATCH_ADJACENCY=12]="TRIANGLE_PATCH_ADJACENCY",t[t.QUAD_PATCH_LIST=13]="QUAD_PATCH_LIST"})(h||(h={})),(function(t){t[t.FILL=0]="FILL",t[t.POINT=1]="POINT",t[t.LINE=2]="LINE"})(_||(_={})),(function(t){t[t.GOURAND=0]="GOURAND",t[t.FLAT=1]="FLAT"})(f||(f={})),(function(t){t[t.NONE=0]="NONE",t[t.FRONT=1]="FRONT",t[t.BACK=2]="BACK"})(d||(d={})),(function(t){t[t.NEVER=0]="NEVER",t[t.LESS=1]="LESS",t[t.EQUAL=2]="EQUAL",t[t.LESS_EQUAL=3]="LESS_EQUAL",t[t.GREATER=4]="GREATER",t[t.NOT_EQUAL=5]="NOT_EQUAL",t[t.GREATER_EQUAL=6]="GREATER_EQUAL",t[t.ALWAYS=7]="ALWAYS"})(p||(p={})),(function(t){t[t.ZERO=0]="ZERO",t[t.KEEP=1]="KEEP",t[t.REPLACE=2]="REPLACE",t[t.INCR=3]="INCR",t[t.DECR=4]="DECR",t[t.INVERT=5]="INVERT",t[t.INCR_WRAP=6]="INCR_WRAP",t[t.DECR_WRAP=7]="DECR_WRAP"})(v||(v={})),(function(t){t[t.ADD=0]="ADD",t[t.SUB=1]="SUB",t[t.REV_SUB=2]="REV_SUB",t[t.MIN=3]="MIN",t[t.MAX=4]="MAX"})(g||(g={})),(function(t){t[t.ZERO=0]="ZERO",t[t.ONE=1]="ONE",t[t.SRC_ALPHA=2]="SRC_ALPHA",t[t.DST_ALPHA=3]="DST_ALPHA",t[t.ONE_MINUS_SRC_ALPHA=4]="ONE_MINUS_SRC_ALPHA",t[t.ONE_MINUS_DST_ALPHA=5]="ONE_MINUS_DST_ALPHA",t[t.SRC_COLOR=6]="SRC_COLOR",t[t.DST_COLOR=7]="DST_COLOR",t[t.ONE_MINUS_SRC_COLOR=8]="ONE_MINUS_SRC_COLOR",t[t.ONE_MINUS_DST_COLOR=9]="ONE_MINUS_DST_COLOR",t[t.SRC_ALPHA_SATURATE=10]="SRC_ALPHA_SATURATE",t[t.CONSTANT_COLOR=11]="CONSTANT_COLOR",t[t.ONE_MINUS_CONSTANT_COLOR=12]="ONE_MINUS_CONSTANT_COLOR",t[t.CONSTANT_ALPHA=13]="CONSTANT_ALPHA",t[t.ONE_MINUS_CONSTANT_ALPHA=14]="ONE_MINUS_CONSTANT_ALPHA"})(m||(m={})),(function(t){t[t.NONE=0]="NONE",t[t.R=1]="R",t[t.G=2]="G",t[t.B=4]="B",t[t.A=8]="A",t[t.ALL=15]="ALL"})(y||(y={})),(function(t){t[t.NONE=0]="NONE",t[t.POINT=1]="POINT",t[t.LINEAR=2]="LINEAR",t[t.ANISOTROPIC=3]="ANISOTROPIC"})(T||(T={})),(function(t){t[t.WRAP=0]="WRAP",t[t.MIRROR=1]="MIRROR",t[t.CLAMP=2]="CLAMP",t[t.BORDER=3]="BORDER"})(E||(E={})),(function(t){t[t.TEX1D=0]="TEX1D",t[t.TEX2D=1]="TEX2D",t[t.TEX3D=2]="TEX3D"})(A||(A={})),(function(t){t[t.NONE=0]="NONE",t[t.TRANSFER_SRC=1]="TRANSFER_SRC",t[t.TRANSFER_DST=2]="TRANSFER_DST",t[t.SAMPLED=4]="SAMPLED",t[t.STORAGE=8]="STORAGE",t[t.COLOR_ATTACHMENT=16]="COLOR_ATTACHMENT",t[t.DEPTH_STENCIL_ATTACHMENT=32]="DEPTH_STENCIL_ATTACHMENT",t[t.TRANSIENT_ATTACHMENT=64]="TRANSIENT_ATTACHMENT",t[t.INPUT_ATTACHMENT=128]="INPUT_ATTACHMENT"})(C||(C={})),(function(t){t[t.X1=0]="X1",t[t.X2=1]="X2",t[t.X4=2]="X4",t[t.X8=3]="X8",t[t.X16=4]="X16",t[t.X32=5]="X32",t[t.X64=6]="X64"})(x||(x={})),(function(t){t[t.NONE=0]="NONE",t[t.GEN_MIPMAP=1]="GEN_MIPMAP",t[t.CUBEMAP=2]="CUBEMAP",t[t.BAKUP_BUFFER=4]="BAKUP_BUFFER"})(b||(b={})),(function(t){t[t.TV1D=0]="TV1D",t[t.TV2D=1]="TV2D",t[t.TV3D=2]="TV3D",t[t.CUBE=3]="CUBE",t[t.TV1D_ARRAY=4]="TV1D_ARRAY",t[t.TV2D_ARRAY=5]="TV2D_ARRAY"})(S||(S={})),(function(t){t[t.VERTEX=0]="VERTEX",t[t.HULL=1]="HULL",t[t.DOMAIN=2]="DOMAIN",t[t.GEOMETRY=3]="GEOMETRY",t[t.FRAGMENT=4]="FRAGMENT",t[t.COMPUTE=5]="COMPUTE",t[t.COUNT=6]="COUNT"})(R||(R={})),(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.UNIFORM_BUFFER=1]="UNIFORM_BUFFER",t[t.SAMPLER=2]="SAMPLER",t[t.STORAGE_BUFFER=3]="STORAGE_BUFFER"})(w||(w={})),(function(t){t[t.PRIMARY=0]="PRIMARY",t[t.SECONDARY=1]="SECONDARY"})(I||(I={})),(function(t){t[t.LOAD=0]="LOAD",t[t.CLEAR=1]="CLEAR",t[t.DISCARD=2]="DISCARD"})(M||(M={})),(function(t){t[t.STORE=0]="STORE",t[t.DISCARD=1]="DISCARD"})(O||(O={})),(function(t){t[t.UNDEFINED=0]="UNDEFINED",t[t.GENERAL=1]="GENERAL",t[t.COLOR_ATTACHMENT_OPTIMAL=2]="COLOR_ATTACHMENT_OPTIMAL",t[t.DEPTH_STENCIL_ATTACHMENT_OPTIMAL=3]="DEPTH_STENCIL_ATTACHMENT_OPTIMAL",t[t.DEPTH_STENCIL_READONLY_OPTIMAL=4]="DEPTH_STENCIL_READONLY_OPTIMAL",t[t.SHADER_READONLY_OPTIMAL=5]="SHADER_READONLY_OPTIMAL",t[t.TRANSFER_SRC_OPTIMAL=6]="TRANSFER_SRC_OPTIMAL",t[t.TRANSFER_DST_OPTIMAL=7]="TRANSFER_DST_OPTIMAL",t[t.PREINITIALIZED=8]="PREINITIALIZED",t[t.PRESENT_SRC=9]="PRESENT_SRC"})(D||(D={})),(function(t){t[t.GRAPHICS=0]="GRAPHICS",t[t.COMPUTE=1]="COMPUTE",t[t.RAY_TRACING=2]="RAY_TRACING"})(L||(L={})),(function(t){t[t.VIEWPORT=0]="VIEWPORT",t[t.SCISSOR=1]="SCISSOR",t[t.LINE_WIDTH=2]="LINE_WIDTH",t[t.DEPTH_BIAS=3]="DEPTH_BIAS",t[t.BLEND_CONSTANTS=4]="BLEND_CONSTANTS",t[t.DEPTH_BOUNDS=5]="DEPTH_BOUNDS",t[t.STENCIL_WRITE_MASK=6]="STENCIL_WRITE_MASK",t[t.STENCIL_COMPARE_MASK=7]="STENCIL_COMPARE_MASK"})(P||(P={})),(function(t){t[t.FRONT=0]="FRONT",t[t.BACK=1]="BACK",t[t.ALL=2]="ALL"})(N||(N={})),(function(t){t[t.GRAPHICS=0]="GRAPHICS",t[t.COMPUTE=1]="COMPUTE",t[t.TRANSFER=2]="TRANSFER"})(F||(F={})),(function(t){t[t.NONE=0]="NONE",t[t.COLOR=1]="COLOR",t[t.DEPTH=2]="DEPTH",t[t.STENCIL=4]="STENCIL",t[t.DEPTH_STENCIL=6]="DEPTH_STENCIL",t[t.ALL=7]="ALL"})(B||(B={})),(function(t){t[t.DEFAULT=100]="DEFAULT"})(U||(U={})),(function(t){t[t.MIN=0]="MIN",t[t.MAX=255]="MAX",t[t.DEFAULT=128]="DEFAULT"})(z||(z={})),(function(t){t[t.UBO_GLOBAL=23]="UBO_GLOBAL",t[t.UBO_SHADOW=22]="UBO_SHADOW",t[t.UBO_LOCAL=21]="UBO_LOCAL",t[t.UBO_FORWARD_LIGHTS=20]="UBO_FORWARD_LIGHTS",t[t.UBO_SKINNING=19]="UBO_SKINNING",t[t.UBO_SKINNING_TEXTURE=18]="UBO_SKINNING_TEXTURE",t[t.UBO_UI=17]="UBO_UI",t[t.SAMPLER_JOINTS=25]="SAMPLER_JOINTS",t[t.SAMPLER_ENVIRONMENT=26]="SAMPLER_ENVIRONMENT",t[t.CUSTUM_UBO_BINDING_END_POINT=17]="CUSTUM_UBO_BINDING_END_POINT",t[t.CUSTOM_SAMPLER_BINDING_START_POINT=30]="CUSTOM_SAMPLER_BINDING_START_POINT"})(k||(k={})),(function(t){t[t.minFilter=0]="minFilter",t[t.magFilter=1]="magFilter",t[t.mipFilter=2]="mipFilter",t[t.addressU=3]="addressU",t[t.addressV=4]="addressV",t[t.addressW=5]="addressW",t[t.maxAnisotropy=6]="maxAnisotropy",t[t.cmpFunc=7]="cmpFunc",t[t.minLOD=8]="minLOD",t[t.maxLOD=9]="maxLOD",t[t.mipLODBias=10]="mipLODBias",t[t.borderColor=11]="borderColor",t[t.total=15]="total"})(W||(W={}));var G={};G[G.bool=a.BOOL]="bool",G[G.int=a.INT]="int",G[G.ivec2=a.INT2]="ivec2invTypeParams",G[G.ivec3=a.INT3]="ivec3",G[G.ivec4=a.INT4]="ivec4",G[G.float=a.FLOAT]="float",G[G.vec2=a.FLOAT2]="vec2",G[G.vec3=a.FLOAT3]="vec3",G[G.vec4=a.FLOAT4]="vec4",G[G.mat2=a.MAT2]="mat2",G[G.mat3=a.MAT3]="mat3",G[G.mat4=a.MAT4]="mat4",G[G.sampler2D=a.SAMPLER2D]="sampler2D",G[G.samplerCube=a.SAMPLER_CUBE]="samplerCube";var j=((V={})[a.BOOL]=4,V[a.INT]=4,V[a.INT2]=8,V[a.INT3]=12,V[a.INT4]=16,V[a.FLOAT]=4,V[a.FLOAT2]=8,V[a.FLOAT3]=12,V[a.FLOAT4]=16,V[a.MAT2]=16,V[a.MAT3]=36,V[a.MAT4]=64,V[a.SAMPLER2D]=4,V[a.SAMPLER_CUBE]=4,V),Y=((H={})[a.BOOL]=o.R32I,H[a.INT]=o.R32I,H[a.INT2]=o.RG32I,H[a.INT3]=o.RGB32I,H[a.INT4]=o.RGBA32I,H[a.FLOAT]=o.R32F,H[a.FLOAT2]=o.RG32F,H[a.FLOAT3]=o.RGB32F,H[a.FLOAT4]=o.RGBA32F,H),X={BACK:1029,FRONT:1028,NONE:0,ADD:32774,SUB:32778,REV_SUB:32779,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,SRC_ALPHA_SATURATE:776,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,INCR_WRAP:34055,DECR:7683,DECR_WRAP:34056,INVERT:5386};Object.assign(X,U);var q={murmurhash2_32_gc:function(t,e){for(var i,n=t.length,r=e^n,s=0;n>=4;)i=1540483477*(65535&(i=255&t.charCodeAt(s)|(255&t.charCodeAt(++s))<<8|(255&t.charCodeAt(++s))<<16|(255&t.charCodeAt(++s))<<24))+((1540483477*(i>>>16)&65535)<<16),r=1540483477*(65535&r)+((1540483477*(r>>>16)&65535)<<16)^(i=1540483477*(65535&(i^=i>>>24))+((1540483477*(i>>>16)&65535)<<16)),n-=4,++s;switch(n){case 3:r^=(255&t.charCodeAt(s+2))<<16;case 2:r^=(255&t.charCodeAt(s+1))<<8;case 1:r=1540483477*(65535&(r^=255&t.charCodeAt(s)))+((1540483477*(r>>>16)&65535)<<16)}return r=1540483477*(65535&(r^=r>>>13))+((1540483477*(r>>>16)&65535)<<16),(r^=r>>>15)>>>0},SamplerInfoIndex:W,effectStructure:{$techniques:[{$passes:[{depthStencilState:{},rasterizerState:{},blendState:{targets:[{}]},properties:{any:{sampler:{},inspector:{}}}}]}]},typeMap:G,sizeMap:j,formatMap:Y,passParams:X,RenderQueue:{OPAQUE:0,TRANSPARENT:1,OVERLAY:2},RenderPriority:z,GFXGetTypeSize:function(t){switch(t){case a.BOOL:case a.INT:case a.UINT:case a.FLOAT:return 4;case a.BOOL2:case a.INT2:case a.UINT2:case a.FLOAT2:return 8;case a.BOOL3:case a.INT3:case a.UINT3:case a.FLOAT3:return 12;case a.BOOL4:case a.INT4:case a.UINT4:case a.FLOAT4:case a.MAT2:return 16;case a.MAT2X3:return 24;case a.MAT2X4:return 32;case a.MAT3X2:return 24;case a.MAT3:return 36;case a.MAT3X4:return 48;case a.MAT4X2:case a.MAT4X2:return 32;case a.MAT4:return 64;case a.SAMPLER1D:case a.SAMPLER1D_ARRAY:case a.SAMPLER2D:case a.SAMPLER2D_ARRAY:case a.SAMPLER3D:case a.SAMPLER_CUBE:return 4;default:return 0}},UniformBinding:k};e.exports=q}),{}],254:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("../memop"),r=u(t("../enums")),s=t("../../core/value-types"),a=u(t("./program-lib")),o=u(t("./view")),c=u(t("../gfx"));function u(t){return t&&t.__esModule?t:{default:t}}var l=new s.Mat4,h=new n.RecyclePool(function(){return{stage:null,items:null}},8),_=new n.RecyclePool(function(){return new Float32Array(2)},8),f=new n.RecyclePool(function(){return new Float32Array(3)},8),d=new n.RecyclePool(function(){return new Float32Array(4)},8),p=new n.RecyclePool(function(){return new Float32Array(9)},8),v=new n.RecyclePool(function(){return new Float32Array(16)},8),g=new n.RecyclePool(function(){return new Float32Array(64)},8),m=new n.RecyclePool(function(){return new Int32Array(2)},8),y=new n.RecyclePool(function(){return new Int32Array(3)},8),T=new n.RecyclePool(function(){return new Int32Array(4)},8),E=new n.RecyclePool(function(){return new Int32Array(64)},8),A=(function(){function t(t,e){var i;this._device=t,this._programLib=new a.default(t),this._opts=e,this._type2defaultValue=((i={})[r.default.PARAM_INT]=0,i[r.default.PARAM_INT2]=new s.Vec2(0,0),i[r.default.PARAM_INT3]=new s.Vec3(0,0,0),i[r.default.PARAM_INT4]=new s.Vec4(0,0,0,0),i[r.default.PARAM_FLOAT]=0,i[r.default.PARAM_FLOAT2]=new s.Vec2(0,0),i[r.default.PARAM_FLOAT3]=new s.Vec3(0,0,0),i[r.default.PARAM_FLOAT4]=new s.Vec4(0,0,0,0),i[r.default.PARAM_COLOR4]=new s.Color(0,0,0,1),i[r.default.PARAM_MAT3]=new s.Mat3,i[r.default.PARAM_MAT4]=new s.Mat4,i[r.default.PARAM_TEXTURE_2D]=e.defaultTexture,i[r.default.PARAM_TEXTURE_CUBE]=e.defaultTextureCube,i),this._stage2fn={},this._usedTextureUnits=0,this._viewPools=new n.RecyclePool(function(){return new o.default},8),this._drawItemsPools=new n.RecyclePool(function(){return{model:null,node:null,ia:null,effect:null,defines:null,uniforms:null}},100),this._stageItemsPools=new n.RecyclePool(function(){return new n.RecyclePool(function(){return{model:null,node:null,ia:null,effect:null,defines:null,passes:[],sortKey:-1,uniforms:null}},100)},16),this._definesChanged=!1}var e=t.prototype;return e._resetTextuerUnit=function(){this._usedTextureUnits=0},e._allocTextureUnit=function(){var t=this._device,e=this._usedTextureUnits;return e>=t._caps.maxTextureUnits&&console.warn("Trying to use "+e+" texture units while this GPU supports only "+t._caps.maxTextureUnits),this._usedTextureUnits+=1,e},e._registerStage=function(t,e){this._stage2fn[t]=e},e.clear=function(){this._programLib.clear(),this.reset()},e.reset=function(){this._viewPools.reset(),this._stageItemsPools.reset(),this._definesChanged=!1},e._requestView=function(){return this._viewPools.add()},e._render=function(t,e){var i=this._device;i.setFrameBuffer(t._framebuffer),i.setViewport(t._rect.x,t._rect.y,t._rect.w,t._rect.h);var n={};t._clearFlags&r.default.CLEAR_COLOR&&(n.color=s.Vec4.toArray([],t._color)),t._clearFlags&r.default.CLEAR_DEPTH&&(n.depth=t._depth),t._clearFlags&r.default.CLEAR_STENCIL&&(n.stencil=t._stencil),i.clear(n),this._drawItemsPools.reset();for(var a=0;at.count)return void console.error("Failed to set property ["+t.name+"] : The length of texture array ["+i.length+"] is bigger than ["+t.count+"].");for(var n=E.add(),s=0;s0&&n&&n.precision>0}e||cc.warnID(9102),this._highpSupported=e},t})();i.default=l,e.exports=i.default}),{"../gfx":265}],258:[(function(t,e,i){"use strict";function n(t,e){for(var i=0;i>24)/255,(i.blendColor>>16&255)/255,(i.blendColor>>8&255)/255,(255&i.blendColor)/255),void(i.blendSep?(t.blendFuncSeparate(i.blendSrc,i.blendDst,i.blendSrcAlpha,i.blendDstAlpha),t.blendEquationSeparate(i.blendEq,i.blendAlphaEq)):(t.blendFunc(i.blendSrc,i.blendDst),t.blendEquation(i.blendEq)))):void t.disable(t.BLEND);!1!==i.blend&&(e.blendColor!==i.blendColor&&t.blendColor((i.blendColor>>24)/255,(i.blendColor>>16&255)/255,(i.blendColor>>8&255)/255,(255&i.blendColor)/255),e.blendSep===i.blendSep?i.blendSep?(e.blendSrc===i.blendSrc&&e.blendDst===i.blendDst&&e.blendSrcAlpha===i.blendSrcAlpha&&e.blendDstAlpha===i.blendDstAlpha||t.blendFuncSeparate(i.blendSrc,i.blendDst,i.blendSrcAlpha,i.blendDstAlpha),e.blendEq===i.blendEq&&e.blendAlphaEq===i.blendAlphaEq||t.blendEquationSeparate(i.blendEq,i.blendAlphaEq)):(e.blendSrc===i.blendSrc&&e.blendDst===i.blendDst||t.blendFunc(i.blendSrc,i.blendDst),e.blendEq!==i.blendEq&&t.blendEquation(i.blendEq)):i.blendSep?(t.blendFuncSeparate(i.blendSrc,i.blendDst,i.blendSrcAlpha,i.blendDstAlpha),t.blendEquationSeparate(i.blendEq,i.blendAlphaEq)):(t.blendFunc(i.blendSrc,i.blendDst),t.blendEquation(i.blendEq)))}function d(t,e,i){if(e.depthTest!==i.depthTest)return i.depthTest?(t.enable(t.DEPTH_TEST),t.depthFunc(i.depthFunc),void t.depthMask(i.depthWrite)):void t.disable(t.DEPTH_TEST);e.depthWrite!==i.depthWrite&&t.depthMask(i.depthWrite),!1!==i.depthTest?e.depthFunc!==i.depthFunc&&t.depthFunc(i.depthFunc):i.depthWrite&&(i.depthTest=!0,i.depthFunc=a.enums.DS_FUNC_ALWAYS,t.enable(t.DEPTH_TEST),t.depthFunc(i.depthFunc))}function p(t,e,i){if(i.stencilTest!==a.enums.STENCIL_INHERIT)return i.stencilTest!==e.stencilTest?i.stencilTest===a.enums.STENCIL_DISABLE?void t.disable(t.STENCIL_TEST):(t.enable(t.STENCIL_TEST),void(i.stencilSep?(t.stencilFuncSeparate(t.FRONT,i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMaskSeparate(t.FRONT,i.stencilWriteMaskFront),t.stencilOpSeparate(t.FRONT,i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront),t.stencilFuncSeparate(t.BACK,i.stencilFuncBack,i.stencilRefBack,i.stencilMaskBack),t.stencilMaskSeparate(t.BACK,i.stencilWriteMaskBack),t.stencilOpSeparate(t.BACK,i.stencilFailOpBack,i.stencilZFailOpBack,i.stencilZPassOpBack)):(t.stencilFunc(i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMask(i.stencilWriteMaskFront),t.stencilOp(i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront)))):void(i.stencilTest!==a.enums.STENCIL_DISABLE&&(e.stencilSep===i.stencilSep?i.stencilSep?(e.stencilFuncFront===i.stencilFuncFront&&e.stencilRefFront===i.stencilRefFront&&e.stencilMaskFront===i.stencilMaskFront||t.stencilFuncSeparate(t.FRONT,i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),e.stencilWriteMaskFront!==i.stencilWriteMaskFront&&t.stencilMaskSeparate(t.FRONT,i.stencilWriteMaskFront),e.stencilFailOpFront===i.stencilFailOpFront&&e.stencilZFailOpFront===i.stencilZFailOpFront&&e.stencilZPassOpFront===i.stencilZPassOpFront||t.stencilOpSeparate(t.FRONT,i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront),e.stencilFuncBack===i.stencilFuncBack&&e.stencilRefBack===i.stencilRefBack&&e.stencilMaskBack===i.stencilMaskBack||t.stencilFuncSeparate(t.BACK,i.stencilFuncBack,i.stencilRefBack,i.stencilMaskBack),e.stencilWriteMaskBack!==i.stencilWriteMaskBack&&t.stencilMaskSeparate(t.BACK,i.stencilWriteMaskBack),e.stencilFailOpBack===i.stencilFailOpBack&&e.stencilZFailOpBack===i.stencilZFailOpBack&&e.stencilZPassOpBack===i.stencilZPassOpBack||t.stencilOpSeparate(t.BACK,i.stencilFailOpBack,i.stencilZFailOpBack,i.stencilZPassOpBack)):(e.stencilFuncFront===i.stencilFuncFront&&e.stencilRefFront===i.stencilRefFront&&e.stencilMaskFront===i.stencilMaskFront||t.stencilFunc(i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),e.stencilWriteMaskFront!==i.stencilWriteMaskFront&&t.stencilMask(i.stencilWriteMaskFront),e.stencilFailOpFront===i.stencilFailOpFront&&e.stencilZFailOpFront===i.stencilZFailOpFront&&e.stencilZPassOpFront===i.stencilZPassOpFront||t.stencilOp(i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront)):i.stencilSep?(t.stencilFuncSeparate(t.FRONT,i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMaskSeparate(t.FRONT,i.stencilWriteMaskFront),t.stencilOpSeparate(t.FRONT,i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront),t.stencilFuncSeparate(t.BACK,i.stencilFuncBack,i.stencilRefBack,i.stencilMaskBack),t.stencilMaskSeparate(t.BACK,i.stencilWriteMaskBack),t.stencilOpSeparate(t.BACK,i.stencilFailOpBack,i.stencilZFailOpBack,i.stencilZPassOpBack)):(t.stencilFunc(i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMask(i.stencilWriteMaskFront),t.stencilOp(i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront))))}function v(t,e,i){e.cullMode!==i.cullMode&&(i.cullMode!==a.enums.CULL_NONE?(t.enable(t.CULL_FACE),t.cullFace(i.cullMode)):t.disable(t.CULL_FACE))}function g(t,e,i,n){var r=!1;if(-1!==n.maxStream){if(i.maxStream!==n.maxStream)r=!0;else if(i.program!==n.program)r=!0;else for(var s=0;s>>0},n.setBlendFunc=function(t,e){this._next.blendSep=!1,this._next.blendSrc=t,this._next.blendDst=e},n.setBlendFuncSep=function(t,e,i,n){this._next.blendSep=!0,this._next.blendSrc=t,this._next.blendDst=e,this._next.blendSrcAlpha=i,this._next.blendDstAlpha=n},n.setBlendEq=function(t){this._next.blendSep=!1,this._next.blendEq=t},n.setBlendEqSep=function(t,e){this._next.blendSep=!0,this._next.blendEq=t,this._next.blendAlphaEq=e},n.setCullMode=function(t){this._next.cullMode=t},n.setVertexBuffer=function(t,e,i){void 0===i&&(i=0),this._next.vertexBuffers[t]=e,this._next.vertexBufferOffsets[t]=i,this._next.maxStream=this._caps.maxTextureUnits?console.warn("Can not set texture "+t+" at stage "+i+", max texture exceed: "+this._caps.maxTextureUnits):(this._next.textureUnits[i]=e,this.setUniform(t,i),this._next.maxTextureSlot=this._caps.maxTextureUnits)console.warn("Can not set "+n+" textures for "+t+", max texture exceed: "+this._caps.maxTextureUnits);else{for(var r=0;rthis._bytes){if(t)return void console.error("Failed to update data, bytes exceed.");this._needExpandDataStore=!0,this._bytes=t+e.byteLength,this._numIndices=this._bytes/this._bytesPerIndex}var i=this._device._gl,n=this._usage;i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,this._glID),this._needExpandDataStore?(i.bufferData(i.ELEMENT_ARRAY_BUFFER,e,n),this._needExpandDataStore=!1):i.bufferSubData(i.ELEMENT_ARRAY_BUFFER,t,e),this._device._restoreIndexBuffer()}}else console.error("The buffer is destroyed")},n.setUsage=function(t){this._usage=t},e=t,(i=[{key:"count",get:function(){return this._numIndices}}])&&s(e.prototype,i),t})();o.BYTES_PER_INDEX=a;var c=o;i.default=c,e.exports=i.default}),{"./enums":262}],265:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("./enums");n={VertexFormat:t("./vertex-format"),IndexBuffer:t("./index-buffer"),VertexBuffer:t("./vertex-buffer"),Program:t("./program"),Texture:t("./texture"),Texture2D:t("./texture-2d"),TextureCube:t("./texture-cube"),RenderBuffer:t("./render-buffer"),FrameBuffer:t("./frame-buffer"),Device:t("./device"),attrTypeBytes:r.attrTypeBytes,glFilter:r.glFilter,glTextureFmt:r.glTextureFmt},Object.assign(n,r.enums);var s=n;i.default=s,cc.gfx=n,e.exports=i.default}),{"./device":261,"./enums":262,"./frame-buffer":263,"./index-buffer":264,"./program":267,"./render-buffer":268,"./texture":272,"./texture-2d":270,"./texture-cube":271,"./vertex-buffer":273,"./vertex-format":274}],266:[(function(t,e,i){"use strict";i.__esModule=!0,i.isPow2=function(t){return!(t&t-1||!t)}}),{}],267:[(function(t,e,i){"use strict";function n(t,e){for(var i=0;i0&&t.push({type:e,fileID:-1,line:0,message:i})}}))}var a=(function(){function t(t,e){this._device=t,this._attributes=[],this._uniforms=[],this._samplers=[],this._errors=[],this._linked=!1,this._vertSource=e.vert,this._fragSource=e.frag,this._glID=null,this._id=r++}var e,i,a=t.prototype;return a.link=function(){if(!this._linked){var t=this._device._gl,e=o(t,t.VERTEX_SHADER,this._vertSource),i=o(t,t.FRAGMENT_SHADER,this._fragSource),n=t.createProgram();t.attachShader(n,e),t.attachShader(n,i),t.linkProgram(n);var r=!1,a=this._errors;if(t.getShaderParameter(e,t.COMPILE_STATUS)||(s(a,"vs",t.getShaderInfoLog(e)),r=!0),t.getShaderParameter(i,t.COMPILE_STATUS)||(s(a,"fs",t.getShaderInfoLog(i)),r=!0),t.deleteShader(e),t.deleteShader(i),r)return a;if(!t.getProgramParameter(n,t.LINK_STATUS))return a.push({info:"Failed to link shader program: "+t.getProgramInfoLog(n)}),a;this._glID=n;for(var c=t.getProgramParameter(n,t.ACTIVE_ATTRIBUTES),u=0;u=s.enums.TEXTURE_FMT_RGB_DXT1&&this._format<=s.enums.TEXTURE_FMT_RGBA_PVRTC_4BPPV1||this._format>=s.enums.TEXTURE_FMT_RGB_ETC2&&this._format<=s.enums.TEXTURE_FMT_RGBA_ETC2),void 0!==t.genMipmaps&&(this._genMipmap=t.genMipmaps,i=t.genMipmaps);var n=this._device.caps.maxTextureSize||Number.MAX_VALUE,r=Math.max(t.width||0,t.height||0);n1&&(i=!1,(t.width>t.height?t.width:t.height)>>t.images.length-1!=1&&console.error("texture-2d mipmap is invalid, should have a 1x1 mipmap."))}(0,a.isPow2)(this._width)&&(0,a.isPow2)(this._height)||(i=!1),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this._glID),void 0!==t.images&&t.images.length>0&&(this._setMipmap(t.images,t.flipY,t.premultiplyAlpha),t.images.length>1&&(this._genMipmap=!0)),i&&(e.hint(e.GENERATE_MIPMAP_HINT,e.NICEST),e.generateMipmap(e.TEXTURE_2D),this._genMipmap=!0),this._setTexInfo(),this._device._restoreTexture(0)},r.updateSubImage=function(t){var e=this._device._gl,i=(0,s.glTextureFmt)(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this._glID),this._setSubImage(i,t),this._device._restoreTexture(0)},r.updateImage=function(t){var e=this._device._gl,i=(0,s.glTextureFmt)(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this._glID),this._setImage(i,t),this._device._restoreTexture(0)},r._setSubImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.image;!s||ArrayBuffer.isView(s)||s instanceof ArrayBuffer?(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),this._compressed?i.compressedTexSubImage2D(i.TEXTURE_2D,e.level,e.x,e.y,e.width,e.height,t.format,s):i.texSubImage2D(i.TEXTURE_2D,e.level,e.x,e.y,e.width,e.height,t.format,t.pixelType,s)):(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!0):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),i.texSubImage2D(i.TEXTURE_2D,e.level,e.x,e.y,t.format,t.pixelType,s))},r._setImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.image;!s||ArrayBuffer.isView(s)||s instanceof ArrayBuffer?(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),this._compressed?i.compressedTexImage2D(i.TEXTURE_2D,e.level,t.internalFormat,e.width,e.height,0,s):i.texImage2D(i.TEXTURE_2D,e.level,t.internalFormat,e.width,e.height,0,t.format,t.pixelType,s)):(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!0):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),i.texImage2D(i.TEXTURE_2D,e.level,t.internalFormat,t.format,t.pixelType,s))},r._setMipmap=function(t,e,i){for(var n=(0,s.glTextureFmt)(this._format),r={width:this._width,height:this._height,flipY:e,premultiplyAlpha:i,level:0,image:null},a=0;a>a,r.height=this._height>>a,r.image=t[a],this._setImage(n,r)},r._setTexInfo=function(){var t=this._device._gl,e=(0,a.isPow2)(this._width)&&(0,a.isPow2)(this._height);e||this._wrapS===s.enums.WRAP_CLAMP&&this._wrapT===s.enums.WRAP_CLAMP||(console.warn("WebGL1 doesn't support all wrap modes with NPOT textures"),this._wrapS=s.enums.WRAP_CLAMP,this._wrapT=s.enums.WRAP_CLAMP);var i=this._genMipmap?this._mipFilter:-1;e||-1===i||(console.warn("NPOT textures do not support mipmap filter"),i=-1),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,(0,s.glFilter)(t,this._minFilter,i)),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,(0,s.glFilter)(t,this._magFilter,-1)),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,this._wrapS),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,this._wrapT);var n=this._device.ext("EXT_texture_filter_anisotropic");n&&t.texParameteri(t.TEXTURE_2D,n.TEXTURE_MAX_ANISOTROPY_EXT,this._anisotropy)},n})(r.default);i.default=c,e.exports=i.default}),{"./enums":262,"./misc":266,"./texture":272}],271:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("./texture"))&&n.__esModule?n:{default:n},s=t("./enums"),a=t("./misc");function o(t,e){return(o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var c=(function(t){var e,i;function n(e,i){var n,r=(n=t.call(this,e)||this)._device._gl;return n._target=r.TEXTURE_CUBE_MAP,n._glID=r.createTexture(),n.update(i),n}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,o(e,i);var r=n.prototype;return r.update=function(t){var e=this._device._gl,i=this._genMipmaps;t&&(void 0!==t.width&&(this._width=t.width),void 0!==t.height&&(this._height=t.height),void 0!==t.anisotropy&&(this._anisotropy=t.anisotropy),void 0!==t.minFilter&&(this._minFilter=t.minFilter),void 0!==t.magFilter&&(this._magFilter=t.magFilter),void 0!==t.mipFilter&&(this._mipFilter=t.mipFilter),void 0!==t.wrapS&&(this._wrapS=t.wrapS),void 0!==t.wrapT&&(this._wrapT=t.wrapT),void 0!==t.format&&(this._format=t.format,this._compressed=this._format>=s.enums.TEXTURE_FMT_RGB_DXT1&&this._format<=s.enums.TEXTURE_FMT_RGBA_PVRTC_4BPPV1||this._format>=s.enums.TEXTURE_FMT_RGB_ETC2&&this._format<=s.enums.TEXTURE_FMT_RGBA_ETC2),void 0!==t.genMipmaps&&(this._genMipmaps=t.genMipmaps,i=t.genMipmaps),void 0!==t.images&&t.images.length>1&&(i=!1,t.width!==t.height&&console.warn("texture-cube width and height should be identical."),t.width>>t.images.length-1!=1&&console.error("texture-cube mipmap is invalid. please set mipmap as 1x1, 2x2, 4x4 ... nxn"))),(0,a.isPow2)(this._width)&&(0,a.isPow2)(this._height)||(i=!1),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_CUBE_MAP,this._glID),void 0!==t.images&&t.images.length>0&&(this._setMipmap(t.images,t.flipY,t.premultiplyAlpha),t.images.length>1&&(this._genMipmaps=!0)),i&&(e.hint(e.GENERATE_MIPMAP_HINT,e.NICEST),e.generateMipmap(e.TEXTURE_CUBE_MAP),this._genMipmaps=!0),this._setTexInfo(),this._device._restoreTexture(0)},r.updateSubImage=function(t){var e=this._device._gl,i=(0,s.glTextureFmt)(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_CUBE_MAP,this._glID),this._setSubImage(i,t),this._device._restoreTexture(0)},r.updateImage=function(t){var e=this._device._gl,i=(0,s.glTextureFmt)(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_CUBE_MAP,this._glID),this._setImage(i,t),this._device._restoreTexture(0)},r._setSubImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.faceIndex,a=e.image;void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),!a||ArrayBuffer.isView(a)||a instanceof ArrayBuffer?this._compressed?i.compressedTexSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,e.x,e.y,e.width,e.height,t.format,a):i.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,e.x,e.y,e.width,e.height,t.format,t.pixelType,a):i.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,e.x,e.y,t.format,t.pixelType,a)},r._setImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.faceIndex,a=e.image;void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),!a||ArrayBuffer.isView(a)||a instanceof ArrayBuffer?this._compressed?i.compressedTexImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,t.internalFormat,e.width,e.height,0,a):i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,t.internalFormat,e.width,e.height,0,t.format,t.pixelType,a):i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,t.internalFormat,t.format,t.pixelType,a)},r._setMipmap=function(t,e,i){for(var n=(0,s.glTextureFmt)(this._format),r={width:this._width,height:this._height,faceIndex:0,flipY:e,premultiplyAlpha:i,level:0,image:null},a=0;a>a,r.height=this._height>>a;for(var c=0;c<6;++c)r.faceIndex=c,r.image=o[c],this._setImage(n,r)}},r._setTexInfo=function(){var t=this._device._gl,e=(0,a.isPow2)(this._width)&&(0,a.isPow2)(this._height);e||this._wrapS===s.enums.WRAP_CLAMP&&this._wrapT===s.enums.WRAP_CLAMP||(console.warn("WebGL1 doesn't support all wrap modes with NPOT textures"),this._wrapS=s.enums.WRAP_CLAMP,this._wrapT=s.enums.WRAP_CLAMP);var i=this._genMipmaps?this._mipFilter:-1;e||-1===i||(console.warn("NPOT textures do not support mipmap filter"),i=-1),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_MIN_FILTER,(0,s.glFilter)(t,this._minFilter,i)),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_MAG_FILTER,(0,s.glFilter)(t,this._magFilter,-1)),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_WRAP_S,this._wrapS),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_WRAP_T,this._wrapT);var n=this._device.ext("EXT_texture_filter_anisotropic");n&&t.texParameteri(t.TEXTURE_CUBE_MAP,n.TEXTURE_MAX_ANISOTROPY_EXT,this._anisotropy)},n})(r.default);i.default=c,e.exports=i.default}),{"./enums":262,"./misc":266,"./texture":272}],272:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("./enums"),r=0,s=(function(){function t(t){this._device=t,this._width=4,this._height=4,this._genMipmaps=!1,this._compressed=!1,this._anisotropy=1,this._minFilter=n.enums.FILTER_LINEAR,this._magFilter=n.enums.FILTER_LINEAR,this._mipFilter=n.enums.FILTER_LINEAR,this._wrapS=n.enums.WRAP_REPEAT,this._wrapT=n.enums.WRAP_REPEAT,this._format=n.enums.TEXTURE_FMT_RGBA8,this._target=-1,this._id=r++}return t.prototype.destroy=function(){null!==this._glID?(this._device._gl.deleteTexture(this._glID),this._device._stats.tex-=this.bytes,this._glID=null):console.error("The texture already destroyed")},t})();i.default=s,e.exports=i.default}),{"./enums":262}],273:[(function(t,e,i){"use strict";function n(t,e){for(var i=0;ithis._bytes){if(t)return void console.error("Failed to update data, bytes exceed.");this._needExpandDataStore=!0,this._bytes=t+e.byteLength,this._numVertices=this._bytes/this._bytesPerVertex}var i=this._device._gl,n=this._usage;i.bindBuffer(i.ARRAY_BUFFER,this._glID),this._needExpandDataStore?(i.bufferData(i.ARRAY_BUFFER,e,n),this._needExpandDataStore=!1):i.bufferSubData(i.ARRAY_BUFFER,t,e),i.bindBuffer(i.ARRAY_BUFFER,null)}}else console.error("The buffer is destroyed")},r.getFormat=function(t){return this._format.element(t)},r.setUsage=function(t){this._usage=t},e=t,(i=[{key:"count",get:function(){return this._numVertices}}])&&n(e.prototype,i),t})();i.default=r,e.exports=i.default}),{"./enums":262}],274:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("./enums"),s=(n=t("../murmurhash2_gc"))&&n.__esModule?n:{default:n},a=(function(){function t(t){this._attr2el={},this._elements=[],this._bytes=0;for(var e="",i=0,n=t.length;ithis._data.length)for(var e=this._data.length;e=this._data.length&&this._resize(2*this._data.length),this._data[this._count]=t,++this._count},n.pop=function(){--this._count,this._count<0&&(this._count=0);var t=this._data[this._count];return this._data[this._count]=void 0,t},n.fastRemove=function(t){if(!(t>=this._count||t<0)){var e=this._count-1;this._data[t]=this._data[e],this._data[e]=void 0,this._count-=1}},n.indexOf=function(t){return this._data.indexOf(t)},n.sort=function(t){return(0,r.default)(this._data,0,this._count,t)},e=t,(i=[{key:"length",get:function(){return this._count}},{key:"data",get:function(){return this._data}}])&&s(e.prototype,i),t})();i.default=a,e.exports=i.default}),{"./timsort":281}],277:[(function(t,e,i){"use strict";i.__esModule=!0,i.TypedArrayPool=i.RecyclePool=i.Pool=i.LinkedArray=i.FixedArray=i.CircularPool=void 0;var n=u(t("./circular-pool"));i.CircularPool=n.default;var r=u(t("./fixed-array"));i.FixedArray=r.default;var s=u(t("./linked-array"));i.LinkedArray=s.default;var a=u(t("./pool"));i.Pool=a.default;var o=u(t("./recycle-pool"));i.RecyclePool=o.default;var c=u(t("./typed-array-pool"));function u(t){return t&&t.__esModule?t:{default:t}}i.TypedArrayPool=c.default}),{"./circular-pool":275,"./fixed-array":276,"./linked-array":278,"./pool":279,"./recycle-pool":280,"./typed-array-pool":282}],278:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("./pool"))&&n.__esModule?n:{default:n};function s(t,e){for(var i=0;ithis._data.length)for(var e=this._data.length;e=this._data.length&&this.resize(2*this._data.length),this._data[this._count++]},n.remove=function(t){if(!(t>=this._count)){var e=this._count-1,i=this._data[t];this._data[t]=this._data[e],this._data[e]=i,this._count-=1}},n.sort=function(t){return(0,r.default)(this._data,0,this._count,t)},e=t,(i=[{key:"length",get:function(){return this._count}},{key:"data",get:function(){return this._data}}])&&s(e.prototype,i),t})();i.default=a,cc.RecyclePool=a,e.exports=i.default}),{"./timsort":281}],281:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=function(t,e,i,r){if(!Array.isArray(t))throw new TypeError("Can only sort arrays");void 0===e&&(e=0),void 0===i&&(i=t.length),void 0===r&&(r=c);var s=i-e;if(!(s<2)){var a=0;if(sh&&(f=h),_(t,e,e+f,e+a,r),a=f}o.pushRun(e,a),o.mergeRuns(),s-=a,e+=a}while(0!==s);o.forceMergeRuns()}};var n=32,r=7,s=256,a=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9];function o(t){return t<1e5?t<100?t<10?0:1:t<1e4?t<1e3?2:3:4:t<1e7?t<1e6?5:6:t<1e9?t<1e8?7:8:9}function c(t,e){if(t===e)return 0;if(~~t===t&&~~e===e){if(0===t||0===e)return t=0)return-1;if(t>=0)return 1;t=-t,e=-e}var i=o(t),n=o(e),r=0;return in&&(e*=a[i-n-1],t/=10,r=1),t===e?r:t=n;)e|=1&t,t>>=1;return t+e}function l(t,e,i,n){var r=e+1;if(r===i)return 1;if(n(t[r++],t[e])<0){for(;r=0;)r++;return r-e}function h(t,e,i){for(i--;e>>1;r(s,t[c])<0?o=c:a=c+1}var u=n-a;switch(u){case 3:t[a+3]=t[a+2];case 2:t[a+2]=t[a+1];case 1:t[a+1]=t[a];break;default:for(;u>0;)t[a+u]=t[a+u-1],u--}t[a]=s}}function f(t,e,i,n,r,s){var a=0,o=0,c=1;if(s(t,e[i+r])>0){for(o=n-r;c0;)a=c,(c=1+(c<<1))<=0&&(c=o);c>o&&(c=o),a+=r,c+=r}else{for(o=r+1;co&&(c=o);var u=a;a=r-c,c=r-u}for(a++;a>>1);s(t,e[i+l])>0?a=l+1:c=l}return c}function d(t,e,i,n,r,s){var a=0,o=0,c=1;if(s(t,e[i+r])<0){for(o=r+1;co&&(c=o);var u=a;a=r-c,c=r-u}else{for(o=n-r;c=0;)a=c,(c=1+(c<<1))<=0&&(c=o);c>o&&(c=o),a+=r,c+=r}for(a++;a>>1);s(t,e[i+l])<0?c=l:a=l+1}return c}var p=(function(){function t(t,e){this.array=t,this.compare=e,this.minGallop=r,this.length=t.length,this.tmpStorageLength=s,this.length<2*s&&(this.tmpStorageLength=this.length>>>1),this.tmp=new Array(this.tmpStorageLength),this.stackLength=this.length<120?5:this.length<1542?10:this.length<119151?19:40,this.runStart=new Array(this.stackLength),this.runLength=new Array(this.stackLength),this.stackSize=0}var e=t.prototype;return e.pushRun=function(t,e){this.runStart[this.stackSize]=t,this.runLength[this.stackSize]=e,this.stackSize+=1},e.mergeRuns=function(){for(;this.stackSize>1;){var t=this.stackSize-2;if(t>=1&&this.runLength[t-1]<=this.runLength[t]+this.runLength[t+1]||t>=2&&this.runLength[t-2]<=this.runLength[t]+this.runLength[t-1])this.runLength[t-1]this.runLength[t+1])break;this.mergeAt(t)}},e.forceMergeRuns=function(){for(;this.stackSize>1;){var t=this.stackSize-2;t>0&&this.runLength[t-1]=r||v>=r);if(g)break;_<0&&(_=0),_+=2}if(this.minGallop=_,_<1&&(this.minGallop=1),1===e){for(c=0;c=0;c--)a[p+c]=a[_+c];if(0===e){y=!0;break}}if(a[h--]=o[l--],1==--n){y=!0;break}if(0!=(m=n-f(a[u],o,0,n,n-1,s))){for(n-=m,p=1+(h-=m),_=1+(l-=m),c=0;c=r||m>=r);if(y)break;v<0&&(v=0),v+=2}if(this.minGallop=v,v<1&&(this.minGallop=1),1===n){for(p=1+(h-=e),_=1+(u-=e),c=e-1;c>=0;c--)a[p+c]=a[_+c];a[h]=o[l]}else{if(0===n)throw new Error("mergeHigh preconditions were not respected");for(_=h-(n-1),c=0;c=0;c--)a[p+c]=a[_+c];a[h]=o[l]}else for(_=h-(n-1),c=0;c65535)<<4,e|=i=((t>>>=e)>255)<<3,e|=i=((t>>>=i)>15)<<2,(e|=i=((t>>>=i)>3)<<1)|(t>>>=i)>>1}function o(t){var e=s(t),i=n[a(e)>>2];return i.length>0?i.pop():new ArrayBuffer(e)}var c={alloc_int8:function(t){var e=new Int8Array(o(t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_uint8:function(t){var e=new Uint8Array(o(t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_int16:function(t){var e=new Int16Array(o(2*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_uint16:function(t){var e=new Uint16Array(o(2*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_int32:function(t){var e=new Int32Array(o(4*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_uint32:function(t){var e=new Uint32Array(o(4*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_float32:function(t){var e=new Float32Array(o(4*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_float64:function(t){var e=new Float64Array(o(8*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_dataview:function(t){var e=new DataView(o(t),0,t);return e.length!==t?e.subarray(0,t):e},free:function(t){var e;e=t.buffer,n[a(e.byteLength)>>2].push(e)},reset:function(){for(var t=Array(8),e=0;e<8;++e)t[e]=[]}};i.default=c,e.exports=i.default}),{}],283:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=function(t,e){for(var i,n=t.length,r=e^n,s=0;n>=4;)i=1540483477*(65535&(i=255&t.charCodeAt(s)|(255&t.charCodeAt(++s))<<8|(255&t.charCodeAt(++s))<<16|(255&t.charCodeAt(++s))<<24))+((1540483477*(i>>>16)&65535)<<16),r=1540483477*(65535&r)+((1540483477*(r>>>16)&65535)<<16)^(i=1540483477*(65535&(i^=i>>>24))+((1540483477*(i>>>16)&65535)<<16)),n-=4,++s;switch(n){case 3:r^=(255&t.charCodeAt(s+2))<<16;case 2:r^=(255&t.charCodeAt(s+1))<<8;case 1:r=1540483477*(65535&(r^=255&t.charCodeAt(s)))+((1540483477*(r>>>16)&65535)<<16)}return r=1540483477*(65535&(r^=r>>>13))+((1540483477*(r>>>16)&65535)<<16),(r^=r>>>15)>>>0},e.exports=i.default}),{}],284:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("../../core/value-types"),r=o(t("../core/base-renderer")),s=o(t("../enums")),a=t("../memop");function o(t){return t&&t.__esModule?t:{default:t}}function c(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function u(t,e){return(u=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var l=new Float32Array(16),h=new Float32Array(16),_=new Float32Array(16),f=new Float32Array(16),d=new Float32Array(4),p=new Float32Array(64),v=[],g=new Float32Array(4),m=new n.Vec4(0,0,0,0),y=new n.Vec3(0,0,0),T=new n.Vec3(0,0,0),E=new a.RecyclePool(function(){return new Float32Array(16)},8);function A(t,e){return t._priority-e._priority}var C=(function(t){var e,i;function r(e,i){var n;return(n=t.call(this,e,i)||this)._time=new Float32Array(4),n._lights=[],n._shadowLights=[],n._numLights=0,n._defines={},n._registerStage("shadowcast",n._shadowStage.bind(c(n))),n._registerStage("opaque",n._opaqueStage.bind(c(n))),n._registerStage("transparent",n._transparentStage.bind(c(n))),n}i=t,(e=r).prototype=Object.create(i.prototype),e.prototype.constructor=e,u(e,i);var a=r.prototype;return a.reset=function(){E.reset(),t.prototype.reset.call(this)},a.render=function(t,e){this.reset(),e&&(this._time[0]+=e,this._time[1]=e,this._time[2]++),this._device.setUniform("cc_time",this._time),this._updateLights(t);for(var i=this._device._gl.canvas,n=0;n0){for(var e=E.add(),i=E.add(),n=E.add(),r=Math.min(4,this._lights.length),a=0;a0?1:-1}),Math.log2||(Math.log2=function(t){return Math.log(t)*Math.LOG2E}),Number.isInteger||(Number.isInteger=function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t}),!console.time){var t=window.performance||Date,e=Object.create(null);console.time=function(i){e[i]=t.now()},console.timeEnd=function(i){var n=e[i],r=t.now()-n;console.log(i+": "+r+"ms")}}}),{}],298:[(function(){"use strict";Number.parseFloat=Number.parseFloat||parseFloat,Number.parseInt=Number.parseInt||parseInt}),{}],299:[(function(){"use strict";Object.assign||(Object.assign=function(t,e){return cc.js.mixin(t,e)}),Object.getOwnPropertyDescriptors||(Object.getOwnPropertyDescriptors=function(t){var e={},i=Object.getOwnPropertyNames(t);Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(t)));for(var n=0;nthis.length)&&(e=this.length),e-=t.length;var i=this.indexOf(t,e);return-1!==i&&i===e}),String.prototype.trimLeft||(String.prototype.trimLeft=function(){return this.replace(/^\s+/,"")})}),{}],301:[(function(){"use strict";var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])};window.__extends=function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)},window.__assign=Object.assign||function(t){for(var e,i=1,n=arguments.length;i=0;o--)(r=t[o])&&(a=(s<3?r(a):s>3?r(e,i,a):r(e,i))||a);return s>3&&a&&Object.defineProperty(e,i,a),a},window.__param=function(t,e){return function(i,n){e(i,n,t)}},window.__metadata=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},window.__awaiter=function(t,e,i,n){return new(i||(i=Promise))(function(r,s){function a(t){try{c(n.next(t))}catch(e){s(e)}}function o(t){try{c(n.throw(t))}catch(e){s(e)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(a,o)}c((n=n.apply(t,e||[])).next())})},window.__generator=function(t,e){var i,n,r,s,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return s={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function o(t){return function(e){return c([t,e])}}function c(s){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,n&&(r=2&s[0]?n.return:s[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,s[1])).done)return r;switch(n=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},window.__read=function(t,e){var i="function"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var n,r,s=i.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=s.next()).done;)a.push(n.value)}catch(o){r={error:o}}finally{try{n&&!n.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}return a},window.__spread=function(){for(var t=[],e=0;e1||o(t,e)})})}function o(t,e){try{(i=r[t](e)).value instanceof __await?Promise.resolve(i.value.v).then(c,u):l(s[0][2],i)}catch(n){l(s[0][3],n)}var i}function c(t){o("next",t)}function u(t){o("throw",t)}function l(t,e){t(e),s.shift(),s.length&&o(s[0][0],s[0][1])}},window.__asyncDelegator=function(t){var e,i;return e={},n("next"),n("throw",(function(t){throw t})),n("return"),e[Symbol.iterator]=function(){return this},e;function n(n,r){e[n]=t[n]?function(e){return(i=!i)?{value:__await(t[n](e)),done:"return"===n}:r?r(e):e}:r}},window.__asyncValues=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,i=t[Symbol.asyncIterator];return i?i.call(t):(t="function"==typeof __values?__values(t):t[Symbol.iterator](),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(i){e[i]=t[i]&&function(e){return new Promise(function(n,s){r(n,s,(e=t[i](e)).done,e.value)})}}function r(t,e,i,n){Promise.resolve(n).then((function(e){t({value:e,done:i})}),e)}},window.__makeTemplateObject=function(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t};var e=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e};window.__importStar=function(t){if(t&&t.__esModule)return t;var i={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&__createBinding(i,t,n);return e(i,t),i},window.__importDefault=function(t){return t&&t.__esModule?t:{default:t}},window.__classPrivateFieldGet=function(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)},window.__classPrivateFieldSet=function(t,e,i){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,i),i}}),{}],302:[(function(){"use strict";var t="undefined"==typeof window?global:window;function e(e,i){void 0===t[e]&&Object.defineProperty(t,e,{get:function(){var t;return"CC_WECHATGAMESUB"===e?t="cc.sys.platform === cc.sys.WECHAT_GAME_SUB":"CC_WECHATGAME"===e?t="cc.sys.platform === cc.sys.WECHAT_GAME":"CC_QQPLAY"===e&&(t="cc.sys.platform === cc.sys.QQ_PLAY"),cc.warnID(1400,e,t),i}})}function i(e){return"object"==typeof t[e]}(function(e,i){void 0===t[e]&&(t[e]=i)})("CC_BUILD",!1),t.CC_BUILD=!0,t.CC_DEV=!1,t.CC_DEBUG=!1,t.CC_JSB=!1,t.CC_NATIVERENDERER=!1,t.CC_SUPPORT_JIT=!0,t.CC_PHYSICS_BUILTIN=!1,t.CC_PHYSICS_CANNON=!1,t.CC_EDITOR=!1,t.CC_PREVIEW=!1,t.CC_TEST=!1,t.CC_RUNTIME=!1,t.CC_JSB=!1;var n=!(!i("wx")||!wx.getSharedCanvas),r=!(!i("wx")||!wx.getSystemInfoSync&&!wx.getSharedCanvas),s=i("bk");e("CC_WECHATGAMESUB",n),e("CC_WECHATGAME",r),e("CC_QQPLAY",s),t.CocosEngine=cc.ENGINE_VERSION="2.4.8"}),{}]},{},[294]); \ No newline at end of file +(function(t,e,i){function n(i){var r=e[i];if(!r){var s=t[i];if(!s)return;var a={};r=e[i]={exports:a},s[0]((function(t){return n(s[1][t]||t)}),r,a)}return r.exports}for(var r=0;r=0;i--)e.push(cc.v2(t[i].x,t[i].y));return e}function i(t){for(var e=[],i=0;i=this._duration},_cloneDecoration:function(t){t._repeatForever=this._repeatForever,t._speed=this._speed,t._timesForRepeat=this._timesForRepeat,t._easeList=this._easeList,t._speedMethod=this._speedMethod,t._repeatMethod=this._repeatMethod},_reverseEaseList:function(t){if(this._easeList){t._easeList=[];for(var e=0;e1.192092896e-7?this._duration:1.192092896e-7);e=1>e?e:1,this.update(e>0?e:0),this._repeatMethod&&this._timesForRepeat>1&&this.isDone()&&(this._repeatForever||this._timesForRepeat--,this.startWithTarget(this.target),this.step(this._elapsed-this._duration))},startWithTarget:function(t){cc.Action.prototype.startWithTarget.call(this,t),this._elapsed=0,this._firstTick=!0},reverse:function(){return cc.logID(1010),null},setAmplitudeRate:function(){cc.logID(1011)},getAmplitudeRate:function(){return cc.logID(1012),0},speed:function(t){return t<=0?(cc.logID(1013),this):(this._speedMethod=!0,this._speed*=t,this)},getSpeed:function(){return this._speed},setSpeed:function(t){return this._speed=t,this},repeat:function(t){return t=Math.round(t),isNaN(t)||t<1?(cc.logID(1014),this):(this._repeatMethod=!0,this._timesForRepeat*=t,this)},repeatForever:function(){return this._repeatMethod=!0,this._timesForRepeat=this.MAX_VALUE,this._repeatForever=!0,this}}),cc.actionInterval=function(t){return new cc.ActionInterval(t)},cc.Sequence=cc.Class({name:"cc.Sequence",extends:cc.ActionInterval,ctor:function(t){this._actions=[],this._split=null,this._last=0,this._reversed=!1;var e=t instanceof Array?t:arguments;if(1!==e.length){var i=e.length-1;if(i>=0&&null==e[i]&&cc.logID(1015),i>=0){for(var n,r=e[0],s=1;s1?e%1:e),this._last=n)},reverse:function(){var t=cc.Sequence._actionOneTwo(this._actions[1].reverse(),this._actions[0].reverse());return this._cloneDecoration(t),this._reverseEaseList(t),t._reversed=!0,t}}),cc.sequence=function(t){var e=t instanceof Array?t:arguments;if(1===e.length)return cc.errorID(1019),null;var i=e.length-1;i>=0&&null==e[i]&&cc.logID(1015);var n=null;if(i>=0){n=e[0];for(var r=1;r<=i;r++)e[r]&&(n=cc.Sequence._actionOneTwo(n,e[r]))}return n},cc.Sequence._actionOneTwo=function(t,e){var i=new cc.Sequence;return i.initWithTwoActions(t,e),i},cc.Repeat=cc.Class({name:"cc.Repeat",extends:cc.ActionInterval,ctor:function(t,e){this._times=0,this._total=0,this._nextDt=0,this._actionInstant=!1,this._innerAction=null,void 0!==e&&this.initWithAction(t,e)},initWithAction:function(t,e){var i=t._duration*e;return!!this.initWithDuration(i)&&(this._times=e,this._innerAction=t,t instanceof cc.ActionInstant&&(this._actionInstant=!0,this._times-=1),this._total=0,!0)},clone:function(){var t=new cc.Repeat;return this._cloneDecoration(t),t.initWithAction(this._innerAction.clone(),this._times),t},startWithTarget:function(t){this._total=0,this._nextDt=this._innerAction._duration/this._duration,cc.ActionInterval.prototype.startWithTarget.call(this,t),this._innerAction.startWithTarget(t)},stop:function(){this._innerAction.stop(),cc.Action.prototype.stop.call(this)},update:function(t){t=this._computeEaseTime(t);var e=this._innerAction,i=this._duration,n=this._times,r=this._nextDt;if(t>=r){for(;t>r&&this._total1?1:r;t>=1&&this._total=0&&null==e[i]&&cc.logID(1015),i>=0){for(var n,r=e[0],s=1;sr?this._two=cc.Sequence._actionOneTwo(e,cc.delayTime(n-r)):n0&&null==e[e.length-1]&&cc.logID(1015);for(var i=e[0],n=1;n180&&(i-=360),i<-180&&(i+=360),this._startAngle=e,this._angle=cc.RotateTo._reverse?i:-i},reverse:function(){cc.logID(1016)},update:function(t){t=this._computeEaseTime(t),this.target&&(this.target.angle=this._startAngle+this._angle*t)}}),cc.rotateTo=function(t,e){return new cc.RotateTo(t,e)},cc.RotateBy=cc.Class({name:"cc.RotateBy",extends:cc.ActionInterval,statics:{_reverse:!1},ctor:function(t,e){e*=cc.RotateBy._reverse?1:-1,this._deltaAngle=0,this._startAngle=0,void 0!==e&&this.initWithDuration(t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._deltaAngle=e,!0)},clone:function(){var t=new cc.RotateBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._deltaAngle),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._startAngle=t.angle},update:function(t){t=this._computeEaseTime(t),this.target&&(this.target.angle=this._startAngle+this._deltaAngle*t)},reverse:function(){var t=new cc.RotateBy;return t.initWithDuration(this._duration,-this._deltaAngle),this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.rotateBy=function(t,e){return new cc.RotateBy(t,e)},cc.MoveBy=cc.Class({name:"cc.MoveBy",extends:cc.ActionInterval,ctor:function(t,e,i){this._positionDelta=cc.v2(0,0),this._startPosition=cc.v2(0,0),this._previousPosition=cc.v2(0,0),void 0!==e&&cc.MoveBy.prototype.initWithDuration.call(this,t,e,i)},initWithDuration:function(t,e,i){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(void 0!==e.x&&(i=e.y,e=e.x),this._positionDelta.x=e,this._positionDelta.y=i,!0)},clone:function(){var t=new cc.MoveBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._positionDelta),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.x,i=t.y;this._previousPosition.x=e,this._previousPosition.y=i,this._startPosition.x=e,this._startPosition.y=i},update:function(t){if(t=this._computeEaseTime(t),this.target){var e=this._positionDelta.x*t,i=this._positionDelta.y*t,n=this._startPosition;if(cc.macro.ENABLE_STACKABLE_ACTIONS){var r=this.target.x,s=this.target.y,a=this._previousPosition;n.x=n.x+r-a.x,n.y=n.y+s-a.y,e+=n.x,i+=n.y,a.x=e,a.y=i,this.target.setPosition(e,i)}else this.target.setPosition(n.x+e,n.y+i)}},reverse:function(){var t=new cc.MoveBy(this._duration,cc.v2(-this._positionDelta.x,-this._positionDelta.y));return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.moveBy=function(t,e,i){return new cc.MoveBy(t,e,i)},cc.MoveTo=cc.Class({name:"cc.MoveTo",extends:cc.MoveBy,ctor:function(t,e,i){this._endPosition=cc.v2(0,0),void 0!==e&&this.initWithDuration(t,e,i)},initWithDuration:function(t,e,i){return!!cc.MoveBy.prototype.initWithDuration.call(this,t,e,i)&&(void 0!==e.x&&(i=e.y,e=e.x),this._endPosition.x=e,this._endPosition.y=i,!0)},clone:function(){var t=new cc.MoveTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endPosition),t},startWithTarget:function(t){cc.MoveBy.prototype.startWithTarget.call(this,t),this._positionDelta.x=this._endPosition.x-t.x,this._positionDelta.y=this._endPosition.y-t.y}}),cc.moveTo=function(t,e,i){return new cc.MoveTo(t,e,i)},cc.SkewTo=cc.Class({name:"cc.SkewTo",extends:cc.ActionInterval,ctor:function(t,e,i){this._skewX=0,this._skewY=0,this._startSkewX=0,this._startSkewY=0,this._endSkewX=0,this._endSkewY=0,this._deltaX=0,this._deltaY=0,void 0!==i&&cc.SkewTo.prototype.initWithDuration.call(this,t,e,i)},initWithDuration:function(t,e,i){var n=!1;return cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._endSkewX=e,this._endSkewY=i,n=!0),n},clone:function(){var t=new cc.SkewTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endSkewX,this._endSkewY),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._startSkewX=t.skewX%180,this._deltaX=this._endSkewX-this._startSkewX,this._deltaX>180&&(this._deltaX-=360),this._deltaX<-180&&(this._deltaX+=360),this._startSkewY=t.skewY%360,this._deltaY=this._endSkewY-this._startSkewY,this._deltaY>180&&(this._deltaY-=360),this._deltaY<-180&&(this._deltaY+=360)},update:function(t){t=this._computeEaseTime(t),this.target.skewX=this._startSkewX+this._deltaX*t,this.target.skewY=this._startSkewY+this._deltaY*t}}),cc.skewTo=function(t,e,i){return new cc.SkewTo(t,e,i)},cc.SkewBy=cc.Class({name:"cc.SkewBy",extends:cc.SkewTo,ctor:function(t,e,i){void 0!==i&&this.initWithDuration(t,e,i)},initWithDuration:function(t,e,i){var n=!1;return cc.SkewTo.prototype.initWithDuration.call(this,t,e,i)&&(this._skewX=e,this._skewY=i,n=!0),n},clone:function(){var t=new cc.SkewBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._skewX,this._skewY),t},startWithTarget:function(t){cc.SkewTo.prototype.startWithTarget.call(this,t),this._deltaX=this._skewX,this._deltaY=this._skewY,this._endSkewX=this._startSkewX+this._deltaX,this._endSkewY=this._startSkewY+this._deltaY},reverse:function(){var t=new cc.SkewBy(this._duration,-this._skewX,-this._skewY);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.skewBy=function(t,e,i){return new cc.SkewBy(t,e,i)},cc.JumpBy=cc.Class({name:"cc.JumpBy",extends:cc.ActionInterval,ctor:function(t,e,i,n,r){this._startPosition=cc.v2(0,0),this._previousPosition=cc.v2(0,0),this._delta=cc.v2(0,0),this._height=0,this._jumps=0,void 0!==n&&cc.JumpBy.prototype.initWithDuration.call(this,t,e,i,n,r)},initWithDuration:function(t,e,i,n,r){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(void 0===r&&(r=n,n=i,i=e.y,e=e.x),this._delta.x=e,this._delta.y=i,this._height=n,this._jumps=r,!0)},clone:function(){var t=new cc.JumpBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._delta,this._height,this._jumps),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.x,i=t.y;this._previousPosition.x=e,this._previousPosition.y=i,this._startPosition.x=e,this._startPosition.y=i},update:function(t){if(t=this._computeEaseTime(t),this.target){var e=t*this._jumps%1,i=4*this._height*e*(1-e);i+=this._delta.y*t;var n=this._delta.x*t,r=this._startPosition;if(cc.macro.ENABLE_STACKABLE_ACTIONS){var s=this.target.x,a=this.target.y,o=this._previousPosition;r.x=r.x+s-o.x,r.y=r.y+a-o.y,n+=r.x,i+=r.y,o.x=n,o.y=i,this.target.setPosition(n,i)}else this.target.setPosition(r.x+n,r.y+i)}},reverse:function(){var t=new cc.JumpBy(this._duration,cc.v2(-this._delta.x,-this._delta.y),this._height,this._jumps);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.jumpBy=function(t,e,i,n,r){return new cc.JumpBy(t,e,i,n,r)},cc.JumpTo=cc.Class({name:"cc.JumpTo",extends:cc.JumpBy,ctor:function(t,e,i,n,r){this._endPosition=cc.v2(0,0),void 0!==n&&this.initWithDuration(t,e,i,n,r)},initWithDuration:function(t,e,i,n,r){return!!cc.JumpBy.prototype.initWithDuration.call(this,t,e,i,n,r)&&(void 0===r&&(i=e.y,e=e.x),this._endPosition.x=e,this._endPosition.y=i,!0)},startWithTarget:function(t){cc.JumpBy.prototype.startWithTarget.call(this,t),this._delta.x=this._endPosition.x-this._startPosition.x,this._delta.y=this._endPosition.y-this._startPosition.y},clone:function(){var t=new cc.JumpTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endPosition,this._height,this._jumps),t}}),cc.jumpTo=function(t,e,i,n,r){return new cc.JumpTo(t,e,i,n,r)},cc.BezierBy=cc.Class({name:"cc.BezierBy",extends:cc.ActionInterval,ctor:function(t,e){this._config=[],this._startPosition=cc.v2(0,0),this._previousPosition=cc.v2(0,0),e&&cc.BezierBy.prototype.initWithDuration.call(this,t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._config=e,!0)},clone:function(){var t=new cc.BezierBy;this._cloneDecoration(t);for(var e=[],i=0;ie/2?255:0}},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._originalState=t.opacity},stop:function(){this.target.opacity=this._originalState,cc.ActionInterval.prototype.stop.call(this)},reverse:function(){var t=new cc.Blink(this._duration,this._times);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.blink=function(t,e){return new cc.Blink(t,e)},cc.FadeTo=cc.Class({name:"cc.FadeTo",extends:cc.ActionInterval,ctor:function(t,e){this._toOpacity=0,this._fromOpacity=0,void 0!==e&&cc.FadeTo.prototype.initWithDuration.call(this,t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._toOpacity=e,!0)},clone:function(){var t=new cc.FadeTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._toOpacity),t},update:function(t){t=this._computeEaseTime(t);var e=void 0!==this._fromOpacity?this._fromOpacity:255;this.target.opacity=e+(this._toOpacity-e)*t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._fromOpacity=t.opacity}}),cc.fadeTo=function(t,e){return new cc.FadeTo(t,e)},cc.FadeIn=cc.Class({name:"cc.FadeIn",extends:cc.FadeTo,ctor:function(t){null==t&&(t=0),this._reverseAction=null,this.initWithDuration(t,255)},reverse:function(){var t=new cc.FadeOut;return t.initWithDuration(this._duration,0),this._cloneDecoration(t),this._reverseEaseList(t),t},clone:function(){var t=new cc.FadeIn;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._toOpacity),t},startWithTarget:function(t){this._reverseAction&&(this._toOpacity=this._reverseAction._fromOpacity),cc.FadeTo.prototype.startWithTarget.call(this,t)}}),cc.fadeIn=function(t){return new cc.FadeIn(t)},cc.FadeOut=cc.Class({name:"cc.FadeOut",extends:cc.FadeTo,ctor:function(t){null==t&&(t=0),this._reverseAction=null,this.initWithDuration(t,0)},reverse:function(){var t=new cc.FadeIn;return t._reverseAction=this,t.initWithDuration(this._duration,255),this._cloneDecoration(t),this._reverseEaseList(t),t},clone:function(){var t=new cc.FadeOut;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._toOpacity),t}}),cc.fadeOut=function(t){return new cc.FadeOut(t)},cc.TintTo=cc.Class({name:"cc.TintTo",extends:cc.ActionInterval,ctor:function(t,e,i,n){this._to=cc.color(0,0,0),this._from=cc.color(0,0,0),e instanceof cc.Color&&(n=e.b,i=e.g,e=e.r),void 0!==n&&this.initWithDuration(t,e,i,n)},initWithDuration:function(t,e,i,n){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._to=cc.color(e,i,n),!0)},clone:function(){var t=new cc.TintTo;this._cloneDecoration(t);var e=this._to;return t.initWithDuration(this._duration,e.r,e.g,e.b),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._from=this.target.color},update:function(t){t=this._computeEaseTime(t);var e=this._from,i=this._to;e&&(this.target.color=cc.color(e.r+(i.r-e.r)*t,e.g+(i.g-e.g)*t,e.b+(i.b-e.b)*t))}}),cc.tintTo=function(t,e,i,n){return new cc.TintTo(t,e,i,n)},cc.TintBy=cc.Class({name:"cc.TintBy",extends:cc.ActionInterval,ctor:function(t,e,i,n){this._deltaR=0,this._deltaG=0,this._deltaB=0,this._fromR=0,this._fromG=0,this._fromB=0,void 0!==n&&this.initWithDuration(t,e,i,n)},initWithDuration:function(t,e,i,n){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._deltaR=e,this._deltaG=i,this._deltaB=n,!0)},clone:function(){var t=new cc.TintBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._deltaR,this._deltaG,this._deltaB),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.color;this._fromR=e.r,this._fromG=e.g,this._fromB=e.b},update:function(t){t=this._computeEaseTime(t),this.target.color=cc.color(this._fromR+this._deltaR*t,this._fromG+this._deltaG*t,this._fromB+this._deltaB*t)},reverse:function(){var t=new cc.TintBy(this._duration,-this._deltaR,-this._deltaG,-this._deltaB);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.tintBy=function(t,e,i,n){return new cc.TintBy(t,e,i,n)},cc.DelayTime=cc.Class({name:"cc.DelayTime",extends:cc.ActionInterval,update:function(){},reverse:function(){var t=new cc.DelayTime(this._duration);return this._cloneDecoration(t),this._reverseEaseList(t),t},clone:function(){var t=new cc.DelayTime;return this._cloneDecoration(t),t.initWithDuration(this._duration),t}}),cc.delayTime=function(t){return new cc.DelayTime(t)},cc.ReverseTime=cc.Class({name:"cc.ReverseTime",extends:cc.ActionInterval,ctor:function(t){this._other=null,t&&this.initWithAction(t)},initWithAction:function(t){return t?t===this._other?(cc.errorID(1029),!1):!!cc.ActionInterval.prototype.initWithDuration.call(this,t._duration)&&(this._other=t,!0):(cc.errorID(1028),!1)},clone:function(){var t=new cc.ReverseTime;return this._cloneDecoration(t),t.initWithAction(this._other.clone()),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._other.startWithTarget(t)},update:function(t){t=this._computeEaseTime(t),this._other&&this._other.update(1-t)},reverse:function(){return this._other.clone()},stop:function(){this._other.stop(),cc.Action.prototype.stop.call(this)}}),cc.reverseTime=function(t){return new cc.ReverseTime(t)},cc.TargetedAction=cc.Class({name:"cc.TargetedAction",extends:cc.ActionInterval,ctor:function(t,e){this._action=null,this._forcedTarget=null,e&&this.initWithTarget(t,e)},initWithTarget:function(t,e){return!!this.initWithDuration(e._duration)&&(this._forcedTarget=t,this._action=e,!0)},clone:function(){var t=new cc.TargetedAction;return this._cloneDecoration(t),t.initWithTarget(this._forcedTarget,this._action.clone()),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._action.startWithTarget(this._forcedTarget)},stop:function(){this._action.stop()},update:function(t){t=this._computeEaseTime(t),this._action.update(t)},getForcedTarget:function(){return this._forcedTarget},setForcedTarget:function(t){this._forcedTarget!==t&&(this._forcedTarget=t)}}),cc.targetedAction=function(t,e){return new cc.TargetedAction(t,e)}}),{}],6:[(function(t){"use strict";t("../core/platform/CCClass");var e=t("../core/platform/js"),i=function(){this.actions=[],this.target=null,this.actionIndex=0,this.currentAction=null,this.paused=!1,this.lock=!1};cc.ActionManager=function(){this._hashTargets=e.createMap(!0),this._arrayTargets=[],this._currentTarget=null,cc.director._scheduler&&cc.director._scheduler.enableForTarget(this)},cc.ActionManager.prototype={constructor:cc.ActionManager,_elementPool:[],_searchElementByTarget:function(t,e){for(var i=0;i=n&&i.actionIndex--;break}}},_removeActionByTag:function(t,e,i){for(var n=0,r=e.actions.length;n=0;--n){var r=e.actions[n];if(r&&r.getTag()===t){if(i&&r.getOriginalTarget()!==i)continue;this._removeActionAtIndex(n,e)}}},removeActionByTag:function(t,e){t===cc.Action.TAG_INVALID&&cc.logID(1002);var i=this._hashTargets;if(e){var n=i[e._id];n&&this._removeActionByTag(t,n,e)}else for(var r in i){var s=i[r];this._removeActionByTag(t,s)}},removeAllActionsByTag:function(t,e){t===cc.Action.TAG_INVALID&&cc.logID(1002);var i=this._hashTargets;if(e){var n=i[e._id];n&&this._removeAllActionsByTag(t,n,e)}else for(var r in i){var s=i[r];this._removeAllActionsByTag(t,s)}},getActionByTag:function(t,e){t===cc.Action.TAG_INVALID&&cc.logID(1004);var i=this._hashTargets[e._id];if(i){if(null!=i.actions)for(var n=0;n=t&&e.actionIndex--,0===e.actions.length&&this._deleteHashElement(e)},_deleteHashElement:function(t){var e=!1;if(t&&!t.lock&&this._hashTargets[t.target._id]){delete this._hashTargets[t.target._id];for(var i=this._arrayTargets,n=0,r=i.length;n=1?t:r%n>n/2?255:0},this.to(t,{opacity:1},i)}});var a=[];function o(t){return function(){a.length=0;for(var e=arguments.length,i=0;i=0?d=u.events[p]:(d=new a,u.ratios.push(f),u.events.push(d)),d.add(_.func,_.params)}}l.playState=function(t,e){t.clip&&(t.curveLoaded||h(this.target,t),t.animator=this,t.play(),"number"==typeof e&&t.setTime(e),this.play())},l.stopStatesExcept=function(t){var e=this._anims,i=e.array;for(e.i=0;e.i=0?(this._anims.fastRemoveAt(e),0===this._anims.array.length&&this.stop()):cc.errorID(3907),t.animator=null},l.sample=function(){var t=this._anims,e=t.array;for(t.i=0;t.i1e-6){y=!1;break}u._findFrameIndex=y?s:o;var A=u.values[0];return null==A||u._lerp||("number"==typeof A?u._lerp=r.prototype._lerpNumber:A instanceof cc.Quat?u._lerp=r.prototype._lerpQuat:A instanceof cc.Vec2?u._lerp=r.prototype._lerpVector2:A instanceof cc.Vec3?u._lerp=r.prototype._lerpVector3:A.lerp&&(u._lerp=r.prototype._lerpObject)),u},createTargetCurves:function(t,e,i){var n=e.props,r=e.comps;if(n)for(var s in n){var a=n[s],o=this.createPropCurve(t,s,a);i.push(o)}if(r)for(var c in r){var u=t.getComponent(c);if(u){var l=r[c];for(var h in l){var _=l[h],f=this.createPropCurve(u,h,_);i.push(f)}}}},createCurves:function(t,e){var i=this.curveData,n=i.paths,r=[];for(var s in this.createTargetCurves(e,i,r),n){var a=cc.find(s,e);if(a){var o=n[s];this.createTargetCurves(a,o,r)}}return r}});cc.AnimationClip=e.exports=c}),{"../core/utils/binary-search":217,"./animation-curves":11,"./motion-path-helper":17,"./types":19}],11:[(function(t,e){"use strict";var i=t("./bezier").bezierByTime,n=t("../core/utils/binary-search").binarySearchEpsilon,r=t("./types").WrapModeMask,s=t("./types").WrappedInfo;function a(t,e){if("string"==typeof e){var n=cc.easing[e];n?t=n(t):cc.errorID(3906,e)}else Array.isArray(e)&&(t=i(e,t));return t}var o=cc.Class({name:"cc.AnimCurve",sample:function(){},onTimeChangedManually:void 0});var c,u=cc.Class({name:"cc.DynamicAnimCurve",extends:o,ctor:function(){this._cachedIndex=0},properties:{target:null,prop:"",values:[],ratios:[],types:[]},_findFrameIndex:n,_lerp:void 0,_lerpNumber:function(t,e,i){return t+(e-t)*i},_lerpObject:function(t,e,i){return t.lerp(e,i)},_lerpQuat:(c=cc.quat(),function(t,e,i){return t.lerp(e,i,c)}),_lerpVector2:(function(){var t=cc.v2();return function(e,i,n){return e.lerp(i,n,t)}})(),_lerpVector3:(function(){var t=cc.v3();return function(e,i,n){return e.lerp(i,n,t)}})(),sample:function(t,e){var i=this.values,n=this.ratios,r=n.length;if(0!==r){var s,o=!0,c=this._cachedIndex;if(c<0&&(c=~c)>0&&cu&&e=r)s=i[r-1];else{var _=i[h-1];if(this._lerp){var f=n[h-1],d=n[h],p=this.types[h-1],v=(e-f)/(d-f);p&&(v=a(v,p));var g=i[h];s=this._lerp(_,g,v)}else s=_}else s=i[h];this.target[this.prop]=s}}});u.Linear=null,u.Bezier=function(t){return t};var l=function(){this.events=[]};l.prototype.add=function(t,e){this.events.push({func:t||"",params:e||[]})};var h=cc.Class({name:"cc.EventAnimCurve",extends:o,properties:{target:null,ratios:[],events:[],_wrappedInfo:{default:function(){return new s}},_lastWrappedInfo:null,_ignoreIndex:NaN},_wrapIterations:function(t){return t-(0|t)==0&&(t-=1),0|t},sample:function(t,e,i){var a=this.ratios.length,o=i.getWrappedInfo(i.time,this._wrappedInfo),c=o.direction,u=n(this.ratios,o.ratio);if(u<0&&(u=~u-1,c<0&&(u+=1)),this._ignoreIndex!==u&&(this._ignoreIndex=NaN),o.frameIndex=u,!this._lastWrappedInfo)return this._fireEvent(u),void(this._lastWrappedInfo=new s(o));var l=i.wrapMode,h=this._wrapIterations(o.iterations),_=this._lastWrappedInfo,f=this._wrapIterations(_.iterations),d=_.frameIndex,p=_.direction,v=-1!==f&&h!==f;if(d===u&&v&&1===a)this._fireEvent(0);else if(d!==u||v){c=p;do{if(d!==u){if(-1===c&&0===d&&u>0?((l&r.PingPong)===r.PingPong?c*=-1:d=a,f++):1===c&&d===a-1&&uh)break}d+=c,cc.director.getAnimationManager().pushDelayEvent(this,"_fireEvent",[d])}while(d!==u&&d>-1&&d=this.events.length||this._ignoreIndex===t)){var e=this.events[t].events;if(this.target.isValid)for(var i=this.target._components,n=0;nr)return~t.length;var s=(e=(e-n)/(r-n))/(1/i),a=0|s;return s-a<1e-6?a:a+1-s<1e-6?a+1:~(a+1)}}}),{"../core/utils/binary-search":217,"./bezier":14,"./types":19}],12:[(function(t,e){"use strict";var i=cc.js,n=cc.Class({ctor:function(){this._anims=new i.array.MutableForwardIterator([]),this._delayEvents=[],cc.director._scheduler&&cc.director._scheduler.enableForTarget(this)},update:function(t){var e=this._anims,i=e.array;for(e.i=0;e.i=0?this._anims.fastRemoveAt(e):cc.errorID(3907)},pushDelayEvent:function(t,e,i){this._delayEvents.push({target:t,func:e,args:i})}});cc.AnimationManager=e.exports=n}),{}],13:[(function(t,e){"use strict";var i=cc.js,n=t("./playable"),r=t("./types"),s=r.WrappedInfo,a=r.WrapMode,o=r.WrapModeMask;function c(t,e){n.call(this),this._currentFramePlayed=!1,this._delay=0,this._delayTime=0,this._wrappedInfo=new s,this._lastWrappedInfo=null,this._process=l,this._clip=t,this._name=e||t&&t.name,this.animator=null,this.curves=[],this.delay=0,this.repeatCount=1,this.duration=1,this.speed=1,this.wrapMode=a.Normal,this.time=0,this._target=null,this._lastframeEventOn=!1,this.emit=function(){for(var t=new Array(arguments.length),e=0,i=t.length;e1&&(0|e.iterations)>(0|t.iterations)&&this.emit("lastframe",this),t.set(e)),e.stopped&&(this.stop(),this.emit("finished",this))}function h(){var t=this.time,e=this.duration;t>e?0==(t%=e)&&(t=e):t<0&&0!=(t%=e)&&(t+=e);for(var i=t/e,n=this.curves,r=0,s=n.length;r0&&this._lastIterations>i||this.time<0&&this._lastIterations0&&(this._delayTime-=t,this._delayTime>0)||(this._currentFramePlayed?this.time+=t*this.speed:this._currentFramePlayed=!0,this._process())},u._needRevers=function(t){var e=this.wrapMode,i=!1;return(e&o.PingPong)===o.PingPong&&(t-(0|t)==0&&t>0&&(t-=1),1&t&&(i=!i)),(e&o.Reverse)===o.Reverse&&(i=!i),i},u.getWrappedInfo=function(t,e){e=e||new s;var i=!1,n=this.duration,r=this.repeatCount,a=t>0?t/n:-t/n;if(a>=r){a=r,i=!0;var c=r-(0|r);0===c&&(c=1),t=c*n*(t>0?1:-1)}if(t>n){var u=t%n;t=0===u?n:u}else t<0&&0!=(t%=n)&&(t+=n);var l=!1,h=this._wrapMode&o.ShouldWrap;h&&(l=this._needRevers(a));var _=l?-1:1;return this.speed<0&&(_*=-1),h&&l&&(t=n-t),e.ratio=t/n,e.time=t,e.direction=_,e.stopped=i,e.iterations=a,e},u.sample=function(){for(var t=this.getWrappedInfo(this.time,this._wrappedInfo),e=this.curves,i=0,n=e.length;i0}),(function(){this.curves.length=0})),i.getset(u,"wrapMode",(function(){return this._wrapMode}),(function(t){this._wrapMode=t,this.time=0,t&o.Loop?this.repeatCount=1/0:this.repeatCount=1})),i.getset(u,"repeatCount",(function(){return this._repeatCount}),(function(t){this._repeatCount=t;var e=this._wrapMode&o.ShouldWrap,i=(this.wrapMode&o.Reverse)===o.Reverse;this._process=t!==1/0||e||i?l:h})),i.getset(u,"delay",(function(){return this._delay}),(function(t){this._delayTime=this._delay=t})),cc.AnimationState=e.exports=c}),{"./playable":18,"./types":19}],14:[(function(t,e){"use strict";var i=Math.cos,n=Math.acos,r=Math.max,s=2*Math.PI,a=Math.sqrt;function o(t){return t<0?-Math.pow(-t,1/3):Math.pow(t,1/3)}function c(t,e){var c,u,l,h,_=e-0,f=e-t[0],d=3*_,p=3*f,v=3*(e-t[2]),g=1/(-_+p-v+(e-1)),m=(d-6*f+v)*g,y=m*(1/3),T=(-d+p)*g,E=1/3*(3*T-m*m),A=E*(1/3),C=(2*m*m*m-9*m*T+_*g*27)/27,x=C/2,b=x*x+A*A*A;if(b<0){var S=1/3*-E,R=a(S*S*S),w=-C/(2*R),I=n(w<-1?-1:w>1?1:w),M=2*o(R);return u=M*i(I*(1/3))-y,l=M*i((I+s)*(1/3))-y,h=M*i((I+2*s)*(1/3))-y,0<=u&&u<=1?0<=l&&l<=1?0<=h&&h<=1?r(u,l,h):r(u,l):0<=h&&h<=1?r(u,h):u:0<=l&&l<=1?0<=h&&h<=1?r(l,h):l:h}if(0===b)return l=-(c=x<0?o(-x):-o(x))-y,0<=(u=2*c-y)&&u<=1?0<=l&&l<=1?r(u,l):u:l;var O=a(b);return(c=o(-x+O))-o(x+O)-y}e.exports={bezier:function(t,e,i,n,r){var s=1-r;return s*(s*(t+(3*e-t)*r)+3*i*r*r)+n*r*r*r},bezierByTime:function(t,e){var i=c(t,e),n=t[1];return((1-i)*(n+(t[3]-n)*i)*3+i*i)*i}}}),{}],15:[(function(t,e){"use strict";var i={constant:function(){return 0},linear:function(t){return t},quadIn:function(t){return t*t},quadOut:function(t){return t*(2-t)},quadInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quartIn:function(t){return t*t*t*t},quartOut:function(t){return 1- --t*t*t*t},quartInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quintIn:function(t){return t*t*t*t*t},quintOut:function(t){return--t*t*t*t*t+1},quintInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sineIn:function(t){return 1-Math.cos(t*Math.PI/2)},sineOut:function(t){return Math.sin(t*Math.PI/2)},sineInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},expoIn:function(t){return 0===t?0:Math.pow(1024,t-1)},expoOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},expoInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circIn:function(t){return 1-Math.sqrt(1-t*t)},circOut:function(t){return Math.sqrt(1- --t*t)},circInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin(2*(t-e)*Math.PI/.4))},elasticOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin(2*(t-e)*Math.PI/.4)+1)},elasticInOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin(2*(t-e)*Math.PI/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin(2*(t-e)*Math.PI/.4)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(t){return 1-i.bounceOut(1-t)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return t<.5?.5*i.bounceIn(2*t):.5*i.bounceOut(2*t-1)+.5},smooth:function(t){return t<=0?0:t>=1?1:t*t*(3-2*t)},fade:function(t){return t<=0?0:t>=1?1:t*t*t*(t*(6*t-15)+10)}};function n(t,e){return function(i){return i<.5?e(2*i)/2:t(2*i-1)/2+.5}}i.quadOutIn=n(i.quadIn,i.quadOut),i.cubicOutIn=n(i.cubicIn,i.cubicOut),i.quartOutIn=n(i.quartIn,i.quartOut),i.quintOutIn=n(i.quintIn,i.quintOut),i.sineOutIn=n(i.sineIn,i.sineOut),i.expoOutIn=n(i.expoIn,i.expoOut),i.circOutIn=n(i.circIn,i.circOut),i.backOutIn=n(i.backIn,i.backOut),i.bounceIn=function(t){return 1-i.bounceOut(1-t)},i.bounceInOut=function(t){return t<.5?.5*i.bounceIn(2*t):.5*i.bounceOut(2*t-1)+.5},i.bounceOutIn=n(i.bounceIn,i.bounceOut),cc.easing=e.exports=i}),{}],16:[(function(t){"use strict";t("./bezier"),t("./easing"),t("./types"),t("./motion-path-helper"),t("./animation-curves"),t("./animation-clip"),t("./animation-manager"),t("./animation-state"),t("./animation-animator")}),{"./animation-animator":9,"./animation-clip":10,"./animation-curves":11,"./animation-manager":12,"./animation-state":13,"./bezier":14,"./easing":15,"./motion-path-helper":17,"./types":19}],17:[(function(t,e){"use strict";var i=t("./animation-curves").DynamicAnimCurve,n=t("./animation-curves").computeRatioByType,r=t("./bezier").bezier,s=t("../core/utils/binary-search").binarySearchEpsilon,a=cc.v2;function o(t){this.points=t||[],this.beziers=[],this.ratios=[],this.progresses=[],this.length=0,this.computeBeziers()}function c(){this.start=a(),this.end=a(),this.startCtrlPoint=a(),this.endCtrlPoint=a()}function u(t){if(!Array.isArray(t))return!1;for(var e=0,i=t.length;e0)){c=r;break}c=r-1}if(n[r=c]===i)return r/(s-1);var u=n[r];return(r+(i-u)/(n[r+1]-u))/(s-1)},e.exports={sampleMotionPaths:function(t,e,r,c,l){function h(t){return t instanceof cc.Vec2?{in:t,pos:t,out:t}:Array.isArray(t)&&6===t.length?{in:a(t[2],t[3]),pos:a(t[0],t[1]),out:a(t[4],t[5])}:{in:cc.Vec2.ZERO,pos:cc.Vec2.ZERO,out:cc.Vec2.ZERO}}var _=e.values=e.values.map((function(t){return Array.isArray(t)&&(t=2===t.length?cc.v2(t[0],t[1]):cc.v3(t[0],t[1],t[2])),t}));if(0!==t.length&&0!==_.length){for(var f=!1,d=0;d0){f=!0;break}}if(f&&1!==_.length){for(var v=e.types,g=e.ratios,m=e.values=[],y=e.types=[],T=e.ratios=[],E=0,A=i.Linear,C=0,x=t.length;C0){var N=[];N.push(h(I));for(var F=0,B=S.length;F1e-6;){var V,H,W,G;if((b=n(b=L,O))<0)G=(0-b)*(H=z.beziers[0]).getLength(),W=H.start.sub(H.endCtrlPoint).normalize(),V=H.start.add(W.mul(G));else if(b>1)G=(b-1)*(H=z.beziers[z.beziers.length-1]).getLength(),W=H.end.sub(H.startCtrlPoint).normalize(),V=H.end.add(W.mul(G));else{var j=s(k,b);j<0&&(j=~j),b-=j>0?k[j-1]:0,b/=z.ratios[j],V=z.beziers[j].getPointAt(b)}D.push(V),L+=P}}else for(;1-L>1e-6;)b=n(b=L,O),D.push(I.lerp(M,b)),L+=P;for(A="constant"===O?O:i.Linear,F=0,B=D.length;F1e-6?(L-1)*w:0}g[g.length-1]!==T[T.length-1]&&X(_[_.length-1],A,g[g.length-1])}}function X(t,e,i){m.push(t),y.push(e),T.push(i)}},Curve:o,Bezier:c}}),{"../core/utils/binary-search":217,"./animation-curves":11,"./bezier":14}],18:[(function(t,e){"use strict";var i=cc.js,n=t("../core/CCDebug");function r(){this._isPlaying=!1,this._isPaused=!1,this._stepOnce=!1}var s=r.prototype;i.get(s,"isPlaying",(function(){return this._isPlaying}),!0),i.get(s,"isPaused",(function(){return this._isPaused}),!0);var a=function(){};s.onPlay=a,s.onPause=a,s.onResume=a,s.onStop=a,s.onError=a,s.play=function(){this._isPlaying?this._isPaused?(this._isPaused=!1,this.onResume()):this.onError(n.getError(3912)):(this._isPlaying=!0,this.onPlay())},s.stop=function(){this._isPlaying&&(this._isPlaying=!1,this.onStop(),this._isPaused=!1)},s.pause=function(){this._isPlaying&&!this._isPaused&&(this._isPaused=!0,this.onPause())},s.resume=function(){this._isPlaying&&this._isPaused&&(this._isPaused=!1,this.onResume())},s.step=function(){this.pause(),this._stepOnce=!0,this._isPlaying||this.play()},e.exports=r}),{"../core/CCDebug":22}],19:[(function(t,e){"use strict";var i={Loop:2,ShouldWrap:4,PingPong:22,Reverse:36},n=cc.Enum({Default:0,Normal:1,Reverse:i.Reverse,Loop:i.Loop,LoopReverse:i.Loop|i.Reverse,PingPong:i.PingPong,PingPongReverse:i.PingPong|i.Reverse});function r(t){t?this.set(t):(this.ratio=0,this.time=0,this.direction=1,this.stopped=!0,this.iterations=0,this.frameIndex=void 0)}cc.WrapMode=n,r.prototype.set=function(t){this.ratio=t.ratio,this.time=t.time,this.direction=t.direction,this.stopped=t.stopped,this.iterations=t.iterations,this.frameIndex=t.frameIndex},e.exports={WrapModeMask:i,WrapMode:n,WrappedInfo:r}}),{}],20:[(function(t,e){"use strict";var i,n,r=t("../core/event/event-target"),s=t("../core/platform/CCSys"),a=t("../core/assets/CCAudioClip").LoadMode,o=!1,c=[],u=function t(e){r.call(this),this._shouldRecycleOnEnded=!1,this._src=e,this._element=null,this.id=0,this._state=t.State.INITIALZING;var i=this;this._onended=function(){i._state=t.State.STOPPED,i.emit("ended")},this._onendedSecond=function(){i._unbindEnded(i._onendedSecond),i._bindEnded()}};cc.js.extend(u,r),u.State={ERROR:-1,INITIALZING:0,PLAYING:1,PAUSED:2,STOPPED:3},(i=u.prototype)._bindEnded=function(t){if(!(t=t||this._onended)._binded){t._binded=!0;var e=this._element;this._src&&e instanceof HTMLAudioElement?e.addEventListener("ended",t):e.onended=t}},i._unbindEnded=function(t){if((t=t||this._onended)._binded){t._binded=!1;var e=this._element;e instanceof HTMLAudioElement?e.removeEventListener("ended",t):e&&(e.onended=null)}},i._onLoaded=function(){this._createElement(),this._state=u.State.INITIALZING,this.setVolume(1),this.setLoop(!1)},i._createElement=function(){var t=this._src._nativeAsset;t instanceof HTMLAudioElement?(this._element||(this._element=document.createElement("audio")),this._element.src=t.src):this._element=new l(t,this)},i.play=function(){var t=this;this._src&&this._src._ensureLoaded((function(){t._state=u.State.PLAYING,t._bindEnded();var e=t._element.play();window.Promise&&e instanceof Promise&&e.catch((function(){})),t._touchToPlay()}))},i._touchToPlay=function(){if(this._src&&this._src.loadMode===a.DOM_AUDIO&&this._element.paused&&c.push({instance:this,offset:0,audio:this._element}),!o){o=!0;var t="ontouchend"in window?"touchend":"mousedown";cc.game.canvas.addEventListener(t,(function(){for(var t;t=c.pop();)t.audio.play(t.offset)}))}},i.destroy=function(){this._element=null},i.pause=function(){if(this.getState()===u.State.PLAYING){var t=this;this._src&&this._src._ensureLoaded((function(){t._unbindEnded(),t._element.pause(),t._state=u.State.PAUSED}))}},i.resume=function(){if(this.getState()===u.State.PAUSED){var t=this;this._src&&this._src._ensureLoaded((function(){t._bindEnded(),t._element.play(),t._state=u.State.PLAYING}))}},i.stop=function(){var t=this;this._src&&this._src._ensureLoaded((function(){t._element.pause(),t._element.currentTime=0;for(var e=0;ethis._buffer.duration)},enumerable:!0,configurable:!0}),Object.defineProperty(t,"loop",{get:function(){return this._loop},set:function(t){return this._currentSource&&(this._currentSource.loop=t),this._loop=t},enumerable:!0,configurable:!0}),Object.defineProperty(t,"volume",{get:function(){return this._volume},set:function(t){if(this._volume=t,this._gainObj.gain.setTargetAtTime)try{this._gainObj.gain.setTargetAtTime(t,this._context.currentTime,n)}catch(e){this._gainObj.gain.setTargetAtTime(t,this._context.currentTime,.01)}else this._gainObj.gain.value=t;s.os===s.OS_IOS&&!this.paused&&this._currentSource&&(this._currentSource.onended=null,this.pause(),this.play())},enumerable:!0,configurable:!0}),Object.defineProperty(t,"currentTime",{get:function(){return this.paused?this.playedLength:(this.playedLength=this._context.currentTime-this._startTime,this.playedLength%=this._buffer.duration,this.playedLength)},set:function(t){return this.paused?this.playedLength=t:(this.pause(),this.playedLength=t,this.play()),t},enumerable:!0,configurable:!0}),Object.defineProperty(t,"duration",{get:function(){return this._buffer.duration},enumerable:!0,configurable:!0})})(l.prototype),e.exports=cc._Audio=u}),{"../core/assets/CCAudioClip":59,"../core/event/event-target":132,"../core/platform/CCSys":158}],21:[(function(t,e){"use strict";var i=t("./CCAudio"),n=t("../core/assets/CCAudioClip"),r=cc.js,s=0,a=r.createMap(!0),o={},c=[],u=function(t){t._shouldRecycleOnEnded&&(t._finishCallback=null,t.off("ended"),t.off("stop"),t.src=null,c.includes(t)||(c.length<32?c.push(t):t.destroy()),t._shouldRecycleOnEnded=!1)},l=function(t){var e=s++,n=o[t];if(n||(n=o[t]=[]),f._maxAudioInstance<=n.length){var r=n.shift();h(r).stop()}var l=c.pop()||new i,_=function(){if(h(this.id)){delete a[this.id];var t=n.indexOf(this.id);cc.js.array.fastRemoveAt(n,t)}u(this)};return l.on("ended",(function(){this._finishCallback&&this._finishCallback(),this.getLoop()||_.call(this)}),l),l.on("stop",_,l),l.id=e,a[e]=l,n.push(e),l},h=function(t){return a[t]},_=function(t){return void 0===t?t=1:"string"==typeof t&&(t=Number.parseFloat(t)),t},f={AudioState:i.State,_maxAudioInstance:24,_id2audio:a,play:function(t,e,i){if(!(t instanceof n))return cc.error("Wrong type of AudioClip.");var r=t.nativeUrl,s=l(r);return s.src=t,t._ensureLoaded(),s._shouldRecycleOnEnded=!0,s.setLoop(e||!1),i=_(i),s.setVolume(i),s.play(),s.id},setLoop:function(t,e){var i=h(t);i&&i.setLoop&&i.setLoop(e)},isLoop:function(t){var e=h(t);return!(!e||!e.getLoop)&&e.getLoop()},setVolume:function(t,e){var i=h(t);i&&i.setVolume(e)},getVolume:function(t){var e=h(t);return e?e.getVolume():1},setCurrentTime:function(t,e){var i=h(t);return!!i&&(i.setCurrentTime(e),!0)},getCurrentTime:function(t){var e=h(t);return e?e.getCurrentTime():0},getDuration:function(t){var e=h(t);return e?e.getDuration():0},getState:function(t){var e=h(t);return e?e.getState():this.AudioState.ERROR},setFinishCallback:function(t,e){var i=h(t);i&&(i._finishCallback=e)},pause:function(t){var e=h(t);return!!e&&(e.pause(),!0)},_pauseIDCache:[],pauseAll:function(){for(var t in a){var e=a[t];e.getState()===i.State.PLAYING&&(this._pauseIDCache.push(t),e.pause())}},resume:function(t){var e=h(t);e&&e.resume()},resumeAll:function(){for(var t=0;t0;){var n=i.pop(),r=a[n];r&&(r.stop(),delete a[n])}},uncacheAll:function(){var t;for(var e in this.stopAll(),a)(t=a[e])&&t.destroy();for(;t=c.pop();)t.destroy();a=r.createMap(!0),o={}},_breakCache:null,_break:function(){for(var t in this._breakCache=[],a){var e=a[t];e.getState()===i.State.PLAYING&&(this._breakCache.push(t),e.pause())}},_restore:function(){if(this._breakCache){for(;this._breakCache.length>0;){var t=this._breakCache.pop(),e=h(t);e&&e.resume&&e.resume()}this._breakCache=null}},_music:{id:-1,loop:!1,volume:1},_effect:{volume:1,pauseCache:[]},playMusic:function(t,e){var i=this._music;return this.stop(i.id),i.id=this.play(t,e,i.volume),i.loop=e,i.id},stopMusic:function(){this.stop(this._music.id)},pauseMusic:function(){return this.pause(this._music.id),this._music.id},resumeMusic:function(){return this.resume(this._music.id),this._music.id},getMusicVolume:function(){return this._music.volume},setMusicVolume:function(t){t=_(t);var e=this._music;return e.volume=t,this.setVolume(e.id,e.volume),e.volume},isMusicPlaying:function(){return this.getState(this._music.id)===this.AudioState.PLAYING},playEffect:function(t,e){return this.play(t,e||!1,this._effect.volume)},setEffectsVolume:function(t){t=_(t);var e=this._music.id;for(var i in this._effect.volume=t,a){var n=a[i];n&&n.id!==e&&f.setVolume(i,t)}},getEffectsVolume:function(){return this._effect.volume},pauseEffect:function(t){return this.pause(t)},pauseAllEffects:function(){var t=this._music.id,e=this._effect;for(var i in e.pauseCache.length=0,a){var n=a[i];n&&n.id!==t&&n.getState()===this.AudioState.PLAYING&&(e.pauseCache.push(i),n.pause())}},resumeEffect:function(t){this.resume(t)},resumeAllEffects:function(){for(var t=this._effect.pauseCache,e=0;el.ERROR){var e=function(t){if(cc.game.canvas){if(!i){var e=document.createElement("Div");e.setAttribute("id","logInfoDiv"),e.setAttribute("width","200"),e.setAttribute("height",cc.game.canvas.height);var n=e.style;n.zIndex="99999",n.position="absolute",n.top=n.left="0",(i=document.createElement("textarea")).setAttribute("rows","20"),i.setAttribute("cols","30"),i.setAttribute("disabled","true");var r=i.style;r.backgroundColor="transparent",r.borderBottom="1px solid #cccccc",r.borderTopWidth=r.borderLeftWidth=r.borderRightWidth="0px",r.borderTopStyle=r.borderLeftStyle=r.borderRightStyle="none",r.padding="0px",r.margin=0,e.appendChild(i),cc.game.canvas.parentNode.appendChild(e)}i.value=i.value+t+"\r\n",i.scrollTop=i.scrollHeight}};cc.error=function(){e("ERROR : "+cc.js.formatStr.apply(null,arguments))},cc.assert=function(t,i){!t&&i&&(i=cc.js.formatStr.apply(null,cc.js.shiftArguments.apply(null,arguments)),e("ASSERT: "+i))},t!==l.ERROR_FOR_WEB_PAGE&&(cc.warn=function(){e("WARN : "+cc.js.formatStr.apply(null,arguments))}),t===l.INFO_FOR_WEB_PAGE&&(cc.log=function(){e(cc.js.formatStr.apply(null,arguments))})}else console&&console.log.apply&&(console.error||(console.error=console.log),console.warn||(console.warn=console.log),console.error.bind?cc.error=console.error.bind(console):cc.error=function(){return console.error.apply(console,arguments)},cc.assert=function(t,e){if(!t)throw e&&(e=cc.js.formatStr.apply(null,cc.js.shiftArguments.apply(null,arguments))),new Error(e)});t!==l.ERROR&&(console.warn.bind?cc.warn=console.warn.bind(console):cc.warn=function(){return console.warn.apply(console,arguments)}),t===l.INFO&&(console.log.bind?cc.log=console.log.bind(console):cc.log=function(){return console.log.apply(console,arguments)})}},getError:s("ERROR"),isDisplayStats:function(){return!!cc.profiler&&cc.profiler.isShowingStats()},setDisplayStats:function(t){cc.profiler&&cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS&&(t?cc.profiler.showStats():cc.profiler.hideStats(),cc.game.config.showFPS=!!t)}}}),{"../../DebugInfos":void 0,"./platform/utils":173}],23:[(function(t,e){"use strict";var i=t("./event/event-target"),n=t("./component-scheduler"),r=t("./node-activator"),s=t("./platform/CCObject"),a=t("./CCGame"),o=t("./renderer"),c=t("./event-manager"),u=t("./CCScheduler");cc.Director=function(){i.call(this),this._paused=!1,this._purgeDirectorInNextLoop=!1,this._winSizeInPoints=null,this._scene=null,this._loadingScene="",this._totalFrames=0,this._lastUpdate=0,this._deltaTime=0,this._startTime=0,this._maxParticleDeltaTime=0,this._scheduler=null,this._compScheduler=null,this._nodeActivator=null,this._actionManager=null;var t=this;a.on(a.EVENT_SHOW,(function(){t._lastUpdate=performance.now()})),a.once(a.EVENT_ENGINE_INITED,this.init,this)},cc.Director.prototype={constructor:cc.Director,init:function(){return this._totalFrames=0,this._lastUpdate=performance.now(),this._startTime=this._lastUpdate,this._paused=!1,this._purgeDirectorInNextLoop=!1,this._winSizeInPoints=cc.size(0,0),this._scheduler=new u,cc.ActionManager?(this._actionManager=new cc.ActionManager,this._scheduler.scheduleUpdate(this._actionManager,u.PRIORITY_SYSTEM,!1)):this._actionManager=null,this.sharedInit(),!0},sharedInit:function(){this._compScheduler=new n,this._nodeActivator=new r,c&&c.setEnabled(!0),cc.AnimationManager?(this._animationManager=new cc.AnimationManager,this._scheduler.scheduleUpdate(this._animationManager,u.PRIORITY_SYSTEM,!1)):this._animationManager=null,cc.CollisionManager?(this._collisionManager=new cc.CollisionManager,this._scheduler.scheduleUpdate(this._collisionManager,u.PRIORITY_SYSTEM,!1)):this._collisionManager=null,cc.PhysicsManager?(this._physicsManager=new cc.PhysicsManager,this._scheduler.scheduleUpdate(this._physicsManager,u.PRIORITY_SYSTEM,!1)):this._physicsManager=null,cc.Physics3DManager,this._physics3DManager=null,cc._widgetManager&&cc._widgetManager.init(this)},calculateDeltaTime:function(t){t||(t=performance.now()),this._deltaTime=t>this._lastUpdate?(t-this._lastUpdate)/1e3:0,this._lastUpdate=t},convertToGL:function(t){var e=a.container,i=cc.view,n=e.getBoundingClientRect(),r=n.left+window.pageXOffset-e.clientLeft,s=n.top+window.pageYOffset-e.clientTop,o=i._devicePixelRatio*(t.x-r),c=i._devicePixelRatio*(s+n.height-t.y);return i._isRotated?cc.v2(i._viewportRect.width-c,o):cc.v2(o,c)},convertToUI:function(t){var e=a.container,i=cc.view,n=e.getBoundingClientRect(),r=n.left+window.pageXOffset-e.clientLeft,s=n.top+window.pageYOffset-e.clientTop,o=cc.v2(0,0);return i._isRotated?(o.x=r+t.y/i._devicePixelRatio,o.y=s+n.height-(i._viewportRect.width-t.x)/i._devicePixelRatio):(o.x=r+t.x*i._devicePixelRatio,o.y=s+n.height-t.y*i._devicePixelRatio),o},end:function(){this._purgeDirectorInNextLoop=!0},getWinSize:function(){return cc.size(cc.winSize)},getWinSizeInPixels:function(){return cc.size(cc.winSize)},pause:function(){this._paused||(this._paused=!0)},purgeCachedData:function(){cc.assetManager.releaseAll()},purgeDirector:function(){this._scheduler.unscheduleAll(),this._compScheduler.unscheduleAll(),this._nodeActivator.reset(),c&&c.setEnabled(!1),cc.isValid(this._scene)&&this._scene.destroy(),this._scene=null,cc.renderer.clear(),cc.assetManager.builtins.clear(),cc.game.pause(),cc.assetManager.releaseAll()},reset:function(){this.purgeDirector(),c&&c.setEnabled(!0),this._actionManager&&this._scheduler.scheduleUpdate(this._actionManager,cc.Scheduler.PRIORITY_SYSTEM,!1),this._animationManager&&this._scheduler.scheduleUpdate(this._animationManager,cc.Scheduler.PRIORITY_SYSTEM,!1),this._collisionManager&&this._scheduler.scheduleUpdate(this._collisionManager,cc.Scheduler.PRIORITY_SYSTEM,!1),this._physicsManager&&this._scheduler.scheduleUpdate(this._physicsManager,cc.Scheduler.PRIORITY_SYSTEM,!1),cc.game.resume()},runSceneImmediate:function(t,e,i){cc.assertID(t instanceof cc.Scene||t instanceof cc.SceneAsset,1216),t instanceof cc.SceneAsset&&(t=t.scene),t._load();for(var n=Object.keys(a._persistRootNodes).map((function(t){return a._persistRootNodes[t]})),r=0;r2||e<0)&&(t.renderMode=0),"boolean"!=typeof t.registerSystemEvent&&(t.registerSystemEvent=!0),t.showFPS=1!==e&&!!t.showFPS,this.collisionMatrix=t.collisionMatrix||[],this.groupList=t.groupList||[],n._resetDebugSetting(t.debugMode),this.config=t,this._configLoaded=!0},_determineRenderType:function(){var t=this.config,e=parseInt(t.renderMode)||0;this.renderType=this.RENDER_TYPE_CANVAS;var i=!1;if(0===e?cc.sys.capabilities.opengl?(this.renderType=this.RENDER_TYPE_WEBGL,i=!0):cc.sys.capabilities.canvas&&(this.renderType=this.RENDER_TYPE_CANVAS,i=!0):1===e&&cc.sys.capabilities.canvas?(this.renderType=this.RENDER_TYPE_CANVAS,i=!0):2===e&&cc.sys.capabilities.opengl&&(this.renderType=this.RENDER_TYPE_WEBGL,i=!0),!i)throw new Error(n.getError(3820,e))},_initRenderer:function(){if(!this._rendererInitialized){var t,e,i,n,a=this.config.id,o=a instanceof HTMLElement?a:document.querySelector(a)||document.querySelector("#"+a);if("CANVAS"===o.tagName?(t=o.width,e=o.height,this.canvas=i=o,this.container=n=document.createElement("DIV"),i.parentNode&&i.parentNode.insertBefore(n,i)):("DIV"!==o.tagName&&cc.warnID(3819),t=o.clientWidth,e=o.clientHeight,this.canvas=i=document.createElement("CANVAS"),this.container=n=document.createElement("DIV"),o.appendChild(n)),n.setAttribute("id","Cocos2dGameContainer"),n.appendChild(i),this.frame=n.parentNode===document.body?document.documentElement:n.parentNode,(function(t){(" "+t.className+" ").indexOf(" gameCanvas ")>-1||(t.className&&(t.className+=" "),t.className+="gameCanvas")})(i),i.setAttribute("width",t||480),i.setAttribute("height",e||320),i.setAttribute("tabindex",99),this._determineRenderType(),this.renderType===this.RENDER_TYPE_WEBGL){var c={stencil:!0,antialias:cc.macro.ENABLE_WEBGL_ANTIALIAS,alpha:cc.macro.ENABLE_TRANSPARENT_CANVAS};r.initWebGL(i,c),this._renderContext=r.device._gl,!cc.macro.CLEANUP_IMAGE_CACHE&&s&&(s.enabled=!0)}this._renderContext||(this.renderType=this.RENDER_TYPE_CANVAS,r.initCanvas(i),this._renderContext=r.device._ctx),this.canvas.oncontextmenu=function(){if(!cc._isContextMenuEnable)return!1},this._rendererInitialized=!0}},_initEvents:function(){var t,e=window;this.config.registerSystemEvent&&cc.internal.inputManager.registerSystemEvent(this.canvas),void 0!==document.hidden?t="hidden":void 0!==document.mozHidden?t="mozHidden":void 0!==document.msHidden?t="msHidden":void 0!==document.webkitHidden&&(t="webkitHidden");var i=!1;function n(){i||(i=!0,a.emit(a.EVENT_HIDE))}function r(t,e,n,r,s){i&&(i=!1,a.emit(a.EVENT_SHOW,t,e,n,r,s))}if(t)for(var s=["visibilitychange","mozvisibilitychange","msvisibilitychange","webkitvisibilitychange","qbrowserVisibilityChange"],o=0;o-1&&(e.onfocus=r),"onpageshow"in window&&"onpagehide"in window&&(e.addEventListener("pagehide",n),e.addEventListener("pageshow",r),document.addEventListener("pagehide",n),document.addEventListener("pageshow",r)),this.on(a.EVENT_HIDE,(function(){a.pause()})),this.on(a.EVENT_SHOW,(function(){a.resume()}))}};i.call(a),cc.js.addon(a,i.prototype),cc.game=e.exports=a}),{"../audio/CCAudioEngine":21,"../core/renderer/utils/dynamic-atlas/manager":183,"./CCDebug":22,"./event/event-target":132,"./renderer/index.js":180}],25:[(function(t,e){"use strict";var i=t("./value-types"),n=t("./value-types/utils"),r=t("./utils/base-node"),s=t("./utils/prefab-helper"),a=t("./utils/trans-pool").NodeMemPool,o=t("./utils/affine-transform"),c=t("./event-manager"),u=t("./platform/CCMacro"),l=t("./platform/js"),h=(t("./event/event"),t("./event/event-target")),_=t("./renderer/render-flow"),f=cc.Object.Flags.Destroying,d=Math.PI/180,p=!!cc.ActionManager,v=function(){},g=new i.Vec3,m=new i.Quat,y=new i.Vec3,T=new i.Vec3,E=new i.Quat,A=new i.Quat,C=new i.Vec3,x=new i.Vec3,b=new i.Vec3,S=new i.Vec3,R=new i.Vec3,w=new i.Quat,I=new i.Quat,M=new i.Vec3,O=new i.Quat,D=new i.Vec3,L=new i.Quat,P=new i.Vec3,N=new i.Vec3,F=new i.Quat,B=new i.Quat,U=(new i.Quat,cc.mat4()),z=new i.Vec3,k=new l.Pool;k.get=function(){return this._get()||[]};var V=cc.Enum({DEBUG:31}),H=cc.Enum({POSITION:1,SCALE:2,ROTATION:4,SKEW:8,TRS:7,RS:6,TRSS:15,PHYSICS_POSITION:16,PHYSICS_SCALE:32,PHYSICS_ROTATION:64,PHYSICS_TRS:112,PHYSICS_RS:96,ALL_POSITION:17,ALL_SCALE:34,ALL_ROTATION:68,ALL_TRS:119,ALL:65535}),W=cc.Enum({TOUCH_START:"touchstart",TOUCH_MOVE:"touchmove",TOUCH_END:"touchend",TOUCH_CANCEL:"touchcancel",MOUSE_DOWN:"mousedown",MOUSE_MOVE:"mousemove",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_UP:"mouseup",MOUSE_WHEEL:"mousewheel",POSITION_CHANGED:"position-changed",ROTATION_CHANGED:"rotation-changed",SCALE_CHANGED:"scale-changed",SIZE_CHANGED:"size-changed",ANCHOR_CHANGED:"anchor-changed",COLOR_CHANGED:"color-changed",CHILD_ADDED:"child-added",CHILD_REMOVED:"child-removed",CHILD_REORDER:"child-reorder",GROUP_CHANGED:"group-changed",SIBLING_ORDER_CHANGED:"sibling-order-changed"}),G=[W.TOUCH_START,W.TOUCH_MOVE,W.TOUCH_END,W.TOUCH_CANCEL],j=[W.MOUSE_DOWN,W.MOUSE_ENTER,W.MOUSE_MOVE,W.MOUSE_LEAVE,W.MOUSE_UP,W.MOUSE_WHEEL],Y=!0,X=function(t){if(0!==t){Y&&cc.warn("`cc.Node.skewX/Y` is deprecated since v2.2.1, please use 3D node instead.",""),Y=!1}},q=null,Z=function(t,e){var i=t.getLocation(),n=this.owner;return!!n._hitTest(i,this)&&(e.type=W.TOUCH_START,e.touch=t,e.bubbles=!0,n.dispatchEvent(e),!0)},K=function(t,e){var i=this.owner;e.type=W.TOUCH_MOVE,e.touch=t,e.bubbles=!0,i.dispatchEvent(e)},Q=function(t,e){var i=t.getLocation(),n=this.owner;n._hitTest(i,this)?e.type=W.TOUCH_END:e.type=W.TOUCH_CANCEL,e.touch=t,e.bubbles=!0,n.dispatchEvent(e)},J=function(t,e){t.getLocation();var i=this.owner;e.type=W.TOUCH_CANCEL,e.touch=t,e.bubbles=!0,i.dispatchEvent(e)},$=function(t){var e=t.getLocation(),i=this.owner;i._hitTest(e,this)&&(t.type=W.MOUSE_DOWN,t.bubbles=!0,i.dispatchEvent(t))},tt=function(t){var e=t.getLocation(),i=this.owner;if(i._hitTest(e,this))this._previousIn||(q&&q._mouseListener&&(t.type=W.MOUSE_LEAVE,q.dispatchEvent(t),q._mouseListener._previousIn=!1),q=this.owner,t.type=W.MOUSE_ENTER,i.dispatchEvent(t),this._previousIn=!0),t.type=W.MOUSE_MOVE,t.bubbles=!0,i.dispatchEvent(t);else{if(!this._previousIn)return;t.type=W.MOUSE_LEAVE,i.dispatchEvent(t),this._previousIn=!1,q=null}t.stopPropagation()},et=function(t){var e=t.getLocation(),i=this.owner;i._hitTest(e,this)&&(t.type=W.MOUSE_UP,t.bubbles=!0,i.dispatchEvent(t),t.stopPropagation())},it=function(t){var e=t.getLocation(),i=this.owner;i._hitTest(e,this)&&(t.type=W.MOUSE_WHEEL,t.bubbles=!0,i.dispatchEvent(t),t.stopPropagation())};function nt(t,e){if(e){for(var i=0,n=null,r=t;r&&cc.Node.isNode(r);r=r._parent,++i)if(r.getComponent(e)){var s={index:i,node:r};n?n.push(s):n=[s]}return n}return null}function rt(t,e){if(!(t._objFlags&f)){if(t._bubblingListeners)for(var i=0,n=e.length;i=0;--r)if((n=i[r])._capturingListeners&&(e.currentTarget=n,n._capturingListeners.emit(e.type,e,i),e._propagationStopped))return void(i.length=0);if(i.length=0,e.eventPhase=2,e.currentTarget=t,t._capturingListeners&&t._capturingListeners.emit(e.type,e),!e._propagationImmediateStopped&&t._bubblingListeners&&t._bubblingListeners.emit(e.type,e),!e._propagationStopped&&e.bubbles)for(t._getBubblingTargets(e.type,i),e.eventPhase=3,r=0;r>16},set:function(t){t>u.MAX_ZINDEX?(cc.warnID(1636),t=u.MAX_ZINDEX):t0&&(this._renderFlag|=_.FLAG_CHILDREN)},_checkListenerMask:function(){if(this._touchListener){var t=this._touchListener.mask=nt(this,cc.Mask);this._mouseListener&&(this._mouseListener.mask=t)}else this._mouseListener&&(this._mouseListener.mask=nt(this,cc.Mask))},_checknSetupSysEvent:function(t){var e=!1,i=!1;return-1!==G.indexOf(t)?(this._touchListener||(this._touchListener=cc.EventListener.create({event:cc.EventListener.TOUCH_ONE_BY_ONE,swallowTouches:!0,owner:this,mask:nt(this,cc.Mask),onTouchBegan:Z,onTouchMoved:K,onTouchEnded:Q,onTouchCancelled:J}),c.addListener(this._touchListener,this),e=!0),i=!0):-1!==j.indexOf(t)&&(this._mouseListener||(this._mouseListener=cc.EventListener.create({event:cc.EventListener.MOUSE,_previousIn:!1,owner:this,mask:nt(this,cc.Mask),onMouseDown:$,onMouseMove:tt,onMouseUp:et,onMouseScroll:it}),c.addListener(this._mouseListener,this),e=!0),i=!0),e&&!this._activeInHierarchy&&cc.director.getScheduler().schedule((function(){this._activeInHierarchy||c.pauseTarget(this)}),this,0,0,0,!1),i},on:function(t,e,i,n){if(this._checknSetupSysEvent(t))return this._onDispatch(t,e,i,n);switch(t){case W.POSITION_CHANGED:this._eventMask|=1;break;case W.SCALE_CHANGED:this._eventMask|=2;break;case W.ROTATION_CHANGED:this._eventMask|=4;break;case W.SIZE_CHANGED:this._eventMask|=8;break;case W.ANCHOR_CHANGED:this._eventMask|=16;break;case W.COLOR_CHANGED:this._eventMask|=32}return this._bubblingListeners||(this._bubblingListeners=new h),this._bubblingListeners.on(t,e,i)},once:function(t,e,i,n){var r=this,s=null;(s=this._checknSetupSysEvent(t)&&n?this._capturingListeners=this._capturingListeners||new h:this._bubblingListeners=this._bubblingListeners||new h).once(t,e,i),s.once(t,(function(){r.off(t,e,i)}),void 0)},_onDispatch:function(t,e,i,n){if("boolean"==typeof i?(n=i,i=void 0):n=!!n,e){var r=null;return(r=n?this._capturingListeners=this._capturingListeners||new h:this._bubblingListeners=this._bubblingListeners||new h).hasEventListener(t,e,i)||(r.on(t,e,i),i&&i.__eventTargets&&i.__eventTargets.push(this)),e}cc.errorID(6800)},off:function(t,e,i,n){var r=-1!==G.indexOf(t),s=!r&&-1!==j.indexOf(t);if(r||s)this._offDispatch(t,e,i,n),r?this._touchListener&&!rt(this,G)&&(c.removeListener(this._touchListener),this._touchListener=null):s&&this._mouseListener&&!rt(this,j)&&(c.removeListener(this._mouseListener),this._mouseListener=null);else if(this._bubblingListeners&&(this._bubblingListeners.off(t,e,i),!this._bubblingListeners.hasEventListener(t)))switch(t){case W.POSITION_CHANGED:this._eventMask&=-2;break;case W.SCALE_CHANGED:this._eventMask&=-3;break;case W.ROTATION_CHANGED:this._eventMask&=-5;break;case W.SIZE_CHANGED:this._eventMask&=-9;break;case W.ANCHOR_CHANGED:this._eventMask&=-17;break;case W.COLOR_CHANGED:this._eventMask&=-33}},_offDispatch:function(t,e,i,n){if("boolean"==typeof i?(n=i,i=void 0):n=!!n,e){var r=n?this._capturingListeners:this._bubblingListeners;r&&(r.off(t,e,i),i&&i.__eventTargets&&l.array.fastRemove(i.__eventTargets,this))}else this._capturingListeners&&this._capturingListeners.removeAll(t),this._bubblingListeners&&this._bubblingListeners.removeAll(t)},targetOff:function(t){var e=this._bubblingListeners;e&&(e.targetOff(t),1&this._eventMask&&!e.hasEventListener(W.POSITION_CHANGED)&&(this._eventMask&=-2),2&this._eventMask&&!e.hasEventListener(W.SCALE_CHANGED)&&(this._eventMask&=-3),4&this._eventMask&&!e.hasEventListener(W.ROTATION_CHANGED)&&(this._eventMask&=-5),8&this._eventMask&&!e.hasEventListener(W.SIZE_CHANGED)&&(this._eventMask&=-9),16&this._eventMask&&!e.hasEventListener(W.ANCHOR_CHANGED)&&(this._eventMask&=-17),32&this._eventMask&&!e.hasEventListener(W.COLOR_CHANGED)&&(this._eventMask&=-33)),this._capturingListeners&&this._capturingListeners.targetOff(t),t&&t.__eventTargets&&l.array.fastRemove(t.__eventTargets,this),this._touchListener&&!rt(this,G)&&(c.removeListener(this._touchListener),this._touchListener=null),this._mouseListener&&!rt(this,j)&&(c.removeListener(this._mouseListener),this._mouseListener=null)},hasEventListener:function(t){var e=!1;return this._bubblingListeners&&(e=this._bubblingListeners.hasEventListener(t)),!e&&this._capturingListeners&&(e=this._capturingListeners.hasEventListener(t)),e},emit:function(t,e,i,n,r,s){this._bubblingListeners&&this._bubblingListeners.emit(t,e,i,n,r,s)},dispatchEvent:function(t){var e=k.get();st(this,t,e),k.put(e)},pauseSystemEvents:function(t){c.pauseTarget(this,t)},resumeSystemEvents:function(t){c.resumeTarget(this,t)},_hitTest:function(t,e){var n=this._contentSize.width,r=this._contentSize.height,s=P,a=N,o=cc.Camera.findCamera(this);if(o?o.getScreenToWorldPoint(t,s):s.set(t),this._updateWorldMatrix(),!i.Mat4.invert(U,this._worldMatrix))return!1;i.Vec2.transformMat4(a,s,U),a.x+=this._anchorPoint.x*n,a.y+=this._anchorPoint.y*r;var c=!1;if(a.x>=0&&a.y>=0&&a.x<=n&&a.y<=r&&(c=!0,e&&e.mask))for(var u=e.mask,l=this,h=u?u.length:0,_=0,f=0;l&&fd.index){u.length=f;break}}return c},_getCapturingTargets:function(t,e){for(var i=this.parent;i;)i._capturingListeners&&i._capturingListeners.hasEventListener(t)&&e.push(i),i=i.parent},_getBubblingTargets:function(t,e){for(var i=this.parent;i;)i._bubblingListeners&&i._bubblingListeners.hasEventListener(t)&&e.push(i),i=i.parent},runAction:p?function(t){if(this.active){cc.assertID(t,1618);var e=cc.director.getActionManager();return e._suppressDeprecation||(e._suppressDeprecation=!0,cc.warnID(1639)),e.addAction(t,this,!1),t}}:v,pauseAllActions:p?function(){cc.director.getActionManager().pauseTarget(this)}:v,resumeAllActions:p?function(){cc.director.getActionManager().resumeTarget(this)}:v,stopAllActions:p?function(){cc.director.getActionManager().removeAllActionsFromTarget(this)}:v,stopAction:p?function(t){cc.director.getActionManager().removeAction(t)}:v,stopActionByTag:p?function(t){t!==cc.Action.TAG_INVALID?cc.director.getActionManager().removeActionByTag(t,this):cc.logID(1612)}:v,getActionByTag:p?function(t){return t===cc.Action.TAG_INVALID?(cc.logID(1613),null):cc.director.getActionManager().getActionByTag(t,this)}:function(){return null},getNumberOfRunningActions:p?function(){return cc.director.getActionManager().getNumberOfRunningActionsInTarget(this)}:function(){return 0},getPosition:function(t){return t=t||new i.Vec3,i.Trs.toPosition(t,this._trs)},setPosition:function(t,e,i){var n;void 0===e?(n=t.x,e=t.y,i=t.z):n=t;var r=this._trs;void 0===i&&(i=r[2]),(r[0]!==n||r[1]!==e||r[2]!==i)&&(r[0]=n,r[1]=e,r[2]=i,this.setLocalDirty(H.ALL_POSITION),this._renderFlag|=_.FLAG_WORLD_TRANSFORM,1&this._eventMask&&this.emit(W.POSITION_CHANGED))},getScale:function(t){return void 0!==t?i.Trs.toScale(t,this._trs):(cc.errorID(1400,"cc.Node.getScale","cc.Node.scale or cc.Node.getScale(cc.Vec3)"),this._trs[7])},setScale:function(t,e,i){var n;t&&"number"!=typeof t?(n=t.x,e=t.y,i=t.z):void 0!==t&&void 0===e?(n=t,e=t,i=t):n=t;var r=this._trs;void 0===i&&(i=r[9]),r[7]===n&&r[8]===e&&r[9]===i||(r[7]=n,r[8]=e,r[9]=i,this.setLocalDirty(H.ALL_SCALE),this._renderFlag|=_.FLAG_TRANSFORM,2&this._eventMask&&this.emit(W.SCALE_CHANGED))},getRotation:function(t){return t instanceof i.Quat?i.Trs.toRotation(t,this._trs):-this.angle},setRotation:function(t,e,i,n){if("number"==typeof t&&void 0===e)this.angle=-t;else{var r=t;void 0===e&&(r=t.x,e=t.y,i=t.z,n=t.w);var s=this._trs;s[3]===r&&s[4]===e&&s[5]===i&&s[6]===n||(s[3]=r,s[4]=e,s[5]=i,s[6]=n,this.setLocalDirty(H.ALL_ROTATION),4&this._eventMask&&this.emit(W.ROTATION_CHANGED))}},getContentSize:function(){return cc.size(this._contentSize.width,this._contentSize.height)},setContentSize:function(t,e){var i=this._contentSize;if(void 0===e){if((0,n.approx)(t.width,i.width)&&(0,n.approx)(t.height,i.height))return;i.width=t.width,i.height=t.height}else{if((0,n.approx)(t,i.width)&&(0,n.approx)(e,i.height))return;i.width=t,i.height=e}8&this._eventMask&&this.emit(W.SIZE_CHANGED)},getAnchorPoint:function(){return cc.v2(this._anchorPoint)},setAnchorPoint:function(t,e){var i=this._anchorPoint;if(void 0===e){if(t.x===i.x&&t.y===i.y)return;i.x=t.x,i.y=t.y}else{if(t===i.x&&e===i.y)return;i.x=t,i.y=e}this.setLocalDirty(H.ALL_POSITION),16&this._eventMask&&this.emit(W.ANCHOR_CHANGED)},_invTransformPoint:function(t,e){this._parent?this._parent._invTransformPoint(t,e):i.Vec3.copy(t,e);var n=this._trs;return i.Trs.toPosition(y,n),i.Vec3.sub(t,t,y),i.Trs.toRotation(E,n),i.Quat.conjugate(A,E),i.Vec3.transformQuat(t,t,A),i.Trs.toScale(y,n),i.Vec3.inverseSafe(T,y),i.Vec3.mul(t,t,T),t},getWorldPosition:function(t){i.Trs.toPosition(t,this._trs);for(var e,n=this._parent;n;)e=n._trs,i.Trs.toScale(g,e),i.Vec3.mul(t,t,g),i.Trs.toRotation(m,e),i.Vec3.transformQuat(t,t,m),i.Trs.toPosition(g,e),i.Vec3.add(t,t,g),n=n._parent;return t},setWorldPosition:function(t){var e=this._trs;this._parent?this._parent._invTransformPoint(C,t):i.Vec3.copy(C,t),i.Trs.fromPosition(e,C),this.setLocalDirty(H.ALL_POSITION),1&this._eventMask&&this.emit(W.POSITION_CHANGED)},getWorldRotation:function(t){i.Trs.toRotation(F,this._trs),i.Quat.copy(t,F);for(var e=this._parent;e;)i.Trs.toRotation(F,e._trs),i.Quat.mul(t,F,t),e=e._parent;return t},setWorldRotation:function(t){this._parent?(this._parent.getWorldRotation(B),i.Quat.conjugate(B,B),i.Quat.mul(B,B,t)):i.Quat.copy(B,t),i.Trs.fromRotation(this._trs,B),this.setLocalDirty(H.ALL_ROTATION)},getWorldScale:function(t){i.Trs.toScale(x,this._trs),i.Vec3.copy(t,x);for(var e=this._parent;e;)i.Trs.toScale(x,e._trs),i.Vec3.mul(t,t,x),e=e._parent;return t},setWorldScale:function(t){this._parent?(this._parent.getWorldScale(b),i.Vec3.div(b,t,b)):i.Vec3.copy(b,t),i.Trs.fromScale(this._trs,b),this.setLocalDirty(H.ALL_SCALE)},getWorldRT:function(t){var e=S,n=w,r=this._trs;i.Trs.toPosition(e,r),i.Trs.toRotation(n,r);for(var s=this._parent;s;)r=s._trs,i.Trs.toScale(R,r),i.Vec3.mul(e,e,R),i.Trs.toRotation(I,r),i.Vec3.transformQuat(e,e,I),i.Trs.toPosition(R,r),i.Vec3.add(e,e,R),i.Quat.mul(n,I,n),s=s._parent;return i.Mat4.fromRT(t,n,e),t},lookAt:function(t,e){this.getWorldPosition(M),i.Vec3.sub(M,M,t),i.Vec3.normalize(M,M),i.Quat.fromViewUp(O,M,e),this.setWorldRotation(O)},_updateLocalMatrix:ut,_calculWorldMatrix:function(){this._localMatDirty&H.TRSS&&this._updateLocalMatrix();var t=this._parent;t?this._mulMat(this._worldMatrix,t._worldMatrix,this._matrix):i.Mat4.copy(this._worldMatrix,this._matrix),this._worldMatDirty=!1},_mulMat:_t,_updateWorldMatrix:function(){if(this._parent&&this._parent._updateWorldMatrix(),this._worldMatDirty){this._calculWorldMatrix();for(var t=this._children,e=0,i=t.length;e1){for(var n,r,s=1,a=t.length;s0&&(r=t[o-1])._localZOrder>n._localZOrder;o--)t[o]=r;t[o]=n}this.emit(W.CHILD_REORDER,this)}cc.director.__fastOff(cc.Director.EVENT_AFTER_UPDATE,this.sortAllChildren,this)}},_delaySort:function(){this._reorderChildDirty||(this._reorderChildDirty=!0,cc.director.__fastOn(cc.Director.EVENT_AFTER_UPDATE,this.sortAllChildren,this))},_restoreProperties:!1,onRestore:!1},pt=cc.Class(dt),vt=pt.prototype;l.getset(vt,"position",vt.getPosition,vt.setPosition,!1,!0),cc.Node=e.exports=pt}),{"./event-manager":130,"./event/event":133,"./event/event-target":132,"./platform/CCMacro":154,"./platform/js":170,"./renderer/render-flow":181,"./utils/affine-transform":215,"./utils/base-node":216,"./utils/prefab-helper":226,"./utils/trans-pool":232,"./value-types":238,"./value-types/utils":245}],26:[(function(t,e){"use strict";var i=t("./CCNode"),n=t("./renderer/render-flow"),r=(cc.Object.Flags.HideInHierarchy,i._LocalDirtyFlag),s=cc.Class({name:"cc.PrivateNode",extends:i,properties:{x:{get:function(){return this._originPos.x},set:function(t){var e=this._originPos;t!==e.x&&(e.x=t,this._posDirty(!0))},override:!0},y:{get:function(){return this._originPos.y},set:function(t){var e=this._originPos;t!==e.y&&(e.y=t,this._posDirty(!0))},override:!0},zIndex:{get:function(){return cc.macro.MIN_ZINDEX},set:function(){},override:!0},showInEditor:{default:!1,editorOnly:!0,override:!0}},ctor:function(){this._localZOrder=cc.macro.MIN_ZINDEX<<16,this._originPos=cc.v2()},_posDirty:function(t){this.setLocalDirty(r.POSITION),this._renderFlag|=n.FLAG_TRANSFORM,!0===t&&1&this._eventMask&&this.emit(i.EventType.POSITION_CHANGED)},_updateLocalMatrix:function(){if(this._localMatDirty){var t=this.parent;t&&(this._trs[0]=this._originPos.x-(t._anchorPoint.x-.5)*t._contentSize.width,this._trs[1]=this._originPos.y-(t._anchorPoint.y-.5)*t._contentSize.height),this._super()}},getPosition:function(){return new cc.Vec2(this._originPos)},setPosition:function(t,e){void 0===e&&(e=(t=t.x).y);var i=this._originPos;i.x===t&&i.y===e||(i.x=t,i.y=e,this._posDirty(!0))},setParent:function(t){var e=this._parent;this._super(t),e!==t&&(e&&e.off(i.EventType.ANCHOR_CHANGED,this._posDirty,this),t&&t.on(i.EventType.ANCHOR_CHANGED,this._posDirty,this))},_updateOrderOfArrival:function(){}}),a=s.prototype;cc.js.getset(a,"parent",a.getParent,a.setParent),cc.js.getset(a,"position",a.getPosition,a.setPosition),cc.PrivateNode=e.exports=s}),{"./CCNode":25,"./renderer/render-flow":181}],27:[(function(t,e){"use strict";cc.Scene=cc.Class({name:"cc.Scene",extends:t("./CCNode"),properties:{_is3DNode:{default:!0,override:!0},autoReleaseAssets:!1},ctor:function(){this._anchorPoint.x=0,this._anchorPoint.y=0,this._activeInHierarchy=!1,this._inited=!cc.game._isCloning,this.dependAssets=null},destroy:function(){if(cc.Object.prototype.destroy.call(this))for(var t=this._children,e=0;e0,this._repeat=r,this._runForever=this._repeat===cc.macro.REPEAT_FOREVER,!0},h.getInterval=function(){return this._interval},h.setInterval=function(t){this._interval=t},h.update=function(t){-1===this._elapsed?(this._elapsed=0,this._timesExecuted=0):(this._elapsed+=t,this._runForever&&!this._useDelay?this._elapsed>=this._interval&&(this.trigger(),this._elapsed=0):(this._useDelay?this._elapsed>=this._delay&&(this.trigger(),this._elapsed-=this._delay,this._timesExecuted+=1,this._useDelay=!1):this._elapsed>=this._interval&&(this.trigger(),this._elapsed=0,this._timesExecuted+=1),this._callback&&!this._runForever&&this._timesExecuted>this._repeat&&this.cancel()))},h.getCallback=function(){return this._callback},h.trigger=function(){this._target&&this._callback&&(this._lock=!0,this._callback.call(this._target,this._elapsed),this._lock=!1)},h.cancel=function(){this._scheduler.unschedule(this._callback,this._target)};var _=[];l.get=function(){return _.pop()||new l},l.put=function(t){_.length<20&&!t._lock&&(t._scheduler=t._target=t._callback=null,_.push(t))},cc.Scheduler=function(){this._timeScale=1,this._updatesNegList=[],this._updates0List=[],this._updatesPosList=[],this._hashForUpdates=i.createMap(!0),this._hashForTimers=i.createMap(!0),this._currentTarget=null,this._currentTargetSalvaged=!1,this._updateHashLocked=!1,this._arrayForTimers=[]},cc.Scheduler.prototype={constructor:cc.Scheduler,_removeHashElement:function(t){delete this._hashForTimers[t.target._id];for(var e=this._arrayForTimers,i=0,n=e.length;i=s&&n.timerIndex--,void(0===r.length&&(this._currentTarget===n?this._currentTargetSalvaged=!0:this._removeHashElement(n)))}}},unscheduleUpdate:function(t){if(t){var e=t._id;e||(t.__instanceId?(cc.warnID(1513),e=t._id=t.__instanceId):cc.errorID(1510));var i=this._hashForUpdates[e];i&&(this._updateHashLocked?i.entry.markedForDeletion=!0:this._removeUpdateFromHash(i.entry))}},unscheduleAllForTarget:function(t){if(t){var e=t._id;e||(t.__instanceId?(cc.warnID(1513),e=t._id=t.__instanceId):cc.errorID(1510));var i=this._hashForTimers[e];if(i){var n=i.timers;n.indexOf(i.currentTimer)>-1&&!i.currentTimerSalvaged&&(i.currentTimerSalvaged=!0);for(var r=0,s=n.length;r=0;e--)i=r[e],this.unscheduleAllForTarget(i.target);var s=0;if(t<0)for(e=0;e=t&&this.unscheduleUpdate(n.target),s==this._updatesNegList.length&&e++;if(t<=0)for(e=0;e=t&&this.unscheduleUpdate(n.target),s==this._updatesPosList.length&&e++},isScheduled:function(t,e){cc.assertID(t,1508),cc.assertID(e,1509);var i=e._id;i||(e.__instanceId?(cc.warnID(1513),i=e._id=e.__instanceId):cc.errorID(1510));var n=this._hashForTimers[i];if(!n)return!1;if(null==n.timers)return!1;for(var r=n.timers,s=0;s=t&&(r.paused=!0,s.push(r.target));if(t<=0)for(i=0;i=t&&(r.paused=!0,s.push(r.target));return s},resumeTargets:function(t){if(t)for(var e=0;e1?n:n[0]}},cc.AssetManager=P,cc.assetManager=new P,Object.defineProperty(cc,"resources",{get:function(){return D.get(L.RESOURCES)}}),e.exports=cc.assetManager}),{"./builtins":30,"./bundle":31,"./cache":32,"./depend-util":34,"./downloader":41,"./factory":42,"./fetch":43,"./helper":45,"./load":47,"./pack-manager":48,"./parser":49,"./pipeline":50,"./preprocess":51,"./releaseManager":52,"./request-item":53,"./shared":54,"./task":55,"./urlTransformer":56,"./utilities":57}],30:[(function(t,e){"use strict";var i=t("./cache"),n=t("./releaseManager"),r=t("./shared").BuiltinBundleName,s={_assets:new i({material:new i,effect:new i}),_loadBuiltins:function(t,e){var i=t+"s",n=this._assets.get(t);return cc.assetManager.internal.loadDir(i,null,null,(function(t,i){if(t)cc.error(t.message,t.stack);else for(var r=0;re.length)||47===t.charCodeAt(e.length)}return this.paths.forEach((function(n,r){if(r.startsWith(t)&&a(r,t)||!t)for(var o=0,c=n.length;o1){var f=Object.create(null);n.forEach((function(t){f[t._uuid]=t})),r={isCompleted:l,_map:f}}else r=n[0]}i&&i(e,r)}))},getXMLHttpRequest:function(){return new XMLHttpRequest},_parseLoadResArgs:i.parseLoadResArgs,getItem:function(t){return cc.assetManager.assets.has(t)?{content:cc.assetManager.assets.get(t)}:null},loadRes:function(t,e,i,n){var r=this._parseLoadResArgs(e,i,n),s=(e=r.type,r.onProgress),a=r.onComplete,o=cc.path.extname(t);o&&(t=t.slice(0,-o.length)),cc.resources.load(t,e,s,a)},loadResArray:function(t,e,i,n){var r=this._parseLoadResArgs(e,i,n),s=(e=r.type,r.onProgress),a=r.onComplete;t.forEach((function(e,i){var n=cc.path.extname(e);n&&(t[i]=e.slice(0,-n.length))})),cc.resources.load(t,e,s,a)},loadResDir:function(t,e,i,n){var r=this._parseLoadResArgs(e,i,n),s=(e=r.type,r.onProgress),a=r.onComplete;cc.resources.loadDir(t,e,s,(function(i,n){var r=[];i||(r=cc.resources.getDirWithPath(t,e).map((function(t){return t.path}))),a&&a(i,n,r)}))},getRes:function(t,e){return cc.assetManager.assets.has(t)?cc.assetManager.assets.get(t):cc.resources.get(t,e)},getResCount:function(){return cc.assetManager.assets.count},getDependsRecursively:function(t){return t?n.getDepsRecursively("string"==typeof t?t:t._uuid).concat([t._uuid]):[]},get assetLoader(){},get md5Pipe(){return h},get downloader(){return cc.assetManager.downloader},get loader(){return cc.assetManager.parser},addDownloadHandlers:function(t){var e=Object.create(null);for(var i in t){var n=t[i];e["."+i]=function(t,e,i){n({url:t},i)}}cc.assetManager.downloader.register(e)},addLoadHandlers:function(t){var e=Object.create(null);for(var i in t){var n=t[i];e["."+i]=function(t,e,i){n({content:t},i)}}cc.assetManager.parser.register(e)},flowInDeps:function(){},release:function(t){if(Array.isArray(t))for(var e=0;eN._maxInterval?N._maxInterval:cc.director._deltaTime;t-O>1e3*e&&(M=0,O=t)},P=function t(e,i){for(D=!1,L();R.length>0&&I0&&I0&&(s(P,m,y),D=!0),a.apply(this,arguments)}))}L(),I0){var i=n.create({name:t.name+" dependencies",input:c,progress:f,options:s,onProgress:t.onProgress,onError:n.prototype.recycle,onComplete:function(n){n||(t.output.push.apply(t.output,this.output),i.recycle()),r&&h(t),e(n)}});l.async(i)}else r&&h(t),e()}))}}),{"./pack-manager":48,"./shared":54,"./task":55,"./utilities":57}],44:[(function(t,e){"use strict";var i,n=t("../utils/text-utils"),r=null,s="BES bswy:->@123\u4e01\u3041\u1101",a=Object.create(null),o=-1,c=[],u=3e3,l=(i=void 0,function(){if(void 0===i)if(window.FontFace){var t=/Gecko.*Firefox\/(\d+)/.exec(window.navigator.userAgent),e=/OS X.*Version\/10\..*Safari/.exec(window.navigator.userAgent)&&/Apple/.exec(window.navigator.vendor);i=t?parseInt(t[1],10)>42:!e}else i=!1;return i});function h(){for(var t=!0,e=Date.now(),i=c.length-1;i>=0;i--){var a=c[i],l=a.fontFamilyName;if(e-a.startTime>u)cc.warnID(4933,l),a.onComplete(null,l),c.splice(i,1);else{var h=a.refWidth,_="40px "+l;r.font=_,h!==n.safeMeasureText(r,s,_)?(c.splice(i,1),a.onComplete(null,l)):t=!1}}t&&(clearInterval(o),o=-1)}var _={loadFont:function(t,e,i){var f=_._getFontFamily(t);if(a[f])return i(null,f);if(!r){var d=document.createElement("canvas");d.width=100,d.height=100,r=d.getContext("2d")}var p="40px "+f;r.font=p;var v=n.safeMeasureText(r,s,p),g=document.createElement("style");g.type="text/css";var m="";isNaN(f-0)?m+="@font-face { font-family:"+f+"; src:":m+="@font-face { font-family:'"+f+"'; src:",m+="url('"+t+"');",g.textContent=m+"}",document.body.appendChild(g);var y,T,E,A,C,x,b=document.createElement("div"),S=b.style;if(S.fontFamily=f,b.innerHTML=".",S.position="absolute",S.left="-100px",S.top="-100px",document.body.appendChild(b),l())y=Date.now(),T=f,E=i,A=new Promise(function(t,e){(function i(){Date.now()-y>=u?e():document.fonts.load("40px "+T).then((function(e){e.length>=1?t():setTimeout(i,100)}),(function(){e()}))})()}),C=null,x=new Promise(function(t,e){C=setTimeout(e,u)}),Promise.race([x,A]).then((function(){C&&(clearTimeout(C),C=null),E(null,T)}),(function(){cc.warnID(4933,T),E(null,T)}));else{var R={fontFamilyName:f,refWidth:v,onComplete:i,startTime:Date.now()};c.push(R),-1===o&&(o=setInterval(h,100))}a[f]=g},_getFontFamily:function(t){var e=t.lastIndexOf(".ttf");if(-1===e)return t;var i,n=t.lastIndexOf("/");return-1!==(i=-1===n?t.substring(0,e)+"_LABEL":t.substring(n+1,e)+"_LABEL").indexOf(" ")&&(i='"'+i+'"'),i}};e.exports=_}),{"../utils/text-utils":230}],45:[(function(t,e){"use strict";var i,n=t("./shared").bundles,r={decodeUuid:t("../utils/decode-uuid"),getUuidFromURL:(i=/.*[/\\][0-9a-fA-F]{2}[/\\]([0-9a-fA-F-]{8,})/,function(t){var e=t.match(i);return e?e[1]:""}),getUrlWithUuid:function(t,e){(e=e||Object.create(null)).__isNative__=e.isNative,e.ext=e.nativeExt;var i=n.find((function(e){return e.getAssetInfo(t)}));return i&&(e.bundle=i.name),cc.assetManager._transform(t,e)},isScene:function(t){return t&&(t.constructor===cc.SceneAsset||t instanceof cc.Scene)},normalize:function(t){return t&&(46===t.charCodeAt(0)&&47===t.charCodeAt(1)?t=t.slice(2):47===t.charCodeAt(0)&&(t=t.slice(1))),t}};e.exports=r}),{"../utils/decode-uuid":219,"./shared":54}],46:[(function(t){"use strict";t("./deprecated"),t("./CCAssetManager")}),{"./CCAssetManager":29,"./deprecated":35}],47:[(function(t,e){"use strict";var i=t("./pack-manager"),n=t("./pipeline"),r=t("./parser"),s=t("./utilities"),a=s.getDepends,o=s.cache,c=s.gatherAsset,u=s.setProperties,l=s.forEach,h=s.clear,_=s.checkCircleReference,f=t("./shared"),d=f.assets,p=f.files,v=f.parsed,g=f.pipeline,m=t("./task"),y=new n("loadOneAsset",[function(t,e){var n=t.output=t.input,r=n.options,s=n.isNative,a=n.uuid,o=n.file,c=r.reload;if(o||!c&&!s&&d.has(a))return e();i.load(n,t.options,(function(t,i){n.file=i,e(t)}))},function(t,e){var i=t.output=t.input,n=t.progress,s=t.options.__exclude__,a=i.id,o=i.file,c=i.options;if(i.isNative)r.parse(a,o,i.ext,c,(function(r,s){if(r)return e(r);i.content=s,n.canInvoke&&t.dispatch("progress",++n.finish,n.total,i),p.remove(a),v.remove(a),e()}));else{var u=i.uuid;if(u in s){var l=s[u],h=l.finish,f=l.content,g=l.err,m=l.callbacks;n.canInvoke&&t.dispatch("progress",++n.finish,n.total,i),h||_(u,u,s)?(f&&f.addRef&&f.addRef(),i.content=f,e(g)):m.push({done:e,item:i})}else if(!c.reload&&d.has(u)){var y=d.get(u);c.__asyncLoadAssets__||!y.__asyncLoadAssets__?(i.content=y.addRef(),n.canInvoke&&t.dispatch("progress",++n.finish,n.total,i),e()):T(t,y,e,!1)}else r.parse(a,o,"import",c,(function(i,n){if(i)return e(i);n._uuid=u,T(t,n,e,!0)}))}}]);function T(t,e,i,n){var r=t.input,s=t.progress,c=r.uuid,l=r.id,h=r.options,_=r.config,f=h.__asyncLoadAssets__,d=h.cacheAsset,y=[];e.addRef&&e.addRef(),a(c,e,Object.create(null),y,!1,f,_),s.canInvoke&&t.dispatch("progress",++s.finish,s.total+=y.length,r);var T=t.options.__exclude__[c]={content:e,finish:!1,callbacks:[{done:i,item:r}]},E=m.create({input:y,options:t.options,onProgress:t.onProgress,onError:m.prototype.recycle,progress:s,onComplete:function(t){if(e.decRef&&e.decRef(!1),e.__asyncLoadAssets__=f,T.finish=!0,T.err=t,!t){for(var i=Array.isArray(E.output)?E.output:[E.output],r=Object.create(null),s=0,a=i.length;sthis.pipes.length))return this.pipes.splice(e,0,t),this;cc.warnID(4921)},append:function(t){if("function"==typeof t)return this.pipes.push(t),this},remove:function(t){if("number"==typeof t)return this.pipes.splice(t,1),this},sync:function(t){var e=this.pipes;if(t instanceof i&&0!==e.length){null!=t.output&&(t.input=t.output,t.output=null),t._isFinish=!1;for(var n=0,r=e.length;n0&&h(t)>0)){r.remove(t._uuid);for(var n=i.getDeps(t._uuid),s=0,a=n.length;s0&&this._ref--,!1!==t&&cc.assetManager._releaseManager.tryRelease(this),this},destroy:function(){return this.loaded=!1,this._super()}}),e.exports=cc.Asset}),{"../platform/CCObject":155}],59:[(function(t,e){"use strict";var i=t("./CCAsset"),n=t("../event/event-target"),r=cc.Enum({WEB_AUDIO:0,DOM_AUDIO:1}),s=cc.Class({name:"cc.AudioClip",extends:i,mixins:[n],ctor:function(){this._loading=!1,this.loaded=!1,this._audio=null},properties:{duration:0,loadMode:{default:r.WEB_AUDIO,type:r},_nativeAsset:{get:function(){return this._audio},set:function(t){t instanceof cc.AudioClip?this._audio=t._nativeAsset:this._audio=t,this._audio&&(this.loaded=!0,this.emit("load"))},override:!0},_nativeDep:{get:function(){return{uuid:this._uuid,audioLoadMode:this.loadMode,ext:cc.path.extname(this._native),__isNative__:!0}},override:!0}},statics:{LoadMode:r,_loadByUrl:function(t,e){var i=cc.assetManager.assets.get(t);i?e(null,i):cc.assetManager.loadRemote(t,(function(t,i){if(t)return e(t);e(null,i)}))}},_ensureLoaded:function(t){if(this.isValid){if(this.loaded)return t&&t();if(t&&this.once("load",t),!this._loading){this._loading=!0;var e=this;cc.assetManager.postLoadNative(this,(function(){e._loading=!1}))}}},destroy:function(){cc.audioEngine.uncache(this),this._super()}});cc.AudioClip=s,e.exports=s}),{"../event/event-target":132,"./CCAsset":58}],60:[(function(t,e){"use strict";var i=function(){this.u=0,this.v=0,this.w=0,this.h=0,this.offsetX=0,this.offsetY=0,this.textureID=0,this.valid=!1,this.xAdvance=0},n=function(t){this._letterDefinitions={},this._texture=t};n.prototype={constructor:n,addLetterDefinitions:function(t,e){this._letterDefinitions[t]=e},cloneLetterDefinition:function(){var t={};for(var e in this._letterDefinitions){var n=new i;cc.js.mixin(n,this._letterDefinitions[e]),t[e]=n}return t},getTexture:function(){return this._texture},getLetter:function(t){return this._letterDefinitions[t]},getLetterDefinitionForChar:function(t){var e=t.charCodeAt(0);return this._letterDefinitions.hasOwnProperty(e)?this._letterDefinitions[e]:null},clear:function(){this._letterDefinitions={}}};var r=cc.Class({name:"cc.BitmapFont",extends:cc.Font,properties:{fntDataStr:{default:""},spriteFrame:{default:null,type:cc.SpriteFrame},fontSize:{default:-1},_fntConfig:null,_fontDefDictionary:null},onLoad:function(){var t=this.spriteFrame;this._fontDefDictionary||(this._fontDefDictionary=new n,t&&(this._fontDefDictionary._texture=t._texture));var e=this._fntConfig;if(e){var r=e.fontDefDictionary;for(var s in r){var a=new i,o=r[s].rect;a.offsetX=r[s].xOffset,a.offsetY=r[s].yOffset,a.w=o.width,a.h=o.height,a.u=o.x,a.v=o.y,a.textureID=0,a.valid=!0,a.xAdvance=r[s].xAdvance,this._fontDefDictionary.addLetterDefinitions(s,a)}}}});cc.BitmapFont=r,cc.BitmapFont.FontLetterDefinition=i,cc.BitmapFont.FontAtlas=n,e.exports=r}),{}],61:[(function(t,e){"use strict";var i=cc.Class({name:"cc.BufferAsset",extends:cc.Asset,ctor:function(){this._buffer=null},properties:{_nativeAsset:{get:function(){return this._buffer},set:function(t){this._buffer=t.buffer||t},override:!0},buffer:function(){return this._buffer}}});cc.BufferAsset=e.exports=i}),{}],62:[(function(t,e){"use strict";var i=cc.Class({name:"cc.Font",extends:cc.Asset});cc.Font=e.exports=i}),{}],63:[(function(t,e){"use strict";var i=cc.Class({name:"cc.JsonAsset",extends:cc.Asset,properties:{json:null}});e.exports=cc.JsonAsset=i}),{}],64:[(function(t,e){"use strict";var i=cc.Class({name:"cc.LabelAtlas",extends:cc.BitmapFont,onLoad:function(){this.spriteFrame?this._fntConfig?this._super():cc.warnID(9101,this.name):cc.warnID(9100,this.name)}});cc.LabelAtlas=i,e.exports=i}),{}],65:[(function(t,e){"use strict";var i=cc.Enum({AUTO:0,SINGLE_INSTANCE:1,MULTI_INSTANCE:2}),n=cc.Class({name:"cc.Prefab",extends:cc.Asset,ctor:function(){this._createFunction=null,this._instantiatedTimes=0},properties:{data:null,optimizationPolicy:i.AUTO,asyncLoadAssets:!1,readonly:{default:!1,editorOnly:!0}},statics:{OptimizationPolicy:i,OptimizationPolicyThreshold:3},createNode:!1,compileCreateFunction:function(){var e=t("../platform/instantiate-jit");this._createFunction=e.compile(this.data)},_doInstantiate:function(t){return this.data._prefab||cc.warnID(3700),this._createFunction||this.compileCreateFunction(),this._createFunction(t)},_instantiate:function(){var t;return this.optimizationPolicy!==i.SINGLE_INSTANCE&&(this.optimizationPolicy===i.MULTI_INSTANCE||this._instantiatedTimes+1>=n.OptimizationPolicyThreshold)?(t=this._doInstantiate(),this.data._instantiate(t)):t=this.data._instantiate(),++this._instantiatedTimes,t},destroy:function(){this.data&&this.data.destroy(),this._super()}});cc.Prefab=e.exports=n,cc.js.obsolete(cc,"cc._Prefab","Prefab")}),{"../platform/instantiate-jit":168}],66:[(function(t,e){"use strict";var i,n=(i=t("../../renderer/gfx"))&&i.__esModule?i:{default:i},r=t("../renderer"),s=t("./CCTexture2D"),a=cc.Enum({RB_FMT_D24S8:n.default.RB_FMT_D24S8,RB_FMT_S8:n.default.RB_FMT_S8,RB_FMT_D16:n.default.RB_FMT_D16}),o=cc.Class({name:"cc.RenderTexture",extends:s,statics:{DepthStencilFormat:a},ctor:function(){this._framebuffer=null},initWithSize:function(t,e,i){this.width=Math.floor(t||cc.visibleRect.width),this.height=Math.floor(e||cc.visibleRect.height),this._resetUnderlyingMipmaps();var s,a={colors:[this._texture]};this._depthStencilBuffer&&this._depthStencilBuffer.destroy(),i&&(s=new n.default.RenderBuffer(r.device,i,t,e),i===n.default.RB_FMT_D24S8?a.depthStencil=s:i===n.default.RB_FMT_S8?a.stencil=s:i===n.default.RB_FMT_D16&&(a.depth=s)),this._depthStencilBuffer=s,this._framebuffer&&this._framebuffer.destroy(),this._framebuffer=new n.default.FrameBuffer(r.device,t,e,a),this._packable=!1,this.loaded=!0,this.emit("load")},updateSize:function(t,e){this.width=Math.floor(t||cc.visibleRect.width),this.height=Math.floor(e||cc.visibleRect.height),this._resetUnderlyingMipmaps();var i=this._depthStencilBuffer;i&&i.update(this.width,this.height),this._framebuffer._width=t,this._framebuffer._height=e},drawTextureAt:function(t,e,i){t._image&&0!==t._image.width&&this._texture.updateSubImage({x:e,y:i,image:t._image,width:t.width,height:t.height,level:0,flipY:!1,premultiplyAlpha:t._premultiplyAlpha})},readPixels:function(t,e,i,n,r){if(!this._framebuffer||!this._texture)return t;e=e||0,i=i||0;var s=n||this.width,a=r||this.height;t=t||new Uint8Array(s*a*4);var o=cc.game._renderContext,c=o.getParameter(o.FRAMEBUFFER_BINDING);return o.bindFramebuffer(o.FRAMEBUFFER,this._framebuffer.getHandle()),o.readPixels(e,i,s,a,o.RGBA,o.UNSIGNED_BYTE,t),o.bindFramebuffer(o.FRAMEBUFFER,c),t},destroy:function(){this._super(),this._framebuffer&&(this._framebuffer.destroy(),this._framebuffer=null)}});cc.RenderTexture=e.exports=o}),{"../../renderer/gfx":265,"../renderer":180,"./CCTexture2D":73}],67:[(function(t,e){"use strict";var i=cc.Class({name:"cc.SceneAsset",extends:cc.Asset,properties:{scene:null,asyncLoadAssets:void 0}});cc.SceneAsset=i,e.exports=i}),{}],68:[(function(){"use strict";var t=cc.Class({name:"cc.Script",extends:cc.Asset});cc._Script=t;var e=cc.Class({name:"cc.JavaScript",extends:t});cc._JavaScript=e;var i=cc.Class({name:"cc.TypeScript",extends:t});cc._TypeScript=i}),{}],69:[(function(t,e){"use strict";var i=cc.Class({name:"cc.SpriteAtlas",extends:cc.Asset,properties:{_spriteFrames:{default:{}}},getTexture:function(){var t=Object.keys(this._spriteFrames);if(t.length>0){var e=this._spriteFrames[t[0]];return e?e.getTexture():null}return null},getSpriteFrame:function(t){var e=this._spriteFrames[t];return e?(e.name||(e.name=t),e):null},getSpriteFrames:function(){var t=[],e=this._spriteFrames;for(var i in e)t.push(this.getSpriteFrame(i));return t}});cc.SpriteAtlas=i,e.exports=i}),{}],70:[(function(t,e){"use strict";var i=t("../event/event-target"),n=[{u:0,v:0},{u:0,v:0},{u:0,v:0},{u:0,v:0}],r=cc.Class({name:"cc.SpriteFrame",extends:t("../assets/CCAsset"),mixins:[i],properties:{_textureSetter:{set:function(t){t&&this._texture!==t&&this._refreshTexture(t)}},insetTop:{get:function(){return this._capInsets[1]},set:function(t){this._capInsets[1]=t,this._texture&&this._calculateSlicedUV()}},insetBottom:{get:function(){return this._capInsets[3]},set:function(t){this._capInsets[3]=t,this._texture&&this._calculateSlicedUV()}},insetLeft:{get:function(){return this._capInsets[0]},set:function(t){this._capInsets[0]=t,this._texture&&this._calculateSlicedUV()}},insetRight:{get:function(){return this._capInsets[2]},set:function(t){this._capInsets[2]=t,this._texture&&this._calculateSlicedUV()}}},ctor:function(){i.call(this);var t=arguments[0],e=arguments[1],n=arguments[2],r=arguments[3],s=arguments[4];this._rect=null,this.uv=[],this._texture=null,this._original=null,this._offset=null,this._originalSize=null,this._rotated=!1,this._flipX=!1,this._flipY=!1,this.vertices=null,this._capInsets=[0,0,0,0],this.uvSliced=[],void 0!==t&&this.setTexture(t,e,n,r,s)},textureLoaded:function(){return this._texture&&this._texture.loaded},onTextureLoaded:function(t,e){return this.textureLoaded()?(t.call(e),!0):(this.once("load",t,e),this.ensureLoadTexture(),!1)},isRotated:function(){return this._rotated},setRotated:function(t){this._rotated=t,this._texture&&this._calculateUV()},isFlipX:function(){return this._flipX},isFlipY:function(){return this._flipY},setFlipX:function(t){this._flipX=t,this._texture&&this._calculateUV()},setFlipY:function(t){this._flipY=t,this._texture&&this._calculateUV()},getRect:function(){return cc.rect(this._rect)},setRect:function(t){this._rect=t,this._texture&&this._calculateUV()},getOriginalSize:function(){return cc.size(this._originalSize)},setOriginalSize:function(t){this._originalSize?(this._originalSize.width=t.width,this._originalSize.height=t.height):this._originalSize=cc.size(t)},getTexture:function(){return this._texture},_textureLoadedCallback:function(){var t=this._texture;if(t){var e=t.width,i=t.height;this._rect?this._checkRect(this._texture):this._rect=cc.rect(0,0,e,i),this._originalSize||this.setOriginalSize(cc.size(e,i)),this._offset||this.setOffset(cc.v2(0,0)),this._calculateUV(),this.emit("load")}},_refreshTexture:function(t){this._texture=t,t.loaded?this._textureLoadedCallback():t.once("load",this._textureLoadedCallback,this)},getOffset:function(){return cc.v2(this._offset)},setOffset:function(t){this._offset=cc.v2(t)},clone:function(){return new r(this._texture,this.getRect(),this._rotated,this.getOffset(),this.getOriginalSize())},setTexture:function(t,e,i,n,r){if(1!==arguments.length||t!==this._texture){if(this._rect=e||null,n?this.setOffset(n):this._offset=null,r?this.setOriginalSize(r):this._originalSize=null,this._rotated=i||!1,"string"!=typeof t)return t instanceof cc.Texture2D&&this._refreshTexture(t),!0;cc.errorID(3401)}},ensureLoadTexture:function(){this._texture&&(this._texture.loaded||(this._refreshTexture(this._texture),cc.assetManager.postLoadNative(this._texture)))},_checkRect:function(t){var e=this._rect,i=e.x,n=e.y;this._rotated?(i+=e.height,n+=e.width):(i+=e.width,n+=e.height),i>t.width&&cc.errorID(3300,t.nativeUrl+"/"+this.name,i,t.width),n>t.height&&cc.errorID(3400,t.nativeUrl+"/"+this.name,n,t.height)},_flipXY:function(t){if(this._flipX){var e=t[0];t[0]=t[1],t[1]=e,e=t[2],t[2]=t[3],t[3]=e}if(this._flipY){var i=t[0];t[0]=t[2],t[2]=i,i=t[1],t[1]=t[3],t[3]=i}},_calculateSlicedUV:function(){var t=this._rect,e=this._texture.width,i=this._texture.height,r=this._capInsets[0],s=this._capInsets[2],a=t.width-r-s,o=this._capInsets[1],c=this._capInsets[3],u=t.height-o-c,l=this.uvSliced;if(l.length=0,this._rotated){n[0].u=t.x/e,n[1].u=(t.x+c)/e,n[2].u=(t.x+c+u)/e,n[3].u=(t.x+t.height)/e,n[3].v=t.y/i,n[2].v=(t.y+r)/i,n[1].v=(t.y+r+a)/i,n[0].v=(t.y+t.width)/i,this._flipXY(n);for(var h=0;h<4;++h)for(var _=n[h],f=0;f<4;++f){var d=n[3-f];l.push({u:_.u,v:d.v})}}else{n[0].u=t.x/e,n[1].u=(t.x+r)/e,n[2].u=(t.x+r+a)/e,n[3].u=(t.x+t.width)/e,n[3].v=t.y/i,n[2].v=(t.y+o)/i,n[1].v=(t.y+o+u)/i,n[0].v=(t.y+t.height)/i,this._flipXY(n);for(var p=0;p<4;++p)for(var v=n[p],g=0;g<4;++g){var m=n[g];l.push({u:m.u,v:v.v})}}},_setDynamicAtlasFrame:function(t){t&&(this._original={_texture:this._texture,_x:this._rect.x,_y:this._rect.y},this._texture=t.texture,this._rect.x=t.x,this._rect.y=t.y,this._calculateUV())},_resetDynamicAtlasFrame:function(){this._original&&(this._rect.x=this._original._x,this._rect.y=this._original._y,this._texture=this._original._texture,this._original=null,this._texture.loaded?this._calculateUV():this.ensureLoadTexture())},_calculateUV:function(){var t=this._rect,e=this._texture,i=this.uv,n=e.width,r=e.height;if(this._rotated){var s=0===n?0:t.x/n,a=0===n?0:(t.x+t.height)/n,o=0===r?0:(t.y+t.width)/r,c=0===r?0:t.y/r;i[0]=s,i[1]=c,i[2]=s,i[3]=o,i[4]=a,i[5]=c,i[6]=a,i[7]=o}else{var u=0===n?0:t.x/n,l=0===n?0:(t.x+t.width)/n,h=0===r?0:(t.y+t.height)/r,_=0===r?0:t.y/r;i[0]=u,i[1]=h,i[2]=l,i[3]=h,i[4]=u,i[5]=_,i[6]=l,i[7]=_}if(this._flipX){var f=i[0];i[0]=i[2],i[2]=f,f=i[1],i[1]=i[3],i[3]=f,f=i[4],i[4]=i[6],i[6]=f,f=i[5],i[5]=i[7],i[7]=f}if(this._flipY){var d=i[0];i[0]=i[4],i[4]=d,d=i[1],i[1]=i[5],i[5]=d,d=i[2],i[2]=i[6],i[6]=d,d=i[3],i[3]=i[7],i[7]=d}var p=this.vertices;if(p){p.nu.length=0,p.nv.length=0;for(var v=0;v0?this._image=t.images[0]:void 0!==t.image&&(this._image=t.image,t.images||(_.length=0,t.images=_),t.images.push(t.image)),this._texture&&this._texture.update(t),this._hashDirty=!0},initWithElement:function(t){if(t)if(this._image=t,t.complete||t instanceof HTMLCanvasElement)this.handleLoadedTexture();else if(cc.sys.capabilities.imageBitmap&&t instanceof ImageBitmap)this._checkImageBitmap(this.handleLoadedTexture.bind(this));else{var e=this;t.addEventListener("load",(function(){e.handleLoadedTexture()})),t.addEventListener("error",(function(t){cc.warnID(3119,t.message)}))}},initWithData:function(t,e,i,n){var r=d();return r.image=t,r.images=[r.image],r.genMipmaps=this._genMipmaps,r.premultiplyAlpha=this._premultiplyAlpha,r.flipY=this._flipY,r.minFilter=h[this._minFilter],r.magFilter=h[this._magFilter],r.wrapS=this._wrapS,r.wrapT=this._wrapT,r.format=this._getGFXPixelFormat(e),r.width=i,r.height=n,this._texture?this._texture.update(r):this._texture=new s.Texture2D(s.device,r),this.width=i,this.height=n,this._updateFormat(),this._checkPackable(),this.loaded=!0,this.emit("load"),!0},getHtmlElementObj:function(){return this._image},destroy:function(){cc.sys.capabilities.imageBitmap&&this._image instanceof ImageBitmap&&this._image.close&&this._image.close(),this._packable&&cc.dynamicAtlasManager&&cc.dynamicAtlasManager.deleteAtlasTexture(this),this._image=null,this._texture&&this._texture.destroy(),this._super()},getPixelFormat:function(){return this._format},hasPremultipliedAlpha:function(){return this._premultiplyAlpha||!1},isAlphaAtlas:function(){return this._isAlphaAtlas},handleLoadedTexture:function(){if(this._image&&this._image.width&&this._image.height){this.width=this._image.width,this.height=this._image.height;var t=d();t.image=this._image,t.images=[t.image],t.width=this.width,t.height=this.height,t.genMipmaps=this._genMipmaps,t.format=this._getGFXPixelFormat(this._format),t.premultiplyAlpha=this._premultiplyAlpha,t.flipY=this._flipY,t.minFilter=h[this._minFilter],t.magFilter=h[this._magFilter],t.wrapS=this._wrapS,t.wrapT=this._wrapT,this._texture?this._texture.update(t):this._texture=new s.Texture2D(s.device,t),this._updateFormat(),this._checkPackable(),this.loaded=!0,this.emit("load"),cc.macro.CLEANUP_IMAGE_CACHE&&this._cleanupImageCache()}},_cleanupImageCache:function(){this._image instanceof HTMLImageElement?this._clearImage():cc.sys.capabilities.imageBitmap&&this._image instanceof ImageBitmap&&this._image.close&&this._image.close()},description:function(){return""},releaseTexture:function(){this._image=null,this._texture&&this._texture.destroy()},setWrapMode:function(t,e){if(this._wrapS!==t||this._wrapT!==e){var i=d();i.wrapS=t,i.wrapT=e,this.update(i)}},setFilters:function(t,e){if(this._minFilter!==t||this._magFilter!==e){var i=d();i.minFilter=t,i.magFilter=e,this.update(i)}},setFlipY:function(t){if(this._flipY!==t){var e=d();e.flipY=t,e.premultiplyAlpha=this._premultiplyAlpha,this.update(e)}},setPremultiplyAlpha:function(t){if(this._premultiplyAlpha!==t){var e=d();e.flipY=this._flipY,e.premultiplyAlpha=t,this.update(e)}},_updateFormat:function(){this._isAlphaAtlas=this._format===c.RGBA_ETC1||this._format===c.RGB_A_PVRTC_4BPPV1||this._format===c.RGB_A_PVRTC_2BPPV1},_checkPackable:function(){var t=cc.dynamicAtlasManager;if(t)if(this._isCompressed())this._packable=!1;else{var e=this.width,i=this.height;!this._image||e>t.maxFrameSize||i>t.maxFrameSize||this._getHash()!==t.Atlas.DEFAULT_HASH?this._packable=!1:this._image&&this._image instanceof HTMLCanvasElement&&(this._packable=!0)}},_getOpts:function(){var t=d();return t.width=this.width,t.height=this.height,t.genMipmaps=this._genMipmaps,t.format=this._format,t.premultiplyAlpha=this._premultiplyAlpha,t.anisotropy=this._anisotropy,t.flipY=this._flipY,t.minFilter=h[this._minFilter],t.magFilter=h[this._magFilter],t.mipFilter=h[this._mipFilter],t.wrapS=this._wrapS,t.wrapT=this._wrapT,t},_getGFXPixelFormat:function(t){return t===c.RGBA_ETC1?t=c.RGB_ETC1:t===c.RGB_A_PVRTC_4BPPV1?t=c.RGB_PVRTC_4BPPV1:t===c.RGB_A_PVRTC_2BPPV1&&(t=c.RGB_PVRTC_2BPPV1),t},_resetUnderlyingMipmaps:function(t){var e=this._getOpts();e.images=t||[null],this._texture?this._texture.update(e):this._texture=new s.Texture2D(s.device,e)},_serialize:!1,_deserialize:function(t){var e=t.split(","),i=e[0];if(i){var n=p._parseExt(i,this._format);if(n.bestExt)this._setRawAsset(n.bestExt),this._format=n.bestFormat;else{if(!n.defaultExt)throw new Error(cc.debug.getError(3121));this._setRawAsset(n.defaultExt),cc.warnID(3120,n.defaultExt,n.defaultExt)}}8===e.length&&(this._minFilter=parseInt(e[1]),this._magFilter=parseInt(e[2]),this._wrapS=parseInt(e[3]),this._wrapT=parseInt(e[4]),this._premultiplyAlpha=49===e[5].charCodeAt(0),this._genMipmaps=49===e[6].charCodeAt(0),this._packable=49===e[7].charCodeAt(0))},_getHash:function(){if(!this._hashDirty)return this._hash;var t=this._genMipmaps?1:0,e=this._premultiplyAlpha?1:0,i=this._flipY?1:0,n=this._minFilter===l.LINEAR?1:2,r=this._magFilter===l.LINEAR?1:2,s=this._wrapS===u.REPEAT?1:this._wrapS===u.CLAMP_TO_EDGE?2:3,a=this._wrapT===u.REPEAT?1:this._wrapT===u.CLAMP_TO_EDGE?2:3,o=this._format;return this._image,this._hash=Number(""+n+r+o+s+a+t+e+i),this._hashDirty=!1,this._hash},_isCompressed:function(){return this._formatc.RGBA32F},_clearImage:function(){this._image.src=""},_checkImageBitmap:function(t){var e=this,i=this._image,n=this._flipY,r=this._premultiplyAlpha;this._flipY!==i.flipY||this._premultiplyAlpha!==i.premultiplyAlpha?createImageBitmap(i,{imageOrientation:n!==i.flipY?"flipY":"none",premultiplyAlpha:r?"premultiply":"none"}).then((function(s){i.close&&i.close(),s.flipY=n,s.premultiplyAlpha=r,e._image=s,t()}),(function(t){cc.error(t.message)})):t()}});cc.Texture2D=e.exports=p}),{"../../renderer/gfx":265,"../assets/CCAsset":58,"../event/event-target":132,"../platform/CCClass":149,"../platform/id-generater":166,"../renderer":180}],74:[(function(t,e){"use strict";var i=t("./CCAsset"),n=t("../event/event-target"),r=cc.Class({name:"cc.VideoClip",extends:i,mixins:[n]});cc.VideoClip=r,e.exports=r}),{"../event/event-target":132,"./CCAsset":58}],75:[(function(t){"use strict";t("./CCAsset"),t("./CCFont"),t("./CCPrefab"),t("./CCAudioClip"),t("./CCVideoClip"),t("./CCScripts"),t("./CCSceneAsset"),t("./CCSpriteFrame"),t("./CCTexture2D"),t("./CCRenderTexture"),t("./CCTTFFont"),t("./CCSpriteAtlas"),t("./CCBitmapFont"),t("./CCLabelAtlas"),t("./CCTextAsset"),t("./CCJsonAsset"),t("./CCBufferAsset"),t("./material")}),{"./CCAsset":58,"./CCAudioClip":59,"./CCBitmapFont":60,"./CCBufferAsset":61,"./CCFont":62,"./CCJsonAsset":63,"./CCLabelAtlas":64,"./CCPrefab":65,"./CCRenderTexture":66,"./CCSceneAsset":67,"./CCScripts":68,"./CCSpriteAtlas":69,"./CCSpriteFrame":70,"./CCTTFFont":71,"./CCTextAsset":72,"./CCTexture2D":73,"./CCVideoClip":74,"./material":82}],76:[(function(t,e){"use strict";var i,n=(i=t("../CCAsset"))&&i.__esModule?i:{default:i},r=t("./effect-parser"),s=cc.Class({name:"cc.EffectAsset",extends:n.default,ctor:function(){this._effect=null},properties:{properties:Object,techniques:[],shaders:[]},onLoad:function(){if(cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS){for(var t=cc.renderer._forward._programLib,e=0;e=i.length)){var n=0,r=i.length;void 0!==e&&(n=e,r=e+1);for(var s=n;s=i.length)){var n=0,r=i.length;void 0!==e&&(n=e,r=e+1);for(var s=n;s=this._techniques.length?cc.warn("Can not switch to technique with index ["+t+"]"):this._technique=this._techniques[t]},c.clear=function(){this._techniques=[]},c.clone=function(){for(var t=[],e=0;ethis.maxSize||(this._clean(t),e[i][r].push(t),this.count++)}},s.clear=function(){this._pool={},this.count=0},s._clean=function(t){t._owner=null},r}(r.default));r.default.register("material",o);var c=o;i.default=c,e.exports=i.default}),{"../../utils/pool":225,"./utils":85}],84:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=o(t("./CCMaterial")),s=o(t("./effect-variant")),a=o(t("./material-pool"));function o(t){return t&&t.__esModule?t:{default:t}}function c(t,e){for(var i=0;i0},render:function(t){if(!(t=t||cc.director.getScene()))return null;this.node.getWorldMatrix(u),this.beforeDraw(),a.renderCamera(this._camera,t)},_onAlignWithScreen:function(){var t=cc.game.canvas.height/cc.view._scaleY;this._targetTexture&&(t=cc.visibleRect.height);var e=this._fov*cc.macro.RAD;this.node.z=t/(2*Math.tan(e/2)),e=2*Math.atan(Math.tan(e/2)/this.zoomRatio),this._camera.setFov(e),this._camera.setOrthoHeight(t/2/this.zoomRatio),this.node.setRotation(0,0,0,1)},beforeDraw:function(){if(this._camera){if(this._alignWithScreen)this._onAlignWithScreen();else{var t=this._fov*cc.macro.RAD;t=2*Math.atan(Math.tan(t/2)/this.zoomRatio),this._camera.setFov(t),this._camera.setOrthoHeight(this._orthoSize/this.zoomRatio)}this._camera.dirty=!0}}});cc.js.mixin(T.prototype,{getNodeToCameraTransform:function(t){var e=r.identity();return t.getWorldMatrix(l),this.containsNode(t)&&(this.getWorldToCameraMatrix(u),i.Mat4.mul(l,l,u)),r.fromMat4(e,l),e},getCameraToWorldPoint:function(t,e){return this.getScreenToWorldPoint(t,e)},getWorldToCameraPoint:function(t,e){return this.getWorldToScreenPoint(t,e)},getCameraToWorldMatrix:function(t){return this.getScreenToWorldMatrix2D(t)},getWorldToCameraMatrix:function(t){return this.getWorldToScreenMatrix2D(t)}}),e.exports=cc.Camera=T}),{"../../renderer/scene/camera":285,"../CCGame":24,"../geom-utils":void 0,"../renderer/index":180,"../renderer/render-flow":181,"../utils/affine-transform":215,"../value-types":238}],88:[(function(t,e){"use strict";cc.Collider.Box=cc.Class({properties:{_offset:cc.v2(0,0),_size:cc.size(100,100),offset:{tooltip:!1,get:function(){return this._offset},set:function(t){this._offset=t},type:cc.Vec2},size:{tooltip:!1,get:function(){return this._size},set:function(t){this._size.width=t.width<0?0:t.width,this._size.height=t.height<0?0:t.height},type:cc.Size}},resetInEditor:!1});var i=cc.Class({name:"cc.BoxCollider",extends:cc.Collider,mixins:[cc.Collider.Box],editor:!1});cc.BoxCollider=e.exports=i}),{}],89:[(function(t,e){"use strict";cc.Collider.Circle=cc.Class({properties:{_offset:cc.v2(0,0),_radius:50,offset:{tooltip:!1,get:function(){return this._offset},set:function(t){this._offset=t},type:cc.Vec2},radius:{tooltip:!1,get:function(){return this._radius},set:function(t){this._radius=t<0?0:t}}},resetInEditor:!1});var i=cc.Class({name:"cc.CircleCollider",extends:cc.Collider,mixins:[cc.Collider.Circle],editor:!1});cc.CircleCollider=e.exports=i}),{}],90:[(function(t,e){"use strict";var i=cc.Class({name:"cc.Collider",extends:cc.Component,properties:{editing:{default:!1,serializable:!1,tooltip:!1},tag:{tooltip:!1,default:0,range:[0,1e7],type:cc.Integer}},onDisable:function(){cc.director.getCollisionManager().removeCollider(this)},onEnable:function(){cc.director.getCollisionManager().addCollider(this)}});cc.Collider=e.exports=i}),{}],91:[(function(t,e){"use strict";var i,n=(i=t("../value-types/vec2"))&&i.__esModule?i:{default:i},r=t("./CCContact"),s=r.CollisionType,a=t("../CCNode").EventType,o=new n.default;function c(t,e,i,n,r,s){var a=t.x,o=t.y,c=t.width,u=t.height,l=e.m,h=l[0],_=l[1],f=l[4],d=l[5],p=h*a+f*o+l[12],v=_*a+d*o+l[13],g=h*c,m=_*c,y=f*u,T=d*u;n.x=p,n.y=v,r.x=g+p,r.y=m+v,i.x=y+p,i.y=T+v,s.x=g+y+p,s.y=m+T+v}var u=cc.Class({mixins:[cc.EventTarget],properties:{enabled:!1,enabledDrawBoundingBox:!1},ctor:function(){this._contacts=[],this._colliders=[],this._debugDrawer=null,this._enabledDebugDraw=!1,cc.director._scheduler&&cc.director._scheduler.enableForTarget(this)},update:function(){if(this.enabled){var t,e,i=this._colliders;for(t=0,e=i.length;tR&&(R=O),Ow&&(w=D),D=0){e.splice(i,1);for(var n=this._contacts,r=n.length-1;r>=0;r--){var o=n[r];o.collider1!==t&&o.collider2!==t||(o.touching&&this._doCollide(s.CollisionExit,o),n.splice(r,1))}t.node.off(a.GROUP_CHANGED,this.onNodeGroupChanged,this)}else cc.errorID(6600)},onNodeGroupChanged:function(t){for(var e=t.getComponents(cc.Collider),i=0,n=e.length;i0){t.moveTo(s[0].x,s[0].y);for(var a=1;a>>1;r<=s;a=r+s>>>1){var o=t[a],c=o.constructor._executionOrder;if(c>i)s=a-1;else if(cn)s=a-1;else{if(!(u0&&(t.array.sort(u),this._invoke(t),t.array.length=0),this._invoke(this._zero),this._zero.array.length=0;var e=this._pos;e.array.length>0&&(e.array.sort(u),this._invoke(e),e.array.length=0)}}),h=cc.Class({extends:c,add:function(t){var e=t.constructor._executionOrder;if(0===e)this._zero.array.push(t);else{var i=e<0?this._neg.array:this._pos.array,n=a(i,t);n<0&&i.splice(~n,0,t)}},remove:function(t){var e=t.constructor._executionOrder;if(0===e)this._zero.fastRemove(t);else{var i=e<0?this._neg:this._pos,n=a(i.array,t);n>=0&&i.removeAt(n)}},invoke:function(t){this._neg.array.length>0&&this._invoke(this._neg,t),this._invoke(this._zero,t),this._pos.array.length>0&&this._invoke(this._pos,t)}});function _(t,e,i,n){var r="var a=it.array;for(it.i=0;it.i=0?n.fastRemoveAt(this._deferredComps,e):(!t.start||t._objFlags&r||this.startInvoker.remove(t),t.update&&this.updateInvoker.remove(t),t.lateUpdate&&this.lateUpdateInvoker.remove(t))},enableComp:function(t,e){if(!(t._objFlags&s)){if(t.onEnable){if(e)return void e.add(t);if(t.onEnable(),!t.node._activeInHierarchy)return}this._onEnabled(t)}},disableComp:function(t){t._objFlags&s&&(t.onDisable&&t.onDisable(),this._onDisabled(t))},_scheduleImmediate:function(t){"function"!=typeof t.start||t._objFlags&r||this.startInvoker.add(t),"function"==typeof t.update&&this.updateInvoker.add(t),"function"==typeof t.lateUpdate&&this.lateUpdateInvoker.add(t)},_deferredSchedule:function(){for(var t=this._deferredComps,e=0,i=t.length;e0&&(this._deferredSchedule(),this.startInvoker.invoke())},startPhase:function(){this._updating=!0,this.startInvoker.invoke(),this._startForNewComps()},updatePhase:function(t){this.updateInvoker.invoke(t)},lateUpdatePhase:function(t){this.lateUpdateInvoker.invoke(t),this._updating=!1,this._startForNewComps()}});e.exports=g}),{"./platform/CCClass":149,"./platform/CCObject":155,"./platform/js":170,"./utils/misc":223}],96:[(function(t,e){"use strict";var i=t("../../animation/animation-animator"),n=t("../../animation/animation-clip"),r=t("../event/event-target"),s=t("../platform/js"),a=function(t,e){return t===e},o=cc.Enum({PLAY:"play",STOP:"stop",PAUSE:"pause",RESUME:"resume",LASTFRAME:"lastframe",FINISHED:"finished"}),c=cc.Class({name:"cc.Animation",extends:t("./CCComponent"),mixins:[r],editor:!1,statics:{EventType:o},ctor:function(){cc.EventTarget.call(this),this._animator=null,this._nameToState=s.createMap(!0),this._didInit=!1,this._currentClip=null},properties:{_defaultClip:{default:null,type:n},defaultClip:{type:n,get:function(){return this._defaultClip},set:function(){},tooltip:!1},currentClip:{get:function(){return this._currentClip},set:function(t){this._currentClip=t},type:n,visible:!1},_writableClips:{get:function(){return this._clips},set:function(t){this._didInit=!1,this._clips=t,this._init()},type:[n]},_clips:{default:[],type:[n],tooltip:!1,visible:!0},playOnLoad:{default:!1,tooltip:!1}},start:function(){if(this.playOnLoad&&this._defaultClip&&(!this._animator||!this._animator.isPlaying)){var t=this.getAnimationState(this._defaultClip.name);this._animator.playState(t)}},onEnable:function(){this._animator&&this._animator.resume()},onDisable:function(){this._animator&&this._animator.pause()},onDestroy:function(){this.stop()},getClips:function(){return this._clips},play:function(t,e){var i=this.playAdditive(t,e);return this._animator.stopStatesExcept(i),i},playAdditive:function(t,e){this._init();var i=this.getAnimationState(t||this._defaultClip&&this._defaultClip.name);if(i){this.enabled=!0;var n=this._animator;n.isPlaying&&i.isPlaying?i.isPaused?n.resumeState(i):(n.stopState(i),n.playState(i,e)):n.playState(i,e),this.enabledInHierarchy||n.pause(),this.currentClip=i.clip}return i},stop:function(t){if(this._didInit)if(t){var e=this._nameToState[t];e&&this._animator.stopState(e)}else this._animator.stop()},pause:function(t){if(this._didInit)if(t){var e=this._nameToState[t];e&&this._animator.pauseState(e)}else this.enabled=!1},resume:function(t){if(this._didInit)if(t){var e=this.getAnimationState(t);e&&this._animator.resumeState(e)}else this.enabled=!0},setCurrentTime:function(t,e){if(this._init(),e){var i=this.getAnimationState(e);i&&this._animator.setStateTime(i,t)}else this._animator.setStateTime(t)},getAnimationState:function(t){this._init();var e=this._nameToState[t];return e&&!e.curveLoaded&&this._animator._reloadClip(e),e||null},hasAnimationState:function(t){return this._init(),!!this._nameToState[t]},addClip:function(t,e){if(t){this._init(),cc.js.array.contains(this._clips,t)||this._clips.push(t),e=e||t.name;var i=this._nameToState[e];if(i){if(i.clip===t)return i;var n=this._clips.indexOf(i.clip);-1!==n&&this._clips.splice(n,1)}var r=new cc.AnimationState(t,e);return this._nameToState[e]=r,r}cc.warnID(3900)},removeClip:function(t,e){if(t){var i;for(var n in this._init(),this._nameToState)if(i=this._nameToState[n],a(i.clip,t))break;if(t===this._defaultClip){if(!e)return void cc.warnID(3902);this._defaultClip=null}if(i&&i.isPlaying){if(!e)return void cc.warnID(3903);this.stop(i.name)}this._clips=this._clips.filter((function(e){return!a(e,t)})),i&&delete this._nameToState[i.name]}else cc.warnID(3901)},sample:function(t){if(this._init(),t){var e=this.getAnimationState(t);e&&e.sample()}else this._animator.sample()},on:function(t,e,i,n){this._init();var r=this._EventTargetOn(t,e,i,n);if("lastframe"===t){var s=this._nameToState;for(var a in s)s[a]._lastframeEventOn=!0}return r},off:function(t,e,i,n){if(this._init(),"lastframe"===t){var r=this._nameToState;for(var s in r)r[s]._lastframeEventOn=!1}this._EventTargetOff(t,e,i,n)},_init:function(){this._didInit||(this._didInit=!0,this._animator=new i(this.node,this),this._createStates())},_createStates:function(){this._nameToState=s.createMap(!0);for(var t=null,e=!1,i=0;i0&&(i=this.time/this.duration),i>=1&&(i=1),this.transition===r.COLOR){var n=this._fromColor.lerp(this._toColor,i);this._setTargetColor(n)}else this.transition===r.SCALE&&this._originalScale&&(e.scale=this._fromScale.lerp(this._toScale,i));1===i&&(this._transitionFinished=!0)}},_registerNodeEvent:function(){this.node.on(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this),this.node.on(cc.Node.EventType.TOUCH_MOVE,this._onTouchMove,this),this.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.on(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancel,this),this.node.on(cc.Node.EventType.MOUSE_ENTER,this._onMouseMoveIn,this),this.node.on(cc.Node.EventType.MOUSE_LEAVE,this._onMouseMoveOut,this)},_unregisterNodeEvent:function(){this.node.off(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this),this.node.off(cc.Node.EventType.TOUCH_MOVE,this._onTouchMove,this),this.node.off(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.off(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancel,this),this.node.off(cc.Node.EventType.MOUSE_ENTER,this._onMouseMoveIn,this),this.node.off(cc.Node.EventType.MOUSE_LEAVE,this._onMouseMoveOut,this)},_registerTargetEvent:function(t){t.on(cc.Node.EventType.SCALE_CHANGED,this._onTargetScaleChanged,this)},_unregisterTargetEvent:function(t){t.off(cc.Node.EventType.SCALE_CHANGED,this._onTargetScaleChanged,this)},_getTargetSprite:function(t){var e=null;return t&&(e=t.getComponent(cc.Sprite)),e},_applyTarget:function(){var t=this._getTarget();this._sprite=this._getTargetSprite(t),this._originalScale||(this._originalScale=cc.Vec2.ZERO),this._originalScale.x=t.scaleX,this._originalScale.y=t.scaleY,this._registerTargetEvent(t)},_onTouchBegan:function(t){this.interactable&&this.enabledInHierarchy&&(this._pressed=!0,this._updateState(),t.stopPropagation())},_onTouchMove:function(t){if(this.interactable&&this.enabledInHierarchy&&this._pressed){var e,i=t.touch,n=this.node._hitTest(i.getLocation()),a=this._getTarget(),o=this._originalScale;this.transition===r.SCALE&&o?n?(this._fromScale.x=o.x,this._fromScale.y=o.y,this._toScale.x=o.x*this.zoomScale,this._toScale.y=o.y*this.zoomScale,this._transitionFinished=!1):(this.time=0,this._transitionFinished=!0,a.setScale(o.x,o.y)):(e=n?s.PRESSED:s.NORMAL,this._applyTransition(e)),t.stopPropagation()}},_onTouchEnded:function(t){this.interactable&&this.enabledInHierarchy&&(this._pressed&&(cc.Component.EventHandler.emitEvents(this.clickEvents,t),this.node.emit("click",this)),this._pressed=!1,this._updateState(),t.stopPropagation())},_onTouchCancel:function(){this.interactable&&this.enabledInHierarchy&&(this._pressed=!1,this._updateState())},_onMouseMoveIn:function(){!this._pressed&&this.interactable&&this.enabledInHierarchy&&(this.transition!==r.SPRITE||this.hoverSprite)&&(this._hovered||(this._hovered=!0,this._updateState()))},_onMouseMoveOut:function(){this._hovered&&(this._hovered=!1,this._updateState())},_updateState:function(){var t=this._getButtonState();this._applyTransition(t),this._updateDisabledState()},_getButtonState:function(){return this.interactable?this._pressed?s.PRESSED:this._hovered?s.HOVER:s.NORMAL:s.DISABLED},_updateColorTransitionImmediately:function(t){var e=this._getStateColor(t);this._setTargetColor(e),this._fromColor=e.clone(),this._toColor=e},_updateColorTransition:function(t){if(t===s.DISABLED)this._updateColorTransitionImmediately(t);else{var e=this._getTarget(),i=this._getStateColor(t);this._fromColor=e.color.clone(),this._toColor=i,this.time=0,this._transitionFinished=!1}},_updateSpriteTransition:function(t){var e=this._getStateSprite(t);this._sprite&&e&&(this._sprite.spriteFrame=e)},_updateScaleTransition:function(t){t===s.PRESSED?this._zoomUp():this._zoomBack()},_zoomUp:function(){this._originalScale&&(this._fromScale.x=this._originalScale.x,this._fromScale.y=this._originalScale.y,this._toScale.x=this._originalScale.x*this.zoomScale,this._toScale.y=this._originalScale.y*this.zoomScale,this.time=0,this._transitionFinished=!1)},_zoomBack:function(){if(this._originalScale){var t=this._getTarget();this._fromScale.x=t.scaleX,this._fromScale.y=t.scaleY,this._toScale.x=this._originalScale.x,this._toScale.y=this._originalScale.y,this.time=0,this._transitionFinished=!1}},_updateTransition:function(t){t===r.COLOR?this._updateColorTransitionImmediately(s.NORMAL):t===r.SPRITE&&this._updateSpriteTransition(s.NORMAL),this._updateState()},_applyTransition:function(t){var e=this.transition;e===r.COLOR?this._updateColorTransition(t):e===r.SPRITE?this._updateSpriteTransition(t):e===r.SCALE&&this._updateScaleTransition(t)},_resizeNodeToTargetNode:!1,_updateDisabledState:function(t){if(this._sprite&&(this.enableAutoGrayEffect||t)){var e=!1;this.transition===r.SPRITE&&this.disabledSprite||(e=this.enableAutoGrayEffect&&!this.interactable),this._switchGrayMaterial(e,this._sprite)}}});cc.Button=e.exports=a}),{"../utils/gray-sprite-state":221,"./CCComponent":101}],100:[(function(t,e){"use strict";var i=t("../camera/CCCamera"),n=t("./CCComponent"),r=cc.Class({name:"cc.Canvas",extends:n,editor:!1,resetInEditor:!1,statics:{instance:null},properties:{_designResolution:cc.size(960,640),designResolution:{get:function(){return cc.size(this._designResolution)},set:function(t){this._designResolution.width=t.width,this._designResolution.height=t.height,this.applySettings()},tooltip:!1},_fitWidth:!1,_fitHeight:!0,fitHeight:{get:function(){return this._fitHeight},set:function(t){this._fitHeight!==t&&(this._fitHeight=t,this.applySettings())},tooltip:!1},fitWidth:{get:function(){return this._fitWidth},set:function(t){this._fitWidth!==t&&(this._fitWidth=t,this.applySettings())},tooltip:!1}},_fitDesignResolution:!1,__preload:function(){if(r.instance)return cc.warnID(6700,this.node.name,r.instance.node.name);r.instance=this,this.applySettings();var t=this.getComponent(cc.Widget);t&&t.updateAlignment()},start:function(){if(!i.main&&cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS){var t=new cc.Node("Main Camera");t.parent=this.node,t.setSiblingIndex(0);var e=t.addComponent(i),n=i.ClearFlags;e.clearFlags=n.COLOR|n.DEPTH|n.STENCIL,e.depth=-1}},onDestroy:function(){r.instance===this&&(r.instance=null)},applySettings:function(){var t,e=cc.ResolutionPolicy;t=this.fitHeight&&this.fitWidth?e.SHOW_ALL:this.fitHeight||this.fitWidth?this.fitWidth?e.FIXED_WIDTH:e.FIXED_HEIGHT:e.NO_BORDER;var i=this._designResolution;cc.view.setDesignResolutionSize(i.width,i.height,t)}});cc.Canvas=e.exports=r}),{"../camera/CCCamera":87,"./CCComponent":101}],101:[(function(t,e){"use strict";var i=t("../platform/CCObject"),n=t("../platform/js"),r=new(t("../platform/id-generater"))("Comp"),s=(i.Flags.IsOnEnableCalled,i.Flags.IsOnLoadCalled),a=!!cc.ActionManager,o=cc.Class({name:"cc.Component",extends:i,ctor:function(){this._id=r.getNewId(),this.__eventTargets=[]},properties:{node:{default:null,visible:!1},name:{get:function(){if(this._name)return this._name;var t=cc.js.getClassName(this),e=t.lastIndexOf(".");return e>=0&&(t=t.slice(e+1)),this.node.name+"<"+t+">"},set:function(t){this._name=t},visible:!1},uuid:{get:function(){return this._id},visible:!1},__scriptAsset:!1,_enabled:!0,enabled:{get:function(){return this._enabled},set:function(t){if(this._enabled!==t&&(this._enabled=t,this.node._activeInHierarchy)){var e=cc.director._compScheduler;t?e.enableComp(this):e.disableComp(this)}},visible:!1,animatable:!0},enabledInHierarchy:{get:function(){return this._enabled&&this.node&&this.node._activeInHierarchy},visible:!1},_isOnLoadCalled:{get:function(){return this._objFlags&s}}},update:null,lateUpdate:null,__preload:null,onLoad:null,start:null,onEnable:null,onDisable:null,onDestroy:null,onFocusInEditor:null,onLostFocusInEditor:null,resetInEditor:null,addComponent:function(t){return this.node.addComponent(t)},getComponent:function(t){return this.node.getComponent(t)},getComponents:function(t){return this.node.getComponents(t)},getComponentInChildren:function(t){return this.node.getComponentInChildren(t)},getComponentsInChildren:function(t){return this.node.getComponentsInChildren(t)},_getLocalBounds:null,onRestore:null,destroy:function(){this._super()&&this._enabled&&this.node._activeInHierarchy&&cc.director._compScheduler.disableComp(this)},_onPreDestroy:function(){a&&cc.director.getActionManager().removeAllActionsFromTarget(this),this.unscheduleAllCallbacks();for(var t=this.__eventTargets,e=t.length-1;e>=0;--e){var i=t[e];i&&i.targetOff(this)}t.length=0,cc.director._nodeActivator.destroyComp(this),this.node._removeComponent(this)},_instantiate:function(t){return t||(t=cc.instantiate._clone(this,this)),t.node=null,t},schedule:function(t,e,i,n){cc.assertID(t,1619),e=e||0,cc.assertID(e>=0,1620),i=isNaN(i)?cc.macro.REPEAT_FOREVER:i,n=n||0;var r=cc.director.getScheduler(),s=r.isTargetPaused(this);r.schedule(t,this,e,i,n,s)},scheduleOnce:function(t,e){this.schedule(t,0,0,e)},unschedule:function(t){t&&cc.director.getScheduler().unschedule(t,this)},unscheduleAllCallbacks:function(){cc.director.getScheduler().unscheduleAllForTarget(this)}});o._requireComponent=null,o._executionOrder=0,n.value(o,"_registerEditorProps",(function(t,e){var i=e.requireComponent;i&&(t._requireComponent=i);var n=e.executionOrder;n&&"number"==typeof n&&(t._executionOrder=n)})),o.prototype.__scriptUuid="",cc.Component=e.exports=o}),{"../platform/CCObject":155,"../platform/id-generater":166,"../platform/js":170}],102:[(function(){"use strict";cc.Component.EventHandler=cc.Class({name:"cc.ClickEvent",properties:{target:{default:null,type:cc.Node},component:"",_componentId:"",_componentName:{get:function(){return this._genCompIdIfNeeded(),this._compId2Name(this._componentId)},set:function(t){this._componentId=this._compName2Id(t)}},handler:{default:""},customEventData:{default:""}},statics:{emitEvents:function(t){var e;if(arguments.length>0)for(var i=0,n=(e=new Array(arguments.length-1)).length;ip&&(p=v),w>=p&&(v=p,p=w,y=C.getAnchorPoint().y),this.horizontalDirection===o.RIGHT_TO_LEFT&&(S=1-C.anchorX),f=f+l*S*R+l*this.spacingX;var I=l*(1-S)*R;if(e){var M=f+I+l*(l>0?this.paddingRight:this.paddingLeft),O=this.horizontalDirection===o.LEFT_TO_RIGHT&&M>(1-c.x)*t,D=this.horizontalDirection===o.RIGHT_TO_LEFT&&M<-c.x*t;(O||D)&&(w>=p?(0===v&&(v=p),d+=v,v=p):(d+=p,v=w,p=0),f=_+l*(h+S*R),g++)}var L=i(C,d,g);t>=R+this.paddingLeft+this.paddingRight&&s&&C.setPosition(cc.v2(f,L));var P,N=1,F=0===p?w:p;this.verticalDirection===a.TOP_TO_BOTTOM?(m=m||this.node._contentSize.height,(P=L+(N=-1)*(F*y+this.paddingBottom))m&&(m=P)),f+=I}}return m},_getVerticalBaseHeight:function(t){var e=0,i=0;if(this.resizeMode===r.CONTAINER){for(var n=0;np&&(p=v),R>=p&&(v=p,p=R,y=C.getAnchorPoint().x),this.verticalDirection===a.TOP_TO_BOTTOM&&(S=1-C.anchorY),f=f+l*S*w+l*this.spacingY;var I=l*(1-S)*w;if(e){var M=f+I+l*(l>0?this.paddingTop:this.paddingBottom),O=this.verticalDirection===a.BOTTOM_TO_TOP&&M>(1-c.y)*t,D=this.verticalDirection===a.TOP_TO_BOTTOM&&M<-c.y*t;(O||D)&&(R>=p?(0===v&&(v=p),d+=v,v=p):(d+=p,v=R,p=0),f=_+l*(h+S*w),g++)}var L=i(C,d,g);t>=w+(this.paddingTop+this.paddingBottom)&&s&&C.setPosition(cc.v2(L,f));var P,N=1,F=0===p?R:p;this.horizontalDirection===o.RIGHT_TO_LEFT?(N=-1,m=m||this.node._contentSize.width,(P=L+N*(F*y+this.paddingLeft))m&&(m=P)),f+=I}}return m},_doLayoutBasic:function(){for(var t=this.node.children,e=null,i=0;i0&&this.node.children.find((function(t){return t.activeInHierarchy}))&&(this._doLayout(),this._layoutDirty=!1)}});cc.Layout=e.exports=c}),{"../CCNode":25,"./CCComponent":101}],105:[(function(t,e){"use strict";var i=a(t("../../renderer/gfx")),n=a(t("../value-types/mat4")),r=a(t("../value-types/vec2")),s=a(t("../assets/material/material-variant"));function a(t){return t&&t.__esModule?t:{default:t}}var o=t("../utils/misc"),c=t("./CCRenderComponent"),u=t("../renderer/render-flow"),l=t("../graphics/graphics"),h=new r.default,_=new n.default,f=[];function d(t,e,i){f.length=0;for(var n=2*Math.PI/i,r=0;r=0&&o.y>=0&&o.x<=s&&o.y<=a;else if(this.type===p.ELLIPSE){var u=s/2,l=a/2,f=o.x-.5*s,d=o.y-.5*a;c=f*f/(u*u)+d*d/(l*l)<1}return this.inverted&&(c=!c),c},markForRender:function(t){var e=u.FLAG_RENDER|u.FLAG_UPDATE_RENDER_DATA|u.FLAG_POST_RENDER;t?(this.node._renderFlag|=e,this.markForValidate()):t||(this.node._renderFlag&=~e)},disableRender:function(){this.node._renderFlag&=~(u.FLAG_RENDER|u.FLAG_UPDATE_RENDER_DATA|u.FLAG_POST_RENDER)}});cc.Mask=e.exports=v}),{"../../renderer/gfx":265,"../assets/material/material-variant":84,"../graphics/graphics":138,"../renderer/render-flow":181,"../utils/misc":223,"../value-types/mat4":240,"../value-types/vec2":247,"./CCRenderComponent":110}],106:[(function(t,e){"use strict";var i=t("../components/CCRenderComponent"),n=t("../../core/utils/blend-func"),r=cc.Class({name:"cc.MotionStreak",extends:i,mixins:[n],editor:!1,ctor:function(){this._points=[]},properties:{preview:{default:!1,editorOnly:!0,notify:!1,animatable:!1},_fadeTime:1,fadeTime:{get:function(){return this._fadeTime},set:function(t){this._fadeTime=t,this.reset()},animatable:!1,tooltip:!1},_minSeg:1,minSeg:{get:function(){return this._minSeg},set:function(t){this._minSeg=t},animatable:!1,tooltip:!1},_stroke:64,stroke:{get:function(){return this._stroke},set:function(t){this._stroke=t},animatable:!1,tooltip:!1},_texture:{default:null,type:cc.Texture2D},texture:{get:function(){return this._texture},set:function(t){this._texture!==t&&(this._texture=t,this._updateMaterial())},type:cc.Texture2D,animatable:!1,tooltip:!1},_color:cc.Color.WHITE,color:{get:function(){return this._color.clone()},set:function(t){this._color.equals(t)||this._color.set(t)},type:cc.Color,tooltip:!1},_fastMode:!1,fastMode:{get:function(){return this._fastMode},set:function(t){this._fastMode=t},animatable:!1,tooltip:!1}},onEnable:function(){this._super(),this.reset()},_updateMaterial:function(){var t=this.getMaterial(0);t&&t.setProperty("texture",this._texture),n.prototype._updateMaterial.call(this)},onFocusInEditor:!1,onLostFocusInEditor:!1,reset:function(){this._points.length=0,this._assembler&&this._assembler._renderData.clear()},lateUpdate:function(t){this._assembler&&this._assembler.update(this,t)}});cc.MotionStreak=e.exports=r}),{"../../core/utils/blend-func":218,"../components/CCRenderComponent":110}],107:[(function(t,e){"use strict";var i=cc.Enum({Unified:0,Free:1}),n=cc.Enum({Horizontal:0,Vertical:1}),r=cc.Enum({PAGE_TURNING:0}),s=cc.Class({name:"cc.PageView",extends:cc.ScrollView,editor:!1,ctor:function(){this._curPageIdx=0,this._lastPageIdx=0,this._pages=[],this._initContentPos=cc.v2(),this._scrollCenterOffsetX=[],this._scrollCenterOffsetY=[]},properties:{sizeMode:{default:i.Unified,type:i,tooltip:!1,notify:function(){this._syncSizeMode()}},direction:{default:n.Horizontal,type:n,tooltip:!1,notify:function(){this._syncScrollDirection()}},scrollThreshold:{default:.5,type:cc.Float,slide:!0,range:[0,1,.01],tooltip:!1},autoPageTurningThreshold:{default:100,type:cc.Float,tooltip:!1},pageTurningEventTiming:{default:.1,type:cc.Float,range:[0,1,.01],tooltip:!1},indicator:{default:null,type:cc.PageViewIndicator,tooltip:!1,notify:function(){this.indicator&&this.indicator.setPageView(this)}},pageTurningSpeed:{default:.3,type:cc.Float,tooltip:!1},pageEvents:{default:[],type:cc.Component.EventHandler,tooltip:!1}},statics:{SizeMode:i,Direction:n,EventType:r},onEnable:function(){this._super(),this.node.on(cc.Node.EventType.SIZE_CHANGED,this._updateAllPagesSize,this),this.node.on("scroll-ended-with-threshold",this._dispatchPageTurningEvent,this)},onDisable:function(){this._super(),this.node.off(cc.Node.EventType.SIZE_CHANGED,this._updateAllPagesSize,this),this.node.off("scroll-ended-with-threshold",this._dispatchPageTurningEvent,this)},onLoad:function(){this._initPages(),this.indicator&&this.indicator.setPageView(this)},getCurrentPageIndex:function(){return this._curPageIdx},setCurrentPageIndex:function(t){this.scrollToPage(t,!0)},getPages:function(){return this._pages},addPage:function(t){t&&-1===this._pages.indexOf(t)&&this.content&&(this.content.addChild(t),this._pages.push(t),this._updatePageView())},insertPage:function(t,e){e<0||!t||-1!==this._pages.indexOf(t)||!this.content||(e>=this._pages.length?this.addPage(t):(this._pages.splice(e,0,t),this.content.addChild(t),this._updatePageView()))},removePage:function(t){if(t&&this.content){var e=this._pages.indexOf(t);-1!==e?this.removePageAtIndex(e):cc.warnID(4300,t.name)}},removePageAtIndex:function(t){var e=this._pages;if(!(t<0||t>=e.length)){var i=e[t];i&&(this.content.removeChild(i),e.splice(t,1),this._updatePageView())}},removeAllPages:function(){if(this.content){for(var t=this._pages,e=0,i=t.length;e=this._pages.length||(e=void 0!==e?e:.3,this._curPageIdx=t,this.scrollToOffset(this._moveOffsetValue(t),e,!0),this.indicator&&this.indicator._changedState())},getScrollEndedEventTiming:function(){return this.pageTurningEventTiming},_syncScrollDirection:function(){this.horizontal=this.direction===n.Horizontal,this.vertical=this.direction===n.Vertical},_syncSizeMode:function(){if(this.content){var t=this.content.getComponent(cc.Layout);if(t){if(this.sizeMode===i.Free&&this._pages.length>0){var e=this._pages[this._pages.length-1];this.direction===n.Horizontal?(t.paddingLeft=(this._view.width-this._pages[0].width)/2,t.paddingRight=(this._view.width-e.width)/2):this.direction===n.Vertical&&(t.paddingTop=(this._view.height-this._pages[0].height)/2,t.paddingBottom=(this._view.height-e.height)/2)}t.updateLayout()}}},_updatePageView:function(){var t=this.content.getComponent(cc.Layout);t&&t.enabled&&t.updateLayout();var e=this._pages.length;this._curPageIdx>=e&&(this._curPageIdx=0===e?0:e-1,this._lastPageIdx=this._curPageIdx);for(var i=this._initContentPos,r=0;r=0||this._pages.push(i)}this._syncScrollDirection(),this._syncSizeMode(),this._updatePageView()}},_dispatchPageTurningEvent:function(){this._lastPageIdx!==this._curPageIdx&&(this._lastPageIdx=this._curPageIdx,cc.Component.EventHandler.emitEvents(this.pageEvents,this,r.PAGE_TURNING),this.node.emit("page-turning",this))},_isScrollable:function(t,e,r){if(this.sizeMode===i.Free){var s,a;if(this.direction===n.Horizontal)return s=this._scrollCenterOffsetX[e],a=this._scrollCenterOffsetX[r],Math.abs(t.x)>=Math.abs(s-a)*this.scrollThreshold;if(this.direction===n.Vertical)return s=this._scrollCenterOffsetY[e],a=this._scrollCenterOffsetY[r],Math.abs(t.y)>=Math.abs(s-a)*this.scrollThreshold}else{if(this.direction===n.Horizontal)return Math.abs(t.x)>=this._view.width*this.scrollThreshold;if(this.direction===n.Vertical)return Math.abs(t.y)>=this._view.height*this.scrollThreshold}},_isQuicklyScrollable:function(t){if(this.direction===n.Horizontal){if(Math.abs(t.x)>this.autoPageTurningThreshold)return!0}else if(this.direction===n.Vertical&&Math.abs(t.y)>this.autoPageTurningThreshold)return!0;return!1},_moveOffsetValue:function(t){var e=cc.v2(0,0);return this.sizeMode===i.Free?this.direction===n.Horizontal?e.x=this._scrollCenterOffsetX[t]:this.direction===n.Vertical&&(e.y=this._scrollCenterOffsetY[t]):this.direction===n.Horizontal?e.x=t*this._view.width:this.direction===n.Vertical&&(e.y=t*this._view.height),e},_getDragDirection:function(t){return this.direction===n.Horizontal?0===t.x?0:t.x>0?1:-1:this.direction===n.Vertical?0===t.y?0:t.y<0?1:-1:void 0},_handleReleaseLogic:function(){this._autoScrollToPage(),this._scrolling&&(this._scrolling=!1,this._autoScrolling||this._dispatchEvent("scroll-ended"))},_autoScrollToPage:function(){if(this._startBounceBackIfNeeded()){var t=this._getHowMuchOutOfBoundary();((t=this._clampDelta(t)).x>0||t.y<0)&&(this._curPageIdx=0===this._pages.length?0:this._pages.length-1),(t.x<0||t.y>0)&&(this._curPageIdx=0),this.indicator&&this.indicator._changedState()}else{var e=this._touchBeganPosition.sub(this._touchEndPosition),i=this._curPageIdx,n=i+this._getDragDirection(e),r=this.pageTurningSpeed*Math.abs(i-n);if(n=t.length)){for(var i=0;it.length)for(i=0;i0;--i){var n=t[i-1];this.node.removeChild(n),t.splice(i-1,1)}this._layout&&this._layout.enabledInHierarchy&&this._layout.updateLayout(),this._changedState()}}}});cc.PageViewIndicator=e.exports=n}),{"./CCComponent":101}],109:[(function(t,e){"use strict";var i=t("../utils/misc"),n=t("./CCComponent"),r=cc.Enum({HORIZONTAL:0,VERTICAL:1,FILLED:2}),s=cc.Class({name:"cc.ProgressBar",extends:n,editor:!1,_initBarSprite:function(){if(this.barSprite){var t=this.barSprite.node;if(!t)return;var e=this.node.getContentSize(),i=this.node.getAnchorPoint(),n=t.getContentSize();t.parent===this.node&&this.node.setContentSize(n),this.barSprite.fillType===cc.Sprite.FillType.RADIAL&&(this.mode=r.FILLED);var s=t.getContentSize();if(this.mode===r.HORIZONTAL?this.totalLength=s.width:this.mode===r.VERTICAL?this.totalLength=s.height:this.totalLength=this.barSprite.fillRange,t.parent===this.node){var a=-e.width*i.x;t.setPosition(cc.v2(a,0))}}},_updateBarStatus:function(){if(this.barSprite){var t=this.barSprite.node;if(!t)return;var e,n,s,a=t.getAnchorPoint(),o=t.getContentSize(),c=t.getPosition(),u=cc.v2(0,.5),l=i.clamp01(this.progress),h=this.totalLength*l;switch(this.mode){case r.HORIZONTAL:this.reverse&&(u=cc.v2(1,.5)),e=cc.size(h,o.height),n=this.totalLength,s=o.height;break;case r.VERTICAL:u=this.reverse?cc.v2(.5,1):cc.v2(.5,0),e=cc.size(o.width,h),n=o.width,s=this.totalLength}if(this.mode===r.FILLED)this.barSprite.type!==cc.Sprite.Type.FILLED?cc.warn("ProgressBar FILLED mode only works when barSprite's Type is FILLED!"):(this.reverse&&(h*=-1),this.barSprite.fillRange=h);else if(this.barSprite.type!==cc.Sprite.Type.FILLED){var _=u.x-a.x,f=u.y-a.y,d=cc.v2(n*_,s*f);t.setPosition(c.x+d.x,c.y+d.y),t.setAnchorPoint(u),t.setContentSize(e)}else cc.warn("ProgressBar non-FILLED mode only works when barSprite's Type is non-FILLED!")}},properties:{barSprite:{default:null,type:cc.Sprite,tooltip:!1,notify:function(){this._initBarSprite()},animatable:!1},mode:{default:r.HORIZONTAL,type:r,tooltip:!1,notify:function(){if(this.barSprite){var t=this.barSprite.node;if(!t)return;var e=t.getContentSize();this.mode===r.HORIZONTAL?this.totalLength=e.width:this.mode===r.VERTICAL?this.totalLength=e.height:this.mode===r.FILLED&&(this.totalLength=this.barSprite.fillRange)}},animatable:!1},_N$totalLength:1,totalLength:{range:[0,Number.MAX_VALUE],tooltip:!1,get:function(){return this._N$totalLength},set:function(t){this.mode===r.FILLED&&(t=i.clamp01(t)),this._N$totalLength=t,this._updateBarStatus()}},progress:{default:1,type:cc.Float,range:[0,1,.1],slide:!0,tooltip:!1,notify:function(){this._updateBarStatus()}},reverse:{default:!1,tooltip:!1,notify:function(){this.barSprite&&(this.barSprite.fillStart=1-this.barSprite.fillStart),this._updateBarStatus()},animatable:!1}},statics:{Mode:r}});cc.ProgressBar=e.exports=s}),{"../utils/misc":223,"./CCComponent":101}],110:[(function(t,e){"use strict";var i=s(t("../renderer/assembler")),n=s(t("../assets/material/material-variant")),r=t("../value-types");function s(t){return t&&t.__esModule?t:{default:t}}var a=t("./CCComponent"),o=t("../renderer/render-flow"),c=t("../assets/material/CCMaterial"),u=new r.Color,l=cc.Class({name:"RenderComponent",extends:a,editor:!1,properties:{_materials:{default:[],type:c},materials:{get:function(){return this._materials},set:function(t){this._materials=t,this._activateMaterial()},type:[c],displayName:"Materials",animatable:!1}},ctor:function(){this._vertsDirty=!0,this._assembler=null},_resetAssembler:function(){i.default.init(this),this._updateColor(),this.setVertsDirty()},__preload:function(){this._resetAssembler(),this._activateMaterial()},onEnable:function(){this.node._renderComponent&&(this.node._renderComponent.enabled=!1),this.node._renderComponent=this,this.node._renderFlag|=o.FLAG_OPACITY_COLOR,this.setVertsDirty()},onDisable:function(){this.node._renderComponent=null,this.disableRender()},onDestroy:function(){for(var t=this._materials,e=0;e=this._materials.length)return null;var e=this._materials[t];if(!e)return null;var i=n.default.create(e,this);return i!==e&&this.setMaterial(t,i),i},getMaterials:function(){for(var t=this._materials,e=0;e0?n:-n)),i*(e/r)},_calculatePosition:function(t,e,r,s,a,o){var c=t-e;a&&(c+=Math.abs(a));var u=0;c&&(u=s/c,u=i.clamp01(u));var l=(r-o)*u;return this.direction===n.VERTICAL?cc.v2(0,l):cc.v2(l,0)},_updateLength:function(t){if(this.handle){var e=this.handle.node,i=e.getContentSize();e.setAnchorPoint(cc.v2(0,0)),this.direction===n.HORIZONTAL?e.setContentSize(t,i.height):e.setContentSize(i.width,t)}},_processAutoHide:function(t){if(this.enableAutoHide&&!(this._autoHideRemainingTime<=0)&&!this._touching&&(this._autoHideRemainingTime-=t,this._autoHideRemainingTime<=this.autoHideTime)){this._autoHideRemainingTime=Math.max(0,this._autoHideRemainingTime);var e=this._opacity*(this._autoHideRemainingTime/this.autoHideTime);this._setOpacity(e)}},start:function(){this.enableAutoHide&&this._setOpacity(0)},hide:function(){this._autoHideRemainingTime=0,this._setOpacity(0)},show:function(){this._autoHideRemainingTime=this.autoHideTime,this._setOpacity(this._opacity)},update:function(t){this._processAutoHide(t)}});cc.Scrollbar=e.exports=r}),{"../utils/misc":223,"./CCComponent":101}],113:[(function(t,e){"use strict";var i=t("../CCNode").EventType,n=cc.v2(),r=cc.v2(),s=function(){return(new Date).getMilliseconds()},a=cc.Enum({SCROLL_TO_TOP:0,SCROLL_TO_BOTTOM:1,SCROLL_TO_LEFT:2,SCROLL_TO_RIGHT:3,SCROLLING:4,BOUNCE_TOP:5,BOUNCE_BOTTOM:6,BOUNCE_LEFT:7,BOUNCE_RIGHT:8,SCROLL_ENDED:9,TOUCH_UP:10,AUTOSCROLL_ENDED_WITH_THRESHOLD:11,SCROLL_BEGAN:12}),o={"scroll-to-top":a.SCROLL_TO_TOP,"scroll-to-bottom":a.SCROLL_TO_BOTTOM,"scroll-to-left":a.SCROLL_TO_LEFT,"scroll-to-right":a.SCROLL_TO_RIGHT,scrolling:a.SCROLLING,"bounce-bottom":a.BOUNCE_BOTTOM,"bounce-left":a.BOUNCE_LEFT,"bounce-right":a.BOUNCE_RIGHT,"bounce-top":a.BOUNCE_TOP,"scroll-ended":a.SCROLL_ENDED,"touch-up":a.TOUCH_UP,"scroll-ended-with-threshold":a.AUTOSCROLL_ENDED_WITH_THRESHOLD,"scroll-began":a.SCROLL_BEGAN},c=cc.Class({name:"cc.ScrollView",extends:t("./CCViewGroup"),editor:!1,ctor:function(){this._topBoundary=0,this._bottomBoundary=0,this._leftBoundary=0,this._rightBoundary=0,this._touchMoveDisplacements=[],this._touchMoveTimeDeltas=[],this._touchMovePreviousTimestamp=0,this._touchMoved=!1,this._autoScrolling=!1,this._autoScrollAttenuate=!1,this._autoScrollStartPosition=cc.v2(0,0),this._autoScrollTargetDelta=cc.v2(0,0),this._autoScrollTotalTime=0,this._autoScrollAccumulatedTime=0,this._autoScrollCurrentlyOutOfBoundary=!1,this._autoScrollBraking=!1,this._autoScrollBrakingStartPosition=cc.v2(0,0),this._outOfBoundaryAmount=cc.v2(0,0),this._outOfBoundaryAmountDirty=!0,this._stopMouseWheel=!1,this._mouseWheelEventElapsedTime=0,this._isScrollEndedWithThresholdEventFired=!1,this._scrollEventEmitMask=0,this._isBouncing=!1,this._scrolling=!1},properties:{content:{default:void 0,type:cc.Node,tooltip:!1,formerlySerializedAs:"content",notify:function(){this._calculateBoundary()}},horizontal:{default:!0,animatable:!1,tooltip:!1},vertical:{default:!0,animatable:!1,tooltip:!1},inertia:{default:!0,tooltip:!1},brake:{default:.5,type:cc.Float,range:[0,1,.1],tooltip:!1},elastic:{default:!0,animatable:!1,tooltip:!1},bounceDuration:{default:1,range:[0,10],tooltip:!1},horizontalScrollBar:{default:void 0,type:cc.Scrollbar,tooltip:!1,notify:function(){this.horizontalScrollBar&&(this.horizontalScrollBar.setTargetScrollView(this),this._updateScrollBar(0))},animatable:!1},verticalScrollBar:{default:void 0,type:cc.Scrollbar,tooltip:!1,notify:function(){this.verticalScrollBar&&(this.verticalScrollBar.setTargetScrollView(this),this._updateScrollBar(0))},animatable:!1},scrollEvents:{default:[],type:cc.Component.EventHandler,tooltip:!1},cancelInnerEvents:{default:!0,animatable:!1,tooltip:!1},_view:{get:function(){if(this.content)return this.content.parent}}},statics:{EventType:a},scrollToBottom:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,0),applyToHorizontal:!1,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i,!0)},scrollToTop:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,1),applyToHorizontal:!1,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToLeft:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,0),applyToHorizontal:!0,applyToVertical:!1});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToRight:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(1,0),applyToHorizontal:!0,applyToVertical:!1});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToTopLeft:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,1),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToTopRight:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(1,1),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToBottomLeft:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,0),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToBottomRight:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(1,0),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToOffset:function(t,e,i){var n=this.getMaxScrollOffset(),r=cc.v2(0,0);0===n.x?r.x=0:r.x=t.x/n.x,0===n.y?r.y=1:r.y=(n.y-t.y)/n.y,this.scrollTo(r,e,i)},getScrollOffset:function(){var t=this._getContentTopBoundary()-this._topBoundary,e=this._getContentLeftBoundary()-this._leftBoundary;return cc.v2(e,t)},getMaxScrollOffset:function(){var t=this._view.getContentSize(),e=this.content.getContentSize(),i=e.width-t.width,n=e.height-t.height;return i=i>=0?i:0,n=n>=0?n:0,cc.v2(i,n)},scrollToPercentHorizontal:function(t,e,i){var n=this._calculateMovePercentDelta({anchor:cc.v2(t,0),applyToHorizontal:!0,applyToVertical:!1});e?this._startAutoScroll(n,e,!1!==i):this._moveContent(n)},scrollTo:function(t,e,i){var n=this._calculateMovePercentDelta({anchor:cc.v2(t),applyToHorizontal:!0,applyToVertical:!0});e?this._startAutoScroll(n,e,!1!==i):this._moveContent(n)},scrollToPercentVertical:function(t,e,i){var n=this._calculateMovePercentDelta({anchor:cc.v2(0,t),applyToHorizontal:!1,applyToVertical:!0});e?this._startAutoScroll(n,e,!1!==i):this._moveContent(n)},stopAutoScroll:function(){this._autoScrolling=!1,this._autoScrollAccumulatedTime=this._autoScrollTotalTime},setContentPosition:function(t){t.fuzzyEquals(this.getContentPosition(),1e-4)||(this.content.setPosition(t),this._outOfBoundaryAmountDirty=!0)},getContentPosition:function(){return this.content.getPosition()},isScrolling:function(){return this._scrolling},isAutoScrolling:function(){return this._autoScrolling},_registerEvent:function(){this.node.on(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this,!0),this.node.on(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this,!0),this.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this,!0),this.node.on(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancelled,this,!0),this.node.on(cc.Node.EventType.MOUSE_WHEEL,this._onMouseWheel,this,!0)},_unregisterEvent:function(){this.node.off(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this,!0),this.node.off(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this,!0),this.node.off(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this,!0),this.node.off(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancelled,this,!0),this.node.off(cc.Node.EventType.MOUSE_WHEEL,this._onMouseWheel,this,!0)},_onMouseWheel:function(t,e){if(this.enabledInHierarchy&&!this.hasNestedViewGroup(t,e)){var i=cc.v2(0,0),n=-.1;cc.sys.os===cc.sys.OS_WINDOWS&&cc.sys.browserType===cc.sys.BROWSER_TYPE_FIREFOX&&(n=-.1/3),this.vertical?i=cc.v2(0,t.getScrollY()*n):this.horizontal&&(i=cc.v2(t.getScrollY()*n,0)),this._mouseWheelEventElapsedTime=0,this._processDeltaMove(i),this._stopMouseWheel||(this._handlePressLogic(),this.schedule(this._checkMouseWheel,1/60),this._stopMouseWheel=!0),this._stopPropagationIfTargetIsMe(t)}},_checkMouseWheel:function(t){if(!this._getHowMuchOutOfBoundary().fuzzyEquals(cc.v2(0,0),1e-4))return this._processInertiaScroll(),this.unschedule(this._checkMouseWheel),this._dispatchEvent("scroll-ended"),void(this._stopMouseWheel=!1);this._mouseWheelEventElapsedTime+=t,this._mouseWheelEventElapsedTime>.1&&(this._onScrollBarTouchEnded(),this.unschedule(this._checkMouseWheel),this._dispatchEvent("scroll-ended"),this._stopMouseWheel=!1)},_calculateMovePercentDelta:function(t){var e=t.anchor,i=t.applyToHorizontal,n=t.applyToVertical;this._calculateBoundary(),e=e.clampf(cc.v2(0,0),cc.v2(1,1));var r=this._view.getContentSize(),s=this.content.getContentSize(),a=this._getContentBottomBoundary()-this._bottomBoundary;a=-a;var o=this._getContentLeftBoundary()-this._leftBoundary;o=-o;var c=cc.v2(0,0),u=0;return i&&(u=s.width-r.width,c.x=o-u*e.x),n&&(u=s.height-r.height,c.y=a-u*e.y),c},_moveContentToTopLeft:function(t){var e=this.content.getContentSize(),i=this._getContentBottomBoundary()-this._bottomBoundary;i=-i;var n=cc.v2(0,0),r=0,s=this._getContentLeftBoundary()-this._leftBoundary;s=-s,e.height7&&!this._touchMoved&&t.target!==this.node){var n=new cc.Event.EventTouch(t.getTouches(),t.bubbles);n.type=cc.Node.EventType.TOUCH_CANCEL,n.touch=t.touch,n.simulate=!0,t.target.dispatchEvent(n),this._touchMoved=!0}this._stopPropagationIfTargetIsMe(t)}}},_onTouchEnded:function(t,e){if(this.enabledInHierarchy&&!this.hasNestedViewGroup(t,e)){this._dispatchEvent("touch-up");var i=t.touch;this.content&&this._handleReleaseLogic(i),this._touchMoved?t.stopPropagation():this._stopPropagationIfTargetIsMe(t)}},_onTouchCancelled:function(t,e){if(this.enabledInHierarchy&&!this.hasNestedViewGroup(t,e)){if(!t.simulate){var i=t.touch;this.content&&this._handleReleaseLogic(i)}this._stopPropagationIfTargetIsMe(t)}},_processDeltaMove:function(t){this._scrollChildren(t),this._gatherTouchMove(t)},_getLocalAxisAlignDelta:function(t){return this.node.convertToNodeSpaceAR(t.getLocation(),n),this.node.convertToNodeSpaceAR(t.getPreviousLocation(),r),n.sub(r)},_handleMoveLogic:function(t){var e=this._getLocalAxisAlignDelta(t);this._processDeltaMove(e)},_scrollChildren:function(t){var e,i=t=this._clampDelta(t);this.elastic&&(e=this._getHowMuchOutOfBoundary(),i.x*=0===e.x?1:.5,i.y*=0===e.y?1:.5),this.elastic||(e=this._getHowMuchOutOfBoundary(i),i=i.add(e));var n="",r="";this.vertical&&(i.y>0?this.content.y-this.content.anchorY*this.content.height+i.y>=this._bottomBoundary&&(n="scroll-to-bottom"):i.y<0&&this.content.y-this.content.anchorY*this.content.height+this.content.height+i.y<=this._topBoundary&&(n="scroll-to-top")),this.horizontal&&(i.x<0?this.content.x-this.content.anchorX*this.content.width+this.content.width+i.x<=this._rightBoundary&&(r="scroll-to-right"):i.x>0&&this.content.x-this.content.anchorX*this.content.width+i.x>=this._leftBoundary&&(r="scroll-to-left")),this._moveContent(i,!1),(this.horizontal&&0!==i.x||this.vertical&&0!==i.y)&&(this._scrolling||(this._scrolling=!0,this._dispatchEvent("scroll-began")),this._dispatchEvent("scrolling")),""!==n&&this._dispatchEvent(n),""!==r&&this._dispatchEvent(r)},_handlePressLogic:function(){this._autoScrolling&&this._dispatchEvent("scroll-ended"),this._autoScrolling=!1,this._isBouncing=!1,this._touchMovePreviousTimestamp=s(),this._touchMoveDisplacements.length=0,this._touchMoveTimeDeltas.length=0,this._onScrollBarTouchBegan()},_clampDelta:function(t){var e=this.content.getContentSize(),i=this._view.getContentSize();return e.width=5;)this._touchMoveDisplacements.shift(),this._touchMoveTimeDeltas.shift();this._touchMoveDisplacements.push(t);var e=s();this._touchMoveTimeDeltas.push((e-this._touchMovePreviousTimestamp)/1e3),this._touchMovePreviousTimestamp=e},_startBounceBackIfNeeded:function(){if(!this.elastic)return!1;var t=this._getHowMuchOutOfBoundary();if((t=this._clampDelta(t)).fuzzyEquals(cc.v2(0,0),1e-4))return!1;var e=Math.max(this.bounceDuration,0);return this._startAutoScroll(t,e,!0),this._isBouncing||(t.y>0&&this._dispatchEvent("bounce-top"),t.y<0&&this._dispatchEvent("bounce-bottom"),t.x>0&&this._dispatchEvent("bounce-right"),t.x<0&&this._dispatchEvent("bounce-left"),this._isBouncing=!0),!0},_processInertiaScroll:function(){if(!this._startBounceBackIfNeeded()&&this.inertia){var t=this._calculateTouchMoveVelocity();!t.fuzzyEquals(cc.v2(0,0),1e-4)&&this.brake<1&&this._startInertiaScroll(t)}this._onScrollBarTouchEnded()},_handleReleaseLogic:function(t){var e=this._getLocalAxisAlignDelta(t);this._gatherTouchMove(e),this._processInertiaScroll(),this._scrolling&&(this._scrolling=!1,this._autoScrolling||this._dispatchEvent("scroll-ended"))},_isOutOfBoundary:function(){return!this._getHowMuchOutOfBoundary().fuzzyEquals(cc.v2(0,0),1e-4)},_isNecessaryAutoScrollBrake:function(){if(this._autoScrollBraking)return!0;if(this._isOutOfBoundary()){if(!this._autoScrollCurrentlyOutOfBoundary)return this._autoScrollCurrentlyOutOfBoundary=!0,this._autoScrollBraking=!0,this._autoScrollBrakingStartPosition=this.getContentPosition(),!0}else this._autoScrollCurrentlyOutOfBoundary=!1;return!1},getScrollEndedEventTiming:function(){return 1e-4},_processAutoScrolling:function(t){var e=this._isNecessaryAutoScrollBrake(),i=e?.05:1;this._autoScrollAccumulatedTime+=t*(1/i);var n,r=Math.min(1,this._autoScrollAccumulatedTime/this._autoScrollTotalTime);this._autoScrollAttenuate&&(n=r,r=(n-=1)*n*n*n*n+1);var s=this._autoScrollStartPosition.add(this._autoScrollTargetDelta.mul(r)),a=Math.abs(r-1)<=1e-4;if(Math.abs(r-1)<=this.getScrollEndedEventTiming()&&!this._isScrollEndedWithThresholdEventFired&&(this._dispatchEvent("scroll-ended-with-threshold"),this._isScrollEndedWithThresholdEventFired=!0),this.elastic){var o=s.sub(this._autoScrollBrakingStartPosition);e&&(o=o.mul(i)),s=this._autoScrollBrakingStartPosition.add(o)}else{var c=s.sub(this.getContentPosition()),u=this._getHowMuchOutOfBoundary(c);u.fuzzyEquals(cc.v2(0,0),1e-4)||(s=s.add(u),a=!0)}a&&(this._autoScrolling=!1);var l=s.sub(this.getContentPosition());this._moveContent(this._clampDelta(l),a),this._dispatchEvent("scrolling"),this._autoScrolling||(this._isBouncing=!1,this._scrolling=!1,this._dispatchEvent("scroll-ended"))},_startInertiaScroll:function(t){var e=t.mul(.7);this._startAttenuatingAutoScroll(e,t)},_calculateAttenuatedFactor:function(t){return this.brake<=0?1-this.brake:(1-this.brake)*(1/(1+14e-6*t+t*t*8e-9))},_startAttenuatingAutoScroll:function(t,e){var i=this._calculateAutoScrollTimeByInitalSpeed(e.mag()),n=t.normalize(),r=this.content.getContentSize(),s=this._view.getContentSize(),a=r.width-s.width,o=r.height-s.height,c=this._calculateAttenuatedFactor(a),u=this._calculateAttenuatedFactor(o);n=cc.v2(n.x*a*(1-this.brake)*c,n.y*o*u*(1-this.brake));var l=t.mag(),h=n.mag()/l;n=n.add(t),this.brake>0&&h>7&&(h=Math.sqrt(h),n=t.mul(h).add(t)),this.brake>0&&h>3&&(i*=h=3),0===this.brake&&h>1&&(i*=h),this._startAutoScroll(n,i,!0)},_calculateAutoScrollTimeByInitalSpeed:function(t){return Math.sqrt(Math.sqrt(t/5))},_startAutoScroll:function(t,e,i){var n=this._flattenVectorByDirection(t);this._autoScrolling=!0,this._autoScrollTargetDelta=n,this._autoScrollAttenuate=i,this._autoScrollStartPosition=this.getContentPosition(),this._autoScrollTotalTime=e,this._autoScrollAccumulatedTime=0,this._autoScrollBraking=!1,this._isScrollEndedWithThresholdEventFired=!1,this._autoScrollBrakingStartPosition=cc.v2(0,0),this._getHowMuchOutOfBoundary().fuzzyEquals(cc.v2(0,0),1e-4)||(this._autoScrollCurrentlyOutOfBoundary=!0)},_calculateTouchMoveVelocity:function(){var t=0;if((t=this._touchMoveTimeDeltas.reduce((function(t,e){return t+e}),t))<=0||t>=.5)return cc.v2(0,0);var e=cc.v2(0,0);return e=this._touchMoveDisplacements.reduce((function(t,e){return t.add(e)}),e),cc.v2(e.x*(1-this.brake)/t,e.y*(1-this.brake)/t)},_flattenVectorByDirection:function(t){var e=t;return e.x=this.horizontal?e.x:0,e.y=this.vertical?e.y:0,e},_moveContent:function(t,e){var i=this._flattenVectorByDirection(t),n=this.getContentPosition().add(i);this.setContentPosition(n);var r=this._getHowMuchOutOfBoundary();this._updateScrollBar(r),this.elastic&&e&&this._startBounceBackIfNeeded()},_getContentLeftBoundary:function(){return this.getContentPosition().x-this.content.getAnchorPoint().x*this.content.getContentSize().width},_getContentRightBoundary:function(){var t=this.content.getContentSize();return this._getContentLeftBoundary()+t.width},_getContentTopBoundary:function(){var t=this.content.getContentSize();return this._getContentBottomBoundary()+t.height},_getContentBottomBoundary:function(){return this.getContentPosition().y-this.content.getAnchorPoint().y*this.content.getContentSize().height},_getHowMuchOutOfBoundary:function(t){if((t=t||cc.v2(0,0)).fuzzyEquals(cc.v2(0,0),1e-4)&&!this._outOfBoundaryAmountDirty)return this._outOfBoundaryAmount;var e=cc.v2(0,0);return this._getContentLeftBoundary()+t.x>this._leftBoundary?e.x=this._leftBoundary-(this._getContentLeftBoundary()+t.x):this._getContentRightBoundary()+t.xthis._bottomBoundary&&(e.y=this._bottomBoundary-(this._getContentBottomBoundary()+t.y)),t.fuzzyEquals(cc.v2(0,0),1e-4)&&(this._outOfBoundaryAmount=e,this._outOfBoundaryAmountDirty=!1),this._clampDelta(e)},_updateScrollBarState:function(){if(this.content){var t=this.content.getContentSize(),e=this._view.getContentSize();this.verticalScrollBar&&(t.height0},set:function(t){this._setAlign(s,t)},animatable:!1,tooltip:!1},isAlignVerticalCenter:{get:function(){return(this._alignFlags&a)>0},set:function(t){t?(this.isAlignTop=!1,this.isAlignBottom=!1,this._alignFlags|=a):this._alignFlags&=~a},animatable:!1,tooltip:!1},isAlignBottom:{get:function(){return(this._alignFlags&o)>0},set:function(t){this._setAlign(o,t)},animatable:!1,tooltip:!1},isAlignLeft:{get:function(){return(this._alignFlags&c)>0},set:function(t){this._setAlign(c,t)},animatable:!1,tooltip:!1},isAlignHorizontalCenter:{get:function(){return(this._alignFlags&u)>0},set:function(t){t?(this.isAlignLeft=!1,this.isAlignRight=!1,this._alignFlags|=u):this._alignFlags&=~u},animatable:!1,tooltip:!1},isAlignRight:{get:function(){return(this._alignFlags&l)>0},set:function(t){this._setAlign(l,t)},animatable:!1,tooltip:!1},isStretchWidth:{get:function(){return(this._alignFlags&_)===_},visible:!1},isStretchHeight:{get:function(){return(this._alignFlags&h)===h},visible:!1},top:{get:function(){return this._top},set:function(t){this._top=t},tooltip:!1},bottom:{get:function(){return this._bottom},set:function(t){this._bottom=t},tooltip:!1},left:{get:function(){return this._left},set:function(t){this._left=t},tooltip:!1},right:{get:function(){return this._right},set:function(t){this._right=t},tooltip:!1},horizontalCenter:{get:function(){return this._horizontalCenter},set:function(t){this._horizontalCenter=t},tooltip:!1},verticalCenter:{get:function(){return this._verticalCenter},set:function(t){this._verticalCenter=t},tooltip:!1},isAbsoluteHorizontalCenter:{get:function(){return this._isAbsHorizontalCenter},set:function(t){this._isAbsHorizontalCenter=t},animatable:!1},isAbsoluteVerticalCenter:{get:function(){return this._isAbsVerticalCenter},set:function(t){this._isAbsVerticalCenter=t},animatable:!1},isAbsoluteTop:{get:function(){return this._isAbsTop},set:function(t){this._isAbsTop=t},animatable:!1},isAbsoluteBottom:{get:function(){return this._isAbsBottom},set:function(t){this._isAbsBottom=t},animatable:!1},isAbsoluteLeft:{get:function(){return this._isAbsLeft},set:function(t){this._isAbsLeft=t},animatable:!1},isAbsoluteRight:{get:function(){return this._isAbsRight},set:function(t){this._isAbsRight=t},animatable:!1},alignMode:{default:n.ON_WINDOW_RESIZE,type:n,tooltip:!1},_wasAlignOnce:{default:void 0,formerlySerializedAs:"isAlignOnce"},_target:null,_alignFlags:0,_left:0,_right:0,_top:0,_bottom:0,_verticalCenter:0,_horizontalCenter:0,_isAbsLeft:!0,_isAbsRight:!0,_isAbsTop:!0,_isAbsBottom:!0,_isAbsHorizontalCenter:!0,_isAbsVerticalCenter:!0,_originalWidth:0,_originalHeight:0},statics:{AlignMode:n},onLoad:function(){void 0!==this._wasAlignOnce&&(this.alignMode=this._wasAlignOnce?n.ONCE:n.ALWAYS,this._wasAlignOnce=void 0)},onEnable:function(){i.add(this)},onDisable:function(){i.remove(this)},_validateTargetInDEV:!1,_setAlign:function(t,e){if(e!==(this._alignFlags&t)>0){var i=(t&_)>0;e?(this._alignFlags|=t,i?(this.isAlignHorizontalCenter=!1,this.isStretchWidth&&(this._originalWidth=this.node.width)):(this.isAlignVerticalCenter=!1,this.isStretchHeight&&(this._originalHeight=this.node.height))):(i?this.isStretchWidth&&(this.node.width=this._originalWidth):this.isStretchHeight&&(this.node.height=this._originalHeight),this._alignFlags&=~t)}},updateAlignment:function(){i.updateAlignment(this.node)}});Object.defineProperty(f.prototype,"isAlignOnce",{get:function(){return this.alignMode===n.ONCE},set:function(t){this.alignMode=t?n.ONCE:n.ALWAYS}}),cc.Widget=e.exports=f}),{"../base-ui/CCWidgetManager":86,"./CCComponent":101}],119:[(function(t,e){"use strict";var i=t("../../platform/CCMacro"),n=t("../editbox/EditBoxImplBase"),r=t("../CCLabel"),s=t("./types"),a=s.InputMode,o=s.InputFlag,c=s.KeyboardReturnType;function u(t){return t.charAt(0).toUpperCase()+t.slice(1)}var l=cc.Class({name:"cc.EditBox",extends:cc.Component,editor:!1,properties:{_string:"",string:{tooltip:!1,get:function(){return this._string},set:function(t){t=""+t,this.maxLength>=0&&t.length>=this.maxLength&&(t=t.slice(0,this.maxLength)),this._string=t,this._updateString(t)}},textLabel:{tooltip:!1,default:null,type:r,notify:function(t){this.textLabel&&this.textLabel!==t&&(this._updateTextLabel(),this._updateLabels())}},placeholderLabel:{tooltip:!1,default:null,type:r,notify:function(t){this.placeholderLabel&&this.placeholderLabel!==t&&(this._updatePlaceholderLabel(),this._updateLabels())}},background:{tooltip:!1,default:null,type:cc.Sprite,notify:function(t){this.background&&this.background!==t&&this._updateBackgroundSprite()}},_N$backgroundImage:{default:void 0,type:cc.SpriteFrame},backgroundImage:{get:function(){return this.background?this.background.spriteFrame:null},set:function(t){this.background&&(this.background.spriteFrame=t)}},returnType:{default:c.DEFAULT,tooltip:!1,displayName:"KeyboardReturnType",type:c},_N$returnType:{default:void 0,type:cc.Float},inputFlag:{tooltip:!1,default:o.DEFAULT,type:o,notify:function(){this._updateString(this._string)}},inputMode:{tooltip:!1,default:a.ANY,type:a,notify:function(t){this.inputMode!==t&&(this._updateTextLabel(),this._updatePlaceholderLabel())}},fontSize:{get:function(){return this.textLabel?this.textLabel.fontSize:0},set:function(t){this.textLabel&&(this.textLabel.fontSize=t)}},_N$fontSize:{default:void 0,type:cc.Float},lineHeight:{get:function(){return this.textLabel?this.textLabel.lineHeight:0},set:function(t){this.textLabel&&(this.textLabel.lineHeight=t)}},_N$lineHeight:{default:void 0,type:cc.Float},fontColor:{get:function(){return this.textLabel?this.textLabel.node.color:cc.Color.BLACK},set:function(t){this.textLabel&&(this.textLabel.node.color=t,this.textLabel.node.opacity=t.a)}},_N$fontColor:void 0,placeholder:{tooltip:!1,get:function(){return this.placeholderLabel?this.placeholderLabel.string:""},set:function(t){this.placeholderLabel&&(this.placeholderLabel.string=t)}},_N$placeholder:{default:void 0,type:cc.String},placeholderFontSize:{get:function(){return this.placeholderLabel?this.placeholderLabel.fontSize:0},set:function(t){this.placeholderLabel&&(this.placeholderLabel.fontSize=t)}},_N$placeholderFontSize:{default:void 0,type:cc.Float},placeholderFontColor:{get:function(){return this.placeholderLabel?this.placeholderLabel.node.color:cc.Color.BLACK},set:function(t){this.placeholderLabel&&(this.placeholderLabel.node.color=t,this.placeholderLabel.node.opacity=t.a)}},_N$placeholderFontColor:void 0,maxLength:{tooltip:!1,default:20},_N$maxLength:{default:void 0,type:cc.Float},stayOnTop:{default:!1,notify:function(){cc.warn("editBox.stayOnTop is removed since v2.1.")}},_tabIndex:0,tabIndex:{tooltip:!1,get:function(){return this._tabIndex},set:function(t){this._tabIndex!==t&&(this._tabIndex=t,this._impl&&this._impl.setTabIndex(t))}},editingDidBegan:{default:[],type:cc.Component.EventHandler},textChanged:{default:[],type:cc.Component.EventHandler},editingDidEnded:{default:[],type:cc.Component.EventHandler},editingReturn:{default:[],type:cc.Component.EventHandler}},statics:{_ImplClass:n,KeyboardReturnType:c,InputFlag:o,InputMode:a},_init:function(){this._upgradeComp(),this._isLabelVisible=!0,this.node.on(cc.Node.EventType.SIZE_CHANGED,this._syncSize,this),(this._impl=new l._ImplClass).init(this),this._updateString(this._string),this._syncSize()},_updateBackgroundSprite:function(){var t=this.background;if(!t){var e=this.node.getChildByName("BACKGROUND_SPRITE");e||(e=new cc.Node("BACKGROUND_SPRITE")),(t=e.getComponent(cc.Sprite))||(t=e.addComponent(cc.Sprite)),e.parent=this.node,this.background=t}t.type=cc.Sprite.Type.SLICED,void 0!==this._N$backgroundImage&&(t.spriteFrame=this._N$backgroundImage,this._N$backgroundImage=void 0)},_updateTextLabel:function(){var t=this.textLabel;if(!t){var e=this.node.getChildByName("TEXT_LABEL");e||(e=new cc.Node("TEXT_LABEL")),(t=e.getComponent(r))||(t=e.addComponent(r)),e.parent=this.node,this.textLabel=t}t.node.setAnchorPoint(0,1),t.overflow=r.Overflow.CLAMP,this.inputMode===a.ANY?(t.verticalAlign=i.VerticalTextAlignment.TOP,t.enableWrapText=!0):(t.verticalAlign=i.VerticalTextAlignment.CENTER,t.enableWrapText=!1),t.string=this._updateLabelStringStyle(this._string),void 0!==this._N$fontColor&&(t.node.color=this._N$fontColor,t.node.opacity=this._N$fontColor.a,this._N$fontColor=void 0),void 0!==this._N$fontSize&&(t.fontSize=this._N$fontSize,this._N$fontSize=void 0),void 0!==this._N$lineHeight&&(t.lineHeight=this._N$lineHeight,this._N$lineHeight=void 0)},_updatePlaceholderLabel:function(){var t=this.placeholderLabel;if(!t){var e=this.node.getChildByName("PLACEHOLDER_LABEL");e||(e=new cc.Node("PLACEHOLDER_LABEL")),(t=e.getComponent(r))||(t=e.addComponent(r)),e.parent=this.node,this.placeholderLabel=t}t.node.setAnchorPoint(0,1),t.overflow=r.Overflow.CLAMP,this.inputMode===a.ANY?(t.verticalAlign=i.VerticalTextAlignment.TOP,t.enableWrapText=!0):(t.verticalAlign=i.VerticalTextAlignment.CENTER,t.enableWrapText=!1),t.string=this.placeholder,void 0!==this._N$placeholderFontColor&&(t.node.color=this._N$placeholderFontColor,t.node.opacity=this._N$placeholderFontColor.a,this._N$placeholderFontColor=void 0),void 0!==this._N$placeholderFontSize&&(t.fontSize=this._N$placeholderFontSize,this._N$placeholderFontSize=void 0)},_upgradeComp:function(){void 0!==this._N$returnType&&(this.returnType=this._N$returnType,this._N$returnType=void 0),void 0!==this._N$maxLength&&(this.maxLength=this._N$maxLength,this._N$maxLength=void 0),void 0!==this._N$backgroundImage&&this._updateBackgroundSprite(),void 0===this._N$fontColor&&void 0===this._N$fontSize&&void 0===this._N$lineHeight||this._updateTextLabel(),void 0===this._N$placeholderFontColor&&void 0===this._N$placeholderFontSize||this._updatePlaceholderLabel(),void 0!==this._N$placeholder&&(this.placeholder=this._N$placeholder,this._N$placeholder=void 0)},_syncSize:function(){if(this._impl){var t=this.node.getContentSize();this._impl.setSize(t.width,t.height)}},_showLabels:function(){this._isLabelVisible=!0,this._updateLabels()},_hideLabels:function(){this._isLabelVisible=!1,this.textLabel&&(this.textLabel.node.active=!1),this.placeholderLabel&&(this.placeholderLabel.node.active=!1)},_updateLabels:function(){if(this._isLabelVisible){var t=this._string;this.textLabel&&(this.textLabel.node.active=""!==t),this.placeholderLabel&&(this.placeholderLabel.node.active=""===t)}},_updateString:function(t){var e=this.textLabel;if(e){var i=t;i&&(i=this._updateLabelStringStyle(i)),e.string=i,this._updateLabels()}},_updateLabelStringStyle:function(t,e){var i=this.inputFlag;if(e||i!==o.PASSWORD)i===o.INITIAL_CAPS_ALL_CHARACTERS?t=t.toUpperCase():i===o.INITIAL_CAPS_WORD?t=t.replace(/(?:^|\s)\S/g,(function(t){return t.toUpperCase()})):i===o.INITIAL_CAPS_SENTENCE&&(t=u(t));else{for(var n="",r=t.length,s=0;s=0&&(e.value=e.value.slice(0,n)),t._delegate.editBoxTextChanged(e.value)}},n.onClick=function(){t._editing&&cc.sys.isMobile&&t._adjustWindowScroll()},n.onKeydown=function(i){i.keyCode===r.KEY.enter?(i.stopPropagation(),t._delegate.editBoxEditingReturn(),t._isTextArea||e.blur()):i.keyCode===r.KEY.tab&&(i.stopPropagation(),i.preventDefault(),o.next(t))},n.onBlur=function(){cc.sys.isMobile&&i&&n.compositionEnd(),t._editing=!1,v=null,t._hideDom(),t._delegate.editBoxEditingDidEnded()},e.addEventListener("compositionstart",n.compositionStart),e.addEventListener("compositionend",n.compositionEnd),e.addEventListener("input",n.onInput),e.addEventListener("keydown",n.onKeydown),e.addEventListener("blur",n.onBlur),e.addEventListener("touchstart",n.onClick)},_removeEventListeners:function(){var t=this._elem,e=this._eventListeners;t.removeEventListener("compositionstart",e.compositionStart),t.removeEventListener("compositionend",e.compositionEnd),t.removeEventListener("input",e.onInput),t.removeEventListener("keydown",e.onKeydown),t.removeEventListener("blur",e.onBlur),t.removeEventListener("touchstart",e.onClick),e.compositionStart=null,e.compositionEnd=null,e.onInput=null,e.onKeydown=null,e.onBlur=null,e.onClick=null}})}),{"../../platform/CCMacro":154,"../../platform/utils":173,"../../value-types/mat4":240,"../CCLabel":103,"./tabIndexUtil":122,"./types":123}],122:[(function(t,e){"use strict";e.exports={_tabIndexList:[],add:function(t){var e=this._tabIndexList;-1===e.indexOf(t)&&e.push(t)},remove:function(t){var e=this._tabIndexList,i=e.indexOf(t);-1!==i&&e.splice(i,1)},resort:function(){this._tabIndexList.sort((function(t,e){return t._delegate._tabIndex-e._delegate._tabIndex}))},next:function(t){var e=this._tabIndexList,i=e.indexOf(t);if(t.setFocus(!1),-1!==i){var n=e[i+1];n&&n._delegate._tabIndex>=0&&n.setFocus(!0)}}}}),{}],123:[(function(t,e){"use strict";var i=cc.Enum({DEFAULT:0,DONE:1,SEND:2,SEARCH:3,GO:4,NEXT:5}),n=cc.Enum({ANY:0,EMAIL_ADDR:1,NUMERIC:2,PHONE_NUMBER:3,URL:4,DECIMAL:5,SINGLE_LINE:6}),r=cc.Enum({PASSWORD:0,SENSITIVE:1,INITIAL_CAPS_WORD:2,INITIAL_CAPS_SENTENCE:3,INITIAL_CAPS_ALL_CHARACTERS:4,DEFAULT:5});e.exports={KeyboardReturnType:i,InputMode:n,InputFlag:r}}),{}],124:[(function(t,e){"use strict";t("./CCComponent"),t("./CCComponentEventHandler"),t("./missing-script");var i=t("./SubContextView");i||(i=cc.Class({name:"cc.SubContextView",extends:cc.Component}),cc.SubContextView=cc.WXSubContextView=cc.SwanSubContextView=i);var n=[t("./CCSprite"),t("./CCWidget"),t("./CCCanvas"),t("./CCAudioSource"),t("./CCAnimation"),t("./CCButton"),t("./CCLabel"),t("./CCProgressBar"),t("./CCMask"),t("./CCScrollBar"),t("./CCScrollView"),t("./CCPageViewIndicator"),t("./CCPageView"),t("./CCSlider"),t("./CCLayout"),t("./editbox/CCEditBox"),t("./CCLabelOutline"),t("./CCLabelShadow"),t("./CCRichText"),t("./CCToggleContainer"),t("./CCToggleGroup"),t("./CCToggle"),t("./CCBlockInputEvents"),t("./CCMotionStreak"),t("./CCSafeArea"),i];e.exports=n}),{"./CCAnimation":96,"./CCAudioSource":97,"./CCBlockInputEvents":98,"./CCButton":99,"./CCCanvas":100,"./CCComponent":101,"./CCComponentEventHandler":102,"./CCLabel":103,"./CCLabelOutline":void 0,"./CCLabelShadow":void 0,"./CCLayout":104,"./CCMask":105,"./CCMotionStreak":106,"./CCPageView":107,"./CCPageViewIndicator":108,"./CCProgressBar":109,"./CCRichText":void 0,"./CCSafeArea":111,"./CCScrollBar":112,"./CCScrollView":113,"./CCSlider":114,"./CCSprite":115,"./CCToggle":void 0,"./CCToggleContainer":void 0,"./CCToggleGroup":void 0,"./CCWidget":118,"./SubContextView":void 0,"./editbox/CCEditBox":119,"./missing-script":125}],125:[(function(t,e){"use strict";var i=cc.js,n=cc.Class({name:"cc.MissingScript",extends:cc.Component,editor:{inspector:"packages://inspector/inspectors/comps/missing-script.js"},properties:{compiled:{default:!1,serializable:!1},_$erialized:{default:null,visible:!1,editorOnly:!0}},ctor:!1,statics:{safeFindClass:function(t){return i._getClassById(t)||(cc.deserialize.reportMissingClass(t),n)}},onLoad:function(){cc.warnID(4600,this.node.name)}});cc._MissingScript=e.exports=n}),{}],126:[(function(t,e){"use strict";var i=cc.js;t("../event/event");var n=function(t,e){cc.Event.call(this,cc.Event.MOUSE,e),this._eventType=t,this._button=0,this._x=0,this._y=0,this._prevX=0,this._prevY=0,this._scrollX=0,this._scrollY=0};i.extend(n,cc.Event);var r=n.prototype;r.setScrollData=function(t,e){this._scrollX=t,this._scrollY=e},r.getScrollX=function(){return this._scrollX},r.getScrollY=function(){return this._scrollY},r.setLocation=function(t,e){this._x=t,this._y=e},r.getLocation=function(){return cc.v2(this._x,this._y)},r.getLocationInView=function(){return cc.v2(this._x,cc.view._designResolutionSize.height-this._y)},r._setPrevCursor=function(t,e){this._prevX=t,this._prevY=e},r.getPreviousLocation=function(){return cc.v2(this._prevX,this._prevY)},r.getDelta=function(){return cc.v2(this._x-this._prevX,this._y-this._prevY)},r.getDeltaX=function(){return this._x-this._prevX},r.getDeltaY=function(){return this._y-this._prevY},r.setButton=function(t){this._button=t},r.getButton=function(){return this._button},r.getLocationX=function(){return this._x},r.getLocationY=function(){return this._y},n.NONE=0,n.DOWN=1,n.UP=2,n.MOVE=3,n.SCROLL=4,n.BUTTON_LEFT=0,n.BUTTON_RIGHT=2,n.BUTTON_MIDDLE=1,n.BUTTON_4=3,n.BUTTON_5=4,n.BUTTON_6=5,n.BUTTON_7=6,n.BUTTON_8=7;var s=function(t,e){cc.Event.call(this,cc.Event.TOUCH,e),this._eventCode=0,this._touches=t||[],this.touch=null,this.currentTouch=null};i.extend(s,cc.Event),(r=s.prototype).getEventCode=function(){return this._eventCode},r.getTouches=function(){return this._touches},r._setEventCode=function(t){this._eventCode=t},r._setTouches=function(t){this._touches=t},r.setLocation=function(t,e){this.touch&&this.touch.setTouchInfo(this.touch.getID(),t,e)},r.getLocation=function(){return this.touch?this.touch.getLocation():cc.v2()},r.getLocationInView=function(){return this.touch?this.touch.getLocationInView():cc.v2()},r.getPreviousLocation=function(){return this.touch?this.touch.getPreviousLocation():cc.v2()},r.getStartLocation=function(){return this.touch?this.touch.getStartLocation():cc.v2()},r.getID=function(){return this.touch?this.touch.getID():null},r.getDelta=function(){return this.touch?this.touch.getDelta():cc.v2()},r.getDeltaX=function(){return this.touch?this.touch.getDelta().x:0},r.getDeltaY=function(){return this.touch?this.touch.getDelta().y:0},r.getLocationX=function(){return this.touch?this.touch.getLocationX():0},r.getLocationY=function(){return this.touch?this.touch.getLocationY():0},s.MAX_TOUCHES=5,s.BEGAN=0,s.MOVED=1,s.ENDED=2,s.CANCELED=3;var a=function(t,e){cc.Event.call(this,cc.Event.ACCELERATION,e),this.acc=t};i.extend(a,cc.Event);var o=function(t,e,i){cc.Event.call(this,cc.Event.KEYBOARD,i),this.keyCode=t,this.isPressed=e};i.extend(o,cc.Event),cc.Event.EventMouse=n,cc.Event.EventTouch=s,cc.Event.EventAcceleration=a,cc.Event.EventKeyboard=o,e.exports=cc.Event}),{"../event/event":133}],127:[(function(t,e){"use strict";var i=t("../platform/js");cc.EventListener=function(t,e,i){this._onEvent=i,this._type=t||0,this._listenerID=e||"",this._registered=!1,this._fixedPriority=0,this._node=null,this._target=null,this._paused=!0,this._isEnabled=!0},cc.EventListener.prototype={constructor:cc.EventListener,_setPaused:function(t){this._paused=t},_isPaused:function(){return this._paused},_setRegistered:function(t){this._registered=t},_isRegistered:function(){return this._registered},_getType:function(){return this._type},_getListenerID:function(){return this._listenerID},_setFixedPriority:function(t){this._fixedPriority=t},_getFixedPriority:function(){return this._fixedPriority},_setSceneGraphPriority:function(t){this._target=t,this._node=t},_getSceneGraphPriority:function(){return this._node},checkAvailable:function(){return null!==this._onEvent},clone:function(){return null},setEnabled:function(t){this._isEnabled=t},isEnabled:function(){return this._isEnabled},retain:function(){},release:function(){}},cc.EventListener.UNKNOWN=0,cc.EventListener.TOUCH_ONE_BY_ONE=1,cc.EventListener.TOUCH_ALL_AT_ONCE=2,cc.EventListener.KEYBOARD=3,cc.EventListener.MOUSE=4,cc.EventListener.ACCELERATION=6,cc.EventListener.CUSTOM=8;var n=cc.EventListener.ListenerID={MOUSE:"__cc_mouse",TOUCH_ONE_BY_ONE:"__cc_touch_one_by_one",TOUCH_ALL_AT_ONCE:"__cc_touch_all_at_once",KEYBOARD:"__cc_keyboard",ACCELERATION:"__cc_acceleration"},r=function(t,e){this._onCustomEvent=e,cc.EventListener.call(this,cc.EventListener.CUSTOM,t,this._callback)};i.extend(r,cc.EventListener),i.mixin(r.prototype,{_onCustomEvent:null,_callback:function(t){null!==this._onCustomEvent&&this._onCustomEvent(t)},checkAvailable:function(){return cc.EventListener.prototype.checkAvailable.call(this)&&null!==this._onCustomEvent},clone:function(){return new r(this._listenerID,this._onCustomEvent)}});var s=function(){cc.EventListener.call(this,cc.EventListener.MOUSE,n.MOUSE,this._callback)};i.extend(s,cc.EventListener),i.mixin(s.prototype,{onMouseDown:null,onMouseUp:null,onMouseMove:null,onMouseScroll:null,_callback:function(t){var e=cc.Event.EventMouse;switch(t._eventType){case e.DOWN:this.onMouseDown&&this.onMouseDown(t);break;case e.UP:this.onMouseUp&&this.onMouseUp(t);break;case e.MOVE:this.onMouseMove&&this.onMouseMove(t);break;case e.SCROLL:this.onMouseScroll&&this.onMouseScroll(t)}},clone:function(){var t=new s;return t.onMouseDown=this.onMouseDown,t.onMouseUp=this.onMouseUp,t.onMouseMove=this.onMouseMove,t.onMouseScroll=this.onMouseScroll,t},checkAvailable:function(){return!0}});var a=function(){cc.EventListener.call(this,cc.EventListener.TOUCH_ONE_BY_ONE,n.TOUCH_ONE_BY_ONE,null),this._claimedTouches=[]};i.extend(a,cc.EventListener),i.mixin(a.prototype,{constructor:a,_claimedTouches:null,swallowTouches:!1,onTouchBegan:null,onTouchMoved:null,onTouchEnded:null,onTouchCancelled:null,setSwallowTouches:function(t){this.swallowTouches=t},isSwallowTouches:function(){return this.swallowTouches},clone:function(){var t=new a;return t.onTouchBegan=this.onTouchBegan,t.onTouchMoved=this.onTouchMoved,t.onTouchEnded=this.onTouchEnded,t.onTouchCancelled=this.onTouchCancelled,t.swallowTouches=this.swallowTouches,t},checkAvailable:function(){return!!this.onTouchBegan||(cc.logID(1801),!1)}});var o=function(){cc.EventListener.call(this,cc.EventListener.TOUCH_ALL_AT_ONCE,n.TOUCH_ALL_AT_ONCE,null)};i.extend(o,cc.EventListener),i.mixin(o.prototype,{constructor:o,onTouchesBegan:null,onTouchesMoved:null,onTouchesEnded:null,onTouchesCancelled:null,clone:function(){var t=new o;return t.onTouchesBegan=this.onTouchesBegan,t.onTouchesMoved=this.onTouchesMoved,t.onTouchesEnded=this.onTouchesEnded,t.onTouchesCancelled=this.onTouchesCancelled,t},checkAvailable:function(){return null!==this.onTouchesBegan||null!==this.onTouchesMoved||null!==this.onTouchesEnded||null!==this.onTouchesCancelled||(cc.logID(1802),!1)}});var c=function(t){this._onAccelerationEvent=t,cc.EventListener.call(this,cc.EventListener.ACCELERATION,n.ACCELERATION,this._callback)};i.extend(c,cc.EventListener),i.mixin(c.prototype,{constructor:c,_onAccelerationEvent:null,_callback:function(t){this._onAccelerationEvent(t.acc,t)},checkAvailable:function(){return cc.assertID(this._onAccelerationEvent,1803),!0},clone:function(){return new c(this._onAccelerationEvent)}});var u=function(){cc.EventListener.call(this,cc.EventListener.KEYBOARD,n.KEYBOARD,this._callback)};i.extend(u,cc.EventListener),i.mixin(u.prototype,{constructor:u,onKeyPressed:null,onKeyReleased:null,_callback:function(t){t.isPressed?this.onKeyPressed&&this.onKeyPressed(t.keyCode,t):this.onKeyReleased&&this.onKeyReleased(t.keyCode,t)},clone:function(){var t=new u;return t.onKeyPressed=this.onKeyPressed,t.onKeyReleased=this.onKeyReleased,t},checkAvailable:function(){return null!==this.onKeyPressed||null!==this.onKeyReleased||(cc.logID(1800),!1)}}),cc.EventListener.create=function(t){cc.assertID(t&&t.event,1900);var e=t.event;delete t.event;var i=null;for(var n in e===cc.EventListener.TOUCH_ONE_BY_ONE?i=new a:e===cc.EventListener.TOUCH_ALL_AT_ONCE?i=new o:e===cc.EventListener.MOUSE?i=new s:e===cc.EventListener.CUSTOM?(i=new r(t.eventName,t.callback),delete t.eventName,delete t.callback):e===cc.EventListener.KEYBOARD?i=new u:e===cc.EventListener.ACCELERATION&&(i=new c(t.callback),delete t.callback),t)i[n]=t[n];return i},e.exports=cc.EventListener}),{"../platform/js":170}],128:[(function(t,e){"use strict";var i=t("../platform/js");t("./CCEventListener");var n=cc.EventListener.ListenerID,r=function(){this._fixedListeners=[],this._sceneGraphListeners=[],this.gt0Index=0};r.prototype={constructor:r,size:function(){return this._fixedListeners.length+this._sceneGraphListeners.length},empty:function(){return 0===this._fixedListeners.length&&0===this._sceneGraphListeners.length},push:function(t){0===t._getFixedPriority()?this._sceneGraphListeners.push(t):this._fixedListeners.push(t)},clearSceneGraphListeners:function(){this._sceneGraphListeners.length=0},clearFixedListeners:function(){this._fixedListeners.length=0},clear:function(){this._sceneGraphListeners.length=0,this._fixedListeners.length=0},getFixedPriorityListeners:function(){return this._fixedListeners},getSceneGraphPriorityListeners:function(){return this._sceneGraphListeners}};var s=function(t){var e=cc.Event,i=t.type;return i===e.ACCELERATION?n.ACCELERATION:i===e.KEYBOARD?n.KEYBOARD:i.startsWith(e.MOUSE)?n.MOUSE:(i.startsWith(e.TOUCH)&&cc.logID(2e3),"")},a={DIRTY_NONE:0,DIRTY_FIXED_PRIORITY:1,DIRTY_SCENE_GRAPH_PRIORITY:2,DIRTY_ALL:3,_listenersMap:{},_priorityDirtyFlagMap:{},_nodeListenersMap:{},_toAddedListeners:[],_toRemovedListeners:[],_dirtyListeners:{},_inDispatch:0,_isEnabled:!1,_currentTouch:null,_currentTouchListener:null,_internalCustomListenerIDs:[],_setDirtyForNode:function(t){var e=this._nodeListenersMap[t._id];if(e)for(var i=0,n=e.length;i0)for(var s=t._children,a=0,o=s.length;a=0;i--)(e=t[i])._setRegistered(!1),null!=e._getSceneGraphPriority()&&(this._dissociateNodeAndEventListener(e._getSceneGraphPriority(),e),e._setSceneGraphPriority(null)),0===this._inDispatch&&cc.js.array.removeAt(t,i)},_removeListenersForListenerID:function(t){var e,i=this._listenersMap[t];if(i){var n=i.getFixedPriorityListeners(),r=i.getSceneGraphPriorityListeners();this._removeAllListenersInVector(r),this._removeAllListenersInVector(n),delete this._priorityDirtyFlagMap[t],this._inDispatch||(i.clear(),delete this._listenersMap[t])}var s,a=this._toAddedListeners;for(e=a.length-1;e>=0;e--)(s=a[e])&&s._getListenerID()===t&&cc.js.array.removeAt(a,e)},_sortEventListeners:function(t){var e=this.DIRTY_NONE,i=this._priorityDirtyFlagMap;i[t]&&(e=i[t]),e!==this.DIRTY_NONE&&(i[t]=this.DIRTY_NONE,e&this.DIRTY_FIXED_PRIORITY&&this._sortListenersOfFixedPriority(t),e&this.DIRTY_SCENE_GRAPH_PRIORITY&&cc.director.getScene()&&this._sortListenersOfSceneGraphPriority(t))},_sortListenersOfSceneGraphPriority:function(t){var e=this._getListeners(t);if(e){var i=e.getSceneGraphPriorityListeners();i&&0!==i.length&&e.getSceneGraphPriorityListeners().sort(this._sortEventListenersOfSceneGraphPriorityDes)}},_sortEventListenersOfSceneGraphPriorityDes:function(t,e){var i=t._getSceneGraphPriority(),n=e._getSceneGraphPriority();if(!(e&&n&&n._activeInHierarchy&&null!==n._parent))return-1;if(!t||!i||!i._activeInHierarchy||null===i._parent)return 1;for(var r=i,s=n,a=!1;r._parent._id!==s._parent._id;)r=null===r._parent._parent?(a=!0)&&n:r._parent,s=null===s._parent._parent?(a=!0)&&i:s._parent;if(r._id===s._id){if(r._id===n._id)return-1;if(r._id===i._id)return 1}return a?r._localZOrder-s._localZOrder:s._localZOrder-r._localZOrder},_sortListenersOfFixedPriority:function(t){var e=this._listenersMap[t];if(e){var i=e.getFixedPriorityListeners();if(i&&0!==i.length){i.sort(this._sortListenersOfFixedPriorityAsc);for(var n=0,r=i.length;n=0);)++n;e.gt0Index=n}}},_sortListenersOfFixedPriorityAsc:function(t,e){return t._getFixedPriority()-e._getFixedPriority()},_onUpdateListeners:function(t){var e,i,n,r=t.getFixedPriorityListeners(),s=t.getSceneGraphPriorityListeners(),a=this._toRemovedListeners;if(s)for(e=s.length-1;e>=0;e--)(i=s[e])._isRegistered()||(cc.js.array.removeAt(s,e),-1!==(n=a.indexOf(i))&&a.splice(n,1));if(r)for(e=r.length-1;e>=0;e--)(i=r[e])._isRegistered()||(cc.js.array.removeAt(r,e),-1!==(n=a.indexOf(i))&&a.splice(n,1));s&&0===s.length&&t.clearSceneGraphListeners(),r&&0===r.length&&t.clearFixedListeners()},frameUpdateListeners:function(){var t=this._listenersMap,e=this._priorityDirtyFlagMap;for(var i in t)t[i].empty()&&(delete e[i],delete t[i]);var n=this._toAddedListeners;if(0!==n.length){for(var r=0,s=n.length;r0,3508),!(t>1)){var e;(e=this._listenersMap[n.TOUCH_ONE_BY_ONE])&&this._onUpdateListeners(e),(e=this._listenersMap[n.TOUCH_ALL_AT_ONCE])&&this._onUpdateListeners(e),cc.assertID(1===t,3509);var i=this._toAddedListeners;if(0!==i.length){for(var r=0,s=i.length;r0&&-1!==(r=t._claimedTouches.indexOf(n))){if(s=!0,!cc.macro.ENABLE_MULTI_TOUCH&&a._currentTouch&&a._currentTouch!==n)return!1;o===c.MOVED&&t.onTouchMoved?t.onTouchMoved(n,i):o===c.ENDED?(t.onTouchEnded&&t.onTouchEnded(n,i),t._registered&&t._claimedTouches.splice(r,1),a._clearCurTouch()):o===c.CANCELED&&(t.onTouchCancelled&&t.onTouchCancelled(n,i),t._registered&&t._claimedTouches.splice(r,1),a._clearCurTouch())}return i.isStopped()?(a._updateTouchListeners(i),!0):!(!s||!t.swallowTouches||(e.needsMutableSet&&e.touches.splice(n,1),0))},_dispatchTouchEvent:function(t){this._sortEventListeners(n.TOUCH_ONE_BY_ONE),this._sortEventListeners(n.TOUCH_ALL_AT_ONCE);var e=this._getListeners(n.TOUCH_ONE_BY_ONE),i=this._getListeners(n.TOUCH_ALL_AT_ONCE);if(null!==e||null!==i){var r=t.getTouches(),s=cc.js.array.copy(r),a={event:t,needsMutableSet:e&&i,touches:s,selTouch:null};if(e)for(var o=0;o0&&(this._dispatchEventToListeners(i,this._onTouchesEventCallback,{event:t,touches:s}),t.isStopped())||this._updateTouchListeners(t)}},_onTouchesEventCallback:function(t,e){if(!t._registered)return!1;var i=cc.Event.EventTouch,n=e.event,r=e.touches,s=n.getEventCode();return n.currentTarget=t._node,s===i.BEGAN&&t.onTouchesBegan?t.onTouchesBegan(r,n):s===i.MOVED&&t.onTouchesMoved?t.onTouchesMoved(r,n):s===i.ENDED&&t.onTouchesEnded?t.onTouchesEnded(r,n):s===i.CANCELED&&t.onTouchesCancelled&&t.onTouchesCancelled(r,n),!!n.isStopped()&&(a._updateTouchListeners(n),!0)},_associateNodeAndEventListener:function(t,e){var i=this._nodeListenersMap[t._id];i||(i=[],this._nodeListenersMap[t._id]=i),i.push(e)},_dissociateNodeAndEventListener:function(t,e){var i=this._nodeListenersMap[t._id];i&&(cc.js.array.remove(i,e),0===i.length&&delete this._nodeListenersMap[t._id])},_dispatchEventToListeners:function(t,e,i){var n,r,s=!1,a=t.getFixedPriorityListeners(),o=t.getSceneGraphPriorityListeners(),c=0;if(a&&0!==a.length)for(;c=0;c--){var u=o[c];if(u===t){cc.js.array.removeAt(o,c),u._setRegistered(!1);break}}this._currentTouchListener===t&&this._clearCurTouch()}},_clearCurTouch:function(){this._currentTouchListener=null,this._currentTouch=null},_removeListenerInCallback:function(t,e){if(null==t)return!1;for(var i=t.length-1;i>=0;i--){var n=t[i];if(n._onCustomEvent===e||n._onEvent===e)return n._setRegistered(!1),null!=n._getSceneGraphPriority()&&(this._dissociateNodeAndEventListener(n._getSceneGraphPriority(),n),n._setSceneGraphPriority(null)),0===this._inDispatch?cc.js.array.removeAt(t,i):this._toRemovedListeners.push(n),!0}return!1},_removeListenerInVector:function(t,e){if(null==t)return!1;for(var i=t.length-1;i>=0;i--){var n=t[i];if(n===e)return n._setRegistered(!1),null!=n._getSceneGraphPriority()&&(this._dissociateNodeAndEventListener(n._getSceneGraphPriority(),n),n._setSceneGraphPriority(null)),0===this._inDispatch?cc.js.array.removeAt(t,i):this._toRemovedListeners.push(n),!0}return!1},removeListeners:function(t,e){var i=this;if(cc.js.isNumber(t)||t instanceof cc._BaseNode)if(void 0!==t._id){var r,s=i._nodeListenersMap[t._id];if(s){var a=cc.js.array.copy(s);for(r=0;r=0;i--){var n=e[i];n&&this.off(t,n.callback,n.target)}},cc.EventTarget=e.exports=s}),{"../platform/callbacks-invoker":162,"../platform/js":170}],133:[(function(t,e){"use strict";var i=t("../platform/js");cc.Event=function(t,e){this.type=t,this.bubbles=!!e,this.target=null,this.currentTarget=null,this.eventPhase=0,this._propagationStopped=!1,this._propagationImmediateStopped=!1},cc.Event.prototype={constructor:cc.Event,unuse:function(){this.type=cc.Event.NO_TYPE,this.target=null,this.currentTarget=null,this.eventPhase=cc.Event.NONE,this._propagationStopped=!1,this._propagationImmediateStopped=!1},reuse:function(t,e){this.type=t,this.bubbles=e||!1},stopPropagation:function(){this._propagationStopped=!0},stopPropagationImmediate:function(){this._propagationImmediateStopped=!0},isStopped:function(){return this._propagationStopped||this._propagationImmediateStopped},getCurrentTarget:function(){return this.currentTarget},getType:function(){return this.type}},cc.Event.NO_TYPE="no_type",cc.Event.TOUCH="touch",cc.Event.MOUSE="mouse",cc.Event.KEYBOARD="keyboard",cc.Event.ACCELERATION="acceleration",cc.Event.NONE=0,cc.Event.CAPTURING_PHASE=1,cc.Event.AT_TARGET=2,cc.Event.BUBBLING_PHASE=3;var n=function(t,e){cc.Event.call(this,t,e),this.detail=null};i.extend(n,cc.Event),n.prototype.reset=n,n.prototype.setUserData=function(t){this.detail=t},n.prototype.getUserData=function(){return this.detail},n.prototype.getEventName=cc.Event.prototype.getType;var r=new i.Pool(10);n.put=function(t){r.put(t)},n.get=function(t,e){var i=r._get();return i?i.reset(t,e):i=new n(t,e),i},cc.Event.EventCustom=n,e.exports=cc.Event}),{"../platform/js":170}],134:[(function(t){"use strict";t("./event"),t("./event-listeners"),t("./event-target"),t("./system-event")}),{"./event":133,"./event-listeners":131,"./event-target":132,"./system-event":135}],135:[(function(t,e){"use strict";var i=t("../event/event-target"),n=t("../event-manager"),r=t("../platform/CCInputManager"),s=cc.Enum({KEY_DOWN:"keydown",KEY_UP:"keyup",DEVICEMOTION:"devicemotion"}),a=null,o=null,c=cc.Class({name:"SystemEvent",extends:i,statics:{EventType:s},setAccelerometerEnabled:function(t){t&&window.DeviceMotionEvent&&"function"==typeof DeviceMotionEvent.requestPermission?DeviceMotionEvent.requestPermission().then((function(t){console.log("Device Motion Event request permission: "+t),r.setAccelerometerEnabled("granted"===t)})):r.setAccelerometerEnabled(t)},setAccelerometerInterval:function(t){r.setAccelerometerInterval(t)},on:function(t,e,i,r){this._super(t,e,i,r),t!==s.KEY_DOWN&&t!==s.KEY_UP||(a||(a=cc.EventListener.create({event:cc.EventListener.KEYBOARD,onKeyPressed:function(t,e){e.type=s.KEY_DOWN,cc.systemEvent.dispatchEvent(e)},onKeyReleased:function(t,e){e.type=s.KEY_UP,cc.systemEvent.dispatchEvent(e)}})),n.hasEventListener(cc.EventListener.ListenerID.KEYBOARD)||n.addListener(a,1)),t===s.DEVICEMOTION&&(o||(o=cc.EventListener.create({event:cc.EventListener.ACCELERATION,callback:function(t,e){e.type=s.DEVICEMOTION,cc.systemEvent.dispatchEvent(e)}})),n.hasEventListener(cc.EventListener.ListenerID.ACCELERATION)||n.addListener(o,1))},off:function(t,e,i){if(this._super(t,e,i),a&&(t===s.KEY_DOWN||t===s.KEY_UP)){var r=this.hasEventListener(s.KEY_DOWN),c=this.hasEventListener(s.KEY_UP);r||c||n.removeListener(a)}o&&t===s.DEVICEMOTION&&n.removeListener(o)}});cc.SystemEvent=e.exports=c,cc.systemEvent=new cc.SystemEvent}),{"../event-manager":130,"../event/event-target":132,"../platform/CCInputManager":153}],136:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=a(t("../value-types/vec3")),r=a(t("../value-types/mat3")),s=a(t("./enums"));function a(t){return t&&t.__esModule?t:{default:t}}var o=new n.default,c=new n.default,u=new r.default,l=function(t,e,i){var r=u.m,s=i.m;r[0]=Math.abs(s[0]),r[1]=Math.abs(s[1]),r[2]=Math.abs(s[2]),r[3]=Math.abs(s[4]),r[4]=Math.abs(s[5]),r[5]=Math.abs(s[6]),r[6]=Math.abs(s[8]),r[7]=Math.abs(s[9]),r[8]=Math.abs(s[10]),n.default.transformMat3(t,e,u)},h=(function(){function t(t,e,i,r,a,o){this.center=void 0,this.halfExtents=void 0,this._type=void 0,this._type=s.default.SHAPE_AABB,this.center=new n.default(t,e,i),this.halfExtents=new n.default(r,a,o)}t.create=function(e,i,n,r,s,a){return new t(e,i,n,r,s,a)},t.clone=function(e){return new t(e.center.x,e.center.y,e.center.z,e.halfExtents.x,e.halfExtents.y,e.halfExtents.z)},t.copy=function(t,e){return n.default.copy(t.center,e.center),n.default.copy(t.halfExtents,e.halfExtents),t},t.fromPoints=function(t,e,i){return n.default.scale(t.center,n.default.add(o,e,i),.5),n.default.scale(t.halfExtents,n.default.sub(c,i,e),.5),t},t.set=function(t,e,i,r,s,a,o){return n.default.set(t.center,e,i,r),n.default.set(t.halfExtents,s,a,o),t};var e=t.prototype;return e.getBoundary=function(t,e){n.default.sub(t,this.center,this.halfExtents),n.default.add(e,this.center,this.halfExtents)},e.transform=function(t,e,i,r,s){s||(s=this),n.default.transformMat4(s.center,this.center,t),l(s.halfExtents,this.halfExtents,t)},t})();i.default=h,e.exports=i.default}),{"../value-types/mat3":239,"../value-types/vec3":248,"./enums":137}],137:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0,i.default={SHAPE_RAY:1,SHAPE_LINE:2,SHAPE_SPHERE:4,SHAPE_AABB:8,SHAPE_OBB:16,SHAPE_PLANE:32,SHAPE_TRIANGLE:64,SHAPE_FRUSTUM:128,SHAPE_FRUSTUM_ACCURATE:256},e.exports=i.default}),{}],138:[(function(t,e){"use strict";var i=t("../components/CCRenderComponent"),n=t("../assets/material/CCMaterial"),r=t("./types"),s=r.LineCap,a=r.LineJoin,o=cc.Class({name:"cc.Graphics",extends:i,editor:!1,ctor:function(){this._impl=new o._Impl(this)},properties:{_lineWidth:2,_strokeColor:cc.Color.BLACK,_lineJoin:a.MITER,_lineCap:s.BUTT,_fillColor:cc.Color.WHITE,_miterLimit:10,lineWidth:{get:function(){return this._lineWidth},set:function(t){this._lineWidth=t,this._impl.lineWidth=t}},lineJoin:{get:function(){return this._lineJoin},set:function(t){this._lineJoin=t,this._impl.lineJoin=t},type:a},lineCap:{get:function(){return this._lineCap},set:function(t){this._lineCap=t,this._impl.lineCap=t},type:s},strokeColor:{get:function(){return this._strokeColor},set:function(t){this._impl.strokeColor=this._strokeColor=cc.color(t)}},fillColor:{get:function(){return this._fillColor},set:function(t){this._impl.fillColor=this._fillColor=cc.color(t)}},miterLimit:{get:function(){return this._miterLimit},set:function(t){this._miterLimit=t,this._impl.miterLimit=t}}},statics:{LineJoin:a,LineCap:s},onRestore:function(){this._impl||(this._impl=new o._Impl(this))},onDestroy:function(){this.clear(!0),this._super(),this._impl=null},_getDefaultMaterial:function(){return n.getBuiltinMaterial("2d-graphics")},_updateMaterial:function(){var t=this._materials[0];t&&(void 0!==t.getDefine("CC_USE_MODEL")&&t.define("CC_USE_MODEL",!0),void 0!==t.getDefine("CC_SUPPORT_standard_derivatives")&&cc.sys.glExtension("OES_standard_derivatives")&&t.define("CC_SUPPORT_standard_derivatives",!0))},moveTo:function(t,e){this._impl.moveTo(t,e)},lineTo:function(t,e){this._impl.lineTo(t,e)},bezierCurveTo:function(t,e,i,n,r,s){this._impl.bezierCurveTo(t,e,i,n,r,s)},quadraticCurveTo:function(t,e,i,n){this._impl.quadraticCurveTo(t,e,i,n)},arc:function(t,e,i,n,r,s){this._impl.arc(t,e,i,n,r,s)},ellipse:function(t,e,i,n){this._impl.ellipse(t,e,i,n)},circle:function(t,e,i){this._impl.circle(t,e,i)},rect:function(t,e,i,n){this._impl.rect(t,e,i,n)},roundRect:function(t,e,i,n,r){this._impl.roundRect(t,e,i,n,r)},fillRect:function(t,e,i,n){this.rect(t,e,i,n),this.fill()},clear:function(t){this._impl.clear(t),this._assembler&&this._assembler.clear(t)},close:function(){this._impl.close()},stroke:function(){this._assembler||this._resetAssembler(),this._assembler.stroke(this)},fill:function(){this._assembler||this._resetAssembler(),this._assembler.fill(this)}});cc.Graphics=e.exports=o,cc.Graphics.Types=r,cc.Graphics.Helper=t("./helper")}),{"../assets/material/CCMaterial":77,"../components/CCRenderComponent":110,"./helper":139,"./types":141}],139:[(function(t,e){"use strict";var i=t("./types").PointFlags,n=Math.PI,r=Math.min,s=Math.max,a=Math.cos,o=Math.sin,c=Math.abs,u=Math.sign,l=.5522847493;e.exports={arc:function(t,e,i,u,l,h,_){var f,d,p,v=0,g=0,m=0,y=0,T=0,E=0,A=0,C=0,x=0,b=0,S=0,R=0,w=0;if(g=h-l,_=_||!1)if(c(g)>=2*n)g=2*n;else for(;g<0;)g+=2*n;else if(c(g)>=2*n)g=2*-n;else for(;g>0;)g-=2*n;for(p=0|s(1,r(c(g)/(.5*n)+.5,5)),m=c(4/3*(1-a(f=g/p/2))/o(f)),_||(m=-m),d=0;d<=p;d++)E=e+(y=a(v=l+g*(d/p)))*u,A=i+(T=o(v))*u,C=-T*u*m,x=y*u*m,0===d?t.moveTo(E,A):t.bezierCurveTo(b+R,S+w,E-C,A-x,E,A),b=E,S=A,R=C,w=x},ellipse:function(t,e,i,n,r){t.moveTo(e-n,i),t.bezierCurveTo(e-n,i+r*l,e-n*l,i+r,e,i+r),t.bezierCurveTo(e+n*l,i+r,e+n,i+r*l,e+n,i),t.bezierCurveTo(e+n,i-r*l,e+n*l,i-r,e,i-r),t.bezierCurveTo(e-n*l,i-r,e-n,i-r*l,e-n,i),t.close()},roundRect:function(t,e,i,n,s,a){if(a<.1)t.rect(e,i,n,s);else{var o=r(a,.5*c(n))*u(n),h=r(a,.5*c(s))*u(s);t.moveTo(e,i+h),t.lineTo(e,i+s-h),t.bezierCurveTo(e,i+s-h*(1-l),e+o*(1-l),i+s,e+o,i+s),t.lineTo(e+n-o,i+s),t.bezierCurveTo(e+n-o*(1-l),i+s,e+n,i+s-h*(1-l),e+n,i+s-h),t.lineTo(e+n,i+h),t.bezierCurveTo(e+n,i+h*(1-l),e+n-o*(1-l),i,e+n-o,i),t.lineTo(e+o,i),t.bezierCurveTo(e+o*(1-l),i,e,i+h*(1-l),e,i+h),t.close()}},tesselateBezier:function t(e,n,r,s,a,o,u,l,h,_,f){var d,p,v,g,m,y,T,E,A,C,x,b,S,R,w,I;_>10||(m=.5*(o+l),y=.5*(u+h),T=.5*((d=.5*(n+s))+(v=.5*(s+o))),E=.5*((p=.5*(r+a))+(g=.5*(a+u))),((w=c((s-l)*(R=h-r)-(a-h)*(S=l-n)))+(I=c((o-l)*R-(u-h)*S)))*(w+I)0){for(var p=new DataView(i,r),v=n,g=c.num,m=0;m0||this.disableRender()},_updateMaterial:function(){var t=this.textures;if(t&&t.length>0)for(var e=this._getDefaultMaterial(),i=0;i>2,f=l.vertexOffset,d=u._vData,p=u._iData;!i.worldMatDirty&&this._worldDatas[n]||this._updateWorldVertices(n,a,r,s,t.node._worldMatrix),d.set(this._worldDatas[n],_);for(var v=0;v0?a:null,!0);var h=o.prototype;if(e&&(l||(i.extend(o,e),h=o.prototype),o.$super=e),n){for(var _=n.length-1;_>=0;_--){var f=n[_];p(h,f.prototype),p(o,f,(function(t){return f.hasOwnProperty(t)&&!0})),w._isCCClass(f)&&p(s.getClassAttrs(o),s.getClassAttrs(f))}h.constructor=o}return l||(h.__initProps__=A),i.setClassName(t,o),o}function g(t,e,n,r){var s=cc.Component,a=cc._RF.peek();if(a&&i.isChildClassOf(e,s)){if(i.isChildClassOf(a.cls,s))return cc.errorID(3615),null;t=t||a.script}var o=v(t,e,n,r);if(a)if(i.isChildClassOf(e,s)){var c=a.uuid;c&&i._setClassId(c,o),a.cls=o}else i.isChildClassOf(a.cls,s)||(a.cls=o);return o}function m(t){for(var e=i.getClassName(t),n=t.constructor,r="new "+e+"(",s=0;s0){var a="].apply(this,arguments);\n";if(1===s)r+="CCClass.__ctors__[0"+a;else{r+="var cs=CCClass.__ctors__;\n";for(var o=0;o=0)){var s=e[r];if("function"==typeof s){var a=i.getPropertyDescriptor(t.prototype,r);if(a){var o=a.value;if("function"==typeof o){b.test(s)&&(n=!0,e[r]=(function(t,e){return function(){var i=this._super;this._super=t;var n=e.apply(this,arguments);return this._super=i,n}})(o,s));continue}}}}return n}function R(t,e,i,n,r,c){if(t.__props__=[],n&&n.__props__&&(t.__props__=n.__props__.slice()),r)for(var u=0;u=0)){var f=t[_];o.validateMethodWithProps(f,_,e,s,n)&&i.value(s.prototype,_,f,!0,!0)}var d=t.editor;return d&&cc.Component._registerEditorProps(s,d),s}/xyz/.test((function(){xyz})),w._isCCClass=function(t){return t&&t.hasOwnProperty("__ctors__")},w._fastDefine=function(t,e,n){i.setClassName(t,e);for(var r=e.__props__=e.__values__=Object.keys(n),o=s.getClassAttrs(e),c=0;c=2&&((o||u())[c+"min"]=_[0],o[c+"max"]=_[1],_.length>2&&(o[c+"step"]=_[2])),h("min","number"),h("max","number"),h("step","number"),h("userData","object")}cc.Class=w,e.exports={isArray:function(t){return t=d(t),Array.isArray(t)},fastDefine:w._fastDefine,getNewValueTypeCode:m,IDENTIFIER_RE:E,escapeForJS:y,getDefault:d}}),{"./CCEnum":151,"./attribute":161,"./js":170,"./preprocess-class":171,"./requiring-frame":172,"./utils":173}],150:[(function(t,e){"use strict";t("./CCClass");var i=t("./preprocess-class"),n=t("./js"),r="__ccclassCache__";function s(t){return t}function a(t,e){return t[e]||(t[e]={})}function o(t){return function(e){return"function"==typeof e?t(e):function(i){return t(i,e)}}}function c(t,e){return function(t){return function(i){return e(i,t)}}}var u=c.bind(null,!1);function l(){return c.bind(null,!1)}var h=l(),_=l();function f(t){return a(t,r)}function d(t){var e;try{e=t()}catch(i){return t}return"object"!=typeof e||null===e?e:t}function p(t){var e;try{e=new t}catch(i){return{}}return e}function v(t,e,r,s,a,o){var c,u=a&&(a.get||a.set);s&&(c=i.getFullFormOfProperty(s,u));var l=e[r],h=n.mixin(l||{},c||s||{});if(u)a.get&&(h.get=a.get),a.set&&(h.set=a.set);else{var _=void 0;if(a)a.initializer&&(_=d(a.initializer));else{var f=o.default||(o.default=p(t));f.hasOwnProperty(r)&&(_=f[r])}h.default=_}e[r]=h}var g=o((function(t,e){var i=n.getSuper(t);i===Object&&(i=null);var s={name:e,extends:i,ctor:t,__ES6__:!0},a=t[r];if(a){var o=a.proto;o&&n.mixin(s,o),t[r]=void 0}return cc.Class(s)}));function m(t,e,i){return t((function(t,n){var r=f(t);if(r){var s=void 0!==i?i:n,o=a(r,"proto");a(o,"editor")[e]=s}}),e)}function y(t){return t(s)}var T=y(o),E=m(u,"requireComponent"),A=y(h),C=m(_,"executionOrder"),x=y(o),b=y(o),S=y(h),R=y(h),w=y(h);cc._decorator=e.exports={ccclass:g,property:function(t,e,i){var n=null;function r(t,e,i){var r=f(t.constructor);if(r){var s=a(r,"proto"),o=a(s,"properties");v(t.constructor,o,e,n,i,r)}}if(void 0===e)return n=t,r;r(t,e,i)},executeInEditMode:T,requireComponent:E,menu:A,executionOrder:C,disallowMultiple:x,playOnFocus:b,inspector:S,icon:R,help:w,mixins:function(){for(var t=[],e=0;ee){var l=u.getID();delete a[l],delete o[l],this._touchCount--,-1===r?(r=c,this._indexBitsUsed|=1<>=1}return r},_glView:null,_updateCanvasBoundingRect:function(){var t=cc.game.canvas,e=this._canvasBoundingRect,i=document.documentElement,n=window.pageXOffset-i.clientLeft,r=window.pageYOffset-i.clientTop;if(t.getBoundingClientRect){var s=t.getBoundingClientRect();e.left=s.left+n,e.top=s.top+r,e.width=s.width,e.height=s.height}else t instanceof HTMLCanvasElement?(e.left=n,e.top=r,e.width=t.width,e.height=t.height):(e.left=n,e.top=r,e.width=parseInt(t.style.width),e.height=parseInt(t.style.height))},handleTouchesBegin:function(t){for(var e,i,s=n.now(),a=[],o=this._touches,c=this._touchesIntegerDict,u=this._touchesCache,l=0,h=t.length;l0){this._glView._convertTouchesWithScale(a);var d=new cc.Event.EventTouch(a);d._eventCode=cc.Event.EventTouch.BEGAN,r.dispatchEvent(d)}},handleTouchesMove:function(t){for(var e,i,s=n.now(),a=[],o=this._touches,c=this._touchesIntegerDict,u=0,l=t.length;u0){this._glView._convertTouchesWithScale(a);var _=new cc.Event.EventTouch(a);_._eventCode=cc.Event.EventTouch.MOVED,r.dispatchEvent(_)}},handleTouchesEnd:function(t){var e=this.getSetOfTouchesEndOrCancel(t);if(e.length>0){this._glView._convertTouchesWithScale(e);var i=new cc.Event.EventTouch(e);i._eventCode=cc.Event.EventTouch.ENDED,r.dispatchEvent(i)}this._preTouchPool.length=0},handleTouchesCancel:function(t){var e=this.getSetOfTouchesEndOrCancel(t);if(e.length>0){this._glView._convertTouchesWithScale(e);var i=new cc.Event.EventTouch(e);i._eventCode=cc.Event.EventTouch.CANCELED,r.dispatchEvent(i)}this._preTouchPool.length=0},getSetOfTouchesEndOrCancel:function(t){for(var e,i,n,r=[],s=this._touches,a=this._touchesIntegerDict,o=this._touchesCache,c=0,u=t.length;c=0;r--)if(i[r].getID()===n){e=i[r];break}return e||(e=t),e},setPreTouch:function(t){for(var e=!1,i=this._preTouchPool,n=t.getID(),r=i.length-1;r>=0;r--)if(i[r].getID()===n){i[r]=t,e=!0;break}e||(i.length<=50?i.push(t):(i[this._preTouchPoolPointer]=t,this._preTouchPoolPointer=(this._preTouchPoolPointer+1)%50))},getTouchByXY:function(t,e,i){var n=this._preTouchPoint,r=this._glView.convertToLocationInView(t,e,i),s=new cc.Touch(r.x,r.y,0);return s._setPrevPoint(n.x,n.y),n.x=r.x,n.y=r.y,s},getMouseEvent:function(t,e,i){var n=this._prevMousePoint,r=new cc.Event.EventMouse(i);return r._setPrevCursor(n.x,n.y),n.x=t.x,n.y=t.y,this._glView._convertMouseToLocationInView(n,e),r.setLocation(n.x,n.y),r},getPointByEvent:function(t,e){return cc.sys.browserType!==cc.sys.BROWSER_TYPE_QQ&&cc.sys.browserType!==cc.sys.BROWSER_TYPE_UC&&cc.sys.browserType!==cc.sys.BROWSER_TYPE_SAFARI||this._updateCanvasBoundingRect(),null!=t.pageX?{x:t.pageX,y:t.pageY}:(e.left-=document.body.scrollLeft,e.top-=document.body.scrollTop,{x:t.clientX,y:t.clientY})},getTouchesByEvent:function(t,e){for(var i,r,a,o=[],c=this._glView,u=this._preTouchPoint,l=t.changedTouches.length,h=0;hthis._accelInterval&&(this._accelCurTime-=this._accelInterval,r.dispatchEvent(new cc.Event.EventAcceleration(this._acceleration))),this._accelCurTime+=t}};e.exports=cc.internal.inputManager=a}),{"../event-manager":130,"./CCMacro":154,"./CCSys":158}],154:[(function(t,e){"use strict";cc.macro={RAD:Math.PI/180,DEG:180/Math.PI,REPEAT_FOREVER:Number.MAX_VALUE-1,FLT_EPSILON:1.192092896e-7,MIN_ZINDEX:-Math.pow(2,15),MAX_ZINDEX:Math.pow(2,15)-1,ONE:1,ZERO:0,SRC_ALPHA:770,SRC_ALPHA_SATURATE:776,SRC_COLOR:768,DST_ALPHA:772,DST_COLOR:774,ONE_MINUS_SRC_ALPHA:771,ONE_MINUS_SRC_COLOR:769,ONE_MINUS_DST_ALPHA:773,ONE_MINUS_DST_COLOR:775,ONE_MINUS_CONSTANT_ALPHA:32772,ONE_MINUS_CONSTANT_COLOR:32770,ORIENTATION_PORTRAIT:1,ORIENTATION_LANDSCAPE:2,ORIENTATION_AUTO:3,DENSITYDPI_DEVICE:"device-dpi",DENSITYDPI_HIGH:"high-dpi",DENSITYDPI_MEDIUM:"medium-dpi",DENSITYDPI_LOW:"low-dpi",FIX_ARTIFACTS_BY_STRECHING_TEXEL_TMX:!0,DIRECTOR_STATS_POSITION:cc.v2(0,0),ENABLE_STACKABLE_ACTIONS:!0,TOUCH_TIMEOUT:5e3,BATCH_VERTEX_COUNT:2e4,ENABLE_TILEDMAP_CULLING:!0,ENABLE_TRANSPARENT_CANVAS:!1,ENABLE_WEBGL_ANTIALIAS:!1,ENABLE_CULLING:!1,CLEANUP_IMAGE_CACHE:!1,SHOW_MESH_WIREFRAME:!1,SHOW_MESH_NORMAL:!1,ENABLE_MULTI_TOUCH:!0,ALLOW_IMAGE_BITMAP:!cc.sys.isMobile,ENABLE_NATIVE_TTF_RENDERER:!0},Object.defineProperty(cc.macro,"ROTATE_ACTION_CCW",{set:function(t){cc.RotateTo&&cc.RotateBy&&(cc.RotateTo._reverse=cc.RotateBy._reverse=t)}}),cc.macro.SUPPORT_TEXTURE_FORMATS=[".pkm",".pvr",".webp",".jpg",".jpeg",".bmp",".png"],cc.macro.KEY={none:0,back:6,menu:18,backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,pause:19,capslock:20,escape:27,space:32,pageup:33,pagedown:34,end:35,home:36,left:37,up:38,right:39,down:40,select:41,insert:45,Delete:46,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,a:65,b:66,c:67,d:68,e:69,f:70,g:71,h:72,i:73,j:74,k:75,l:76,m:77,n:78,o:79,p:80,q:81,r:82,s:83,t:84,u:85,v:86,w:87,x:88,y:89,z:90,num0:96,num1:97,num2:98,num3:99,num4:100,num5:101,num6:102,num7:103,num8:104,num9:105,"*":106,"+":107,"-":109,numdel:110,"/":111,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123,numlock:144,scrolllock:145,";":186,semicolon:186,equal:187,"=":187,",":188,comma:188,dash:189,".":190,period:190,forwardslash:191,grave:192,"[":219,openbracket:219,backslash:220,"]":221,closebracket:221,quote:222,dpadLeft:1e3,dpadRight:1001,dpadUp:1003,dpadDown:1004,dpadCenter:1005},cc.macro.ImageFormat=cc.Enum({JPG:0,PNG:1,TIFF:2,WEBP:3,PVR:4,ETC:5,S3TC:6,ATITC:7,TGA:8,RAWDATA:9,UNKNOWN:10}),cc.macro.BlendFactor=cc.Enum({ONE:1,ZERO:0,SRC_ALPHA:770,SRC_COLOR:768,DST_ALPHA:772,DST_COLOR:774,ONE_MINUS_SRC_ALPHA:771,ONE_MINUS_SRC_COLOR:769,ONE_MINUS_DST_ALPHA:773,ONE_MINUS_DST_COLOR:775}),cc.macro.TextAlignment=cc.Enum({LEFT:0,CENTER:1,RIGHT:2}),cc.macro.VerticalTextAlignment=cc.Enum({TOP:0,CENTER:1,BOTTOM:2}),e.exports=cc.macro}),{}],155:[(function(t,e){"use strict";var i=t("./js"),n=t("./CCClass"),r=1;function s(){this._name="",this._objFlags=0}n.fastDefine("cc.Object",s,{_name:"",_objFlags:0}),i.value(s,"Flags",{Destroyed:r,DontSave:8,EditorOnly:16,Dirty:32,DontDestroy:64,PersistentMask:-4192741,Destroying:128,Deactivating:256,LockedInEditor:512,HideInHierarchy:1024,IsPreloadStarted:8192,IsOnLoadStarted:32768,IsOnLoadCalled:16384,IsOnEnableCalled:2048,IsStartCalled:65536,IsEditorOnEnableCalled:4096,IsPositionLocked:1<<21,IsRotationLocked:1<<17,IsScaleLocked:1<<18,IsAnchorLocked:1<<19,IsSizeLocked:1<<20});var a=[];i.value(s,"_deferredDestroy",(function(){for(var t=a.length,e=0;e0)return void(t.webkitEnterFullscreen&&t.webkitEnterFullscreen());t.setAttribute("x5-video-player-fullscreen","true")}if(this._supportsFullScreen){if(t=t||document.documentElement,e){var n=this._fn.fullscreenchange;this._onfullscreenchange&&document.removeEventListener(n,this._onfullscreenchange),this._onfullscreenchange=e,document.addEventListener(n,e,!1)}if(i){var r=this._fn.fullscreenerror;this._onfullscreenerror&&document.removeEventListener(r,this._onfullscreenerror),this._onfullscreenerror=i,document.addEventListener(r,i,{once:!0})}var s=t[this._fn.requestFullscreen]();void 0===document[this._fn.fullscreenerror]&&window.Promise&&s instanceof Promise&&s.catch((function(){}))}},exitFullScreen:function(t){if(t&&"video"===t.tagName.toLowerCase()){if(cc.sys.os===cc.sys.OS_IOS&&cc.sys.isBrowser)return void(t.webkitExitFullscreen&&t.webkitExitFullscreen());t.setAttribute("x5-video-player-fullscreen","false")}return!this._supportsFullScreen||document[this._fn.exitFullscreen]()},autoFullScreen:function(t,e){t=t||document.body,this._ensureFullScreen(t,e),this.requestFullScreen(t,e)},disableAutoFullScreen:function(t){var e=cc.game.canvas||t,i=this._touchEvent;this._preOnTouch&&(e.removeEventListener(i,this._preOnTouch),this._preOnTouch=null)},_ensureFullScreen:function(t,e){var i=this,n=cc.game.canvas||t,r=this._fn.fullscreenerror,s=this._touchEvent;function a(){i._preOnFullScreenError=null,i._preOnTouch&&n.removeEventListener(s,i._preOnTouch),i._preOnTouch=function(){i._preOnTouch=null,i.requestFullScreen(t,e)},n.addEventListener(s,i._preOnTouch,{once:!0})}this._preOnFullScreenError&&t.removeEventListener(r,this._preOnFullScreenError),this._preOnFullScreenError=a,t.addEventListener(r,a,{once:!0})}},cc.screen.init()}),{}],158:[(function(t,e){"use strict";window._CCSettings&&_CCSettings.platform;var i="undefined"==typeof window?global:window,n=cc&&cc.sys?cc.sys:(function(){cc.sys={};var t,e,n=cc.sys;if(n.LANGUAGE_ENGLISH="en",n.LANGUAGE_CHINESE="zh",n.LANGUAGE_FRENCH="fr",n.LANGUAGE_ITALIAN="it",n.LANGUAGE_GERMAN="de",n.LANGUAGE_SPANISH="es",n.LANGUAGE_DUTCH="du",n.LANGUAGE_RUSSIAN="ru",n.LANGUAGE_KOREAN="ko",n.LANGUAGE_JAPANESE="ja",n.LANGUAGE_HUNGARIAN="hu",n.LANGUAGE_PORTUGUESE="pt",n.LANGUAGE_ARABIC="ar",n.LANGUAGE_NORWEGIAN="no",n.LANGUAGE_POLISH="pl",n.LANGUAGE_TURKISH="tr",n.LANGUAGE_UKRAINIAN="uk",n.LANGUAGE_ROMANIAN="ro",n.LANGUAGE_BULGARIAN="bg",n.LANGUAGE_UNKNOWN="unknown",n.OS_IOS="iOS",n.OS_ANDROID="Android",n.OS_WINDOWS="Windows",n.OS_MARMALADE="Marmalade",n.OS_LINUX="Linux",n.OS_BADA="Bada",n.OS_BLACKBERRY="Blackberry",n.OS_OSX="OS X",n.OS_WP8="WP8",n.OS_WINRT="WINRT",n.OS_UNKNOWN="Unknown",n.UNKNOWN=-1,n.WIN32=0,n.LINUX=1,n.MACOS=2,n.ANDROID=3,n.IPHONE=4,n.IPAD=5,n.BLACKBERRY=6,n.NACL=7,n.EMSCRIPTEN=8,n.TIZEN=9,n.WINRT=10,n.WP8=11,n.MOBILE_BROWSER=100,n.DESKTOP_BROWSER=101,n.EDITOR_PAGE=102,n.EDITOR_CORE=103,n.WECHAT_GAME=104,n.QQ_PLAY=105,n.FB_PLAYABLE_ADS=106,n.BAIDU_GAME=107,n.VIVO_GAME=108,n.OPPO_GAME=109,n.HUAWEI_GAME=110,n.XIAOMI_GAME=111,n.JKW_GAME=112,n.ALIPAY_GAME=113,n.WECHAT_GAME_SUB=114,n.BAIDU_GAME_SUB=115,n.QTT_GAME=116,n.BYTEDANCE_GAME=117,n.BYTEDANCE_GAME_SUB=118,n.LINKSURE=119,n.TAOBAO=120,n.BROWSER_TYPE_WECHAT="wechat",n.BROWSER_TYPE_ANDROID="androidbrowser",n.BROWSER_TYPE_IE="ie",n.BROWSER_TYPE_EDGE="edge",n.BROWSER_TYPE_QQ="qqbrowser",n.BROWSER_TYPE_MOBILE_QQ="mqqbrowser",n.BROWSER_TYPE_UC="ucbrowser",n.BROWSER_TYPE_UCBS="ucbs",n.BROWSER_TYPE_360="360browser",n.BROWSER_TYPE_BAIDU_APP="baiduboxapp",n.BROWSER_TYPE_BAIDU="baidubrowser",n.BROWSER_TYPE_MAXTHON="maxthon",n.BROWSER_TYPE_OPERA="opera",n.BROWSER_TYPE_OUPENG="oupeng",n.BROWSER_TYPE_MIUI="miuibrowser",n.BROWSER_TYPE_FIREFOX="firefox",n.BROWSER_TYPE_SAFARI="safari",n.BROWSER_TYPE_CHROME="chrome",n.BROWSER_TYPE_LIEBAO="liebao",n.BROWSER_TYPE_QZONE="qzone",n.BROWSER_TYPE_SOUGOU="sogou",n.BROWSER_TYPE_HUAWEI="huawei",n.BROWSER_TYPE_UNKNOWN="unknown",n.isNative=!1,n.isBrowser="object"==typeof window&&"object"==typeof document&&!0,n.glExtension=function(t){return!!cc.renderer.device.ext(t)},n.getMaxJointMatrixSize=function(){if(!n._maxJointMatrixSize){var t=cc.game._renderContext,e=Math.floor(t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS)/4)-10;n._maxJointMatrixSize=e<50?0:50}return n._maxJointMatrixSize},n.getSafeAreaRect=function(){var t=cc.view.getVisibleSize();return cc.rect(0,0,t.width,t.height)},i.__globalAdapter&&i.__globalAdapter.adaptSys)i.__globalAdapter.adaptSys(n);else{var r=window,s=r.navigator,a=document,o=a.documentElement,c=s.userAgent.toLowerCase();n.isMobile=/mobile|android|iphone|ipad/.test(c),"undefined"!=typeof FbPlayableAd?n.platform=n.FB_PLAYABLE_ADS:n.platform=n.isMobile?n.MOBILE_BROWSER:n.DESKTOP_BROWSER;var u=s.language;u=u||s.browserLanguage,n.languageCode=u.toLowerCase(),u=u?u.split("-")[0]:n.LANGUAGE_ENGLISH,n.language=u;var l=!1,h=!1,_="",f=0,d=/android\s*(\d+(?:\.\d+)*)/i.exec(c)||/android\s*(\d+(?:\.\d+)*)/i.exec(s.platform);d&&(l=!0,_=d[1]||"",f=parseInt(_)||0),(d=/(iPad|iPhone|iPod).*OS ((\d+_?){2,3})/i.exec(c))?(h=!0,_=d[2]||"",f=parseInt(_)||0):(/(iPhone|iPad|iPod)/.exec(s.platform)||"MacIntel"===s.platform&&s.maxTouchPoints&&s.maxTouchPoints>1)&&(h=!0,_="",f=0);var p=n.OS_UNKNOWN;-1!==s.appVersion.indexOf("Win")?p=n.OS_WINDOWS:h?p=n.OS_IOS:-1!==s.appVersion.indexOf("Mac")?p=n.OS_OSX:-1!==s.appVersion.indexOf("X11")&&-1===s.appVersion.indexOf("Linux")?p=n.OS_UNIX:l?p=n.OS_ANDROID:-1===s.appVersion.indexOf("Linux")&&-1===c.indexOf("ubuntu")||(p=n.OS_LINUX),n.os=p,n.osVersion=_,n.osMainVersion=f,n.browserType=n.BROWSER_TYPE_UNKNOWN,(function(){var t=/mqqbrowser|micromessenger|qqbrowser|sogou|qzone|liebao|maxthon|ucbs|360 aphone|360browser|baiduboxapp|baidubrowser|maxthon|mxbrowser|miuibrowser/i.exec(c)||/qq|ucbrowser|ubrowser|edge|HuaweiBrowser/i.exec(c)||/chrome|safari|firefox|trident|opera|opr\/|oupeng/i.exec(c),e=t?t[0].toLowerCase():n.BROWSER_TYPE_UNKNOWN;"safari"===e&&l?e=n.BROWSER_TYPE_ANDROID:"qq"===e&&c.match(/android.*applewebkit/i)&&(e=n.BROWSER_TYPE_ANDROID);var i={micromessenger:n.BROWSER_TYPE_WECHAT,trident:n.BROWSER_TYPE_IE,edge:n.BROWSER_TYPE_EDGE,"360 aphone":n.BROWSER_TYPE_360,mxbrowser:n.BROWSER_TYPE_MAXTHON,"opr/":n.BROWSER_TYPE_OPERA,ubrowser:n.BROWSER_TYPE_UC,huaweibrowser:n.BROWSER_TYPE_HUAWEI};"qqbrowser"!==e&&"mqqbrowser"!==e||c.match(/wechat|micromessenger/i)&&(e=n.BROWSER_TYPE_WECHAT),n.browserType=i[e]||e})(),n.browserVersion="",(e=c.match(/(mqqbrowser|micromessenger|qqbrowser|sogou|qzone|liebao|maxthon|uc|ucbs|360 aphone|360|baiduboxapp|baidu|maxthon|mxbrowser|miui(?:.hybrid)?)(mobile)?(browser)?\/?([\d.]+)/i))||(e=c.match(/(qq|chrome|safari|firefox|trident|opera|opr\/|oupeng)(mobile)?(browser)?\/?([\d.]+)/i)),n.browserVersion=e?e[4]:"";var v=window.innerWidth||document.documentElement.clientWidth,g=window.innerHeight||document.documentElement.clientHeight,m=window.devicePixelRatio||1;n.windowPixelResolution={width:m*v,height:m*g},n._checkWebGLRenderMode=function(){if(cc.game.renderType!==cc.game.RENDER_TYPE_WEBGL)throw new Error("This feature supports WebGL render mode only.")};var y=document.createElement("canvas");try{var T=n.localStorage=r.localStorage;T.setItem("storage",""),T.removeItem("storage"),T=null}catch(w){var E=function(){cc.warnID(5200)};n.localStorage={getItem:E,setItem:E,removeItem:E,clear:E}}var A=y.toDataURL("image/webp").startsWith("data:image/webp"),C=!!y.getContext("2d"),x=!1;r.WebGLRenderingContext&&(x=!0);var b,S=n.capabilities={canvas:C,opengl:x,webp:A,imageBitmap:!1};"undefined"!=typeof createImageBitmap&&"undefined"!=typeof Blob&&(y.width=y.height=2,createImageBitmap(y,{}).then((function(t){S.imageBitmap=!0,t.close&&t.close()})).catch((function(){}))),(void 0!==o.ontouchstart||void 0!==a.ontouchstart||s.msPointerEnabled)&&(S.touches=!0),void 0!==o.onmouseup&&(S.mouse=!0),void 0!==o.onkeyup&&(S.keyboard=!0),(r.DeviceMotionEvent||r.DeviceOrientationEvent)&&(S.accelerometer=!0),(function(){n.browserVersion;var t=!!(window.AudioContext||window.webkitAudioContext||window.mozAudioContext);b={ONLY_ONE:!1,WEB_AUDIO:t,DELAY_CREATE_CTX:!1},n.os===n.OS_IOS&&(b.USE_LOADER_EVENT="loadedmetadata"),n.browserType===n.BROWSER_TYPE_FIREFOX&&(b.DELAY_CREATE_CTX=!0,b.USE_LOADER_EVENT="canplay"),n.os===n.OS_ANDROID&&n.browserType===n.BROWSER_TYPE_UC&&(b.ONE_SOURCE=!0)})();try{b.WEB_AUDIO&&(b.context=new(window.AudioContext||window.webkitAudioContext||window.mozAudioContext),b.DELAY_CREATE_CTX&&setTimeout((function(){b.context=new(window.AudioContext||window.webkitAudioContext||window.mozAudioContext)}),0))}catch(I){b.WEB_AUDIO=!1,cc.logID(5201)}var R=[];(t=document.createElement("audio")).canPlayType&&(t.canPlayType('audio/ogg; codecs="vorbis"')&&R.push(".ogg"),t.canPlayType("audio/mpeg")&&R.push(".mp3"),t.canPlayType('audio/wav; codecs="1"')&&R.push(".wav"),t.canPlayType("audio/mp4")&&R.push(".mp4"),t.canPlayType("audio/x-m4a")&&R.push(".m4a")),b.format=R,n.__audioSupport=b}return n.NetworkType={NONE:0,LAN:1,WWAN:2},n.getNetworkType=function(){return n.NetworkType.LAN},n.getBatteryLevel=function(){return 1},n.garbageCollect=function(){},n.restartVM=function(){},n.isObjectValid=function(t){return!!t},n.dump=function(){var t="";t+="isMobile : "+this.isMobile+"\r\n",t+="language : "+this.language+"\r\n",t+="browserType : "+this.browserType+"\r\n",t+="browserVersion : "+this.browserVersion+"\r\n",t+="capabilities : "+JSON.stringify(this.capabilities)+"\r\n",t+="os : "+this.os+"\r\n",t+="osVersion : "+this.osVersion+"\r\n",t+="platform : "+this.platform+"\r\n",t+="Using "+(cc.game.renderType===cc.game.RENDER_TYPE_WEBGL?"WEBGL":"CANVAS")+" renderer.\r\n",cc.log(t)},n.openURL=function(t){window.open(t)},n.now=function(){return Date.now?Date.now():+new Date},n})();e.exports=n}),{}],159:[(function(t,e){"use strict";var i=t("../event/event-target"),n=t("../platform/js"),r=t("../renderer");t("../platform/CCClass");var s={init:function(){this.html=document.getElementsByTagName("html")[0]},availWidth:function(t){return t&&t!==this.html?t.clientWidth:window.innerWidth},availHeight:function(t){return t&&t!==this.html?t.clientHeight:window.innerHeight},meta:{width:"device-width"},adaptationType:cc.sys.browserType};switch(cc.sys.os===cc.sys.OS_IOS&&(s.adaptationType=cc.sys.BROWSER_TYPE_SAFARI),s.adaptationType){case cc.sys.BROWSER_TYPE_SAFARI:case cc.sys.BROWSER_TYPE_SOUGOU:case cc.sys.BROWSER_TYPE_UC:s.meta["minimal-ui"]="true",s.availWidth=function(t){return t.clientWidth},s.availHeight=function(t){return t.clientHeight}}var a=null,o=function(){i.call(this);var t=this,e=cc.ContainerStrategy,n=cc.ContentStrategy;s.init(this),t._frameSize=cc.size(0,0),t._designResolutionSize=cc.size(0,0),t._originalDesignResolutionSize=cc.size(0,0),t._scaleX=1,t._scaleY=1,t._viewportRect=cc.rect(0,0,0,0),t._visibleRect=cc.rect(0,0,0,0),t._autoFullScreen=!1,t._devicePixelRatio=1,t._maxPixelRatio=2,t._retinaEnabled=!1,t._resizeCallback=null,t._resizing=!1,t._resizeWithBrowserSize=!1,t._orientationChanging=!0,t._isRotated=!1,t._orientation=cc.macro.ORIENTATION_AUTO,t._isAdjustViewport=!0,t._antiAliasEnabled=!1,t._resolutionPolicy=null,t._rpExactFit=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,n.EXACT_FIT),t._rpShowAll=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,n.SHOW_ALL),t._rpNoBorder=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,n.NO_BORDER),t._rpFixedHeight=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,n.FIXED_HEIGHT),t._rpFixedWidth=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,n.FIXED_WIDTH),cc.game.once(cc.game.EVENT_ENGINE_INITED,this.init,this)};cc.js.extend(o,i),cc.js.mixin(o.prototype,{init:function(){this._initFrameSize();var t=cc.game.canvas.width,e=cc.game.canvas.height;this._designResolutionSize.width=t,this._designResolutionSize.height=e,this._originalDesignResolutionSize.width=t,this._originalDesignResolutionSize.height=e,this._viewportRect.width=t,this._viewportRect.height=e,this._visibleRect.width=t,this._visibleRect.height=e,cc.winSize.width=this._visibleRect.width,cc.winSize.height=this._visibleRect.height,cc.visibleRect&&cc.visibleRect.init(this._visibleRect)},_resizeEvent:function(t){var e;e=this.setDesignResolutionSize?this:cc.view;var i=cc.sys;if(i.browserType!==i.BROWSER_TYPE_UC||i.os!==i.OS_IOS){var n=e._frameSize.width,r=e._frameSize.height,s=e._isRotated;if(cc.sys.isMobile){var a=cc.game.container.style,o=a.margin;a.margin="0",a.display="none",e._initFrameSize(),a.margin=o,a.display="block"}else e._initFrameSize();if(!0===t||e._isRotated!==s||e._frameSize.width!==n||e._frameSize.height!==r){var c=e._originalDesignResolutionSize.width,u=e._originalDesignResolutionSize.height;e._resizing=!0,c>0&&e.setDesignResolutionSize(c,u,e._resolutionPolicy),e._resizing=!1,e.emit("canvas-resize"),e._resizeCallback&&e._resizeCallback.call()}}else setTimeout((function(){e._resizeEvent(t)}),0)},_orientationChange:function(){cc.view._orientationChanging=!0,cc.view._resizeEvent(),cc.sys.browserType===cc.sys.BROWSER_TYPE_SAFARI&&cc.sys.isMobile&&setTimeout((function(){window.innerHeight>window.innerWidth&&window.scrollTo(0,1)}),500)},_resize:function(){cc.view._resizeEvent(!1)},resizeWithBrowserSize:function(t){t?this._resizeWithBrowserSize||(this._resizeWithBrowserSize=!0,window.addEventListener("resize",this._resize),window.addEventListener("orientationchange",this._orientationChange)):this._resizeWithBrowserSize&&(this._resizeWithBrowserSize=!1,window.removeEventListener("resize",this._resize),window.removeEventListener("orientationchange",this._orientationChange))},setResizeCallback:function(t){"function"!=typeof t&&null!=t||(this._resizeCallback=t)},setOrientation:function(t){if((t&=cc.macro.ORIENTATION_AUTO)&&this._orientation!==t){this._orientation=t;var e=this._originalDesignResolutionSize.width,i=this._originalDesignResolutionSize.height;this.setDesignResolutionSize(e,i,this._resolutionPolicy)}},_initFrameSize:function(){var t=this._frameSize,e=s.availWidth(cc.game.frame),i=s.availHeight(cc.game.frame),n=e>=i;!cc.sys.isMobile||n&&this._orientation&cc.macro.ORIENTATION_LANDSCAPE||!n&&this._orientation&cc.macro.ORIENTATION_PORTRAIT?(t.width=e,t.height=i,cc.game.container.style["-webkit-transform"]="rotate(0deg)",cc.game.container.style.transform="rotate(0deg)",this._isRotated=!1):(t.width=i,t.height=e,cc.game.container.style["-webkit-transform"]="rotate(90deg)",cc.game.container.style.transform="rotate(90deg)",cc.game.container.style["-webkit-transform-origin"]="0px 0px 0px",cc.game.container.style.transformOrigin="0px 0px 0px",this._isRotated=!0),this._orientationChanging&&setTimeout((function(){cc.view._orientationChanging=!1}),1e3)},_setViewportMeta:function(t,e){var i=document.getElementById("cocosMetaElement");i&&e&&document.head.removeChild(i);var n,r,s,a=document.getElementsByName("viewport"),o=a?a[0]:null;for(r in n=o?o.content:"",(i=i||document.createElement("meta")).id="cocosMetaElement",i.name="viewport",i.content="",t)-1==n.indexOf(r)?n+=","+r+"="+t[r]:e&&(s=new RegExp(r+"s*=s*[^,]+"),n=n.replace(s,r+"="+t[r]));/^,/.test(n)&&(n=n.substr(1)),i.content=n,o&&(o.content=n),document.head.appendChild(i)},_adjustViewportMeta:function(){this._isAdjustViewport&&(this._setViewportMeta(s.meta,!1),this._isAdjustViewport=!1)},adjustViewportMeta:function(t){this._isAdjustViewport=t},enableRetina:function(t){this._retinaEnabled=!!t},isRetinaEnabled:function(){return this._retinaEnabled},enableAntiAlias:function(t){if(cc.warnID(9200),this._antiAliasEnabled!==t)if(this._antiAliasEnabled=t,cc.game.renderType===cc.game.RENDER_TYPE_WEBGL)cc.assetManager.assets.forEach((function(e){if(e instanceof cc.Texture2D){var i=cc.Texture2D.Filter;t?e.setFilters(i.LINEAR,i.LINEAR):e.setFilters(i.NEAREST,i.NEAREST)}}));else if(cc.game.renderType===cc.game.RENDER_TYPE_CANVAS){var e=cc.game.canvas.getContext("2d");e.imageSmoothingEnabled=t,e.mozImageSmoothingEnabled=t}},isAntiAliasEnabled:function(){return this._antiAliasEnabled},enableAutoFullScreen:function(t){t&&t!==this._autoFullScreen&&cc.sys.isMobile?(this._autoFullScreen=!0,cc.screen.autoFullScreen(cc.game.frame)):(this._autoFullScreen=!1,cc.screen.disableAutoFullScreen(cc.game.frame))},isAutoFullScreenEnabled:function(){return this._autoFullScreen},setCanvasSize:function(t,e){var i=cc.game.canvas,n=cc.game.container;i.width=t*this._devicePixelRatio,i.height=e*this._devicePixelRatio,i.style.width=t+"px",i.style.height=e+"px",n.style.width=t+"px",n.style.height=e+"px",this._resizeEvent()},getCanvasSize:function(){return cc.size(cc.game.canvas.width,cc.game.canvas.height)},getFrameSize:function(){return cc.size(this._frameSize.width,this._frameSize.height)},setFrameSize:function(t,e){this._frameSize.width=t,this._frameSize.height=e,cc.game.frame.style.width=t+"px",cc.game.frame.style.height=e+"px",this._resizeEvent(!0)},getVisibleSize:function(){return cc.size(this._visibleRect.width,this._visibleRect.height)},getVisibleSizeInPixel:function(){return cc.size(this._visibleRect.width*this._scaleX,this._visibleRect.height*this._scaleY)},getVisibleOrigin:function(){return cc.v2(this._visibleRect.x,this._visibleRect.y)},getVisibleOriginInPixel:function(){return cc.v2(this._visibleRect.x*this._scaleX,this._visibleRect.y*this._scaleY)},getResolutionPolicy:function(){return this._resolutionPolicy},setResolutionPolicy:function(t){var e=this;if(t instanceof cc.ResolutionPolicy)e._resolutionPolicy=t;else{var i=cc.ResolutionPolicy;t===i.EXACT_FIT&&(e._resolutionPolicy=e._rpExactFit),t===i.SHOW_ALL&&(e._resolutionPolicy=e._rpShowAll),t===i.NO_BORDER&&(e._resolutionPolicy=e._rpNoBorder),t===i.FIXED_HEIGHT&&(e._resolutionPolicy=e._rpFixedHeight),t===i.FIXED_WIDTH&&(e._resolutionPolicy=e._rpFixedWidth)}},setDesignResolutionSize:function(t,e,i){if(t>0&&e>0){this.setResolutionPolicy(i);var n=this._resolutionPolicy;if(n&&n.preApply(this),cc.sys.isMobile&&this._adjustViewportMeta(),this._orientationChanging=!0,this._resizing||this._initFrameSize(),n){this._originalDesignResolutionSize.width=this._designResolutionSize.width=t,this._originalDesignResolutionSize.height=this._designResolutionSize.height=e;var s=n.apply(this,this._designResolutionSize);if(s.scale&&2===s.scale.length&&(this._scaleX=s.scale[0],this._scaleY=s.scale[1]),s.viewport){var a=this._viewportRect,o=this._visibleRect,c=s.viewport;a.x=c.x,a.y=c.y,a.width=c.width,a.height=c.height,o.x=0,o.y=0,o.width=c.width/this._scaleX,o.height=c.height/this._scaleY}n.postApply(this),cc.winSize.width=this._visibleRect.width,cc.winSize.height=this._visibleRect.height,cc.visibleRect&&cc.visibleRect.init(this._visibleRect),r.updateCameraViewport(),cc.internal.inputManager._updateCanvasBoundingRect(),this.emit("design-resolution-changed")}else cc.logID(2201)}else cc.errorID(2200)},getDesignResolutionSize:function(){return cc.size(this._designResolutionSize.width,this._designResolutionSize.height)},setRealPixelResolution:function(t,e,i){this._setViewportMeta({width:t},!0),document.documentElement.style.width=t+"px",document.body.style.width=t+"px",document.body.style.left="0px",document.body.style.top="0px",this.setDesignResolutionSize(t,e,i)},setViewportInPoints:function(t,e,i,n){var r=this._scaleX,s=this._scaleY;cc.game._renderContext.viewport(t*r+this._viewportRect.x,e*s+this._viewportRect.y,i*r,n*s)},setScissorInPoints:function(t,e,i,n){var r=this._scaleX,s=this._scaleY,o=Math.ceil(t*r+this._viewportRect.x),c=Math.ceil(e*s+this._viewportRect.y),u=Math.ceil(i*r),l=Math.ceil(n*s),h=cc.game._renderContext;if(!a){var _=h.getParameter(h.SCISSOR_BOX);a=cc.rect(_[0],_[1],_[2],_[3])}a.x===o&&a.y===c&&a.width===u&&a.height===l||(a.x=o,a.y=c,a.width=u,a.height=l,h.scissor(o,c,u,l))},isScissorEnabled:function(){return cc.game._renderContext.isEnabled(gl.SCISSOR_TEST)},getScissorRect:function(){if(!a){var t=gl.getParameter(gl.SCISSOR_BOX);a=cc.rect(t[0],t[1],t[2],t[3])}var e=1/this._scaleX,i=1/this._scaleY;return cc.rect((a.x-this._viewportRect.x)*e,(a.y-this._viewportRect.y)*i,a.width*e,a.height*i)},getViewportRect:function(){return this._viewportRect},getScaleX:function(){return this._scaleX},getScaleY:function(){return this._scaleY},getDevicePixelRatio:function(){return this._devicePixelRatio},convertToLocationInView:function(t,e,i,n){var r=n||cc.v2(),s=i.adjustedLeft?i.adjustedLeft:i.left,a=i.adjustedTop?i.adjustedTop:i.top,o=this._devicePixelRatio*(t-s),c=this._devicePixelRatio*(a+i.height-e);return this._isRotated?(r.x=cc.game.canvas.width-c,r.y=o):(r.x=o,r.y=c),r},_convertMouseToLocationInView:function(t,e){var i=this._viewportRect;t.x=(this._devicePixelRatio*(t.x-e.left)-i.x)/this._scaleX,t.y=(this._devicePixelRatio*(e.top+e.height-t.y)-i.y)/this._scaleY},_convertPointWithScale:function(t){var e=this._viewportRect;t.x=(t.x-e.x)/this._scaleX,t.y=(t.y-e.y)/this._scaleY},_convertTouchesWithScale:function(t){for(var e,i,n,r=this._viewportRect,s=this._scaleX,a=this._scaleY,o=0;o=0;n--){var s=i[n];s.hasOwnProperty("__attrs__")&&s.__attrs__||r(s,(e=i[n+1])&&e.__attrs__)}return r(t,(e=i[0])&&e.__attrs__),t.__attrs__}function a(t){return t.hasOwnProperty("__attrs__")&&t.__attrs__||s(t)}function o(t,e){this.name=t,this.default=e}o.prototype.toString=function(){return this.name},cc.Integer=new o("Integer",0),cc.Float=new o("Float",0),cc.Boolean=new o("Boolean",!1),cc.String=new o("String",""),e.exports={PrimitiveType:o,attr:function(t,e){var i=a(t),r=e+n,s={};for(var o in i)o.startsWith(r)&&(s[o.slice(r.length)]=i[o]);return s},getClassAttrs:a,setClassAttr:function(t,e,i,r){a(t)[e+n+i]=r},DELIMETER:n,getTypeChecker_ET:!1,getObjTypeChecker_ET:!1,ScriptUuid:{}}}),{"./CCClass":149,"./js":170,"./utils":173}],162:[(function(t,e){"use strict";var i=t("./js"),n=i.array.fastRemoveAt;function r(){}function s(){this.callback=r,this.target=void 0,this.once=!1}s.prototype.set=function(t,e,i){this.callback=t,this.target=e,this.once=!!i};var a=new i.Pool(function(t){return t.callback=r,t.target=void 0,t.once=!1,!0},32);function o(){this.callbackInfos=[],this.isInvoking=!1,this.containCanceled=!1}a.get=function(){return this._get()||new s};var c=o.prototype;c.removeByCallback=function(t){for(var e=0;e=0;--t)this.callbackInfos[t]||n(this.callbackInfos,t);this.containCanceled=!1},c.clear=function(){this.cancelAll(),this.callbackInfos.length=0,this.isInvoking=!1,this.containCanceled=!1};var u=new i.Pool(function(t){return t.callbackInfos=[],t.isInvoking=!1,t.containCanceled=!1,!0},16);function l(){this._callbackTable=i.createMap(!0)}u.get=function(){return this._get()||new o},(c=l.prototype).on=function(t,e,i,n){var r=this._callbackTable[t];r||(r=this._callbackTable[t]=u.get());var s=a.get();s.set(e,i,n),r.callbackInfos.push(s)},c.hasEventListener=function(t,e,i){var n=this._callbackTable[t];if(!n)return!1;var r=n.callbackInfos;if(!e){if(n.isInvoking){for(var s=0;s0}for(var a=0;a=0?a[i[c]]=o:a[~c]=o}for(;r=0?u[i[h]]=l:u[~h]=l}}function E(t,e){for(var i=t[4][e[0]],n=i[0],r=new(0,n[0]),s=n[1],a=n[2],o=i[i.length-1],c=1;c=0?e[i]=t[5][n]:t[7][3*~n]=e}function x(t){return function(e,i,n,r){i[n]=r;for(var s=0;s=0){var h=o[u];e[a]=A(t,h,l)}else(0,R[u=~u])(t,e,a,l)}return r}function I(t,e){return t||P.reportMissingClass(e),Object}function M(t,e,i,n,r,s){var a=t(e);if(!a){if(r)return void(i[n]=(function(e,i,n){return function(){var r=t(n)||I(s,n);return e[i]=r,new r}})(i,n,e));a=I(s,e)}i[n]=a}function O(t,e,i){for(var r=i||n.default._getClassById,s=t[3],a=0;a=0?i[u]:~u,s[o]=u);var l=a[o];"number"==typeof l&&(a[o]=n[l])}}function P(t,e,i){"string"==typeof t&&(t=JSON.parse(t));var n=!e;(e=e||y.pool.get()).init(t),i=i||{};var r=t[0],s=!1;if("object"==typeof r&&(s=r.preprocessed,r=r.version),r<1)throw new Error(cc.debug.getError(5304,r));i._version=r,i.result=e,t[0]=i,s||(O(t,!1,i.classFinder),D(t)),cc.game._isCloning=!0;var a=t[5],o=w(t);return cc.game._isCloning=!1,t[7]&&T(t[7],a,t[2]),L(t),n&&y.pool.put(e),a[o]}R[0]=function(t,e,i,n){e[i]=n},R[1]=C,R[2]=x(C),R[3]=x(b),R[4]=S,R[5]=function(t,e,i,n){v[n[0]](e[i],n)},R[6]=b,R[7]=function(t,e,i,n){e[i].set(n)},R[8]=function(t,e,i,n){var r=new d[n[0]];v[n[0]](r,n),e[i]=r},R[9]=x(S),R[10]=function(t,e,i,n){var r=t[3][n[0]];e[i]=A(t,r,n[1])},R[11]=function(t,e,i,n){var r=n[0];e[i]=r;for(var s=1;s0&&(i=_+this.globalVariables.join(",")+";");var n=c.flattenCodeArray(["return (function(R){",i||[],this.codeArray,"return o;","})"]);this.result=Function("O","F",n)(this.objs,this.funcs);for(var r=0,s=this.objsToClear_iN$t.length;r1)t.push(d+"="+this._targetExp+";"),e=d;else{if(1!==this._exps.length)return;e=this._targetExp}for(var i=0;i=0&&(_(t,i),!0)}function d(t,e){void 0===e&&(e=t,t=null),this.get=null,this.count=0,this._pool=new Array(e),this._cleanup=t}s.formatStr=function(){var t=arguments.length;if(0===t)return"";var e=arguments[0];if(1===t)return""+e;var i="string"==typeof e&&l.test(e);if(i)for(var n=1;n=0&&(t[i]=t[t.length-1],--t.length)},removeAt:_,fastRemoveAt:function(t,e){var i=t.length;e<0||e>=i||(t[e]=t[i-1],t.length=i-1)},contains:function(t,e){return t.indexOf(e)>=0},verifyType:function(t,e){if(t&&t.length>0)for(var i=0;i0){--this.count;var t=this._pool[this.count];return this._pool[this.count]=null,t}return null},d.prototype.put=function(t){var e=this._pool;if(this.count=0&&(this._pool.length=t,this.count>t&&(this.count=t))},s.Pool=d,cc.js=s,e.exports=s}),{"../utils/mutable-forward-iterator":224,"./id-generater":166}],171:[(function(t,e,i){"use strict";var n=t("./js"),r=t("./attribute"),s={default:{},serializable:{},editorOnly:{},formerlySerializedAs:{}};function a(t,e,i,n){if(!t.get&&!t.set&&t.hasOwnProperty("default")){var r="_N$"+e;t.get=function(){return this[r]},t.set=function(t){var e=this[r];this[r]=t,i.call(this,e)};var a={};for(var o in n[r]=a,s){var c=s[o];t.hasOwnProperty(o)&&(a[o]=t[o],c.canUsedInGet||delete t[o])}}}function o(t,e,i,n){if(Array.isArray(e)){if(!(e.length>0))return cc.errorID(5508,i,n);t.type=e=e[0]}"function"==typeof e&&(e===String?t.type=cc.String:e===Boolean?t.type=cc.Boolean:e===Number&&(t.type=cc.Float))}function c(t,e,i){var n=t?{_short:!0}:{_short:!0,default:e};return i&&(n.type=i),n}i.getFullFormOfProperty=function(t,e){return t&&t.constructor===Object?null:Array.isArray(t)&&t.length>0?c(e,[],t):"function"==typeof t?c(e,n.isChildClassOf(t,cc.ValueType)?new t:null,t):t instanceof r.PrimitiveType?c(e,t.default):c(e,t)},i.preprocessAttrs=function(t,e){for(var n in t){var r=t[n],s=i.getFullFormOfProperty(r,!1);if(s&&(r=t[n]=s),r){var c=r.notify;c&&a(r,n,c,t),"type"in r&&o(r,r.type,e,n)}}},i.validateMethodWithProps=function(t){return"function"==typeof t||null===t}}),{"./CCClass":149,"./attribute":161,"./js":170}],172:[(function(){"use strict";var t=[];cc._RF={push:function(e,i,n){void 0===n&&(n=i,i=""),t.push({uuid:i,script:n,module:e,exports:e.exports,beh:null})},pop:function(){var e=t.pop(),i=e.module,n=i.exports;if(n===e.exports){for(var r in n)return;i.exports=n=e.cls}},peek:function(){return t[t.length-1]}}}),{}],173:[(function(t,e){"use strict";t("./js"),e.exports={contains:function(t,e){if("function"==typeof t.contains)return t.contains(e);if("function"==typeof t.compareDocumentPosition)return!!(16&t.compareDocumentPosition(e));var i=e.parentNode;if(i)do{if(i===t)return!0;i=i.parentNode}while(null!==i);return!1},isDomNode:"object"==typeof window&&("function"==typeof Node?function(t){return t instanceof Node}:function(t){return t&&"object"==typeof t&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName}),callInNextTick:function(t,e,i){t&&setTimeout((function(){t(e,i)}),0)}}}),{"./js":170}],174:[(function(t){"use strict";t("./platform/js"),t("./value-types"),t("./utils"),t("./platform/CCInputManager"),t("./platform/CCInputExtension"),t("./event"),t("./platform/CCSys"),t("./platform/CCMacro"),t("./asset-manager"),t("./CCDirector"),t("./renderer"),t("./platform/CCView"),t("./platform/CCScreen"),t("./CCScheduler"),t("./event-manager")}),{"./CCDirector":23,"./CCScheduler":28,"./asset-manager":46,"./event":134,"./event-manager":130,"./platform/CCInputExtension":152,"./platform/CCInputManager":153,"./platform/CCMacro":154,"./platform/CCScreen":157,"./platform/CCSys":158,"./platform/CCView":159,"./platform/js":170,"./renderer":180,"./utils":222,"./value-types":238}],175:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=a(t("./assembler")),r=a(t("./utils/dynamic-atlas/manager")),s=a(t("./webgl/render-data"));function a(t){return t&&t.__esModule?t:{default:t}}function o(t,e){for(var i=0;i>2,c=s._vData;n.length+o>c.length?c.set(n.subarray(0,c.length-o),o):c.set(n,o);for(var u=s._iData,l=a.indiceOffset,h=a.vertexOffset,_=0,f=r.length;_this.maxSize||(this._clean(t),i[e].push(t),this.count++)}},r.get=function(t){var e;if(this.enabled){var i=this._pool,n=o(t);e=i[n]&&i[n].pop()}return e?this.count--:e=new t,e},r.clear=function(){this._pool={},this.count=0},r._clean=function(t){t._renderComp=null},n}(r.default));r.default.register("assembler",c);var u=c;i.default=u,e.exports=i.default}),{"../utils/pool":225}],177:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("./webgl/vertex-format"),s=(n=t("./assembler-pool"))&&n.__esModule?n:{default:n},a=(function(){function t(){this._extendNative&&this._extendNative()}var e=t.prototype;return e.init=function(t){this._renderComp=t},e.updateRenderData=function(){},e.fillBuffers=function(){},e.getVfmt=function(){return r.vfmtPosUvColor},t})();i.default=a,a.register=function(t,e){t.__assembler__=e},a.init=function(t){for(var e=t.constructor,i=e.__assembler__;!i;){if(!(e=e.$super))return void cc.warn("Can not find assembler for render component : ["+cc.js.getClassName(t)+"]");i=e.__assembler__}if(i.getConstructor&&(i=i.getConstructor(t)),!t._assembler||t._assembler.constructor!==i){var n=s.default.get(i);n.init(t),t._assembler=n}},cc.Assembler=a,e.exports=i.default}),{"./assembler-pool":176,"./webgl/vertex-format":213}],178:[(function(t,e){"use strict";var i=function(t){var e;try{e=t.getContext("2d")}catch(i){return void console.error(i)}this._canvas=t,this._ctx=e,this._caps={},this._stats={drawcalls:0},this._vx=this._vy=this._vw=this._vh=0,this._sx=this._sy=this._sw=this._sh=0};i.prototype._restoreTexture=function(){},i.prototype.setViewport=function(t,e,i,n){this._vx===t&&this._vy===e&&this._vw===i&&this._vh===n||(this._vx=t,this._vy=e,this._vw=i,this._vh=n)},i.prototype.setScissor=function(t,e,i,n){this._sx===t&&this._sy===e&&this._sw===i&&this._sh===n||(this._sx=t,this._sy=e,this._sw=i,this._sh=n)},i.prototype.clear=function(t){var e=this._ctx;e.clearRect(this._vx,this._vy,this._vw,this._vh),!t||0===t[0]&&0===t[1]&&0===t[2]||(e.fillStyle="rgb("+t[0]+","+t[1]+","+t[2]+")",e.globalAlpha=t[3],e.fillRect(this._vx,this._vy,this._vw,this._vh))},i.prototype.resetDrawCalls=function(){this._stats.drawcalls=0},i.prototype.getDrawCalls=function(){return this._stats.drawcalls},e.exports=i}),{}],179:[(function(t,e){"use strict";var i=function(t,e){this._device=t,this._width=4,this._height=4,this._image=null,e&&(void 0!==e.width&&(this._width=e.width),void 0!==e.height&&(this._height=e.height),this.updateImage(e))};i.prototype.update=function(t){this.updateImage(t)},i.prototype.updateImage=function(t){if(t.images&&t.images[0]){var e=t.images[0];e&&e!==this._image&&(this._image=e)}},i.prototype.destroy=function(){this._image=null},e.exports=i}),{}],180:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=a(t("../../renderer/gfx")),r=a(t("../../renderer/core/input-assembler")),s=a(t("../../renderer/core/pass"));function a(t){return t&&t.__esModule?t:{default:t}}var o=cc.renderer={Texture2D:null,InputAssembler:r.default,Pass:s.default,renderEngine:null,canvas:null,device:null,scene:null,drawCalls:0,_handle:null,_cameraNode:null,_camera:null,_forward:null,_flow:null,initWebGL:function(e,i){t("./webgl/assemblers");var r=t("./webgl/model-batcher");this.Texture2D=n.default.Texture2D,this.canvas=e,this._flow=cc.RenderFlow;var s=t("../../renderer/scene/scene"),a=t("../../renderer/renderers/forward-renderer");this.device=new n.default.Device(e,i),this.scene=new s;var o,c=(o=this.device,{defaultTexture:new n.default.Texture2D(o,{images:[],width:128,height:128,wrapS:n.default.WRAP_REPEAT,wrapT:n.default.WRAP_REPEAT,format:n.default.TEXTURE_FMT_RGB8,genMipmaps:!1}),programTemplates:[],programChunks:{}});this._forward=new a(this.device,c),this._handle=new r(this.device,this.scene),this._flow.init(this._handle,this._forward)},initCanvas:function(e){var i=t("./canvas"),n=t("./canvas/Texture2D"),r=t("./canvas/Device");this.Device=r,this.Texture2D=n,this.canvas=e,this.device=new r(e),this._camera={a:1,b:0,c:0,d:1,tx:0,ty:0},this._handle=new i.RenderComponentHandle(this.device,this._camera),this._forward=new i.ForwardRenderer,this._flow=cc.RenderFlow,this._flow.init(this._handle,this._forward)},updateCameraViewport:function(){if(cc.director){var t=cc.director.getScene();t&&t.setScale(1,1,1)}if(cc.game.renderType===cc.game.RENDER_TYPE_CANVAS){var e=cc.view.getViewportRect();this.device.setViewport(e.x,e.y,e.width,e.height),this._camera.a=cc.view.getScaleX(),this._camera.d=cc.view.getScaleY(),this._camera.tx=e.x,this._camera.ty=e.y+e.height}},render:function(t,e){this.device.resetDrawCalls(),t&&(this._flow.render(t,e),this.drawCalls=this.device.getDrawCalls())},clear:function(){this._handle.reset(),this._forward.clear()}};i.default=o,e.exports=i.default}),{"../../renderer/core/input-assembler":255,"../../renderer/core/pass":256,"../../renderer/gfx":265,"../../renderer/renderers/forward-renderer":284,"../../renderer/scene/scene":287,"./canvas":void 0,"./canvas/Device":178,"./canvas/Texture2D":179,"./webgl/assemblers":192,"./webgl/model-batcher":209}],181:[(function(t,e){"use strict";var i,n,r=0,s=1<0;)i&t&&(e=C(i,e)),i>>=1;return e}function b(t){var e=t._renderFlag;(A[e]=x(e))._func(t)}y.flows=A,y.createFlow=C;var S=[];y.registerValidate=function(t){t._inValidateList||(S.push(t),t._inValidateList=!0)},y.validateRenderers=function(){for(var t=0,e=S.length;tthis._width&&(this._x=n,this._y=this._nexty),this._y+c+n>this._nexty&&(this._nexty=this._y+c+n),this._nexty>this._height)return null;cc.dynamicAtlasManager.textureBleeding&&((o<=8||c<=8)&&(this._texture.drawTextureAt(i,this._x-1,this._y-1),this._texture.drawTextureAt(i,this._x-1,this._y+1),this._texture.drawTextureAt(i,this._x+1,this._y-1),this._texture.drawTextureAt(i,this._x+1,this._y+1)),this._texture.drawTextureAt(i,this._x-1,this._y),this._texture.drawTextureAt(i,this._x+1,this._y),this._texture.drawTextureAt(i,this._x,this._y-1),this._texture.drawTextureAt(i,this._x,this._y+1)),this._texture.drawTextureAt(i,this._x,this._y),this._innerTextureInfos[i._id]={x:this._x,y:this._y,texture:i},this._count++,s+=this._x,a+=this._y,this._x+=o+n,this._dirty=!0}var u={x:s,y:a,texture:this._texture};return this._innerSpriteFrames.push(t),u},update:function(){this._dirty&&(this._texture.update(),this._dirty=!1)},deleteInnerTexture:function(t){t&&this._innerTextureInfos[t._id]&&(delete this._innerTextureInfos[t._id],this._count--)},isEmpty:function(){return this._count<=0},reset:function(){this._x=n,this._y=n,this._nexty=n;for(var t=this._innerSpriteFrames,e=0,i=t.length;e=0;e--)n[e].deleteInnerTexture(t),n[e].isEmpty()&&(n[e].destroy(),n.splice(e,1),r--)},showDebug:function(t){if(t){if(!u||!u.isValid){var e=cc.visibleRect.width,i=cc.visibleRect.height;(u=new cc.Node("DYNAMIC_ATLAS_DEBUG_NODE")).width=e,u.height=i,u.x=e/2,u.y=i/2,u.zIndex=cc.macro.MAX_ZINDEX,u.parent=cc.director.getScene(),u.groupIndex=cc.Node.BuiltinGroupIndex.DEBUG,cc.Camera._setupDebugCamera();var s=u.addComponent(cc.ScrollView),o=new cc.Node("CONTENT"),c=o.addComponent(cc.Layout);c.type=cc.Layout.Type.VERTICAL,c.resizeMode=cc.Layout.ResizeMode.CONTAINER,o.parent=u,o.width=a,o.anchorY=1,o.x=a,s.content=o;for(var l=0;l<=r;l++){var h=new cc.Node("ATLAS"),_=(n[l]._texture,new cc.SpriteFrame);_.setTexture(n[l]._texture),h.addComponent(cc.Sprite).spriteFrame=_,h.parent=o}}return u}u&&(u.parent=null,u=null)},update:function(){if(this.enabled)for(var t=0;t<=r;t++)n[t].update()}};e.exports=cc.dynamicAtlasManager=f}),{"./atlas":182}],184:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../assembler-2d"))&&n.__esModule?n:{default:n};function s(t,e){return(s=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var a=t("../../../utils/text-utils"),o=t("../../../platform/CCMacro"),c=t("../../../components/CCLabel").Overflow,u=t("../utils").shareLabelInfo,l=function(){this.char="",this.valid=!0,this.x=0,this.y=0,this.line=0,this.hash=""},h=cc.rect(),_=null,f=[],d=[],p=[],v=[],g=null,m=0,y=0,T=0,E=0,A=0,C=1,x=null,b=cc.size(),S="",R=0,w=0,I=0,M=0,O=0,D=0,L=0,P=!1,N=0,F=0,B=0,U=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,s(e,i);var r=n.prototype;return r.updateRenderData=function(t){t._vertsDirty&&_!==t&&(_=t,this._reserveQuads(t,t.string.toString().length),this._updateFontFamily(t),this._updateProperties(t),this._updateLabelInfo(t),this._updateContent(),this.updateWorldVerts(t),_._actualFontSize=R,_.node.setContentSize(b),_._vertsDirty=!1,_=null,this._resetProperties())},r._updateFontScale=function(){C=R/w},r._updateFontFamily=function(t){var e=t.font;x=e.spriteFrame,g=e._fntConfig,u.fontAtlas=e._fontDefDictionary,this.packToDynamicAtlas(t,x)},r._updateLabelInfo=function(){u.hash="",u.margin=0},r._updateProperties=function(t){S=t.string.toString(),R=t.fontSize,w=g?g.fontSize:t.fontSize,I=t.horizontalAlign,M=t.verticalAlign,O=t.spacingX,L=t.overflow,D=t._lineHeight,b.width=t.node.width,b.height=t.node.height,L===c.NONE?(P=!1,b.width+=2*u.margin,b.height+=2*u.margin):L===c.RESIZE_HEIGHT?(P=!0,b.height+=2*u.margin):P=t.enableWrapText,u.lineHeight=D,u.fontSize=R,this._setupBMFontOverflowMetrics()},r._resetProperties=function(){g=null,x=null,u.hash="",u.margin=0},r._updateContent=function(){this._updateFontScale(),this._computeHorizontalKerningForText(),this._alignText()},r._computeHorizontalKerningForText=function(){var t,e=S,i=e.length,n=f;if(g&&(t=g.kerningDict),t&&!cc.js.isEmptyObject(t))for(var r=-1,s=0;s0&&n>0&&V+_.w*C>B&&!a.isUnicodeSpace(T)){p.push(o),o=0,i++,n=0,r-=D*this._getFontScale()+0,U=!0;break}d.x=V,d.y=r-_.offsetY*C+u.margin,this._recordLetterInfo(d,T,k,i),k+1d.y-_.h*C&&(w=d.y-_.h*C)}else{this._recordPlaceholderInfo(k,T);var H="";g&&(H=g.atlasName),console.log("Can't find letter definition in texture atlas "+H+" for letter:"+T)}else this._recordPlaceholderInfo(k,T)}U||(n=M,lw&&(h=w),s<(o=I)&&(s=o),v+=x)}else p.push(o),o=0,i++,n=0,r-=D*this._getFontScale()+0,this._recordPlaceholderInfo(v,T),v++}return p.push(o),y=(m=i+1)*D*this._getFontScale(),m>1&&(y+=0*(m-1)),b.width=N,b.height=F,N<=0&&(b.width=parseFloat(s.toFixed(2))+2*u.margin),F<=0&&(b.height=parseFloat(y.toFixed(2))+2*u.margin),E=b.height,A=0,L!==c.CLAMP&&(l>0&&(E=b.height+l),h<-y&&(A=y+h)),!0},r._getFirstCharLen=function(){return 1},r._getFontScale=function(){return L===c.SHRINK?C:1},r._getFirstWordLen=function(t,e,i){var n=t.charAt(e);if(a.isUnicodeCJK(n)||"\n"===n||a.isUnicodeSpace(n))return 1;var r=1,s=u.fontAtlas.getLetterDefinitionForChar(n,u);if(!s)return r;for(var o=s.xAdvance*C+O,c=e+1;cB&&!a.isUnicodeSpace(n)&&B>0)return r;if(o+=s.xAdvance*C+O,"\n"===n||a.isUnicodeSpace(n)||a.isUnicodeCJK(n))break;r++}return r},r._multilineTextWrapByWord=function(){return this._multilineTextWrap(this._getFirstWordLen)},r._multilineTextWrapByChar=function(){return this._multilineTextWrap(this._getFirstCharLen)},r._recordPlaceholderInfo=function(t,e){if(t>=d.length){var i=new l;d.push(i)}d[t].char=e,d[t].hash=e.charCodeAt(0)+u.hash,d[t].valid=!1},r._recordLetterInfo=function(t,e,i,n){if(i>=d.length){var r=new l;d.push(r)}var s=e.charCodeAt(0)+u.hash;d[i].line=n,d[i].char=e,d[i].hash=s,d[i].valid=u.fontAtlas.getLetter(s).valid,d[i].x=t.x,d[i].y=t.y},r._alignText=function(){y=0,p.length=0,this._multilineTextWrapByWord(),this._computeAlignmentOffset(),L===c.SHRINK&&R>0&&this._isVerticalClamp()&&this._shrinkLabelToContentSize(this._isVerticalClamp),this._updateQuads()||L===c.SHRINK&&this._shrinkLabelToContentSize(this._isHorizontalClamp)},r._scaleFontSizeDown=function(t){var e=!0;t||(t=.1,e=!1),R=t,e&&this._updateContent()},r._shrinkLabelToContentSize=function(t){for(var e=0,i=0|R,n=0;e>1;if(r<=0)break;C=r/w,this._multilineTextWrapByWord(),this._computeAlignmentOffset(),t()?i=n-1:e=n}var s=e;s>=0&&this._scaleFontSizeDown(s)},r._isVerticalClamp=function(){return y>b.height},r._isHorizontalClamp=function(){for(var t=!1,e=0,i=S.length;e0)if(P){if(p[a]>b.width&&(s>b.width||s<0)){t=!0;break}}else if(s>b.width){t=!0;break}}}return t},r._isHorizontalClamped=function(t,e){var i=p[e],n=t>b.width||t<0;return P?i>b.width&&n:n},r._updateQuads=function(){var t=x?x._texture:u.fontAtlas.getTexture(),e=_.node;this.verticesCount=this.indicesCount=0,this._renderData&&(this._renderData.dataLength=0);for(var i=b,n=e._anchorPoint.x*i.width,r=e._anchorPoint.y*i.height,s=!0,a=0,o=S.length;a0){if(p>E){var g=p-E;h.y+=g,h.height-=g,p-=g}p-f.h*C0&&this._isHorizontalClamped(y,m))if(L===c.CLAMP)h.width=0;else if(L===c.SHRINK){if(b.width>f.w){s=!1;break}h.width=0}if(h.height>0&&h.width>0){var R=this._determineRect(h),w=l.x+v[l.line];this.appendQuad(_,t,h,R,w-n,p-r,C)}}}return this._quadsUpdated(_),s},r._determineRect=function(t){var e=x.isRotated(),i=x._originalSize,n=x._rect,r=x._offset,s=r.x+(i.width-n.width)/2,a=r.y-(i.height-n.height)/2;if(e){var o=t.x;t.x=n.x+n.height-t.y-t.height-a,t.y=o+n.y-s,t.y<0&&(t.height=t.height+a)}else t.x+=n.x-s,t.y+=n.y+a;return e},r._computeAlignmentOffset=function(){switch(v.length=0,I){case o.TextAlignment.LEFT:for(var t=0;t0){var u=e.out||v;t.strokeStyle="rgba("+u.r+", "+u.g+", "+u.b+", "+u.a/255+")",t.lineWidth=2*e.margin,t.strokeText(this._char,s,a)}t.fillText(this._char,s,a),this._texture.handleLoadedTexture()},destroy:function(){this._texture.destroy(),this._texture=null,a._canvasPool.put(this._data)}},cc.js.mixin(T.prototype,{insertLetterTexture:function(t){var e=t._texture,i=e.width,n=e.height;if(this._x+i+g>this._width&&(this._x=g,this._y=this._nexty),this._y+n>this._nexty&&(this._nexty=this._y+n+g),this._nexty>this._height)return null;this._fontDefDictionary._texture.drawTextureAt(e,this._x,this._y),this._dirty=!0;var r=new d;return r.u=this._x+1,r.v=this._y+1,r.texture=this._fontDefDictionary._texture,r.valid=!0,r.w=t._width-2,r.h=t._height-2,r.xAdvance=r.w,r.offsetY=t._offsetY,this._x+=i+g,this._fontDefDictionary.addLetterDefinitions(t._hash,r),r},update:function(){this._dirty&&(this._fontDefDictionary._texture.update(),this._dirty=!1)},reset:function(){this._x=g,this._y=g,this._nexty=g;for(var t=this._fontDefDictionary._letterDefinitions,e=0,i=t.length;e0&&(n=n+e.margin+e.out.toHEX()),""+e.fontSize+e.fontFamily+i+n)},r._getFontDesc=function(){return f.fontSize.toString()+"px "+f.fontFamily},r._computeHorizontalKerningForText=function(){},r._determineRect=function(){return!1},n})(r.default);i.default=A,e.exports=i.default}),{"../../../assets/CCRenderTexture":66,"../../../components/CCComponent":101,"../../../components/CCLabel":103,"../../../components/CCLabelOutline":void 0,"../../../utils/text-utils":230,"../../webgl/assemblers/label/2d/bmfont":193,"../utils":188}],187:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../assembler-2d"))&&n.__esModule?n:{default:n};function s(t,e){return(s=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var a,o=t("../../../utils/text-utils"),c=t("../../../platform/CCMacro"),u=t("../../../components/CCLabel"),l=t("../../../components/CCLabelOutline"),h=t("../../../components/CCLabelShadow"),_=u.Overflow,f=t("../utils").deleteFromDynamicAtlas,d=t("../utils").getFontFamily,p=(1/255).toFixed(3),v=null,g=null,m=null,y="",T="",E=0,A=0,C=[],x=cc.Size.ZERO,b=0,S=0,R=0,w=null,I="",M=_.NONE,O=!1,D=!1,L=null,P=cc.Color.WHITE,N=null,F=cc.Color.BLACK,B=cc.rect(),U=cc.Size.ZERO,z=cc.Size.ZERO,k=!1,V=!1,H=!1,W=0,G=cc.Vec2.ZERO,j=0,Y=["left","center","right"],X=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,s(e,i);var r=n.prototype;return r._getAssemblerData=function(){return(a=u._canvasPool.get()).canvas.width=a.canvas.height=1,a},r._resetAssemblerData=function(t){t&&u._canvasPool.put(t)},r.updateRenderData=function(e){t.prototype.updateRenderData.call(this,e),e._vertsDirty&&(this._updateProperties(e),this._calculateLabelFont(),this._updateLabelDimensions(),this._updateTexture(e),this._calDynamicAtlas(e),e._actualFontSize=E,e.node.setContentSize(z),this.updateVerts(e),e._vertsDirty=!1,v=null,g=null,m=null)},r.updateVerts=function(){},r._updatePaddingRect=function(){var t=0,e=0,i=0,n=0,r=0;if(U.width=U.height=0,L&&(t=e=i=n=r=L.width,U.width=U.height=2*r),N){var s=N.blur+r;i=Math.max(i,-N._offset.x+s),n=Math.max(n,N._offset.x+s),t=Math.max(t,N._offset.y+s),e=Math.max(e,-N._offset.y+s)}if(V){var a=A*Math.tan(.20943951);n+=a,U.width+=a}B.x=i,B.y=t,B.width=i+n,B.height=t+e},r._updateProperties=function(t){var e=t._assemblerData;v=e.context,g=e.canvas,m=t._frame._original?t._frame._original._texture:t._frame._texture,T=t.string.toString(),E=t._fontSize,A=E,W=t.underlineHeight||A/8,M=t.overflow,x.width=t.node.width,x.height=t.node.height,z=t.node.getContentSize(),b=t._lineHeight,S=t.horizontalAlign,R=t.verticalAlign,w=t.node.color,k=t.enableBold,V=t.enableItalic,H=t.enableUnderline,I=d(t),D=t.srcBlendFactor===cc.macro.BlendFactor.ONE,O=M!==_.NONE&&(M===_.RESIZE_HEIGHT||t.enableWrapText),(L=(L=l&&t.getComponent(l))&&L.enabled&&L.width>0?L:null)&&P.set(L.color),(N=(N=h&&t.getComponent(h))&&N.enabled?N:null)&&(F.set(N.color),F.a=F.a*t.node.color.a/255),this._updatePaddingRect()},r._calculateFillTextStartPosition=function(){var t=0;S===c.TextAlignment.RIGHT?t=x.width-B.width:S===c.TextAlignment.CENTER&&(t=(x.width-B.width)/2);var e=this._getLineHeight()*(C.length-1),i=E*(1-o.BASELINE_RATIO/2);if(R!==c.VerticalTextAlignment.TOP){var n=e+B.height+E-x.height;R===c.VerticalTextAlignment.BOTTOM?i-=n+=o.BASELINE_RATIO/2*E:i-=n/2}return i+=o.BASELINE_OFFSET*E,cc.v2(t+B.x,i+B.y)},r._setupOutline=function(){v.strokeStyle="rgba("+P.r+", "+P.g+", "+P.b+", "+P.a/255+")",v.lineWidth=2*L.width},r._setupShadow=function(){v.shadowColor="rgba("+F.r+", "+F.g+", "+F.b+", "+F.a/255+")",v.shadowBlur=N.blur,v.shadowOffsetX=N.offset.x,v.shadowOffsetY=-N.offset.y},r._drawTextEffect=function(t,e){if(N||L||H){var i=C.length>1&&N,n=this._measureText(v,y),r=0,s=0;N&&this._setupShadow(),L&&this._setupOutline();for(var a=0;at||x.height>t)&&cc.warn("The maximum texture size supported by the device is "+t),x.width=Math.min(x.width,t),x.height=Math.min(x.height,t);var e=!1;g.width!==x.width&&(g.width=x.width,e=!0),g.height!==x.height&&(g.height=x.height,e=!0),e&&(v.font=y),v.textAlign=Y[S]},r._getFontDesc=function(){var t=E.toString()+"px ";return t+=I,k&&(t="bold "+t),V&&(t="italic "+t),t},r._getLineHeight=function(){return 0|(0===b?E:b*E/A)},r._calculateParagraphLength=function(t,e){for(var i=[],n=0;n>1)<=0){cc.logID(4003);break}E=l,y=this._getFontDesc(),v.font=y;var h=this._getLineHeight();for(n=0,i=0;ia?u=l-1:c=l}0===c?cc.logID(4003):(E=c,y=this._getFontDesc(),v.font=y)}else{for(n=t.length*this._getLineHeight(),i=0;ir?e:r}i=(C.length+o.BASELINE_RATIO)*this._getLineHeight();var s=parseFloat(e.toFixed(2)),a=parseFloat(i.toFixed(2));x.width=s+B.width,x.height=a+B.height,z.width=s+U.width,z.height=a+U.height;break;case _.SHRINK:this._calculateShrinkFont(t),this._calculateWrapText(t);break;case _.CLAMP:this._calculateWrapText(t);break;case _.RESIZE_HEIGHT:this._calculateWrapText(t);var c=(C.length+o.BASELINE_RATIO)*this._getLineHeight();x.height=c+B.height,z.height=c+U.height}},n})(r.default);i.default=X,e.exports=i.default}),{"../../../components/CCLabel":103,"../../../components/CCLabelOutline":void 0,"../../../components/CCLabelShadow":void 0,"../../../platform/CCMacro":154,"../../../utils/text-utils":230,"../../assembler-2d":175,"../utils":188}],188:[(function(t,e){"use strict";var i=t("./dynamic-atlas/manager"),n=cc.Color.WHITE,r={fontAtlas:null,fontSize:0,lineHeight:0,hAlign:0,vAlign:0,hash:"",fontFamily:"",fontDesc:"Arial",color:n,isOutlined:!1,out:n,margin:0};e.exports={deleteFromDynamicAtlas:function(t,e){e&&e._original&&i&&(i.deleteAtlasSpriteFrame(e),e._resetDynamicAtlasFrame())},getFontFamily:function(t){return t.useSystemFont?t.fontFamily||"Arial":t.font?t.font._nativeAsset?t.font._nativeAsset:(cc.assetManager.postLoadNative(t.font,(function(){t.isValid&&t.setVertsDirty()})),"Arial"):"Arial"},shareLabelInfo:r}}),{"./dynamic-atlas/manager":183}],189:[(function(t,e){"use strict";function i(t,e,i){i=i||2;var r,a,o,c,u,h,_,f=e&&e.length,d=f?e[0]*i:t.length,p=n(t,0,d,i,!0),v=[];if(!p)return v;if(f&&(p=l(t,e,p,i)),t.length>80*i){r=o=t[0],a=c=t[1];for(var g=i;go&&(o=u),h>c&&(c=h);_=Math.max(o-r,c-a)}return s(p,v,i,r,a,_),v}function n(t,e,i,n,r){var s,a;if(r===M(t,e,i,n)>0)for(s=e;s=e;s-=n)a=R(s,t[s],t[s+1],a);return a&&E(a,a.next)&&(w(a),a=a.next),a}function r(t,e){if(!t)return t;e||(e=t);var i,n=t;do{if(i=!1,n.steiner||!E(n,n.next)&&0!==T(n.prev,n,n.next))n=n.next;else{if(w(n),(n=e=n.prev)===n.next)return null;i=!0}}while(i||n!==e);return e}function s(t,e,i,n,l,h,_){if(t){!_&&h&&d(t,n,l,h);for(var f,p,v=t;t.prev!==t.next;)if(f=t.prev,p=t.next,h?o(t,n,l,h):a(t))e.push(f.i/i),e.push(t.i/i),e.push(p.i/i),w(t),t=p.next,v=p.next;else if((t=p)===v){_?1===_?s(t=c(t,e,i),e,i,n,l,h,2):2===_&&u(t,e,i,n,l,h):s(r(t),e,i,n,l,h,1);break}}}function a(t){var e=t.prev,i=t,n=t.next;if(T(e,i,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(m(e.x,e.y,i.x,i.y,n.x,n.y,r.x,r.y)&&T(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function o(t,e,i,n){var r=t.prev,s=t,a=t.next;if(T(r,s,a)>=0)return!1;for(var o=r.xs.x?r.x>a.x?r.x:a.x:s.x>a.x?s.x:a.x,l=r.y>s.y?r.y>a.y?r.y:a.y:s.y>a.y?s.y:a.y,h=v(o,c,e,i,n),_=v(u,l,e,i,n),f=t.nextZ;f&&f.z<=_;){if(f!==t.prev&&f!==t.next&&m(r.x,r.y,s.x,s.y,a.x,a.y,f.x,f.y)&&T(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=h;){if(f!==t.prev&&f!==t.next&&m(r.x,r.y,s.x,s.y,a.x,a.y,f.x,f.y)&&T(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0}function c(t,e,i){var n=t;do{var r=n.prev,s=n.next.next;!E(r,s)&&A(r,n,n.next,s)&&x(r,s)&&x(s,r)&&(e.push(r.i/i),e.push(n.i/i),e.push(s.i/i),w(n),w(n.next),n=t=s),n=n.next}while(n!==t);return n}function u(t,e,i,n,a,o){var c=t;do{for(var u=c.next.next;u!==c.prev;){if(c.i!==u.i&&y(c,u)){var l=S(c,u);return c=r(c,c.next),l=r(l,l.next),s(c,e,i,n,a,o),void s(l,e,i,n,a,o)}u=u.next}c=c.next}while(c!==t)}function l(t,e,i,s){var a,o,c,u=[];for(a=0,o=e.length;a=n.next.y){var o=n.x+(s-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(o<=r&&o>a){if(a=o,o===r){if(s===n.y)return n;if(s===n.next.y)return n.next}i=n.x=n.x&&n.x>=l&&m(si.x)&&x(n,t)&&(i=n,_=c),n=n.next;return i}function d(t,e,i,n){var r=t;do{null===r.z&&(r.z=v(r.x,r.y,e,i,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,p(r)}function p(t){var e,i,n,r,s,a,o,c,u=1;do{for(i=t,t=null,s=null,a=0;i;){for(a++,n=i,o=0,e=0;e0||c>0&&n;)0===o?(r=n,n=n.nextZ,c--):0!==c&&n?i.z<=n.z?(r=i,i=i.nextZ,o--):(r=n,n=n.nextZ,c--):(r=i,i=i.nextZ,o--),s?s.nextZ=r:t=r,r.prevZ=s,s=r;i=n}s.nextZ=null,u*=2}while(a>1);return t}function v(t,e,i,n,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-i)/r)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)/r)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function g(t){var e=t,i=t;do{e.x=0&&(t-a)*(n-o)-(i-a)*(e-o)>=0&&(i-a)*(s-o)-(r-a)*(n-o)>=0}function y(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!C(t,e)&&x(t,e)&&x(e,t)&&b(t,e)}function T(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function E(t,e){return t.x===e.x&&t.y===e.y}function A(t,e,i,n){return!!(E(t,e)&&E(i,n)||E(t,n)&&E(i,e))||T(t,e,i)>0!=T(t,e,n)>0&&T(i,n,t)>0!=T(i,n,e)>0}function C(t,e){var i=t;do{if(i.i!==t.i&&i.next.i!==t.i&&i.i!==e.i&&i.next.i!==e.i&&A(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}function x(t,e){return T(t.prev,t,t.next)<0?T(t,e,t.next)>=0&&T(t,t.prev,e)>=0:T(t,e,t.prev)<0||T(t,t.next,e)<0}function b(t,e){var i=t,n=!1,r=(t.x+e.x)/2,s=(t.y+e.y)/2;do{i.y>s!=i.next.y>s&&r<(i.next.x-i.x)*(s-i.y)/(i.next.y-i.y)+i.x&&(n=!n),i=i.next}while(i!==t);return n}function S(t,e){var i=new I(t.i,t.x,t.y),n=new I(e.i,e.x,e.y),r=t.next,s=e.prev;return t.next=e,e.prev=t,i.next=r,r.prev=i,n.next=i,i.prev=n,s.next=n,n.prev=s,n}function R(t,e,i,n){var r=new I(t,e,i);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function w(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function I(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function M(t,e,i,n){for(var r=0,s=e,a=i-n;s0&&(n+=t[r-1].length,i.holes.push(n))}return i}}),{}],190:[(function(t,e){"use strict";var i=t("../../../../graphics/helper"),n=t("../../../../graphics/types").PointFlags,r=cc.Graphics.Point=cc.Class({name:"cc.GraphicsPoint",extends:cc.Vec2,ctor:function(){this.reset()},reset:function(){this.dx=0,this.dy=0,this.dmx=0,this.dmy=0,this.flags=0,this.len=0}});function s(){this.reset()}function a(){this._tessTol=.25,this._distTol=.01,this._updatePathOffset=!1,this._paths=null,this._pathLength=0,this._pathOffset=0,this._points=null,this._pointsOffset=0,this._commandx=0,this._commandy=0,this._paths=[],this._points=[]}cc.js.mixin(s.prototype,{reset:function(){this.closed=!1,this.nbevel=0,this.complex=!0,this.points?this.points.length=0:this.points=[]}}),cc.js.mixin(a.prototype,{moveTo:function(t,e){this._updatePathOffset&&(this._pathOffset=this._pathLength,this._updatePathOffset=!1),this._addPath(),this._addPoint(t,e,n.PT_CORNER),this._commandx=t,this._commandy=e},lineTo:function(t,e){this._addPoint(t,e,n.PT_CORNER),this._commandx=t,this._commandy=e},bezierCurveTo:function(t,e,r,s,a,o){var c=this._curPath,u=c.points[c.points.length-1];u.x!==t||u.y!==e||r!==a||s!==o?(i.tesselateBezier(this,u.x,u.y,t,e,r,s,a,o,0,n.PT_CORNER),this._commandx=a,this._commandy=o):this.lineTo(a,o)},quadraticCurveTo:function(t,e,i,n){var r=this._commandx,s=this._commandy;this.bezierCurveTo(r+2/3*(t-r),s+2/3*(e-s),i+2/3*(t-i),n+2/3*(e-n),i,n)},arc:function(t,e,n,r,s,a){i.arc(this,t,e,n,r,s,a)},ellipse:function(t,e,n,r){i.ellipse(this,t,e,n,r),this._curPath.complex=!1},circle:function(t,e,n){i.ellipse(this,t,e,n,n),this._curPath.complex=!1},rect:function(t,e,i,n){this.moveTo(t,e),this.lineTo(t,e+n),this.lineTo(t+i,e+n),this.lineTo(t+i,e),this.close(),this._curPath.complex=!1},roundRect:function(t,e,n,r,s){i.roundRect(this,t,e,n,r,s),this._curPath.complex=!1},clear:function(t){this._pathLength=0,this._pathOffset=0,this._pointsOffset=0,this._curPath=null,t&&(this._paths.length=0,this._points.length=0)},close:function(){this._curPath.closed=!0},_addPath:function(){var t=this._pathLength,e=this._paths[t];return e?e.reset():(e=new s,this._paths.push(e)),this._pathLength++,this._curPath=e,e},_addPoint:function(t,e,i){var n=this._curPath;if(n){var s,a=this._points,o=n.points;(s=a[this._pointsOffset++])?(s.x=t,s.y=e):(s=new r(t,e),a.push(s)),s.flags=i,o.push(s)}}}),cc.Graphics._Impl=a,e.exports=a}),{"../../../../graphics/helper":139,"../../../../graphics/types":141}],191:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=s(t("../../../assembler")),r=s(t("../../../../../renderer/core/input-assembler"));function s(t){return t&&t.__esModule?t:{default:t}}function a(t,e){return(a=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var o=t("../../mesh-buffer"),c=t("../../../index"),u=t("../../../../graphics/graphics"),l=t("../../../../graphics/types").PointFlags,h=u.LineJoin,_=u.LineCap,f=t("./earcut");t("./impl");var d=Math.PI,p=Math.min,v=Math.max,g=Math.ceil,m=Math.acos,y=Math.cos,T=Math.sin,E=Math.atan2;function A(t,e,i){return ti?i:t}var C=cc.gfx,x=new C.VertexFormat([{name:C.ATTR_POSITION,type:C.ATTR_TYPE_FLOAT32,num:2},{name:C.ATTR_COLOR,type:C.ATTR_TYPE_UINT8,num:4,normalize:!0},{name:"a_dist",type:C.ATTR_TYPE_FLOAT32,num:1}]);x.name="vfmtPosColorSdf";var b=(function(t){var e,i;function n(e){var i;return(i=t.call(this,e)||this)._buffer=null,i._buffers=[],i._bufferOffset=0,i}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,a(e,i);var s=n.prototype;return s.getVfmt=function(){return x},s.getVfmtFloatCount=function(){return 4},s.requestBuffer=function(){var t={indiceStart:0,vertexStart:0},e=new o(c._handle,this.getVfmt());t.meshbuffer=e;var i=new r.default(e._vb,e._ib);return t.ia=i,this._buffers.push(t),t},s.getBuffers=function(){return 0===this._buffers.length&&this.requestBuffer(),this._buffers},s.clear=function(t){this._bufferOffset=0;var e=this._buffers;if(t){for(var i=0,n=e.length;i65535||3*s>131070)&&(++this._bufferOffset,s=e,this._bufferOffsetr.vertexOffset&&r.requestStatic(e,3*e),this._buffer=n,n},s.stroke=function(t){this._curColor=t._strokeColor._val,this._flattenPaths(t._impl),this._expandStroke(t),t._impl._updatePathOffset=!0},s.fill=function(t){this._curColor=t._fillColor._val,this._expandFill(t),t._impl._updatePathOffset=!0},s._expandStroke=function(t){var e,i,n,r,s=.5*t.lineWidth,a=t.lineCap,o=t.lineJoin,c=t.miterLimit,u=t._impl,f=(e=s,i=d,n=u._tessTol,r=2*m(e/(e+n)),v(2,g(i/r)));this._calculateJoins(u,s,o,c);for(var p=u._paths,y=0,T=u._pathOffset,E=u._pathLength;T0&&(r=1/e);for(var a=t._paths,o=t._pathOffset,c=t._pathLength;o1e-6){var b=1/y;b>600&&(b=600),g.dmx*=b,g.dmy*=b}g.dx*d.dy-d.dx*g.dy>0&&(g.flags|=l.PT_LEFT),y*(T=v(11,p(d.len,g.len)*r))*T<1&&(g.flags|=l.PT_INNERBEVEL);var S=g.dmx*e,R=g.dmy*e,w=S*S+R*R;w>g.len*g.len+s&&w>d.len*d.len+s&&(g.flags|=l.PT_INNERBEVEL),g.flags&l.PT_CORNER&&(y*n*n<1||i===h.BEVEL||i===h.ROUND)&&(g.flags|=l.PT_BEVEL),0!=(g.flags&(l.PT_BEVEL|l.PT_INNERBEVEL))&&u.nbevel++,d=g,g=_[m+1]}}},s._flattenPaths=function(t){for(var e=t._paths,i=t._pathOffset,n=t._pathLength;i2&&a.equals(o)&&(r.closed=!0,s.pop(),a=s[s.length-1]);for(var c=0,u=s.length;cC&&(x-=2*d),this._vset(f,p,1),this._vset(u-s*n,e.y-a*n,-1);for(var b=A(g((C-x)/d)*r,2,r),S=0;S "+n+"/"+i+".")},e._updateCfgFlag=function(t){var e=this._cfgFields.updateFlags;this._setBufferFlag(this._cfg,e.offset,e.size,e.type,t)},e._setBufferValue=function(t,e,i,n,r){"float"==n&&4==i?t.setFloat32(e,r,jsb.__isLittleEndian__):"int32"==n&&4==i?t.setInt32(e,r,jsb.__isLittleEndian__):"bool"==n&&1==i?t.setInt8(e,r?1:0,jsb.__isLittleEndian__):"Color4B"==n&&4==i?(t.setUint8(e,r.r),t.setUint8(e+1,r.g),t.setUint8(e+2,r.b),t.setUint8(e+3,r.a)):"int8"==n&&1==i?t.setUint8(e,r):cc.warn("dont know how to set value to buffer, type/size -> "+n+"/"+i+".")},e._setFieldValue=function(t,e,i,n){var r=e[i];this._setBufferValue(t,r.offset,r.size,r.type,n)},e._getBufferValue=function(t,e,i,n){return"float"==n&&4==i?t.getFloat32(e,jsb.__isLittleEndian__):"int32"==n&&4==i?t.getInt32(e,jsb.__isLittleEndian__):"bool"==n&&1==i?0!=t.getInt8(e,jsb.__isLittleEndian__):"Color4B"==n&&4==i?{r:t.getUint8(e),g:t.getUint8(e+1),b:t.getUint8(e+2),a:t.getUint8(e+3)}:"int8"==n&&1==i?t.getUint8(e):void cc.warn("dont know how to get value from buffer, type/size -> "+n+"/"+i+".")},e._getFieldValue=function(t,e,i){var n=e[i];return this._getBufferValue(t,n.offset,n.size,n.type)},e._getLayoutValue=function(t){return this._getFieldValue(this._layoutInfo,this._layoutFields,t)},e._setLayoutValue=function(t,e){return this._setFieldValue(this._layoutInfo,this._layoutFields,t,e)},e._updateCfgFlag_Content=function(){this._updateCfgFlag(1)},e._updateCfgFlag_Font=function(){this._updateCfgFlag(2)},e._colorEqual=function(t,e){return t.r==e.r&&t.g==e.g&&t.b==e.b&&t.a==e.a},e._colorToObj=function(t,e,i,n){return{r:t,g:e,b:i,a:n}},e.setString=function(t){t!=this._layout.string&&(this._layout.string=t,this._updateCfgFlag_Content())},e.setFontPath=function(t){t!=this._layout.fontPath&&(this._layout.fontPath=t,this._updateCfgFlag_Font())},e.setFontSize=function(t,e){this._getFieldValue(this._cfg,this._cfgFields,"fontSize")!=t&&(this._setFieldValue(this._cfg,this._cfgFields,"fontSize",t),this._setFieldValue(this._cfg,this._cfgFields,"fontSizeRetina",e),this._updateCfgFlag_Font())},e.setOutline=function(t){var e=this._getLayoutValue("outlineSize");e>0!=t>0&&this._updateCfgFlag_Font(),e!=t&&(this._updateCfgFlag_Content(),this._setLayoutValue("outlineSize",t))},e.setOutlineColor=function(t){var e=this._getLayoutValue("outlineColor");this._colorEqual(e,t)||(this._setLayoutValue("outlineColor",t),this._updateCfgFlag_Content())},e.setLineHeight=function(t){this._getLayoutValue("lineHeight")!=t&&(this._setLayoutValue("lineHeight",t),this._updateCfgFlag_Content())},e.setOverFlow=function(t){this._getLayoutValue("overflow")!=t&&(this._setLayoutValue("overflow",t),this._updateCfgFlag_Content())},e.setEnableWrap=function(t){this._getLayoutValue("wrap")!=t&&(this._setLayoutValue("wrap",t),this._updateCfgFlag_Content())},e.setVerticalAlign=function(t){this._getLayoutValue("valign")!=t&&(this._setLayoutValue("valign",t),this._updateCfgFlag_Content())},e.setHorizontalAlign=function(t){this._getLayoutValue("halign")!=t&&(this._setLayoutValue("halign",t),this._updateCfgFlag_Content())},e.setContentSize=function(t,e){var i=this._getLayoutValue("width"),n=this._getLayoutValue("height");i==t&&n==e||(this._setLayoutValue("height",e),this._setLayoutValue("width",t),this._updateCfgFlag_Content())},e.setAnchorPoint=function(t,e){var i=this._getLayoutValue("anchorX"),n=this._getLayoutValue("anchorY");i==t&&n==e||(this._setLayoutValue("anchorX",t),this._setLayoutValue("anchorY",e),this._updateCfgFlag_Content())},e.setColor=function(t){var e=this._getLayoutValue("color");this._colorEqual(e,t)||(this._setLayoutValue("color",t),this._updateCfgFlag_Content())},e.setShadow=function(t,e,i){var n=this._getLayoutValue("shadowBlur"),r=this._getLayoutValue("shadowX"),s=this._getLayoutValue("shadowY");n>0!=i>0&&this._updateCfgFlag_Font();var a=!1;n!=i&&(this._setLayoutValue("shadowBlur",i),a=!0),r!=t&&(this._setLayoutValue("shadowX",t),a=!0),s!=e&&(this._setLayoutValue("shadowY",e),a=!0),a&&this._updateCfgFlag_Content()},e.setShadowColor=function(t){var e=this._getLayoutValue("shadowColor");this._colorEqual(e,t)||(this._setLayoutValue("shadowColor",t),this._updateCfgFlag_Content())},e.setItalic=function(t){this._getLayoutValue("italic")!=t&&(this._setLayoutValue("italic",t),this._updateCfgFlag_Content())},e.setBold=function(t){this._getLayoutValue("bold")!=t&&(this._setLayoutValue("bold",t),this._updateCfgFlag_Content(),this._updateCfgFlag_Font())},e.setUnderline=function(t){this._getLayoutValue("underline")!=t&&(this._setLayoutValue("underline",t),this._updateCfgFlag_Content())},e.setSpacingX=function(t){this._getLayoutValue("spaceX")==t||"number"!=typeof t||isNaN(t)||(this._setLayoutValue("spaceX",t),this._updateCfgFlag_Content())},e.updateRenderData=function(t){if(t._vertsDirty){t.font&&t.font.nativeUrl&&this.setFontPath(cc.assetManager.cacheManager.getCache(t.font.nativeUrl)||t.font.nativeUrl);var e=this._layout,i=t.node.color,n=t.node,r=t.fontSize;this.setString(t.string),this.setFontSize(t.fontSize,r/72*t.fontSize),this.setLineHeight(t.lineHeight),this.setEnableWrap(t.enableWrapText),this.setItalic(t.enableItalic),this.setUnderline(t.enableUnderline),this.setBold(t.enableBold),this.setOverFlow(t.overflow),this.setVerticalAlign(t.verticalAlign),this.setHorizontalAlign(t.horizontalAlign),this.setSpacingX(t.spacingX),this.setContentSize(n.getContentSize().width,n.getContentSize().height),this.setAnchorPoint(n.anchorX,n.anchorY),this.setColor(this._colorToObj(i.getR(),i.getG(),i.getB(),Math.ceil(i.getA()*n.opacity/255)));var s=n.getComponent(cc.LabelShadow);if(s&&s.enabled){var a=s.color;this.setShadow(s.offset.x,s.offset.y,s.blur),this.setShadowColor(this._colorToObj(a.getR(),a.getG(),a.getB(),Math.ceil(a.getA()*n.opacity/255)))}else this.setShadow(0,0,-1);this._updateTTFMaterial(t),e.render()}},e._bindMaterial=function(t){var e=this.labelMaterial;return e||(e=r.default.createWithBuiltin("2d-label",t),this.labelMaterial=e),e},e._updateTTFMaterial=function(t){var e=this._bindMaterial(t),i=this._label.node,n=this._layout,r=i.getComponent(cc.LabelOutline),s=0;if(r&&r.enabled&&r.width>0){s=Math.max(Math.min(r.width/10,.4),.1);var a=r.color;this.setOutlineColor(this._colorToObj(a.getR(),a.getG(),a.getB(),Math.ceil(a.getA()*i.opacity/255)))}this.setOutline(s),e.define("CC_USE_MODEL",!0),e.define("USE_TEXTURE_ALPHAONLY",!0),e.define("USE_SDF",s>0||t.enableBold),e.define("USE_SDF_EXTEND",t.enableBold?1:0),void 0!==e.getDefine("CC_SUPPORT_standard_derivatives")&&cc.sys.glExtension("OES_standard_derivatives")&&e.define("CC_SUPPORT_standard_derivatives",!0),n.setEffect(e.effect._nativeObj)},e.fillBuffers=function(){this._layout.render()},e.getVfmt=function(){},t})();i.default=s,e.exports=i.default}),{"../../../../../assets/material/CCMaterial":77,"../../../../../assets/material/material-variant":84,"../../../../../components/CCLabel":103,"../../../../../components/CCLabelOutline":void 0,"../../../../../components/CCLabelShadow":void 0}],196:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../../../utils/label/ttf"))&&n.__esModule?n:{default:n};function s(t,e){return(s=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var a=t("../../../../../components/CCLabelShadow"),o=cc.color(255,255,255,255),c=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,s(e,i);var r=n.prototype;return r.updateUVs=function(t){for(var e=this._renderData.vDatas[0],i=t._frame.uv,n=this.uvOffset,r=this.floatsPerVert,s=0;s<4;s++){var a=2*s,o=r*s+n;e[o]=i[a],e[o+1]=i[a+1]}},r.updateColor=function(e){o._fastSetA(e.node._color.a);var i=o._val;t.prototype.updateColor.call(this,e,i)},r.updateVerts=function(t){var e=t.node,i=t._ttfTexture.width,n=t._ttfTexture.height,r=e.anchorX*e.width,s=e.anchorY*e.height,o=a&&t.getComponent(a);if(o&&o._enabled){var c=(i-e.width)/2,u=(n-e.height)/2,l=o.offset;-l.x>c?r+=i-e.width:c>l.x&&(r+=c-l.x),-l.y>u?s+=n-e.height:u>l.y&&(s+=u-l.y)}var h=this._local;h[0]=-r,h[1]=-s,h[2]=i-r,h[3]=n-s,this.updateUVs(t),this.updateWorldVerts(t)},n})(r.default);i.default=c,e.exports=i.default}),{"../../../../../components/CCLabelShadow":void 0,"../../../../utils/label/ttf":187}],197:[(function(t){"use strict";var e=u(t("../../../assembler")),i=u(t("../../../../components/CCLabel")),n=u(t("./2d/ttf")),r=u(t("./2d/bmfont")),s=u(t("./2d/letter")),a=u(t("./3d/ttf")),o=u(t("./3d/bmfont")),c=u(t("./3d/letter"));function u(t){return t&&t.__esModule?t:{default:t}}i.default._canvasPool={pool:[],get:function(){var t=this.pool.pop();if(!t){var e=document.createElement("canvas"),i=e.getContext("2d");t={canvas:e,context:i},i.textBaseline="alphabetic"}return t},put:function(t){this.pool.length>=32||this.pool.push(t)}},e.default.register(cc.Label,{getConstructor:function(t){var e=t.node.is3DNode,u=e?a.default:n.default;return t.font instanceof cc.BitmapFont?u=e?o.default:r.default:t.cacheMode===i.default.CacheMode.CHAR&&(cc.sys.platform===cc.sys.WECHAT_GAME_SUB?cc.warn("sorry, subdomain does not support CHAR mode currently!"):u=e?c.default:s.default),u},TTF:n.default,Bmfont:r.default,Letter:s.default,TTF3D:a.default,Bmfont3D:o.default,Letter3D:c.default,NativeTTF:void 0})}),{"../../../../components/CCLabel":103,"../../../assembler":177,"./2d/bmfont":193,"./2d/letter":194,"./2d/nativeTTF":195,"./2d/ttf":196,"./3d/bmfont":void 0,"./3d/letter":void 0,"./3d/ttf":void 0}],198:[(function(t,e,i){"use strict";i.__esModule=!0,i.MaskAssembler=void 0;var n,r=(n=t("../../assembler"))&&n.__esModule?n:{default:n};function s(t,e){return(s=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var a=t("../../../components/CCMask"),o=t("../../render-flow"),c=t("./sprite/2d/simple"),u=t("./graphics"),l=t("../../../../renderer/gfx"),h=t("../vertex-format").vfmtPos,_=8,f=[];function d(){return 1<_&&cc.errorID(9e3,_),f.push(t)}function m(t,e){0===f.length&&cc.errorID(9001),f.pop(),0===f.length?e._flushMaterial(t._exitMaterial):E(e)}function y(t,e){var i=l.DS_FUNC_NEVER,n=d(),r=n,s=n,a=t.inverted?l.STENCIL_OP_REPLACE:l.STENCIL_OP_ZERO;v(t._clearMaterial,i,a,n,r,s);var o=e.getBuffer("mesh",h),c=o.request(4,6),u=c.indiceOffset,_=c.byteOffset>>2,f=c.vertexOffset,p=o._vData,g=o._iData;p[_++]=-1,p[_++]=-1,p[_++]=-1,p[_++]=1,p[_++]=1,p[_++]=1,p[_++]=1,p[_++]=-1,g[u++]=f,g[u++]=f+3,g[u++]=f+1,g[u++]=f+1,g[u++]=f+3,g[u++]=f+2,e.node=e._dummyNode,e.material=t._clearMaterial,e._flush()}function T(t,e){var i=l.DS_FUNC_NEVER,n=d(),r=n,s=n,o=t.inverted?l.STENCIL_OP_ZERO:l.STENCIL_OP_REPLACE;v(t._materials[0],i,o,n,r,s),e.material=t._materials[0],t._type===a.Type.IMAGE_STENCIL?(e.node=e._dummyNode,c.prototype.fillBuffers.call(t._assembler,t,e),e._flush()):(e.node=t.node,u.prototype.fillBuffers.call(t._graphics._assembler,t._graphics,e))}function E(t){var e=l.DS_FUNC_EQUAL,i=l.STENCIL_OP_KEEP,n=p(),r=n,s=d(),a=f[f.length-1];v(a._enableMaterial,e,i,n,r,s),t._flushMaterial(a._enableMaterial)}var A=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,s(e,i);var r=n.prototype;return r.updateRenderData=function(t){t._type===a.Type.IMAGE_STENCIL?t.spriteFrame?c.prototype.updateRenderData.call(this,t):t.setMaterial(0,null):(t._graphics.setMaterial(0,t._materials[0]),u.prototype.updateRenderData.call(t._graphics._assembler,t._graphics,t._graphics))},r.fillBuffers=function(t,e){(t._type!==a.Type.IMAGE_STENCIL||t.spriteFrame)&&(g(t),y(t,e),T(t,e),E(e)),t.node._renderFlag|=o.FLAG_UPDATE_RENDER_DATA},r.postFillBuffers=function(t,e){(t._type!==a.Type.IMAGE_STENCIL||t.spriteFrame)&&m(t,e),t.node._renderFlag|=o.FLAG_UPDATE_RENDER_DATA},n})(c);i.MaskAssembler=A,r.default.register(a,A)}),{"../../../../renderer/gfx":265,"../../../components/CCMask":105,"../../assembler":177,"../../render-flow":181,"../vertex-format":213,"./graphics":191,"./sprite/2d/simple":203}],199:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../assembler-2d"))&&n.__esModule?n:{default:n};function s(t,e){return(s=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var a=t("../../../components/CCMotionStreak"),o=t("../../render-flow");function c(t,e){this.point=t||cc.v2(),this.dir=e||cc.v2(),this.distance=0,this.time=0}c.prototype.setPoint=function(t,e){this.point.x=t,this.point.y=e},c.prototype.setDir=function(t,e){this.dir.x=t,this.dir.y=e},cc.v2(),cc.v2();var u=cc.v2(),l=cc.v2();function h(t,e){return t.x=-e.y,t.y=e.x,t}var _=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,s(e,i);var r=n.prototype;return r.initData=function(){this._renderData.createFlexData(0,16,42)},r.update=function(t,e){var i,n=t._stroke/2,r=t.node._worldMatrix.m,s=r[12],a=r[13],o=t._points;if(o.length>1){var _=o[0].point.x-s,f=o[0].point.y-a;_*_+f*f=0;R--){var w=o[R],I=w.point,M=w.dir;if(w.time-=e,w.time<0)o.splice(R,1);else{var O=w.time/b,D=o[R-1];if(!S){if(!D){o.splice(R,1);continue}I.x=D.point.x-M.x*O,I.y=D.point.y-M.y*O}S=!0,h(u,M);var L=(O*T<<24>>>0)+(y<<16)+(m<<8)+g,P=5*p;C[P]=I.x+u.x*n,C[P+1]=I.y+u.y*n,C[P+2]=1,C[P+3]=O,x[P+4]=L,C[P+=5]=I.x-u.x*n,C[P+1]=I.y-u.y*n,C[P+2]=0,C[P+3]=O,x[P+4]=L,p+=2}}d=p<=2?0:3*(p-2),A.used(p,d)}},r.fillBuffers=function(t,e){var i=this._renderData._flexBuffer,n=i.vData,r=i.usedVertices,s=i.usedIndices,a=i.usedVerticesFloats,c=e._meshBuffer,u=c.request(r,s),l=u.byteOffset>>2,h=c._vData;n.length+l>h.length?h.set(n.subarray(0,a),l):h.set(n,l);for(var _=c._iData,f=u.indiceOffset,d=u.vertexOffset,p=0,v=r;p1?1:n)<0?0:n;var r=(i=(i=i>1?1:i)<0?0:i)+(n=(n-=i)<0?0:n);r=r>1?1:r,this.updateUVs(t,i,r),this.updateVerts(t,i,r),t._vertsDirty=!1}},r.updateUVs=function(t,e,i){var n,r,s,o,c,u,l,h,_,f,d=t._spriteFrame,p=d._texture.width,v=d._texture.height,g=d._rect;d._rotated?(n=g.x/p,r=(g.y+g.width)/v,s=c=n,l=_=(g.x+g.height)/p,u=f=r,o=h=g.y/v):(n=g.x/p,r=(g.y+g.height)/v,s=l=n,c=_=(g.x+g.width)/p,o=u=r,h=f=g.y/v);var m=this._renderData.vDatas[0],y=this.uvOffset,T=this.floatsPerVert;switch(t._fillType){case a.HORIZONTAL:m[y]=s+(c-s)*e,m[y+1]=o+(u-o)*e,m[y+T]=s+(c-s)*i,m[y+T+1]=o+(u-o)*i,m[y+2*T]=l+(_-l)*e,m[y+2*T+1]=h+(f-h)*e,m[y+3*T]=l+(_-l)*i,m[y+3*T+1]=h+(f-h)*i;break;case a.VERTICAL:m[y]=s+(l-s)*e,m[y+1]=o+(h-o)*e,m[y+T]=c+(_-c)*e,m[y+T+1]=u+(f-u)*e,m[y+2*T]=s+(l-s)*i,m[y+2*T+1]=o+(h-o)*i,m[y+3*T]=c+(_-c)*i,m[y+3*T+1]=u+(f-u)*i;break;default:cc.errorID(2626)}},r.updateVerts=function(t,e,i){var n,r=t.node,s=r.width,o=r.height,c=r.anchorX*s,u=r.anchorY*o,l=-c,h=-u,_=s-c,f=o-u;switch(t._fillType){case a.HORIZONTAL:n=l+(_-l)*i,l+=(_-l)*e,_=n;break;case a.VERTICAL:n=h+(f-h)*i,h+=(f-h)*e,f=n;break;default:cc.errorID(2626)}var d=this._local;d[0]=l,d[1]=h,d[2]=_,d[3]=f,this.updateWorldVerts(t)},n})(r.default);i.default=o,e.exports=i.default}),{"../../../../../components/CCSprite":115,"../../../../assembler-2d":175}],201:[(function(t,e,i){"use strict";var n;function r(t,e){return(r=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}i.__esModule=!0,i.default=void 0;var s=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,r(e,i);var s=n.prototype;return s.initData=function(){this._renderData.createFlexData(0,4,6,this.getVfmt())},s.updateRenderData=function(t){this.packToDynamicAtlas(t,t._spriteFrame);var e=t.spriteFrame;if(e){var i=e.vertices;if(i){this.verticesCount=i.x.length,this.indicesCount=i.triangles.length;var n=this._renderData._flexBuffer;n.reserve(this.verticesCount,this.indicesCount)&&(this.updateColor(t),t._vertsDirty=!0),n.used(this.verticesCount,this.indicesCount),this.updateIndices(i.triangles),t._vertsDirty&&(this.updateUVs(t),this.updateVerts(t),this.updateWorldVerts(t),t._vertsDirty=!1)}}},s.updateIndices=function(t){this._renderData.iDatas[0].set(t)},s.updateUVs=function(t){for(var e=t.spriteFrame.vertices,i=e.nu,n=e.nv,r=this.uvOffset,s=this.floatsPerVert,a=this._renderData.vDatas[0],o=0;o0){var h=r.y+o*(t-r.x);a[0].x=t,a[0].y=h}if((e-r.x)*l>0){var _=r.y+o*(e-r.x);a[2].x=e,a[2].y=_}}if(0!==Math.sin(s)){if(c=l/u,(n-r.y)*u>0){var f=r.x+c*(n-r.y);a[3].x=f,a[3].y=n}if((i-r.y)*u>0){var d=r.x+c*(i-r.y);a[1].x=d,a[1].y=i}}}function p(t){var e=t.node,i=e.width,n=e.height,r=e.anchorX*i,s=e.anchorY*n,a=-r,u=-s,l=i-r,h=n-s,d=c;d[0]=a,d[1]=u,d[2]=l,d[3]=h;var p=t._fillCenter,v=_.x=Math.min(Math.max(0,p.x),1)*(l-a)+a,g=_.y=Math.min(Math.max(0,p.y),1)*(h-u)+u;o[0].x=o[3].x=a,o[1].x=o[2].x=l,o[0].y=o[1].y=u,o[2].y=o[3].y=h,f.length=0,v!==d[0]&&(f[0]=[3,0]),v!==d[2]&&(f[2]=[1,2]),g!==d[1]&&(f[1]=[0,1]),g!==d[3]&&(f[3]=[2,3])}function v(t,e){var i,n;if(i=e.x-t.x,n=e.y-t.y,0!==i||0!==n){if(0===i)return n>0?.5*Math.PI:1.5*Math.PI;var r=Math.atan(n/i);return i<0&&(r+=Math.PI),r}}var g=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,s(e,i);var r=n.prototype;return r.initData=function(){this._renderData.createFlexData(0,4,6,this.getVfmt()),this.updateIndices()},r.updateRenderData=function(e){t.prototype.updateRenderData.call(this,e);var i,n,r,s,o,f,v,g,m,y=e.spriteFrame;if(this.packToDynamicAtlas(e,y),e._vertsDirty){var T=e._fillStart,E=e._fillRange;for(E<0&&(T+=E,E=-E);T>=1;)T-=1;for(;T<0;)T+=1;T*=a,E*=a,p(e),f=(i=y)._texture.width,v=i._texture.height,g=i._rect,m=u,i._rotated?(n=g.x/f,r=(g.x+g.height)/f,s=g.y/v,o=(g.y+g.width)/v,m[0]=m[2]=n,m[4]=m[6]=r,m[3]=m[7]=o,m[1]=m[5]=s):(n=g.x/f,r=(g.x+g.width)/f,s=g.y/v,o=(g.y+g.height)/v,m[0]=m[4]=n,m[2]=m[6]=r,m[1]=m[3]=o,m[5]=m[7]=s),d(c[0],c[2],c[1],c[3],_,T,l),d(c[0],c[2],c[1],c[3],_,T+E,h),this.updateVerts(e,T,E),e._vertsDirty=!1}},r.updateVerts=function(t,e,i){var n=e+i,r=this._local;r.length=0;for(var s=0,c=3*this.floatsPerVert,u=0;u<4;++u){var d=f[u];if(d)if(i>=a)r.length=s+c,this._generateTriangle(r,s,_,o[d[0]],o[d[1]]),s+=c;else{var p=v(_,o[d[0]]),g=v(_,o[d[1]]);g=n||(p>=e?(r.length=s+c,g>=n?this._generateTriangle(r,s,_,o[d[0]],h[u]):this._generateTriangle(r,s,_,o[d[0]],o[d[1]]),s+=c):g<=e||(g<=n?(r.length=s+c,this._generateTriangle(r,s,_,l[u],o[d[1]]),s+=c):(r.length=s+c,this._generateTriangle(r,s,_,l[u],h[u]),s+=c))),p+=a,g+=a}}this.allocWorldVerts(t),this.updateWorldVerts(t)},r.allocWorldVerts=function(t){var e=t.node._color._val,i=this._renderData,n=this.floatsPerVert,r=this._local,s=r.length/n;this.verticesCount=this.indicesCount=s;var a=i._flexBuffer;a.reserve(s,s)&&this.updateIndices(),a.used(this.verticesCount,this.indicesCount);for(var o=i.vDatas[0],c=i.uintVDatas[0],u=this.uvOffset,l=0;l0)){this._renderData.createData(0,this.verticesFloats,this.indicesCount);for(var t=this._renderData.iDatas[0],e=0,i=0;i<3;++i)for(var n=0;n<3;++n){var r=4*i+n;t[e++]=r,t[e++]=r+1,t[e++]=r+4,t[e++]=r+1,t[e++]=r+5,t[e++]=r+4}}},s.initLocal=function(){this._local=[],this._local.length=8},s.updateRenderData=function(t){var e=t._spriteFrame;this.packToDynamicAtlas(t,e),t._vertsDirty&&(this.updateUVs(t),this.updateVerts(t),t._vertsDirty=!1)},s.updateVerts=function(t){var e=t.node,i=e.width,n=e.height,r=e.anchorX*i,s=e.anchorY*n,a=t.spriteFrame,o=a.insetLeft,c=a.insetRight,u=a.insetTop,l=a.insetBottom,h=i-o-c,_=n-u-l,f=i/(o+c),d=n/(u+l);f=isNaN(f)||f>1?1:f,d=isNaN(d)||d>1?1:d,h=h<0?0:h,_=_<0?0:_;var p=this._local;p[0]=-r,p[1]=-s,p[2]=o*f-r,p[3]=l*d-s,p[4]=p[2]+h,p[5]=p[3]+_,p[6]=i-r,p[7]=n-s,this.updateWorldVerts(t)},s.updateUVs=function(t){for(var e=this._renderData.vDatas[0],i=t.spriteFrame.uvSliced,n=this.uvOffset,r=this.floatsPerVert,s=0;s<4;++s)for(var a=0;a<4;++a){var o=4*s+a,c=i[o],u=o*r;e[u+n]=c.u,e[u+n+1]=c.v}},s.updateWorldVerts=function(t){for(var e=t.node._worldMatrix.m,i=e[0],n=e[1],r=e[4],s=e[5],a=e[12],o=e[13],c=this._local,u=this._renderData.vDatas[0],l=this.floatsPerVert,h=0;h<4;++h)for(var _=c[2*h+1],f=0;f<4;++f){var d=c[2*f],p=(4*h+f)*l;u[p]=d*i+_*r+a,u[p+1]=d*n+_*s+o}},n})(((n=t("../../../../assembler-2d"))&&n.__esModule?n:{default:n}).default);i.default=s,Object.assign(s.prototype,{verticesCount:16,indicesCount:54}),e.exports=i.default}),{"../../../../assembler-2d":175}],205:[(function(t,e,i){"use strict";var n;function r(t,e){return(r=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}i.__esModule=!0,i.default=void 0;var s=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,r(e,i);var s=n.prototype;return s.initData=function(){this.verticesCount=0,this.contentWidth=0,this.contentHeight=0,this.rectWidth=0,this.rectHeight=0,this.hRepeat=0,this.vRepeat=0,this.row=0,this.col=0,this._renderData.createFlexData(0,4,6,this.getVfmt()),this._updateIndices()},s.initLocal=function(){this._local={x:[],y:[]}},s._updateIndices=function(){for(var t=this._renderData.iDatas[0],e=0,i=0,n=t.length;e0?this.sizableWidth:0,this.sizableHeight=this.sizableHeight>0?this.sizableHeight:0;var _=this.hRepeat=0===c?this.sizableWidth:this.sizableWidth/c,f=this.vRepeat=0===h?this.sizableHeight:this.sizableHeight/h,d=(this.row=Math.ceil(f+2))*(this.col=Math.ceil(_+2));this.verticesCount=4*d,this.indicesCount=6*d;var p=this._renderData._flexBuffer;p.reserve(this.verticesCount,this.indicesCount)&&(this._updateIndices(),this.updateColor(t)),p.used(this.verticesCount,this.indicesCount),t._vertsDirty&&(this.updateUVs(t),this.updateVerts(t),t._vertsDirty=!1)},s.updateVerts=function(t){var e=t._spriteFrame,i=e._rect,n=t.node,r=n.anchorX*n.width,s=n.anchorY*n.height,a=this.row,o=this.col,c=this.contentWidth,u=this.contentHeight,l=this._local,h=l.x,_=l.y;h.length=_.length=0;var f,d,p=e.insetLeft,v=e.insetRight,g=i.width-p-v,m=e.insetTop,y=e.insetBottom,T=i.height-m-y,E=n.width/(p+v)>1?1:n.width/(p+v),A=n.height/(m+y)>1?1:n.height/(m+y);f=g>0?Math.floor(1e3*this.sizableWidth)/1e3%g==0?g:this.sizableWidth%g:this.sizableWidth,d=T>0?Math.floor(1e3*this.sizableHeight)/1e3%T==0?T:this.sizableHeight%T:this.sizableHeight;for(var C=0;C<=o;C++)0===C?h[C]=-r:C>0&&C0?C===o-1?p+f+g*(C-2)-r:p+Math.min(g,this.sizableWidth)+g*(C-2)-r:p+this.sizableWidth-r:C===o&&(h[C]=Math.min(p+this.sizableWidth+v,c)-r);for(var x=0;x<=a;x++)0===x?_[x]=-s:x>0&&x0?x===a-1?y+d+(x-2)*T-s:y+Math.min(T,this.sizableHeight)+(x-2)*T-s:y+this.sizableHeight-s:x===a&&(_[x]=Math.min(y+this.sizableHeight+m,u)-s);this.updateWorldVerts(t)},s.updateWorldVerts=function(t){for(var e,i,n,r,s=this._renderData,a=this._local,o=a.x,c=a.y,u=s.vDatas[0],l=this.row,h=this.col,_=t.node._worldMatrix.m,f=_[0],d=_[1],p=_[4],v=_[5],g=_[12],m=_[13],y=this.floatsPerVert,T=0,E=0,A=l;Eu?this.sizableHeight>=C*u?1:f%1:f;for(var b=0,S=h;ba?this.sizableWidth>=b*a?1:_%1:_,m?(0===C?(E[0]=g[0].u,E[1]=g[0].u,E[2]=g[4].u+(g[8].u-g[4].u)*p):C>2,n=this.vData.length,r=!1;if(i>n){for(;ns){for(;s>2,this._handler.updateMeshRange(t,e)},e.reset=function(){var t=this._initVerticesCount*this._verticesBytes>>2;this._reallocVData(t),this._reallocIData(this._initIndicesCount),this.usedVertices=0,this.usedVerticesFloats=0,this.usedIndices=0},t})();i.default=n,cc.FlexBuffer=n,e.exports=i.default}),{}],208:[(function(t,e){"use strict";var i,n=(i=t("../../../renderer/gfx"))&&i.__esModule?i:{default:i},r=(cc.sys.os===cc.sys.OS_IOS||cc.sys.os===cc.sys.OS_OSX)&&cc.sys.isBrowser&&/(OS 1[4-9])|(Version\/1[4-9])/.test(window.navigator.userAgent),s=cc.Class({name:"cc.MeshBuffer",ctor:function(t,e){this.init(t,e)},init:function(t,e){this.byteOffset=0,this.indiceOffset=0,this.vertexOffset=0,this.indiceStart=0,this._dirty=!1,this._vertexFormat=e,this._vertexBytes=this._vertexFormat._bytes,this._arrOffset=0,this._vbArr=[],this._vb=new n.default.VertexBuffer(t._device,e,n.default.USAGE_DYNAMIC,new ArrayBuffer,0),this._vbArr[0]=this._vb,this._ibArr=[],this._ib=new n.default.IndexBuffer(t._device,n.default.INDEX_FMT_UINT16,n.default.USAGE_STATIC,new ArrayBuffer,0),this._ibArr[0]=this._ib,this._vData=null,this._uintVData=null,this._iData=null,this._batcher=t,this._initVDataCount=256*e._bytes,this._initIDataCount=1536,this._offsetInfo={byteOffset:0,vertexOffset:0,indiceOffset:0},this._reallocBuffer()},uploadData:function(){if(0!==this.byteOffset&&this._dirty){var t=new Float32Array(this._vData.buffer,0,this.byteOffset>>2),e=new Uint16Array(this._iData.buffer,0,this.indiceOffset);this._vb.update(0,t),this._ib.update(0,e),this._dirty=!1}},switchBuffer:function(){var t=++this._arrOffset;this.byteOffset=0,this.vertexOffset=0,this.indiceOffset=0,this.indiceStart=0,t65535&&(this.uploadData(),this._batcher._flush(),this.switchBuffer())},requestStatic:function(t,e){this.checkAndSwitchBuffer(t);var i=this.byteOffset+t*this._vertexBytes,n=this.indiceOffset+e,r=this._vData.byteLength,s=this._iData.length;if(i>r||n>s){for(;r65535&&(this.uploadData(),this._batcher._flush())},s.prototype.forwardIndiceStartToOffset=function(){this.uploadData(),this.switchBuffer()}),cc.MeshBuffer=e.exports=s}),{"../../../renderer/gfx":265}],209:[(function(t,e){"use strict";var i=s(t("../../../renderer/core/input-assembler")),n=s(t("../../../renderer/memop/recycle-pool")),r=s(t("../../../renderer/scene/model"));function s(t){return t&&t.__esModule?t:{default:t}}var a=t("./vertex-format"),o=a.vfmtPosUvColor,c=a.vfmt3D,u=t("./quad-buffer"),l=t("./mesh-buffer"),h=t("./spine-buffer"),_=t("../../assets/material/CCMaterial"),f=(new(t("../../platform/id-generater"))("VertextFormat"),{}),d=new _,p=new i.default;p._count=0;var v=function(t,e){this._renderScene=e,this._device=t,this.walking=!1,this.material=d,this.cullingMask=1,this._iaPool=new n.default(function(){return new i.default},16),this._modelPool=new n.default(function(){return new r.default},16),this._quadBuffer=this.getBuffer("quad",o),this._meshBuffer=this.getBuffer("mesh",o),this._quadBuffer3D=this.getBuffer("quad",c),this._meshBuffer3D=this.getBuffer("mesh",c),this._buffer=this._meshBuffer,this._batchedModels=[],this._dummyNode=new cc.Node,this._sortKey=0,this.node=this._dummyNode,this.parentOpacity=1,this.parentOpacityDirty=0,this.worldMatDirty=0};v.prototype={constructor:v,reset:function(){this._iaPool.reset();for(var t=this._renderScene,e=this._batchedModels,i=0;i>2);this._vb.update(0,t),this._dirty=!1}},switchBuffer:function(){this._super();var t=new Uint16Array(this._iData.buffer,0,this._initIDataCount);this._ib.update(0,t)},_reallocBuffer:function(){this._reallocVData(!0),this._reallocIData(),this._fillQuadBuffer()}});cc.QuadBuffer=e.exports=n}),{"./mesh-buffer":208}],211:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=a;var n,r=(n=t("./flex-buffer"))&&n.__esModule?n:{default:n},s=t("./vertex-format");function a(){this.vDatas=[],this.uintVDatas=[],this.iDatas=[],this.meshCount=0,this._infos=null,this._flexBuffer=null}cc.js.mixin(a.prototype,{init:function(){},clear:function(){this.vDatas.length=0,this.iDatas.length=0,this.uintVDatas.length=0,this.meshCount=0,this._infos=null,this._flexBuffer&&this._flexBuffer.reset()},updateMesh:function(t,e,i){this.vDatas[t]=e,this.uintVDatas[t]=new Uint32Array(e.buffer,0,e.length),this.iDatas[t]=i,this.meshCount=this.vDatas.length},updateMeshRange:function(){},createData:function(t,e,i){var n=new Float32Array(e),r=new Uint16Array(i);this.updateMesh(t,n,r)},createQuadData:function(t,e,i){this.createData(t,e,i),this.initQuadIndices(this.iDatas[t])},createFlexData:function(t,e,i,n){n=n||s.vfmtPosUvColor,this._flexBuffer=new r.default(this,t,e,i,n)},initQuadIndices:function(t){for(var e=t.length/6,i=0,n=0;ir||n>s){for(;r0&&(t=t.substring(0,i));var n=/(\/|\\)([^\/\\]+)$/g.exec(t.replace(/(\/|\\)$/,""));if(!n)return t;var r=n[2];return e&&t.substring(t.length-e.length).toLowerCase()===e.toLowerCase()?r.substring(0,r.length-e.length):r},dirname:function(t){var e=n.exec(t);return e?e[2]:""},changeExtname:function(t,e){e=e||"";var i=t.indexOf("?"),n="";return i>0&&(n=t.substring(i),t=t.substring(0,i)),(i=t.lastIndexOf("."))<0?t+e+n:t.substring(0,i)+e+n},changeBasename:function(t,e,i){if(0===e.indexOf("."))return this.changeExtname(t,e);var n=t.indexOf("?"),r="",s=i?this.extname(t):"";return n>0&&(r=t.substring(n),t=t.substring(0,n)),n=(n=t.lastIndexOf("/"))<=0?0:n+1,t.substring(0,n)+e+s+r},_normalize:function(t){var e=t=String(t);do{e=t,t=t.replace(r,"")}while(e.length!==t.length);return t},sep:cc.sys.os===cc.sys.OS_WINDOWS?"\\":"/",stripSep:function(t){return t.replace(/[\/\\]$/,"")}},e.exports=cc.path}),{"../platform/CCSys":158}],215:[(function(t,e){"use strict";var i=function(t,e,i,n,r,s){this.a=t,this.b=e,this.c=i,this.d=n,this.tx=r,this.ty=s};i.create=function(t,e,i,n,r,s){return{a:t,b:e,c:i,d:n,tx:r,ty:s}},i.identity=function(){return{a:1,b:0,c:0,d:1,tx:0,ty:0}},i.clone=function(t){return{a:t.a,b:t.b,c:t.c,d:t.d,tx:t.tx,ty:t.ty}},i.concat=function(t,e,i){var n=e.a,r=e.b,s=e.c,a=e.d,o=e.tx,c=e.ty;return t.a=n*i.a+r*i.c,t.b=n*i.b+r*i.d,t.c=s*i.a+a*i.c,t.d=s*i.b+a*i.d,t.tx=o*i.a+c*i.c+i.tx,t.ty=o*i.b+c*i.d+i.ty,t},i.invert=function(t,e){var i=e.a,n=e.b,r=e.c,s=e.d,a=1/(i*s-n*r),o=e.tx,c=e.ty;return t.a=a*s,t.b=-a*n,t.c=-a*r,t.d=a*i,t.tx=a*(r*c-s*o),t.ty=a*(n*o-i*c),t},i.fromMat4=function(t,e){var i=e.m;return t.a=i[0],t.b=i[1],t.c=i[4],t.d=i[5],t.tx=i[12],t.ty=i[13],t},i.transformVec2=function(t,e,i,n){var r,s;return void 0===n?(n=i,r=e.x,s=e.y):(r=e,s=i),t.x=n.a*r+n.c*s+n.tx,t.y=n.b*r+n.d*s+n.ty,t},i.transformSize=function(t,e,i){return t.width=i.a*e.width+i.c*e.height,t.height=i.b*e.width+i.d*e.height,t},i.transformRect=function(t,e,i){var n=e.x,r=e.y,s=n+e.width,a=r+e.height,o=i.a*n+i.c*r+i.tx,c=i.b*n+i.d*r+i.ty,u=i.a*s+i.c*r+i.tx,l=i.b*s+i.d*r+i.ty,h=i.a*n+i.c*a+i.tx,_=i.b*n+i.d*a+i.ty,f=i.a*s+i.c*a+i.tx,d=i.b*s+i.d*a+i.ty,p=Math.min(o,u,h,f),v=Math.max(o,u,h,f),g=Math.min(c,l,_,d),m=Math.max(c,l,_,d);return t.x=p,t.y=g,t.width=v-p,t.height=m-g,t},i.transformObb=function(t,e,i,n,r,s){var a=r.x,o=r.y,c=r.width,u=r.height,l=s.a*a+s.c*o+s.tx,h=s.b*a+s.d*o+s.ty,_=s.a*c,f=s.b*c,d=s.c*u,p=s.d*u;e.x=l,e.y=h,i.x=_+l,i.y=f+h,t.x=d+l,t.y=p+h,n.x=_+d+l,n.y=f+p+h},cc.AffineTransform=e.exports=i}),{}],216:[(function(t,e){"use strict";var i=t("../platform/CCObject").Flags,n=t("./misc"),r=t("../platform/js"),s=t("../platform/id-generater"),a=t("../event-manager"),o=t("../renderer/render-flow"),c=i.Destroying,u=i.DontDestroy,l=i.Deactivating,h=new s("Node");function _(t){return t?"string"==typeof t?r.getClassByName(t):t:(cc.errorID(3804),null)}function f(t,e){if(e._sealed)for(var i=0;i0&&(r=p(n._children,e)))return r}return null}function v(t,e,i){for(var n=0;n0&&v(r._children,e,i)}}var g=cc.Class({name:"cc._BaseNode",extends:cc.Object,properties:{_parent:null,_children:[],_active:!0,_components:[],_prefab:null,_persistNode:{get:function(){return(this._objFlags&u)>0},set:function(t){t?this._objFlags|=u:this._objFlags&=~u}},name:{get:function(){return this._name},set:function(t){this._name=t}},uuid:{get:function(){return this._id}},children:{get:function(){return this._children}},childrenCount:{get:function(){return this._children.length}},active:{get:function(){return this._active},set:function(t){if(t=!!t,this._active!==t){this._active=t;var e=this._parent;e&&e._activeInHierarchy&&cc.director._nodeActivator.activateNode(this,t)}}},activeInHierarchy:{get:function(){return this._activeInHierarchy}}},ctor:function(t){this._name=void 0!==t?t:"New Node",this._activeInHierarchy=!1,this._id=h.getNewId(),cc.director._scheduler&&cc.director._scheduler.enableForTarget(this),this.__eventTargets=[]},getParent:function(){return this._parent},setParent:function(t){if(this._parent!==t){var e=this._parent;if(this._parent=t||null,this._onSetParent(t),t&&(a._setDirtyForNode(this),t._children.push(this),t.emit&&t.emit("child-added",this),t._renderFlag|=o.FLAG_CHILDREN),e){if(!(e._objFlags&c)){var i=e._children.indexOf(this);e._children.splice(i,1),e.emit&&e.emit("child-removed",this),this._onHierarchyChanged(e),0===e._children.length&&(e._renderFlag&=~o.FLAG_CHILDREN)}}else t&&this._onHierarchyChanged(null)}},attr:function(t){r.mixin(this,t)},getChildByUuid:function(t){if(!t)return cc.log("Invalid uuid"),null;for(var e=this._children,i=0,n=e.length;i0?(u=n,i=n._children,r=0,c[o]=i[r],o++):(c[o]=n,o++,s=!0);c.length=0,a._stackId--},cleanup:function(){},removeFromParent:function(t){this._parent&&(void 0===t&&(t=!0),this._parent.removeChild(this,t))},removeChild:function(t,e){this._children.indexOf(t)>-1&&((e||void 0===e)&&t.cleanup(),t.parent=null)},removeAllChildren:function(t){var e=this._children;void 0===t&&(t=!0);for(var i=e.length-1;i>=0;i--){var n=e[i];n&&(t&&n.cleanup(),n.parent=null)}this._children.length=0},isChildOf:function(t){var e=this;do{if(e===t)return!0;e=e._parent}while(e);return!1},getComponent:function(t){var e=_(t);return e?f(this,e):null},getComponents:function(t){var e=_(t),i=[];return e&&d(this,e,i),i},getComponentInChildren:function(t){var e=_(t);return e?p(this._children,e):null},getComponentsInChildren:function(t){var e=_(t),i=[];return e&&(d(this,e,i),v(this._children,e,i)),i},_checkMultipleComp:!1,addComponent:function(t){var e;if("string"==typeof t){if(!(e=r.getClassByName(t)))return cc.errorID(3807,t),cc._RFpeek()&&cc.errorID(3808,t),null}else{if(!t)return cc.errorID(3804),null;e=t}if("function"!=typeof e)return cc.errorID(3809),null;if(!r.isChildClassOf(e,cc.Component))return cc.errorID(3810),null;var i=e._requireComponent;if(i&&!this.getComponent(i)&&!this.addComponent(i))return null;var n=new e;return n.node=this,this._components.push(n),this._activeInHierarchy&&cc.director._nodeActivator.activateComp(n),n},_addComponentAt:!1,removeComponent:function(t){t?(t instanceof cc.Component||(t=this.getComponent(t)),t&&t.destroy()):cc.errorID(3813)},_getDependComponent:!1,_removeComponent:function(t){if(t){if(!(this._objFlags&c)){var e=this._components.indexOf(t);-1!==e?this._components.splice(e,1):t.node!==this&&cc.errorID(3815)}}else cc.errorID(3814)},destroy:function(){cc.Object.prototype.destroy.call(this)&&(this.active=!1)},destroyAllChildren:function(){for(var t=this._children,e=0;e>>1;i<=n;r=i+n>>>1){var s=t[r];if(s>e+1e-6)n=r-1;else{if(!(s>2],s[a[r++]]=n[(3&o)<<2|c>>4],s[a[r++]]=n[15&c]}return s.join("")}}),{"./misc":223}],220:[(function(t,e){"use strict";cc.find=e.exports=function(t,e){if(null==t)return cc.errorID(3814),null;if(e);else{var i=cc.director.getScene();if(!i)return null;e=i}for(var n=e,r="/"!==t[0]?0:1,s=t.split("/"),a=r;a>1,t|=t>>2,t|=t>>4,t|=t>>8,1+(t|=t>>16)},BUILTIN_CLASSID_RE:/^(?:cc|dragonBones|sp|ccsg)\..+/},r=new Array(123),s=0;s<123;++s)r[s]=64;for(var a=0;a<64;++a)r["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charCodeAt(a)]=a;n.BASE64_VALUES=r,n.pushToMap=function(t,e,i,n){var r=t[e];r?Array.isArray(r)?n?(r.push(r[0]),r[0]=i):r.push(i):t[e]=n?[i,r]:[r,i]:t[e]=i},n.clampf=function(t,e,i){if(e>i){var n=e;e=i,i=n}return t=0&&this.removeAt(e)},n.removeAt=function(t){this.array.splice(t,1),t<=this.i&&--this.i},n.fastRemove=function(t){var e=this.array.indexOf(t);e>=0&&this.fastRemoveAt(e)},n.fastRemoveAt=function(t){var e=this.array;e[t]=e[e.length-1],--e.length,t<=this.i&&--this.i},n.push=function(t){this.array.push(t)},e.exports=i}),{}],225:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(){function t(){this.enabled=!1,this.count=0,this.maxSize=1024}var e=t.prototype;return e.get=function(){},e.put=function(){},e.clear=function(){},t})();i.default=n,cc.pool={},n.register=function(t,e){cc.pool[t]=e},e.exports=i.default}),{}],226:[(function(t,e){"use strict";cc._PrefabInfo=cc.Class({name:"cc.PrefabInfo",properties:{root:null,asset:null,fileId:"",sync:!1}}),e.exports={syncWithPrefab:function(t){var e=t._prefab;if(!e.asset)return cc.errorID(3701,t.name),void(t._prefab=null);var i=t._objFlags,n=t._parent,r=t._id,s=t._name,a=t._active,o=t._eulerAngles.x,c=t._eulerAngles.y,u=t._eulerAngles.z,l=t._localZOrder,h=t._trs,_=h[0],f=h[1],d=h[2];cc.game._isCloning=!0,e.asset._doInstantiate(t),cc.game._isCloning=!1,t._objFlags=i,t._parent=n,t._id=r,t._prefab=e,t._name=s,t._active=a,t._localZOrder=l,(h=t._trs)[0]=_,h[1]=f,h[2]=d,t._eulerAngles.x=o,t._eulerAngles.y=c,t._eulerAngles.z=u}}}),{}],227:[(function(t,e){"use strict";var i=t("../../platform/CCMacro"),n=t("./perf-counter"),r=!1,s=15,a=null,o=null,c=null;function u(){if(!a){a={fps:{desc:"Framerate (FPS)",below:30,average:500},draws:{desc:"Draw Call"},frame:{desc:"Frame time (ms)",min:0,max:50,average:500},logic:{desc:"Game Logic (ms)",min:0,max:50,average:500,color:"#080"},render:{desc:"Renderer (ms)",min:0,max:50,average:500,color:"#f90"},mode:{desc:cc.game.renderType===cc.game.RENDER_TYPE_WEBGL?"WebGL":"Canvas",min:1}};var t=performance.now();for(var e in a)a[e]._counter=new n(e,a[e],t)}}function l(){if(!o||!o.isValid){(o=new cc.Node("PROFILER-NODE")).x=o.y=10,o.groupIndex=cc.Node.BuiltinGroupIndex.DEBUG,cc.Camera._setupDebugCamera(),o.zIndex=i.MAX_ZINDEX,cc.game.addPersistRootNode(o);var t=new cc.Node("LEFT-PANEL");t.anchorX=t.anchorY=0;var e=t.addComponent(cc.Label);e.fontSize=s,e.lineHeight=s,t.parent=o;var n=new cc.Node("RIGHT-PANEL");n.anchorX=1,n.anchorY=0,n.x=200;var r=n.addComponent(cc.Label);r.horizontalAlign=cc.Label.HorizontalAlign.RIGHT,r.fontSize=s,r.lineHeight=s,n.parent=o,cc.sys.platform!==cc.sys.BAIDU_GAME_SUB&&cc.sys.platform!==cc.sys.WECHAT_GAME_SUB&&(e.cacheMode=cc.Label.CacheMode.CHAR,r.cacheMode=cc.Label.CacheMode.CHAR),c={left:e,right:r}}}function h(){l();var t=cc.director._lastUpdate;a.frame._counter.start(t),a.logic._counter.start(t)}function _(){var t=performance.now();cc.director.isPaused()?a.frame._counter.start(t):a.logic._counter.end(t),a.render._counter.start(t)}function f(){var t=performance.now();a.render._counter.end(t),a.draws._counter.value=cc.renderer.drawCalls,a.frame._counter.end(t),a.fps._counter.frame(t);var e="",i="";for(var n in a){var r=a[n];r._counter.sample(t),e+=r.desc+"\n",i+=r._counter.human()+"\n"}c&&(c.left.string=e,c.right.string=i)}cc.profiler=e.exports={isShowingStats:function(){return r},hideStats:function(){r&&(o&&(o.active=!1),cc.director.off(cc.Director.EVENT_BEFORE_UPDATE,h),cc.director.off(cc.Director.EVENT_AFTER_UPDATE,_),cc.director.off(cc.Director.EVENT_AFTER_DRAW,f),r=!1)},showStats:function(){r||(u(),o&&(o.active=!0),cc.director.on(cc.Director.EVENT_BEFORE_UPDATE,h),cc.director.on(cc.Director.EVENT_AFTER_UPDATE,_),cc.director.on(cc.Director.EVENT_AFTER_DRAW,f),r=!0)}}}),{"../../platform/CCMacro":154,"./perf-counter":229}],228:[(function(t,e){"use strict";var i=cc.Class({name:"cc.Counter",ctor:function(t,e,i){this._id=t,this._opts=e||{},this._value=0,this._total=0,this._averageValue=0,this._accumValue=0,this._accumSamples=0,this._accumStart=i},properties:{value:{get:function(){return this._value},set:function(t){this._value=t}}},_average:function(t,e){if(this._opts.average){this._accumValue+=t,++this._accumSamples;var i=e;i-this._accumStart>=this._opts.average&&(this._averageValue=this._accumValue/this._accumSamples,this._accumValue=0,this._accumStart=i,this._accumSamples=0)}},sample:function(t){this._average(this._value,t)},human:function(){var t=this._opts.average?this._averageValue:this._value;return Math.round(100*t)/100},alarm:function(){return this._opts.below&&this._valuethis._opts.over}});e.exports=i}),{}],229:[(function(t,e){"use strict";var i=t("./counter"),n=cc.Class({name:"cc.PerfCounter",extends:i,ctor:function(t,e,i){this._time=i},start:function(t){this._time=t},end:function(t){this._value=t-this._time,this._average(this._value)},tick:function(){this.end(),this.start()},frame:function(t){var e=t,i=e-this._time;this._total++,i>(this._opts.average||1e3)&&(this._value=1e3*this._total/i,this._total=0,this._time=e,this._average(this._value))}});e.exports=n}),{"./counter":228}],230:[(function(t,e){"use strict";var i,n=new(((i=t("../platform/js"))&&i.__esModule?i:{default:i}).default.Pool)(2);function r(t){this.count=0,this.limit=t,this.datas={},this.head=null,this.tail=null}n.get=function(){return this._get()||{key:null,value:null,prev:null,next:null}},r.prototype.moveToHead=function(t){t.next=this.head,t.prev=null,null!==this.head&&(this.head.prev=t),this.head=t,null===this.tail&&(this.tail=t),this.count++,this.datas[t.key]=t},r.prototype.put=function(t,e){var i=n.get();if(i.key=t,i.value=e,this.count>=this.limit){var r=this.tail;delete this.datas[r.key],this.count--,this.tail=r.prev,this.tail.next=null,r.prev=null,r.next=null,n.put(r)}this.moveToHead(i)},r.prototype.remove=function(t){null!==t.prev?t.prev.next=t.next:this.head=t.next,null!==t.next?t.next.prev=t.prev:this.tail=t.prev,delete this.datas[t.key],this.count--},r.prototype.get=function(t){var e=this.datas[t];return e?(this.remove(e),this.moveToHead(e),e.value):null},r.prototype.clear=function(){this.count=0,this.datas={},this.head=null,this.tail=null},r.prototype.has=function(t){return!!this.datas[t]},r.prototype.delete=function(t){var e=this.datas[t];this.remove(e)};var s=new r(100),a={BASELINE_RATIO:.26,MIDDLE_RATIO:.37,BASELINE_OFFSET:0,label_wordRex:/([a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430-\u044f\u0410-\u042f\u0401\u0451]+|\S)/,label_symbolRex:/^[!,.:;'}\]%\?>\u3001\u2018\u201c\u300b\uff1f\u3002\uff0c\uff01]/,label_lastWordRex:/([a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430\xed\xec\xcd\xcc\xef\xc1\xc0\xe1\xe0\xc9\xc8\xd2\xd3\xf2\xf3\u0150\u0151\xd9\xda\u0170\xfa\u0171\xf1\xd1\xe6\xc6\u0153\u0152\xc3\xc2\xe3\xd4\xf5\u011b\u0161\u010d\u0159\u017e\xfd\xe1\xed\xe9\xf3\xfa\u016f\u0165\u010f\u0148\u011a\u0160\u010c\u0158\u017d\xc1\xcd\xc9\xd3\xda\u0164\u017c\u017a\u015b\xf3\u0144\u0142\u0119\u0107\u0105\u017b\u0179\u015a\xd3\u0143\u0141\u0118\u0106\u0104-\u044f\u0410-\u042f\u0401\u0451]+|\S)$/,label_lastEnglish:/[a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430\xed\xec\xcd\xcc\xef\xc1\xc0\xe1\xe0\xc9\xc8\xd2\xd3\xf2\xf3\u0150\u0151\xd9\xda\u0170\xfa\u0171\xf1\xd1\xe6\xc6\u0153\u0152\xc3\xc2\xe3\xd4\xf5\u011b\u0161\u010d\u0159\u017e\xfd\xe1\xed\xe9\xf3\xfa\u016f\u0165\u010f\u0148\u011a\u0160\u010c\u0158\u017d\xc1\xcd\xc9\xd3\xda\u0164\u017c\u017a\u015b\xf3\u0144\u0142\u0119\u0107\u0105\u017b\u0179\u015a\xd3\u0143\u0141\u0118\u0106\u0104-\u044f\u0410-\u042f\u0401\u0451]+$/,label_firstEnglish:/^[a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430\xed\xec\xcd\xcc\xef\xc1\xc0\xe1\xe0\xc9\xc8\xd2\xd3\xf2\xf3\u0150\u0151\xd9\xda\u0170\xfa\u0171\xf1\xd1\xe6\xc6\u0153\u0152\xc3\xc2\xe3\xd4\xf5\u011b\u0161\u010d\u0159\u017e\xfd\xe1\xed\xe9\xf3\xfa\u016f\u0165\u010f\u0148\u011a\u0160\u010c\u0158\u017d\xc1\xcd\xc9\xd3\xda\u0164\u017c\u017a\u015b\xf3\u0144\u0142\u0119\u0107\u0105\u017b\u0179\u015a\xd3\u0143\u0141\u0118\u0106\u0104-\u044f\u0410-\u042f\u0401\u0451]/,highSurrogateRex:/[\uD800-\uDBFF]/,lowSurrogateRex:/[\uDC00-\uDFFF]/,label_wrapinspection:!0,__CHINESE_REG:/^[\u4E00-\u9FFF\u3400-\u4DFF]+$/,__JAPANESE_REG:/[\u3000-\u303F]|[\u3040-\u309F]|[\u30A0-\u30FF]|[\uFF00-\uFFEF]|[\u4E00-\u9FAF]|[\u2605-\u2606]|[\u2190-\u2195]|\u203B/g,__KOREAN_REG:/^[\u1100-\u11FF]|[\u3130-\u318F]|[\uA960-\uA97F]|[\uAC00-\uD7AF]|[\uD7B0-\uD7FF]+$/,isUnicodeCJK:function(t){return this.__CHINESE_REG.test(t)||this.__JAPANESE_REG.test(t)||this.__KOREAN_REG.test(t)},isUnicodeSpace:function(t){return(t=t.charCodeAt(0))>=9&&t<=13||32===t||133===t||160===t||5760===t||t>=8192&&t<=8202||8232===t||8233===t||8239===t||8287===t||12288===t},safeMeasureText:function(t,e,i){var n=(i||t.font)+"\ud83c\udfae"+e,r=s.get(n);if(null!==r)return r;var a=t.measureText(e),o=a&&a.width||0;return s.put(n,o),o},_safeSubstring:function(t,e,i){var n=e,r=i,s=t[e];if(this.lowSurrogateRex.test(s)&&n--,void 0!==i)if(i-1!==e){var a=t[i-1];this.highSurrogateRex.test(a)&&r--}else this.highSurrogateRex.test(s)&&r++;return t.substring(n,r)},fragmentText:function(t,e,i,n){var r=[];if(0===t.length||i<0)return r.push(""),r;for(var s=t;e>i&&s.length>1;){for(var a=s.length*(i/e)|0,o=this._safeSubstring(s,a),c=e-n(o),u=o,l=0,h=0;c>i&&h++<10;)a*=i/c,a|=0,c=e-n(o=this._safeSubstring(s,a));for(h=0;c<=i&&h++<10;){if(o){var _=this.label_wordRex.exec(o);l=_?_[0].length:1,u=o}a+=l,c=e-n(o=this._safeSubstring(s,a))}0==(a-=l)?(a=1,u=this._safeSubstring(s,1)):1===a&&this.highSurrogateRex.test(s[0])&&(a=2,u=this._safeSubstring(s,2));var f,d=this._safeSubstring(s,0,a);this.label_wrapinspection&&this.label_symbolRex.test(u||o)&&(0==(a-=(f=this.label_lastWordRex.exec(d))?f[0].length:0)&&(a=1),u=this._safeSubstring(s,a),d=this._safeSubstring(s,0,a)),this.label_firstEnglish.test(u)&&(f=this.label_lastEnglish.exec(d))&&d!==f[0]&&(a-=f[0].length,u=this._safeSubstring(s,a),d=this._safeSubstring(s,0,a)),0===r.length?r.push(d):(d=d.trimLeft()).length>0&&r.push(d),e=n(s=u||o)}return 0===r.length?r.push(s):(s=s.trimLeft()).length>0&&r.push(s),r}};cc.textUtils=e.exports=a}),{"../platform/js":170}],231:[(function(t,e){"use strict";var i=t("../assets/CCTexture2D"),n={loadImage:function(t,e,i){cc.assertID(t,3103);var n=cc.assetManager.assets.get(t);if(n)return n.loaded?(e&&e.call(i,null,n),n):(n.once("load",(function(){e&&e.call(i,null,n)}),i),n);cc.assetManager.loadRemote(t,(function(t,n){e&&e.call(i,t,n)}))},cacheImage:function(t,e){if(t&&e){var n=new i;return n.initWithElement(e),cc.assetManager.assets.add(t,n),n}},postLoadTexture:function(t,e){t.loaded?e&&e():t.nativeUrl?cc.assetManager.postLoadNative(t,e):e&&e()}};e.exports=n}),{"../assets/CCTexture2D":73}],232:[(function(t,e){"use strict";var i=t("./node-unit"),n=t("./node-mem-pool");e.exports={NodeMemPool:new n(i)}}),{"./node-mem-pool":234,"./node-unit":235}],233:[(function(t,e){"use strict";var i=function(t){this._unitClass=t,this._pool=[],this._findOrder=[]},n=i.prototype;n._initNative=function(){this._nativeMemPool=new renderer.MemPool},n._buildUnit=function(t){return new this._unitClass(t,this)},n._destroyUnit=function(t){this._pool[t]=null;for(var e=0,i=this._findOrder.length;e1&&e.isAllFree()&&this._destroyUnit(t.unitID),e},e.exports=i}),{}],234:[(function(t,e){"use strict";var i,n=t("./mem-pool"),r=function(t){n.call(this,t)};(i=function(){}).prototype=n.prototype;var s=r.prototype=new i;s._initNative=function(){this._nativeMemPool=new renderer.NodeMemPool},s._destroyUnit=function(t){n.prototype._destroyUnit.call(this,t)},e.exports=r}),{"./mem-pool":233}],235:[(function(t,e){"use strict";var i,n=t("../../value-types/utils"),r=(Uint32Array,10*n.FLOAT_BYTES),s=16*n.FLOAT_BYTES,a=16*n.FLOAT_BYTES,o=(Uint32Array,Uint32Array,Int32Array,Uint8Array,Uint8Array,Uint32Array,n.FLOAT_BYTES,t("./unit-base")),c=function(t,e){o.call(this,t,e);var i=this._contentNum;this.trsList=new n.FLOAT_ARRAY_TYPE(10*i),this.localMatList=new n.FLOAT_ARRAY_TYPE(16*i),this.worldMatList=new n.FLOAT_ARRAY_TYPE(16*i);for(var c=0;c",e=this._signData[2*e+0];for(var n=0,r="",s=this._contentNum,a=0;a");var o=t+n;console.log("unitID:",this.unitID,"spaceNum:",t,"calc using num:",n,"store using num:",this._data[1],"calc total num:",o,"actually total num:",this._contentNum),console.log("free info:",i),console.log("using info:",r),n!=this._data[1]&&cc.error("using num error","calc using num:",n,"store using num:",this._data[1]),t+n!=this._contentNum&&cc.error("total num error","calc total num:",o,"actually total num:",this._contentNum)},e.exports=i}),{}],237:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=a(t("./value-type")),r=a(t("../platform/CCClass")),s=a(t("../utils/misc"));function a(t){return t&&t.__esModule?t:{default:t}}function o(t,e){for(var i=0;i>>0)+(n<<16)+(i<<8)+(0|e),s}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,c(e,i),n.copy=function(t,e){return t.r=e.r,t.g=e.g,t.b=e.b,t.a=e.a,t},n.clone=function(t){return new n(t.r,t.g,t.b,t.a)},n.set=function(t,e,i,n,r){return void 0===e&&(e=255),void 0===i&&(i=255),void 0===n&&(n=255),void 0===r&&(r=255),t.r=e,t.g=i,t.b=n,t.a=r,t},n.fromHex=function(t,e){var i=e>>24&255,n=e>>16&255,r=e>>8&255,s=255&e;return t.r=i,t.g=n,t.b=r,t.a=s,t},n.fromHEX=function(t,e){return e=0===e.indexOf("#")?e.substring(1):e,t.r=parseInt(e.substr(0,2),16)||0,t.g=parseInt(e.substr(2,2),16)||0,t.b=parseInt(e.substr(4,2),16)||0,t.a=parseInt(e.substr(6,2),16)||255,t._val=(t.a<<24>>>0)+(t.b<<16)+(t.g<<8)+t.r,t},n.add=function(t,e,i){return t.r=e.r+i.r,t.g=e.g+i.g,t.b=e.b+i.b,t.a=e.a+i.a,t},n.subtract=function(t,e,i){return t.r=e.r-i.r,t.g=e.g-i.g,t.b=e.b-i.b,t.a=e.a-i.a,t},n.multiply=function(t,e,i){return t.r=e.r*i.r,t.g=e.g*i.g,t.b=e.b*i.b,t.a=e.a*i.a,t},n.divide=function(t,e,i){return t.r=e.r/i.r,t.g=e.g/i.g,t.b=e.b/i.b,t.a=e.a/i.a,t},n.scale=function(t,e,i){return t.r=e.r*i,t.g=e.g*i,t.b=e.b*i,t.a=e.a*i,t},n.lerp=function(t,e,i,n){var r=e.r,s=e.g,a=e.b,o=e.a;return t.r=r+n*(i.r-r),t.g=s+n*(i.g-s),t.b=a+n*(i.b-a),t.a=o+n*(i.a-o),t},n.toArray=function(t,e,i){void 0===i&&(i=0);var r=e instanceof n||e.a>1?1/255:1;return t[i+0]=e.r*r,t[i+1]=e.g*r,t[i+2]=e.b*r,t[i+3]=e.a*r,t},n.fromArray=function(t,e,i){return void 0===i&&(i=0),e.r=255*t[i+0],e.g=255*t[i+1],e.b=255*t[i+2],e.a=255*t[i+3],e},n.premultiplyAlpha=function(t,e){var i=e.a/255;return t.r=e.r*i,t.g=e.g*i,t.b=e.b*i,t._fastSetA(e.a),t};var r,a,u,l=n.prototype;return l.clone=function(){var t=new n;return t._val=this._val,t},l.equals=function(t){return t&&this._val===t._val},l.lerp=function(t,e,i){i=i||new n;var r=this.r,s=this.g,a=this.b,o=this.a;return i.r=r+(t.r-r)*e,i.g=s+(t.g-s)*e,i.b=a+(t.b-a)*e,i.a=o+(t.a-o)*e,i},l.toString=function(){return"rgba("+this.r.toFixed()+", "+this.g.toFixed()+", "+this.b.toFixed()+", "+this.a.toFixed()+")"},l.getR=function(){return 255&this._val},l.setR=function(t){return t=~~s.default.clampf(t,0,255),this._val=(4294967040&this._val|t)>>>0,this},l.getG=function(){return(65280&this._val)>>8},l.setG=function(t){return t=~~s.default.clampf(t,0,255),this._val=(4294902015&this._val|t<<8)>>>0,this},l.getB=function(){return(16711680&this._val)>>16},l.setB=function(t){return t=~~s.default.clampf(t,0,255),this._val=(4278255615&this._val|t<<16)>>>0,this},l.getA=function(){return(4278190080&this._val)>>>24},l.setA=function(t){return t=~~s.default.clampf(t,0,255),this._val=(16777215&this._val|t<<24)>>>0,this},l.toCSS=function(t){return t&&"rgba"!==t?"rgb"===t?"rgb("+this.r+","+this.g+","+this.b+")":"#"+this.toHEX(t):"rgba("+this.r+","+this.g+","+this.b+","+(this.a/255).toFixed(2)+")"},l.fromHEX=function(t){t=0===t.indexOf("#")?t.substring(1):t;var e=parseInt(t.substr(0,2),16)||0,i=parseInt(t.substr(2,2),16)||0,n=parseInt(t.substr(4,2),16)||0,r=parseInt(t.substr(6,2),16)||255;return this._val=(r<<24>>>0)+(n<<16)+(i<<8)+e,this},l.toHEX=function(t){var e=[(this.r<16?"0":"")+this.r.toString(16),(this.g<16?"0":"")+this.g.toString(16),(this.b<16?"0":"")+this.b.toString(16)];return"#rgb"===t?(e[0]=e[0][0],e[1]=e[1][0],e[2]=e[2][0]):"#rrggbbaa"===t&&e.push((this.a<16?"0":"")+this.a.toString(16)),e.join("")},l.toRGBValue=function(){return 16777215&this._val},l.fromHSV=function(t,e,i){var n,r,s;if(0===e)n=r=s=i;else if(0===i)n=r=s=0;else{1===t&&(t=0),t*=6;var a=Math.floor(t),o=t-a,c=i*(1-e),u=i*(1-e*o),l=i*(1-e*(1-o));switch(a){case 0:n=i,r=l,s=c;break;case 1:n=u,r=i,s=c;break;case 2:n=c,r=i,s=l;break;case 3:n=c,r=u,s=i;break;case 4:n=l,r=c,s=i;break;case 5:n=i,r=c,s=u}}return n*=255,r*=255,s*=255,this._val=(this.a<<24>>>0)+(s<<16)+(r<<8)+(0|n),this},l.toHSV=function(){var t=this.r/255,e=this.g/255,i=this.b/255,n={h:0,s:0,v:0},r=Math.max(t,e,i),s=Math.min(t,e,i),a=0;return n.v=r,n.s=r?(r-s)/r:0,n.s?(a=r-s,n.h=t===r?(e-i)/a:e===r?2+(i-t)/a:4+(t-e)/a,n.h/=6,n.h<0&&(n.h+=1)):n.h=0,n},l.set=function(t){return t._val?this._val=t._val:(this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a),this},l._fastSetA=function(t){this._val=(16777215&this._val|t<<24)>>>0},l.multiply=function(t){var e=(255&this._val)*t.r>>8,i=(65280&this._val)*t.g>>8,n=(16711680&this._val)*t.b>>8,r=((4278190080&this._val)>>>8)*t.a;return this._val=4278190080&r|16711680&n|65280&i|255&e,this},r=n,u=[{key:"WHITE",get:function(){return new n(255,255,255,255)}},{key:"BLACK",get:function(){return new n(0,0,0,255)}},{key:"TRANSPARENT",get:function(){return new n(0,0,0,0)}},{key:"GRAY",get:function(){return new n(127.5,127.5,127.5)}},{key:"RED",get:function(){return new n(255,0,0)}},{key:"GREEN",get:function(){return new n(0,255,0)}},{key:"BLUE",get:function(){return new n(0,0,255)}},{key:"YELLOW",get:function(){return new n(255,235,4)}},{key:"ORANGE",get:function(){return new n(255,127,0)}},{key:"CYAN",get:function(){return new n(0,255,255)}},{key:"MAGENTA",get:function(){return new n(255,0,255)}}],(a=[{key:"r",get:function(){return this.getR()},set:function(t){this.setR(t)}},{key:"g",get:function(){return this.getG()},set:function(t){this.setG(t)}},{key:"b",get:function(){return this.getB()},set:function(t){this.setB(t)}},{key:"a",get:function(){return this.getA()},set:function(t){this.setA(t)}}])&&o(r.prototype,a),u&&o(r,u),n})(n.default);i.default=u,u.div=u.divide,u.sub=u.subtract,u.mul=u.multiply,u.WHITE_R=u.WHITE,u.BLACK_R=u.BLACK,u.TRANSPARENT_R=u.TRANSPARENT,u.GRAY_R=u.GRAY,u.RED_R=u.RED,u.GREEN_R=u.GREEN,u.BLUE_R=u.BLUE,u.YELLOW_R=u.YELLOW,u.ORANGE_R=u.ORANGE,u.CYAN_R=u.CYAN,u.MAGENTA_R=u.MAGENTA,r.default.fastDefine("cc.Color",u,{r:0,g:0,b:0,a:255}),cc.Color=u,cc.color=function(t,e,i,n){return"string"==typeof t?(new u).fromHEX(t):"object"==typeof t?new u(t.r,t.g,t.b,t.a):new u(t,e,i,n)},e.exports=i.default}),{"../platform/CCClass":149,"../utils/misc":223,"./value-type":246}],238:[(function(t,e,i){"use strict";i.__esModule=!0;var n={Vec2:!0,Vec3:!0,Vec4:!0,Mat4:!0,Mat3:!0,Rect:!0,Size:!0,Color:!0,Quat:!0,Trs:!0};i.Vec4=i.Vec3=i.Vec2=i.Trs=i.Size=i.Rect=i.Quat=i.Mat4=i.Mat3=i.Color=void 0;var r=p(t("./vec2"));i.Vec2=r.default;var s=p(t("./vec3"));i.Vec3=s.default;var a=p(t("./vec4"));i.Vec4=a.default;var o=p(t("./mat4"));i.Mat4=o.default;var c=p(t("./mat3"));i.Mat3=c.default;var u=p(t("./rect"));i.Rect=u.default;var l=p(t("./size"));i.Size=l.default;var h=p(t("./color"));i.Color=h.default;var _=p(t("./quat"));i.Quat=_.default;var f=p(t("./trs"));i.Trs=f.default;var d=t("./utils");function p(t){return t&&t.__esModule?t:{default:t}}Object.keys(d).forEach((function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(n,t)||t in i&&i[t]===d[t]||(i[t]=d[t]))})),cc.math=e.exports}),{"./color":237,"./mat3":239,"./mat4":240,"./quat":241,"./rect":242,"./size":243,"./trs":244,"./utils":245,"./vec2":247,"./vec3":248,"./vec4":249}],239:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("../value-types/utils"),s=(n=t("./vec3"))&&n.__esModule?n:{default:n},a=(function(){function t(t,e,i,n,s,a,o,c,u){if(void 0===t&&(t=1),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===s&&(s=1),void 0===a&&(a=0),void 0===o&&(o=0),void 0===c&&(c=0),void 0===u&&(u=1),this.m=void 0,t instanceof r.FLOAT_ARRAY_TYPE)this.m=t;else{this.m=new r.FLOAT_ARRAY_TYPE(9);var l=this.m;l[0]=t,l[1]=e,l[2]=i,l[3]=n,l[4]=s,l[5]=a,l[6]=o,l[7]=c,l[8]=u}}return t.create=function(e,i,n,r,s,a,o,c,u){return void 0===e&&(e=1),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===s&&(s=1),void 0===a&&(a=0),void 0===o&&(o=0),void 0===c&&(c=0),void 0===u&&(u=1),new t(e,i,n,r,s,a,o,c,u)},t.clone=function(e){var i=e.m;return new t(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8])},t.copy=function(t,e){return t.m.set(e.m),t},t.set=function(t,e,i,n,r,s,a,o,c,u){var l=t.m;return l[0]=e,l[1]=i,l[2]=n,l[3]=r,l[4]=s,l[5]=a,l[6]=o,l[7]=c,l[8]=u,t},t.identity=function(t){var e=t.m;return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,t},t.transpose=function(t,e){var i=e.m,n=t.m;if(t===e){var r=i[1],s=i[2],a=i[5];n[1]=i[3],n[2]=i[6],n[3]=r,n[5]=i[7],n[6]=s,n[7]=a}else n[0]=i[0],n[1]=i[3],n[2]=i[6],n[3]=i[1],n[4]=i[4],n[5]=i[7],n[6]=i[2],n[7]=i[5],n[8]=i[8];return t},t.invert=function(t,e){var i=e.m,n=t.m,r=i[0],s=i[1],a=i[2],o=i[3],c=i[4],u=i[5],l=i[6],h=i[7],_=i[8],f=_*c-u*h,d=-_*o+u*l,p=h*o-c*l,v=r*f+s*d+a*p;return v?(v=1/v,n[0]=f*v,n[1]=(-_*s+a*h)*v,n[2]=(u*s-a*c)*v,n[3]=d*v,n[4]=(_*r-a*l)*v,n[5]=(-u*r+a*o)*v,n[6]=p*v,n[7]=(-h*r+s*l)*v,n[8]=(c*r-s*o)*v,t):t},t.adjoint=function(t,e){var i=e.m,n=t.m,r=i[0],s=i[1],a=i[2],o=i[3],c=i[4],u=i[5],l=i[6],h=i[7],_=i[8];return n[0]=c*_-u*h,n[1]=a*h-s*_,n[2]=s*u-a*c,n[3]=u*l-o*_,n[4]=r*_-a*l,n[5]=a*o-r*u,n[6]=o*h-c*l,n[7]=s*l-r*h,n[8]=r*c-s*o,t},t.determinant=function(t){var e=t.m,i=e[0],n=e[1],r=e[2],s=e[3],a=e[4],o=e[5],c=e[6],u=e[7],l=e[8];return i*(l*a-o*u)+n*(-l*s+o*c)+r*(u*s-a*c)},t.multiply=function(t,e,i){var n=e.m,r=i.m,s=t.m,a=n[0],o=n[1],c=n[2],u=n[3],l=n[4],h=n[5],_=n[6],f=n[7],d=n[8],p=r[0],v=r[1],g=r[2],m=r[3],y=r[4],T=r[5],E=r[6],A=r[7],C=r[8];return s[0]=p*a+v*u+g*_,s[1]=p*o+v*l+g*f,s[2]=p*c+v*h+g*d,s[3]=m*a+y*u+T*_,s[4]=m*o+y*l+T*f,s[5]=m*c+y*h+T*d,s[6]=E*a+A*u+C*_,s[7]=E*o+A*l+C*f,s[8]=E*c+A*h+C*d,t},t.multiplyMat4=function(t,e,i){var n=e.m,r=i.m,s=t.m,a=n[0],o=n[1],c=n[2],u=n[3],l=n[4],h=n[5],_=n[6],f=n[7],d=n[8],p=r[0],v=r[1],g=r[2],m=r[4],y=r[5],T=r[6],E=r[8],A=r[9],C=r[10];return s[0]=p*a+v*u+g*_,s[1]=p*o+v*l+g*f,s[2]=p*c+v*h+g*d,s[3]=m*a+y*u+T*_,s[4]=m*o+y*l+T*f,s[5]=m*c+y*h+T*d,s[6]=E*a+A*u+C*_,s[7]=E*o+A*l+C*f,s[8]=E*c+A*h+C*d,t},t.translate=function(t,e,i){var n=e.m,r=t.m,s=n[0],a=n[1],o=n[2],c=n[3],u=n[4],l=n[5],h=n[6],_=n[7],f=n[8],d=i.x,p=i.y;return r[0]=s,r[1]=a,r[2]=o,r[3]=c,r[4]=u,r[5]=l,r[6]=d*s+p*c+h,r[7]=d*a+p*u+_,r[8]=d*o+p*l+f,t},t.rotate=function(t,e,i){var n=e.m,r=t.m,s=n[0],a=n[1],o=n[2],c=n[3],u=n[4],l=n[5],h=n[6],_=n[7],f=n[8],d=Math.sin(i),p=Math.cos(i);return r[0]=p*s+d*c,r[1]=p*a+d*u,r[2]=p*o+d*l,r[3]=p*c-d*s,r[4]=p*u-d*a,r[5]=p*l-d*o,r[6]=h,r[7]=_,r[8]=f,t},t.scale=function(t,e,i){var n=i.x,r=i.y,s=e.m,a=t.m;return a[0]=n*s[0],a[1]=n*s[1],a[2]=n*s[2],a[3]=r*s[3],a[4]=r*s[4],a[5]=r*s[5],a[6]=s[6],a[7]=s[7],a[8]=s[8],t},t.fromMat4=function(t,e){var i=e.m,n=t.m;return n[0]=i[0],n[1]=i[1],n[2]=i[2],n[3]=i[4],n[4]=i[5],n[5]=i[6],n[6]=i[8],n[7]=i[9],n[8]=i[10],t},t.fromTranslation=function(t,e){var i=t.m;return i[0]=1,i[1]=0,i[2]=0,i[3]=0,i[4]=1,i[5]=0,i[6]=e.x,i[7]=e.y,i[8]=1,t},t.fromRotation=function(t,e){var i=Math.sin(e),n=Math.cos(e),r=t.m;return r[0]=n,r[1]=i,r[2]=0,r[3]=-i,r[4]=n,r[5]=0,r[6]=0,r[7]=0,r[8]=1,t},t.fromScaling=function(t,e){var i=t.m;return i[0]=e.x,i[1]=0,i[2]=0,i[3]=0,i[4]=e.y,i[5]=0,i[6]=0,i[7]=0,i[8]=1,t},t.fromQuat=function(t,e){var i=t.m,n=e.x,r=e.y,s=e.z,a=e.w,o=n+n,c=r+r,u=s+s,l=n*o,h=r*o,_=r*c,f=s*o,d=s*c,p=s*u,v=a*o,g=a*c,m=a*u;return i[0]=1-_-p,i[3]=h-m,i[6]=f+g,i[1]=h+m,i[4]=1-l-p,i[7]=d-v,i[2]=f-g,i[5]=d+v,i[8]=1-l-_,t},t.fromViewUp=function(e,i,n){var a,o,c;return(a=new s.default(0,1,0),o=new s.default,c=new s.default,function(e,i,n){return s.default.lengthSqr(i)0?(r=2*Math.sqrt(n+1),t.w=.25*r,t.x=(i[6]-i[9])/r,t.y=(i[8]-i[2])/r,t.z=(i[1]-i[4])/r):i[0]>i[5]&&i[0]>i[10]?(r=2*Math.sqrt(1+i[0]-i[5]-i[10]),t.w=(i[6]-i[9])/r,t.x=.25*r,t.y=(i[1]+i[4])/r,t.z=(i[8]+i[2])/r):i[5]>i[10]?(r=2*Math.sqrt(1+i[5]-i[0]-i[10]),t.w=(i[8]-i[2])/r,t.x=(i[1]+i[4])/r,t.y=.25*r,t.z=(i[6]+i[9])/r):(r=2*Math.sqrt(1+i[10]-i[0]-i[5]),t.w=(i[1]-i[4])/r,t.x=(i[8]+i[2])/r,t.y=(i[6]+i[9])/r,t.z=.25*r),t},r.toRTS=function(t,e,i,n){var r=t.m,o=I.m;n.x=s.default.set(w,r[0],r[1],r[2]).mag(),o[0]=r[0]/n.x,o[1]=r[1]/n.x,o[2]=r[2]/n.x,n.y=s.default.set(w,r[4],r[5],r[6]).mag(),o[3]=r[4]/n.y,o[4]=r[5]/n.y,o[5]=r[6]/n.y,n.z=s.default.set(w,r[8],r[9],r[10]).mag(),o[6]=r[8]/n.z,o[7]=r[9]/n.z,o[8]=r[10]/n.z,c.default.determinant(I)<0&&(n.x*=-1,o[0]*=-1,o[1]*=-1,o[2]*=-1),a.default.fromMat3(e,I),s.default.set(i,r[12],r[13],r[14])},r.fromRTS=function(t,e,i,n){var r=e.x,s=e.y,a=e.z,o=e.w,c=r+r,u=s+s,l=a+a,h=r*c,_=r*u,f=r*l,d=s*u,p=s*l,v=a*l,g=o*c,m=o*u,y=o*l,T=n.x,E=n.y,A=n.z,C=t.m;return C[0]=(1-(d+v))*T,C[1]=(_+y)*T,C[2]=(f-m)*T,C[3]=0,C[4]=(_-y)*E,C[5]=(1-(h+v))*E,C[6]=(p+g)*E,C[7]=0,C[8]=(f+m)*A,C[9]=(p-g)*A,C[10]=(1-(h+d))*A,C[11]=0,C[12]=i.x,C[13]=i.y,C[14]=i.z,C[15]=1,t},r.fromRTSOrigin=function(t,e,i,n,r){var s=e.x,a=e.y,o=e.z,c=e.w,u=s+s,l=a+a,h=o+o,_=s*u,f=s*l,d=s*h,p=a*l,v=a*h,g=o*h,m=c*u,y=c*l,T=c*h,E=n.x,A=n.y,C=n.z,x=r.x,b=r.y,S=r.z,R=t.m;return R[0]=(1-(p+g))*E,R[1]=(f+T)*E,R[2]=(d-y)*E,R[3]=0,R[4]=(f-T)*A,R[5]=(1-(_+g))*A,R[6]=(v+m)*A,R[7]=0,R[8]=(d+y)*C,R[9]=(v-m)*C,R[10]=(1-(_+p))*C,R[11]=0,R[12]=i.x+x-(R[0]*x+R[4]*b+R[8]*S),R[13]=i.y+b-(R[1]*x+R[5]*b+R[9]*S),R[14]=i.z+S-(R[2]*x+R[6]*b+R[10]*S),R[15]=1,t},r.fromQuat=function(t,e){var i=e.x,n=e.y,r=e.z,s=e.w,a=i+i,o=n+n,c=r+r,u=i*a,l=n*a,h=n*o,_=r*a,f=r*o,d=r*c,p=s*a,v=s*o,g=s*c,m=t.m;return m[0]=1-h-d,m[1]=l+g,m[2]=_-v,m[3]=0,m[4]=l-g,m[5]=1-u-d,m[6]=f+p,m[7]=0,m[8]=_+v,m[9]=f-p,m[10]=1-u-h,m[11]=0,m[12]=0,m[13]=0,m[14]=0,m[15]=1,t},r.frustum=function(t,e,i,n,r,s,a){var o=1/(i-e),c=1/(r-n),u=1/(s-a),l=t.m;return l[0]=2*s*o,l[1]=0,l[2]=0,l[3]=0,l[4]=0,l[5]=2*s*c,l[6]=0,l[7]=0,l[8]=(i+e)*o,l[9]=(r+n)*c,l[10]=(a+s)*u,l[11]=-1,l[12]=0,l[13]=0,l[14]=a*s*2*u,l[15]=0,t},r.perspective=function(t,e,i,n,r){var s=1/Math.tan(e/2),a=1/(n-r),o=t.m;return o[0]=s/i,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=s,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=(r+n)*a,o[11]=-1,o[12]=0,o[13]=0,o[14]=2*r*n*a,o[15]=0,t},r.ortho=function(t,e,i,n,r,s,a){var o=1/(e-i),c=1/(n-r),u=1/(s-a),l=t.m;return l[0]=-2*o,l[1]=0,l[2]=0,l[3]=0,l[4]=0,l[5]=-2*c,l[6]=0,l[7]=0,l[8]=0,l[9]=0,l[10]=2*u,l[11]=0,l[12]=(e+i)*o,l[13]=(r+n)*c,l[14]=(a+s)*u,l[15]=1,t},r.lookAt=function(t,e,i,n){var r=e.x,s=e.y,a=e.z,o=n.x,c=n.y,u=n.z,l=r-i.x,h=s-i.y,_=a-i.z,f=1/Math.sqrt(l*l+h*h+_*_),d=c*(_*=f)-u*(h*=f),p=u*(l*=f)-o*_,v=o*h-c*l,g=h*(v*=f=1/Math.sqrt(d*d+p*p+v*v))-_*(p*=f),m=_*(d*=f)-l*v,y=l*p-h*d,T=t.m;return T[0]=d,T[1]=g,T[2]=l,T[3]=0,T[4]=p,T[5]=m,T[6]=h,T[7]=0,T[8]=v,T[9]=y,T[10]=_,T[11]=0,T[12]=-(d*r+p*s+v*a),T[13]=-(g*r+m*s+y*a),T[14]=-(l*r+h*s+_*a),T[15]=1,t},r.inverseTranspose=function(t,e){var i=e.m;h=i[0],_=i[1],f=i[2],d=i[3],p=i[4],v=i[5],g=i[6],m=i[7],y=i[8],T=i[9],E=i[10],A=i[11],C=i[12],x=i[13],b=i[14],S=i[15];var n=h*v-_*p,r=h*g-f*p,s=h*m-d*p,a=_*g-f*v,o=_*m-d*v,c=f*m-d*g,u=y*x-T*C,l=y*b-E*C,R=y*S-A*C,w=T*b-E*x,I=T*S-A*x,M=E*S-A*b,O=n*M-r*I+s*w+a*R-o*l+c*u;return O?(O=1/O,(i=t.m)[0]=(v*M-g*I+m*w)*O,i[1]=(g*R-p*M-m*l)*O,i[2]=(p*I-v*R+m*u)*O,i[3]=0,i[4]=(f*I-_*M-d*w)*O,i[5]=(h*M-f*R+d*l)*O,i[6]=(_*R-h*I-d*u)*O,i[7]=0,i[8]=(x*c-b*o+S*a)*O,i[9]=(b*s-C*c-S*r)*O,i[10]=(C*o-x*s+S*n)*O,i[11]=0,i[12]=0,i[13]=0,i[14]=0,i[15]=1,t):null},r.add=function(t,e,i){var n=t.m,r=e.m,s=i.m;return n[0]=r[0]+s[0],n[1]=r[1]+s[1],n[2]=r[2]+s[2],n[3]=r[3]+s[3],n[4]=r[4]+s[4],n[5]=r[5]+s[5],n[6]=r[6]+s[6],n[7]=r[7]+s[7],n[8]=r[8]+s[8],n[9]=r[9]+s[9],n[10]=r[10]+s[10],n[11]=r[11]+s[11],n[12]=r[12]+s[12],n[13]=r[13]+s[13],n[14]=r[14]+s[14],n[15]=r[15]+s[15],t},r.subtract=function(t,e,i){var n=t.m,r=e.m,s=i.m;return n[0]=r[0]-s[0],n[1]=r[1]-s[1],n[2]=r[2]-s[2],n[3]=r[3]-s[3],n[4]=r[4]-s[4],n[5]=r[5]-s[5],n[6]=r[6]-s[6],n[7]=r[7]-s[7],n[8]=r[8]-s[8],n[9]=r[9]-s[9],n[10]=r[10]-s[10],n[11]=r[11]-s[11],n[12]=r[12]-s[12],n[13]=r[13]-s[13],n[14]=r[14]-s[14],n[15]=r[15]-s[15],t},r.multiplyScalar=function(t,e,i){var n=t.m,r=e.m;return n[0]=r[0]*i,n[1]=r[1]*i,n[2]=r[2]*i,n[3]=r[3]*i,n[4]=r[4]*i,n[5]=r[5]*i,n[6]=r[6]*i,n[7]=r[7]*i,n[8]=r[8]*i,n[9]=r[9]*i,n[10]=r[10]*i,n[11]=r[11]*i,n[12]=r[12]*i,n[13]=r[13]*i,n[14]=r[14]*i,n[15]=r[15]*i,t},r.multiplyScalarAndAdd=function(t,e,i,n){var r=t.m,s=e.m,a=i.m;return r[0]=s[0]+a[0]*n,r[1]=s[1]+a[1]*n,r[2]=s[2]+a[2]*n,r[3]=s[3]+a[3]*n,r[4]=s[4]+a[4]*n,r[5]=s[5]+a[5]*n,r[6]=s[6]+a[6]*n,r[7]=s[7]+a[7]*n,r[8]=s[8]+a[8]*n,r[9]=s[9]+a[9]*n,r[10]=s[10]+a[10]*n,r[11]=s[11]+a[11]*n,r[12]=s[12]+a[12]*n,r[13]=s[13]+a[13]*n,r[14]=s[14]+a[14]*n,r[15]=s[15]+a[15]*n,t},r.strictEquals=function(t,e){var i=t.m,n=e.m;return i[0]===n[0]&&i[1]===n[1]&&i[2]===n[2]&&i[3]===n[3]&&i[4]===n[4]&&i[5]===n[5]&&i[6]===n[6]&&i[7]===n[7]&&i[8]===n[8]&&i[9]===n[9]&&i[10]===n[10]&&i[11]===n[11]&&i[12]===n[12]&&i[13]===n[13]&&i[14]===n[14]&&i[15]===n[15]},r.equals=function(t,e,i){void 0===i&&(i=o.EPSILON);var n=t.m,r=e.m;return Math.abs(n[0]-r[0])<=i*Math.max(1,Math.abs(n[0]),Math.abs(r[0]))&&Math.abs(n[1]-r[1])<=i*Math.max(1,Math.abs(n[1]),Math.abs(r[1]))&&Math.abs(n[2]-r[2])<=i*Math.max(1,Math.abs(n[2]),Math.abs(r[2]))&&Math.abs(n[3]-r[3])<=i*Math.max(1,Math.abs(n[3]),Math.abs(r[3]))&&Math.abs(n[4]-r[4])<=i*Math.max(1,Math.abs(n[4]),Math.abs(r[4]))&&Math.abs(n[5]-r[5])<=i*Math.max(1,Math.abs(n[5]),Math.abs(r[5]))&&Math.abs(n[6]-r[6])<=i*Math.max(1,Math.abs(n[6]),Math.abs(r[6]))&&Math.abs(n[7]-r[7])<=i*Math.max(1,Math.abs(n[7]),Math.abs(r[7]))&&Math.abs(n[8]-r[8])<=i*Math.max(1,Math.abs(n[8]),Math.abs(r[8]))&&Math.abs(n[9]-r[9])<=i*Math.max(1,Math.abs(n[9]),Math.abs(r[9]))&&Math.abs(n[10]-r[10])<=i*Math.max(1,Math.abs(n[10]),Math.abs(r[10]))&&Math.abs(n[11]-r[11])<=i*Math.max(1,Math.abs(n[11]),Math.abs(r[11]))&&Math.abs(n[12]-r[12])<=i*Math.max(1,Math.abs(n[12]),Math.abs(r[12]))&&Math.abs(n[13]-r[13])<=i*Math.max(1,Math.abs(n[13]),Math.abs(r[13]))&&Math.abs(n[14]-r[14])<=i*Math.max(1,Math.abs(n[14]),Math.abs(r[14]))&&Math.abs(n[15]-r[15])<=i*Math.max(1,Math.abs(n[15]),Math.abs(r[15]))},r.adjoint=function(t,e){var i=e.m,n=t.m,r=i[0],s=i[1],a=i[2],o=i[3],c=i[4],u=i[5],l=i[6],h=i[7],_=i[8],f=i[9],d=i[10],p=i[11],v=i[12],g=i[13],m=i[14],y=i[15];return n[0]=u*(d*y-p*m)-f*(l*y-h*m)+g*(l*p-h*d),n[1]=-(s*(d*y-p*m)-f*(a*y-o*m)+g*(a*p-o*d)),n[2]=s*(l*y-h*m)-u*(a*y-o*m)+g*(a*h-o*l),n[3]=-(s*(l*p-h*d)-u*(a*p-o*d)+f*(a*h-o*l)),n[4]=-(c*(d*y-p*m)-_*(l*y-h*m)+v*(l*p-h*d)),n[5]=r*(d*y-p*m)-_*(a*y-o*m)+v*(a*p-o*d),n[6]=-(r*(l*y-h*m)-c*(a*y-o*m)+v*(a*h-o*l)),n[7]=r*(l*p-h*d)-c*(a*p-o*d)+_*(a*h-o*l),n[8]=c*(f*y-p*g)-_*(u*y-h*g)+v*(u*p-h*f),n[9]=-(r*(f*y-p*g)-_*(s*y-o*g)+v*(s*p-o*f)),n[10]=r*(u*y-h*g)-c*(s*y-o*g)+v*(s*h-o*u),n[11]=-(r*(u*p-h*f)-c*(s*p-o*f)+_*(s*h-o*u)),n[12]=-(c*(f*m-d*g)-_*(u*m-l*g)+v*(u*d-l*f)),n[13]=r*(f*m-d*g)-_*(s*m-a*g)+v*(s*d-a*f),n[14]=-(r*(u*m-l*g)-c*(s*m-a*g)+v*(s*l-a*u)),n[15]=r*(u*d-l*f)-c*(s*d-a*f)+_*(s*l-a*u),t},r.toArray=function(t,e,i){void 0===i&&(i=0);for(var n=e.m,r=0;r<16;r++)t[i+r]=n[r];return t},r.fromArray=function(t,e,i){void 0===i&&(i=0);for(var n=t.m,r=0;r<16;r++)n[r]=e[i+r];return t},n.clone=function(){var t=this.m;return new r(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},n.set=function(t){var e=this.m,i=t.m;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],e[9]=i[9],e[10]=i[10],e[11]=i[11],e[12]=i[12],e[13]=i[13],e[14]=i[14],e[15]=i[15],this},n.equals=function(t){return r.strictEquals(this,t)},n.fuzzyEquals=function(t){return r.equals(this,t)},n.toString=function(){var t=this.m;return t?"[\n"+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+",\n"+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+",\n"+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+",\n"+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+"\n]":"[\n1, 0, 0, 0\n0, 1, 0, 0\n0, 0, 1, 0\n0, 0, 0, 1\n]"},n.identity=function(){return r.identity(this)},n.transpose=function(t){return t=t||new r,r.transpose(t,this)},n.invert=function(t){return t=t||new r,r.invert(t,this)},n.adjoint=function(t){return t=t||new r,r.adjoint(t,this)},n.determinant=function(){return r.determinant(this)},n.add=function(t,e){return e=e||new r,r.add(e,this,t)},n.subtract=function(t){return r.subtract(this,this,t)},n.multiply=function(t){return r.multiply(this,this,t)},n.multiplyScalar=function(t){return r.multiplyScalar(this,this,t)},n.translate=function(t,e){return e=e||new r,r.translate(e,this,t)},n.scale=function(t,e){return e=e||new r,r.scale(e,this,t)},n.rotate=function(t,e,i){return i=i||new r,r.rotate(i,this,t,e)},n.getTranslation=function(t){return t=t||new s.default,r.getTranslation(t,this)},n.getScale=function(t){return t=t||new s.default,r.getScaling(t,this)},n.getRotation=function(t){return t=t||new a.default,r.getRotation(t,this)},n.fromRTS=function(t,e,i){return r.fromRTS(this,t,e,i)},n.fromQuat=function(t){return r.fromQuat(this,t)},r})(n.default);i.default=R,R.mul=R.multiply,R.sub=R.subtract,R.IDENTITY=Object.freeze(new R);var w=new s.default,I=new c.default;r.default.fastDefine("cc.Mat4",R,{m00:1,m01:0,m02:0,m03:0,m04:0,m05:1,m06:0,m07:0,m08:0,m09:0,m10:1,m11:0,m12:0,m13:0,m14:0,m15:1});for(var M=function(t){Object.defineProperty(R.prototype,"m"+t,{get:function(){return this.m[t]},set:function(e){this.m[t]=e}})},O=0;O<16;O++)M(O);cc.mat4=function(t,e,i,n,r,s,a,o,c,u,l,h,_,f,d,p){var v=new R(t,e,i,n,r,s,a,o,c,u,l,h,_,f,d,p);return void 0===t&&R.identity(v),v},cc.Mat4=R,e.exports=i.default}),{"../platform/CCClass":149,"./mat3":239,"./quat":241,"./utils":245,"./value-type":246,"./vec3":248}],241:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=c(t("./value-type")),r=c(t("../platform/CCClass")),s=c(t("./vec3")),a=c(t("./mat3")),o=t("./utils");function c(t){return t&&t.__esModule?t:{default:t}}function u(t,e){return(u=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var l=0,h=0,_=0,f=0,d=(function(t){var e,i;i=t,(e=r).prototype=Object.create(i.prototype),e.prototype.constructor=e,u(e,i);var n=r.prototype;function r(e,i,n,r){var s;return void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=1),(s=t.call(this)||this).x=void 0,s.y=void 0,s.z=void 0,s.w=void 0,e&&"object"==typeof e?(s.x=e.x,s.y=e.y,s.z=e.z,s.w=e.w):(s.x=e,s.y=i,s.z=n,s.w=r),s}return n.mul=function(t,e){return r.multiply(e||new r,this,t)},r.clone=function(t){return new r(t.x,t.y,t.z,t.w)},r.copy=function(t,e){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t},r.set=function(t,e,i,n,r){return t.x=e,t.y=i,t.z=n,t.w=r,t},r.identity=function(t){return t.x=0,t.y=0,t.z=0,t.w=1,t},r.rotationTo=function(t,e,i){var n=s.default.dot(e,i);return n<-.999999?(s.default.cross(g,s.default.RIGHT,e),g.mag()<1e-6&&s.default.cross(g,s.default.UP,e),s.default.normalize(g,g),r.fromAxisAngle(t,g,Math.PI),t):n>.999999?(t.x=0,t.y=0,t.z=0,t.w=1,t):(s.default.cross(g,e,i),t.x=g.x,t.y=g.y,t.z=g.z,t.w=1+n,r.normalize(t,t))},r.getAxisAngle=function(t,e){var i=2*Math.acos(e.w),n=Math.sin(i/2);return 0!==n?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n):(t.x=1,t.y=0,t.z=0),i},r.multiply=function(t,e,i){return l=e.x*i.w+e.w*i.x+e.y*i.z-e.z*i.y,h=e.y*i.w+e.w*i.y+e.z*i.x-e.x*i.z,_=e.z*i.w+e.w*i.z+e.x*i.y-e.y*i.x,f=e.w*i.w-e.x*i.x-e.y*i.y-e.z*i.z,t.x=l,t.y=h,t.z=_,t.w=f,t},r.multiplyScalar=function(t,e,i){return t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t.w=e.w*i,t},r.scaleAndAdd=function(t,e,i,n){return t.x=e.x+i.x*n,t.y=e.y+i.y*n,t.z=e.z+i.z*n,t.w=e.w+i.w*n,t},r.rotateX=function(t,e,i){i*=.5;var n=Math.sin(i),r=Math.cos(i);return l=e.x*r+e.w*n,h=e.y*r+e.z*n,_=e.z*r-e.y*n,f=e.w*r-e.x*n,t.x=l,t.y=h,t.z=_,t.w=f,t},r.rotateY=function(t,e,i){i*=.5;var n=Math.sin(i),r=Math.cos(i);return l=e.x*r-e.z*n,h=e.y*r+e.w*n,_=e.z*r+e.x*n,f=e.w*r-e.y*n,t.x=l,t.y=h,t.z=_,t.w=f,t},r.rotateZ=function(t,e,i){i*=.5;var n=Math.sin(i),r=Math.cos(i);return l=e.x*r+e.y*n,h=e.y*r-e.x*n,_=e.z*r+e.w*n,f=e.w*r-e.z*n,t.x=l,t.y=h,t.z=_,t.w=f,t},r.rotateAround=function(t,e,i,n){return r.invert(p,e),s.default.transformQuat(g,i,p),r.fromAxisAngle(p,g,n),r.multiply(t,e,p),t},r.rotateAroundLocal=function(t,e,i,n){return r.fromAxisAngle(p,i,n),r.multiply(t,e,p),t},r.calculateW=function(t,e){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=Math.sqrt(Math.abs(1-e.x*e.x-e.y*e.y-e.z*e.z)),t},r.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z+t.w*e.w},r.lerp=function(t,e,i,n){return t.x=e.x+n*(i.x-e.x),t.y=e.y+n*(i.y-e.y),t.z=e.z+n*(i.z-e.z),t.w=e.w+n*(i.w-e.w),t},r.slerp=function(t,e,i,n){var r=0,s=0,a=e.x*i.x+e.y*i.y+e.z*i.z+e.w*i.w;if(a<0&&(a=-a,i.x=-i.x,i.y=-i.y,i.z=-i.z,i.w=-i.w),1-a>1e-6){var o=Math.acos(a),c=Math.sin(o);r=Math.sin((1-n)*o)/c,s=Math.sin(n*o)/c}else r=1-n,s=n;return t.x=r*e.x+s*i.x,t.y=r*e.y+s*i.y,t.z=r*e.z+s*i.z,t.w=r*e.w+s*i.w,t},r.sqlerp=function(t,e,i,n,s,a){return r.slerp(p,e,s,a),r.slerp(v,i,n,a),r.slerp(t,p,v,2*a*(1-a)),t},r.invert=function(t,e){var i=e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w,n=i?1/i:0;return t.x=-e.x*n,t.y=-e.y*n,t.z=-e.z*n,t.w=e.w*n,t},r.conjugate=function(t,e){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t},r.len=function(t){return Math.sqrt(t.x*t.x+t.y*t.y+t.z*t.z+t.w*t.w)},r.lengthSqr=function(t){return t.x*t.x+t.y*t.y+t.z*t.z+t.w*t.w},r.normalize=function(t,e){var i=e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w;return i>0&&(i=1/Math.sqrt(i),t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t.w=e.w*i),t},r.fromAxes=function(t,e,i,n){return a.default.set(m,e.x,e.y,e.z,i.x,i.y,i.z,n.x,n.y,n.z),r.normalize(t,r.fromMat3(t,m))},r.fromViewUp=function(t,e,i){return a.default.fromViewUp(m,e,i),r.normalize(t,r.fromMat3(t,m))},r.fromAxisAngle=function(t,e,i){i*=.5;var n=Math.sin(i);return t.x=n*e.x,t.y=n*e.y,t.z=n*e.z,t.w=Math.cos(i),t},r.fromAngleZ=function(t,e){return e*=y,t.x=t.y=0,t.z=Math.sin(e),t.w=Math.cos(e),t},r.fromMat3=function(t,e){var i=e.m,n=i[0],r=i[1],s=i[2],a=i[3],o=i[4],c=i[5],u=i[6],l=i[7],h=i[8],_=n+o+h;if(_>0){var f=.5/Math.sqrt(_+1);t.w=.25/f,t.x=(c-l)*f,t.y=(u-s)*f,t.z=(r-a)*f}else if(n>o&&n>h){var d=2*Math.sqrt(1+n-o-h);t.w=(c-l)/d,t.x=.25*d,t.y=(a+r)/d,t.z=(u+s)/d}else if(o>h){var p=2*Math.sqrt(1+o-n-h);t.w=(u-s)/p,t.x=(a+r)/p,t.y=.25*p,t.z=(l+c)/p}else{var v=2*Math.sqrt(1+h-n-o);t.w=(r-a)/v,t.x=(u+s)/v,t.y=(l+c)/v,t.z=.25*v}return t},r.fromEuler=function(t,e,i,n){e*=y,i*=y,n*=y;var r=Math.sin(e),s=Math.cos(e),a=Math.sin(i),o=Math.cos(i),c=Math.sin(n),u=Math.cos(n);return t.x=r*o*u+s*a*c,t.y=s*a*u+r*o*c,t.z=s*o*c-r*a*u,t.w=s*o*u-r*a*c,t},r.toAxisX=function(t,e){var i=2*e.y,n=2*e.z;return t.x=1-i*e.y-n*e.z,t.y=i*e.x+n*e.w,t.z=n*e.x+i*e.w,t},r.toAxisY=function(t,e){var i=2*e.x,n=2*e.y,r=2*e.z;return t.x=n*e.x-r*e.w,t.y=1-i*e.x-r*e.z,t.z=r*e.y+i*e.w,t},r.toAxisZ=function(t,e){var i=2*e.x,n=2*e.y,r=2*e.z;return t.x=r*e.x-n*e.w,t.y=r*e.y-i*e.w,t.z=1-i*e.x-n*e.y,t},r.toEuler=function(t,e,i){var n=e.x,r=e.y,s=e.z,a=e.w,c=0,u=0,l=0,h=n*r+s*a;if(h>.499999)c=0,u=(0,o.toDegree)(2*Math.atan2(n,a)),l=90;else if(h<-.499999)c=0,u=-(0,o.toDegree)(2*Math.atan2(n,a)),l=-90;else{var _=n*n,f=r*r,d=s*s;c=(0,o.toDegree)(Math.atan2(2*n*a-2*r*s,1-2*_-2*d)),u=(0,o.toDegree)(Math.atan2(2*r*a-2*n*s,1-2*f-2*d)),l=(0,o.toDegree)(Math.asin(2*h)),i&&(c=-180*Math.sign(c+1e-6)+c,u=-180*Math.sign(u+1e-6)+u,l=180*Math.sign(l+1e-6)-l)}return t.x=c,t.y=u,t.z=l,t},r.strictEquals=function(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z&&t.w===e.w},r.equals=function(t,e,i){return void 0===i&&(i=o.EPSILON),Math.abs(t.x-e.x)<=i*Math.max(1,Math.abs(t.x),Math.abs(e.x))&&Math.abs(t.y-e.y)<=i*Math.max(1,Math.abs(t.y),Math.abs(e.y))&&Math.abs(t.z-e.z)<=i*Math.max(1,Math.abs(t.z),Math.abs(e.z))&&Math.abs(t.w-e.w)<=i*Math.max(1,Math.abs(t.w),Math.abs(e.w))},r.toArray=function(t,e,i){return void 0===i&&(i=0),t[i+0]=e.x,t[i+1]=e.y,t[i+2]=e.z,t[i+3]=e.w,t},r.fromArray=function(t,e,i){return void 0===i&&(i=0),t.x=e[i+0],t.y=e[i+1],t.z=e[i+2],t.w=e[i+3],t},n.clone=function(){return new r(this.x,this.y,this.z,this.w)},n.set=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},n.equals=function(t){return t&&this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},n.toEuler=function(t){return r.toEuler(t,this)},n.fromEuler=function(t){return r.fromEuler(this,t.x,t.y,t.z)},n.lerp=function(t,e,i){return i=i||new r,r.slerp(i,this,t,e),i},n.multiply=function(t){return r.multiply(this,this,t)},n.rotateAround=function(t,e,i,n){return n=n||new r,r.rotateAround(n,t,e,i)},r})(n.default);i.default=d,d.mul=d.multiply,d.scale=d.multiplyScalar,d.mag=d.len,d.IDENTITY=Object.freeze(new d);var p=new d,v=new d,g=new s.default,m=new a.default,y=.5*Math.PI/180;r.default.fastDefine("cc.Quat",d,{x:0,y:0,z:0,w:1}),cc.quat=function(t,e,i,n){return new d(t,e,i,n)},cc.Quat=d,e.exports=i.default}),{"../platform/CCClass":149,"./mat3":239,"./utils":245,"./value-type":246,"./vec3":248}],242:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=o(t("./value-type")),r=o(t("../platform/CCClass")),s=o(t("./vec2")),a=o(t("./size"));function o(t){return t&&t.__esModule?t:{default:t}}function c(t,e){for(var i=0;i=t.x&&this.y<=t.y&&this.y+this.height>=t.y},l.containsRect=function(t){return this.x<=t.x&&this.x+this.width>=t.x+t.width&&this.y<=t.y&&this.y+this.height>=t.y+t.height},l.union=function(t,e){var i=this.x,n=this.y,r=this.width,s=this.height,a=e.x,o=e.y,c=e.width,u=e.height;return t.x=Math.min(i,a),t.y=Math.min(n,o),t.width=Math.max(i+r,a+c)-t.x,t.height=Math.max(n+s,o+u)-t.y,t},l.transformMat4=function(t,e){var i=this.x,n=this.y,r=i+this.width,s=n+this.height,a=e.m,o=a[0]*i+a[4]*n+a[12],c=a[1]*i+a[5]*n+a[13],u=a[0]*r+a[4]*n+a[12],l=a[1]*r+a[5]*n+a[13],h=a[0]*i+a[4]*s+a[12],_=a[1]*i+a[5]*s+a[13],f=a[0]*r+a[4]*s+a[12],d=a[1]*r+a[5]*s+a[13],p=Math.min(o,u,h,f),v=Math.max(o,u,h,f),g=Math.min(c,l,_,d),m=Math.max(c,l,_,d);return t.x=p,t.y=g,t.width=v-p,t.height=m-g,t},l.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+", "+this.width.toFixed(2)+", "+this.height.toFixed(2)+")"},r=n,(o=[{key:"xMin",get:function(){return this.x},set:function(t){this.width+=this.x-t,this.x=t}},{key:"yMin",get:function(){return this.y},set:function(t){this.height+=this.y-t,this.y=t}},{key:"xMax",get:function(){return this.x+this.width},set:function(t){this.width=t-this.x}},{key:"yMax",get:function(){return this.y+this.height},set:function(t){this.height=t-this.y}},{key:"center",get:function(){return new s.default(this.x+.5*this.width,this.y+.5*this.height)},set:function(t){this.x=t.x-.5*this.width,this.y=t.y-.5*this.height}},{key:"origin",get:function(){return new s.default(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}},{key:"size",get:function(){return new a.default(this.width,this.height)},set:function(t){this.width=t.width,this.height=t.height}}])&&c(r.prototype,o),n})(n.default);i.default=l,r.default.fastDefine("cc.Rect",l,{x:0,y:0,width:0,height:0}),cc.Rect=l,cc.rect=function(t,e,i,n){return new l(t,e,i,n)},e.exports=i.default}),{"../platform/CCClass":149,"./size":243,"./value-type":246,"./vec2":247}],243:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=s(t("./value-type")),r=s(t("../platform/CCClass"));function s(t){return t&&t.__esModule?t:{default:t}}function a(t,e){for(var i=0;ii?i:t},i.clamp01=function(t){return t<0?0:t>1?1:t},i.equals=function(t,e){return Math.abs(t-e)<=s*Math.max(1,Math.abs(t),Math.abs(e))},i.inverseLerp=function(t,e,i){return(i-t)/(e-t)},i.lerp=function(t,e,i){return t+(e-t)*i},i.nextPow2=function(t){return--t,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i.pingPong=function(t,e){return t=h(t,2*e),e-Math.abs(t-e)},i.pseudoRandom=u,i.pseudoRandomRange=l,i.pseudoRandomRangeInt=function(t,e,i){return Math.floor(l(t,e,i))},i.random=void 0,i.randomRange=c,i.randomRangeInt=function(t,e){return Math.floor(c(t,e))},i.repeat=h,i.sign=function(t){return(t>0)-(t<0)},i.toDegree=function(t){return t*r},i.toRadian=function(t){return t*n};var n=Math.PI/180,r=180/Math.PI,s=1e-6;i.EPSILON=s,i.INT_BITS=32,i.INT_MAX=2147483647,i.INT_MIN=-1<<31;var a=Float64Array;i.FLOAT_ARRAY_TYPE=a,i.FLOAT_BYTES=8;var o=Math.random;function c(t,e){return Math.random()*(e-t)+t}function u(t){return(t=(9301*t+49297)%233280)/233280}function l(t,e,i){return u(t)*(i-e)+e}function h(t,e){return t-Math.floor(t/e)*e}i.random=o}),{}],246:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../platform/js"))&&n.__esModule?n:{default:n},s=(function(){function t(){}var e=t.prototype;return e.clone=function(){return cc.errorID("0100",r.default.getClassName(this)+".clone"),null},e.equals=function(){return cc.errorID("0100",r.default.getClassName(this)+".equals"),!1},e.lerp=function(){return cc.errorID("0100",r.default.getClassName(this)+".lerp"),this.clone()},e.set=function(){cc.errorID("0100",r.default.getClassName(this)+".set")},e.toString=function(){return""+{}},t})();i.default=s,r.default.setClassName("cc.ValueType",s),cc.ValueType=s,e.exports=i.default}),{"../platform/js":170}],247:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=o(t("./value-type")),r=o(t("../platform/CCClass")),s=o(t("../utils/misc")),a=t("./utils");function o(t){return t&&t.__esModule?t:{default:t}}function c(t,e){for(var i=0;i0&&(i=1/Math.sqrt(i),t.x=l*i,t.y=h*i),t},_.dot=function(t,e){return t.x*e.x+t.y*e.y},_.cross=function(t,e,i){return t.x=t.y=0,t.z=e.x*i.y-e.y*i.x,t},_.lerp=function(t,e,i,n){return l=e.x,h=e.y,t.x=l+n*(i.x-l),t.y=h+n*(i.y-h),t},_.random=function(t,e){e=e||1;var i=2*(0,a.random)()*Math.PI;return t.x=Math.cos(i)*e,t.y=Math.sin(i)*e,t},_.transformMat3=function(t,e,i){l=e.x,h=e.y;var n=i.m;return t.x=n[0]*l+n[3]*h+n[6],t.y=n[1]*l+n[4]*h+n[7],t},_.transformMat4=function(t,e,i){l=e.x,h=e.y;var n=i.m;return t.x=n[0]*l+n[4]*h+n[12],t.y=n[1]*l+n[5]*h+n[13],t},_.strictEquals=function(t,e){return t.x===e.x&&t.y===e.y},_.equals=function(t,e,i){return void 0===i&&(i=a.EPSILON),Math.abs(t.x-e.x)<=i*Math.max(1,Math.abs(t.x),Math.abs(e.x))&&Math.abs(t.y-e.y)<=i*Math.max(1,Math.abs(t.y),Math.abs(e.y))},_.angle=function(t,e){_.normalize(f,t),_.normalize(d,e);var i=_.dot(f,d);return i>1?0:i<-1?Math.PI:Math.acos(i)},_.toArray=function(t,e,i){return void 0===i&&(i=0),t[i+0]=e.x,t[i+1]=e.y,t},_.fromArray=function(t,e,i){return void 0===i&&(i=0),t.x=e[i+0],t.y=e[i+1],t},o.clone=function(){return new _(this.x,this.y)},o.set=function(t){return this.x=t.x,this.y=t.y,this},o.equals=function(t){return t&&this.x===t.x&&this.y===t.y},o.fuzzyEquals=function(t,e){return this.x-e<=t.x&&t.x<=this.x+e&&this.y-e<=t.y&&t.y<=this.y+e},o.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+")"},o.lerp=function(t,e,i){i=i||new _;var n=this.x,r=this.y;return i.x=n+(t.x-n)*e,i.y=r+(t.y-r)*e,i},o.clampf=function(t,e){return this.x=s.default.clampf(this.x,t.x,e.x),this.y=s.default.clampf(this.y,t.y,e.y),this},o.add=function(t,e){return(e=e||new _).x=this.x+t.x,e.y=this.y+t.y,e},o.addSelf=function(t){return this.x+=t.x,this.y+=t.y,this},o.subtract=function(t){return this.x-=t.x,this.y-=t.y,this},o.multiplyScalar=function(t){return this.x*=t,this.y*=t,this},o.multiply=function(t){return this.x*=t.x,this.y*=t.y,this},o.divide=function(t){return this.x/=t,this.y/=t,this},o.negate=function(){return this.x=-this.x,this.y=-this.y,this},o.dot=function(t){return this.x*t.x+this.y*t.y},o.cross=function(t){return this.x*t.y-this.y*t.x},o.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},o.lengthSqr=function(){return this.x*this.x+this.y*this.y},o.normalizeSelf=function(){var t=this.x*this.x+this.y*this.y;if(1===t)return this;if(0===t)return this;var e=1/Math.sqrt(t);return this.x*=e,this.y*=e,this},o.normalize=function(t){return(t=t||new _).x=this.x,t.y=this.y,t.normalizeSelf(),t},o.angle=function(t){var e=this.magSqr(),i=t.magSqr();if(0===e||0===i)return console.warn("Can't get angle between zero vector"),0;var n=this.dot(t)/Math.sqrt(e*i);return n=s.default.clampf(n,-1,1),Math.acos(n)},o.signAngle=function(t){var e=this.angle(t);return this.cross(t)<0?-e:e},o.rotate=function(t,e){return(e=e||new _).x=this.x,e.y=this.y,e.rotateSelf(t)},o.rotateSelf=function(t){var e=Math.sin(t),i=Math.cos(t),n=this.x;return this.x=i*n-e*this.y,this.y=e*n+i*this.y,this},o.project=function(t){return t.multiplyScalar(this.dot(t)/t.dot(t))},o.transformMat4=function(t,e){return e=e||new _,_.transformMat4(e,this,t),e},o.maxAxis=function(){return Math.max(this.x,this.y)},n=_,r=[{key:"ONE",get:function(){return new _(1,1)}},{key:"ZERO",get:function(){return new _(0,0)}},{key:"UP",get:function(){return new _(0,1)}},{key:"RIGHT",get:function(){return new _(1,0)}}],null&&c(n.prototype,null),r&&c(n,r),_})(n.default);i.default=_,_.sub=_.subtract,_.mul=_.multiply,_.scale=_.multiplyScalar,_.mag=_.len,_.squaredMagnitude=_.lengthSqr,_.div=_.divide,_.ONE_R=_.ONE,_.ZERO_R=_.ZERO,_.UP_R=_.UP,_.RIGHT_R=_.RIGHT;var f=new _,d=new _;r.default.fastDefine("cc.Vec2",_,{x:0,y:0}),cc.v2=function(t,e){return new _(t,e)},cc.Vec2=_,e.exports=i.default}),{"../platform/CCClass":149,"../utils/misc":223,"./utils":245,"./value-type":246}],248:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=c(t("./value-type")),r=c(t("../platform/CCClass")),s=c(t("../utils/misc")),a=c(t("./vec2")),o=t("./utils");function c(t){return t&&t.__esModule?t:{default:t}}function u(t,e){for(var i=0;i0&&(i=1/Math.sqrt(i),t.x=h*i,t.y=_*i,t.z=f*i),t},d.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z},d.cross=function(t,e,i){var n=e.x,r=e.y,s=e.z,a=i.x,o=i.y,c=i.z;return t.x=r*c-s*o,t.y=s*a-n*c,t.z=n*o-r*a,t},d.lerp=function(t,e,i,n){return t.x=e.x+n*(i.x-e.x),t.y=e.y+n*(i.y-e.y),t.z=e.z+n*(i.z-e.z),t},d.random=function(t,e){e=e||1;var i=2*(0,o.random)()*Math.PI,n=2*(0,o.random)()-1,r=Math.sqrt(1-n*n);return t.x=r*Math.cos(i)*e,t.y=r*Math.sin(i)*e,t.z=n*e,t},d.transformMat4=function(t,e,i){h=e.x,_=e.y,f=e.z;var n=i.m,r=n[3]*h+n[7]*_+n[11]*f+n[15];return r=r?1/r:1,t.x=(n[0]*h+n[4]*_+n[8]*f+n[12])*r,t.y=(n[1]*h+n[5]*_+n[9]*f+n[13])*r,t.z=(n[2]*h+n[6]*_+n[10]*f+n[14])*r,t},d.transformMat4Normal=function(t,e,i){h=e.x,_=e.y,f=e.z;var n=i.m,r=n[3]*h+n[7]*_+n[11]*f;return r=r?1/r:1,t.x=(n[0]*h+n[4]*_+n[8]*f)*r,t.y=(n[1]*h+n[5]*_+n[9]*f)*r,t.z=(n[2]*h+n[6]*_+n[10]*f)*r,t},d.transformMat3=function(t,e,i){h=e.x,_=e.y,f=e.z;var n=i.m;return t.x=h*n[0]+_*n[3]+f*n[6],t.y=h*n[1]+_*n[4]+f*n[7],t.z=h*n[2]+_*n[5]+f*n[8],t},d.transformAffine=function(t,e,i){h=e.x,_=e.y,f=e.z;var n=i.m;return t.x=n[0]*h+n[1]*_+n[2]*f+n[3],t.y=n[4]*h+n[5]*_+n[6]*f+n[7],t.x=n[8]*h+n[9]*_+n[10]*f+n[11],t},d.transformQuat=function(t,e,i){var n=i.w*e.x+i.y*e.z-i.z*e.y,r=i.w*e.y+i.z*e.x-i.x*e.z,s=i.w*e.z+i.x*e.y-i.y*e.x,a=-i.x*e.x-i.y*e.y-i.z*e.z;return t.x=n*i.w+a*-i.x+r*-i.z-s*-i.y,t.y=r*i.w+a*-i.y+s*-i.x-n*-i.z,t.z=s*i.w+a*-i.z+n*-i.y-r*-i.x,t},d.transformRTS=function(t,e,i,n,r){var s=e.x*r.x,a=e.y*r.y,o=e.z*r.z,c=i.w*s+i.y*o-i.z*a,u=i.w*a+i.z*s-i.x*o,l=i.w*o+i.x*a-i.y*s,h=-i.x*s-i.y*a-i.z*o;return t.x=c*i.w+h*-i.x+u*-i.z-l*-i.y+n.x,t.y=u*i.w+h*-i.y+l*-i.x-c*-i.z+n.y,t.z=l*i.w+h*-i.z+c*-i.y-u*-i.x+n.z,t},d.transformInverseRTS=function(t,e,i,n,r){var s=e.x-n.x,a=e.y-n.y,o=e.z-n.z,c=i.w*s-i.y*o+i.z*a,u=i.w*a-i.z*s+i.x*o,l=i.w*o-i.x*a+i.y*s,h=i.x*s+i.y*a+i.z*o;return t.x=(c*i.w+h*i.x+u*i.z-l*i.y)/r.x,t.y=(u*i.w+h*i.y+l*i.x-c*i.z)/r.y,t.z=(l*i.w+h*i.z+c*i.y-u*i.x)/r.z,t},d.rotateX=function(t,e,i,n){h=e.x-i.x,_=e.y-i.y,f=e.z-i.z;var r=Math.cos(n),s=Math.sin(n),a=h,o=_*r-f*s,c=_*s+f*r;return t.x=a+i.x,t.y=o+i.y,t.z=c+i.z,t},d.rotateY=function(t,e,i,n){h=e.x-i.x,_=e.y-i.y,f=e.z-i.z;var r=Math.cos(n),s=Math.sin(n),a=f*s+h*r,o=_,c=f*r-h*s;return t.x=a+i.x,t.y=o+i.y,t.z=c+i.z,t},d.rotateZ=function(t,e,i,n){h=e.x-i.x,_=e.y-i.y,f=e.z-i.z;var r=Math.cos(n),s=Math.sin(n),a=h*r-_*s,o=h*s+_*r,c=f;return t.x=a+i.x,t.y=o+i.y,t.z=c+i.z,t},d.strictEquals=function(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z},d.equals=function(t,e,i){void 0===i&&(i=o.EPSILON);var n=t.x,r=t.y,s=t.z,a=e.x,c=e.y,u=e.z;return Math.abs(n-a)<=i*Math.max(1,Math.abs(n),Math.abs(a))&&Math.abs(r-c)<=i*Math.max(1,Math.abs(r),Math.abs(c))&&Math.abs(s-u)<=i*Math.max(1,Math.abs(s),Math.abs(u))},d.angle=function(t,e){d.normalize(p,t),d.normalize(v,e);var i=d.dot(p,v);return i>1?0:i<-1?Math.PI:Math.acos(i)},d.projectOnPlane=function(t,e,i){return d.subtract(t,e,d.project(t,e,i))},d.project=function(t,e,i){var n=d.lengthSqr(i);return n<1e-6?d.set(t,0,0,0):d.multiplyScalar(t,i,d.dot(e,i)/n)},d.toArray=function(t,e,i){return void 0===i&&(i=0),t[i+0]=e.x,t[i+1]=e.y,t[i+2]=e.z,t},d.fromArray=function(t,e,i){return void 0===i&&(i=0),t.x=e[i+0],t.y=e[i+1],t.z=e[i+2],t},c.clone=function(){return new d(this.x,this.y,this.z)},c.set=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},c.equals=function(t){return t&&this.x===t.x&&this.y===t.y&&this.z===t.z},c.fuzzyEquals=function(t,e){return this.x-e<=t.x&&t.x<=this.x+e&&this.y-e<=t.y&&t.y<=this.y+e&&this.z-e<=t.z&&t.z<=this.z+e},c.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+", "+this.z.toFixed(2)+")"},c.lerp=function(t,e,i){return i=i||new d,d.lerp(i,this,t,e),i},c.clampf=function(t,e){return this.x=s.default.clampf(this.x,t.x,e.x),this.y=s.default.clampf(this.y,t.y,e.y),this.z=s.default.clampf(this.z,t.z,e.z),this},c.addSelf=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},c.add=function(t,e){return(e=e||new d).x=this.x+t.x,e.y=this.y+t.y,e.z=this.z+t.z,e},c.subtract=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this},c.multiplyScalar=function(t){return this.x*=t,this.y*=t,this.z*=t,this},c.multiply=function(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this},c.divide=function(t){return this.x/=t,this.y/=t,this.z/=t,this},c.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},c.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},c.cross=function(t,e){return e=e||new d,d.cross(e,this,t),e},c.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},c.lengthSqr=function(){return this.x*this.x+this.y*this.y+this.z*this.z},c.normalizeSelf=function(){return d.normalize(this,this),this},c.normalize=function(t){return t=t||new d,d.normalize(t,this),t},c.transformMat4=function(t,e){return e=e||new d,d.transformMat4(e,this,t),e},c.maxAxis=function(){return Math.max(this.x,this.y,this.z)},c.signAngle=function(t){cc.warnID(1408,"vec3.signAngle","v2.1","cc.v2(selfVector).signAngle(vector)");var e=new a.default(this.x,this.y),i=new a.default(t.x,t.y);return e.signAngle(i)},c.rotate=function(t,e){return cc.warnID(1408,"vec3.rotate","v2.1","cc.v2(selfVector).rotate(radians, out)"),a.default.prototype.rotate.call(this,t,e)},c.rotateSelf=function(t){return cc.warnID(1408,"vec3.rotateSelf","v2.1","cc.v2(selfVector).rotateSelf(radians)"),a.default.prototype.rotateSelf.call(this,t)},n=d,r=[{key:"ONE",get:function(){return new d(1,1,1)}},{key:"ZERO",get:function(){return new d}},{key:"UP",get:function(){return new d(0,1,0)}},{key:"RIGHT",get:function(){return new d(1,0,0)}},{key:"FORWARD",get:function(){return new d(0,0,1)}}],null&&u(n.prototype,null),r&&u(n,r),d})(n.default);i.default=d,d.sub=d.subtract,d.mul=d.multiply,d.scale=d.multiplyScalar,d.mag=d.len,d.squaredMagnitude=d.lengthSqr,d.div=d.divide,d.ONE_R=d.ONE,d.ZERO_R=d.ZERO,d.UP_R=d.UP,d.RIGHT_R=d.RIGHT,d.FRONT_R=d.FORWARD;var p=new d,v=new d;r.default.fastDefine("cc.Vec3",d,{x:0,y:0,z:0}),cc.v3=function(t,e,i){return new d(t,e,i)},cc.Vec3=d,e.exports=i.default}),{"../platform/CCClass":149,"../utils/misc":223,"./utils":245,"./value-type":246,"./vec2":247}],249:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0,i.v4=d;var n=a(t("../platform/CCClass")),r=a(t("./value-type")),s=t("./utils");function a(t){return t&&t.__esModule?t:{default:t}}function o(t,e){for(var i=0;i0&&(i=1/Math.sqrt(i),t.x=u*i,t.y=l*i,t.z=h*i,t.w=_*i),t},f.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z+t.w*e.w},f.lerp=function(t,e,i,n){return t.x=e.x+n*(i.x-e.x),t.y=e.y+n*(i.y-e.y),t.z=e.z+n*(i.z-e.z),t.w=e.w+n*(i.w-e.w),t},f.random=function(t,e){e=e||1;var i=2*(0,s.random)()*Math.PI,n=2*(0,s.random)()-1,r=Math.sqrt(1-n*n);return t.x=r*Math.cos(i)*e,t.y=r*Math.sin(i)*e,t.z=n*e,t.w=0,t},f.transformMat4=function(t,e,i){u=e.x,l=e.y,h=e.z,_=e.w;var n=i.m;return t.x=n[0]*u+n[4]*l+n[8]*h+n[12]*_,t.y=n[1]*u+n[5]*l+n[9]*h+n[13]*_,t.z=n[2]*u+n[6]*l+n[10]*h+n[14]*_,t.w=n[3]*u+n[7]*l+n[11]*h+n[15]*_,t},f.transformAffine=function(t,e,i){u=e.x,l=e.y,h=e.z,_=e.w;var n=i.m;return t.x=n[0]*u+n[1]*l+n[2]*h+n[3]*_,t.y=n[4]*u+n[5]*l+n[6]*h+n[7]*_,t.x=n[8]*u+n[9]*l+n[10]*h+n[11]*_,t.w=e.w,t},f.transformQuat=function(t,e,i){var n=e.x,r=e.y,s=e.z;u=i.x,l=i.y,h=i.z;var a=(_=i.w)*n+l*s-h*r,o=_*r+h*n-u*s,c=_*s+u*r-l*n,f=-u*n-l*r-h*s;return t.x=a*_+f*-u+o*-h-c*-l,t.y=o*_+f*-l+c*-u-a*-h,t.z=c*_+f*-h+a*-l-o*-u,t.w=e.w,t},f.strictEquals=function(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z&&t.w===e.w},f.equals=function(t,e,i){return void 0===i&&(i=s.EPSILON),Math.abs(t.x-e.x)<=i*Math.max(1,Math.abs(t.x),Math.abs(e.x))&&Math.abs(t.y-e.y)<=i*Math.max(1,Math.abs(t.y),Math.abs(e.y))&&Math.abs(t.z-e.z)<=i*Math.max(1,Math.abs(t.z),Math.abs(e.z))&&Math.abs(t.w-e.w)<=i*Math.max(1,Math.abs(t.w),Math.abs(e.w))},f.toArray=function(t,e,i){return void 0===i&&(i=0),t[i+0]=e.x,t[i+1]=e.y,t[i+2]=e.z,t[i+3]=e.w,t},f.fromArray=function(t,e,i){return void 0===i&&(i=0),t.x=e[i+0],t.y=e[i+1],t.z=e[i+2],t.w=e[i+3],t},a.clone=function(){return new f(this.x,this.y,this.z,this.w)},a.set=function(t,e,i,n){return t&&"object"==typeof t?(this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w):(this.x=t||0,this.y=e||0,this.z=i||0,this.w=n||0),this},a.equals=function(t,e){return void 0===e&&(e=s.EPSILON),Math.abs(this.x-t.x)<=e*Math.max(1,Math.abs(this.x),Math.abs(t.x))&&Math.abs(this.y-t.y)<=e*Math.max(1,Math.abs(this.y),Math.abs(t.y))&&Math.abs(this.z-t.z)<=e*Math.max(1,Math.abs(this.z),Math.abs(t.z))&&Math.abs(this.w-t.w)<=e*Math.max(1,Math.abs(this.w),Math.abs(t.w))},a.equals4f=function(t,e,i,n,r){return void 0===r&&(r=s.EPSILON),Math.abs(this.x-t)<=r*Math.max(1,Math.abs(this.x),Math.abs(t))&&Math.abs(this.y-e)<=r*Math.max(1,Math.abs(this.y),Math.abs(e))&&Math.abs(this.z-i)<=r*Math.max(1,Math.abs(this.z),Math.abs(i))&&Math.abs(this.w-n)<=r*Math.max(1,Math.abs(this.w),Math.abs(n))},a.strictEquals=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},a.strictEquals4f=function(t,e,i,n){return this.x===t&&this.y===e&&this.z===i&&this.w===n},a.lerp=function(t,e){return u=this.x,l=this.y,h=this.z,_=this.w,this.x=u+e*(t.x-u),this.y=l+e*(t.y-l),this.z=h+e*(t.z-h),this.w=_+e*(t.w-_),this},a.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+", "+this.z.toFixed(2)+", "+this.w.toFixed(2)+")"},a.clampf=function(t,e){return this.x=(0,s.clamp)(this.x,t.x,e.x),this.y=(0,s.clamp)(this.y,t.y,e.y),this.z=(0,s.clamp)(this.z,t.z,e.z),this.w=(0,s.clamp)(this.w,t.w,e.w),this},a.addSelf=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this},a.add=function(t,e){return(e=e||new f).x=this.x+t.x,e.y=this.y+t.y,e.z=this.z+t.z,e.w=this.w+t.w,e},a.subtract=function(t,e){return(e=e||new f).x=this.x-t.x,e.y=this.y-t.y,e.z=this.z-t.z,e.w=this.w-t.w,e},a.multiplyScalar=function(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},a.multiply=function(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this},a.divide=function(t){return this.x/=t,this.y/=t,this.z/=t,this.w/=t,this},a.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},a.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},a.cross=function(t,e){e=e||new f;var i=this.x,n=this.y,r=this.z,s=t.x,a=t.y,o=t.z;return e.x=n*o-r*a,e.y=r*s-i*o,e.z=i*a-n*s,e},a.len=function(){var t=this.x,e=this.y,i=this.z,n=this.w;return Math.sqrt(t*t+e*e+i*i+n*n)},a.lengthSqr=function(){var t=this.x,e=this.y,i=this.z,n=this.w;return t*t+e*e+i*i+n*n},a.normalizeSelf=function(){return this.normalize(this),this},a.normalize=function(t){t=t||new f,u=this.x,l=this.y,h=this.z,_=this.w;var e=u*u+l*l+h*h+_*_;return e>0&&(e=1/Math.sqrt(e),t.x=u*e,t.y=l*e,t.z=h*e,t.w=_*e),t},a.transformMat4=function(t,e){e=e||new f,u=this.x,l=this.y,h=this.z,_=this.w;var i=t.m;return e.x=i[0]*u+i[4]*l+i[8]*h+i[12]*_,e.y=i[1]*u+i[5]*l+i[9]*h+i[13]*_,e.z=i[2]*u+i[6]*l+i[10]*h+i[14]*_,e.w=i[3]*u+i[7]*l+i[11]*h+i[15]*_,e},a.maxAxis=function(){return Math.max(this.x,this.y,this.z,this.w)},n=f,r=[{key:"ZERO",get:function(){return new f(0,0,0,0)}},{key:"ONE",get:function(){return new f(1,1,1,1)}},{key:"NEG_ONE",get:function(){return new f(-1,-1,-1,-1)}}],null&&o(n.prototype,null),r&&o(n,r),f})(r.default);function d(t,e,i,n){return new f(t,e,i,n)}i.default=f,f.sub=f.subtract,f.mul=f.multiply,f.div=f.divide,f.scale=f.multiplyScalar,f.mag=f.len,f.squaredMagnitude=f.lengthSqr,f.ZERO_R=f.ZERO,f.ONE_R=f.ONE,f.NEG_ONE_R=f.NEG_ONE,n.default.fastDefine("cc.Vec4",f,{x:0,y:0,z:0,w:0}),cc.v4=d,cc.Vec4=f}),{"../platform/CCClass":149,"./utils":245,"./value-type":246}],250:[(function(){"use strict";cc.js}),{}],251:[(function(t){"use strict";t("./core/CCGame"),t("./actions")}),{"./actions":7,"./core/CCGame":24}],252:[(function(t,e){"use strict";var i=t("../core/assets/CCAsset"),n=t("../core/assets/CCSpriteFrame"),r=cc.Class({name:"cc.ParticleAsset",extends:i,properties:{spriteFrame:{default:null,type:n}}});cc.ParticleAsset=e.exports=r}),{"../core/assets/CCAsset":58,"../core/assets/CCSpriteFrame":70}],253:[(function(t,e){"use strict";var i,n,r,s,a,o,c,u,l,h,_,f,d,p,v,g,m,y,T,E,A,C,x,b,S,R,w,I,M,O,D,L,P,N,F,B,U,z,k,V,H,W;(function(t){t[t.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",t[t.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",t[t.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",t[t.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",t[t.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",t[t.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",t[t.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL"})(i||(i={})),(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.BUFFER=1]="BUFFER",t[t.TEXTURE=2]="TEXTURE",t[t.TEXTURE_VIEW=3]="TEXTURE_VIEW",t[t.RENDER_PASS=4]="RENDER_PASS",t[t.FRAMEBUFFER=5]="FRAMEBUFFER",t[t.SAMPLER=6]="SAMPLER",t[t.SHADER=7]="SHADER",t[t.PIPELINE_LAYOUT=8]="PIPELINE_LAYOUT",t[t.PIPELINE_STATE=9]="PIPELINE_STATE",t[t.BINDING_LAYOUT=10]="BINDING_LAYOUT",t[t.INPUT_ASSEMBLER=11]="INPUT_ASSEMBLER",t[t.COMMAND_ALLOCATOR=12]="COMMAND_ALLOCATOR",t[t.COMMAND_BUFFER=13]="COMMAND_BUFFER",t[t.QUEUE=14]="QUEUE",t[t.WINDOW=15]="WINDOW"})(n||(n={})),(function(t){t[t.UNREADY=0]="UNREADY",t[t.FAILED=1]="FAILED",t[t.SUCCESS=2]="SUCCESS"})(r||(r={})),(function(){function t(t){this._gfxType=n.UNKNOWN,this._status=r.UNREADY,this._gfxType=t}Object.defineProperty(t.prototype,"gfxType",{get:function(){return this._gfxType},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"status",{get:function(){return this._status},enumerable:!0,configurable:!0})})(),(function(t){t.ATTR_POSITION="a_position",t.ATTR_NORMAL="a_normal",t.ATTR_TANGENT="a_tangent",t.ATTR_BITANGENT="a_bitangent",t.ATTR_WEIGHTS="a_weights",t.ATTR_JOINTS="a_joints",t.ATTR_COLOR="a_color",t.ATTR_COLOR1="a_color1",t.ATTR_COLOR2="a_color2",t.ATTR_TEX_COORD="a_texCoord",t.ATTR_TEX_COORD1="a_texCoord1",t.ATTR_TEX_COORD2="a_texCoord2",t.ATTR_TEX_COORD3="a_texCoord3",t.ATTR_TEX_COORD4="a_texCoord4",t.ATTR_TEX_COORD5="a_texCoord5",t.ATTR_TEX_COORD6="a_texCoord6",t.ATTR_TEX_COORD7="a_texCoord7",t.ATTR_TEX_COORD8="a_texCoord8"})(s||(s={})),(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.BOOL=1]="BOOL",t[t.BOOL2=2]="BOOL2",t[t.BOOL3=3]="BOOL3",t[t.BOOL4=4]="BOOL4",t[t.INT=5]="INT",t[t.INT2=6]="INT2",t[t.INT3=7]="INT3",t[t.INT4=8]="INT4",t[t.UINT=9]="UINT",t[t.UINT2=10]="UINT2",t[t.UINT3=11]="UINT3",t[t.UINT4=12]="UINT4",t[t.FLOAT=13]="FLOAT",t[t.FLOAT2=14]="FLOAT2",t[t.FLOAT3=15]="FLOAT3",t[t.FLOAT4=16]="FLOAT4",t[t.COLOR4=17]="COLOR4",t[t.MAT2=18]="MAT2",t[t.MAT2X3=19]="MAT2X3",t[t.MAT2X4=20]="MAT2X4",t[t.MAT3X2=21]="MAT3X2",t[t.MAT3=22]="MAT3",t[t.MAT3X4=23]="MAT3X4",t[t.MAT4X2=24]="MAT4X2",t[t.MAT4X3=25]="MAT4X3",t[t.MAT4=26]="MAT4",t[t.SAMPLER1D=27]="SAMPLER1D",t[t.SAMPLER1D_ARRAY=28]="SAMPLER1D_ARRAY",t[t.SAMPLER2D=29]="SAMPLER2D",t[t.SAMPLER2D_ARRAY=30]="SAMPLER2D_ARRAY",t[t.SAMPLER3D=31]="SAMPLER3D",t[t.SAMPLER_CUBE=32]="SAMPLER_CUBE",t[t.COUNT=33]="COUNT"})(a||(a={})),(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.A8=1]="A8",t[t.L8=2]="L8",t[t.LA8=3]="LA8",t[t.R8=4]="R8",t[t.R8SN=5]="R8SN",t[t.R8UI=6]="R8UI",t[t.R8I=7]="R8I",t[t.R16F=8]="R16F",t[t.R16UI=9]="R16UI",t[t.R16I=10]="R16I",t[t.R32F=11]="R32F",t[t.R32UI=12]="R32UI",t[t.R32I=13]="R32I",t[t.RG8=14]="RG8",t[t.RG8SN=15]="RG8SN",t[t.RG8UI=16]="RG8UI",t[t.RG8I=17]="RG8I",t[t.RG16F=18]="RG16F",t[t.RG16UI=19]="RG16UI",t[t.RG16I=20]="RG16I",t[t.RG32F=21]="RG32F",t[t.RG32UI=22]="RG32UI",t[t.RG32I=23]="RG32I",t[t.RGB8=24]="RGB8",t[t.SRGB8=25]="SRGB8",t[t.RGB8SN=26]="RGB8SN",t[t.RGB8UI=27]="RGB8UI",t[t.RGB8I=28]="RGB8I",t[t.RGB16F=29]="RGB16F",t[t.RGB16UI=30]="RGB16UI",t[t.RGB16I=31]="RGB16I",t[t.RGB32F=32]="RGB32F",t[t.RGB32UI=33]="RGB32UI",t[t.RGB32I=34]="RGB32I",t[t.RGBA8=35]="RGBA8",t[t.SRGB8_A8=36]="SRGB8_A8",t[t.RGBA8SN=37]="RGBA8SN",t[t.RGBA8UI=38]="RGBA8UI",t[t.RGBA8I=39]="RGBA8I",t[t.RGBA16F=40]="RGBA16F",t[t.RGBA16UI=41]="RGBA16UI",t[t.RGBA16I=42]="RGBA16I",t[t.RGBA32F=43]="RGBA32F",t[t.RGBA32UI=44]="RGBA32UI",t[t.RGBA32I=45]="RGBA32I",t[t.R5G6B5=46]="R5G6B5",t[t.R11G11B10F=47]="R11G11B10F",t[t.RGB5A1=48]="RGB5A1",t[t.RGBA4=49]="RGBA4",t[t.RGB10A2=50]="RGB10A2",t[t.RGB10A2UI=51]="RGB10A2UI",t[t.RGB9E5=52]="RGB9E5",t[t.D16=53]="D16",t[t.D16S8=54]="D16S8",t[t.D24=55]="D24",t[t.D24S8=56]="D24S8",t[t.D32F=57]="D32F",t[t.D32F_S8=58]="D32F_S8",t[t.BC1=59]="BC1",t[t.BC1_ALPHA=60]="BC1_ALPHA",t[t.BC1_SRGB=61]="BC1_SRGB",t[t.BC1_SRGB_ALPHA=62]="BC1_SRGB_ALPHA",t[t.BC2=63]="BC2",t[t.BC2_SRGB=64]="BC2_SRGB",t[t.BC3=65]="BC3",t[t.BC3_SRGB=66]="BC3_SRGB",t[t.BC4=67]="BC4",t[t.BC4_SNORM=68]="BC4_SNORM",t[t.BC5=69]="BC5",t[t.BC5_SNORM=70]="BC5_SNORM",t[t.BC6H_UF16=71]="BC6H_UF16",t[t.BC6H_SF16=72]="BC6H_SF16",t[t.BC7=73]="BC7",t[t.BC7_SRGB=74]="BC7_SRGB",t[t.ETC_RGB8=75]="ETC_RGB8",t[t.ETC2_RGB8=76]="ETC2_RGB8",t[t.ETC2_SRGB8=77]="ETC2_SRGB8",t[t.ETC2_RGB8_A1=78]="ETC2_RGB8_A1",t[t.ETC2_SRGB8_A1=79]="ETC2_SRGB8_A1",t[t.ETC2_RGBA8=80]="ETC2_RGBA8",t[t.ETC2_SRGB8_A8=81]="ETC2_SRGB8_A8",t[t.EAC_R11=82]="EAC_R11",t[t.EAC_R11SN=83]="EAC_R11SN",t[t.EAC_RG11=84]="EAC_RG11",t[t.EAC_RG11SN=85]="EAC_RG11SN",t[t.PVRTC_RGB2=86]="PVRTC_RGB2",t[t.PVRTC_RGBA2=87]="PVRTC_RGBA2",t[t.PVRTC_RGB4=88]="PVRTC_RGB4",t[t.PVRTC_RGBA4=89]="PVRTC_RGBA4",t[t.PVRTC2_2BPP=90]="PVRTC2_2BPP",t[t.PVRTC2_4BPP=91]="PVRTC2_4BPP"})(o||(o={})),(function(t){t[t.NONE=0]="NONE",t[t.TRANSFER_SRC=1]="TRANSFER_SRC",t[t.TRANSFER_DST=2]="TRANSFER_DST",t[t.INDEX=4]="INDEX",t[t.VERTEX=8]="VERTEX",t[t.UNIFORM=16]="UNIFORM",t[t.STORAGE=32]="STORAGE",t[t.INDIRECT=64]="INDIRECT"})(c||(c={})),(function(t){t[t.NONE=0]="NONE",t[t.DEVICE=1]="DEVICE",t[t.HOST=2]="HOST"})(u||(u={})),(function(t){t[t.NONE=0]="NONE",t[t.READ=1]="READ",t[t.WRITE=2]="WRITE"})(l||(l={})),(function(t){t[t.POINT_LIST=0]="POINT_LIST",t[t.LINE_LIST=1]="LINE_LIST",t[t.LINE_STRIP=2]="LINE_STRIP",t[t.LINE_LOOP=3]="LINE_LOOP",t[t.LINE_LIST_ADJACENCY=4]="LINE_LIST_ADJACENCY",t[t.LINE_STRIP_ADJACENCY=5]="LINE_STRIP_ADJACENCY",t[t.ISO_LINE_LIST=6]="ISO_LINE_LIST",t[t.TRIANGLE_LIST=7]="TRIANGLE_LIST",t[t.TRIANGLE_STRIP=8]="TRIANGLE_STRIP",t[t.TRIANGLE_FAN=9]="TRIANGLE_FAN",t[t.TRIANGLE_LIST_ADJACENCY=10]="TRIANGLE_LIST_ADJACENCY",t[t.TRIANGLE_STRIP_ADJACENCY=11]="TRIANGLE_STRIP_ADJACENCY",t[t.TRIANGLE_PATCH_ADJACENCY=12]="TRIANGLE_PATCH_ADJACENCY",t[t.QUAD_PATCH_LIST=13]="QUAD_PATCH_LIST"})(h||(h={})),(function(t){t[t.FILL=0]="FILL",t[t.POINT=1]="POINT",t[t.LINE=2]="LINE"})(_||(_={})),(function(t){t[t.GOURAND=0]="GOURAND",t[t.FLAT=1]="FLAT"})(f||(f={})),(function(t){t[t.NONE=0]="NONE",t[t.FRONT=1]="FRONT",t[t.BACK=2]="BACK"})(d||(d={})),(function(t){t[t.NEVER=0]="NEVER",t[t.LESS=1]="LESS",t[t.EQUAL=2]="EQUAL",t[t.LESS_EQUAL=3]="LESS_EQUAL",t[t.GREATER=4]="GREATER",t[t.NOT_EQUAL=5]="NOT_EQUAL",t[t.GREATER_EQUAL=6]="GREATER_EQUAL",t[t.ALWAYS=7]="ALWAYS"})(p||(p={})),(function(t){t[t.ZERO=0]="ZERO",t[t.KEEP=1]="KEEP",t[t.REPLACE=2]="REPLACE",t[t.INCR=3]="INCR",t[t.DECR=4]="DECR",t[t.INVERT=5]="INVERT",t[t.INCR_WRAP=6]="INCR_WRAP",t[t.DECR_WRAP=7]="DECR_WRAP"})(v||(v={})),(function(t){t[t.ADD=0]="ADD",t[t.SUB=1]="SUB",t[t.REV_SUB=2]="REV_SUB",t[t.MIN=3]="MIN",t[t.MAX=4]="MAX"})(g||(g={})),(function(t){t[t.ZERO=0]="ZERO",t[t.ONE=1]="ONE",t[t.SRC_ALPHA=2]="SRC_ALPHA",t[t.DST_ALPHA=3]="DST_ALPHA",t[t.ONE_MINUS_SRC_ALPHA=4]="ONE_MINUS_SRC_ALPHA",t[t.ONE_MINUS_DST_ALPHA=5]="ONE_MINUS_DST_ALPHA",t[t.SRC_COLOR=6]="SRC_COLOR",t[t.DST_COLOR=7]="DST_COLOR",t[t.ONE_MINUS_SRC_COLOR=8]="ONE_MINUS_SRC_COLOR",t[t.ONE_MINUS_DST_COLOR=9]="ONE_MINUS_DST_COLOR",t[t.SRC_ALPHA_SATURATE=10]="SRC_ALPHA_SATURATE",t[t.CONSTANT_COLOR=11]="CONSTANT_COLOR",t[t.ONE_MINUS_CONSTANT_COLOR=12]="ONE_MINUS_CONSTANT_COLOR",t[t.CONSTANT_ALPHA=13]="CONSTANT_ALPHA",t[t.ONE_MINUS_CONSTANT_ALPHA=14]="ONE_MINUS_CONSTANT_ALPHA"})(m||(m={})),(function(t){t[t.NONE=0]="NONE",t[t.R=1]="R",t[t.G=2]="G",t[t.B=4]="B",t[t.A=8]="A",t[t.ALL=15]="ALL"})(y||(y={})),(function(t){t[t.NONE=0]="NONE",t[t.POINT=1]="POINT",t[t.LINEAR=2]="LINEAR",t[t.ANISOTROPIC=3]="ANISOTROPIC"})(T||(T={})),(function(t){t[t.WRAP=0]="WRAP",t[t.MIRROR=1]="MIRROR",t[t.CLAMP=2]="CLAMP",t[t.BORDER=3]="BORDER"})(E||(E={})),(function(t){t[t.TEX1D=0]="TEX1D",t[t.TEX2D=1]="TEX2D",t[t.TEX3D=2]="TEX3D"})(A||(A={})),(function(t){t[t.NONE=0]="NONE",t[t.TRANSFER_SRC=1]="TRANSFER_SRC",t[t.TRANSFER_DST=2]="TRANSFER_DST",t[t.SAMPLED=4]="SAMPLED",t[t.STORAGE=8]="STORAGE",t[t.COLOR_ATTACHMENT=16]="COLOR_ATTACHMENT",t[t.DEPTH_STENCIL_ATTACHMENT=32]="DEPTH_STENCIL_ATTACHMENT",t[t.TRANSIENT_ATTACHMENT=64]="TRANSIENT_ATTACHMENT",t[t.INPUT_ATTACHMENT=128]="INPUT_ATTACHMENT"})(C||(C={})),(function(t){t[t.X1=0]="X1",t[t.X2=1]="X2",t[t.X4=2]="X4",t[t.X8=3]="X8",t[t.X16=4]="X16",t[t.X32=5]="X32",t[t.X64=6]="X64"})(x||(x={})),(function(t){t[t.NONE=0]="NONE",t[t.GEN_MIPMAP=1]="GEN_MIPMAP",t[t.CUBEMAP=2]="CUBEMAP",t[t.BAKUP_BUFFER=4]="BAKUP_BUFFER"})(b||(b={})),(function(t){t[t.TV1D=0]="TV1D",t[t.TV2D=1]="TV2D",t[t.TV3D=2]="TV3D",t[t.CUBE=3]="CUBE",t[t.TV1D_ARRAY=4]="TV1D_ARRAY",t[t.TV2D_ARRAY=5]="TV2D_ARRAY"})(S||(S={})),(function(t){t[t.VERTEX=0]="VERTEX",t[t.HULL=1]="HULL",t[t.DOMAIN=2]="DOMAIN",t[t.GEOMETRY=3]="GEOMETRY",t[t.FRAGMENT=4]="FRAGMENT",t[t.COMPUTE=5]="COMPUTE",t[t.COUNT=6]="COUNT"})(R||(R={})),(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.UNIFORM_BUFFER=1]="UNIFORM_BUFFER",t[t.SAMPLER=2]="SAMPLER",t[t.STORAGE_BUFFER=3]="STORAGE_BUFFER"})(w||(w={})),(function(t){t[t.PRIMARY=0]="PRIMARY",t[t.SECONDARY=1]="SECONDARY"})(I||(I={})),(function(t){t[t.LOAD=0]="LOAD",t[t.CLEAR=1]="CLEAR",t[t.DISCARD=2]="DISCARD"})(M||(M={})),(function(t){t[t.STORE=0]="STORE",t[t.DISCARD=1]="DISCARD"})(O||(O={})),(function(t){t[t.UNDEFINED=0]="UNDEFINED",t[t.GENERAL=1]="GENERAL",t[t.COLOR_ATTACHMENT_OPTIMAL=2]="COLOR_ATTACHMENT_OPTIMAL",t[t.DEPTH_STENCIL_ATTACHMENT_OPTIMAL=3]="DEPTH_STENCIL_ATTACHMENT_OPTIMAL",t[t.DEPTH_STENCIL_READONLY_OPTIMAL=4]="DEPTH_STENCIL_READONLY_OPTIMAL",t[t.SHADER_READONLY_OPTIMAL=5]="SHADER_READONLY_OPTIMAL",t[t.TRANSFER_SRC_OPTIMAL=6]="TRANSFER_SRC_OPTIMAL",t[t.TRANSFER_DST_OPTIMAL=7]="TRANSFER_DST_OPTIMAL",t[t.PREINITIALIZED=8]="PREINITIALIZED",t[t.PRESENT_SRC=9]="PRESENT_SRC"})(D||(D={})),(function(t){t[t.GRAPHICS=0]="GRAPHICS",t[t.COMPUTE=1]="COMPUTE",t[t.RAY_TRACING=2]="RAY_TRACING"})(L||(L={})),(function(t){t[t.VIEWPORT=0]="VIEWPORT",t[t.SCISSOR=1]="SCISSOR",t[t.LINE_WIDTH=2]="LINE_WIDTH",t[t.DEPTH_BIAS=3]="DEPTH_BIAS",t[t.BLEND_CONSTANTS=4]="BLEND_CONSTANTS",t[t.DEPTH_BOUNDS=5]="DEPTH_BOUNDS",t[t.STENCIL_WRITE_MASK=6]="STENCIL_WRITE_MASK",t[t.STENCIL_COMPARE_MASK=7]="STENCIL_COMPARE_MASK"})(P||(P={})),(function(t){t[t.FRONT=0]="FRONT",t[t.BACK=1]="BACK",t[t.ALL=2]="ALL"})(N||(N={})),(function(t){t[t.GRAPHICS=0]="GRAPHICS",t[t.COMPUTE=1]="COMPUTE",t[t.TRANSFER=2]="TRANSFER"})(F||(F={})),(function(t){t[t.NONE=0]="NONE",t[t.COLOR=1]="COLOR",t[t.DEPTH=2]="DEPTH",t[t.STENCIL=4]="STENCIL",t[t.DEPTH_STENCIL=6]="DEPTH_STENCIL",t[t.ALL=7]="ALL"})(B||(B={})),(function(t){t[t.DEFAULT=100]="DEFAULT"})(U||(U={})),(function(t){t[t.MIN=0]="MIN",t[t.MAX=255]="MAX",t[t.DEFAULT=128]="DEFAULT"})(z||(z={})),(function(t){t[t.UBO_GLOBAL=23]="UBO_GLOBAL",t[t.UBO_SHADOW=22]="UBO_SHADOW",t[t.UBO_LOCAL=21]="UBO_LOCAL",t[t.UBO_FORWARD_LIGHTS=20]="UBO_FORWARD_LIGHTS",t[t.UBO_SKINNING=19]="UBO_SKINNING",t[t.UBO_SKINNING_TEXTURE=18]="UBO_SKINNING_TEXTURE",t[t.UBO_UI=17]="UBO_UI",t[t.SAMPLER_JOINTS=25]="SAMPLER_JOINTS",t[t.SAMPLER_ENVIRONMENT=26]="SAMPLER_ENVIRONMENT",t[t.CUSTUM_UBO_BINDING_END_POINT=17]="CUSTUM_UBO_BINDING_END_POINT",t[t.CUSTOM_SAMPLER_BINDING_START_POINT=30]="CUSTOM_SAMPLER_BINDING_START_POINT"})(k||(k={})),(function(t){t[t.minFilter=0]="minFilter",t[t.magFilter=1]="magFilter",t[t.mipFilter=2]="mipFilter",t[t.addressU=3]="addressU",t[t.addressV=4]="addressV",t[t.addressW=5]="addressW",t[t.maxAnisotropy=6]="maxAnisotropy",t[t.cmpFunc=7]="cmpFunc",t[t.minLOD=8]="minLOD",t[t.maxLOD=9]="maxLOD",t[t.mipLODBias=10]="mipLODBias",t[t.borderColor=11]="borderColor",t[t.total=15]="total"})(W||(W={}));var G={};G[G.bool=a.BOOL]="bool",G[G.int=a.INT]="int",G[G.ivec2=a.INT2]="ivec2invTypeParams",G[G.ivec3=a.INT3]="ivec3",G[G.ivec4=a.INT4]="ivec4",G[G.float=a.FLOAT]="float",G[G.vec2=a.FLOAT2]="vec2",G[G.vec3=a.FLOAT3]="vec3",G[G.vec4=a.FLOAT4]="vec4",G[G.mat2=a.MAT2]="mat2",G[G.mat3=a.MAT3]="mat3",G[G.mat4=a.MAT4]="mat4",G[G.sampler2D=a.SAMPLER2D]="sampler2D",G[G.samplerCube=a.SAMPLER_CUBE]="samplerCube";var j=((V={})[a.BOOL]=4,V[a.INT]=4,V[a.INT2]=8,V[a.INT3]=12,V[a.INT4]=16,V[a.FLOAT]=4,V[a.FLOAT2]=8,V[a.FLOAT3]=12,V[a.FLOAT4]=16,V[a.MAT2]=16,V[a.MAT3]=36,V[a.MAT4]=64,V[a.SAMPLER2D]=4,V[a.SAMPLER_CUBE]=4,V),Y=((H={})[a.BOOL]=o.R32I,H[a.INT]=o.R32I,H[a.INT2]=o.RG32I,H[a.INT3]=o.RGB32I,H[a.INT4]=o.RGBA32I,H[a.FLOAT]=o.R32F,H[a.FLOAT2]=o.RG32F,H[a.FLOAT3]=o.RGB32F,H[a.FLOAT4]=o.RGBA32F,H),X={BACK:1029,FRONT:1028,NONE:0,ADD:32774,SUB:32778,REV_SUB:32779,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,SRC_ALPHA_SATURATE:776,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,INCR_WRAP:34055,DECR:7683,DECR_WRAP:34056,INVERT:5386};Object.assign(X,U);var q={murmurhash2_32_gc:function(t,e){for(var i,n=t.length,r=e^n,s=0;n>=4;)i=1540483477*(65535&(i=255&t.charCodeAt(s)|(255&t.charCodeAt(++s))<<8|(255&t.charCodeAt(++s))<<16|(255&t.charCodeAt(++s))<<24))+((1540483477*(i>>>16)&65535)<<16),r=1540483477*(65535&r)+((1540483477*(r>>>16)&65535)<<16)^(i=1540483477*(65535&(i^=i>>>24))+((1540483477*(i>>>16)&65535)<<16)),n-=4,++s;switch(n){case 3:r^=(255&t.charCodeAt(s+2))<<16;case 2:r^=(255&t.charCodeAt(s+1))<<8;case 1:r=1540483477*(65535&(r^=255&t.charCodeAt(s)))+((1540483477*(r>>>16)&65535)<<16)}return r=1540483477*(65535&(r^=r>>>13))+((1540483477*(r>>>16)&65535)<<16),(r^=r>>>15)>>>0},SamplerInfoIndex:W,effectStructure:{$techniques:[{$passes:[{depthStencilState:{},rasterizerState:{},blendState:{targets:[{}]},properties:{any:{sampler:{},inspector:{}}}}]}]},typeMap:G,sizeMap:j,formatMap:Y,passParams:X,RenderQueue:{OPAQUE:0,TRANSPARENT:1,OVERLAY:2},RenderPriority:z,GFXGetTypeSize:function(t){switch(t){case a.BOOL:case a.INT:case a.UINT:case a.FLOAT:return 4;case a.BOOL2:case a.INT2:case a.UINT2:case a.FLOAT2:return 8;case a.BOOL3:case a.INT3:case a.UINT3:case a.FLOAT3:return 12;case a.BOOL4:case a.INT4:case a.UINT4:case a.FLOAT4:case a.MAT2:return 16;case a.MAT2X3:return 24;case a.MAT2X4:return 32;case a.MAT3X2:return 24;case a.MAT3:return 36;case a.MAT3X4:return 48;case a.MAT4X2:case a.MAT4X2:return 32;case a.MAT4:return 64;case a.SAMPLER1D:case a.SAMPLER1D_ARRAY:case a.SAMPLER2D:case a.SAMPLER2D_ARRAY:case a.SAMPLER3D:case a.SAMPLER_CUBE:return 4;default:return 0}},UniformBinding:k};e.exports=q}),{}],254:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("../memop"),r=u(t("../enums")),s=t("../../core/value-types"),a=u(t("./program-lib")),o=u(t("./view")),c=u(t("../gfx"));function u(t){return t&&t.__esModule?t:{default:t}}var l=new s.Mat4,h=new n.RecyclePool(function(){return{stage:null,items:null}},8),_=new n.RecyclePool(function(){return new Float32Array(2)},8),f=new n.RecyclePool(function(){return new Float32Array(3)},8),d=new n.RecyclePool(function(){return new Float32Array(4)},8),p=new n.RecyclePool(function(){return new Float32Array(9)},8),v=new n.RecyclePool(function(){return new Float32Array(16)},8),g=new n.RecyclePool(function(){return new Float32Array(64)},8),m=new n.RecyclePool(function(){return new Int32Array(2)},8),y=new n.RecyclePool(function(){return new Int32Array(3)},8),T=new n.RecyclePool(function(){return new Int32Array(4)},8),E=new n.RecyclePool(function(){return new Int32Array(64)},8),A=(function(){function t(t,e){var i;this._device=t,this._programLib=new a.default(t),this._opts=e,this._type2defaultValue=((i={})[r.default.PARAM_INT]=0,i[r.default.PARAM_INT2]=new s.Vec2(0,0),i[r.default.PARAM_INT3]=new s.Vec3(0,0,0),i[r.default.PARAM_INT4]=new s.Vec4(0,0,0,0),i[r.default.PARAM_FLOAT]=0,i[r.default.PARAM_FLOAT2]=new s.Vec2(0,0),i[r.default.PARAM_FLOAT3]=new s.Vec3(0,0,0),i[r.default.PARAM_FLOAT4]=new s.Vec4(0,0,0,0),i[r.default.PARAM_COLOR4]=new s.Color(0,0,0,1),i[r.default.PARAM_MAT3]=new s.Mat3,i[r.default.PARAM_MAT4]=new s.Mat4,i[r.default.PARAM_TEXTURE_2D]=e.defaultTexture,i[r.default.PARAM_TEXTURE_CUBE]=e.defaultTextureCube,i),this._stage2fn={},this._usedTextureUnits=0,this._viewPools=new n.RecyclePool(function(){return new o.default},8),this._drawItemsPools=new n.RecyclePool(function(){return{model:null,node:null,ia:null,effect:null,defines:null,uniforms:null}},100),this._stageItemsPools=new n.RecyclePool(function(){return new n.RecyclePool(function(){return{model:null,node:null,ia:null,effect:null,defines:null,passes:[],sortKey:-1,uniforms:null}},100)},16),this._definesChanged=!1}var e=t.prototype;return e._resetTextuerUnit=function(){this._usedTextureUnits=0},e._allocTextureUnit=function(){var t=this._device,e=this._usedTextureUnits;return e>=t._caps.maxTextureUnits&&console.warn("Trying to use "+e+" texture units while this GPU supports only "+t._caps.maxTextureUnits),this._usedTextureUnits+=1,e},e._registerStage=function(t,e){this._stage2fn[t]=e},e.clear=function(){this._programLib.clear(),this.reset()},e.reset=function(){this._viewPools.reset(),this._stageItemsPools.reset(),this._definesChanged=!1},e._requestView=function(){return this._viewPools.add()},e._render=function(t,e){var i=this._device;i.setFrameBuffer(t._framebuffer),i.setViewport(t._rect.x,t._rect.y,t._rect.w,t._rect.h);var n={};t._clearFlags&r.default.CLEAR_COLOR&&(n.color=s.Vec4.toArray([],t._color)),t._clearFlags&r.default.CLEAR_DEPTH&&(n.depth=t._depth),t._clearFlags&r.default.CLEAR_STENCIL&&(n.stencil=t._stencil),i.clear(n),this._drawItemsPools.reset();for(var a=0;at.count)return void console.error("Failed to set property ["+t.name+"] : The length of texture array ["+i.length+"] is bigger than ["+t.count+"].");for(var n=E.add(),s=0;s0&&n&&n.precision>0}e||cc.warnID(9102),this._highpSupported=e},t})();i.default=l,e.exports=i.default}),{"../gfx":265}],258:[(function(t,e,i){"use strict";function n(t,e){for(var i=0;i>24)/255,(i.blendColor>>16&255)/255,(i.blendColor>>8&255)/255,(255&i.blendColor)/255),void(i.blendSep?(t.blendFuncSeparate(i.blendSrc,i.blendDst,i.blendSrcAlpha,i.blendDstAlpha),t.blendEquationSeparate(i.blendEq,i.blendAlphaEq)):(t.blendFunc(i.blendSrc,i.blendDst),t.blendEquation(i.blendEq)))):void t.disable(t.BLEND);!1!==i.blend&&(e.blendColor!==i.blendColor&&t.blendColor((i.blendColor>>24)/255,(i.blendColor>>16&255)/255,(i.blendColor>>8&255)/255,(255&i.blendColor)/255),e.blendSep===i.blendSep?i.blendSep?(e.blendSrc===i.blendSrc&&e.blendDst===i.blendDst&&e.blendSrcAlpha===i.blendSrcAlpha&&e.blendDstAlpha===i.blendDstAlpha||t.blendFuncSeparate(i.blendSrc,i.blendDst,i.blendSrcAlpha,i.blendDstAlpha),e.blendEq===i.blendEq&&e.blendAlphaEq===i.blendAlphaEq||t.blendEquationSeparate(i.blendEq,i.blendAlphaEq)):(e.blendSrc===i.blendSrc&&e.blendDst===i.blendDst||t.blendFunc(i.blendSrc,i.blendDst),e.blendEq!==i.blendEq&&t.blendEquation(i.blendEq)):i.blendSep?(t.blendFuncSeparate(i.blendSrc,i.blendDst,i.blendSrcAlpha,i.blendDstAlpha),t.blendEquationSeparate(i.blendEq,i.blendAlphaEq)):(t.blendFunc(i.blendSrc,i.blendDst),t.blendEquation(i.blendEq)))}function d(t,e,i){if(e.depthTest!==i.depthTest)return i.depthTest?(t.enable(t.DEPTH_TEST),t.depthFunc(i.depthFunc),void t.depthMask(i.depthWrite)):void t.disable(t.DEPTH_TEST);e.depthWrite!==i.depthWrite&&t.depthMask(i.depthWrite),!1!==i.depthTest?e.depthFunc!==i.depthFunc&&t.depthFunc(i.depthFunc):i.depthWrite&&(i.depthTest=!0,i.depthFunc=a.enums.DS_FUNC_ALWAYS,t.enable(t.DEPTH_TEST),t.depthFunc(i.depthFunc))}function p(t,e,i){if(i.stencilTest!==a.enums.STENCIL_INHERIT)return i.stencilTest!==e.stencilTest?i.stencilTest===a.enums.STENCIL_DISABLE?void t.disable(t.STENCIL_TEST):(t.enable(t.STENCIL_TEST),void(i.stencilSep?(t.stencilFuncSeparate(t.FRONT,i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMaskSeparate(t.FRONT,i.stencilWriteMaskFront),t.stencilOpSeparate(t.FRONT,i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront),t.stencilFuncSeparate(t.BACK,i.stencilFuncBack,i.stencilRefBack,i.stencilMaskBack),t.stencilMaskSeparate(t.BACK,i.stencilWriteMaskBack),t.stencilOpSeparate(t.BACK,i.stencilFailOpBack,i.stencilZFailOpBack,i.stencilZPassOpBack)):(t.stencilFunc(i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMask(i.stencilWriteMaskFront),t.stencilOp(i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront)))):void(i.stencilTest!==a.enums.STENCIL_DISABLE&&(e.stencilSep===i.stencilSep?i.stencilSep?(e.stencilFuncFront===i.stencilFuncFront&&e.stencilRefFront===i.stencilRefFront&&e.stencilMaskFront===i.stencilMaskFront||t.stencilFuncSeparate(t.FRONT,i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),e.stencilWriteMaskFront!==i.stencilWriteMaskFront&&t.stencilMaskSeparate(t.FRONT,i.stencilWriteMaskFront),e.stencilFailOpFront===i.stencilFailOpFront&&e.stencilZFailOpFront===i.stencilZFailOpFront&&e.stencilZPassOpFront===i.stencilZPassOpFront||t.stencilOpSeparate(t.FRONT,i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront),e.stencilFuncBack===i.stencilFuncBack&&e.stencilRefBack===i.stencilRefBack&&e.stencilMaskBack===i.stencilMaskBack||t.stencilFuncSeparate(t.BACK,i.stencilFuncBack,i.stencilRefBack,i.stencilMaskBack),e.stencilWriteMaskBack!==i.stencilWriteMaskBack&&t.stencilMaskSeparate(t.BACK,i.stencilWriteMaskBack),e.stencilFailOpBack===i.stencilFailOpBack&&e.stencilZFailOpBack===i.stencilZFailOpBack&&e.stencilZPassOpBack===i.stencilZPassOpBack||t.stencilOpSeparate(t.BACK,i.stencilFailOpBack,i.stencilZFailOpBack,i.stencilZPassOpBack)):(e.stencilFuncFront===i.stencilFuncFront&&e.stencilRefFront===i.stencilRefFront&&e.stencilMaskFront===i.stencilMaskFront||t.stencilFunc(i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),e.stencilWriteMaskFront!==i.stencilWriteMaskFront&&t.stencilMask(i.stencilWriteMaskFront),e.stencilFailOpFront===i.stencilFailOpFront&&e.stencilZFailOpFront===i.stencilZFailOpFront&&e.stencilZPassOpFront===i.stencilZPassOpFront||t.stencilOp(i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront)):i.stencilSep?(t.stencilFuncSeparate(t.FRONT,i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMaskSeparate(t.FRONT,i.stencilWriteMaskFront),t.stencilOpSeparate(t.FRONT,i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront),t.stencilFuncSeparate(t.BACK,i.stencilFuncBack,i.stencilRefBack,i.stencilMaskBack),t.stencilMaskSeparate(t.BACK,i.stencilWriteMaskBack),t.stencilOpSeparate(t.BACK,i.stencilFailOpBack,i.stencilZFailOpBack,i.stencilZPassOpBack)):(t.stencilFunc(i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMask(i.stencilWriteMaskFront),t.stencilOp(i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront))))}function v(t,e,i){e.cullMode!==i.cullMode&&(i.cullMode!==a.enums.CULL_NONE?(t.enable(t.CULL_FACE),t.cullFace(i.cullMode)):t.disable(t.CULL_FACE))}function g(t,e,i,n){var r=!1;if(-1!==n.maxStream){if(i.maxStream!==n.maxStream)r=!0;else if(i.program!==n.program)r=!0;else for(var s=0;s>>0},n.setBlendFunc=function(t,e){this._next.blendSep=!1,this._next.blendSrc=t,this._next.blendDst=e},n.setBlendFuncSep=function(t,e,i,n){this._next.blendSep=!0,this._next.blendSrc=t,this._next.blendDst=e,this._next.blendSrcAlpha=i,this._next.blendDstAlpha=n},n.setBlendEq=function(t){this._next.blendSep=!1,this._next.blendEq=t},n.setBlendEqSep=function(t,e){this._next.blendSep=!0,this._next.blendEq=t,this._next.blendAlphaEq=e},n.setCullMode=function(t){this._next.cullMode=t},n.setVertexBuffer=function(t,e,i){void 0===i&&(i=0),this._next.vertexBuffers[t]=e,this._next.vertexBufferOffsets[t]=i,this._next.maxStream=this._caps.maxTextureUnits?console.warn("Can not set texture "+t+" at stage "+i+", max texture exceed: "+this._caps.maxTextureUnits):(this._next.textureUnits[i]=e,this.setUniform(t,i),this._next.maxTextureSlot=this._caps.maxTextureUnits)console.warn("Can not set "+n+" textures for "+t+", max texture exceed: "+this._caps.maxTextureUnits);else{for(var r=0;rthis._bytes){if(t)return void console.error("Failed to update data, bytes exceed.");this._needExpandDataStore=!0,this._bytes=t+e.byteLength,this._numIndices=this._bytes/this._bytesPerIndex}var i=this._device._gl,n=this._usage;i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,this._glID),this._needExpandDataStore?(i.bufferData(i.ELEMENT_ARRAY_BUFFER,e,n),this._needExpandDataStore=!1):i.bufferSubData(i.ELEMENT_ARRAY_BUFFER,t,e),this._device._restoreIndexBuffer()}}else console.error("The buffer is destroyed")},n.setUsage=function(t){this._usage=t},e=t,(i=[{key:"count",get:function(){return this._numIndices}}])&&s(e.prototype,i),t})();o.BYTES_PER_INDEX=a;var c=o;i.default=c,e.exports=i.default}),{"./enums":262}],265:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("./enums");n={VertexFormat:t("./vertex-format"),IndexBuffer:t("./index-buffer"),VertexBuffer:t("./vertex-buffer"),Program:t("./program"),Texture:t("./texture"),Texture2D:t("./texture-2d"),TextureCube:t("./texture-cube"),RenderBuffer:t("./render-buffer"),FrameBuffer:t("./frame-buffer"),Device:t("./device"),attrTypeBytes:r.attrTypeBytes,glFilter:r.glFilter,glTextureFmt:r.glTextureFmt},Object.assign(n,r.enums);var s=n;i.default=s,cc.gfx=n,e.exports=i.default}),{"./device":261,"./enums":262,"./frame-buffer":263,"./index-buffer":264,"./program":267,"./render-buffer":268,"./texture":272,"./texture-2d":270,"./texture-cube":271,"./vertex-buffer":273,"./vertex-format":274}],266:[(function(t,e,i){"use strict";i.__esModule=!0,i.isPow2=function(t){return!(t&t-1||!t)}}),{}],267:[(function(t,e,i){"use strict";function n(t,e){for(var i=0;i0&&t.push({type:e,fileID:-1,line:0,message:i})}}))}var a=(function(){function t(t,e){this._device=t,this._attributes=[],this._uniforms=[],this._samplers=[],this._errors=[],this._linked=!1,this._vertSource=e.vert,this._fragSource=e.frag,this._glID=null,this._id=r++}var e,i,a=t.prototype;return a.link=function(){if(!this._linked){var t=this._device._gl,e=o(t,t.VERTEX_SHADER,this._vertSource),i=o(t,t.FRAGMENT_SHADER,this._fragSource),n=t.createProgram();t.attachShader(n,e),t.attachShader(n,i),t.linkProgram(n);var r=!1,a=this._errors;if(t.getShaderParameter(e,t.COMPILE_STATUS)||(s(a,"vs",t.getShaderInfoLog(e)),r=!0),t.getShaderParameter(i,t.COMPILE_STATUS)||(s(a,"fs",t.getShaderInfoLog(i)),r=!0),t.deleteShader(e),t.deleteShader(i),r)return a;if(!t.getProgramParameter(n,t.LINK_STATUS))return a.push({info:"Failed to link shader program: "+t.getProgramInfoLog(n)}),a;this._glID=n;for(var c=t.getProgramParameter(n,t.ACTIVE_ATTRIBUTES),u=0;u=s.enums.TEXTURE_FMT_RGB_DXT1&&this._format<=s.enums.TEXTURE_FMT_RGBA_PVRTC_4BPPV1||this._format>=s.enums.TEXTURE_FMT_RGB_ETC2&&this._format<=s.enums.TEXTURE_FMT_RGBA_ETC2),void 0!==t.genMipmaps&&(this._genMipmap=t.genMipmaps,i=t.genMipmaps);var n=this._device.caps.maxTextureSize||Number.MAX_VALUE,r=Math.max(t.width||0,t.height||0);n1&&(i=!1,(t.width>t.height?t.width:t.height)>>t.images.length-1!=1&&console.error("texture-2d mipmap is invalid, should have a 1x1 mipmap."))}(0,a.isPow2)(this._width)&&(0,a.isPow2)(this._height)||(i=!1),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this._glID),void 0!==t.images&&t.images.length>0&&(this._setMipmap(t.images,t.flipY,t.premultiplyAlpha),t.images.length>1&&(this._genMipmap=!0)),i&&(e.hint(e.GENERATE_MIPMAP_HINT,e.NICEST),e.generateMipmap(e.TEXTURE_2D),this._genMipmap=!0),this._setTexInfo(),this._device._restoreTexture(0)},r.updateSubImage=function(t){var e=this._device._gl,i=(0,s.glTextureFmt)(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this._glID),this._setSubImage(i,t),this._device._restoreTexture(0)},r.updateImage=function(t){var e=this._device._gl,i=(0,s.glTextureFmt)(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this._glID),this._setImage(i,t),this._device._restoreTexture(0)},r._setSubImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.image;!s||ArrayBuffer.isView(s)||s instanceof ArrayBuffer?(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),this._compressed?i.compressedTexSubImage2D(i.TEXTURE_2D,e.level,e.x,e.y,e.width,e.height,t.format,s):i.texSubImage2D(i.TEXTURE_2D,e.level,e.x,e.y,e.width,e.height,t.format,t.pixelType,s)):(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!0):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),i.texSubImage2D(i.TEXTURE_2D,e.level,e.x,e.y,t.format,t.pixelType,s))},r._setImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.image;!s||ArrayBuffer.isView(s)||s instanceof ArrayBuffer?(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),this._compressed?i.compressedTexImage2D(i.TEXTURE_2D,e.level,t.internalFormat,e.width,e.height,0,s):i.texImage2D(i.TEXTURE_2D,e.level,t.internalFormat,e.width,e.height,0,t.format,t.pixelType,s)):(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!0):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),i.texImage2D(i.TEXTURE_2D,e.level,t.internalFormat,t.format,t.pixelType,s))},r._setMipmap=function(t,e,i){for(var n=(0,s.glTextureFmt)(this._format),r={width:this._width,height:this._height,flipY:e,premultiplyAlpha:i,level:0,image:null},a=0;a>a,r.height=this._height>>a,r.image=t[a],this._setImage(n,r)},r._setTexInfo=function(){var t=this._device._gl,e=(0,a.isPow2)(this._width)&&(0,a.isPow2)(this._height);e||this._wrapS===s.enums.WRAP_CLAMP&&this._wrapT===s.enums.WRAP_CLAMP||(console.warn("WebGL1 doesn't support all wrap modes with NPOT textures"),this._wrapS=s.enums.WRAP_CLAMP,this._wrapT=s.enums.WRAP_CLAMP);var i=this._genMipmap?this._mipFilter:-1;e||-1===i||(console.warn("NPOT textures do not support mipmap filter"),i=-1),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,(0,s.glFilter)(t,this._minFilter,i)),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,(0,s.glFilter)(t,this._magFilter,-1)),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,this._wrapS),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,this._wrapT);var n=this._device.ext("EXT_texture_filter_anisotropic");n&&t.texParameteri(t.TEXTURE_2D,n.TEXTURE_MAX_ANISOTROPY_EXT,this._anisotropy)},n})(r.default);i.default=c,e.exports=i.default}),{"./enums":262,"./misc":266,"./texture":272}],271:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("./texture"))&&n.__esModule?n:{default:n},s=t("./enums"),a=t("./misc");function o(t,e){return(o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var c=(function(t){var e,i;function n(e,i){var n,r=(n=t.call(this,e)||this)._device._gl;return n._target=r.TEXTURE_CUBE_MAP,n._glID=r.createTexture(),n.update(i),n}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,o(e,i);var r=n.prototype;return r.update=function(t){var e=this._device._gl,i=this._genMipmaps;t&&(void 0!==t.width&&(this._width=t.width),void 0!==t.height&&(this._height=t.height),void 0!==t.anisotropy&&(this._anisotropy=t.anisotropy),void 0!==t.minFilter&&(this._minFilter=t.minFilter),void 0!==t.magFilter&&(this._magFilter=t.magFilter),void 0!==t.mipFilter&&(this._mipFilter=t.mipFilter),void 0!==t.wrapS&&(this._wrapS=t.wrapS),void 0!==t.wrapT&&(this._wrapT=t.wrapT),void 0!==t.format&&(this._format=t.format,this._compressed=this._format>=s.enums.TEXTURE_FMT_RGB_DXT1&&this._format<=s.enums.TEXTURE_FMT_RGBA_PVRTC_4BPPV1||this._format>=s.enums.TEXTURE_FMT_RGB_ETC2&&this._format<=s.enums.TEXTURE_FMT_RGBA_ETC2),void 0!==t.genMipmaps&&(this._genMipmaps=t.genMipmaps,i=t.genMipmaps),void 0!==t.images&&t.images.length>1&&(i=!1,t.width!==t.height&&console.warn("texture-cube width and height should be identical."),t.width>>t.images.length-1!=1&&console.error("texture-cube mipmap is invalid. please set mipmap as 1x1, 2x2, 4x4 ... nxn"))),(0,a.isPow2)(this._width)&&(0,a.isPow2)(this._height)||(i=!1),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_CUBE_MAP,this._glID),void 0!==t.images&&t.images.length>0&&(this._setMipmap(t.images,t.flipY,t.premultiplyAlpha),t.images.length>1&&(this._genMipmaps=!0)),i&&(e.hint(e.GENERATE_MIPMAP_HINT,e.NICEST),e.generateMipmap(e.TEXTURE_CUBE_MAP),this._genMipmaps=!0),this._setTexInfo(),this._device._restoreTexture(0)},r.updateSubImage=function(t){var e=this._device._gl,i=(0,s.glTextureFmt)(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_CUBE_MAP,this._glID),this._setSubImage(i,t),this._device._restoreTexture(0)},r.updateImage=function(t){var e=this._device._gl,i=(0,s.glTextureFmt)(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_CUBE_MAP,this._glID),this._setImage(i,t),this._device._restoreTexture(0)},r._setSubImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.faceIndex,a=e.image;void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),!a||ArrayBuffer.isView(a)||a instanceof ArrayBuffer?this._compressed?i.compressedTexSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,e.x,e.y,e.width,e.height,t.format,a):i.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,e.x,e.y,e.width,e.height,t.format,t.pixelType,a):i.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,e.x,e.y,t.format,t.pixelType,a)},r._setImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.faceIndex,a=e.image;void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),!a||ArrayBuffer.isView(a)||a instanceof ArrayBuffer?this._compressed?i.compressedTexImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,t.internalFormat,e.width,e.height,0,a):i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,t.internalFormat,e.width,e.height,0,t.format,t.pixelType,a):i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,t.internalFormat,t.format,t.pixelType,a)},r._setMipmap=function(t,e,i){for(var n=(0,s.glTextureFmt)(this._format),r={width:this._width,height:this._height,faceIndex:0,flipY:e,premultiplyAlpha:i,level:0,image:null},a=0;a>a,r.height=this._height>>a;for(var c=0;c<6;++c)r.faceIndex=c,r.image=o[c],this._setImage(n,r)}},r._setTexInfo=function(){var t=this._device._gl,e=(0,a.isPow2)(this._width)&&(0,a.isPow2)(this._height);e||this._wrapS===s.enums.WRAP_CLAMP&&this._wrapT===s.enums.WRAP_CLAMP||(console.warn("WebGL1 doesn't support all wrap modes with NPOT textures"),this._wrapS=s.enums.WRAP_CLAMP,this._wrapT=s.enums.WRAP_CLAMP);var i=this._genMipmaps?this._mipFilter:-1;e||-1===i||(console.warn("NPOT textures do not support mipmap filter"),i=-1),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_MIN_FILTER,(0,s.glFilter)(t,this._minFilter,i)),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_MAG_FILTER,(0,s.glFilter)(t,this._magFilter,-1)),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_WRAP_S,this._wrapS),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_WRAP_T,this._wrapT);var n=this._device.ext("EXT_texture_filter_anisotropic");n&&t.texParameteri(t.TEXTURE_CUBE_MAP,n.TEXTURE_MAX_ANISOTROPY_EXT,this._anisotropy)},n})(r.default);i.default=c,e.exports=i.default}),{"./enums":262,"./misc":266,"./texture":272}],272:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("./enums"),r=0,s=(function(){function t(t){this._device=t,this._width=4,this._height=4,this._genMipmaps=!1,this._compressed=!1,this._anisotropy=1,this._minFilter=n.enums.FILTER_LINEAR,this._magFilter=n.enums.FILTER_LINEAR,this._mipFilter=n.enums.FILTER_LINEAR,this._wrapS=n.enums.WRAP_REPEAT,this._wrapT=n.enums.WRAP_REPEAT,this._format=n.enums.TEXTURE_FMT_RGBA8,this._target=-1,this._id=r++}return t.prototype.destroy=function(){null!==this._glID?(this._device._gl.deleteTexture(this._glID),this._device._stats.tex-=this.bytes,this._glID=null):console.error("The texture already destroyed")},t})();i.default=s,e.exports=i.default}),{"./enums":262}],273:[(function(t,e,i){"use strict";function n(t,e){for(var i=0;ithis._bytes){if(t)return void console.error("Failed to update data, bytes exceed.");this._needExpandDataStore=!0,this._bytes=t+e.byteLength,this._numVertices=this._bytes/this._bytesPerVertex}var i=this._device._gl,n=this._usage;i.bindBuffer(i.ARRAY_BUFFER,this._glID),this._needExpandDataStore?(i.bufferData(i.ARRAY_BUFFER,e,n),this._needExpandDataStore=!1):i.bufferSubData(i.ARRAY_BUFFER,t,e),i.bindBuffer(i.ARRAY_BUFFER,null)}}else console.error("The buffer is destroyed")},r.getFormat=function(t){return this._format.element(t)},r.setUsage=function(t){this._usage=t},e=t,(i=[{key:"count",get:function(){return this._numVertices}}])&&n(e.prototype,i),t})();i.default=r,e.exports=i.default}),{"./enums":262}],274:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("./enums"),s=(n=t("../murmurhash2_gc"))&&n.__esModule?n:{default:n},a=(function(){function t(t){this._attr2el={},this._elements=[],this._bytes=0;for(var e="",i=0,n=t.length;ithis._data.length)for(var e=this._data.length;e=this._data.length&&this._resize(2*this._data.length),this._data[this._count]=t,++this._count},n.pop=function(){--this._count,this._count<0&&(this._count=0);var t=this._data[this._count];return this._data[this._count]=void 0,t},n.fastRemove=function(t){if(!(t>=this._count||t<0)){var e=this._count-1;this._data[t]=this._data[e],this._data[e]=void 0,this._count-=1}},n.indexOf=function(t){return this._data.indexOf(t)},n.sort=function(t){return(0,r.default)(this._data,0,this._count,t)},e=t,(i=[{key:"length",get:function(){return this._count}},{key:"data",get:function(){return this._data}}])&&s(e.prototype,i),t})();i.default=a,e.exports=i.default}),{"./timsort":281}],277:[(function(t,e,i){"use strict";i.__esModule=!0,i.TypedArrayPool=i.RecyclePool=i.Pool=i.LinkedArray=i.FixedArray=i.CircularPool=void 0;var n=u(t("./circular-pool"));i.CircularPool=n.default;var r=u(t("./fixed-array"));i.FixedArray=r.default;var s=u(t("./linked-array"));i.LinkedArray=s.default;var a=u(t("./pool"));i.Pool=a.default;var o=u(t("./recycle-pool"));i.RecyclePool=o.default;var c=u(t("./typed-array-pool"));function u(t){return t&&t.__esModule?t:{default:t}}i.TypedArrayPool=c.default}),{"./circular-pool":275,"./fixed-array":276,"./linked-array":278,"./pool":279,"./recycle-pool":280,"./typed-array-pool":282}],278:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("./pool"))&&n.__esModule?n:{default:n};function s(t,e){for(var i=0;ithis._data.length)for(var e=this._data.length;e=this._data.length&&this.resize(2*this._data.length),this._data[this._count++]},n.remove=function(t){if(!(t>=this._count)){var e=this._count-1,i=this._data[t];this._data[t]=this._data[e],this._data[e]=i,this._count-=1}},n.sort=function(t){return(0,r.default)(this._data,0,this._count,t)},e=t,(i=[{key:"length",get:function(){return this._count}},{key:"data",get:function(){return this._data}}])&&s(e.prototype,i),t})();i.default=a,cc.RecyclePool=a,e.exports=i.default}),{"./timsort":281}],281:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=function(t,e,i,r){if(!Array.isArray(t))throw new TypeError("Can only sort arrays");void 0===e&&(e=0),void 0===i&&(i=t.length),void 0===r&&(r=c);var s=i-e;if(!(s<2)){var a=0;if(sh&&(f=h),_(t,e,e+f,e+a,r),a=f}o.pushRun(e,a),o.mergeRuns(),s-=a,e+=a}while(0!==s);o.forceMergeRuns()}};var n=32,r=7,s=256,a=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9];function o(t){return t<1e5?t<100?t<10?0:1:t<1e4?t<1e3?2:3:4:t<1e7?t<1e6?5:6:t<1e9?t<1e8?7:8:9}function c(t,e){if(t===e)return 0;if(~~t===t&&~~e===e){if(0===t||0===e)return t=0)return-1;if(t>=0)return 1;t=-t,e=-e}var i=o(t),n=o(e),r=0;return in&&(e*=a[i-n-1],t/=10,r=1),t===e?r:t=n;)e|=1&t,t>>=1;return t+e}function l(t,e,i,n){var r=e+1;if(r===i)return 1;if(n(t[r++],t[e])<0){for(;r=0;)r++;return r-e}function h(t,e,i){for(i--;e>>1;r(s,t[c])<0?o=c:a=c+1}var u=n-a;switch(u){case 3:t[a+3]=t[a+2];case 2:t[a+2]=t[a+1];case 1:t[a+1]=t[a];break;default:for(;u>0;)t[a+u]=t[a+u-1],u--}t[a]=s}}function f(t,e,i,n,r,s){var a=0,o=0,c=1;if(s(t,e[i+r])>0){for(o=n-r;c0;)a=c,(c=1+(c<<1))<=0&&(c=o);c>o&&(c=o),a+=r,c+=r}else{for(o=r+1;co&&(c=o);var u=a;a=r-c,c=r-u}for(a++;a>>1);s(t,e[i+l])>0?a=l+1:c=l}return c}function d(t,e,i,n,r,s){var a=0,o=0,c=1;if(s(t,e[i+r])<0){for(o=r+1;co&&(c=o);var u=a;a=r-c,c=r-u}else{for(o=n-r;c=0;)a=c,(c=1+(c<<1))<=0&&(c=o);c>o&&(c=o),a+=r,c+=r}for(a++;a>>1);s(t,e[i+l])<0?c=l:a=l+1}return c}var p=(function(){function t(t,e){this.array=t,this.compare=e,this.minGallop=r,this.length=t.length,this.tmpStorageLength=s,this.length<2*s&&(this.tmpStorageLength=this.length>>>1),this.tmp=new Array(this.tmpStorageLength),this.stackLength=this.length<120?5:this.length<1542?10:this.length<119151?19:40,this.runStart=new Array(this.stackLength),this.runLength=new Array(this.stackLength),this.stackSize=0}var e=t.prototype;return e.pushRun=function(t,e){this.runStart[this.stackSize]=t,this.runLength[this.stackSize]=e,this.stackSize+=1},e.mergeRuns=function(){for(;this.stackSize>1;){var t=this.stackSize-2;if(t>=1&&this.runLength[t-1]<=this.runLength[t]+this.runLength[t+1]||t>=2&&this.runLength[t-2]<=this.runLength[t]+this.runLength[t-1])this.runLength[t-1]this.runLength[t+1])break;this.mergeAt(t)}},e.forceMergeRuns=function(){for(;this.stackSize>1;){var t=this.stackSize-2;t>0&&this.runLength[t-1]=r||v>=r);if(g)break;_<0&&(_=0),_+=2}if(this.minGallop=_,_<1&&(this.minGallop=1),1===e){for(c=0;c=0;c--)a[p+c]=a[_+c];if(0===e){y=!0;break}}if(a[h--]=o[l--],1==--n){y=!0;break}if(0!=(m=n-f(a[u],o,0,n,n-1,s))){for(n-=m,p=1+(h-=m),_=1+(l-=m),c=0;c=r||m>=r);if(y)break;v<0&&(v=0),v+=2}if(this.minGallop=v,v<1&&(this.minGallop=1),1===n){for(p=1+(h-=e),_=1+(u-=e),c=e-1;c>=0;c--)a[p+c]=a[_+c];a[h]=o[l]}else{if(0===n)throw new Error("mergeHigh preconditions were not respected");for(_=h-(n-1),c=0;c=0;c--)a[p+c]=a[_+c];a[h]=o[l]}else for(_=h-(n-1),c=0;c65535)<<4,e|=i=((t>>>=e)>255)<<3,e|=i=((t>>>=i)>15)<<2,(e|=i=((t>>>=i)>3)<<1)|(t>>>=i)>>1}function o(t){var e=s(t),i=n[a(e)>>2];return i.length>0?i.pop():new ArrayBuffer(e)}var c={alloc_int8:function(t){var e=new Int8Array(o(t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_uint8:function(t){var e=new Uint8Array(o(t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_int16:function(t){var e=new Int16Array(o(2*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_uint16:function(t){var e=new Uint16Array(o(2*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_int32:function(t){var e=new Int32Array(o(4*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_uint32:function(t){var e=new Uint32Array(o(4*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_float32:function(t){var e=new Float32Array(o(4*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_float64:function(t){var e=new Float64Array(o(8*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_dataview:function(t){var e=new DataView(o(t),0,t);return e.length!==t?e.subarray(0,t):e},free:function(t){var e;e=t.buffer,n[a(e.byteLength)>>2].push(e)},reset:function(){for(var t=Array(8),e=0;e<8;++e)t[e]=[]}};i.default=c,e.exports=i.default}),{}],283:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=function(t,e){for(var i,n=t.length,r=e^n,s=0;n>=4;)i=1540483477*(65535&(i=255&t.charCodeAt(s)|(255&t.charCodeAt(++s))<<8|(255&t.charCodeAt(++s))<<16|(255&t.charCodeAt(++s))<<24))+((1540483477*(i>>>16)&65535)<<16),r=1540483477*(65535&r)+((1540483477*(r>>>16)&65535)<<16)^(i=1540483477*(65535&(i^=i>>>24))+((1540483477*(i>>>16)&65535)<<16)),n-=4,++s;switch(n){case 3:r^=(255&t.charCodeAt(s+2))<<16;case 2:r^=(255&t.charCodeAt(s+1))<<8;case 1:r=1540483477*(65535&(r^=255&t.charCodeAt(s)))+((1540483477*(r>>>16)&65535)<<16)}return r=1540483477*(65535&(r^=r>>>13))+((1540483477*(r>>>16)&65535)<<16),(r^=r>>>15)>>>0},e.exports=i.default}),{}],284:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("../../core/value-types"),r=o(t("../core/base-renderer")),s=o(t("../enums")),a=t("../memop");function o(t){return t&&t.__esModule?t:{default:t}}function c(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function u(t,e){return(u=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var l=new Float32Array(16),h=new Float32Array(16),_=new Float32Array(16),f=new Float32Array(16),d=new Float32Array(4),p=new Float32Array(64),v=[],g=new Float32Array(4),m=new n.Vec4(0,0,0,0),y=new n.Vec3(0,0,0),T=new n.Vec3(0,0,0),E=new a.RecyclePool(function(){return new Float32Array(16)},8);function A(t,e){return t._priority-e._priority}var C=(function(t){var e,i;function r(e,i){var n;return(n=t.call(this,e,i)||this)._time=new Float32Array(4),n._lights=[],n._shadowLights=[],n._numLights=0,n._defines={},n._registerStage("shadowcast",n._shadowStage.bind(c(n))),n._registerStage("opaque",n._opaqueStage.bind(c(n))),n._registerStage("transparent",n._transparentStage.bind(c(n))),n}i=t,(e=r).prototype=Object.create(i.prototype),e.prototype.constructor=e,u(e,i);var a=r.prototype;return a.reset=function(){E.reset(),t.prototype.reset.call(this)},a.render=function(t,e){this.reset(),e&&(this._time[0]+=e,this._time[1]=e,this._time[2]++),this._device.setUniform("cc_time",this._time),this._updateLights(t);for(var i=this._device._gl.canvas,n=0;n0){for(var e=E.add(),i=E.add(),n=E.add(),r=Math.min(4,this._lights.length),a=0;a0?1:-1}),Math.log2||(Math.log2=function(t){return Math.log(t)*Math.LOG2E}),Number.isInteger||(Number.isInteger=function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t}),!console.time){var t=window.performance||Date,e=Object.create(null);console.time=function(i){e[i]=t.now()},console.timeEnd=function(i){var n=e[i],r=t.now()-n;console.log(i+": "+r+"ms")}}}),{}],298:[(function(){"use strict";Number.parseFloat=Number.parseFloat||parseFloat,Number.parseInt=Number.parseInt||parseInt}),{}],299:[(function(){"use strict";Object.assign||(Object.assign=function(t,e){return cc.js.mixin(t,e)}),Object.getOwnPropertyDescriptors||(Object.getOwnPropertyDescriptors=function(t){var e={},i=Object.getOwnPropertyNames(t);Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(t)));for(var n=0;nthis.length)&&(e=this.length),e-=t.length;var i=this.indexOf(t,e);return-1!==i&&i===e}),String.prototype.trimLeft||(String.prototype.trimLeft=function(){return this.replace(/^\s+/,"")})}),{}],301:[(function(){"use strict";var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])};window.__extends=function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)},window.__assign=Object.assign||function(t){for(var e,i=1,n=arguments.length;i=0;o--)(r=t[o])&&(a=(s<3?r(a):s>3?r(e,i,a):r(e,i))||a);return s>3&&a&&Object.defineProperty(e,i,a),a},window.__param=function(t,e){return function(i,n){e(i,n,t)}},window.__metadata=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},window.__awaiter=function(t,e,i,n){return new(i||(i=Promise))(function(r,s){function a(t){try{c(n.next(t))}catch(e){s(e)}}function o(t){try{c(n.throw(t))}catch(e){s(e)}}function c(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(a,o)}c((n=n.apply(t,e||[])).next())})},window.__generator=function(t,e){var i,n,r,s,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return s={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function o(t){return function(e){return c([t,e])}}function c(s){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,n&&(r=2&s[0]?n.return:s[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,s[1])).done)return r;switch(n=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},window.__read=function(t,e){var i="function"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var n,r,s=i.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=s.next()).done;)a.push(n.value)}catch(o){r={error:o}}finally{try{n&&!n.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}return a},window.__spread=function(){for(var t=[],e=0;e1||o(t,e)})})}function o(t,e){try{(i=r[t](e)).value instanceof __await?Promise.resolve(i.value.v).then(c,u):l(s[0][2],i)}catch(n){l(s[0][3],n)}var i}function c(t){o("next",t)}function u(t){o("throw",t)}function l(t,e){t(e),s.shift(),s.length&&o(s[0][0],s[0][1])}},window.__asyncDelegator=function(t){var e,i;return e={},n("next"),n("throw",(function(t){throw t})),n("return"),e[Symbol.iterator]=function(){return this},e;function n(n,r){e[n]=t[n]?function(e){return(i=!i)?{value:__await(t[n](e)),done:"return"===n}:r?r(e):e}:r}},window.__asyncValues=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,i=t[Symbol.asyncIterator];return i?i.call(t):(t="function"==typeof __values?__values(t):t[Symbol.iterator](),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(i){e[i]=t[i]&&function(e){return new Promise(function(n,s){r(n,s,(e=t[i](e)).done,e.value)})}}function r(t,e,i,n){Promise.resolve(n).then((function(e){t({value:e,done:i})}),e)}},window.__makeTemplateObject=function(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t};var e=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e};window.__importStar=function(t){if(t&&t.__esModule)return t;var i={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&__createBinding(i,t,n);return e(i,t),i},window.__importDefault=function(t){return t&&t.__esModule?t:{default:t}},window.__classPrivateFieldGet=function(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)},window.__classPrivateFieldSet=function(t,e,i){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,i),i}}),{}],302:[(function(){"use strict";var t="undefined"==typeof window?global:window;function e(e,i){void 0===t[e]&&Object.defineProperty(t,e,{get:function(){var t;return"CC_WECHATGAMESUB"===e?t="cc.sys.platform === cc.sys.WECHAT_GAME_SUB":"CC_WECHATGAME"===e?t="cc.sys.platform === cc.sys.WECHAT_GAME":"CC_QQPLAY"===e&&(t="cc.sys.platform === cc.sys.QQ_PLAY"),cc.warnID(1400,e,t),i}})}function i(e){return"object"==typeof t[e]}(function(e,i){void 0===t[e]&&(t[e]=i)})("CC_BUILD",!1),t.CC_BUILD=!0,t.CC_DEV=!1,t.CC_DEBUG=!1,t.CC_JSB=!1,t.CC_NATIVERENDERER=!1,t.CC_SUPPORT_JIT=!0,t.CC_PHYSICS_BUILTIN=!1,t.CC_PHYSICS_CANNON=!1,t.CC_EDITOR=!1,t.CC_PREVIEW=!1,t.CC_TEST=!1,t.CC_RUNTIME=!1,t.CC_JSB=!1;var n=!(!i("wx")||!wx.getSharedCanvas),r=!(!i("wx")||!wx.getSystemInfoSync&&!wx.getSharedCanvas),s=i("bk");e("CC_WECHATGAMESUB",n),e("CC_WECHATGAME",r),e("CC_QQPLAY",s),t.CocosEngine=cc.ENGINE_VERSION="2.4.8"}),{}]},{},[294]); \ No newline at end of file diff --git a/build/SunMoves/index.html b/build/SunMoves/index.html index 0e5ae3a..513dd63 100644 --- a/build/SunMoves/index.html +++ b/build/SunMoves/index.html @@ -4,40 +4,23 @@ - 后裔逐日 - + 思赞 - - - - - - - - - - - - - - - @@ -47,98 +30,167 @@ font-family: 'MyFont'; src: url('data:application/font-woff;charset=utf-8;base64,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Tkcg5byg5paH6b6ZIChib3BvbW9mbyk7IFNhbmRvbGwgQ29tbXVuaWNhdGlvbnMg7IKw64+M7Luk666k64uI7LyA7J207IWYLCBTb29oeXVuIFBBUksg67CV7IiY7ZiELCBZZWppbiBXRSDsnITsmIjsp4QgJiBEb25naG9vbiBIQU4g7ZWc64+Z7ZuIIChoYW5ndWwgZWxlbWVudHMsIGxldHRlcnMgJiBzeWxsYWJsZXMpRHIuIEtlbiBMdW5kZSAocHJvamVjdCBhcmNoaXRlY3QsIGdseXBoIHNldCBkZWZpbml0aW9uICYgb3ZlcmFsbCBwcm9kdWN0aW9uKTsgTWFzYXRha2EgSEFUVE9SSSDmnI3pg6jmraPosrQgKHByb2R1Y3Rpb24gJiBpZGVvZ3JhcGggZWxlbWVudHMpOyBaYWNoYXJ5IFF1aW5uIFNjaGV1cmVuICh2YXJpYWJsZSBmb250ICYgb3ZlcmFsbCBwcm9kdWN0aW9uKWh0dHA6Ly93d3cuYWRvYmUuY29tL3R5cGUvVGhpcyBGb250IFNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBTSUwgT3BlbiBGb250IExpY2Vuc2UsIFZlcnNpb24gMS4xLiBUaGlzIEZvbnQgU29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgU0lMIE9wZW4gRm9udCBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UsIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucyBnb3Zlcm5pbmcgeW91ciB1c2Ugb2YgdGhpcyBGb250IFNvZnR3YXJlLmh0dHA6Ly9zY3JpcHRzLnNpbC5vcmcvT0ZMU291cmNlIEhhbiBTZXJpZiBTQ0hlYXZ5AKkAIAAyADAAMQA3AC0AMgAwADIAMwAgAEEAZABvAGIAZQAgACgAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAZABvAGIAZQAuAGMAbwBtAC8AKQAsACAAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAAJwBTAG8AdQByAGMAZQAnAC4AUwBvAHUAcgBjAGUAIABIAGEAbgAgAFMAZQByAGkAZgAgAFMAQwAgAEgAZQBhAHYAeQBSAGUAZwB1AGwAYQByADIALgAwADAAMgA7AEEARABCAE8AOwBTAG8AdQByAGMAZQBIAGEAbgBTAGUAcgBpAGYAUwBDAC0ASABlAGEAdgB5ADsAQQBEAE8AQgBFAFMAbwB1AHIAYwBlACAASABhAG4AIABTAGUAcgBpAGYAIABTAEMAIABIAGUAYQB2AHkAVgBlAHIAcwBpAG8AbgAgADIALgAwADAAMgA7AGgAbwB0AGMAbwBuAHYAIAAxAC4AMQAuADAAOwBtAGEAawBlAG8AdABmAGUAeABlACAAMgAuADYALgAwAFMAbwB1AHIAYwBlAEgAYQBuAFMAZQByAGkAZgBTAEMALQBIAGUAYQB2AHkAUwBvAHUAcgBjAGUAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABBAGQAbwBiAGUAIABpAG4AIAB0AGgAZQAgAFUAbgBpAHQAZQBkACAAUwB0AGEAdABlAHMAIABhAG4AZAAvAG8AcgAgAG8AdABoAGUAcgAgAGMAbwB1AG4AdAByAGkAZQBzAC4AQQBkAG8AYgBlAFIAeQBvAGsAbwAgAE4ASQBTAEgASQBaAFUASwBBACCJf1habbxbUAAgACgAawBhAG4AYQAgACYAIABpAGQAZQBvAGcAcgBhAHAAaABzACkAOwAgAEYAcgBhAG4AawAgAEcAcgBpAGUA3wBoAGEAbQBtAGUAcgAgACgATABhAHQAaQBuACwAIABHAHIAZQBlAGsAIAAmACAAQwB5AHIAaQBsAGwAaQBjACkAOwAgAFcAZQBuAGwAbwBuAGcAIABaAEgAQQBOAEcAIF8gZYefmQAgACgAYgBvAHAAbwBtAG8AZgBvACkAOwAgAFMAYQBuAGQAbwBsAGwAIABDAG8AbQBtAHUAbgBpAGMAYQB0AGkAbwBuAHMAIMCws8zO5LukssjPAMd0wVgALAAgAFMAbwBvAGgAeQB1AG4AIABQAEEAUgBLACC8FcIY1gQALAAgAFkAZQBqAGkAbgAgAFcARQAgxwTGCMnEACAAJgAgAEQAbwBuAGcAaABvAG8AbgAgAEgAQQBOACDVXLPZ1sgAIAAoAGgAYQBuAGcAdQBsACAAZQBsAGUAbQBlAG4AdABzACwAIABsAGUAdAB0AGUAcgBzACAAJgAgAHMAeQBsAGwAYQBiAGwAZQBzACkARAByAC4AIABLAGUAbgAgAEwAdQBuAGQAZQAgACgAcAByAG8AagBlAGMAdAAgAGEAcgBjAGgAaQB0AGUAYwB0ACwAIABnAGwAeQBwAGgAIABzAGUAdAAgAGQAZQBmAGkAbgBpAHQAaQBvAG4AIAAmACAAbwB2AGUAcgBhAGwAbAAgAHAAcgBvAGQAdQBjAHQAaQBvAG4AKQA7ACAATQBhAHMAYQB0AGEAawBhACAASABBAFQAVABPAFIASQAgZw2Q6GtjjLQAIAAoAHAAcgBvAGQAdQBjAHQAaQBvAG4AIAAmACAAaQBkAGUAbwBnAHIAYQBwAGgAIABlAGwAZQBtAGUAbgB0AHMAKQA7ACAAWgBhAGMAaABhAHIAeQAgAFEAdQBpAG4AbgAgAFMAYwBoAGUAdQByAGUAbgAgACgAdgBhAHIAaQBhAGIAbABlACAAZgBvAG4AdAAgACYAIABvAHYAZQByAGEAbABsACAAcAByAG8AZAB1AGMAdABpAG8AbgApAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBhAGQAbwBiAGUALgBjAG8AbQAvAHQAeQBwAGUALwBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAuACAAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABvAG4AIABhAG4AIAAiAEEAUwAgAEkAUwAiACAAQgBBAFMASQBTACwAIABXAEkAVABIAE8AVQBUACAAVwBBAFIAUgBBAE4AVABJAEUAUwAgAE8AUgAgAEMATwBOAEQASQBUAEkATwBOAFMAIABPAEYAIABBAE4AWQAgAEsASQBOAEQALAAgAGUAaQB0AGgAZQByACAAZQB4AHAAcgBlAHMAcwAgAG8AcgAgAGkAbQBwAGwAaQBlAGQALgAgAFMAZQBlACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAgAGYAbwByACAAdABoAGUAIABzAHAAZQBjAGkAZgBpAGMAIABsAGEAbgBnAHUAYQBnAGUALAAgAHAAZQByAG0AaQBzAHMAaQBvAG4AcwAgAGEAbgBkACAAbABpAG0AaQB0AGEAdABpAG8AbgBzACAAZwBvAHYAZQByAG4AaQBuAGcAIAB5AG8AdQByACAAdQBzAGUAIABvAGYAIAB0AGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAuAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABTAG8AdQByAGMAZQAgAEgAYQBuACAAUwBlAHIAaQBmACAAUwBDAEgAZQBhAHYAeQAAAwAAAAAAAP+1ADIAAAAAAAAAAAAAAAAAAAAAAAAAXg==')format('opentype'); } - body, html { - height: 100%; + body { + background-color: black; margin: 0; - background-color: #000; /* 背景色设置为黑色 */ + font-family: 'MyFont', sans-serif; display: flex; - justify-content: center; + flex-direction: column; align-items: center; - font-family: 'MyFont', serif; + justify-content: center; + min-height: 100vh; + overflow: hidden; + padding: 20px; + box-sizing: border-box; } - .title{ - position: absolute; - color:#fff; - top: 35%; - font-size: 45px; - font-weight: 800; - } - .star-container { - position: absolute; + + .container { + width: 90%; + max-width: 600px; display: flex; - top: 45%; + flex-direction: column; + align-items: center; + position: absolute; + margin-bottom: 100px; } - - .star { + + .progress-container { + width: 100%; + height: 16px; + margin: 20px 0; + position: relative; + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAANCAYAAACHMDjlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Rjc1REI2N0E2ODI0MTFFRkI1RDZCRjJGNkU0OEFGRDciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Rjc1REI2Nzk2ODI0MTFFRkI1RDZCRjJGNkU0OEFGRDciIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4MDQ4RDIwNjY3NzcxMUVGQkE3NUU0QUQwQjVFRDhBMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4MDQ4RDIwNzY3NzcxMUVGQkE3NUU0QUQwQjVFRDhBMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PlFPNlMAAAOoSURBVHja7JxZaBNBHMZncxqzCa30MF5QtWA9qWAftFix4vGkFqVCFaWKoFQ86Ku+VB8VDxRRq6ioKFqPB0HtiydapNSrFeuBZ5seGNsmabs26/9vprpqEiMEm4fvBx/Z3Zmd3TDwfZmdzCq7yvNFItF14bJZTSUupy3PpIgUOhTiwwIAAMD/RCGZQiHd1xHQ7mta6LSiiK5EXsDyD3UXkm6SfDHqDFWd1u0t7YGCq7ffqv5uzSy/BAAAgP+P7nRY+/JzPfnpqY5pXQFtGx1rilGff/TPJF1JZIBsIe0knSctjTLycKiDrVvffOyYdexSQ6a3PaCi7wAAYOCpe96qrlyYMztrmLuXQqScRiLBKFUrSUWkTaQ9f2vXJD9dpMlR6myU4cEsIZ37IzxIlHLrfJ09hZVV9cMQHgAAkDw0tQXUI1X1HvZo9uoIcwr8pOiCDA9mN6ksSnNTSGp/gLhJl0h3SYXi5yMnLtsgGzLCI5AznBk/UkgREyjRis5ea8xs/Rx0oLsAACC5aCNvZo9mrybPHm8oUqWnF/12yj7SesNAg7NhDukO6SIPPLjgEGm2bKSaNE5WXkXaG+VelpEO9OeHw24prXnqHVnb0JqCbgIAgOSEPZq92mGzrDEEw0FScZRT9pNWyO0c0g2ZFRwkB7mBa4bKvN0utx+TXkdp9KsMG8Zlt5rH1jxpcaN7AAAguWGvttvMY0R46oK5TuqLUv0V6Yncbjf4/vfzOECOkdaRTpEWkFpk4UNSAakhQqM8F3JSbvt7tL5XeZMyOtA1AACQ3LBXk2e/ZO+Wh06IyH+OeibC/8iqlfte0lzSadJa0nHjEGa5+HO9xgfSIsNIpFuGx2XjaCTY87Uyb2Lm+6k56Z/RPQAAkJyQR/vYq8mzj4rwk6R+LsoQ6ZH7L6X3f/qtCc6IEtJh3jHFcc0XIjy5fotUKsIz9b8Q0sUzXRdVxfOyW9NTHUF0EwAAJBdp5M3k0V72avbsCFV4mcZqEV7vVyhDJCbmedNHxXNtnxy2PIpUyFPzvVqozq3axo4e4c5sfPfF5g9qNnQZAAAMPEPTBneVLh7v9aQ5q8mbdyjKL6MPIzzfwdMZcT1N+peV6L2xCnlhCt1YRdZwt71s2aSCe3XNLn+3ZhJYiQ4AAAOF7hxk7ZuR6+nMGOK42RXQKmIsIuxHi7dxS4JvtrnTr21OcdlLiudnTzMpIlXgXVgAADAQhN+FpQtfh7/3AXnzqUS/C+ubAAMA3lcWYmzreJUAAAAASUVORK5CYII='); + background-size: 100% 100%; + background-repeat: no-repeat; + background-position: center; + } + + .progress-bar { + margin-left: 4%; + margin-top: 2px; + height: 12px; + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgUAAAAOCAYAAAC/xG/nAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODA0OEQyMDI2Nzc3MTFFRkJBNzVFNEFEMEI1RUQ4QTEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODA0OEQyMDM2Nzc3MTFFRkJBNzVFNEFEMEI1RUQ4QTEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4MDQ4RDIwMDY3NzcxMUVGQkE3NUU0QUQwQjVFRDhBMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4MDQ4RDIwMTY3NzcxMUVGQkE3NUU0QUQwQjVFRDhBMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pm2I2nkAAAn3SURBVHja7F07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'); + background-size: cover; + transition: width 0.5s ease-out; + } + + .progress-icon { + position: absolute; + transform: translate(-50%, -50%); + top: 72.2%; + margin-left: 4%; + z-index: 100; + transition: left 0.5s ease-out; + } + + .progress-icon img { + width: 35px; + height: auto; + } + + .tagClass { + position: absolute; + left: 33%; + width: 30px; + } + + .tagClass img { + width: 100%; + height: auto; + } + + .header-container { position: relative; display: flex; - width: 23px; - height: 45px; - opacity: 0.5; - transform: scale(0.5); - background-image: url('data:image/image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAuCAYAAABJcBuEAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUM0MENGRjkxNUI0MTFFRkE2MDNDQUJCRTk1NEE3Q0UiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUM0MENGRkExNUI0MTFFRkE2MDNDQUJCRTk1NEE3Q0UiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQzQwQ0ZGNzE1QjQxMUVGQTYwM0NBQkJFOTU0QTdDRSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQzQwQ0ZGODE1QjQxMUVGQTYwM0NBQkJFOTU0QTdDRSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoQoElsAAAIYSURBVHjaYvz5OImBAiANxIxA/IRcA5gYKAOSUEw2YKHQAdIU6qc4BNSBWGMgQ0ATmgYGzAGWlEYBJQ4QBmI1JPZbeqcBd2jwM0LZdE+EPjjYdHEADxD7IfH9oGJ0c0AIEHMj8bmhYnRzQB6RYjRxACjBGWIRB4l50NoBIPXteOTbSTWTVAek4PA9DBhA1dDEATJA3EWEui6oWqo6AFRiLgdifiLU8kPVslLTAZOA2IaE0AKpnUgNBzBCgzSTjNwC0tNLqLbE5wB2IJ4NxKUUFNdFQDwHahZJDtAC4iNAnMxAOUiCmqVFjAPkoXF3AYhNGKgHQGZdhJotjxLHwFYxKMEYQ2s0Byo0UgiBv0C8H4i3APFZUAg8hzarHwDxNwbag69Qu0B2PmdE6xfwQVNvBRALUNnij9CiejoQf8KVBkASndAEs5WKlm+FNmA7kS3HlwtA0eILxE1UsLwJatZzUsuB/0BcD8QFFFheADXjPyVFMSjrdJBheQcxxTGxdUEVNNsQCzZD9VCtMgIFYRyueMSSfuLxBTu57YH3QJxPhLp8qFqatIhWA/EhPPL7oWpo2ijFF7c19GgVH4VidHAciI/Rq1+ALXv107Njsgktob2HitHNAT+BeB0Sfx1UjK694y042HQboNgLbVzA2HR3wGcgvoLEHpAxotMDOUYEAtcZBniU7OZAO+AJpWZQ6oCXFGZlBoAAAwDUK2BIc/JCPQAAAABJRU5ErkJggg=='); - animation: twinkle 1s ease-in-out infinite; - } - .star{ - padding-left: 10px; - } - /* 为每颗星星设置不同的动画延迟 */ - .star:nth-child(1) { - - animation-delay: 0s; - } - - .star:nth-child(2) { - - animation-delay: 0.2s; - } - - .star:nth-child(3) { - animation-delay: 0.4s; - } - .star:nth-child(4) { - animation-delay: 0.6s; - } - .star:nth-child(5) { - animation-delay: 0.8s; - } - .star:nth-child(6) { - animation-delay: 1s; - } - - /* 星星闪烁动画 */ - @keyframes twinkle { - 0%, 100% { - opacity: 0.5; - transform: scale(0.5); - } - 50% { - opacity: 1; - transform: scale(1); - } + flex-direction: column; + align-items: center; + margin-bottom: 20px; } - + .header-container img { + width: 100%; + max-width: 200px; + height: auto; + } + .header-container div { + color: white; + font-size: 1rem; + margin-top: 5px; + position: absolute; + bottom: 0px; + } + + @media (max-width: 480px) { + .header-container img { + max-width: 170px; + } + + .tagClass { + width: 20px; + } + + .progress-icon img { + width: 70px; + } + } + +

+ - - - + + + + + diff --git a/build/SunMoves/main.a4f77.js b/build/SunMoves/main.64c65.js similarity index 83% rename from build/SunMoves/main.a4f77.js rename to build/SunMoves/main.64c65.js index 687d573..f4d59e5 100644 --- a/build/SunMoves/main.a4f77.js +++ b/build/SunMoves/main.64c65.js @@ -11,13 +11,15 @@ window.boot = function () { var MAIN = cc.AssetManager.BuiltinBundleName.MAIN; function setLoadingDisplay () { // Loading splash scene - var splash = document.getElementById('splash'); - var star = document.getElementById('_star'); + var progressBar = document.getElementById('progress-bar'); + var progressIcon = document.getElementById('progress-icon'); + var progressContainer = document.querySelector('.progress-container'); onProgress = function (finish, total) { }; cc.director.once(cc.Director.EVENT_AFTER_SCENE_LAUNCH, function () { - splash.style.display = 'none'; - star.style.display = 'none'; + progressBar.style.display = 'none'; + progressIcon.style.display = 'none'; + progressContainer.style.display = 'none'; }); } @@ -102,7 +104,16 @@ window.boot = function () { count++; if (count === bundleRoot.length + 1) { cc.assetManager.loadBundle(MAIN, function (err) { - if (!err) cc.game.run(option, onStart); + if (!err){ + let time = 4 - window.progress_Index/3*0.2; + if(time <= 0) cc.game.run(option, onStart); + else{ + window.addSpeed_Index = 3; + setTimeout(() => { + cc.game.run(option, onStart); + }, time*1000/1.5); + } + } }); } } @@ -117,7 +128,7 @@ window.boot = function () { if (window.jsb) { var isRuntime = (typeof loadRuntime === 'function'); if (isRuntime) { - require('src/settings.9a03e.js'); + require('src/settings.d5bf7.js'); require('src/cocos2d-runtime.js'); if (CC_PHYSICS_BUILTIN || CC_PHYSICS_CANNON) { require('src/physics.js'); @@ -125,7 +136,7 @@ if (window.jsb) { require('jsb-adapter/engine/index.js'); } else { - require('src/settings.9a03e.js'); + require('src/settings.d5bf7.js'); require('src/cocos2d-jsb.js'); if (CC_PHYSICS_BUILTIN || CC_PHYSICS_CANNON) { require('src/physics.js'); diff --git a/build/SunMoves/src/settings.9a03e.js b/build/SunMoves/src/settings.d5bf7.js similarity index 81% rename from build/SunMoves/src/settings.9a03e.js rename to build/SunMoves/src/settings.d5bf7.js index 6ff1905..f02d293 100644 --- a/build/SunMoves/src/settings.9a03e.js +++ b/build/SunMoves/src/settings.d5bf7.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:"2d635",main:"57d1e"}}; \ 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:"a8f46",main:"ecbbc"}}; \ No newline at end of file diff --git a/library/imports/4b/4be67b1d-91ec-42ca-a2e5-d0d1ddf4dd5f.js b/library/imports/4b/4be67b1d-91ec-42ca-a2e5-d0d1ddf4dd5f.js index 90cb91c..3f5caf7 100644 --- a/library/imports/4b/4be67b1d-91ec-42ca-a2e5-d0d1ddf4dd5f.js +++ b/library/imports/4b/4be67b1d-91ec-42ca-a2e5-d0d1ddf4dd5f.js @@ -31,6 +31,7 @@ var NewClass = /** @class */ (function (_super) { } // onLoad () {} NewClass.prototype.start = function () { + this.node.on(cc.Node.EventType.TOUCH_START, this.clickBtn, this); }; //初始化数据 NewClass.prototype.init = function (_id, color, speed, repeat) { @@ -55,9 +56,16 @@ var NewClass = /** @class */ (function (_super) { if (type == true) this.node.getChildByName("number").getComponent(cc.Label).string = this.id_Number + ""; }; + //计算两点之间直线距离 + NewClass.prototype.distanceBetweenTwoPoints = function (x1, y1, x2, y2) { + return Math.sqrt(Math.pow((x2 - x1), 2) + Math.pow((y2 - y1), 2)); + }; //点击事件 NewClass.prototype.clickBtn = function (event, data) { - if (data === "1") { + var pos = this.node.convertToNodeSpaceAR(event.getLocation()); + var distance = this.distanceBetweenTwoPoints(pos.x, 0, pos.y, 0); + distance = Math.floor(distance * 10) / 10; + if (this.node.name != "qiu4") { if (this.move == false && this.touch == true) { if (this.node.parent.parent.name == "GameNode") { if (this.node.parent.parent.getComponent("GameManager").begin == true) { @@ -70,13 +78,15 @@ var NewClass = /** @class */ (function (_super) { .start(); this.touch = false; this.node.zIndex = -1; - cc.fx.Notifications.emit("clickSun", this.id_Number); + var data_1 = { id: this.id_Number, distance: distance }; + cc.fx.Notifications.emit("clickSun", data_1); } } else { this.touch = false; this.node.zIndex = -1; - cc.fx.Notifications.emit("clickSun", this.id_Number); + var data_2 = { id: this.id_Number, distance: distance }; + cc.fx.Notifications.emit("clickSun", data_2); } } } @@ -84,7 +94,8 @@ var NewClass = /** @class */ (function (_super) { 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); + var data_3 = { id: this.id_Number, distance: distance }; + cc.fx.Notifications.emit("clickSun", data_3); } } }; diff --git a/library/imports/4b/4be67b1d-91ec-42ca-a2e5-d0d1ddf4dd5f.js.map b/library/imports/4b/4be67b1d-91ec-42ca-a2e5-d0d1ddf4dd5f.js.map index 9afb398..a3f4297 100644 --- a/library/imports/4b/4be67b1d-91ec-42ca-a2e5-d0d1ddf4dd5f.js.map +++ b/library/imports/4b/4be67b1d-91ec-42ca-a2e5-d0d1ddf4dd5f.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\Sun.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\nconst {ccclass, property} = cc._decorator;\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n id_Number:number\r\n _speed:number\r\n _color:number\r\n touch:boolean\r\n _repeat:boolean\r\n move:boolean\r\n // onLoad () {}\r\n start () {\r\n }\r\n //初始化数据\r\n init(_id,color,speed,repeat){\r\n this.touch = true;\r\n this.move = false;\r\n this.id_Number = _id;\r\n this._color = color;\r\n this._speed = speed;\r\n this._repeat = repeat;\r\n //太阳动画\r\n cc.tween(this.node.getChildByName(\"shan\"))\r\n .repeatForever(\r\n cc.tween()\r\n .to(1,{opacity:0,scale:0.5,})\r\n .delay(0.2)\r\n .to(1,{opacity:255,scale:1.2})\r\n .delay(0.5)\r\n )\r\n .start();\r\n }\r\n //用于作弊 测试\r\n showNumber(type){\r\n this.node.getChildByName(\"number\").active = type;\r\n if(type == true)\r\n this.node.getChildByName(\"number\").getComponent(cc.Label).string = this.id_Number + \"\";\r\n }\r\n //点击事件\r\n clickBtn(event,data){\r\n if(data === \"1\"){\r\n if( this.move == false && this.touch == true){\r\n if(this.node.parent.parent.name == \"GameNode\"){\r\n if(this.node.parent.parent.getComponent(\"GameManager\").begin == true){\r\n cc.tween(this.node.getChildByName(\"action\"))\r\n .to(0.5,{opacity:0,scale:1.8})\r\n .start();\r\n cc.tween(this.node)\r\n .to(0.3,{scale:1.3})\r\n .to(0.3,{scale:1})\r\n .start();\r\n this.touch = false;\r\n this.node.zIndex = -1;\r\n cc.fx.Notifications.emit(\"clickSun\",this.id_Number);\r\n }\r\n }\r\n else{\r\n this.touch = false;\r\n this.node.zIndex = -1;\r\n cc.fx.Notifications.emit(\"clickSun\",this.id_Number);\r\n }\r\n \r\n }\r\n }\r\n else{\r\n if( this.touch == true && this.node.parent.parent.getComponent(\"GuideManager\").begin == true){\r\n this.touch = false;\r\n this.node.zIndex = -1;\r\n cc.fx.Notifications.emit(\"clickSun\",this.id_Number);\r\n }\r\n }\r\n }\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\Sun.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\nconst {ccclass, property} = cc._decorator;\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n id_Number:number\r\n _speed:number\r\n _color:number\r\n touch:boolean\r\n _repeat:boolean\r\n move:boolean\r\n // onLoad () {}\r\n start () {\r\n this.node.on(cc.Node.EventType.TOUCH_START, this.clickBtn, this);\r\n }\r\n //初始化数据\r\n init(_id,color,speed,repeat){\r\n this.touch = true;\r\n this.move = false;\r\n this.id_Number = _id;\r\n this._color = color;\r\n this._speed = speed;\r\n this._repeat = repeat;\r\n //太阳动画\r\n cc.tween(this.node.getChildByName(\"shan\"))\r\n .repeatForever(\r\n cc.tween()\r\n .to(1,{opacity:0,scale:0.5,})\r\n .delay(0.2)\r\n .to(1,{opacity:255,scale:1.2})\r\n .delay(0.5)\r\n )\r\n .start();\r\n }\r\n //用于作弊 测试\r\n showNumber(type){\r\n this.node.getChildByName(\"number\").active = type;\r\n if(type == true)\r\n this.node.getChildByName(\"number\").getComponent(cc.Label).string = this.id_Number + \"\";\r\n }\r\n //计算两点之间直线距离\r\n distanceBetweenTwoPoints(x1: number, y1: number, x2: number, y2: number): number {\r\n return Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);\r\n }\r\n //点击事件\r\n clickBtn(event,data){\r\n let pos = this.node.convertToNodeSpaceAR(event.getLocation());\r\n let distance = this.distanceBetweenTwoPoints(pos.x, 0, pos.y, 0);\r\n distance = Math.floor(distance*10)/10;\r\n if(this.node.name != \"qiu4\"){\r\n if( this.move == false && this.touch == true){\r\n if(this.node.parent.parent.name == \"GameNode\"){\r\n if(this.node.parent.parent.getComponent(\"GameManager\").begin == true){\r\n cc.tween(this.node.getChildByName(\"action\"))\r\n .to(0.5,{opacity:0,scale:1.8})\r\n .start();\r\n cc.tween(this.node)\r\n .to(0.3,{scale:1.3})\r\n .to(0.3,{scale:1})\r\n .start();\r\n this.touch = false;\r\n this.node.zIndex = -1;\r\n let data = {id:this.id_Number,distance:distance};\r\n cc.fx.Notifications.emit(\"clickSun\",data);\r\n }\r\n }\r\n else{\r\n this.touch = false;\r\n this.node.zIndex = -1;\r\n let data = {id:this.id_Number,distance:distance};\r\n cc.fx.Notifications.emit(\"clickSun\",data);\r\n }\r\n \r\n }\r\n }\r\n else{\r\n if( this.touch == true && this.node.parent.parent.getComponent(\"GuideManager\").begin == true){\r\n this.touch = false;\r\n this.node.zIndex = -1;\r\n let data = {id:this.id_Number,distance:distance};\r\n cc.fx.Notifications.emit(\"clickSun\",data);\r\n }\r\n }\r\n }\r\n}\r\n"]} \ No newline at end of file diff --git a/library/imports/72/7290c680-dfdc-4c59-9736-a614cc2a8bcf.js b/library/imports/72/7290c680-dfdc-4c59-9736-a614cc2a8bcf.js index d665b48..f5052fb 100644 --- a/library/imports/72/7290c680-dfdc-4c59-9736-a614cc2a8bcf.js +++ b/library/imports/72/7290c680-dfdc-4c59-9736-a614cc2a8bcf.js @@ -58,6 +58,7 @@ var WeChat = /** @class */ (function () { WeChat.getResult = function (res) { if (res) { var data = res.data; + // @ts-ignore wx.config({ debug: false, appId: data.appId, @@ -66,6 +67,7 @@ var WeChat = /** @class */ (function () { signature: data.signature, jsApiList: ['onMenuShareTimeline', 'updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareAppMessage'] }); + // @ts-ignore wx.checkJsApi({ jsApiList: ['updateAppMessageShareData'], success: function (res) { @@ -80,7 +82,9 @@ var WeChat = /** @class */ (function () { } }; WeChat.changeShare = function () { + // @ts-ignore wx.ready(function () { + // @ts-ignore wx.updateAppMessageShareData({ title: '记忆力认知测评', desc: '你的注意力和工作记忆有问题吗?', @@ -92,6 +96,7 @@ var WeChat = /** @class */ (function () { } }); setTimeout(function () { + // @ts-ignore wx.updateTimelineShareData({ title: '记忆力认知测评', link: shareConfig.shareLine, diff --git a/library/imports/72/7290c680-dfdc-4c59-9736-a614cc2a8bcf.js.map b/library/imports/72/7290c680-dfdc-4c59-9736-a614cc2a8bcf.js.map index 3fe9f29..cf521a7 100644 --- a/library/imports/72/7290c680-dfdc-4c59-9736-a614cc2a8bcf.js.map +++ b/library/imports/72/7290c680-dfdc-4c59-9736-a614cc2a8bcf.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\module\\Share\\share.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\n\nvar shareConfig = {\n gameId: \"100009\",\n shareLine: \"zDLsruVI\",\n EK:\"hui231%1\"\n };\n\n// 定义微信配置数据的接口\ninterface IWeChatConfig {\n appId: string;\n timestamp: number;\n nonceStr: string;\n signature: string;\n jsApiList: [];\n}\n\n// 微信操作类\nexport class WeChat {\n static setShare(url) {\n var urlTemp = this.removeQueryParams(url);\n shareConfig.shareLine = urlTemp;\n WeChat.getSignature(url);\n }\n\n static getResult(res){\n if(res){\n var data = res.data;\n wx.config({\n debug: false,\n appId: data.appId,\n timestamp: data.timestamp,\n nonceStr: data.nonceStr,\n signature: data.signature,\n jsApiList: ['onMenuShareTimeline','updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareAppMessage']\n });\n wx.checkJsApi({\n jsApiList: ['updateAppMessageShareData'], // 需要检测的JS接口列表,所有JS接口列表见附录2,\n success: function(res) {\n setTimeout(() => { \n WeChat.changeShare();\n }, 200);\n setTimeout(() => {\n WeChat.changeShare();\n }, 500);\n }\n });\n }\n }\n\n static changeShare(){\n wx.ready(() => {\n wx.updateAppMessageShareData({ \n title: '记忆力认知测评', // 分享标题\n desc: '你的注意力和工作记忆有问题吗?', // 分享描述\n link: shareConfig.shareLine, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致\n imgUrl: 'https://static.sparkus.cn/public/shootsun.jpg', // 分享图标\n success: function () {\n // 设置成功\n console.log(\"分享好友成功回调\");\n }\n });\n setTimeout(() => {\n wx.updateTimelineShareData({ \n title: '记忆力认知测评', // 分享标题\n link: shareConfig.shareLine, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致\n imgUrl: 'https://static.sparkus.cn/public/shootsun.jpg', // 分享图标\n success: function () {\n // 设置成功\n console.log(\"分享朋友圈成功回调\");\n }\n })\n }, 200);\n\n }); \n }\n\n static getSignature(url: string): Promise {\n return new Promise((resolve) => {\n WeChat.getShareInfo((encodeURIComponent(url)),WeChat.getResult);\n });\n }\n static async getShareInfo(shareUrl: string, callback:Function): Promise {\n const time = Math.floor((new Date().getTime()) / 1000)\n const url = cc.fx.HttpUtil.apiSign(`/api/share/cfg?gameId=${cc.fx.GameConfig.GM_INFO.gameId}&time=${time}&url=${shareUrl}`,{})\n return cc.fx.HttpUtil.get(url,callback,3)\n }\n\n \n static containsNanana(str) {\n return /test/i.test(str);\n }\n\n static removeQueryParams(url) {\n return url.replace(/\\?.*$/, '');\n }\n\n}\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\module\\Share\\share.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\n\nvar shareConfig = {\n gameId: \"100009\",\n shareLine: \"zDLsruVI\",\n EK:\"hui231%1\"\n };\n\n// 定义微信配置数据的接口\ninterface IWeChatConfig {\n appId: string;\n timestamp: number;\n nonceStr: string;\n signature: string;\n jsApiList: [];\n}\n\n// 微信操作类\nexport class WeChat {\n static setShare(url) {\n var urlTemp = this.removeQueryParams(url);\n shareConfig.shareLine = urlTemp;\n WeChat.getSignature(url);\n }\n\n static getResult(res){\n if(res){\n var data = res.data;\n // @ts-ignore\n wx.config({\n debug: false,\n appId: data.appId,\n timestamp: data.timestamp,\n nonceStr: data.nonceStr,\n signature: data.signature,\n jsApiList: ['onMenuShareTimeline','updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareAppMessage']\n });\n // @ts-ignore\n wx.checkJsApi({\n jsApiList: ['updateAppMessageShareData'], // 需要检测的JS接口列表,所有JS接口列表见附录2,\n success: function(res) {\n setTimeout(() => { \n WeChat.changeShare();\n }, 200);\n setTimeout(() => {\n WeChat.changeShare();\n }, 500);\n }\n });\n }\n }\n\n static changeShare(){\n // @ts-ignore\n wx.ready(() => {\n // @ts-ignore\n wx.updateAppMessageShareData({ \n title: '记忆力认知测评', // 分享标题\n desc: '你的注意力和工作记忆有问题吗?', // 分享描述\n link: shareConfig.shareLine, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致\n imgUrl: 'https://static.sparkus.cn/public/shootsun.jpg', // 分享图标\n success: function () {\n // 设置成功\n console.log(\"分享好友成功回调\");\n }\n });\n setTimeout(() => {\n // @ts-ignore\n wx.updateTimelineShareData({ \n title: '记忆力认知测评', // 分享标题\n link: shareConfig.shareLine, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致\n imgUrl: 'https://static.sparkus.cn/public/shootsun.jpg', // 分享图标\n success: function () {\n // 设置成功\n console.log(\"分享朋友圈成功回调\");\n }\n })\n }, 200);\n\n }); \n }\n\n static getSignature(url: string): Promise {\n return new Promise((resolve) => {\n WeChat.getShareInfo((encodeURIComponent(url)),WeChat.getResult);\n });\n }\n static async getShareInfo(shareUrl: string, callback:Function): Promise {\n const time = Math.floor((new Date().getTime()) / 1000)\n const url = cc.fx.HttpUtil.apiSign(`/api/share/cfg?gameId=${cc.fx.GameConfig.GM_INFO.gameId}&time=${time}&url=${shareUrl}`,{})\n return cc.fx.HttpUtil.get(url,callback,3)\n }\n\n \n static containsNanana(str) {\n return /test/i.test(str);\n }\n\n static removeQueryParams(url) {\n return url.replace(/\\?.*$/, '');\n }\n\n}\n"]} \ No newline at end of file diff --git a/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js b/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js index 1d9e284..d6063c2 100644 --- a/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js +++ b/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js @@ -107,6 +107,9 @@ var NewClass = /** @class */ (function (_super) { }; //根据内容填充排行榜 NewClass.prototype.setRank = function (num, data) { + if (!data) { + return; + } var hitNode = null; if (num == 0) { hitNode = this.one; @@ -125,7 +128,7 @@ var NewClass = /** @class */ (function (_super) { } if (hitNode) { hitNode.active = true; - cc.fx.GameTool.subName(data.nickName, 4); + data.nickName = cc.fx.GameTool.subName(data.nickName, 4); hitNode.getChildByName("name").getComponent(cc.Label).string = data.nickName; hitNode.getChildByName("total").getComponent(cc.Label).string = data.totalSunCount; cc.fx.GameTool.setPic(hitNode.getChildByName("pic").getChildByName("icon"), data.pic); diff --git a/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js.map b/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js.map index fcb00c8..e1a0c3b 100644 --- a/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js.map +++ b/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\GameOver.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n @property(cc.Label)\r\n count: cc.Label = null;\r\n @property(cc.Label)\r\n time: cc.Label = null;\r\n @property(cc.Node)\r\n selfNode: cc.Node = null;\r\n @property(cc.Node)\r\n one: cc.Node = null;\r\n @property(cc.Node)\r\n two: cc.Node = null;\r\n @property(cc.Node)\r\n three: cc.Node = null;\r\n @property(cc.Node)\r\n four: cc.Node = null;\r\n @property(cc.Node)\r\n five: cc.Node = null;\r\n listData: any;\r\n selfData: any;\r\n // onLoad () {}\r\n start () {\r\n this.count.string = cc.fx.GameConfig.GM_INFO.total + \"\";\r\n if(cc.fx.GameConfig.GM_INFO.mean_Time > 10){\r\n cc.fx.GameConfig.GM_INFO.mean_Time = (parseInt(Math.random()*10+\"\")+5)/10\r\n }\r\n this.time.string = cc.fx.GameConfig.GM_INFO.mean_Time + \"s\";\r\n this.init();\r\n }\r\n //初始化数据\r\n init(){\r\n this.listData = [];\r\n this.selfData = null;\r\n this.one.active = false;\r\n this.two.active = false;\r\n this.three.active = false;\r\n this.four.active = false;\r\n this.five.active = false;\r\n var urlNow = window.location.href;\r\n if(this.containsTrain(urlNow)){\r\n this.node.getChildByName(\"again\").active = false;\r\n this.node.getChildByName(\"back\").active = false;\r\n this.node.getChildByName(\"finishi\").active = true;\r\n }\r\n else{\r\n this.node.getChildByName(\"again\").active = true;\r\n this.node.getChildByName(\"back\").active = true;\r\n this.node.getChildByName(\"finishi\").active = false;\r\n }\r\n this.getRank();\r\n }\r\n //打开排行榜\r\n jumpFinishi(){\r\n let url = \"https://train.sparkus.cn/poster/game/\" + cc.fx.GameConfig.GM_INFO.scode + \"?suc=1\";\r\n window.location.href = url;\r\n }\r\n //打开排行榜\r\n openRank(){\r\n cc.director.loadScene(\"RankScene\");\r\n }\r\n //重新开始玩\r\n again(){\r\n cc.director.loadScene(\"GameScene\");\r\n }\r\n //判断来源\r\n containsTrain(str) {\r\n return /from=train/i.test(str);\r\n }\r\n //获取排行榜\r\n getRank(){\r\n //获取排行榜数据 所需数据量\r\n let dataFile = {\r\n length:5\r\n }\r\n cc.fx.GameTool.getRank(dataFile,data =>this.getRankData(data));\r\n }\r\n //设置排行信息\r\n getRankData(data){\r\n if(data){\r\n cc.fx.GameTool.getRankData(data,this,4);\r\n cc.fx.GameTool.setPic(this.selfNode.getChildByName(\"pic\").getChildByName(\"icon\"),this.selfData.pic);\r\n for(let i=0;i<=4;i++){\r\n this.setRank(i,this.listData[i]);\r\n }\r\n }\r\n }\r\n //根据内容填充排行榜\r\n setRank(num,data){\r\n var hitNode = null;\r\n if(num == 0){\r\n hitNode = this.one;\r\n }\r\n else if(num == 1){\r\n hitNode = this.two;\r\n }\r\n else if(num == 2){\r\n hitNode = this.three;\r\n }\r\n else if(num == 3){\r\n hitNode = this.four;\r\n }\r\n else if(num == 4){\r\n hitNode = this.five;\r\n }\r\n if(hitNode){\r\n hitNode.active = true;\r\n cc.fx.GameTool.subName(data.nickName,4);\r\n hitNode.getChildByName(\"name\").getComponent(cc.Label).string = data.nickName;\r\n hitNode.getChildByName(\"total\").getComponent(cc.Label).string = data.totalSunCount;\r\n cc.fx.GameTool.setPic(hitNode.getChildByName(\"pic\").getChildByName(\"icon\"),data.pic);\r\n }\r\n } \r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\GameOver.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n @property(cc.Label)\r\n count: cc.Label = null;\r\n @property(cc.Label)\r\n time: cc.Label = null;\r\n @property(cc.Node)\r\n selfNode: cc.Node = null;\r\n @property(cc.Node)\r\n one: cc.Node = null;\r\n @property(cc.Node)\r\n two: cc.Node = null;\r\n @property(cc.Node)\r\n three: cc.Node = null;\r\n @property(cc.Node)\r\n four: cc.Node = null;\r\n @property(cc.Node)\r\n five: cc.Node = null;\r\n listData: any;\r\n selfData: any;\r\n // onLoad () {}\r\n start () {\r\n this.count.string = cc.fx.GameConfig.GM_INFO.total + \"\";\r\n if(cc.fx.GameConfig.GM_INFO.mean_Time > 10){\r\n cc.fx.GameConfig.GM_INFO.mean_Time = (parseInt(Math.random()*10+\"\")+5)/10\r\n }\r\n this.time.string = cc.fx.GameConfig.GM_INFO.mean_Time + \"s\";\r\n this.init();\r\n }\r\n //初始化数据\r\n init(){\r\n this.listData = [];\r\n this.selfData = null;\r\n this.one.active = false;\r\n this.two.active = false;\r\n this.three.active = false;\r\n this.four.active = false;\r\n this.five.active = false;\r\n var urlNow = window.location.href;\r\n if(this.containsTrain(urlNow)){\r\n this.node.getChildByName(\"again\").active = false;\r\n this.node.getChildByName(\"back\").active = false;\r\n this.node.getChildByName(\"finishi\").active = true;\r\n }\r\n else{\r\n this.node.getChildByName(\"again\").active = true;\r\n this.node.getChildByName(\"back\").active = true;\r\n this.node.getChildByName(\"finishi\").active = false;\r\n }\r\n this.getRank();\r\n }\r\n //打开排行榜\r\n jumpFinishi(){\r\n let url = \"https://train.sparkus.cn/poster/game/\" + cc.fx.GameConfig.GM_INFO.scode + \"?suc=1\";\r\n window.location.href = url;\r\n }\r\n //打开排行榜\r\n openRank(){\r\n cc.director.loadScene(\"RankScene\");\r\n }\r\n //重新开始玩\r\n again(){\r\n cc.director.loadScene(\"GameScene\");\r\n }\r\n //判断来源\r\n containsTrain(str) {\r\n return /from=train/i.test(str);\r\n }\r\n //获取排行榜\r\n getRank(){\r\n //获取排行榜数据 所需数据量\r\n let dataFile = {\r\n length:5\r\n }\r\n cc.fx.GameTool.getRank(dataFile,data =>this.getRankData(data));\r\n }\r\n //设置排行信息\r\n getRankData(data){\r\n if(data){\r\n cc.fx.GameTool.getRankData(data,this,4);\r\n cc.fx.GameTool.setPic(this.selfNode.getChildByName(\"pic\").getChildByName(\"icon\"),this.selfData.pic);\r\n for(let i=0;i<=4;i++){\r\n this.setRank(i,this.listData[i]);\r\n }\r\n }\r\n }\r\n //根据内容填充排行榜\r\n setRank(num,data){\r\n if(!data){\r\n return;\r\n }\r\n var hitNode = null;\r\n if(num == 0){\r\n hitNode = this.one;\r\n }\r\n else if(num == 1){\r\n hitNode = this.two;\r\n }\r\n else if(num == 2){\r\n hitNode = this.three;\r\n }\r\n else if(num == 3){\r\n hitNode = this.four;\r\n }\r\n else if(num == 4){\r\n hitNode = this.five;\r\n }\r\n if(hitNode){\r\n hitNode.active = true;\r\n data.nickName = cc.fx.GameTool.subName(data.nickName,4);\r\n hitNode.getChildByName(\"name\").getComponent(cc.Label).string = data.nickName;\r\n hitNode.getChildByName(\"total\").getComponent(cc.Label).string = data.totalSunCount;\r\n cc.fx.GameTool.setPic(hitNode.getChildByName(\"pic\").getChildByName(\"icon\"),data.pic);\r\n }\r\n } \r\n}\r\n"]} \ No newline at end of file diff --git a/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js b/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js index 6552a26..17e856a 100644 --- a/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js +++ b/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js @@ -234,6 +234,7 @@ var GameManager = /** @class */ (function (_super) { this.ball_Array[k].removeFromParent(); this.ball_Array[k] = null; } + cc.fx.GameConfig.GM_INFO.gap = []; }; //点击太阳执行方法 GameManager.prototype.clickSun = function (data) { @@ -243,12 +244,13 @@ var GameManager = /** @class */ (function (_super) { var clickTime = cc.fx.GameTool.getTime(); this.time_Array.push((clickTime - this.timeStart)); this.timeStart = cc.fx.GameTool.getTime(); - if (data == this.clickNow) { + if (data.id == this.clickNow) { cc.fx.AudioManager._instance.playAudioButton(); if (this.clickNow > 0) { 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), 0.2); } this.clickNow += 1; + cc.fx.GameConfig.GM_INFO.gap.push(data.distance); if (this.ball_Array[this.clickNow - 1]) this.ball_Array[this.clickNow - 1].getChildByName("guang").active = false; if (this.clickNow == this.now_Array.length) { @@ -303,7 +305,8 @@ var GameManager = /** @class */ (function (_super) { difficultyLevel: this.level, sunList: sunArray, stepTimeList: this.time_Array, - remainder: this.countTime + remainder: this.countTime, + gap: cc.fx.GameConfig.GM_INFO.gap }; if (cc.fx.GameConfig.CLICK_DATA.duration > 50) { cc.fx.GameConfig.CLICK_DATA.duration = 50; @@ -337,12 +340,12 @@ var GameManager = /** @class */ (function (_super) { } } else { - this.setLoss(); + this.setLoss(data); } } }; //执行失败 - GameManager.prototype.setLoss = function () { + GameManager.prototype.setLoss = function (data) { cc.fx.AudioManager._instance.playWarning(); this.begin = false; this.overTime = cc.fx.GameTool.getTime(); @@ -378,6 +381,7 @@ var GameManager = /** @class */ (function (_super) { sunArray.push(0); } } + cc.fx.GameConfig.GM_INFO.gap.push(data.distance); cc.fx.GameConfig.CLICK_DATA = { type: 1, @@ -392,7 +396,8 @@ var GameManager = /** @class */ (function (_super) { difficultyLevel: this.level, sunList: sunArray, stepTimeList: this.time_Array, - remainder: this.countTime + remainder: this.countTime, + gap: cc.fx.GameConfig.GM_INFO.gap }; if (cc.fx.GameConfig.CLICK_DATA.duration > 50) { cc.fx.GameConfig.CLICK_DATA.duration = 50; @@ -927,7 +932,7 @@ var GameManager = /** @class */ (function (_super) { this.begin = false; this.over = true; this.unschedule(this.updateCountDownTime); - this.setLoss(); + this.setLoss({ distance: 0 }); var time = 0; if (this.clickCount > 0) time = parseInt(cc.fx.GameConfig.GM_INFO.mean_Time / this.clickCount + ""); diff --git a/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js.map b/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js.map index 6ce1e86..3d32f7d 100644 --- a/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js.map +++ b/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\GameManager.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// 主游戏控制类\r\nconst {ccclass, property} = cc._decorator;\r\n@ccclass\r\nexport default class GameManager extends cc.Component {\r\n @property(cc.Node)\r\n ball: cc.Node = null;\r\n @property(cc.Prefab)\r\n qiu1: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n qiu2: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n qiu3: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n linePrefab: cc.Prefab = null;\r\n @property(cc.Node)\r\n hit: cc.Node = null;\r\n bg1: cc.Node = null;\r\n bg2: cc.Node = null;\r\n time: cc.Label = null;\r\n begin: boolean = false;\r\n fuhuo: boolean = false;\r\n over: boolean = false;\r\n show: boolean = false;\r\n countTime:number;\r\n timeCount:number;\r\n fitTop:number;\r\n fitBot:number;\r\n level:number;\r\n clickNow:number;\r\n startTime:number;\r\n overTime:number;\r\n winTime:number;\r\n clickCount:number;\r\n timeStart:number;\r\n route_Array: any[];\r\n now_Array: any[];\r\n ball_Array: any[];\r\n Line_Array: any[];\r\n Pos_Array: any[];\r\n time_Array: any[];\r\n color_Array: any[];\r\n @property(cc.Label)\r\n levelLabel: cc.Label = null;\r\n static _instance: any;\r\n moveArray: number[];\r\n repeat: number;\r\n numberRepeat: number;\r\n round: number;\r\n pause: boolean;\r\n onLoad () {}\r\n start () {\r\n this.fit();\r\n this.init();\r\n }\r\n //初始化数据\r\n init(){\r\n this.node.getChildByName(\"GameOver\").zIndex = 100;\r\n this.node.getChildByName(\"GameOver\").active = false;\r\n this.ball.zIndex = 100;\r\n this.bg1 = this.node.getChildByName(\"bg1\");\r\n this.bg2 = this.node.getChildByName(\"bg2\");\r\n this.time = this.node.getChildByName(\"Top\").getChildByName(\"time\").getComponent(cc.Label);\r\n this.node.getChildByName(\"showBtn\").active = false;\r\n this.begin = false;\r\n this.over = false;\r\n this.fuhuo = true;\r\n this.pause = true;\r\n this.show = false;\r\n this.round = 0; \r\n this.level = 2;\r\n this.countTime = 60;\r\n if(cc.fx.GameConfig.GM_INFO.custom != 0){\r\n this.level = cc.fx.GameConfig.GM_INFO.custom;\r\n // this.levelLabel.string = this.level + \"\";\r\n cc.fx.GameConfig.GM_INFO.custom += 1;\r\n this.countTime = 12000000;\r\n }\r\n // this.levelLabel.string = this.level + \"\";\r\n this.timeCount = 0.1;\r\n this.clickNow = 0;\r\n this.clickCount = 0;\r\n this.timeStart = 0;\r\n this.repeat = -1;\r\n this.numberRepeat = -1;\r\n this.route_Array = [];\r\n this.moveArray = [];\r\n this.now_Array = [];\r\n this.ball_Array = [];\r\n this.Pos_Array = [];\r\n this.time_Array = [];\r\n this.color_Array = [];\r\n cc.fx.GameConfig.GAME_DATA = [];\r\n cc.fx.GameConfig.GM_INFO.success = false;\r\n this.startTime = 0;\r\n this.overTime = 0;\r\n this.winTime = 0;\r\n cc.fx.GameConfig.GM_INFO.total = 0;\r\n cc.fx.GameConfig.GM_INFO.mean_Time = 0;\r\n this.schedule(this.updateCountDownTime,1);\r\n this.startGame();\r\n }\r\n //根据是否全面屏,做独立适配方面\r\n fit(){\r\n this.fitTop = 450; //600\r\n this.fitBot = -600; //-700\r\n var jg = this.setFit();\r\n if(!jg){\r\n this.fitTop = 600;\r\n this.fitBot = -700;\r\n }\r\n }\r\n //判断全面屏\r\n getSetScreenResolutionFlag () {\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 () {\r\n let flag = this.getSetScreenResolutionFlag();\r\n if (flag) {\r\n } else {\r\n }\r\n return flag;\r\n }\r\n //返回首页\r\n backScene(){\r\n cc.director.loadScene(\"LoadScene\");\r\n }\r\n //下一关,或者重新开始,或者返回上一关,根据level决定\r\n reStart(type){\r\n // if(cc.fx.GameConfig.GM_INFO.custom != 0){\r\n // cc.director.loadScene(\"LoadScene\");\r\n // return;\r\n // }\r\n this.node.getChildByName(\"showBtn\").active = false;\r\n this.destroyLine();\r\n this.timeCount = 0.1;\r\n this.clickNow = 0;\r\n this.timeStart = 0;\r\n this.repeat = -1;\r\n this.numberRepeat = -1;\r\n this.begin = false;\r\n this.route_Array = [];\r\n this.now_Array = [];\r\n this.ball_Array = [];\r\n this.Pos_Array = [];\r\n this.moveArray = [];\r\n this.time_Array = [];\r\n this.color_Array = [];\r\n if(type == 0){\r\n this.bgMove(1);\r\n }\r\n else if(type == 1){\r\n this.startGame();\r\n }\r\n else if(type == 2){\r\n this.bgMove(-1);\r\n }\r\n \r\n }\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = new Date().getTime();\r\n return timestamp;\r\n }\r\n //获胜\r\n passLevel(){\r\n this.destroyLine();\r\n if(this.over == false && this.countTime >= 0){\r\n let timeArray = [];\r\n let timeCount = 0;\r\n let ball = this.ball_Array[0];\r\n for(let i=1; i< this.ball_Array.length; i++){\r\n let time = this.calculateDistance(this.ball_Array[i].x,this.ball_Array[i].y,\r\n this.ball_Array[i-1].x,this.ball_Array[i-1].y,2);\r\n timeArray.push(time);\r\n }\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n setTimeout(() => {\r\n cc.tween(ball)\r\n .to(timeArray[k-1],{x:this.ball_Array[k].x,y:this.ball_Array[k].y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n setTimeout(() => {\r\n this.ball.opacity = 255;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n ball.active = false;\r\n this.clearSun();\r\n this.reStart(0);\r\n }, 200);\r\n }\r\n })\r\n .start();\r\n }, timeCount*1000);\r\n timeCount += (timeArray[k-1]+0.1);\r\n }\r\n }\r\n }\r\n //失败\r\n loseLevel(type){\r\n this.destroyLine();\r\n if(this.over == false && this.countTime >= 0){\r\n let ball = this.ball_Array[0];\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n cc.tween(this.ball_Array[k])\r\n .to(2,{x:ball.x,y:ball.y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n this.ball.opacity = 255;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n this.clearSun();\r\n this.reStart(type);\r\n }\r\n })\r\n .start()\r\n }\r\n }\r\n }\r\n //清理太阳\r\n clearSun(){\r\n for(let k=0; k< this.ball_Array.length; k++){\r\n this.ball_Array[k].removeFromParent();\r\n this.ball_Array[k] = null;\r\n }\r\n }\r\n //点击太阳执行方法\r\n clickSun(data){\r\n if(this.begin == true){\r\n this.clickCount += 1;\r\n let clickTime = cc.fx.GameTool.getTime();\r\n this.time_Array.push((clickTime - this.timeStart))\r\n this.timeStart = cc.fx.GameTool.getTime();\r\n if(data == this.clickNow){\r\n cc.fx.AudioManager._instance.playAudioButton();\r\n if(this.clickNow > 0){\r\n this.createLine(cc.v2(this.ball_Array[this.clickNow-1].x,this.ball_Array[this.clickNow-1].y),\r\n cc.v2(this.ball_Array[this.clickNow].x,this.ball_Array[this.clickNow].y),\r\n 0.2); \r\n }\r\n this.clickNow += 1;\r\n if(this.ball_Array[this.clickNow-1])\r\n this.ball_Array[this.clickNow-1].getChildByName(\"guang\").active = false;\r\n if(this.clickNow == this.now_Array.length){\r\n this.pause = true;\r\n cc.fx.GameConfig.GM_INFO.total += this.clickNow;\r\n this.overTime = cc.fx.GameTool.getTime();\r\n if(this.startTime > 0 && this.overTime > 0){\r\n cc.fx.GameConfig.GM_INFO.mean_Time += (this.overTime - this.startTime);\r\n }\r\n let finish_time = parseInt((this.overTime - this.startTime)/100+\"\");\r\n this.startTime = 0; this.overTime = 0;\r\n let color = \"y\";\r\n if(this.level < 4 && this.level > 1)color = \"yr\";\r\n else if(this.level >= 4) color = \"yrb\";\r\n let win = this.node.getChildByName(\"Win\");\r\n win.active = true; win.setScale(0);\r\n cc.fx.AudioManager._instance.playWin();\r\n this.round += 1;\r\n let sunArray = [];\r\n if(this.moveArray.length > 0){\r\n for(let m=0 ; m 50){\r\n cc.fx.GameConfig.CLICK_DATA.duration = 50;\r\n }\r\n this.setData();\r\n cc.tween(win)\r\n .delay(0.4)\r\n .to(0.01,{scale:2.5})\r\n .to(0.35,{scale:1})\r\n .delay(0.4)\r\n .call(() =>{\r\n win.active = false;\r\n this.destroyLine();\r\n if(this.over == false && this.countTime >= 0){\r\n if(this.level >= 15){\r\n cc.fx.GameConfig.GM_INFO.success = true;\r\n this.level += 0;\r\n // this.levelLabel.string = this.level + \"\";\r\n this.fuhuo = true;\r\n this.passLevel();\r\n }\r\n else{\r\n this.level += 1;\r\n // this.levelLabel.string = this.level + \"\";\r\n this.fuhuo = true;\r\n this.passLevel();\r\n }\r\n }\r\n })\r\n .start();\r\n }\r\n }\r\n else{\r\n this.setLoss();\r\n }\r\n }\r\n }\r\n //执行失败\r\n setLoss(){\r\n cc.fx.AudioManager._instance.playWarning();\r\n this.begin = false;\r\n this.overTime = cc.fx.GameTool.getTime();\r\n if(this.startTime > 0 && this.overTime > 0){\r\n cc.fx.GameConfig.GM_INFO.mean_Time += (this.overTime - this.startTime);\r\n }\r\n let finish_time = parseInt((this.overTime - this.startTime)/100+\"\");\r\n if(finish_time > 58) finish_time = 58;\r\n this.startTime = 0; this.overTime = 0;\r\n let color = \"y\";\r\n if(this.level < 4 && this.level > 1)color = \"yr\";\r\n else if(this.level >= 4) color = \"yrb\";\r\n this.round += 1;\r\n let sunArray = [];\r\n if(this.moveArray.length > 0){\r\n for(let m=0 ; m 50){\r\n cc.fx.GameConfig.CLICK_DATA.duration = 50;\r\n }\r\n this.setData();\r\n if(this.fuhuo == true){\r\n this.fuhuo = false;\r\n this.loseLevel(1);\r\n } \r\n else{\r\n if(this.level > 2){\r\n this.level -= 1;\r\n // this.levelLabel.string = this.level + \"\";\r\n this.fuhuo = true;\r\n // this.fuhuo = false;\r\n this.loseLevel(2);\r\n }\r\n else{\r\n this.loseLevel(1);\r\n }\r\n }\r\n let over = this.node.getChildByName(\"Over\");\r\n cc.tween(over)\r\n .to(0.25,{opacity:255})\r\n .delay(0.1)\r\n .to(0.2,{opacity:0})\r\n .delay(0.1)\r\n .to(0.15,{opacity:255})\r\n .delay(0.1)\r\n .to(0.1,{opacity:0})\r\n .start();\r\n }\r\n //开始游戏\r\n startGame(){\r\n if(this.over == false && this.countTime > 0){\r\n this.pause = true;\r\n this.createSun();\r\n this.begin = false;\r\n cc.tween(this.ball)\r\n .to(0.5,{opacity:255,scale:1.3})\r\n .start();\r\n }\r\n }\r\n //执行太阳运行动画,以及后面移动动画\r\n runGame(){\r\n let time = -650;\r\n for(let i=0; i {\r\n if(this.over == false){\r\n let temp = this.now_Array[i].timeCount;\r\n if(temp > 0.5) temp = 0.5;\r\n if(i != 0){\r\n if(this.ball && this.now_Array[i]){\r\n this.createLine(cc.v2(this.ball.x,this.ball.y),cc.v2(this.now_Array[i].x,this.now_Array[i].y),\r\n this.now_Array[i].time-temp);\r\n }\r\n }\r\n \r\n cc.tween(this.ball)\r\n .to(this.now_Array[i].time-temp,{x:this.now_Array[i].x,y:this.now_Array[i].y})\r\n .to(0.1,{scale:1})\r\n .call(()=>{\r\n this.createBall(i,this.now_Array[i].color,this.now_Array[i].speed,this.now_Array[i].repeat);\r\n if(i == this.now_Array.length -1){\r\n this.ball.opacity = 0;\r\n setTimeout(() => {\r\n this.destroyLine();\r\n this.beginGame();\r\n if(cc.fx.GameConfig.LEVEL_INFO[this.level-1].moveNumber<1){\r\n this.pause = false;\r\n }\r\n else{\r\n this.moveAction();\r\n }\r\n \r\n }, 150);\r\n }\r\n })\r\n .start()\r\n }\r\n }, time);\r\n }\r\n }\r\n //设置移动重叠数据\r\n createMove(){\r\n if(this.over == false){\r\n let info = cc.fx.GameConfig.LEVEL_INFO[this.level-1];\r\n //改变移动速度\r\n var speed = 7;\r\n if(info.moveSpeed >= 2){\r\n speed = 7 - info.moveSpeed/2;\r\n }\r\n if(info.repeat == 1){\r\n this.repeat = parseInt((Math.random()*(info.number-1)+1) + \"\");\r\n let tempNumber = 0;\r\n // this.repeat = 4;\r\n if(this.repeat > 4){\r\n this.numberRepeat = parseInt(Math.random()*4 + \"\");\r\n if(this.repeat == (info.number-1)) //如果是最后一个 不能跟第一个重叠\r\n this.numberRepeat = this.repeat - parseInt( (Math.random()*3 + 2)+ \"\")\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n this.Pos_Array[this.repeat ] = tempNumber;\r\n }\r\n else{ // 0 1 2 3 4 5 \r\n // 6 - 3 - 1 = 2 4 01 4\r\n if(this.repeat == 0) this.repeat = 1;\r\n if((info.number-1-this.repeat ) == 2){\r\n this.numberRepeat = info.number - 1;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n }\r\n else if((info.number-1-this.repeat ) == 1){\r\n this.numberRepeat = this.repeat - 2;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n } \r\n else if((info.number-1-this.repeat ) == 0){\r\n this.numberRepeat = this.repeat - 2;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n } \r\n else if((info.number-1-this.repeat ) > 2){\r\n this.numberRepeat = parseInt(Math.random()*(info.number-this.repeat -2) + \"\") + this.repeat + 2 ;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n }\r\n else{\r\n this.numberRepeat = this.repeat - 2;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n }\r\n this.Pos_Array[this.repeat] = tempNumber;\r\n }\r\n }\r\n if(info.moveNumber > 0){\r\n //0 1 2 3 4 5 6 7 8 9\r\n //可移动区分\r\n let pos = cc.v2(0,0);\r\n for(let z=0; z Math.random() - 0.5);\r\n if(this.moveArray[0] == 1){\r\n for(let r=info.number-1; r>=0; r--){\r\n if(this.moveArray[r] == 0){\r\n this.moveArray[r] = 1;\r\n this.moveArray[0] = 0;\r\n r = -1;\r\n }\r\n }\r\n }\r\n //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7\r\n for(let k =0; k= 0; m--){\r\n if(m != k && this.moveArray[m] == 0 && m!= this.repeat && m!= this.numberRepeat){\r\n this.moveArray[m] = 1;\r\n this.moveArray[k] = 0;\r\n m = -1;\r\n }\r\n }\r\n }\r\n }\r\n for(let i =0; i {\r\n pos = this.getPos2(true,i);\r\n this.Pos_Array[i] = pos;\r\n }, timeOut*300);\r\n }\r\n }\r\n\r\n }\r\n }\r\n }\r\n //移动后数据 重新刷一遍赋值\r\n updateArray(){\r\n for(let i=0; i= 2){\r\n speed = 7 - info.moveSpeed/2;\r\n } \r\n if(info.moveNumber > 0){\r\n //0 1 2 3 4 5 6 7 8 9\r\n //可移动区分\r\n //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7\r\n for(let k =0; k= 0; m--){\r\n if(m != k && this.moveArray[m] == 0 && m!= this.repeat && m!= this.numberRepeat){\r\n this.moveArray[m] = 1;\r\n this.moveArray[k] = 0;\r\n m = -1;\r\n }\r\n }\r\n }\r\n }\r\n let lastNumber = 0;\r\n //锁定最后一个可移动的\r\n for(let j =0; j{\r\n this.ball_Array[i].getComponent(\"Sun\").move = false;\r\n })\r\n .start();\r\n }\r\n //如果是最后一个\r\n else{\r\n let time = speed*this.calculateDistance(this.ball_Array[i].x,this.ball_Array[i].y,this.Pos_Array[i].x,this.Pos_Array[i].y,3);\r\n this.ball_Array[i].getComponent(\"Sun\").move = true;\r\n cc.tween(this.ball_Array[i])\r\n .to(time,{position:this.Pos_Array[i]})\r\n .call(() =>{\r\n this.ball_Array[i].getComponent(\"Sun\").move = false;\r\n })\r\n .start();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n //每次重新开始新一轮儿游戏\r\n beginGame(){\r\n this.begin = true;\r\n this.startTime = cc.fx.GameTool.getTime();\r\n this.timeStart = cc.fx.GameTool.getTime();\r\n this.pause = false;\r\n // this.node.getChildByName(\"showBtn\").active = true;\r\n }\r\n\r\n //创建太阳所需数据\r\n createSun(){\r\n let levelData = cc.fx.GameConfig.LEVEL_INFO[this.level-1];\r\n let tiemOut = 0;\r\n for(let l=0; l {\r\n if(this.over == false){\r\n let pos = this.getPos(false,l);\r\n this.Pos_Array.push(pos);\r\n if(this.Pos_Array.length == levelData.number){\r\n this.createMove();\r\n this.createPos();\r\n }\r\n }\r\n\r\n }, tiemOut*100);\r\n }\r\n }\r\n //创建太阳位置,颜色信息等数据\r\n createPos(){\r\n let data = {x:this.ball.x,y:this.ball.y,time:0,timeCount:0,color:0,speed:0,repeat:false};\r\n let levelData = cc.fx.GameConfig.LEVEL_INFO[this.level-1];\r\n //颜色区分\r\n let colorArray = [0,1];\r\n for(let j=0; j Math.random() - 0.5);\r\n }\r\n colorArray.sort(() => Math.random() - 0.5);\r\n if(levelData.number == 4) colorArray = [0,0,0,0];\r\n this.color_Array = colorArray;\r\n //存储太阳数据\r\n for(let i=0; i 0){\r\n for(let i=0; i 0){\r\n for(let i=0; i 160){\r\n if(num == true){\r\n cc.fx.GameConfig\r\n if(distance < cc.fx.GameConfig.LEVEL_INFO[this.level-1].maxMove){\r\n jg = true;\r\n } \r\n else jg = false;\r\n }\r\n else{\r\n if(distance < cc.fx.GameConfig.LEVEL_INFO[this.level-1].maxMove){\r\n jg = true;\r\n } \r\n else jg = false;\r\n }\r\n }\r\n return jg;\r\n }\r\n //命中动画\r\n hitAction(data){\r\n this.hit.active = true; this.hit.opacity = 0;\r\n this.hit.setPosition\r\n this.hit.setPosition(this.ball_Array[data].x+35,this.ball_Array[data].y+35);\r\n cc.tween(this.hit)\r\n .to(0,{opacity:255})\r\n .to(0.2,{position:cc.v3(this.hit.x-35,this.hit.y-35,0)})\r\n .delay(0.2)\r\n .to(0.1,{opacity:0})\r\n .call(() =>{\r\n this.hit.active = false;\r\n })\r\n .start();\r\n }\r\n //创造太阳\r\n createBall(number,color,speed,repeat){\r\n let ball = null;\r\n if(color == 0)ball = cc.instantiate(this.qiu1);\r\n else if(color == 1)ball = cc.instantiate(this.qiu2);\r\n else if(color == 2)ball = cc.instantiate(this.qiu3);\r\n ball.parent = this.node.getChildByName(\"Sun\");\r\n ball.zIndex = this.now_Array.length - number;\r\n ball.setPosition(this.ball.x,this.ball.y);\r\n ball.getComponent(\"Sun\").init(number,color,speed,repeat);\r\n this.ball_Array.push(ball);\r\n }\r\n //销毁连线\r\n destroyLine() {\r\n for(let i =0; i< this.node.getChildByName(\"Line\").children.length;i++){\r\n if(this.node.getChildByName(\"Line\").children[i]){\r\n this.node.getChildByName(\"Line\").children[i].removeFromParent();\r\n this.node.getChildByName(\"Line\").children[i] = null;\r\n }\r\n }\r\n this.node.getChildByName(\"Line\").removeAllChildren();\r\n }\r\n //创建连线\r\n createLine(start,end,time){\r\n let line = cc.instantiate(this.linePrefab);\r\n line.parent = this.node.getChildByName(\"Line\");\r\n line.setPosition(start.x,start.y);\r\n const dx = end.x - start.x;\r\n const dy = end.y - start.y;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n line.height = distance;\r\n line.getComponent(cc.Sprite).fillRange = 0;\r\n line.angle = -this.calculateAngle(start.x,start.y,end.x,end.y);\r\n cc.tween(line.getComponent(cc.Sprite))\r\n .to(time,{fillRange:1})\r\n .start();\r\n }\r\n //获取两点之间的角度,将来都可放工具类\r\n calculateAngle(x1, y1, x2, y2) {\r\n var angle = Math.atan2(y2-y1,x2-x1)*180 / Math.PI - 90;\r\n return -angle;\r\n }\r\n //获取两点之间的距离 返回对应时间\r\n calculateDistance(x1, y1, x2, y2, num) {\r\n const dx = x2 - x1;\r\n const dy = y2 - y1;\r\n let time = 0;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n if(num == 1){\r\n if(distance > 800) distance = 800;\r\n time = distance/800 * 0.6;\r\n }\r\n else if(num == 2){\r\n if(distance > 1200) distance = 1200;\r\n time = distance/1200 * 1;\r\n }\r\n else if(num == 3){\r\n if(distance > 1200) distance = 1200;\r\n time = distance/1200 * 1.5;\r\n }\r\n\r\n return time;\r\n }\r\n //获取两点之间距离 返回距离判断\r\n getDistance2(x1, y1, x2, y2,num) {\r\n var jg = false;\r\n const dx = x2 - x1;\r\n const dy = y2 - y1;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n if(distance > 160){\r\n if(num == true){\r\n if(distance < cc.fx.GameConfig.LEVEL_INFO[this.level-1].maxDistance) jg = true;\r\n else jg = false;\r\n }\r\n else{\r\n jg = true;\r\n }\r\n }\r\n return jg;\r\n }\r\n //背景移动\r\n bgMove(type){\r\n let random = Math.random()*300 + 300;\r\n let posX = Math.random()*600 - 300;\r\n let y1 = this.bg1.y - random*type;\r\n let time1 = 0.7*(random/400);\r\n cc.tween(this.ball)\r\n .to(0.3,{scale:1.3})\r\n .to(time1,{x:posX})\r\n .start();\r\n cc.tween(this.bg1)\r\n .delay(0.3)\r\n .to(time1,{y:y1})\r\n .start();\r\n setTimeout(() => {\r\n if(this.over == false) this.startGame();\r\n }, time1*1500);\r\n }\r\n //如果是倒计时 调用此方法\r\n updateCountDownTime () {\r\n if (this.countTime > 0 && this.pause == false) {\r\n this.countTime -= 1;\r\n this.time.string = cc.fx.GameTool.getTimeMargin(this.countTime);\r\n if(this.countTime < 5){\r\n cc.tween(this.time.node)\r\n .to(0.25,{scale:1.5,color:cc.color(255,0,0)})\r\n .to(0.25,{scale:1,color:cc.color(255,255,255)})\r\n .start()\r\n let over = this.node.getChildByName(\"Over\");\r\n cc.tween(over)\r\n .to(0.2,{opacity:255})\r\n .delay(0.1)\r\n .to(0.2,{opacity:0})\r\n .start();\r\n }\r\n if(this.countTime <= 0){\r\n this.begin = false;\r\n this.over = true;\r\n this.unschedule(this.updateCountDownTime);\r\n this.setLoss();\r\n var time = 0;\r\n if(this.clickCount > 0) time = parseInt(cc.fx.GameConfig.GM_INFO.mean_Time/this.clickCount + \"\");\r\n cc.fx.GameConfig.GM_INFO.mean_Time = parseInt(time/100 + \"\");\r\n cc.fx.GameConfig.GM_INFO.mean_Time = cc.fx.GameConfig.GM_INFO.mean_Time /10;\r\n if(time > 10000) time = (Math.random()*10+5)*100;\r\n this.gameOver(time);\r\n }\r\n }\r\n }\r\n //上传每次操作数据\r\n setData(){\r\n cc.fx.GameTool.setGameData();\r\n }\r\n //上传排行榜数据\r\n gameOver(time){\r\n cc.fx.GameTool.setRank(time);\r\n this.node.getChildByName(\"GameOver\").active = true;\r\n this.node.getChildByName(\"GameOver\").opacity = 0;\r\n cc.tween(this.node.getChildByName(\"GameOver\"))\r\n .to(0.4,{opacity:255})\r\n .delay(2)\r\n .to(0.4,{opacity:50})\r\n .call(() =>{\r\n cc.director.loadScene(\"OverScene\");\r\n })\r\n .start()\r\n }\r\n //作弊,测试用\r\n showNumber(){\r\n if(this.show == false) this.show = true;\r\n else if(this.show == true) this.show = false;\r\n for(let i=0; i (16.2 / 9)) return false;\r\n return true;\r\n }\r\n //判断全面屏适配\r\n setFit () {\r\n let flag = this.getSetScreenResolutionFlag();\r\n if (flag) {\r\n } else {\r\n }\r\n return flag;\r\n }\r\n //返回首页\r\n backScene(){\r\n cc.director.loadScene(\"LoadScene\");\r\n }\r\n //下一关,或者重新开始,或者返回上一关,根据level决定\r\n reStart(type){\r\n // if(cc.fx.GameConfig.GM_INFO.custom != 0){\r\n // cc.director.loadScene(\"LoadScene\");\r\n // return;\r\n // }\r\n this.node.getChildByName(\"showBtn\").active = false;\r\n this.destroyLine();\r\n this.timeCount = 0.1;\r\n this.clickNow = 0;\r\n this.timeStart = 0;\r\n this.repeat = -1;\r\n this.numberRepeat = -1;\r\n this.begin = false;\r\n this.route_Array = [];\r\n this.now_Array = [];\r\n this.ball_Array = [];\r\n this.Pos_Array = [];\r\n this.moveArray = [];\r\n this.time_Array = [];\r\n this.color_Array = [];\r\n if(type == 0){\r\n this.bgMove(1);\r\n }\r\n else if(type == 1){\r\n this.startGame();\r\n }\r\n else if(type == 2){\r\n this.bgMove(-1);\r\n }\r\n \r\n }\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = new Date().getTime();\r\n return timestamp;\r\n }\r\n //获胜\r\n passLevel(){\r\n this.destroyLine();\r\n if(this.over == false && this.countTime >= 0){\r\n let timeArray = [];\r\n let timeCount = 0;\r\n let ball = this.ball_Array[0];\r\n for(let i=1; i< this.ball_Array.length; i++){\r\n let time = this.calculateDistance(this.ball_Array[i].x,this.ball_Array[i].y,\r\n this.ball_Array[i-1].x,this.ball_Array[i-1].y,2);\r\n timeArray.push(time);\r\n }\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n setTimeout(() => {\r\n cc.tween(ball)\r\n .to(timeArray[k-1],{x:this.ball_Array[k].x,y:this.ball_Array[k].y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n setTimeout(() => {\r\n this.ball.opacity = 255;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n ball.active = false;\r\n this.clearSun();\r\n this.reStart(0);\r\n }, 200);\r\n }\r\n })\r\n .start();\r\n }, timeCount*1000);\r\n timeCount += (timeArray[k-1]+0.1);\r\n }\r\n }\r\n }\r\n //失败\r\n loseLevel(type){\r\n this.destroyLine();\r\n if(this.over == false && this.countTime >= 0){\r\n let ball = this.ball_Array[0];\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n cc.tween(this.ball_Array[k])\r\n .to(2,{x:ball.x,y:ball.y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n this.ball.opacity = 255;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n this.clearSun();\r\n this.reStart(type);\r\n }\r\n })\r\n .start()\r\n }\r\n }\r\n }\r\n //清理太阳\r\n clearSun(){\r\n for(let k=0; k< this.ball_Array.length; k++){\r\n this.ball_Array[k].removeFromParent();\r\n this.ball_Array[k] = null;\r\n }\r\n cc.fx.GameConfig.GM_INFO.gap = [];\r\n }\r\n //点击太阳执行方法\r\n clickSun(data){\r\n if(this.begin == true){\r\n this.clickCount += 1;\r\n let clickTime = cc.fx.GameTool.getTime();\r\n this.time_Array.push((clickTime - this.timeStart))\r\n this.timeStart = cc.fx.GameTool.getTime();\r\n\r\n if(data.id == this.clickNow){\r\n cc.fx.AudioManager._instance.playAudioButton();\r\n if(this.clickNow > 0){\r\n this.createLine(cc.v2(this.ball_Array[this.clickNow-1].x,this.ball_Array[this.clickNow-1].y),\r\n cc.v2(this.ball_Array[this.clickNow].x,this.ball_Array[this.clickNow].y),\r\n 0.2); \r\n }\r\n this.clickNow += 1;\r\n cc.fx.GameConfig.GM_INFO.gap.push(data.distance);\r\n if(this.ball_Array[this.clickNow-1])\r\n this.ball_Array[this.clickNow-1].getChildByName(\"guang\").active = false;\r\n if(this.clickNow == this.now_Array.length){\r\n this.pause = true;\r\n cc.fx.GameConfig.GM_INFO.total += this.clickNow;\r\n this.overTime = cc.fx.GameTool.getTime();\r\n if(this.startTime > 0 && this.overTime > 0){\r\n cc.fx.GameConfig.GM_INFO.mean_Time += (this.overTime - this.startTime);\r\n }\r\n let finish_time = parseInt((this.overTime - this.startTime)/100+\"\");\r\n this.startTime = 0; this.overTime = 0;\r\n let color = \"y\";\r\n if(this.level < 4 && this.level > 1)color = \"yr\";\r\n else if(this.level >= 4) color = \"yrb\";\r\n let win = this.node.getChildByName(\"Win\");\r\n win.active = true; win.setScale(0);\r\n cc.fx.AudioManager._instance.playWin();\r\n this.round += 1;\r\n let sunArray = [];\r\n if(this.moveArray.length > 0){\r\n for(let m=0 ; m 50){\r\n cc.fx.GameConfig.CLICK_DATA.duration = 50;\r\n }\r\n \r\n this.setData();\r\n cc.tween(win)\r\n .delay(0.4)\r\n .to(0.01,{scale:2.5})\r\n .to(0.35,{scale:1})\r\n .delay(0.4)\r\n .call(() =>{\r\n win.active = false;\r\n this.destroyLine();\r\n if(this.over == false && this.countTime >= 0){\r\n if(this.level >= 15){\r\n cc.fx.GameConfig.GM_INFO.success = true;\r\n this.level += 0;\r\n // this.levelLabel.string = this.level + \"\";\r\n this.fuhuo = true;\r\n this.passLevel();\r\n }\r\n else{\r\n this.level += 1;\r\n // this.levelLabel.string = this.level + \"\";\r\n this.fuhuo = true;\r\n this.passLevel();\r\n }\r\n }\r\n })\r\n .start();\r\n }\r\n }\r\n else{\r\n this.setLoss(data);\r\n }\r\n }\r\n }\r\n //执行失败\r\n setLoss(data){\r\n cc.fx.AudioManager._instance.playWarning();\r\n this.begin = false;\r\n this.overTime = cc.fx.GameTool.getTime();\r\n if(this.startTime > 0 && this.overTime > 0){\r\n cc.fx.GameConfig.GM_INFO.mean_Time += (this.overTime - this.startTime);\r\n }\r\n let finish_time = parseInt((this.overTime - this.startTime)/100+\"\");\r\n if(finish_time > 58) finish_time = 58;\r\n this.startTime = 0; this.overTime = 0;\r\n let color = \"y\";\r\n if(this.level < 4 && this.level > 1)color = \"yr\";\r\n else if(this.level >= 4) color = \"yrb\";\r\n this.round += 1;\r\n let sunArray = [];\r\n if(this.moveArray.length > 0){\r\n for(let m=0 ; m 50){\r\n cc.fx.GameConfig.CLICK_DATA.duration = 50;\r\n }\r\n\r\n this.setData();\r\n if(this.fuhuo == true){\r\n this.fuhuo = false;\r\n this.loseLevel(1);\r\n } \r\n else{\r\n if(this.level > 2){\r\n this.level -= 1;\r\n // this.levelLabel.string = this.level + \"\";\r\n this.fuhuo = true;\r\n // this.fuhuo = false;\r\n this.loseLevel(2);\r\n }\r\n else{\r\n this.loseLevel(1);\r\n }\r\n }\r\n let over = this.node.getChildByName(\"Over\");\r\n cc.tween(over)\r\n .to(0.25,{opacity:255})\r\n .delay(0.1)\r\n .to(0.2,{opacity:0})\r\n .delay(0.1)\r\n .to(0.15,{opacity:255})\r\n .delay(0.1)\r\n .to(0.1,{opacity:0})\r\n .start();\r\n }\r\n //开始游戏\r\n startGame(){\r\n if(this.over == false && this.countTime > 0){\r\n this.pause = true;\r\n this.createSun();\r\n this.begin = false;\r\n cc.tween(this.ball)\r\n .to(0.5,{opacity:255,scale:1.3})\r\n .start();\r\n }\r\n }\r\n //执行太阳运行动画,以及后面移动动画\r\n runGame(){\r\n let time = -650;\r\n for(let i=0; i {\r\n if(this.over == false){\r\n let temp = this.now_Array[i].timeCount;\r\n if(temp > 0.5) temp = 0.5;\r\n if(i != 0){\r\n if(this.ball && this.now_Array[i]){\r\n this.createLine(cc.v2(this.ball.x,this.ball.y),cc.v2(this.now_Array[i].x,this.now_Array[i].y),\r\n this.now_Array[i].time-temp);\r\n }\r\n }\r\n \r\n cc.tween(this.ball)\r\n .to(this.now_Array[i].time-temp,{x:this.now_Array[i].x,y:this.now_Array[i].y})\r\n .to(0.1,{scale:1})\r\n .call(()=>{\r\n this.createBall(i,this.now_Array[i].color,this.now_Array[i].speed,this.now_Array[i].repeat);\r\n if(i == this.now_Array.length -1){\r\n this.ball.opacity = 0;\r\n setTimeout(() => {\r\n this.destroyLine();\r\n this.beginGame();\r\n if(cc.fx.GameConfig.LEVEL_INFO[this.level-1].moveNumber<1){\r\n this.pause = false;\r\n }\r\n else{\r\n this.moveAction();\r\n }\r\n \r\n }, 150);\r\n }\r\n })\r\n .start()\r\n }\r\n }, time);\r\n }\r\n }\r\n //设置移动重叠数据\r\n createMove(){\r\n if(this.over == false){\r\n let info = cc.fx.GameConfig.LEVEL_INFO[this.level-1];\r\n //改变移动速度\r\n var speed = 7;\r\n if(info.moveSpeed >= 2){\r\n speed = 7 - info.moveSpeed/2;\r\n }\r\n if(info.repeat == 1){\r\n this.repeat = parseInt((Math.random()*(info.number-1)+1) + \"\");\r\n let tempNumber = 0;\r\n // this.repeat = 4;\r\n if(this.repeat > 4){\r\n this.numberRepeat = parseInt(Math.random()*4 + \"\");\r\n if(this.repeat == (info.number-1)) //如果是最后一个 不能跟第一个重叠\r\n this.numberRepeat = this.repeat - parseInt( (Math.random()*3 + 2)+ \"\")\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n this.Pos_Array[this.repeat ] = tempNumber;\r\n }\r\n else{ // 0 1 2 3 4 5 \r\n // 6 - 3 - 1 = 2 4 01 4\r\n if(this.repeat == 0) this.repeat = 1;\r\n if((info.number-1-this.repeat ) == 2){\r\n this.numberRepeat = info.number - 1;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n }\r\n else if((info.number-1-this.repeat ) == 1){\r\n this.numberRepeat = this.repeat - 2;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n } \r\n else if((info.number-1-this.repeat ) == 0){\r\n this.numberRepeat = this.repeat - 2;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n } \r\n else if((info.number-1-this.repeat ) > 2){\r\n this.numberRepeat = parseInt(Math.random()*(info.number-this.repeat -2) + \"\") + this.repeat + 2 ;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n }\r\n else{\r\n this.numberRepeat = this.repeat - 2;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n }\r\n this.Pos_Array[this.repeat] = tempNumber;\r\n }\r\n }\r\n if(info.moveNumber > 0){\r\n //0 1 2 3 4 5 6 7 8 9\r\n //可移动区分\r\n let pos = cc.v2(0,0);\r\n for(let z=0; z Math.random() - 0.5);\r\n if(this.moveArray[0] == 1){\r\n for(let r=info.number-1; r>=0; r--){\r\n if(this.moveArray[r] == 0){\r\n this.moveArray[r] = 1;\r\n this.moveArray[0] = 0;\r\n r = -1;\r\n }\r\n }\r\n }\r\n //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7\r\n for(let k =0; k= 0; m--){\r\n if(m != k && this.moveArray[m] == 0 && m!= this.repeat && m!= this.numberRepeat){\r\n this.moveArray[m] = 1;\r\n this.moveArray[k] = 0;\r\n m = -1;\r\n }\r\n }\r\n }\r\n }\r\n for(let i =0; i {\r\n pos = this.getPos2(true,i);\r\n this.Pos_Array[i] = pos;\r\n }, timeOut*300);\r\n }\r\n }\r\n\r\n }\r\n }\r\n }\r\n //移动后数据 重新刷一遍赋值\r\n updateArray(){\r\n for(let i=0; i= 2){\r\n speed = 7 - info.moveSpeed/2;\r\n } \r\n if(info.moveNumber > 0){\r\n //0 1 2 3 4 5 6 7 8 9\r\n //可移动区分\r\n //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7\r\n for(let k =0; k= 0; m--){\r\n if(m != k && this.moveArray[m] == 0 && m!= this.repeat && m!= this.numberRepeat){\r\n this.moveArray[m] = 1;\r\n this.moveArray[k] = 0;\r\n m = -1;\r\n }\r\n }\r\n }\r\n }\r\n let lastNumber = 0;\r\n //锁定最后一个可移动的\r\n for(let j =0; j{\r\n this.ball_Array[i].getComponent(\"Sun\").move = false;\r\n })\r\n .start();\r\n }\r\n //如果是最后一个\r\n else{\r\n let time = speed*this.calculateDistance(this.ball_Array[i].x,this.ball_Array[i].y,this.Pos_Array[i].x,this.Pos_Array[i].y,3);\r\n this.ball_Array[i].getComponent(\"Sun\").move = true;\r\n cc.tween(this.ball_Array[i])\r\n .to(time,{position:this.Pos_Array[i]})\r\n .call(() =>{\r\n this.ball_Array[i].getComponent(\"Sun\").move = false;\r\n })\r\n .start();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n //每次重新开始新一轮儿游戏\r\n beginGame(){\r\n this.begin = true;\r\n this.startTime = cc.fx.GameTool.getTime();\r\n this.timeStart = cc.fx.GameTool.getTime();\r\n this.pause = false;\r\n // this.node.getChildByName(\"showBtn\").active = true;\r\n }\r\n\r\n //创建太阳所需数据\r\n createSun(){\r\n let levelData = cc.fx.GameConfig.LEVEL_INFO[this.level-1];\r\n let tiemOut = 0;\r\n for(let l=0; l {\r\n if(this.over == false){\r\n let pos = this.getPos(false,l);\r\n this.Pos_Array.push(pos);\r\n if(this.Pos_Array.length == levelData.number){\r\n this.createMove();\r\n this.createPos();\r\n }\r\n }\r\n\r\n }, tiemOut*100);\r\n }\r\n }\r\n //创建太阳位置,颜色信息等数据\r\n createPos(){\r\n let data = {x:this.ball.x,y:this.ball.y,time:0,timeCount:0,color:0,speed:0,repeat:false};\r\n let levelData = cc.fx.GameConfig.LEVEL_INFO[this.level-1];\r\n //颜色区分\r\n let colorArray = [0,1];\r\n for(let j=0; j Math.random() - 0.5);\r\n }\r\n colorArray.sort(() => Math.random() - 0.5);\r\n if(levelData.number == 4) colorArray = [0,0,0,0];\r\n this.color_Array = colorArray;\r\n //存储太阳数据\r\n for(let i=0; i 0){\r\n for(let i=0; i 0){\r\n for(let i=0; i 160){\r\n if(num == true){\r\n cc.fx.GameConfig\r\n if(distance < cc.fx.GameConfig.LEVEL_INFO[this.level-1].maxMove){\r\n jg = true;\r\n } \r\n else jg = false;\r\n }\r\n else{\r\n if(distance < cc.fx.GameConfig.LEVEL_INFO[this.level-1].maxMove){\r\n jg = true;\r\n } \r\n else jg = false;\r\n }\r\n }\r\n return jg;\r\n }\r\n //命中动画\r\n hitAction(data){\r\n this.hit.active = true; this.hit.opacity = 0;\r\n this.hit.setPosition\r\n this.hit.setPosition(this.ball_Array[data].x+35,this.ball_Array[data].y+35);\r\n cc.tween(this.hit)\r\n .to(0,{opacity:255})\r\n .to(0.2,{position:cc.v3(this.hit.x-35,this.hit.y-35,0)})\r\n .delay(0.2)\r\n .to(0.1,{opacity:0})\r\n .call(() =>{\r\n this.hit.active = false;\r\n })\r\n .start();\r\n }\r\n //创造太阳\r\n createBall(number,color,speed,repeat){\r\n let ball = null;\r\n if(color == 0)ball = cc.instantiate(this.qiu1);\r\n else if(color == 1)ball = cc.instantiate(this.qiu2);\r\n else if(color == 2)ball = cc.instantiate(this.qiu3);\r\n ball.parent = this.node.getChildByName(\"Sun\");\r\n ball.zIndex = this.now_Array.length - number;\r\n ball.setPosition(this.ball.x,this.ball.y);\r\n ball.getComponent(\"Sun\").init(number,color,speed,repeat);\r\n this.ball_Array.push(ball);\r\n }\r\n //销毁连线\r\n destroyLine() {\r\n for(let i =0; i< this.node.getChildByName(\"Line\").children.length;i++){\r\n if(this.node.getChildByName(\"Line\").children[i]){\r\n this.node.getChildByName(\"Line\").children[i].removeFromParent();\r\n this.node.getChildByName(\"Line\").children[i] = null;\r\n }\r\n }\r\n this.node.getChildByName(\"Line\").removeAllChildren();\r\n }\r\n //创建连线\r\n createLine(start,end,time){\r\n let line = cc.instantiate(this.linePrefab);\r\n line.parent = this.node.getChildByName(\"Line\");\r\n line.setPosition(start.x,start.y);\r\n const dx = end.x - start.x;\r\n const dy = end.y - start.y;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n line.height = distance;\r\n line.getComponent(cc.Sprite).fillRange = 0;\r\n line.angle = -this.calculateAngle(start.x,start.y,end.x,end.y);\r\n cc.tween(line.getComponent(cc.Sprite))\r\n .to(time,{fillRange:1})\r\n .start();\r\n }\r\n //获取两点之间的角度,将来都可放工具类\r\n calculateAngle(x1, y1, x2, y2) {\r\n var angle = Math.atan2(y2-y1,x2-x1)*180 / Math.PI - 90;\r\n return -angle;\r\n }\r\n //获取两点之间的距离 返回对应时间\r\n calculateDistance(x1, y1, x2, y2, num) {\r\n const dx = x2 - x1;\r\n const dy = y2 - y1;\r\n let time = 0;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n if(num == 1){\r\n if(distance > 800) distance = 800;\r\n time = distance/800 * 0.6;\r\n }\r\n else if(num == 2){\r\n if(distance > 1200) distance = 1200;\r\n time = distance/1200 * 1;\r\n }\r\n else if(num == 3){\r\n if(distance > 1200) distance = 1200;\r\n time = distance/1200 * 1.5;\r\n }\r\n\r\n return time;\r\n }\r\n //获取两点之间距离 返回距离判断\r\n getDistance2(x1, y1, x2, y2,num) {\r\n var jg = false;\r\n const dx = x2 - x1;\r\n const dy = y2 - y1;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n if(distance > 160){\r\n if(num == true){\r\n if(distance < cc.fx.GameConfig.LEVEL_INFO[this.level-1].maxDistance) jg = true;\r\n else jg = false;\r\n }\r\n else{\r\n jg = true;\r\n }\r\n }\r\n return jg;\r\n }\r\n //背景移动\r\n bgMove(type){\r\n let random = Math.random()*300 + 300;\r\n let posX = Math.random()*600 - 300;\r\n let y1 = this.bg1.y - random*type;\r\n let time1 = 0.7*(random/400);\r\n cc.tween(this.ball)\r\n .to(0.3,{scale:1.3})\r\n .to(time1,{x:posX})\r\n .start();\r\n cc.tween(this.bg1)\r\n .delay(0.3)\r\n .to(time1,{y:y1})\r\n .start();\r\n setTimeout(() => {\r\n if(this.over == false) this.startGame();\r\n }, time1*1500);\r\n }\r\n //如果是倒计时 调用此方法\r\n updateCountDownTime () {\r\n if (this.countTime > 0 && this.pause == false) {\r\n this.countTime -= 1;\r\n this.time.string = cc.fx.GameTool.getTimeMargin(this.countTime);\r\n if(this.countTime < 5){\r\n cc.tween(this.time.node)\r\n .to(0.25,{scale:1.5,color:cc.color(255,0,0)})\r\n .to(0.25,{scale:1,color:cc.color(255,255,255)})\r\n .start()\r\n let over = this.node.getChildByName(\"Over\");\r\n cc.tween(over)\r\n .to(0.2,{opacity:255})\r\n .delay(0.1)\r\n .to(0.2,{opacity:0})\r\n .start();\r\n }\r\n if(this.countTime <= 0){\r\n this.begin = false;\r\n this.over = true;\r\n this.unschedule(this.updateCountDownTime);\r\n this.setLoss({distance:0});\r\n var time = 0;\r\n if(this.clickCount > 0) time = parseInt(cc.fx.GameConfig.GM_INFO.mean_Time/this.clickCount + \"\");\r\n cc.fx.GameConfig.GM_INFO.mean_Time = parseInt(time/100 + \"\");\r\n cc.fx.GameConfig.GM_INFO.mean_Time = cc.fx.GameConfig.GM_INFO.mean_Time /10;\r\n if(time > 10000) time = (Math.random()*10+5)*100;\r\n this.gameOver(time);\r\n }\r\n }\r\n }\r\n //上传每次操作数据\r\n setData(){\r\n cc.fx.GameTool.setGameData();\r\n }\r\n //上传排行榜数据\r\n gameOver(time){\r\n cc.fx.GameTool.setRank(time);\r\n this.node.getChildByName(\"GameOver\").active = true;\r\n this.node.getChildByName(\"GameOver\").opacity = 0;\r\n cc.tween(this.node.getChildByName(\"GameOver\"))\r\n .to(0.4,{opacity:255})\r\n .delay(2)\r\n .to(0.4,{opacity:50})\r\n .call(() =>{\r\n cc.director.loadScene(\"OverScene\");\r\n })\r\n .start()\r\n }\r\n //作弊,测试用\r\n showNumber(){\r\n if(this.show == false) this.show = true;\r\n else if(this.show == true) this.show = false;\r\n for(let i=0; i { + // if (err) { + // WeChat.setShare(location.href); + // // self.Authentication(); + // return; + // } + // let jsonData: object = res.json!; + // self.GM_INFO = jsonData["data"]; + // self.setCode(self.getKey("scode")); + // WeChat.setShare(location.href); + // // self.Authentication(); + // }) + // cc.resources.load('Json/CLICK_DATA', (err: any, res: cc.JsonAsset) => { + // if (err) { + // return; + // } + // let jsonData: object = res.json!; + // self.CLICK_DATA = jsonData["data"]; + // }) cc.resources.load('Json/LEVEL_INFO', function (err, res) { if (err) { return; @@ -83,9 +83,12 @@ var GameConfig = /** @class */ (function () { url: "https://api.sparkus.cn", success: false, matchId: null, - custom: 0 //用于测试跳关卡 + custom: 0, + gap: [] //存储点击到太阳中心距离 }; this.setCode(this.getKey("scode")); + share_1.WeChat.setShare(location.href); + this.Authentication(); }; GameConfig.CLICK_init = function () { this.CLICK_DATA = @@ -102,7 +105,8 @@ var GameConfig = /** @class */ (function () { difficultyLevel: 0, sunList: [], stepTimeList: [], - remainder: 120 //游戏剩余时间 + remainder: 120, + gap: [] //点击到太阳中心距离 }; }; GameConfig.LEVEL_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 b99f9d0..822aea9 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":["import { WeChat } from \"../Share/share\";\r\n\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 scode: string; //用户code\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 getKey(key){\r\n var reg = new RegExp('(^|&)' + key + '=([^&]*)(&|$)', 'i');\r\n var r = window.location.search.substr(1).match(reg);\r\n if (r != null) {\r\n return unescape(r[2]);\r\n }\r\n return \"\";\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 \r\n var self = this;\r\n cc.resources.load('Json/GM_INFO', (err: any, res: cc.JsonAsset) => {\r\n if (err) {\r\n WeChat.setShare(location.href);\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.setCode(self.getKey(\"scode\"));\r\n WeChat.setShare(location.href);\r\n self.Authentication();\r\n\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 scode: \"\", //用户code,从网页后缀获取\r\n guide: true, //是否有引导\r\n url: \"https://api.sparkus.cn\",//访问域名\r\n success: false, //用户游戏成功与否\r\n matchId: null, //用于埋点上传的ID\r\n custom: 0 //用于测试跳关卡\r\n };\r\n this.setCode(this.getKey(\"scode\"));\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 static setCode(code){\r\n this.GM_INFO.scode = code;\r\n }\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":["import { WeChat } from \"../Share/share\";\r\n\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\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 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 gap: any[]; //点击到太阳中心距离\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 scode: string; //用户code,从网页后缀获取\r\n guide: boolean; //是否有引导\r\n url: string; //访问域名\r\n success: boolean; //用户游戏成功与否\r\n matchId: any; //用于埋点上传的ID\r\n custom: number; //用于测试跳关卡\r\n gap: any[]; //存储点击到太阳中心距离\r\n };\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 getKey(key){\r\n var reg = new RegExp('(^|&)' + key + '=([^&]*)(&|$)', 'i');\r\n var r = window.location.search.substr(1).match(reg);\r\n if (r != null) {\r\n return unescape(r[2]);\r\n }\r\n return \"\";\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 \r\n var self = this;\r\n // cc.resources.load('Json/GM_INFO', (err: any, res: cc.JsonAsset) => {\r\n // if (err) {\r\n // WeChat.setShare(location.href);\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.setCode(self.getKey(\"scode\"));\r\n // WeChat.setShare(location.href);\r\n // // self.Authentication();\r\n\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 scode: \"\", //用户code,从网页后缀获取\r\n guide: true, //是否有引导\r\n url: \"https://api.sparkus.cn\",//访问域名\r\n success: false, //用户游戏成功与否\r\n matchId: null, //用于埋点上传的ID\r\n custom: 0, //用于测试跳关卡\r\n gap:[] //存储点击到太阳中心距离\r\n };\r\n this.setCode(this.getKey(\"scode\"));\r\n WeChat.setShare(location.href);\r\n this.Authentication();\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 gap:[] //点击到太阳中心距离\r\n }\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 static setCode(code){\r\n this.GM_INFO.scode = code;\r\n }\r\n\r\n}\r\n\r\n"]} \ No newline at end of file diff --git a/library/imports/d1/d1323772-4ab2-4527-bd20-501fe4fb9723.json b/library/imports/d1/d1323772-4ab2-4527-bd20-501fe4fb9723.json index dedb08f..14bd69d 100644 --- a/library/imports/d1/d1323772-4ab2-4527-bd20-501fe4fb9723.json +++ b/library/imports/d1/d1323772-4ab2-4527-bd20-501fe4fb9723.json @@ -13,7 +13,7 @@ }, { "__type__": "cc.Node", - "_name": "qiu1", + "_name": "qiu4", "_objFlags": 0, "_parent": null, "_children": [ diff --git a/library/imports/e1/e1d57e63-4f2f-467d-9c55-0a889d5533a8.json b/library/imports/e1/e1d57e63-4f2f-467d-9c55-0a889d5533a8.json index 9d7f039..3c48b58 100644 --- a/library/imports/e1/e1d57e63-4f2f-467d-9c55-0a889d5533a8.json +++ b/library/imports/e1/e1d57e63-4f2f-467d-9c55-0a889d5533a8.json @@ -17,7 +17,8 @@ "difficultyLevel": 0, "sunList": [], "stepTimeList": [], - "remainder": 120 + "remainder": 120, + "gap": [] } } } \ No newline at end of file diff --git a/library/uuid-to-mtime.json b/library/uuid-to-mtime.json index 280ba4e..58510fd 100644 --- a/library/uuid-to-mtime.json +++ b/library/uuid-to-mtime.json @@ -85,8 +85,8 @@ "relativePath": "prefab\\qiu3.prefab" }, "d1323772-4ab2-4527-bd20-501fe4fb9723": { - "asset": 1717128451209, - "meta": 1717128451214, + "asset": 1729825469831, + "meta": 1729825469838, "relativePath": "prefab\\qiu4.prefab" }, "4b9c5a7e-c645-48a4-9aca-5df381ce4ef5": { @@ -240,8 +240,8 @@ "relativePath": "resources\\20240524-174503.png" }, "4eaf518b-35ec-4262-928d-4d497c3f2830": { - "asset": 1717136309187, - "meta": 1717136309194, + "asset": 1729827209862, + "meta": 1729827209870, "relativePath": "Scene\\GameScene.fire" }, "1fc00204-78cd-4d9f-b8bb-d393dd8392f9": { @@ -365,23 +365,18 @@ "relativePath": "Script\\module\\Storage\\Storage.ts" }, "9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d": { - "asset": 1724225513531, - "meta": 1724225513549, + "asset": 1729825485213, + "meta": 1729825485220, "relativePath": "Scene\\LoadScene.fire" }, - "4be67b1d-91ec-42ca-a2e5-d0d1ddf4dd5f": { - "asset": 1718607296698, - "meta": 1718607561426, - "relativePath": "Script\\Sun.ts" - }, "ff9e9b41-3a4c-4198-b442-6a4a1646297d": { "asset": 1718612502779, "meta": 1718612898273, "relativePath": "resources\\Json" }, "e1d57e63-4f2f-467d-9c55-0a889d5533a8": { - "asset": 1718613823190, - "meta": 1718613998653, + "asset": 1729764377579, + "meta": 1729824830797, "relativePath": "resources\\Json\\CLICK_DATA.json" }, "2cddbdcb-5dba-4b13-960c-9ebe6d17a7db": { @@ -394,11 +389,6 @@ "meta": 1718621499350, "relativePath": "Script\\module\\Music\\AudioManager.ts" }, - "b0432040-dbde-438c-839c-ba2b5d18a3b5": { - "asset": 1718621730315, - "meta": 1718621731706, - "relativePath": "Script\\GameManager.ts" - }, "3fd2f87a-bc73-4978-8494-8b35b4f716ad": { "asset": 1718621727785, "meta": 1718621731780, @@ -420,8 +410,8 @@ "relativePath": "Script\\module\\Share" }, "ca0f9934-a015-436e-9402-f8e30d4c5de6": { - "asset": 1722331720004, - "meta": 1722331746561, + "asset": 1725446344193, + "meta": 1725446368490, "relativePath": "Script\\module\\RankList\\ItemRender.ts" }, "e74a9f7d-2031-4e69-bcb2-9998174088b2": { @@ -436,502 +426,502 @@ }, "9836134e-b892-4283-b6b2-78b5acf3ed45": { "asset": 1714966328642, - "meta": 1724742459551, + "meta": 1729824826966, "relativePath": "effects" }, "abc2cb62-7852-4525-a90d-d474487b88f2": { "asset": 1714966328642, - "meta": 1724742459657, + "meta": 1729824827076, "relativePath": "effects\\builtin-phong.effect" }, "e2f00085-c597-422d-9759-52c360279106": { "asset": 1714966328642, - "meta": 1724742459706, + "meta": 1729824827133, "relativePath": "effects\\builtin-toon.effect" }, "430eccbf-bf2c-4e6e-8c0c-884bbb487f32": { "asset": 1714966328642, - "meta": 1724742459718, + "meta": 1729824827143, "relativePath": "effects\\__builtin-editor-gizmo-line.effect" }, "6c5cf6e1-b044-4eac-9431-835644d57381": { "asset": 1714966328642, - "meta": 1724742459724, + "meta": 1729824827151, "relativePath": "effects\\__builtin-editor-gizmo-unlit.effect" }, "115286d1-2e10-49ee-aab4-341583f607e8": { "asset": 1714966328642, - "meta": 1724742459751, + "meta": 1729824827175, "relativePath": "effects\\__builtin-editor-gizmo.effect" }, "f8e6b000-5643-4b86-9080-aa680ce1f599": { "asset": 1714966328706, - "meta": 1724742459551, + "meta": 1729824826967, "relativePath": "image" }, "5c3eedba-6c41-4c0c-9ba7-d91f813cbd1c": { "asset": 1714966328721, - "meta": 1724742459553, + "meta": 1729824826968, "relativePath": "materials" }, "fc09f9bd-2cce-4605-b630-8145ef809ed6": { "asset": 1714966328721, - "meta": 1724742459555, + "meta": 1729824826968, "relativePath": "misc" }, "e851e89b-faa2-4484-bea6-5c01dd9f06e2": { "asset": 1714966328658, - "meta": 1724742459813, + "meta": 1729824827215, "relativePath": "image\\default_btn_normal.png" }, "99170b0b-d210-46f1-b213-7d9e3f23098a": { "asset": 1714966328673, - "meta": 1724742459801, + "meta": 1729824828104, "relativePath": "image\\default_progressbar_bg.png" }, "db019bf7-f71c-4111-98cf-918ea180cb48": { "asset": 1714966328737, - "meta": 1724742459557, + "meta": 1729824826969, "relativePath": "model" }, "4bab67cb-18e6-4099-b840-355f0473f890": { "asset": 1714966328689, - "meta": 1724742459849, + "meta": 1729824828102, "relativePath": "image\\default_scrollbar_bg.png" }, "e39e96e6-6f6e-413f-bcf1-ac7679bb648a": { "asset": 1714966328737, - "meta": 1724742459815, + "meta": 1729824827232, "relativePath": "model\\prefab" }, "617323dd-11f4-4dd3-8eec-0caf6b3b45b9": { "asset": 1714966328689, - "meta": 1724742459844, + "meta": 1729824828113, "relativePath": "image\\default_scrollbar_vertical_bg.png" }, "6e056173-d285-473c-b206-40a7fff5386e": { "asset": 1714966328689, - "meta": 1724742459851, + "meta": 1729824828112, "relativePath": "image\\default_sprite.png" }, "600301aa-3357-4a10-b086-84f011fa32ba": { "asset": 1714966328642, - "meta": 1724742459804, + "meta": 1729824827231, "relativePath": "image\\default-particle.png" }, "71561142-4c83-4933-afca-cb7a17f67053": { "asset": 1714966328658, - "meta": 1724742459852, + "meta": 1729824827218, "relativePath": "image\\default_btn_disabled.png" }, "edd215b9-2796-4a05-aaf5-81f96c9281ce": { "asset": 1714966328658, - "meta": 1724742459799, + "meta": 1729824827220, "relativePath": "image\\default_editbox_bg.png" }, "b43ff3c2-02bb-4874-81f7-f2dea6970f18": { "asset": 1714966328658, - "meta": 1724742459809, + "meta": 1729824827229, "relativePath": "image\\default_btn_pressed.png" }, "f6e6dd15-71d1-4ffe-ace7-24fd39942c05": { "asset": 1714966328752, - "meta": 1724742459557, + "meta": 1729824826970, "relativePath": "obsolete" }, "567dcd80-8bf4-4535-8a5a-313f1caf078a": { "asset": 1714966328673, - "meta": 1724742459842, + "meta": 1729824828107, "relativePath": "image\\default_radio_button_off.png" }, "c4480a0a-6ac5-443f-8b40-361a14257fc8": { "asset": 1714966328706, - "meta": 1724742460105, + "meta": 1729824828409, "relativePath": "materials\\builtin-phong.mtl" }, "f743d2b6-b7ea-4c14-a55b-547ed4d0a045": { "asset": 1714966328752, - "meta": 1724742459557, + "meta": 1729824826972, "relativePath": "particle" }, "d81ec8ad-247c-4e62-aa3c-d35c4193c7af": { "asset": 1714966328673, - "meta": 1724742459841, + "meta": 1729824827227, "relativePath": "image\\default_panel.png" }, "a87cc147-01b2-43f8-8e42-a7ca90b0c757": { "asset": 1714966328721, - "meta": 1724742460047, + "meta": 1729824828303, "relativePath": "model\\prefab\\box.prefab" }, "cfef78f1-c8df-49b7-8ed0-4c953ace2621": { "asset": 1714966328673, - "meta": 1724742459807, + "meta": 1729824828111, "relativePath": "image\\default_progressbar.png" }, "fe1417b6-fe6b-46a4-ae7c-9fd331f33a2a": { "asset": 1714966328737, - "meta": 1724742460057, + "meta": 1729824828326, "relativePath": "model\\prefab\\capsule.prefab" }, "ae6c6c98-11e4-452f-8758-75f5c6a56e83": { "asset": 1714966328831, - "meta": 1724742459559, + "meta": 1729824826972, "relativePath": "prefab" }, "9d60001f-b5f4-4726-a629-2659e3ded0b8": { "asset": 1714966328673, - "meta": 1724742459846, + "meta": 1729824828115, "relativePath": "image\\default_radio_button_on.png" }, "b5fc2cf2-7942-483d-be1f-bbeadc4714ad": { "asset": 1714966328737, - "meta": 1724742460047, + "meta": 1729824828314, "relativePath": "model\\prefab\\cone.prefab" }, "3f376125-a699-40ca-ad05-04d662eaa1f2": { "asset": 1714966328737, - "meta": 1724742460047, + "meta": 1729824828334, "relativePath": "model\\prefab\\plane.prefab" }, "0275e94c-56a7-410f-bd1a-fc7483f7d14a": { "asset": 1714966328705, - "meta": 1724742459848, + "meta": 1729824828109, "relativePath": "image\\default_sprite_splash.png" }, "1c5e4038-953a-44c2-b620-0bbfc6170477": { "asset": 1714966328737, - "meta": 1724742460051, + "meta": 1729824828326, "relativePath": "model\\prefab\\cylinder.prefab" }, "6c9ef10d-b479-420b-bfe6-39cdda6a8ae0": { "asset": 1714966328737, - "meta": 1724742460051, + "meta": 1729824828342, "relativePath": "model\\prefab\\quad.prefab" }, "d6d3ca85-4681-47c1-b5dd-d036a9d39ea2": { "asset": 1714966328689, - "meta": 1724742459796, + "meta": 1729824828105, "relativePath": "image\\default_scrollbar_vertical.png" }, "2d9a4b85-b0ab-4c46-84c5-18f393ab2058": { "asset": 1714966328737, - "meta": 1724742460057, + "meta": 1729824828342, "relativePath": "model\\prefab\\sphere.prefab" }, "de510076-056b-484f-b94c-83bef217d0e1": { "asset": 1714966328737, - "meta": 1724742460051, + "meta": 1729824828338, "relativePath": "model\\prefab\\torus.prefab" }, "0291c134-b3da-4098-b7b5-e397edbe947f": { "asset": 1714966328689, - "meta": 1724742459854, + "meta": 1729824827225, "relativePath": "image\\default_scrollbar.png" }, "897ef7a1-4860-4f64-968d-f5924b18668a": { "asset": 1714966328752, - "meta": 1724742459864, + "meta": 1729824828124, "relativePath": "prefab\\2d-camera.prefab" }, "972b9a4d-47ee-4c74-b5c3-61d8a69bc29f": { "asset": 1714966328768, - "meta": 1724742459867, + "meta": 1729824828132, "relativePath": "prefab\\button.prefab" }, "a3ee0214-b432-4865-9666-4a3211814282": { "asset": 1714966328800, - "meta": 1724742459865, + "meta": 1729824828125, "relativePath": "prefab\\light" }, "2c937608-2562-40ea-b264-7395df6f0cea": { "asset": 1714966328768, - "meta": 1724742459873, + "meta": 1729824828129, "relativePath": "prefab\\canvas.prefab" }, "70d7cdb0-04cd-41bb-9480-c06a4785f386": { "asset": 1714966328768, - "meta": 1724742459863, + "meta": 1729824828122, "relativePath": "prefab\\3d-camera.prefab" }, "70bbeb73-6dc2-4ee4-8faf-76b3a0e34ec4": { "asset": 1714966328768, - "meta": 1724742459871, + "meta": 1729824828126, "relativePath": "prefab\\3d-particle.prefab" }, "ed88f13d-fcad-4848-aa35-65a2cb973584": { "asset": 1714966328768, - "meta": 1724742459868, + "meta": 1729824828128, "relativePath": "prefab\\3d-stage.prefab" }, "61aeb05b-3b32-452b-8eed-2b76deeed554": { "asset": 1714966328783, - "meta": 1724742459870, + "meta": 1729824828131, "relativePath": "prefab\\editbox.prefab" }, "27756ebb-3d33-44b0-9b96-e858fadd4dd4": { "asset": 1714966328783, - "meta": 1724742459879, + "meta": 1729824828138, "relativePath": "prefab\\label.prefab" }, "2be36297-9abb-4fee-8049-9ed5e271da8a": { "asset": 1714966328721, - "meta": 1724742459926, + "meta": 1729824828184, "relativePath": "misc\\default_video.mp4" }, "785a442c-3ceb-45be-a46e-7317f625f3b9": { "asset": 1714966328783, - "meta": 1724742459881, + "meta": 1729824828141, "relativePath": "prefab\\layout.prefab" }, "5965ffac-69da-4b55-bcde-9225d0613c28": { "asset": 1714966328800, - "meta": 1724742459888, + "meta": 1729824828146, "relativePath": "prefab\\progressBar.prefab" }, "cd33edea-55f5-46c2-958d-357a01384a36": { "asset": 1714966328800, - "meta": 1724742459885, + "meta": 1729824828145, "relativePath": "prefab\\particlesystem.prefab" }, "32044bd2-481f-4cf1-a656-e2b2fb1594eb": { "asset": 1714966328800, - "meta": 1724742459891, + "meta": 1729824828153, "relativePath": "prefab\\scrollview.prefab" }, "4a37dd57-78cd-4cec-aad4-f11a73d12b63": { "asset": 1714966328800, - "meta": 1724742459887, + "meta": 1729824828151, "relativePath": "prefab\\richtext.prefab" }, "ca8401fe-ad6e-41a8-bd46-8e3e4e9945be": { "asset": 1714966328800, - "meta": 1724742459883, + "meta": 1729824828143, "relativePath": "prefab\\pageview.prefab" }, "73a0903d-d80e-4e3c-aa67-f999543c08f5": { "asset": 1714966328706, - "meta": 1724742459913, + "meta": 1729824828167, "relativePath": "image\\default_toggle_checkmark.png" }, "0004d1cf-a0ad-47d8-ab17-34d3db9d35a3": { "asset": 1714966328800, - "meta": 1724742459889, + "meta": 1729824828148, "relativePath": "prefab\\slider.prefab" }, "96083d03-c332-4a3f-9386-d03e2d19e8ee": { "asset": 1714966328815, - "meta": 1724742459900, + "meta": 1729824828174, "relativePath": "prefab\\sprite.prefab" }, "d8afc78c-4eac-4a9f-83dd-67bc70344d33": { "asset": 1714966328862, - "meta": 1724742459559, + "meta": 1729824826973, "relativePath": "resources" }, "294c1663-4adf-4a1e-a795-53808011a38a": { "asset": 1714966328862, - "meta": 1724742459911, + "meta": 1729824828170, "relativePath": "resources\\effects" }, "1f55e3be-b89b-4b79-88de-47fd31018044": { "asset": 1714966328815, - "meta": 1724742459916, + "meta": 1729824828177, "relativePath": "prefab\\sprite_splash.prefab" }, "bbee2217-c261-49bd-a8ce-708d6bcc3500": { "asset": 1714966328893, - "meta": 1724742459912, + "meta": 1729824828172, "relativePath": "resources\\materials" }, "30682f87-9f0d-4f17-8a44-72863791461b": { "asset": 1714966328831, - "meta": 1724742459933, + "meta": 1729824828199, "relativePath": "resources\\effects\\builtin-2d-graphics.effect" }, "144c3297-af63-49e8-b8ef-1cfa29b3be28": { "asset": 1714966328831, - "meta": 1724742459941, + "meta": 1729824828211, "relativePath": "resources\\effects\\builtin-2d-gray-sprite.effect" }, "b181c1e4-0a72-4a91-bfb0-ae6f36ca60bd": { "asset": 1714966328706, - "meta": 1724742459915, + "meta": 1729824828175, "relativePath": "image\\default_toggle_pressed.png" }, "d29077ba-1627-4a72-9579-7b56a235340c": { "asset": 1714966328706, - "meta": 1724742459917, + "meta": 1729824828171, "relativePath": "image\\default_toggle_normal.png" }, "f18742d7-56d2-4eb5-ae49-2d9d710b37c8": { "asset": 1714966328831, - "meta": 1724742459949, + "meta": 1729824828221, "relativePath": "resources\\effects\\builtin-2d-label.effect" }, "c25b9d50-c8fc-4d27-beeb-6e7c1f2e5c0f": { "asset": 1714966328706, - "meta": 1724742459910, + "meta": 1729824828169, "relativePath": "image\\default_toggle_disabled.png" }, "0e93aeaa-0b53-4e40-b8e0-6268b4e07bd7": { "asset": 1714966328831, - "meta": 1724742459957, + "meta": 1729824828229, "relativePath": "resources\\effects\\builtin-2d-spine.effect" }, "2874f8dd-416c-4440-81b7-555975426e93": { "asset": 1714966328846, - "meta": 1724742459963, + "meta": 1729824828237, "relativePath": "resources\\effects\\builtin-2d-sprite.effect" }, "829a282c-b049-4019-bd38-5ace8d8a6417": { "asset": 1714966328846, - "meta": 1724742460006, + "meta": 1729824828284, "relativePath": "resources\\effects\\builtin-3d-particle.effect" }, "2a7c0036-e0b3-4fe1-8998-89a54b8a2bec": { "asset": 1714966328846, - "meta": 1724742460018, + "meta": 1729824828301, "relativePath": "resources\\effects\\builtin-3d-trail.effect" }, "c0040c95-c57f-49cd-9cbc-12316b73d0d4": { "asset": 1714966328846, - "meta": 1724742460024, + "meta": 1729824828309, "relativePath": "resources\\effects\\builtin-clear-stencil.effect" }, "7de03a80-4457-438d-95a7-3e7cdffd6086": { "asset": 1714966328815, - "meta": 1724742459919, + "meta": 1729824828179, "relativePath": "prefab\\tiledmap.prefab" }, "6d91e591-4ce0-465c-809f-610ec95019c6": { "asset": 1714966328862, - "meta": 1724742460039, + "meta": 1729824828326, "relativePath": "resources\\effects\\builtin-unlit.effect" }, "0e42ba95-1fa1-46aa-b2cf-143cd1bcee2c": { "asset": 1714966328815, - "meta": 1724742459918, + "meta": 1729824828180, "relativePath": "prefab\\tiledtile.prefab" }, "d1b8be49-b0a0-435c-83b7-552bed4bbe35": { "asset": 1714966328815, - "meta": 1724742459924, + "meta": 1729824828189, "relativePath": "prefab\\toggleGroup.prefab" }, "8a96b965-2dc0-4e03-aa90-3b79cb93b5b4": { "asset": 1714966328752, - "meta": 1724742459928, + "meta": 1729824828187, "relativePath": "obsolete\\atom.png" }, "0d784963-d024-4ea6-a7db-03be0ad63010": { "asset": 1714966328815, - "meta": 1724742459920, + "meta": 1729824828181, "relativePath": "prefab\\toggle.prefab" }, "bf0a434c-84dd-4a8e-a08a-7a36f180cc75": { "asset": 1714966328815, - "meta": 1724742459922, + "meta": 1729824828183, "relativePath": "prefab\\toggleContainer.prefab" }, "232d2782-c4bd-4bb4-9e01-909f03d6d3b9": { "asset": 1714966328815, - "meta": 1724742459925, + "meta": 1729824828200, "relativePath": "prefab\\videoplayer.prefab" }, "d0a82d39-bede-46c4-b698-c81ff0dedfff": { "asset": 1714966328752, - "meta": 1724742459937, + "meta": 1729824828186, "relativePath": "particle\\atom.png" }, "8c5001fd-07ee-4a4b-a8a0-63e15195e94d": { "asset": 1714966328831, - "meta": 1724742460027, + "meta": 1729824828288, "relativePath": "prefab\\webview.prefab" }, "61906da3-7003-4bda-9abc-5769c76faee4": { "asset": 1714966328783, - "meta": 1724742460057, + "meta": 1729824828345, "relativePath": "prefab\\light\\ambient.prefab" }, "ddb99b39-7004-47cd-9705-751905c43c46": { "asset": 1714966328800, - "meta": 1724742460059, + "meta": 1729824828338, "relativePath": "prefab\\light\\directional.prefab" }, "0cf30284-9073-46bc-9eba-e62b69dbbff3": { "asset": 1714966328800, - "meta": 1724742460059, + "meta": 1729824828338, "relativePath": "prefab\\light\\point.prefab" }, "f5331fd2-bf42-4ee3-a3fd-3e1657600eff": { "asset": 1714966328800, - "meta": 1724742460059, + "meta": 1729824828345, "relativePath": "prefab\\light\\spot.prefab" }, "6f801092-0c37-4f30-89ef-c8d960825b36": { "asset": 1714966328862, - "meta": 1724742460124, + "meta": 1729824828426, "relativePath": "resources\\materials\\builtin-2d-base.mtl" }, "a153945d-2511-4c14-be7b-05d242f47d57": { "asset": 1714966328862, - "meta": 1724742460127, + "meta": 1729824828430, "relativePath": "resources\\materials\\builtin-2d-graphics.mtl" }, "7afd064b-113f-480e-b793-8817d19f63c3": { "asset": 1714966328878, - "meta": 1724742460127, + "meta": 1729824828430, "relativePath": "resources\\materials\\builtin-2d-spine.mtl" }, "3a7bb79f-32fd-422e-ada2-96f518fed422": { "asset": 1714966328862, - "meta": 1724742460126, + "meta": 1729824828432, "relativePath": "resources\\materials\\builtin-2d-gray-sprite.mtl" }, "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432": { "asset": 1714966328878, - "meta": 1724742460127, + "meta": 1729824828434, "relativePath": "resources\\materials\\builtin-2d-sprite.mtl" }, "432fa09c-cf03-4cff-a186-982604408a07": { "asset": 1714966328878, - "meta": 1724742460130, + "meta": 1729824828432, "relativePath": "resources\\materials\\builtin-3d-particle.mtl" }, "e02d87d4-e599-4d16-8001-e14891ac6506": { "asset": 1714966328878, - "meta": 1724742460127, + "meta": 1729824828432, "relativePath": "resources\\materials\\builtin-2d-label.mtl" }, "cf7e0bb8-a81c-44a9-ad79-d28d43991032": { "asset": 1714966328878, - "meta": 1724742460127, + "meta": 1729824828435, "relativePath": "resources\\materials\\builtin-clear-stencil.mtl" }, "466d4f9b-e5f4-4ea8-85d5-3c6e9a65658a": { "asset": 1714966328878, - "meta": 1724742460130, + "meta": 1729824828435, "relativePath": "resources\\materials\\builtin-3d-trail.mtl" }, "2a296057-247c-4a1c-bbeb-0548b6c98650": { "asset": 1714966328893, - "meta": 1724742460130, + "meta": 1729824828435, "relativePath": "resources\\materials\\builtin-unlit.mtl" }, "b2687ac4-099e-403c-a192-ff477686f4f5": { "asset": 1714966328752, - "meta": 1724742460151, + "meta": 1729824828460, "relativePath": "particle\\atom.plist" }, "b8223619-7e38-47c4-841f-9160c232495a": { "asset": 1714966328752, - "meta": 1724742460151, + "meta": 1729824828460, "relativePath": "obsolete\\atom.plist" }, "954fec8b-cd16-4bb9-a3b7-7719660e7558": { "asset": 1714966328737, - "meta": 1724742461686, + "meta": 1729824830469, "relativePath": "model\\primitives.fbx" }, "454ad829-851a-40ea-8ab9-941e828357ca": { @@ -939,29 +929,39 @@ "meta": 1724209211325, "relativePath": "Script\\Load.ts" }, - "c5692be7-8703-45e4-9f67-23b54d290356": { - "asset": 1724225484732, - "meta": 1724225501506, - "relativePath": "Script\\module\\Config\\GameConfig.ts" - }, "771a3d9a-4013-4654-a777-fbaea0c93280": { "asset": 1724210553551, "meta": 1724221992898, "relativePath": "Script\\module\\Crypto\\HttpUtil.ts" }, "7290c680-dfdc-4c59-9736-a614cc2a8bcf": { - "asset": 1724229802950, - "meta": 1724742461829, + "asset": 1724747593286, + "meta": 1725446368511, "relativePath": "Script\\module\\Share\\share.ts" }, "805c69df-dfdf-4759-97ae-5a7341f424c7": { - "asset": 1724224643312, - "meta": 1724224644778, + "asset": 1725446355051, + "meta": 1725446368405, "relativePath": "Script\\GameOver.ts" }, "43bfc27a-ff6e-45b3-87c7-504d0f781397": { - "asset": 1724225488107, - "meta": 1724225501619, + "asset": 1725446351034, + "meta": 1725446368575, "relativePath": "Script\\module\\Tool\\GameTool.ts" + }, + "4be67b1d-91ec-42ca-a2e5-d0d1ddf4dd5f": { + "asset": 1729826055065, + "meta": 1729826215581, + "relativePath": "Script\\Sun.ts" + }, + "c5692be7-8703-45e4-9f67-23b54d290356": { + "asset": 1729827204714, + "meta": 1729827205193, + "relativePath": "Script\\module\\Config\\GameConfig.ts" + }, + "b0432040-dbde-438c-839c-ba2b5d18a3b5": { + "asset": 1729836062510, + "meta": 1729841254124, + "relativePath": "Script\\GameManager.ts" } } \ No newline at end of file diff --git a/local/layout.editor.json b/local/layout.editor.json index df068ac..94db6ad 100644 --- a/local/layout.editor.json +++ b/local/layout.editor.json @@ -13,13 +13,13 @@ "type": "dock-h", "children": [ { - "width": 207.28125, + "width": 206.83334350585938, "height": 571, "type": "dock-v", "children": [ { - "width": 207.28125, - "height": 308.13543701171875, + "width": 206.83334350585938, + "height": 307.9895935058594, "type": "panel", "active": 0, "children": [ @@ -27,8 +27,8 @@ ] }, { - "width": 207.28125, - "height": 259.8645935058594, + "width": 206.83334350585938, + "height": 260, "type": "panel", "active": 0, "children": [ @@ -38,7 +38,7 @@ ] }, { - "width": 758.3333740234375, + "width": 758.40625, "height": 571, "type": "panel", "active": 0, @@ -47,7 +47,7 @@ ] }, { - "width": 308.38543701171875, + "width": 308.76043701171875, "height": 571, "type": "panel", "active": 0, @@ -70,10 +70,10 @@ }, "panels": { "builder": { - "x": 512, - "y": 4, - "width": 516, - "height": 674 + "x": 376, + "y": 18, + "width": 520, + "height": 676 }, "project-settings": { "x": -8, @@ -92,6 +92,12 @@ "y": 0, "width": 1016, "height": 672 + }, + "preferences": { + "x": 309, + "y": 4, + "width": 601, + "height": 566 } }, "panelLabelWidth": {} diff --git a/local/local.json b/local/local.json index e8f2361..905405b 100644 --- a/local/local.json +++ b/local/local.json @@ -1,17 +1,17 @@ { - "last-edit": "9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d", + "last-edit": "4eaf518b-35ec-4262-928d-4d497c3f2830", "recent-items": [ "40ba7e70-1826-4aa1-92f3-aa63ae39294b", "32254f37-ac95-4912-a787-b8e0429ba0f1", - "3a232388-d8dc-4f79-a1ea-82f6385b7ce2", - "5e515837-650e-4584-a089-e2a025e36c39", - "13110e4f-3587-4e6b-8811-0ca16cac8149", - "d1323772-4ab2-4527-bd20-501fe4fb9723", "774829bb-123e-48b6-930e-6b3e02491506", "2d2f792f-a40c-49bb-a189-ed176a246e49", "2a951e22-b1e0-4155-972d-251ef3fa8f5a", "4b9c5a7e-c645-48a4-9aca-5df381ce4ef5", - "4eaf518b-35ec-4262-928d-4d497c3f2830", - "9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d" + "3a232388-d8dc-4f79-a1ea-82f6385b7ce2", + "5e515837-650e-4584-a089-e2a025e36c39", + "13110e4f-3587-4e6b-8811-0ca16cac8149", + "d1323772-4ab2-4527-bd20-501fe4fb9723", + "9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d", + "4eaf518b-35ec-4262-928d-4d497c3f2830" ] } diff --git a/local/node-tree-state.json b/local/node-tree-state.json index d19f9d7..0dc6121 100644 --- a/local/node-tree-state.json +++ b/local/node-tree-state.json @@ -171,7 +171,6 @@ "a9Y/TP/QhAdq9i2KGsTC0d", "a1BRwywGFMT6iJxK+nijOf", "7aHA1K+7hE8YNbYjVirEih", - "78pYT7vxBK7YbD2aVkC4Kw", "a5NTB6LZBO4a2Z6RkeebsY", "411Nmuus1J2b6okQS3uSCm", "c1+P7wcW9K3oQyAJA29gUv", @@ -181,7 +180,6 @@ "ecZU+ZNaxJvovWhjTwolW3", "1eUcABlmZJH62rOyXieYFR", "9ah+lyxSVO6Jf1EY5aebLK", - "6bCpWS8ktAfIpBUoWywuvF", "97jJpx7PFP3KaIhLHDBrwq", "beOm6xY9JGcpUIgHepr4za", "05VwVz2ohMvbMUbFxpVLs6", @@ -191,8 +189,6 @@ "50E0EvF9tGWqRoojKDG6C/", "68QXyex9ZCjpGvlESAcHm3", "a7NUURWktGVbn5uaL7RgDc", - "78Sk802p9L/Ip+ZPEFbJnp", - "cfD+6eekJE44Ilk2xG5ORu", "83fdXjJEdM1rCZghbgf9lv", "ddR9GXKuBKg5J0qSoBz++j", "cf4fwLe4hJXLYT5vY7WfC9", @@ -213,6 +209,7 @@ "a5esZu+45LA5mBpvttspPD", "17ShTgeAhDwo3s1DbpMsss", "0aJYZZT5NGTrkFDn1E9SRd", - "f2CmP+tLxPdocwGLXkBfpm" + "f2CmP+tLxPdocwGLXkBfpm", + "eeS/xld09DaIkwXw+zwnnw" ] } diff --git a/settings/project.json b/settings/project.json index cecb215..a4267a2 100644 --- a/settings/project.json +++ b/settings/project.json @@ -1,5 +1,5 @@ { - "last-module-event-record-time": 1723622207819, + "last-module-event-record-time": 1729827212440, "group-list": [ "default" ], diff --git a/temp/BackupAssets/assets/prefab/qiu4.prefab b/temp/BackupAssets/assets/prefab/qiu4.prefab index aa3f1fa..0d24832 100644 --- a/temp/BackupAssets/assets/prefab/qiu4.prefab +++ b/temp/BackupAssets/assets/prefab/qiu4.prefab @@ -13,7 +13,7 @@ }, { "__type__": "cc.Node", - "_name": "qiu1", + "_name": "qiu4", "_objFlags": 0, "_parent": null, "_children": [ diff --git a/temp/quick-scripts/dst/__file_stats__.json b/temp/quick-scripts/dst/__file_stats__.json index 7a09de6..ca40894 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-08-27T07:07:42.061Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/RankManager.js":"2024-08-27T07:07:42.034Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Load.js":"2024-08-27T07:07:42.010Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GuideManager.js":"2024-08-27T07:07:42.006Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js":"2024-08-27T07:07:42.022Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Sun.js":"2024-08-27T07:07:42.011Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GameOver.js":"2024-08-27T07:07:42.023Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GameManager.js":"2024-08-27T07:07:42.025Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/DynamicAtlasManager.js":"2024-08-27T07:07:42.015Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Crypto/HttpUtil.js":"2024-08-27T07:07:42.021Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/RankList/ItemRender.js":"2024-08-27T07:07:42.028Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Notification/Notification.js":"2024-08-27T07:07:42.012Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Music/AudioManager.js":"2024-08-27T07:07:42.014Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js":"2024-08-27T07:07:42.026Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Storage/Storage.js":"2024-08-27T07:07:42.005Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/GameStart/GameAppStart.js":"2024-08-27T07:07:42.017Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Share/share.js":"2024-08-27T07:07:42.019Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Tool/GameTool.js":"2024-08-27T07:07:42.007Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Crypto/crypto-js.min.js":"2024-08-27T07:07:42.033Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/RankList/List.js":"2024-08-27T07:07:42.030Z"}} +{"version":"1.0.8","stats":{"C:/Work/Project/Sun_moves/temp/quick-scripts/src/__qc_index__.js":"2024-10-25T02:53:51.336Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GameOver.js":"2024-10-25T02:53:51.292Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js":"2024-10-25T02:53:51.291Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GuideManager.js":"2024-10-25T02:53:51.267Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Load.js":"2024-10-25T02:53:51.273Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/DynamicAtlasManager.js":"2024-10-25T02:53:51.281Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/RankManager.js":"2024-10-25T02:53:51.303Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Sun.js":"2024-10-25T02:53:51.276Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GameManager.js":"2024-10-25T02:53:51.294Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Crypto/HttpUtil.js":"2024-10-25T02:53:51.288Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Share/share.js":"2024-10-25T02:53:51.285Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Music/AudioManager.js":"2024-10-25T02:53:51.280Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/GameStart/GameAppStart.js":"2024-10-25T02:53:51.283Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/RankList/ItemRender.js":"2024-10-25T02:53:51.297Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Notification/Notification.js":"2024-10-25T02:53:51.278Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js":"2024-10-25T02:53:51.296Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Tool/GameTool.js":"2024-10-25T02:53:51.270Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Storage/Storage.js":"2024-10-25T02:53:51.264Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/RankList/List.js":"2024-10-25T02:53:51.299Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/module/Crypto/crypto-js.min.js":"2024-10-25T02:53:51.300Z"}} diff --git a/temp/quick-scripts/dst/__qc_bundle__.js b/temp/quick-scripts/dst/__qc_bundle__.js index c602f9b..06a0a99 100644 --- a/temp/quick-scripts/dst/__qc_bundle__.js +++ b/temp/quick-scripts/dst/__qc_bundle__.js @@ -45,7 +45,7 @@ require('./assets/migration/use_v2.1-2.2.1_cc.Toggle_event'); (function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/RankManager.js'; + var __filename = 'preview-scripts/assets/Script/GameOver.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { @@ -53,8 +53,8 @@ require('./assets/migration/use_v2.1-2.2.1_cc.Toggle_event'); }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'e74a999IDFOabyymZgXQIiy', 'RankManager'); -// Script/RankManager.ts +cc._RF.push(module, '805c6nf399HWZeuWnNB9CTH', 'GameOver'); +// Script/GameOver.ts "use strict"; var __extends = (this && this.__extends) || (function () { @@ -77,235 +77,141 @@ 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 }); -var List_1 = require("./module/RankList/List"); var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -//排行榜 -var RankManager = /** @class */ (function (_super) { - __extends(RankManager, _super); - function RankManager() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.Player = null; - _this.selfNode = null; - _this.phone = null; - return _this; - } - RankManager.prototype.onLoad = function () { - this.init(); - }; - //初始化数据 - RankManager.prototype.init = function () { - this.rankList = cc.find("ScrollView", this.node).getComponent(List_1.default); - this.Player.getChildByName("rank").active = false; - this.listData = []; - this.selfData = null; - this.rankNumber = 100; - this.rankTotal = 100; - this.selfNode.opacity = 0; - }; - RankManager.prototype.start = function () { - this.Player.active = false; - this.getRank(); - }; - //调用获取排行榜接口 - RankManager.prototype.getRank = function () { - var _this = this; - var dataFile = { - length: 100 - }; - cc.fx.GameTool.getRank(dataFile, function (data) { return _this.getRankData(data); }); - }; - //实际设置排行数据 - RankManager.prototype.getRankData = function (data) { - if (data) { - console.log(data); - cc.fx.GameTool.getRankData(data, this, 6); - this.setPic(this.selfData.pic); - } - }; - //返回按钮 - RankManager.prototype.backClick = function () { - cc.director.loadScene("LoadScene"); - }; - //最上方用户动画 - RankManager.prototype.playerAction = function () { - var _this = this; - //-254 377 210 453 - this.Player.getChildByName("rank").active = false; - var time = 1; - this.tween = cc.tween(this.Player) - .to(2, { position: cc.v3(210, 453, 0) }) - .call(function () { - _this.Player.getChildByName("rank").active = true; - _this.Player.getChildByName("rank").getChildByName("number") - .getComponent(cc.Label).string = parseInt(time * 100 + "") + "%"; - }) - .start(); - time = (this.listData.length - this.rankNumber) / this.listData.length; - if (this.listData.length >= 99) { - if (this.rankNumber >= 99) { - time = (Math.random() * 49 + 1) / 100; - var matchId = cc.sys.localStorage.getItem("matchNumber"); - if (matchId == null || matchId == undefined) { - time = 0; - } - } - } - setTimeout(function () { - if (_this.tween) - _this.tween.stop(); - _this.Player.getChildByName("rank").active = true; - _this.Player.getChildByName("rank").getChildByName("number") - .getComponent(cc.Label).string = parseInt(time * 100 + "") + "%"; - }, time * 2000); - }; - //设置头像 处理的逻辑比较多,不用公共类的了 - RankManager.prototype.setPic = function (pic) { - var _this = this; - this.phone.node.parent.getChildByName("icon").active = false; - this.phone.node.active = false; - this.Player.active = true; - this.Player.opacity = 0; - this.Player.getChildByName("mask").getChildByName("icon").active = false; - this.Player.getChildByName("mask").getChildByName("phone").active = false; - fetch(pic) - .then(function (response) { - return response.headers.get('Content-Length'); - }) - .then(function (errNo) { - if (errNo == "5093") { - _this.phone.node.parent.getChildByName("icon").active = true; - _this.Player.getChildByName("mask").getChildByName("icon").active = true; - } - }) - .catch(function (error) { - // console.error('Error fetching X-Info:', error); - }); - var self = this; - cc.assetManager.loadRemote(pic, { ext: '.png' }, function (err, texture) { - self.Player.opacity = 255; - if (texture) { - self.phone.node.active = true; - self.phone.spriteFrame = new cc.SpriteFrame(texture); - self.Player.getChildByName("mask").getChildByName("icon").active = false; - self.Player.getChildByName("mask").getChildByName("phone").active = true; - self.Player.getChildByName("mask").getChildByName("phone").getComponent(cc.Sprite) - .spriteFrame = new cc.SpriteFrame(texture); - setTimeout(function () { - self.playerAction(); - }, 500); - } - else { - self.Player.getChildByName("mask").getChildByName("icon").active = true; - setTimeout(function () { - self.playerAction(); - }, 500); - } - }); - }; - __decorate([ - property(cc.Node) //用户上方头像 - ], RankManager.prototype, "Player", void 0); - __decorate([ - property(cc.Node) //用户最下方个人信息 - ], RankManager.prototype, "selfNode", void 0); - __decorate([ - property(cc.Sprite) //用户头像换图 - ], RankManager.prototype, "phone", void 0); - RankManager = __decorate([ - ccclass - ], RankManager); - return RankManager; -}(cc.Component)); -exports.default = RankManager; - -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxSYW5rTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwrQ0FBMEM7QUFDcEMsSUFBQSxLQUF3QixFQUFFLENBQUMsVUFBVSxFQUFuQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWtCLENBQUM7QUFDNUMsS0FBSztBQUVMO0lBQXlDLCtCQUFZO0lBQXJEO1FBQUEscUVBK0hDO1FBN0hHLFlBQU0sR0FBWSxJQUFJLENBQUM7UUFFdkIsY0FBUSxHQUFZLElBQUksQ0FBQztRQUV6QixXQUFLLEdBQWMsSUFBSSxDQUFDOztJQXlINUIsQ0FBQztJQWpIRyw0QkFBTSxHQUFOO1FBQ0ksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPO0lBQ1AsMEJBQUksR0FBSjtRQUNJLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxjQUFJLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2xELElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUUsR0FBRyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsMkJBQUssR0FBTDtRQUNJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJ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LENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUMzQyxVQUFVLENBQUM7b0JBQ1AsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN4QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDWDtpQkFDRztnQkFDQSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztnQkFDeEUsVUFBVSxDQUFDO29CQUNQLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDeEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQ1g7UUFFTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUEzSEQ7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFVLFFBQVE7K0NBQ2I7SUFFdkI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFVLFdBQVc7aURBQ2Q7SUFFekI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFRLFFBQVE7OENBQ1o7SUFOUCxXQUFXO1FBRC9CLE9BQU87T0FDYSxXQUFXLENBK0gvQjtJQUFELGtCQUFDO0NBL0hELEFBK0hDLENBL0h3QyxFQUFFLENBQUMsU0FBUyxHQStIcEQ7a0JBL0hvQixXQUFXIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCBMaXN0IGZyb20gXCIuL21vZHVsZS9SYW5rTGlzdC9MaXN0XCI7XHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbi8v5o6S6KGM5qacXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJhbmtNYW5hZ2VyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKSAgICAgICAgICAvL+eUqOaIt+S4iuaWueWktOWDj1xyXG4gICAgUGxheWVyOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKSAgICAgICAgICAvL+eUqOaIt+acgOS4i+aWueS4quS6uuS/oeaBr1xyXG4gICAgc2VsZk5vZGU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlNwcml0ZSkgICAgICAgIC8v55So5oi35aS05YOP5o2i5Zu+XHJcbiAgICBwaG9uZTogY2MuU3ByaXRlID0gbnVsbDtcclxuICAgIHByaXZhdGUgcmFua0xpc3Q6IExpc3Q7ICAgICAvL+aOkuihjOamnFxyXG4gICAgdHdlZW46IGNjLlR3ZWVuPGNjLk5vZGU+OyAgIC8v5pyA5LiK5pa555So5oi35aS05YOP5Yqo55S7XHJcbiAgICBsaXN0RGF0YTogYW55OyAgICAgICAgICAgICAgLy/mgLvliJfooajkv6Hmga9cclxuICAgIHNlbGZEYXRhOiBhbnk7ICAgICAgICAgICAgICAvL+iHquW3seS/oeaBr1xyXG4gICAgcmFua051bWJlcjogbnVtYmVyOyAgICAgICAgIC8v55So5oi36Ieq5bex5o6S5ZCNIOacieWPr+iDveS4jeWcqOaOkuihjOamnOWGhTk5K1xyXG4gICAgcmFua1RvdGFsOiBudW1iZXI7ICAgICAgICAgIC8v6I635Y+W5o6S6KGM5qac55So5oi35pWw6YePIOeOsOWcqOS4ujEwMFxyXG5cclxuICAgIG9uTG9hZCgpIHtcclxuICAgICAgICB0aGlzLmluaXQoKTtcclxuICAgIH1cclxuICAgIC8v5Yid5aeL5YyW5pWw5o2uXHJcbiAgICBpbml0KCl7XHJcbiAgICAgICAgdGhpcy5yYW5rTGlzdCA9IGNjLmZpbmQoXCJTY3JvbGxWaWV3XCIsIHRoaXMubm9kZSkuZ2V0Q29tcG9uZW50KExpc3QpO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmxpc3REYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5zZWxmRGF0YSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5yYW5rTnVtYmVyID0gMTAwO1xyXG4gICAgICAgIHRoaXMucmFua1RvdGFsPSAxMDA7XHJcbiAgICAgICAgdGhpcy5zZWxmTm9kZS5vcGFjaXR5ID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydCgpIHtcclxuICAgICAgICB0aGlzLlBsYXllci5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmdldFJhbmsoKTtcclxuICAgIH1cclxuICAgIC8v6LCD55So6I635Y+W5o6S6KGM5qac5o6l5Y+jXHJcbiAgICBnZXRSYW5rKCl7XHJcbiAgICAgICAgbGV0IGRhdGFGaWxlID0ge1xyXG4gICAgICAgICAgICBsZW5ndGg6MTAwXHJcbiAgICAgICAgfVxyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rKGRhdGFGaWxlLGRhdGEgPT50aGlzLmdldFJhbmtEYXRhKGRhdGEpKTtcclxuICAgIH1cclxuICAgIC8v5a6e6ZmF6K6+572u5o6S6KGM5pWw5o2uXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhKXtcclxuICAgICAgICBpZihkYXRhKXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rRGF0YShkYXRhLHRoaXMsNik7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0UGljKHRoaXMuc2VsZkRhdGEucGljKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+i/lOWbnuaMiemSrlxyXG4gICAgYmFja0NsaWNrKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiTG9hZFNjZW5lXCIpO1xyXG4gICAgfVxyXG4gICAgLy/mnIDkuIrmlrnnlKjmiLfliqjnlLtcclxuICAgIHBsYXllckFjdGlvbigpe1xyXG4gICAgICAgIC8vLTI1NCAzNzcgIDIxMCA0NTNcclxuICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgbGV0IHRpbWUgPSAxO1xyXG4gICAgICAgIHRoaXMudHdlZW4gPSBjYy50d2Vlbih0aGlzLlBsYXllcilcclxuICAgICAgICAudG8oMix7cG9zaXRpb246Y2MudjMoMjEwLDQ1MywwKX0pXHJcbiAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJudW1iZXJcIilcclxuICAgICAgICAgICAgLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gIHBhcnNlSW50KHRpbWUqMTAwICsgXCJcIikgKyBcIiVcIjtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIHRpbWUgPSAodGhpcy5saXN0RGF0YS5sZW5ndGggLSB0aGlzLnJhbmtOdW1iZXIpL3RoaXMubGlzdERhdGEubGVuZ3RoO1xyXG4gICAgICAgIGlmKHRoaXMubGlzdERhdGEubGVuZ3RoID49IDk5KXtcclxuICAgICAgICAgICAgaWYodGhpcy5yYW5rTnVtYmVyID49IDk5KXtcclxuICAgICAgICAgICAgICAgIHRpbWUgPSAoTWF0aC5yYW5kb20oKSo0OSsxKS8xMDBcclxuICAgICAgICAgICAgICAgIHZhciBtYXRjaElkID0gY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibWF0Y2hOdW1iZXJcIik7XHJcbiAgICAgICAgICAgICAgICBpZihtYXRjaElkID09IG51bGwgfHwgbWF0Y2hJZCA9PSB1bmRlZmluZWQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRpbWUgPSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0aGlzLnR3ZWVuKXRoaXMudHdlZW4uc3RvcCgpO1xyXG4gICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwibnVtYmVyXCIpXHJcbiAgICAgICAgICAgIC5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9ICBwYXJzZUludCh0aW1lKjEwMCArIFwiXCIpICsgXCIlXCI7XHJcbiAgICAgICAgfSwgdGltZSoyMDAwKTtcclxuXHJcbiAgICB9XHJcbiAgICAvL+iuvue9ruWktOWDjyAg5aSE55CG55qE6YC76L6R5q+U6L6D5aSa77yM5LiN55So5YWs5YWx57G755qE5LqGXHJcbiAgICBwdWJsaWMgc2V0UGljKHBpYyl7XHJcbiAgICAgICAgdGhpcy5waG9uZS5ub2RlLnBhcmVudC5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5waG9uZS5ub2RlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5QbGF5ZXIub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaG9uZVwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICBmZXRjaChwaWMpXHJcbiAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ0NvbnRlbnQtTGVuZ3RoJyk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAudGhlbihlcnJObyA9PiB7XHJcbiAgICAgICAgICAgIGlmKGVyck5vID09IFwiNTA5M1wiKXtcclxuICAgICAgICAgICAgICAgIHRoaXMucGhvbmUubm9kZS5wYXJlbnQuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIFgtSW5mbzonLCBlcnJvcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIGNjLmFzc2V0TWFuYWdlci5sb2FkUmVtb3RlKHBpYywge2V4dDonLnBuZyd9LChlcnIsIHRleHR1cmU6Y2MuVGV4dHVyZTJEKSA9PiB7XHJcbiAgICAgICAgICAgIHNlbGYuUGxheWVyLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgIGlmKHRleHR1cmUpe1xyXG4gICAgICAgICAgICAgICAgc2VsZi5waG9uZS5ub2RlLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBzZWxmLnBob25lLnNwcml0ZUZyYW1lID0gbmV3IGNjLlNwcml0ZUZyYW1lKHRleHR1cmUpO1xyXG4gICAgICAgICAgICAgICAgc2VsZi5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHNlbGYuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcInBob25lXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBzZWxmLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaG9uZVwiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKVxyXG4gICAgICAgICAgICAgICAgLnNwcml0ZUZyYW1lID0gbmV3IGNjLlNwcml0ZUZyYW1lKHRleHR1cmUpO1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5wbGF5ZXJBY3Rpb24oKTtcclxuICAgICAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHNlbGYuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHNlbGYucGxheWVyQWN0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ== -//------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; + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.count = null; + _this.time = null; + _this.selfNode = null; + _this.one = null; + _this.two = null; + _this.three = null; + _this.four = null; + _this.five = null; + return _this; } + // onLoad () {} NewClass.prototype.start = function () { - window.initMgr(); - // WeChat.setShare(location.href); - cc.fx.GameConfig.init(); - // cc.fx.AudioManager._instance.init(); + this.count.string = cc.fx.GameConfig.GM_INFO.total + ""; + if (cc.fx.GameConfig.GM_INFO.mean_Time > 10) { + cc.fx.GameConfig.GM_INFO.mean_Time = (parseInt(Math.random() * 10 + "") + 5) / 10; + } + this.time.string = cc.fx.GameConfig.GM_INFO.mean_Time + "s"; + this.init(); + }; + //初始化数据 + NewClass.prototype.init = function () { + this.listData = []; + this.selfData = null; + this.one.active = false; + this.two.active = false; + this.three.active = false; + this.four.active = false; + this.five.active = false; var urlNow = window.location.href; if (this.containsTrain(urlNow)) { - console.log("无排行版本"); - this.node.getChildByName("Rank").active = false; + this.node.getChildByName("again").active = false; + this.node.getChildByName("back").active = false; + this.node.getChildByName("finishi").active = true; } else { - console.log("有排行版本"); + this.node.getChildByName("again").active = true; + this.node.getChildByName("back").active = true; + this.node.getChildByName("finishi").active = false; } + this.getRank(); }; - //判断来源 - NewClass.prototype.containsTrain = function (str) { - return /from=train/i.test(str); - }; - //开始游戏,跳转至引导页面 - 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.jumpFinishi = function () { + var url = "https://train.sparkus.cn/poster/game/" + cc.fx.GameConfig.GM_INFO.scode + "?suc=1"; + window.location.href = url; }; //打开排行榜 NewClass.prototype.openRank = function () { cc.director.loadScene("RankScene"); }; - NewClass.prototype.update = function (dt) { + //重新开始玩 + NewClass.prototype.again = function () { + cc.director.loadScene("GameScene"); }; + //判断来源 + NewClass.prototype.containsTrain = function (str) { + return /from=train/i.test(str); + }; + //获取排行榜 + NewClass.prototype.getRank = function () { + var _this = this; + //获取排行榜数据 所需数据量 + var dataFile = { + length: 5 + }; + cc.fx.GameTool.getRank(dataFile, function (data) { return _this.getRankData(data); }); + }; + //设置排行信息 + NewClass.prototype.getRankData = function (data) { + if (data) { + cc.fx.GameTool.getRankData(data, this, 4); + cc.fx.GameTool.setPic(this.selfNode.getChildByName("pic").getChildByName("icon"), this.selfData.pic); + for (var i = 0; i <= 4; i++) { + this.setRank(i, this.listData[i]); + } + } + }; + //根据内容填充排行榜 + NewClass.prototype.setRank = function (num, data) { + if (!data) { + return; + } + var hitNode = null; + if (num == 0) { + hitNode = this.one; + } + else if (num == 1) { + hitNode = this.two; + } + else if (num == 2) { + hitNode = this.three; + } + else if (num == 3) { + hitNode = this.four; + } + else if (num == 4) { + hitNode = this.five; + } + if (hitNode) { + hitNode.active = true; + data.nickName = cc.fx.GameTool.subName(data.nickName, 4); + hitNode.getChildByName("name").getComponent(cc.Label).string = data.nickName; + hitNode.getChildByName("total").getComponent(cc.Label).string = data.totalSunCount; + cc.fx.GameTool.setPic(hitNode.getChildByName("pic").getChildByName("icon"), data.pic); + } + }; + __decorate([ + property(cc.Label) + ], NewClass.prototype, "count", void 0); + __decorate([ + property(cc.Label) + ], NewClass.prototype, "time", void 0); + __decorate([ + property(cc.Node) + ], NewClass.prototype, "selfNode", void 0); + __decorate([ + property(cc.Node) + ], NewClass.prototype, "one", void 0); + __decorate([ + property(cc.Node) + ], NewClass.prototype, "two", void 0); + __decorate([ + property(cc.Node) + ], NewClass.prototype, "three", void 0); + __decorate([ + property(cc.Node) + ], NewClass.prototype, "four", void 0); + __decorate([ + property(cc.Node) + ], NewClass.prototype, "five", void 0); NewClass = __decorate([ ccclass ], NewClass); @@ -324,7 +230,54 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxMb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVNLElBQUEsS0FBd0MsRUFBRSxDQUFDLFVBQVUsRUFBcEQsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFBLEVBQUUsZ0JBQWdCLHNCQUFpQixDQUFDO0FBRzVEO0lBQXNDLDRCQUFZO0lBQWxEOztJQXFDQSxDQUFDO0lBcENHLHdCQUFLLEdBQUw7UUFDSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsa0NBQWtDO1FBQ2xDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLHVDQUF1QztRQUN2QyxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNsQyxJQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUM7WUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1NBQ25EO2FBQ0c7WUFDQSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVELE1BQU07SUFDTixnQ0FBYSxHQUFiLFVBQWMsR0FBRztRQUNiLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsY0FBYztJQUNkLDRCQUFTLEdBQVQ7UUFDSSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsZ0JBQWdCO0lBQ2hCLDJCQUFRLEdBQVIsVUFBUyxLQUFLLEVBQUMsSUFBSTtRQUNmLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pELEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxPQUFPO0lBQ1AsMkJBQVEsR0FBUjtRQUNJLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFUyx5QkFBTSxHQUFoQixVQUFpQixFQUFVO0lBQzNCLENBQUM7SUFwQ2dCLFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0FxQzVCO0lBQUQsZUFBQztDQXJDRCxBQXFDQyxDQXJDcUMsRUFBRSxDQUFDLFNBQVMsR0FxQ2pEO2tCQXJDb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdlQ2hhdCB9IGZyb20gXCIuL21vZHVsZS9TaGFyZS9zaGFyZVwiO1xyXG5cclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5LCByZXF1aXJlQ29tcG9uZW50fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICAgICAgd2luZG93LmluaXRNZ3IoKTtcclxuICAgICAgICAvLyBXZUNoYXQuc2V0U2hhcmUobG9jYXRpb24uaHJlZik7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5pbml0KCk7XHJcbiAgICAgICAgLy8gY2MuZnguQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZS5pbml0KCk7XHJcbiAgICAgICAgdmFyIHVybE5vdyA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xyXG4gICAgICAgIGlmKHRoaXMuY29udGFpbnNUcmFpbih1cmxOb3cpKXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCLml6DmjpLooYzniYjmnKxcIik7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlJhbmtcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5pyJ5o6S6KGM54mI5pysXCIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL+WIpOaWreadpea6kFxyXG4gICAgY29udGFpbnNUcmFpbihzdHIpIHtcclxuICAgICAgICByZXR1cm4gL2Zyb209dHJhaW4vaS50ZXN0KHN0cik7XHJcbiAgICB9XHJcblxyXG4gICAgLy/lvIDlp4vmuLjmiI/vvIzot7Povazoh7PlvJXlr7zpobXpnaJcclxuICAgIHN0YXJ0R2FtZSgpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkd1aWRlU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+Wkh+eUqO+8jOeUqOadpea1i+ivlei3s+i9rCDmjIflrprlhbPljaFcclxuICAgIGNsaWNrQnRuKGV2ZW50LGRhdGEpe1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5jdXN0b20gPSBwYXJzZUludChkYXRhKTtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICB9ICAgXHJcbiAgICAvL+aJk+W8gOaOkuihjOamnFxyXG4gICAgb3BlblJhbmsoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJSYW5rU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHByb3RlY3RlZCB1cGRhdGUoZHQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgfVxyXG59XHJcbiJdfQ== +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lT3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDTSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQWtIQztRQWhIRyxXQUFLLEdBQWEsSUFBSSxDQUFDO1FBRXZCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFFdEIsY0FBUSxHQUFZLElBQUksQ0FBQztRQUV6QixTQUFHLEdBQVksSUFBSSxDQUFDO1FBRXBCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFFcEIsV0FBSyxHQUFZLElBQUksQ0FBQztRQUV0QixVQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJCLFVBQUksR0FBWSxJQUFJLENBQUM7O0lBa0d6QixDQUFDO0lBL0ZHLGVBQWU7SUFDZix3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDeEQsSUFBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLEVBQUUsRUFBQztZQUN2QyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFBO1NBQzVFO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7UUFDNUQsSUFBSSxDQUFDLElBQUks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ZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxyXG4gICAgY291bnQ6IGNjLkxhYmVsID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIHRpbWU6IGNjLkxhYmVsID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgc2VsZk5vZGU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBvbmU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICB0d286IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICB0aHJlZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGZvdXI6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBmaXZlOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIGxpc3REYXRhOiBhbnk7XHJcbiAgICBzZWxmRGF0YTogYW55O1xyXG4gICAgLy8gb25Mb2FkICgpIHt9XHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICAgICAgdGhpcy5jb3VudC5zdHJpbmcgPSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udG90YWwgKyBcIlwiO1xyXG4gICAgICAgIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tZWFuX1RpbWUgPiAxMCl7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tZWFuX1RpbWUgPSAocGFyc2VJbnQoTWF0aC5yYW5kb20oKSoxMCtcIlwiKSs1KS8xMFxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnRpbWUuc3RyaW5nID0gY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1lYW5fVGltZSArIFwic1wiO1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG4gICAgLy/liJ3lp4vljJbmlbDmja5cclxuICAgIGluaXQoKXtcclxuICAgICAgICB0aGlzLmxpc3REYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5zZWxmRGF0YSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5vbmUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50d28uYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50aHJlZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZvdXIuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5maXZlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHZhciB1cmxOb3cgPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcclxuICAgICAgICBpZih0aGlzLmNvbnRhaW5zVHJhaW4odXJsTm93KSl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImFnYWluXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJiYWNrXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJmaW5pc2hpXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImFnYWluXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImJhY2tcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiZmluaXNoaVwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5nZXRSYW5rKCk7XHJcbiAgICB9XHJcbiAgICAvL+aJk+W8gOaOkuihjOamnFxyXG4gICAganVtcEZpbmlzaGkoKXtcclxuICAgICAgICBsZXQgdXJsID0gXCJodHRwczovL3RyYWluLnNwYXJrdXMuY24vcG9zdGVyL2dhbWUvXCIgKyBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uc2NvZGUgKyBcIj9zdWM9MVwiO1xyXG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsO1xyXG4gICAgfVxyXG4gICAgLy/miZPlvIDmjpLooYzmppxcclxuICAgIG9wZW5SYW5rKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiUmFua1NjZW5lXCIpO1xyXG4gICAgfVxyXG4gICAgLy/ph43mlrDlvIDlp4vnjqlcclxuICAgIGFnYWluKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG4gICAgfVxyXG4gICAgLy/liKTmlq3mnaXmupBcclxuICAgIGNvbnRhaW5zVHJhaW4oc3RyKSB7XHJcbiAgICAgICAgcmV0dXJuIC9mcm9tPXRyYWluL2kudGVzdChzdHIpO1xyXG4gICAgfVxyXG4gICAgLy/ojrflj5bmjpLooYzmppxcclxuICAgIGdldFJhbmsoKXtcclxuICAgICAgICAvL+iOt+WPluaOkuihjOamnOaVsOaNriAg5omA6ZyA5pWw5o2u6YePXHJcbiAgICAgICAgbGV0IGRhdGFGaWxlID0ge1xyXG4gICAgICAgICAgICBsZW5ndGg6NVxyXG4gICAgICAgIH1cclxuICAgICAgICAgY2MuZnguR2FtZVRvb2wuZ2V0UmFuayhkYXRhRmlsZSxkYXRhID0+dGhpcy5nZXRSYW5rRGF0YShkYXRhKSk7XHJcbiAgICB9XHJcbiAgICAvL+iuvue9ruaOkuihjOS/oeaBr1xyXG4gICAgZ2V0UmFua0RhdGEoZGF0YSl7XHJcbiAgICAgICAgaWYoZGF0YSl7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rRGF0YShkYXRhLHRoaXMsNCk7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRQaWModGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIiksdGhpcy5zZWxmRGF0YS5waWMpO1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MDtpPD00O2krKyl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFJhbmsoaSx0aGlzLmxpc3REYXRhW2ldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5qC55o2u5YaF5a655aGr5YWF5o6S6KGM5qacXHJcbiAgICBzZXRSYW5rKG51bSxkYXRhKXtcclxuICAgICAgICBpZighZGF0YSl7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIGhpdE5vZGUgPSBudWxsO1xyXG4gICAgICAgIGlmKG51bSA9PSAwKXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSAxKXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMudHdvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSAyKXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMudGhyZWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDMpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy5mb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSA0KXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMuZml2ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoaGl0Tm9kZSl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgIGRhdGEubmlja05hbWUgPSBjYy5meC5HYW1lVG9vbC5zdWJOYW1lKGRhdGEubmlja05hbWUsNCk7XHJcbiAgICAgICAgICAgIGhpdE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJuYW1lXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gZGF0YS5uaWNrTmFtZTtcclxuICAgICAgICAgICAgaGl0Tm9kZS5nZXRDaGlsZEJ5TmFtZShcInRvdGFsXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gZGF0YS50b3RhbFN1bkNvdW50O1xyXG4gICAgICAgICAgICAgY2MuZnguR2FtZVRvb2wuc2V0UGljKGhpdE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLGRhdGEucGljKTtcclxuICAgICAgICB9XHJcbiAgICB9ICAgXHJcbn1cclxuIl19 +//------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() { @@ -710,7 +663,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/Load.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { @@ -718,27 +671,75 @@ 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, '454adgphRpA6oq5lB6Cg1fK', 'Load'); +// Script/Load.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, 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(); + // WeChat.setShare(location.href); + cc.fx.GameConfig.init(); + // cc.fx.AudioManager._instance.init(); + var urlNow = window.location.href; + if (this.containsTrain(urlNow)) { + console.log("无排行版本"); + this.node.getChildByName("Rank").active = false; + } + else { + console.log("有排行版本"); + } + }; + //判断来源 + NewClass.prototype.containsTrain = function (str) { + return /from=train/i.test(str); + }; + //开始游戏,跳转至引导页面 + 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(); } @@ -751,7 +752,235 @@ 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxMb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVNLElBQUEsS0FBd0MsRUFBRSxDQUFDLFVBQVUsRUFBcEQsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFBLEVBQUUsZ0JBQWdCLHNCQUFpQixDQUFDO0FBRzVEO0lBQXNDLDRCQUFZO0lBQWxEOztJQXFDQSxDQUFDO0lBcENHLHdCQUFLLEdBQUw7UUFDSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsa0NBQWtDO1FBQ2xDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLHVDQUF1QztRQUN2QyxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNsQyxJQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUM7WUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1NBQ25EO2FBQ0c7WUFDQSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVELE1BQU07SUFDTixnQ0FBYSxHQUFiLFVBQWMsR0FBRztRQUNiLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsY0FBYztJQUNkLDRCQUFTLEdBQVQ7UUFDSSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsZ0JBQWdCO0lBQ2hCLDJCQUFRLEdBQVIsVUFBUyxLQUFLLEVBQUMsSUFBSTtRQUNmLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pELEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxPQUFPO0lBQ1AsMkJBQVEsR0FBUjtRQUNJLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFUyx5QkFBTSxHQUFoQixVQUFpQixFQUFVO0lBQzNCLENBQUM7SUFwQ2dCLFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0FxQzVCO0lBQUQsZUFBQztDQXJDRCxBQXFDQyxDQXJDcUMsRUFBRSxDQUFDLFNBQVMsR0FxQ2pEO2tCQXJDb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdlQ2hhdCB9IGZyb20gXCIuL21vZHVsZS9TaGFyZS9zaGFyZVwiO1xyXG5cclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5LCByZXF1aXJlQ29tcG9uZW50fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICAgICAgd2luZG93LmluaXRNZ3IoKTtcclxuICAgICAgICAvLyBXZUNoYXQuc2V0U2hhcmUobG9jYXRpb24uaHJlZik7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5pbml0KCk7XHJcbiAgICAgICAgLy8gY2MuZnguQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZS5pbml0KCk7XHJcbiAgICAgICAgdmFyIHVybE5vdyA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xyXG4gICAgICAgIGlmKHRoaXMuY29udGFpbnNUcmFpbih1cmxOb3cpKXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCLml6DmjpLooYzniYjmnKxcIik7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlJhbmtcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5pyJ5o6S6KGM54mI5pysXCIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL+WIpOaWreadpea6kFxyXG4gICAgY29udGFpbnNUcmFpbihzdHIpIHtcclxuICAgICAgICByZXR1cm4gL2Zyb209dHJhaW4vaS50ZXN0KHN0cik7XHJcbiAgICB9XHJcblxyXG4gICAgLy/lvIDlp4vmuLjmiI/vvIzot7Povazoh7PlvJXlr7zpobXpnaJcclxuICAgIHN0YXJ0R2FtZSgpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkd1aWRlU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+Wkh+eUqO+8jOeUqOadpea1i+ivlei3s+i9rCDmjIflrprlhbPljaFcclxuICAgIGNsaWNrQnRuKGV2ZW50LGRhdGEpe1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5jdXN0b20gPSBwYXJzZUludChkYXRhKTtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICB9ICAgXHJcbiAgICAvL+aJk+W8gOaOkuihjOamnFxyXG4gICAgb3BlblJhbmsoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJSYW5rU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHByb3RlY3RlZCB1cGRhdGUoZHQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgfVxyXG59XHJcbiJdfQ== +//------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/RankManager.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, 'e74a999IDFOabyymZgXQIiy', 'RankManager'); +// Script/RankManager.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 List_1 = require("./module/RankList/List"); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +//排行榜 +var RankManager = /** @class */ (function (_super) { + __extends(RankManager, _super); + function RankManager() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.Player = null; + _this.selfNode = null; + _this.phone = null; + return _this; + } + RankManager.prototype.onLoad = function () { + this.init(); + }; + //初始化数据 + RankManager.prototype.init = function () { + this.rankList = cc.find("ScrollView", this.node).getComponent(List_1.default); + this.Player.getChildByName("rank").active = false; + this.listData = []; + this.selfData = null; + this.rankNumber = 100; + this.rankTotal = 100; + this.selfNode.opacity = 0; + }; + RankManager.prototype.start = function () { + this.Player.active = false; + this.getRank(); + }; + //调用获取排行榜接口 + RankManager.prototype.getRank = function () { + var _this = this; + var dataFile = { + length: 100 + }; + cc.fx.GameTool.getRank(dataFile, function (data) { return _this.getRankData(data); }); + }; + //实际设置排行数据 + RankManager.prototype.getRankData = function (data) { + if (data) { + console.log(data); + cc.fx.GameTool.getRankData(data, this, 6); + this.setPic(this.selfData.pic); + } + }; + //返回按钮 + RankManager.prototype.backClick = function () { + cc.director.loadScene("LoadScene"); + }; + //最上方用户动画 + RankManager.prototype.playerAction = function () { + var _this = this; + //-254 377 210 453 + this.Player.getChildByName("rank").active = false; + var time = 1; + this.tween = cc.tween(this.Player) + .to(2, { position: cc.v3(210, 453, 0) }) + .call(function () { + _this.Player.getChildByName("rank").active = true; + _this.Player.getChildByName("rank").getChildByName("number") + .getComponent(cc.Label).string = parseInt(time * 100 + "") + "%"; + }) + .start(); + time = (this.listData.length - this.rankNumber) / this.listData.length; + if (this.listData.length >= 99) { + if (this.rankNumber >= 99) { + time = (Math.random() * 49 + 1) / 100; + var matchId = cc.sys.localStorage.getItem("matchNumber"); + if (matchId == null || matchId == undefined) { + time = 0; + } + } + } + setTimeout(function () { + if (_this.tween) + _this.tween.stop(); + _this.Player.getChildByName("rank").active = true; + _this.Player.getChildByName("rank").getChildByName("number") + .getComponent(cc.Label).string = parseInt(time * 100 + "") + "%"; + }, time * 2000); + }; + //设置头像 处理的逻辑比较多,不用公共类的了 + RankManager.prototype.setPic = function (pic) { + var _this = this; + this.phone.node.parent.getChildByName("icon").active = false; + this.phone.node.active = false; + this.Player.active = true; + this.Player.opacity = 0; + this.Player.getChildByName("mask").getChildByName("icon").active = false; + this.Player.getChildByName("mask").getChildByName("phone").active = false; + fetch(pic) + .then(function (response) { + return response.headers.get('Content-Length'); + }) + .then(function (errNo) { + if (errNo == "5093") { + _this.phone.node.parent.getChildByName("icon").active = true; + _this.Player.getChildByName("mask").getChildByName("icon").active = true; + } + }) + .catch(function (error) { + // console.error('Error fetching X-Info:', error); + }); + var self = this; + cc.assetManager.loadRemote(pic, { ext: '.png' }, function (err, texture) { + self.Player.opacity = 255; + if (texture) { + self.phone.node.active = true; + self.phone.spriteFrame = new cc.SpriteFrame(texture); + self.Player.getChildByName("mask").getChildByName("icon").active = false; + self.Player.getChildByName("mask").getChildByName("phone").active = true; + self.Player.getChildByName("mask").getChildByName("phone").getComponent(cc.Sprite) + .spriteFrame = new cc.SpriteFrame(texture); + setTimeout(function () { + self.playerAction(); + }, 500); + } + else { + self.Player.getChildByName("mask").getChildByName("icon").active = true; + setTimeout(function () { + self.playerAction(); + }, 500); + } + }); + }; + __decorate([ + property(cc.Node) //用户上方头像 + ], RankManager.prototype, "Player", void 0); + __decorate([ + property(cc.Node) //用户最下方个人信息 + ], RankManager.prototype, "selfNode", void 0); + __decorate([ + property(cc.Sprite) //用户头像换图 + ], RankManager.prototype, "phone", void 0); + RankManager = __decorate([ + ccclass + ], RankManager); + return RankManager; +}(cc.Component)); +exports.default = RankManager; + +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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxSYW5rTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwrQ0FBMEM7QUFDcEMsSUFBQSxLQUF3QixFQUFFLENBQUMsVUFBVSxFQUFuQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWtCLENBQUM7QUFDNUMsS0FBSztBQUVMO0lBQXlDLCtCQUFZO0lBQXJEO1FBQUEscUVBK0hDO1FBN0hHLFlBQU0sR0FBWSxJQUFJLENBQUM7UUFFdkIsY0FBUSxHQUFZLElBQUksQ0FBQztRQUV6QixXQUFLLEdBQWMsSUFBSSxDQUFDOztJQXlINUIsQ0FBQztJQWpIRyw0QkFBTSxHQUFOO1FBQ0ksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPO0lBQ1AsMEJBQUksR0FBSjtRQUNJLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxjQUFJLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2xELElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUUsR0FBRyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsMkJBQUssR0FBTDtRQUNJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJ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LENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUMzQyxVQUFVLENBQUM7b0JBQ1AsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN4QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDWDtpQkFDRztnQkFDQSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztnQkFDeEUsVUFBVSxDQUFDO29CQUNQLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDeEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQ1g7UUFFTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUEzSEQ7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFVLFFBQVE7K0NBQ2I7SUFFdkI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFVLFdBQVc7aURBQ2Q7SUFFekI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFRLFFBQVE7OENBQ1o7SUFOUCxXQUFXO1FBRC9CLE9BQU87T0FDYSxXQUFXLENBK0gvQjtJQUFELGtCQUFDO0NBL0hELEFBK0hDLENBL0h3QyxFQUFFLENBQUMsU0FBUyxHQStIcEQ7a0JBL0hvQixXQUFXIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCBMaXN0IGZyb20gXCIuL21vZHVsZS9SYW5rTGlzdC9MaXN0XCI7XHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbi8v5o6S6KGM5qacXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJhbmtNYW5hZ2VyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKSAgICAgICAgICAvL+eUqOaIt+S4iuaWueWktOWDj1xyXG4gICAgUGxheWVyOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKSAgICAgICAgICAvL+eUqOaIt+acgOS4i+aWueS4quS6uuS/oeaBr1xyXG4gICAgc2VsZk5vZGU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlNwcml0ZSkgICAgICAgIC8v55So5oi35aS05YOP5o2i5Zu+XHJcbiAgICBwaG9uZTogY2MuU3ByaXRlID0gbnVsbDtcclxuICAgIHByaXZhdGUgcmFua0xpc3Q6IExpc3Q7ICAgICAvL+aOkuihjOamnFxyXG4gICAgdHdlZW46IGNjLlR3ZWVuPGNjLk5vZGU+OyAgIC8v5pyA5LiK5pa555So5oi35aS05YOP5Yqo55S7XHJcbiAgICBsaXN0RGF0YTogYW55OyAgICAgICAgICAgICAgLy/mgLvliJfooajkv6Hmga9cclxuICAgIHNlbGZEYXRhOiBhbnk7ICAgICAgICAgICAgICAvL+iHquW3seS/oeaBr1xyXG4gICAgcmFua051bWJlcjogbnVtYmVyOyAgICAgICAgIC8v55So5oi36Ieq5bex5o6S5ZCNIOacieWPr+iDveS4jeWcqOaOkuihjOamnOWGhTk5K1xyXG4gICAgcmFua1RvdGFsOiBudW1iZXI7ICAgICAgICAgIC8v6I635Y+W5o6S6KGM5qac55So5oi35pWw6YePIOeOsOWcqOS4ujEwMFxyXG5cclxuICAgIG9uTG9hZCgpIHtcclxuICAgICAgICB0aGlzLmluaXQoKTtcclxuICAgIH1cclxuICAgIC8v5Yid5aeL5YyW5pWw5o2uXHJcbiAgICBpbml0KCl7XHJcbiAgICAgICAgdGhpcy5yYW5rTGlzdCA9IGNjLmZpbmQoXCJTY3JvbGxWaWV3XCIsIHRoaXMubm9kZSkuZ2V0Q29tcG9uZW50KExpc3QpO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmxpc3REYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5zZWxmRGF0YSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5yYW5rTnVtYmVyID0gMTAwO1xyXG4gICAgICAgIHRoaXMucmFua1RvdGFsPSAxMDA7XHJcbiAgICAgICAgdGhpcy5zZWxmTm9kZS5vcGFjaXR5ID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydCgpIHtcclxuICAgICAgICB0aGlzLlBsYXllci5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmdldFJhbmsoKTtcclxuICAgIH1cclxuICAgIC8v6LCD55So6I635Y+W5o6S6KGM5qac5o6l5Y+jXHJcbiAgICBnZXRSYW5rKCl7XHJcbiAgICAgICAgbGV0IGRhdGFGaWxlID0ge1xyXG4gICAgICAgICAgICBsZW5ndGg6MTAwXHJcbiAgICAgICAgfVxyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rKGRhdGFGaWxlLGRhdGEgPT50aGlzLmdldFJhbmtEYXRhKGRhdGEpKTtcclxuICAgIH1cclxuICAgIC8v5a6e6ZmF6K6+572u5o6S6KGM5pWw5o2uXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhKXtcclxuICAgICAgICBpZihkYXRhKXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rRGF0YShkYXRhLHRoaXMsNik7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0UGljKHRoaXMuc2VsZkRhdGEucGljKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+i/lOWbnuaMiemSrlxyXG4gICAgYmFja0NsaWNrKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiTG9hZFNjZW5lXCIpO1xyXG4gICAgfVxyXG4gICAgLy/mnIDkuIrmlrnnlKjmiLfliqjnlLtcclxuICAgIHBsYXllckFjdGlvbigpe1xyXG4gICAgICAgIC8vLTI1NCAzNzcgIDIxMCA0NTNcclxuICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgbGV0IHRpbWUgPSAxO1xyXG4gICAgICAgIHRoaXMudHdlZW4gPSBjYy50d2Vlbih0aGlzLlBsYXllcilcclxuICAgICAgICAudG8oMix7cG9zaXRpb246Y2MudjMoMjEwLDQ1MywwKX0pXHJcbiAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJudW1iZXJcIilcclxuICAgICAgICAgICAgLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gIHBhcnNlSW50KHRpbWUqMTAwICsgXCJcIikgKyBcIiVcIjtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIHRpbWUgPSAodGhpcy5saXN0RGF0YS5sZW5ndGggLSB0aGlzLnJhbmtOdW1iZXIpL3RoaXMubGlzdERhdGEubGVuZ3RoO1xyXG4gICAgICAgIGlmKHRoaXMubGlzdERhdGEubGVuZ3RoID49IDk5KXtcclxuICAgICAgICAgICAgaWYodGhpcy5yYW5rTnVtYmVyID49IDk5KXtcclxuICAgICAgICAgICAgICAgIHRpbWUgPSAoTWF0aC5yYW5kb20oKSo0OSsxKS8xMDBcclxuICAgICAgICAgICAgICAgIHZhciBtYXRjaElkID0gY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibWF0Y2hOdW1iZXJcIik7XHJcbiAgICAgICAgICAgICAgICBpZihtYXRjaElkID09IG51bGwgfHwgbWF0Y2hJZCA9PSB1bmRlZmluZWQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRpbWUgPSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0aGlzLnR3ZWVuKXRoaXMudHdlZW4uc3RvcCgpO1xyXG4gICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwibnVtYmVyXCIpXHJcbiAgICAgICAgICAgIC5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9ICBwYXJzZUludCh0aW1lKjEwMCArIFwiXCIpICsgXCIlXCI7XHJcbiAgICAgICAgfSwgdGltZSoyMDAwKTtcclxuXHJcbiAgICB9XHJcbiAgICAvL+iuvue9ruWktOWDjyAg5aSE55CG55qE6YC76L6R5q+U6L6D5aSa77yM5LiN55So5YWs5YWx57G755qE5LqGXHJcbiAgICBwdWJsaWMgc2V0UGljKHBpYyl7XHJcbiAgICAgICAgdGhpcy5waG9uZS5ub2RlLnBhcmVudC5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5waG9uZS5ub2RlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5QbGF5ZXIub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaG9uZVwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICBmZXRjaChwaWMpXHJcbiAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ0NvbnRlbnQtTGVuZ3RoJyk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAudGhlbihlcnJObyA9PiB7XHJcbiAgICAgICAgICAgIGlmKGVyck5vID09IFwiNTA5M1wiKXtcclxuICAgICAgICAgICAgICAgIHRoaXMucGhvbmUubm9kZS5wYXJlbnQuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIFgtSW5mbzonLCBlcnJvcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIGNjLmFzc2V0TWFuYWdlci5sb2FkUmVtb3RlKHBpYywge2V4dDonLnBuZyd9LChlcnIsIHRleHR1cmU6Y2MuVGV4dHVyZTJEKSA9PiB7XHJcbiAgICAgICAgICAgIHNlbGYuUGxheWVyLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgIGlmKHRleHR1cmUpe1xyXG4gICAgICAgICAgICAgICAgc2VsZi5waG9uZS5ub2RlLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBzZWxmLnBob25lLnNwcml0ZUZyYW1lID0gbmV3IGNjLlNwcml0ZUZyYW1lKHRleHR1cmUpO1xyXG4gICAgICAgICAgICAgICAgc2VsZi5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHNlbGYuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcInBob25lXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBzZWxmLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaG9uZVwiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKVxyXG4gICAgICAgICAgICAgICAgLnNwcml0ZUZyYW1lID0gbmV3IGNjLlNwcml0ZUZyYW1lKHRleHR1cmUpO1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5wbGF5ZXJBY3Rpb24oKTtcclxuICAgICAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHNlbGYuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHNlbGYucGxheWVyQWN0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ== //------QC-SOURCE-SPLIT------ (function() { @@ -797,6 +1026,7 @@ var NewClass = /** @class */ (function (_super) { } // onLoad () {} NewClass.prototype.start = function () { + this.node.on(cc.Node.EventType.TOUCH_START, this.clickBtn, this); }; //初始化数据 NewClass.prototype.init = function (_id, color, speed, repeat) { @@ -821,9 +1051,16 @@ var NewClass = /** @class */ (function (_super) { if (type == true) this.node.getChildByName("number").getComponent(cc.Label).string = this.id_Number + ""; }; + //计算两点之间直线距离 + NewClass.prototype.distanceBetweenTwoPoints = function (x1, y1, x2, y2) { + return Math.sqrt(Math.pow((x2 - x1), 2) + Math.pow((y2 - y1), 2)); + }; //点击事件 NewClass.prototype.clickBtn = function (event, data) { - if (data === "1") { + var pos = this.node.convertToNodeSpaceAR(event.getLocation()); + var distance = this.distanceBetweenTwoPoints(pos.x, 0, pos.y, 0); + distance = Math.floor(distance * 10) / 10; + if (this.node.name != "qiu4") { if (this.move == false && this.touch == true) { if (this.node.parent.parent.name == "GameNode") { if (this.node.parent.parent.getComponent("GameManager").begin == true) { @@ -836,13 +1073,15 @@ var NewClass = /** @class */ (function (_super) { .start(); this.touch = false; this.node.zIndex = -1; - cc.fx.Notifications.emit("clickSun", this.id_Number); + var data_1 = { id: this.id_Number, distance: distance }; + cc.fx.Notifications.emit("clickSun", data_1); } } else { this.touch = false; this.node.zIndex = -1; - cc.fx.Notifications.emit("clickSun", this.id_Number); + var data_2 = { id: this.id_Number, distance: distance }; + cc.fx.Notifications.emit("clickSun", data_2); } } } @@ -850,7 +1089,8 @@ var NewClass = /** @class */ (function (_super) { 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); + var data_3 = { id: this.id_Number, distance: distance }; + cc.fx.Notifications.emit("clickSun", data_3); } } }; @@ -872,195 +1112,7 @@ cc._RF.pop(); }); } })(); -//# 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/GameOver.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, '805c6nf399HWZeuWnNB9CTH', 'GameOver'); -// Script/GameOver.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() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.count = null; - _this.time = null; - _this.selfNode = null; - _this.one = null; - _this.two = null; - _this.three = null; - _this.four = null; - _this.five = null; - return _this; - } - // onLoad () {} - NewClass.prototype.start = function () { - this.count.string = cc.fx.GameConfig.GM_INFO.total + ""; - if (cc.fx.GameConfig.GM_INFO.mean_Time > 10) { - cc.fx.GameConfig.GM_INFO.mean_Time = (parseInt(Math.random() * 10 + "") + 5) / 10; - } - this.time.string = cc.fx.GameConfig.GM_INFO.mean_Time + "s"; - this.init(); - }; - //初始化数据 - NewClass.prototype.init = function () { - this.listData = []; - this.selfData = null; - this.one.active = false; - this.two.active = false; - this.three.active = false; - this.four.active = false; - this.five.active = false; - var urlNow = window.location.href; - if (this.containsTrain(urlNow)) { - this.node.getChildByName("again").active = false; - this.node.getChildByName("back").active = false; - this.node.getChildByName("finishi").active = true; - } - else { - this.node.getChildByName("again").active = true; - this.node.getChildByName("back").active = true; - this.node.getChildByName("finishi").active = false; - } - this.getRank(); - }; - //打开排行榜 - NewClass.prototype.jumpFinishi = function () { - var url = "https://train.sparkus.cn/poster/game/" + cc.fx.GameConfig.GM_INFO.scode + "?suc=1"; - window.location.href = url; - }; - //打开排行榜 - NewClass.prototype.openRank = function () { - cc.director.loadScene("RankScene"); - }; - //重新开始玩 - NewClass.prototype.again = function () { - cc.director.loadScene("GameScene"); - }; - //判断来源 - NewClass.prototype.containsTrain = function (str) { - return /from=train/i.test(str); - }; - //获取排行榜 - NewClass.prototype.getRank = function () { - var _this = this; - //获取排行榜数据 所需数据量 - var dataFile = { - length: 5 - }; - cc.fx.GameTool.getRank(dataFile, function (data) { return _this.getRankData(data); }); - }; - //设置排行信息 - NewClass.prototype.getRankData = function (data) { - if (data) { - cc.fx.GameTool.getRankData(data, this, 4); - cc.fx.GameTool.setPic(this.selfNode.getChildByName("pic").getChildByName("icon"), this.selfData.pic); - for (var i = 0; i <= 4; i++) { - this.setRank(i, this.listData[i]); - } - } - }; - //根据内容填充排行榜 - NewClass.prototype.setRank = function (num, data) { - var hitNode = null; - if (num == 0) { - hitNode = this.one; - } - else if (num == 1) { - hitNode = this.two; - } - else if (num == 2) { - hitNode = this.three; - } - else if (num == 3) { - hitNode = this.four; - } - else if (num == 4) { - hitNode = this.five; - } - if (hitNode) { - hitNode.active = true; - cc.fx.GameTool.subName(data.nickName, 4); - hitNode.getChildByName("name").getComponent(cc.Label).string = data.nickName; - hitNode.getChildByName("total").getComponent(cc.Label).string = data.totalSunCount; - cc.fx.GameTool.setPic(hitNode.getChildByName("pic").getChildByName("icon"), data.pic); - } - }; - __decorate([ - property(cc.Label) - ], NewClass.prototype, "count", void 0); - __decorate([ - property(cc.Label) - ], NewClass.prototype, "time", void 0); - __decorate([ - property(cc.Node) - ], NewClass.prototype, "selfNode", void 0); - __decorate([ - property(cc.Node) - ], NewClass.prototype, "one", void 0); - __decorate([ - property(cc.Node) - ], NewClass.prototype, "two", void 0); - __decorate([ - property(cc.Node) - ], NewClass.prototype, "three", void 0); - __decorate([ - property(cc.Node) - ], NewClass.prototype, "four", void 0); - __decorate([ - property(cc.Node) - ], NewClass.prototype, "five", void 0); - 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lT3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDTSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQStHQztRQTdHRyxXQUFLLEdBQWEsSUFBSSxDQUFDO1FBRXZCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFFdEIsY0FBUSxHQUFZLElBQUksQ0FBQztRQUV6QixTQUFHLEdBQVksSUFBSSxDQUFDO1FBRXBCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFFcEIsV0FBSyxHQUFZLElBQUksQ0FBQztRQUV0QixVQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJCLFVBQUksR0FBWSxJQUFJLENBQUM7O0lBK0Z6QixDQUFDO0lBNUZHLGVBQWU7SUFDZix3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDeEQsSUFBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLEVBQUUsRUFBQztZQUN2QyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFBO1NBQzVFO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7UUFDNUQsSUFBSSxDQUFDLElBQUks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QyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzdFLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUNsRixFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3pGO0lBQ0wsQ0FBQztJQTVHRDtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDOzJDQUNJO0lBRXZCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7MENBQ0c7SUFFdEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzs4Q0FDTztJQUV6QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO3lDQUNFO0lBRXBCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7eUNBQ0U7SUFFcEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzsyQ0FDSTtJQUV0QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzBDQUNHO0lBRXJCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7MENBQ0c7SUFoQkosUUFBUTtRQUQ1QixPQUFPO09BQ2EsUUFBUSxDQStHNUI7SUFBRCxlQUFDO0NBL0dELEFBK0dDLENBL0dxQyxFQUFFLENBQUMsU0FBUyxHQStHakQ7a0JBL0dvQixRQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxyXG4gICAgY291bnQ6IGNjLkxhYmVsID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIHRpbWU6IGNjLkxhYmVsID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgc2VsZk5vZGU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBvbmU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICB0d286IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICB0aHJlZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGZvdXI6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBmaXZlOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIGxpc3REYXRhOiBhbnk7XHJcbiAgICBzZWxmRGF0YTogYW55O1xyXG4gICAgLy8gb25Mb2FkICgpIHt9XHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICAgICAgdGhpcy5jb3VudC5zdHJpbmcgPSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udG90YWwgKyBcIlwiO1xyXG4gICAgICAgIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tZWFuX1RpbWUgPiAxMCl7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tZWFuX1RpbWUgPSAocGFyc2VJbnQoTWF0aC5yYW5kb20oKSoxMCtcIlwiKSs1KS8xMFxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnRpbWUuc3RyaW5nID0gY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1lYW5fVGltZSArIFwic1wiO1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG4gICAgLy/liJ3lp4vljJbmlbDmja5cclxuICAgIGluaXQoKXtcclxuICAgICAgICB0aGlzLmxpc3REYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5zZWxmRGF0YSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5vbmUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50d28uYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50aHJlZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZvdXIuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5maXZlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHZhciB1cmxOb3cgPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcclxuICAgICAgICBpZih0aGlzLmNvbnRhaW5zVHJhaW4odXJsTm93KSl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImFnYWluXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJiYWNrXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJmaW5pc2hpXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImFnYWluXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImJhY2tcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiZmluaXNoaVwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5nZXRSYW5rKCk7XHJcbiAgICB9XHJcbiAgICAvL+aJk+W8gOaOkuihjOamnFxyXG4gICAganVtcEZpbmlzaGkoKXtcclxuICAgICAgICBsZXQgdXJsID0gXCJodHRwczovL3RyYWluLnNwYXJrdXMuY24vcG9zdGVyL2dhbWUvXCIgKyBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uc2NvZGUgKyBcIj9zdWM9MVwiO1xyXG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsO1xyXG4gICAgfVxyXG4gICAgLy/miZPlvIDmjpLooYzmppxcclxuICAgIG9wZW5SYW5rKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiUmFua1NjZW5lXCIpO1xyXG4gICAgfVxyXG4gICAgLy/ph43mlrDlvIDlp4vnjqlcclxuICAgIGFnYWluKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG4gICAgfVxyXG4gICAgLy/liKTmlq3mnaXmupBcclxuICAgIGNvbnRhaW5zVHJhaW4oc3RyKSB7XHJcbiAgICAgICAgcmV0dXJuIC9mcm9tPXRyYWluL2kudGVzdChzdHIpO1xyXG4gICAgfVxyXG4gICAgLy/ojrflj5bmjpLooYzmppxcclxuICAgIGdldFJhbmsoKXtcclxuICAgICAgICAvL+iOt+WPluaOkuihjOamnOaVsOaNriAg5omA6ZyA5pWw5o2u6YePXHJcbiAgICAgICAgbGV0IGRhdGFGaWxlID0ge1xyXG4gICAgICAgICAgICBsZW5ndGg6NVxyXG4gICAgICAgIH1cclxuICAgICAgICAgY2MuZnguR2FtZVRvb2wuZ2V0UmFuayhkYXRhRmlsZSxkYXRhID0+dGhpcy5nZXRSYW5rRGF0YShkYXRhKSk7XHJcbiAgICB9XHJcbiAgICAvL+iuvue9ruaOkuihjOS/oeaBr1xyXG4gICAgZ2V0UmFua0RhdGEoZGF0YSl7XHJcbiAgICAgICAgaWYoZGF0YSl7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rRGF0YShkYXRhLHRoaXMsNCk7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRQaWModGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIiksdGhpcy5zZWxmRGF0YS5waWMpO1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MDtpPD00O2krKyl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFJhbmsoaSx0aGlzLmxpc3REYXRhW2ldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5qC55o2u5YaF5a655aGr5YWF5o6S6KGM5qacXHJcbiAgICBzZXRSYW5rKG51bSxkYXRhKXtcclxuICAgICAgICB2YXIgaGl0Tm9kZSA9IG51bGw7XHJcbiAgICAgICAgaWYobnVtID09IDApe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDEpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy50d287XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDIpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy50aHJlZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gMyl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLmZvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDQpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy5maXZlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihoaXROb2RlKXtcclxuICAgICAgICAgICAgaGl0Tm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgY2MuZnguR2FtZVRvb2wuc3ViTmFtZShkYXRhLm5pY2tOYW1lLDQpO1xyXG4gICAgICAgICAgICBoaXROb2RlLmdldENoaWxkQnlOYW1lKFwibmFtZVwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IGRhdGEubmlja05hbWU7XHJcbiAgICAgICAgICAgIGhpdE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0b3RhbFwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IGRhdGEudG90YWxTdW5Db3VudDtcclxuICAgICAgICAgICAgIGNjLmZ4LkdhbWVUb29sLnNldFBpYyhoaXROb2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKSxkYXRhLnBpYyk7XHJcbiAgICAgICAgfVxyXG4gICAgfSAgIFxyXG59XHJcbiJdfQ== +//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztvQkFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ3RCLElBQUksTUFBSSxHQUFHLEVBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBQyxDQUFDO29CQUNqRCxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFDLE1BQUksQ0FBQyxDQUFDO2lCQUM3QzthQUVKO1NBQ0o7YUFDRztZQUNBLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFDO2dCQUN6RixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztnQkFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLElBQUksTUFBSSxHQUFHLEVBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBQyxDQUFDO2dCQUNqRCxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFDLE1BQUksQ0FBQyxDQUFDO2FBQzdDO1NBQ0o7SUFDTCxDQUFDO0lBL0VnQixRQUFRO1FBRDVCLE9BQU87T0FDYSxRQUFRLENBZ0Y1QjtJQUFELGVBQUM7Q0FoRkQsQUFnRkMsQ0FoRnFDLEVBQUUsQ0FBQyxTQUFTLEdBZ0ZqRDtrQkFoRm9CLFFBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ld0NsYXNzIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIGlkX051bWJlcjpudW1iZXJcclxuICAgIF9zcGVlZDpudW1iZXJcclxuICAgIF9jb2xvcjpudW1iZXJcclxuICAgIHRvdWNoOmJvb2xlYW5cclxuICAgIF9yZXBlYXQ6Ym9vbGVhblxyXG4gICAgbW92ZTpib29sZWFuXHJcbiAgICAvLyBvbkxvYWQgKCkge31cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICB0aGlzLm5vZGUub24oY2MuTm9kZS5FdmVudFR5cGUuVE9VQ0hfU1RBUlQsIHRoaXMuY2xpY2tCdG4sIHRoaXMpO1xyXG4gICAgfVxyXG4gICAgLy/liJ3lp4vljJbmlbDmja5cclxuICAgIGluaXQoX2lkLGNvbG9yLHNwZWVkLHJlcGVhdCl7XHJcbiAgICAgICAgdGhpcy50b3VjaCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5tb3ZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pZF9OdW1iZXIgID0gX2lkO1xyXG4gICAgICAgIHRoaXMuX2NvbG9yID0gY29sb3I7XHJcbiAgICAgICAgdGhpcy5fc3BlZWQgPSBzcGVlZDtcclxuICAgICAgICB0aGlzLl9yZXBlYXQgPSByZXBlYXQ7XHJcbiAgICAgICAgLy/lpKrpmLPliqjnlLtcclxuICAgICAgICBjYy50d2Vlbih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzaGFuXCIpKVxyXG4gICAgICAgIC5yZXBlYXRGb3JldmVyKFxyXG4gICAgICAgICAgICBjYy50d2VlbigpXHJcbiAgICAgICAgICAgIC50bygxLHtvcGFjaXR5OjAsc2NhbGU6MC41LH0pXHJcbiAgICAgICAgICAgIC5kZWxheSgwLjIpXHJcbiAgICAgICAgICAgIC50bygxLHtvcGFjaXR5OjI1NSxzY2FsZToxLjJ9KVxyXG4gICAgICAgICAgICAuZGVsYXkoMC41KVxyXG4gICAgICAgIClcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v55So5LqO5L2c5byKIOa1i+ivlVxyXG4gICAgc2hvd051bWJlcih0eXBlKXtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJudW1iZXJcIikuYWN0aXZlID0gdHlwZTtcclxuICAgICAgICBpZih0eXBlID09IHRydWUpXHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIm51bWJlclwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRoaXMuaWRfTnVtYmVyICsgXCJcIjtcclxuICAgIH1cclxuICAgIC8v6K6h566X5Lik54K55LmL6Ze055u057q/6Led56a7XHJcbiAgICBkaXN0YW5jZUJldHdlZW5Ud29Qb2ludHMoeDE6IG51bWJlciwgeTE6IG51bWJlciwgeDI6IG51bWJlciwgeTI6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIE1hdGguc3FydCgoeDIgLSB4MSkgKiogMiArICh5MiAtIHkxKSAqKiAyKTtcclxuICAgIH1cclxuICAgIC8v54K55Ye75LqL5Lu2XHJcbiAgICBjbGlja0J0bihldmVudCxkYXRhKXtcclxuICAgICAgICBsZXQgcG9zID0gdGhpcy5ub2RlLmNvbnZlcnRUb05vZGVTcGFjZUFSKGV2ZW50LmdldExvY2F0aW9uKCkpO1xyXG4gICAgICAgIGxldCBkaXN0YW5jZSA9IHRoaXMuZGlzdGFuY2VCZXR3ZWVuVHdvUG9pbnRzKHBvcy54LCAwLCBwb3MueSwgMCk7XHJcbiAgICAgICAgZGlzdGFuY2UgPSBNYXRoLmZsb29yKGRpc3RhbmNlKjEwKS8xMDtcclxuICAgICAgICBpZih0aGlzLm5vZGUubmFtZSAhPSBcInFpdTRcIil7XHJcbiAgICAgICAgICAgIGlmKCB0aGlzLm1vdmUgPT0gZmFsc2UgJiYgdGhpcy50b3VjaCA9PSB0cnVlKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMubm9kZS5wYXJlbnQucGFyZW50Lm5hbWUgPT0gXCJHYW1lTm9kZVwiKXtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm5vZGUucGFyZW50LnBhcmVudC5nZXRDb21wb25lbnQoXCJHYW1lTWFuYWdlclwiKS5iZWdpbiA9PSB0cnVlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYWN0aW9uXCIpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudG8oMC41LHtvcGFjaXR5OjAsc2NhbGU6MS44fSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMubm9kZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvKDAuMyx7c2NhbGU6MS4zfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvKDAuMyx7c2NhbGU6MX0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubm9kZS56SW5kZXggPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGRhdGEgPSB7aWQ6dGhpcy5pZF9OdW1iZXIsZGlzdGFuY2U6ZGlzdGFuY2V9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoXCJjbGlja1N1blwiLGRhdGEpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b3VjaCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm9kZS56SW5kZXggPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IHtpZDp0aGlzLmlkX051bWJlcixkaXN0YW5jZTpkaXN0YW5jZX07XHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KFwiY2xpY2tTdW5cIixkYXRhKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGlmKCB0aGlzLnRvdWNoID09IHRydWUgJiYgdGhpcy5ub2RlLnBhcmVudC5wYXJlbnQuZ2V0Q29tcG9uZW50KFwiR3VpZGVNYW5hZ2VyXCIpLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy50b3VjaCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLnpJbmRleCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgbGV0IGRhdGEgPSB7aWQ6dGhpcy5pZF9OdW1iZXIsZGlzdGFuY2U6ZGlzdGFuY2V9O1xyXG4gICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KFwiY2xpY2tTdW5cIixkYXRhKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0= //------QC-SOURCE-SPLIT------ (function() { @@ -1309,6 +1361,7 @@ var GameManager = /** @class */ (function (_super) { this.ball_Array[k].removeFromParent(); this.ball_Array[k] = null; } + cc.fx.GameConfig.GM_INFO.gap = []; }; //点击太阳执行方法 GameManager.prototype.clickSun = function (data) { @@ -1318,12 +1371,13 @@ var GameManager = /** @class */ (function (_super) { var clickTime = cc.fx.GameTool.getTime(); this.time_Array.push((clickTime - this.timeStart)); this.timeStart = cc.fx.GameTool.getTime(); - if (data == this.clickNow) { + if (data.id == this.clickNow) { cc.fx.AudioManager._instance.playAudioButton(); if (this.clickNow > 0) { 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), 0.2); } this.clickNow += 1; + cc.fx.GameConfig.GM_INFO.gap.push(data.distance); if (this.ball_Array[this.clickNow - 1]) this.ball_Array[this.clickNow - 1].getChildByName("guang").active = false; if (this.clickNow == this.now_Array.length) { @@ -1378,7 +1432,8 @@ var GameManager = /** @class */ (function (_super) { difficultyLevel: this.level, sunList: sunArray, stepTimeList: this.time_Array, - remainder: this.countTime + remainder: this.countTime, + gap: cc.fx.GameConfig.GM_INFO.gap }; if (cc.fx.GameConfig.CLICK_DATA.duration > 50) { cc.fx.GameConfig.CLICK_DATA.duration = 50; @@ -1412,12 +1467,12 @@ var GameManager = /** @class */ (function (_super) { } } else { - this.setLoss(); + this.setLoss(data); } } }; //执行失败 - GameManager.prototype.setLoss = function () { + GameManager.prototype.setLoss = function (data) { cc.fx.AudioManager._instance.playWarning(); this.begin = false; this.overTime = cc.fx.GameTool.getTime(); @@ -1453,6 +1508,7 @@ var GameManager = /** @class */ (function (_super) { sunArray.push(0); } } + cc.fx.GameConfig.GM_INFO.gap.push(data.distance); cc.fx.GameConfig.CLICK_DATA = { type: 1, @@ -1467,7 +1523,8 @@ var GameManager = /** @class */ (function (_super) { difficultyLevel: this.level, sunList: sunArray, stepTimeList: this.time_Array, - remainder: this.countTime + remainder: this.countTime, + gap: cc.fx.GameConfig.GM_INFO.gap }; if (cc.fx.GameConfig.CLICK_DATA.duration > 50) { cc.fx.GameConfig.CLICK_DATA.duration = 50; @@ -2002,7 +2059,7 @@ var GameManager = /** @class */ (function (_super) { this.begin = false; this.over = true; this.unschedule(this.updateCountDownTime); - this.setLoss(); + this.setLoss({ distance: 0 }); var time = 0; if (this.clickCount > 0) time = parseInt(cc.fx.GameConfig.GM_INFO.mean_Time / this.clickCount + ""); @@ -2089,45 +2146,7 @@ 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/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 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxTQUFTO0FBQ0gsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFFMUM7SUFBeUMsK0JBQVk7SUFBckQ7UUFBQSxxRUFvNkJDO1FBbDZCRyxVQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJCLFVBQUksR0FBYyxJQUFJLENBQUM7UUFFdkIsVUFBSSxHQUFjLElBQUksQ0FBQztRQUV2QixVQUFJLEdBQWMsSUFBSSxDQUFDO1FBRXZCLGdCQUFVLEdBQWMsSUFBSSxDQUFDO1FBRTdCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFDcEIsU0FBRyxHQUFZLElBQUksQ0FBQztRQUNwQixTQUFHLEdBQVksSUFBSSxDQUFDO1FBQ3BCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFDdEIsV0FBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixXQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLFVBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIsVUFBSSxHQUFZLEtBQUssQ0FBQztRQW9CdEIsZ0JBQVUsR0FBYSxJQUFJLENBQUM7O0lBNjNCaEMsQ0FBQztJQXQzQkcsNEJBQU0sR0FBTixjQUFXLENBQUM7SUFDWiwyQkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPO0lBQ1AsMEJBQUksR0FBSjtRQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNw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Q0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDOzZDQUNHO0lBRXZCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7NkNBQ0c7SUFFdkI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQzttREFDUztJQUU3QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzRDQUNFO0lBMkJwQjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO21EQUNTO0lBdkNYLFdBQVc7UUFEL0IsT0FBTztPQUNhLFdBQVcsQ0FvNkIvQjtJQUFELGtCQUFDO0NBcDZCRCxBQW82QkMsQ0FwNkJ3QyxFQUFFLENBQUMsU0FBUyxHQW82QnBEO2tCQXA2Qm9CLFdBQVciLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyDkuLvmuLjmiI/mjqfliLbnsbtcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEdhbWVNYW5hZ2VyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgYmFsbDogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgcWl1MTogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICBxaXUyOiBjYy5QcmVmYWIgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHFpdTM6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgbGluZVByZWZhYjogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgaGl0OiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIGJnMTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBiZzI6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgdGltZTogY2MuTGFiZWwgPSBudWxsO1xyXG4gICAgYmVnaW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGZ1aHVvOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBvdmVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBzaG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBjb3VudFRpbWU6bnVtYmVyO1xyXG4gICAgdGltZUNvdW50Om51bWJlcjtcclxuICAgIGZpdFRvcDpudW1iZXI7XHJcbiAgICBmaXRCb3Q6bnVtYmVyO1xyXG4gICAgbGV2ZWw6bnVtYmVyO1xyXG4gICAgY2xpY2tOb3c6bnVtYmVyO1xyXG4gICAgc3RhcnRUaW1lOm51bWJlcjtcclxuICAgIG92ZXJUaW1lOm51bWJlcjtcclxuICAgIHdpblRpbWU6bnVtYmVyO1xyXG4gICAgY2xpY2tDb3VudDpudW1iZXI7XHJcbiAgICB0aW1lU3RhcnQ6bnVtYmVyO1xyXG4gICAgcm91dGVfQXJyYXk6IGFueVtdO1xyXG4gICAgbm93X0FycmF5OiBhbnlbXTtcclxuICAgIGJhbGxfQXJyYXk6IGFueVtdO1xyXG4gICAgTGluZV9BcnJheTogYW55W107XHJcbiAgICBQb3NfQXJyYXk6IGFueVtdO1xyXG4gICAgdGltZV9BcnJheTogYW55W107XHJcbiAgICBjb2xvcl9BcnJheTogYW55W107XHJcbiAgICBAcHJvcGVydHkoY2MuTGFiZWwpXHJcbiAgICBsZXZlbExhYmVsOiBjYy5MYWJlbCA9IG51bGw7XHJcbiAgICBzdGF0aWMgX2luc3RhbmNlOiBhbnk7XHJcbiAgICBtb3ZlQXJyYXk6IG51bWJlcltdO1xyXG4gICAgcmVwZWF0OiBudW1iZXI7XHJcbiAgICBudW1iZXJSZXBlYXQ6IG51bWJlcjtcclxuICAgIHJvdW5kOiBudW1iZXI7XHJcbiAgICBwYXVzZTogYm9vbGVhbjtcclxuICAgIG9uTG9hZCAoKSB7fVxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMuZml0KCk7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdCgpe1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLnpJbmRleCA9IDEwMDtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJHYW1lT3ZlclwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmJhbGwuekluZGV4ID0gMTAwO1xyXG4gICAgICAgIHRoaXMuYmcxID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYmcxXCIpO1xyXG4gICAgICAgIHRoaXMuYmcyID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYmcyXCIpO1xyXG4gICAgICAgIHRoaXMudGltZSA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlRvcFwiKS5nZXRDaGlsZEJ5TmFtZShcInRpbWVcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzaG93QnRuXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuYmVnaW4gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm92ZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZ1aHVvID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnBhdXNlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNob3cgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJvdW5kID0gMDsgXHJcbiAgICAgICAgdGhpcy5sZXZlbCA9IDI7XHJcbiAgICAgICAgdGhpcy5jb3VudFRpbWUgPSA2MDtcclxuICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uY3VzdG9tICE9IDApe1xyXG4gICAgICAgICAgICB0aGlzLmxldmVsID0gY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmN1c3RvbTtcclxuICAgICAgICAgICAgLy8gdGhpcy5sZXZlbExhYmVsLnN0cmluZyA9IHRoaXMubGV2ZWwgKyBcIlwiO1xyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uY3VzdG9tICs9IDE7XHJcbiAgICAgICAgICAgIHRoaXMuY291bnRUaW1lID0gMTIwMDAwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuICAgICAgICB0aGlzLnRpbWVDb3VudCA9IDAuMTtcclxuICAgICAgICB0aGlzLmNsaWNrTm93ID0gMDtcclxuICAgICAgICB0aGlzLmNsaWNrQ291bnQgPSAwO1xyXG4gICAgICAgIHRoaXMudGltZVN0YXJ0ID0gMDtcclxuICAgICAgICB0aGlzLnJlcGVhdCA9IC0xO1xyXG4gICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gLTE7XHJcbiAgICAgICAgdGhpcy5yb3V0ZV9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMubW92ZUFycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5ub3dfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmJhbGxfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLlBvc19BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMudGltZV9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY29sb3JfQXJyYXkgPSBbXTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdBTUVfREFUQSA9IFtdO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5zdWNjZXNzID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zdGFydFRpbWUgPSAwO1xyXG4gICAgICAgIHRoaXMub3ZlclRpbWUgPSAwO1xyXG4gICAgICAgIHRoaXMud2luVGltZSA9IDA7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnRvdGFsID0gMDtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWVhbl9UaW1lID0gMDtcclxuICAgICAgICB0aGlzLnNjaGVkdWxlKHRoaXMudXBkYXRlQ291bnREb3duVGltZSwxKTtcclxuICAgICAgICB0aGlzLnN0YXJ0R2FtZSgpO1xyXG4gICAgfVxyXG4gICAgLy/moLnmja7mmK/lkKblhajpnaLlsY/vvIzlgZrni6znq4vpgILphY3mlrnpnaJcclxuICAgIGZpdCgpe1xyXG4gICAgICAgIHRoaXMuZml0VG9wID0gNDUwOyAgLy82MDBcclxuICAgICAgICB0aGlzLmZpdEJvdCA9IC02MDA7IC8vLTcwMFxyXG4gICAgICAgIHZhciBqZyA9IHRoaXMuc2V0Rml0KCk7XHJcbiAgICAgICAgaWYoIWpnKXtcclxuICAgICAgICAgICAgdGhpcy5maXRUb3AgPSA2MDA7XHJcbiAgICAgICAgICAgIHRoaXMuZml0Qm90ID0gLTcwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+WIpOaWreWFqOmdouWxj1xyXG4gICAgZ2V0U2V0U2NyZWVuUmVzb2x1dGlvbkZsYWcgKCkge1xyXG4gICAgICAgIGxldCBzaXplID0gY2Mud2luU2l6ZTtcclxuICAgICAgICBsZXQgd2lkdGggPSBzaXplLndpZHRoO1xyXG4gICAgICAgIGxldCBoZWlnaHQgPSBzaXplLmhlaWdodDtcclxuICAgICAgICBpZiAoKGhlaWdodCAvIHdpZHRoKSA+ICgxNi4yIC8gOSkpIHJldHVybiBmYWxzZTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIC8v5Yik5pat5YWo6Z2i5bGP6YCC6YWNXHJcbiAgICBzZXRGaXQgKCkge1xyXG4gICAgICAgIGxldCBmbGFnID0gdGhpcy5nZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZygpO1xyXG4gICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZsYWc7XHJcbiAgICB9XHJcbiAgICAvL+i/lOWbnummlumhtVxyXG4gICAgYmFja1NjZW5lKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiTG9hZFNjZW5lXCIpO1xyXG4gICAgfVxyXG4gICAgLy/kuIvkuIDlhbPvvIzmiJbogIXph43mlrDlvIDlp4vvvIzmiJbogIXov5Tlm57kuIrkuIDlhbPvvIzmoLnmja5sZXZlbOWGs+WumlxyXG4gICAgcmVTdGFydCh0eXBlKXtcclxuICAgICAgICAvLyBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uY3VzdG9tICE9IDApe1xyXG4gICAgICAgIC8vICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJMb2FkU2NlbmVcIik7XHJcbiAgICAgICAgLy8gICAgIHJldHVybjtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwic2hvd0J0blwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3lMaW5lKCk7XHJcbiAgICAgICAgdGhpcy50aW1lQ291bnQgPSAwLjE7XHJcbiAgICAgICAgdGhpcy5jbGlja05vdyA9IDA7XHJcbiAgICAgICAgdGhpcy50aW1lU3RhcnQgPSAwO1xyXG4gICAgICAgIHRoaXMucmVwZWF0ID0gLTE7XHJcbiAgICAgICAgdGhpcy5udW1iZXJSZXBlYXQgPSAtMTtcclxuICAgICAgICB0aGlzLmJlZ2luID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5yb3V0ZV9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMubm93X0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5iYWxsX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5Qb3NfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLm1vdmVBcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMudGltZV9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY29sb3JfQXJyYXkgPSBbXTtcclxuICAgICAgICBpZih0eXBlID09IDApe1xyXG4gICAgICAgICAgICB0aGlzLmJnTW92ZSgxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0eXBlID09IDEpe1xyXG4gICAgICAgICAgICB0aGlzLnN0YXJ0R2FtZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHR5cGUgPT0gMil7XHJcbiAgICAgICAgICAgIHRoaXMuYmdNb3ZlKC0xKTtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgIH1cclxuICAgIC8v6I635Y+W5pe26Ze05oizXHJcbiAgICBnZXRUaW1lKCl7XHJcbiAgICAgICAgY29uc3QgdGltZXN0YW1wID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgcmV0dXJuIHRpbWVzdGFtcDtcclxuICAgIH1cclxuICAgIC8v6I636IOcXHJcbiAgICBwYXNzTGV2ZWwoKXtcclxuICAgICAgICB0aGlzLmRlc3Ryb3lMaW5lKCk7XHJcbiAgICAgICAgaWYodGhpcy5vdmVyID09IGZhbHNlICYmIHRoaXMuY291bnRUaW1lID49IDApe1xyXG4gICAgICAgICAgICBsZXQgdGltZUFycmF5ID0gW107XHJcbiAgICAgICAgICAgIGxldCB0aW1lQ291bnQgPSAwO1xyXG4gICAgICAgICAgICBsZXQgYmFsbCA9IHRoaXMuYmFsbF9BcnJheVswXTtcclxuICAgICAgICAgICAgZm9yKGxldCBpPTE7IGk8IHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGltZSA9IHRoaXMuY2FsY3VsYXRlRGlzdGFuY2UodGhpcy5iYWxsX0FycmF5W2ldLngsdGhpcy5iYWxsX0FycmF5W2ldLnksXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ktMV0ueCx0aGlzLmJhbGxfQXJyYXlbaS0xXS55LDIpO1xyXG4gICAgICAgICAgICAgICAgdGltZUFycmF5LnB1c2godGltZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZm9yKGxldCBrPTE7IGs8IHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGsrKyl7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjYy50d2VlbihiYWxsKVxyXG4gICAgICAgICAgICAgICAgICAgIC50byh0aW1lQXJyYXlbay0xXSx7eDp0aGlzLmJhbGxfQXJyYXlba10ueCx5OnRoaXMuYmFsbF9BcnJheVtrXS55fSlcclxuICAgICAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2tdLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZihrID09IHRoaXMuYmFsbF9BcnJheS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGwub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGwucG9zaXRpb24gPSBjYy52MyhiYWxsLngsYmFsbC55LDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhbGwuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhclN1bigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVTdGFydCgwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDIwMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICAgICAgfSwgdGltZUNvdW50KjEwMDApO1xyXG4gICAgICAgICAgICAgICAgdGltZUNvdW50ICs9ICh0aW1lQXJyYXlbay0xXSswLjEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/lpLHotKVcclxuICAgIGxvc2VMZXZlbCh0eXBlKXtcclxuICAgICAgICB0aGlzLmRlc3Ryb3lMaW5lKCk7XHJcbiAgICAgICAgaWYodGhpcy5vdmVyID09IGZhbHNlICYmIHRoaXMuY291bnRUaW1lID49IDApe1xyXG4gICAgICAgICAgICBsZXQgYmFsbCA9IHRoaXMuYmFsbF9BcnJheVswXTtcclxuICAgICAgICAgICAgZm9yKGxldCBrPTE7IGs8IHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGsrKyl7XHJcbiAgICAgICAgICAgICAgICBjYy50d2Vlbih0aGlzLmJhbGxfQXJyYXlba10pXHJcbiAgICAgICAgICAgICAgICAudG8oMix7eDpiYWxsLngseTpiYWxsLnl9KVxyXG4gICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2tdLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGsgPT0gdGhpcy5iYWxsX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbC5wb3NpdGlvbiA9IGNjLnYzKGJhbGwueCxiYWxsLnksMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJTdW4oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZVN0YXJ0KHR5cGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/muIXnkIblpKrpmLNcclxuICAgIGNsZWFyU3VuKCl7XHJcbiAgICAgICAgZm9yKGxldCBrPTA7IGs8IHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGsrKyl7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5nYXAgPSBbXTtcclxuICAgIH1cclxuICAgIC8v54K55Ye75aSq6Ziz5omn6KGM5pa55rOVXHJcbiAgICBjbGlja1N1bihkYXRhKXtcclxuICAgICAgICBpZih0aGlzLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICB0aGlzLmNsaWNrQ291bnQgKz0gMTtcclxuICAgICAgICAgICAgbGV0IGNsaWNrVGltZSA9ICBjYy5meC5HYW1lVG9vbC5nZXRUaW1lKCk7XHJcbiAgICAgICAgICAgIHRoaXMudGltZV9BcnJheS5wdXNoKChjbGlja1RpbWUgLSB0aGlzLnRpbWVTdGFydCkpXHJcbiAgICAgICAgICAgIHRoaXMudGltZVN0YXJ0ID0gIGNjLmZ4LkdhbWVUb29sLmdldFRpbWUoKTtcclxuXHJcbiAgICAgICAgICAgIGlmKGRhdGEuaWQgPT0gdGhpcy5jbGlja05vdyl7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5BdWRpb01hbmFnZXIuX2luc3RhbmNlLnBsYXlBdWRpb0J1dHRvbigpO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5jbGlja05vdyA+IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlTGluZShjYy52Mih0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXS54LHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93LTFdLnkpLFxyXG4gICAgICAgICAgICAgICAgICAgIGNjLnYyKHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93XS54LHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93XS55KSxcclxuICAgICAgICAgICAgICAgICAgICAwLjIpOyAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5jbGlja05vdyArPSAxO1xyXG4gICAgICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhcC5wdXNoKGRhdGEuZGlzdGFuY2UpO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5iYWxsX0FycmF5W3RoaXMuY2xpY2tOb3ctMV0pXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W3RoaXMuY2xpY2tOb3ctMV0uZ2V0Q2hpbGRCeU5hbWUoXCJndWFuZ1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuY2xpY2tOb3cgPT0gdGhpcy5ub3dfQXJyYXkubGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhdXNlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udG90YWwgKz0gdGhpcy5jbGlja05vdztcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm92ZXJUaW1lID0gIGNjLmZ4LkdhbWVUb29sLmdldFRpbWUoKTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLnN0YXJ0VGltZSA+IDAgJiYgdGhpcy5vdmVyVGltZSA+IDApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWVhbl9UaW1lICs9ICh0aGlzLm92ZXJUaW1lIC0gdGhpcy5zdGFydFRpbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBsZXQgZmluaXNoX3RpbWUgPSBwYXJzZUludCgodGhpcy5vdmVyVGltZSAtIHRoaXMuc3RhcnRUaW1lKS8xMDArXCJcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydFRpbWUgPSAwOyB0aGlzLm92ZXJUaW1lID0gMDtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY29sb3IgPSBcInlcIjtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmxldmVsIDwgNCAmJiB0aGlzLmxldmVsID4gMSljb2xvciA9IFwieXJcIjtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKHRoaXMubGV2ZWwgPj0gNCkgY29sb3IgPSBcInlyYlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB3aW4gPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJXaW5cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgd2luLmFjdGl2ZSA9IHRydWU7IHdpbi5zZXRTY2FsZSgwKTtcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5BdWRpb01hbmFnZXIuX2luc3RhbmNlLnBsYXlXaW4oKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdW5kICs9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHN1bkFycmF5ID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5tb3ZlQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcihsZXQgbT0wIDsgbTx0aGlzLm1vdmVBcnJheS5sZW5ndGg7bSsrKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKG0gPT0gdGhpcy5yZXBlYXQgfHwgbSA9PSB0aGlzLm51bWJlclJlcGVhdCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbbV0gPSAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCh0aGlzLm1vdmVBcnJheVttXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBtPTAgOyBtPHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7bSsrKXsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihtID09IHRoaXMucmVwZWF0IHx8IG0gPT0gdGhpcy5udW1iZXJSZXBlYXQpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1bkFycmF5LnB1c2goMik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCgwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX0RBVEEgPSBcclxuICAgICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZToxLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2Vzczp0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm91bmQ6dGhpcy5yb3VuZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsU3VuQ291bnQ6dGhpcy5ub3dfQXJyYXkubGVuZ3RoLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW92ZWRTdW5Db3VudDpjYy5meC5HYW1lQ29uZmlnLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tb3ZlTnVtYmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VuU3BlZWQ6Y2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV0ubW92ZVNwZWVkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmxhcFN1bkNvdW50OmNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLnJlcGVhdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yTGlzdDp0aGlzLmNvbG9yX0FycmF5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246ZmluaXNoX3RpbWUvMTAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWZmaWN1bHR5TGV2ZWw6dGhpcy5sZXZlbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1bkxpc3Q6c3VuQXJyYXksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwVGltZUxpc3Q6dGhpcy50aW1lX0FycmF5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtYWluZGVyOnRoaXMuY291bnRUaW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5nYXBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmKGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfREFUQS5kdXJhdGlvbiA+IDUwKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19EQVRBLmR1cmF0aW9uID0gNTA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RGF0YSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHdpbilcclxuICAgICAgICAgICAgICAgICAgICAuZGVsYXkoMC40KVxyXG4gICAgICAgICAgICAgICAgICAgIC50bygwLjAxLHtzY2FsZToyLjV9KVxyXG4gICAgICAgICAgICAgICAgICAgIC50bygwLjM1LHtzY2FsZToxfSlcclxuICAgICAgICAgICAgICAgICAgICAuZGVsYXkoMC40KVxyXG4gICAgICAgICAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aW4uYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVzdHJveUxpbmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5vdmVyID09IGZhbHNlICYmIHRoaXMuY291bnRUaW1lID49IDApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5sZXZlbCA+PSAxNSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnN1Y2Nlc3MgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGV2ZWwgKz0gMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLmxldmVsTGFiZWwuc3RyaW5nID0gdGhpcy5sZXZlbCArIFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mdWh1byA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXNzTGV2ZWwoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sZXZlbCArPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZ1aHVvID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhc3NMZXZlbCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRMb3NzKGRhdGEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/miafooYzlpLHotKVcclxuICAgIHNldExvc3MoZGF0YSl7XHJcbiAgICAgICAgY2MuZnguQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZS5wbGF5V2FybmluZygpO1xyXG4gICAgICAgIHRoaXMuYmVnaW4gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm92ZXJUaW1lID0gIGNjLmZ4LkdhbWVUb29sLmdldFRpbWUoKTtcclxuICAgICAgICBpZih0aGlzLnN0YXJ0VGltZSA+IDAgJiYgdGhpcy5vdmVyVGltZSA+IDApe1xyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWVhbl9UaW1lICs9ICh0aGlzLm92ZXJUaW1lIC0gdGhpcy5zdGFydFRpbWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgZmluaXNoX3RpbWUgPSBwYXJzZUludCgodGhpcy5vdmVyVGltZSAtIHRoaXMuc3RhcnRUaW1lKS8xMDArXCJcIik7XHJcbiAgICAgICAgaWYoZmluaXNoX3RpbWUgPiA1OCkgZmluaXNoX3RpbWUgPSA1ODtcclxuICAgICAgICB0aGlzLnN0YXJ0VGltZSA9IDA7IHRoaXMub3ZlclRpbWUgPSAwO1xyXG4gICAgICAgIGxldCBjb2xvciA9IFwieVwiO1xyXG4gICAgICAgIGlmKHRoaXMubGV2ZWwgPCA0ICYmIHRoaXMubGV2ZWwgPiAxKWNvbG9yID0gXCJ5clwiO1xyXG4gICAgICAgIGVsc2UgaWYodGhpcy5sZXZlbCA+PSA0KSBjb2xvciA9IFwieXJiXCI7XHJcbiAgICAgICAgdGhpcy5yb3VuZCArPSAxO1xyXG4gICAgICAgIGxldCBzdW5BcnJheSA9IFtdO1xyXG4gICAgICAgIGlmKHRoaXMubW92ZUFycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBmb3IobGV0IG09MCA7IG08dGhpcy5tb3ZlQXJyYXkubGVuZ3RoO20rKyl7XHJcbiAgICAgICAgICAgICAgICBpZihtID09IHRoaXMucmVwZWF0IHx8IG0gPT0gdGhpcy5udW1iZXJSZXBlYXQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W21dID0gMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHN1bkFycmF5LnB1c2godGhpcy5tb3ZlQXJyYXlbbV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGZvcihsZXQgbT0wIDsgbTx0aGlzLmJhbGxfQXJyYXkubGVuZ3RoO20rKyl7XHJcbiAgICAgICAgICAgICAgICBpZihtID09IHRoaXMucmVwZWF0IHx8IG0gPT0gdGhpcy5udW1iZXJSZXBlYXQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHN1bkFycmF5LnB1c2goMik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCgwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ2FwLnB1c2goZGF0YS5kaXN0YW5jZSk7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19EQVRBID0gXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0eXBlOjEsXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6ZmFsc2UsXHJcbiAgICAgICAgICAgIHJvdW5kOnRoaXMucm91bmQsXHJcbiAgICAgICAgICAgIHRvdGFsU3VuQ291bnQ6dGhpcy5ub3dfQXJyYXkubGVuZ3RoLFxyXG4gICAgICAgICAgICBtb3ZlZFN1bkNvdW50OmNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1vdmVOdW1iZXIsXHJcbiAgICAgICAgICAgIHN1blNwZWVkOmNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1vdmVTcGVlZCxcclxuICAgICAgICAgICAgb3ZlcmxhcFN1bkNvdW50OmNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLnJlcGVhdCxcclxuICAgICAgICAgICAgY29sb3JMaXN0OnRoaXMuY29sb3JfQXJyYXksXHJcbiAgICAgICAgICAgIGR1cmF0aW9uOmZpbmlzaF90aW1lLzEwLFxyXG4gICAgICAgICAgICBkaWZmaWN1bHR5TGV2ZWw6dGhpcy5sZXZlbCxcclxuICAgICAgICAgICAgc3VuTGlzdDpzdW5BcnJheSxcclxuICAgICAgICAgICAgc3RlcFRpbWVMaXN0OnRoaXMudGltZV9BcnJheSxcclxuICAgICAgICAgICAgcmVtYWluZGVyOnRoaXMuY291bnRUaW1lLFxyXG4gICAgICAgICAgICBnYXA6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhcFxyXG4gICAgICAgIH1cclxuICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkNMSUNLX0RBVEEuZHVyYXRpb24gPiA1MCl7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfREFUQS5kdXJhdGlvbiA9IDUwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZXREYXRhKCk7XHJcbiAgICAgICAgaWYodGhpcy5mdWh1byA9PSB0cnVlKXtcclxuICAgICAgICAgICAgdGhpcy5mdWh1byA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmxvc2VMZXZlbCgxKTtcclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGlmKHRoaXMubGV2ZWwgPiAyKXtcclxuICAgICAgICAgICAgICAgIHRoaXMubGV2ZWwgLT0gMTtcclxuICAgICAgICAgICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuZnVodW8gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5mdWh1byA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb3NlTGV2ZWwoMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9zZUxldmVsKDEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBvdmVyID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiT3ZlclwiKTtcclxuICAgICAgICBjYy50d2VlbihvdmVyKVxyXG4gICAgICAgIC50bygwLjI1LHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgLmRlbGF5KDAuMSlcclxuICAgICAgICAudG8oMC4yLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgLnRvKDAuMTUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAuZGVsYXkoMC4xKVxyXG4gICAgICAgIC50bygwLjEse29wYWNpdHk6MH0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICB9XHJcbiAgICAvL+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+eUqOatpOaWueazlVxyXG4gICAgdXBkYXRlQ291bnREb3duVGltZSAoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY291bnRUaW1lID4gMCAmJiB0aGlzLnBhdXNlID09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY291bnRUaW1lIC09IDE7XHJcbiAgICAgICAgICAgIHRoaXMudGltZS5zdHJpbmcgPSAgY2MuZnguR2FtZVRvb2wuZ2V0VGltZU1hcmdpbih0aGlzLmNvdW50VGltZSk7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuY291bnRUaW1lIDwgNSl7XHJcbiAgICAgICAgICAgICAgICBjYy50d2Vlbih0aGlzLnRpbWUubm9kZSlcclxuICAgICAgICAgICAgICAgIC50bygwLjI1LHtzY2FsZToxLjUsY29sb3I6Y2MuY29sb3IoMjU1LDAsMCl9KVxyXG4gICAgICAgICAgICAgICAgLnRvKDAuMjUse3NjYWxlOjEsY29sb3I6Y2MuY29sb3IoMjU1LDI1NSwyNTUpfSlcclxuICAgICAgICAgICAgICAgIC5zdGFydCgpXHJcbiAgICAgICAgICAgICAgICBsZXQgb3ZlciA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIk92ZXJcIik7XHJcbiAgICAgICAgICAgICAgICBjYy50d2VlbihvdmVyKVxyXG4gICAgICAgICAgICAgICAgLnRvKDAuMix7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAgICAgLmRlbGF5KDAuMSlcclxuICAgICAgICAgICAgICAgIC50bygwLjIse29wYWNpdHk6MH0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZih0aGlzLmNvdW50VGltZSA8PSAwKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmVnaW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMub3ZlciA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVuc2NoZWR1bGUodGhpcy51cGRhdGVDb3VudERvd25UaW1lKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9zcyh7ZGlzdGFuY2U6MH0pO1xyXG4gICAgICAgICAgICAgICAgdmFyIHRpbWUgPSAwO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5jbGlja0NvdW50ID4gMCkgdGltZSA9IHBhcnNlSW50KGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tZWFuX1RpbWUvdGhpcy5jbGlja0NvdW50ICsgXCJcIik7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWVhbl9UaW1lID0gcGFyc2VJbnQodGltZS8xMDAgKyBcIlwiKTtcclxuICAgICAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tZWFuX1RpbWUgPSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWVhbl9UaW1lIC8xMDtcclxuICAgICAgICAgICAgICAgIGlmKHRpbWUgPiAxMDAwMCkgdGltZSA9IChNYXRoLnJhbmRvbSgpKjEwKzUpKjEwMDtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ2FtZU92ZXIodGltZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+S4iuS8oOavj+asoeaTjeS9nOaVsOaNrlxyXG4gICAgc2V0RGF0YSgpe1xyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRHYW1lRGF0YSgpO1xyXG4gICAgfVxyXG4gICAgLy/kuIrkvKDmjpLooYzmppzmlbDmja5cclxuICAgIGdhbWVPdmVyKHRpbWUpe1xyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRSYW5rKHRpbWUpO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikpXHJcbiAgICAgICAgLnRvKDAuNCx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgyKVxyXG4gICAgICAgIC50bygwLjQse29wYWNpdHk6NTB9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJPdmVyU2NlbmVcIik7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKVxyXG4gICAgfVxyXG4gICAgLy/kvZzlvIrvvIzmtYvor5XnlKhcclxuICAgIHNob3dOdW1iZXIoKXtcclxuICAgICAgICBpZih0aGlzLnNob3cgPT0gZmFsc2UpIHRoaXMuc2hvdyA9IHRydWU7XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnNob3cgPT0gdHJ1ZSkgdGhpcy5zaG93ID0gZmFsc2U7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ldLmdldENvbXBvbmVudChcIlN1blwiKS5zaG93TnVtYmVyKHRoaXMuc2hvdyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25FbmFibGUgKCkge1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oXCJjbGlja1N1blwiLCB0aGlzLmNsaWNrU3VuLCB0aGlzKTtcclxuICAgIH1cclxuICAgIG9uRGlzYWJsZSAoKSB7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoXCJjbGlja1N1blwiLCB0aGlzLmNsaWNrU3VuKTtcclxuICAgIH1cclxuICAgIHVwZGF0ZSAoZHQpIHtcclxuICAgIH1cclxufVxyXG4iXX0= //------QC-SOURCE-SPLIT------ (function() { @@ -2521,7 +2540,7 @@ cc._RF.pop(); (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/Share/share.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { @@ -2529,106 +2548,140 @@ 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, '7290caA39xMWZc2phTMKovP', 'share'); +// Script/module/Share/share.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; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } }; 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; +exports.WeChat = void 0; +var shareConfig = { + gameId: "100009", + shareLine: "zDLsruVI", + EK: "hui231%1" +}; +// 微信操作类 +var WeChat = /** @class */ (function () { + function WeChat() { } - /**数据改变时调用 */ - ItemRender.prototype.dataChanged = function () { - var name = 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 = 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(); + WeChat.setShare = function (url) { + var urlTemp = this.removeQueryParams(url); + shareConfig.shareLine = urlTemp; + WeChat.getSignature(url); }; - 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); - } + WeChat.getResult = function (res) { + if (res) { + var data = res.data; + // @ts-ignore + wx.config({ + debug: false, + appId: data.appId, + timestamp: data.timestamp, + nonceStr: data.nonceStr, + signature: data.signature, + jsApiList: ['onMenuShareTimeline', 'updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareAppMessage'] + }); + // @ts-ignore + wx.checkJsApi({ + jsApiList: ['updateAppMessageShareData'], + success: function (res) { + setTimeout(function () { + WeChat.changeShare(); + }, 200); + setTimeout(function () { + WeChat.changeShare(); + }, 500); + } + }); + } + }; + WeChat.changeShare = function () { + // @ts-ignore + wx.ready(function () { + // @ts-ignore + wx.updateAppMessageShareData({ + title: '记忆力认知测评', + desc: '你的注意力和工作记忆有问题吗?', + link: shareConfig.shareLine, + imgUrl: 'https://static.sparkus.cn/public/shootsun.jpg', + success: function () { + // 设置成功 + console.log("分享好友成功回调"); + } + }); + setTimeout(function () { + // @ts-ignore + wx.updateTimelineShareData({ + title: '记忆力认知测评', + link: shareConfig.shareLine, + imgUrl: 'https://static.sparkus.cn/public/shootsun.jpg', + success: function () { + // 设置成功 + console.log("分享朋友圈成功回调"); + } + }); + }, 200); }); }; - ItemRender = __decorate([ - ccclass - ], ItemRender); - return ItemRender; -}(cc.Component)); -exports.default = ItemRender; + WeChat.getSignature = function (url) { + return new Promise(function (resolve) { + WeChat.getShareInfo((encodeURIComponent(url)), WeChat.getResult); + }); + }; + WeChat.getShareInfo = function (shareUrl, callback) { + return __awaiter(this, void 0, Promise, function () { + var time, url; + return __generator(this, function (_a) { + time = Math.floor((new Date().getTime()) / 1000); + url = cc.fx.HttpUtil.apiSign("/api/share/cfg?gameId=" + cc.fx.GameConfig.GM_INFO.gameId + "&time=" + time + "&url=" + shareUrl, {}); + return [2 /*return*/, cc.fx.HttpUtil.get(url, callback, 3)]; + }); + }); + }; + WeChat.containsNanana = function (str) { + return /test/i.test(str); + }; + WeChat.removeQueryParams = function (url) { + return url.replace(/\?.*$/, ''); + }; + return WeChat; +}()); +exports.WeChat = WeChat; cc._RF.pop(); } @@ -2641,82 +2694,7 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFJhbmtMaXN0XFxJdGVtUmVuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdNLElBQUEsS0FBd0IsRUFBRSxDQUFDLFVBQVUsRUFBbkMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFrQixDQUFDO0FBRzVDO0lBQXdDLDhCQUFZO0lBQXBEO1FBQUEscUVBbUVDO1FBbEVHLFFBQVE7UUFDRCxVQUFJLEdBQU8sSUFBSSxDQUFDO1FBQ3ZCLGNBQWM7UUFDUCxlQUFTLEdBQVUsQ0FBQyxDQUFDOztJQStEaEMsQ0FBQztJQTdERyxhQUFhO0lBQ04sZ0NBQVcsR0FBbEI7UUFDSSxJQUFJLElBQUksR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3hGLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDOUUsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQzFGLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMs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b0I7WUFDbEUsSUFBRyxPQUFPLEVBQUM7Z0JBQ1AsS0FBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRSxJQUFJLENBQUM7Z0JBQ25FLElBQUksTUFBTSxHQUFHLEtBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMzRixNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDakQsNENBQTRDO2FBQy9DO2lCQUNHO2dCQUNBLDZCQUE2QjtnQkFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUMsT0FBTyxDQUFDLENBQUE7YUFDM0I7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFoRWdCLFVBQVU7UUFEOUIsT0FBTztPQUNhLFVBQVUsQ0FtRTlCO0lBQUQsaUJBQUM7Q0FuRUQsQUFtRUMsQ0FuRXVDLEVBQUUsQ0FBQyxTQUFTLEdBbUVuRDtrQkFuRW9CLFVBQVUiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IExpc3QsIHsgTGlzdFR5cGUgfSBmcm9tIFwiLi9MaXN0XCI7XHJcblxyXG5jb25zdCB7IGNjY2xhc3MsIHByb3BlcnR5IH0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSXRlbVJlbmRlciBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcbiAgICAvKirmlbDmja4gKi9cclxuICAgIHB1YmxpYyBkYXRhOmFueSA9IG51bGw7XHJcbiAgICAvKirntKLlvJUgMOihqOekuuesrOS4gOmhuSovXHJcbiAgICBwdWJsaWMgaXRlbUluZGV4Om51bWJlciA9IDA7XHJcblxyXG4gICAgLyoq5pWw5o2u5pS55Y+Y5pe26LCD55SoICovXHJcbiAgICBwdWJsaWMgZGF0YUNoYW5nZWQoKXtcclxuICAgICAgICBsZXQgbmFtZSA9IGNjLmZ4LkdhbWVUb29sLnN1Yk5hbWUodGhpcy5kYXRhLm5hbWUsNik7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRoaXMuZGF0YS5yYW5rICsgXCJcIjtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJuYW1lTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gbmFtZSArIFwiXCI7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidG90YWxMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aGlzLmRhdGEudG90YWwgKyBcIlwiO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidGhyZWVcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgaWYodGhpcy5kYXRhLnJhbmsgPT0gMSl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLmRhdGEucmFuayA9PSAyKXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMuZGF0YS5yYW5rID09IDMpe1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidGhyZWVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldFBpYygpO1xyXG4gICAgfSAgIFxyXG4gICAgXHJcbiAgICBwdWJsaWMgc2V0UGljKCl7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuYWN0aXZlPSBmYWxzZTtcclxuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgbGV0IHVybCA9IHRoaXMuZGF0YS5waWM7XHJcbiAgICAgICAgZmV0Y2godXJsKVxyXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LUxlbmd0aCcpO1xyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIC50aGVuKGVyck5vID0+IHtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLnJhbmssJ1gtSW5mbzonLCBlcnJObyk7IC8vIOi+k+WHulgtRXJyTm/nmoTlgLxcclxuICAgICAgICAgICAgaWYoZXJyTm8gPT0gXCI1MDkzXCIpe1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLnJhbmssXCLmsqHlpLTlg49cIik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIFgtSW5mbzonLCBlcnJvcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY2MuYXNzZXRNYW5hZ2VyLmxvYWRSZW1vdGUodXJsLHtleHQ6Jy5wbmcnfSwoZXJyLCB0ZXh0dXJlOmNjLlRleHR1cmUyRCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0ZXh0dXJlKXtcclxuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5hY3RpdmU9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB2YXIgc3ByaXRlID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpO1xyXG4gICAgICAgICAgICAgICAgc3ByaXRlLnNwcml0ZUZyYW1lID0gbmV3IGNjLlNwcml0ZUZyYW1lKHRleHR1cmUpO1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLnJhbmssXCLorr7nva7lpLTlg4/miJDlip9cIixlcnIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuiuvue9ruWktOWDj+Wksei0pVwiLHVybCk7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIsdGV4dHVyZSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG5cclxufVxyXG4iXX0= -//------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== +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFNoYXJlXFxzaGFyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFJLFdBQVcsR0FBRztJQUNkLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFNBQVMsRUFBRSxVQUFVO0lBQ3JCLEVBQUUsRUFBQyxVQUFVO0NBQ2QsQ0FBQztBQVdKLFFBQVE7QUFDUjtJQUFBO0lBb0ZBLENBQUM7SUFuRlUsZUFBUSxHQUFmLFVBQWdCLEdBQUc7UUFDZixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsV0FBVyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7UUFDaEMsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sZ0JBQVMsR0FBaEIsVUFBaUIsR0FBRztRQUNoQixJQUFHLEdBQUcsRUFBQztZQUNILElBQUksSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDcEIsYUFBYTtZQUNiLEVBQUUsQ0FBQyxNQUFNLENBQUM7Z0JBQ04sS0FBSyxFQUFFLEtBQUs7Z0JBQ1osS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN6QixTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsRUFBQywyQkFBMkIsRUFBRSx5QkFBeUIsRUFBRSx1QkFBdUIsQ0FBQzthQUNySCxDQUFDLENBQUM7WUFDSCxhQUFhO1lBQ2IsRUFBRSxDQUFDLFVBQVUsQ0FBQztnQkFDVixTQUFTLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztnQkFDeEMsT0FBTyxFQUFFLFVBQVMsR0FBRztvQkFDakIsVUFBVSxDQUFDO3dCQUNQLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDekIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO29CQUNSLFVBQVUsQ0FBQzt3QkFDUCxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ3pCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDWixDQUFDO2FBQ0osQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRU0sa0JBQVcsR0FBbEI7UUFDSSxhQUFhO1FBQ2IsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNMLGFBQWE7WUFDYixFQUFFLENBQUMseUJBQXlCLENBQUM7Z0JBQ3pCLEtBQUssRUFBRSxTQUFTO2dCQUNoQixJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixJQUFJLEVBQUUsV0FBVyxDQUFDLFNBQVM7Z0JBQzNCLE1BQU0sRUFBRSwrQ0FBK0M7Z0JBQ3ZELE9BQU8sRUFBRTtvQkFDUCxPQUFPO29CQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzFCLENBQUM7YUFDSixDQUFDLENBQUM7WUFDSCxVQUFVLENBQUM7Z0JBQ1AsYUFBYTtnQkFDYixFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ3ZCLEtBQUssRUFBRSxTQUFTO29CQUNoQixJQUFJLEVBQUUsV0FBVyxDQUFDLFNBQVM7b0JBQzNCLE1BQU0sRUFBRSwrQ0FBK0M7b0JBQ3ZELE9BQU8sRUFBRTt3QkFDUCxPQUFPO3dCQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQzNCLENBQUM7aUJBQ0YsQ0FBQyxDQUFBO1lBQ1IsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRVosQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sbUJBQVksR0FBbkIsVUFBb0IsR0FBVztRQUMzQixPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTztZQUN2QixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ1ksbUJBQVksR0FBekIsVUFBMEIsUUFBZ0IsRUFBRSxRQUFpQjt1Q0FBRyxPQUFPOzs7Z0JBQzdELElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO2dCQUNoRCxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLDJCQUF5QixFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxjQUFTLElBQUksYUFBUSxRQUFVLEVBQUMsRUFBRSxDQUFDLENBQUE7Z0JBQzlILHNCQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxFQUFBOzs7S0FDNUM7SUFHTSxxQkFBYyxHQUFyQixVQUFzQixHQUFHO1FBQ3JCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sd0JBQWlCLEdBQXhCLFVBQXlCLEdBQUc7UUFDeEIsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUwsYUFBQztBQUFELENBcEZBLEFBb0ZDLElBQUE7QUFwRlksd0JBQU0iLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcblxudmFyIHNoYXJlQ29uZmlnID0ge1xuICAgIGdhbWVJZDogXCIxMDAwMDlcIixcbiAgICBzaGFyZUxpbmU6IFwiekRMc3J1VklcIixcbiAgICBFSzpcImh1aTIzMSUxXCJcbiAgfTtcblxuLy8g5a6a5LmJ5b6u5L+h6YWN572u5pWw5o2u55qE5o6l5Y+jXG5pbnRlcmZhY2UgSVdlQ2hhdENvbmZpZyB7XG4gICAgYXBwSWQ6IHN0cmluZztcbiAgICB0aW1lc3RhbXA6IG51bWJlcjtcbiAgICBub25jZVN0cjogc3RyaW5nO1xuICAgIHNpZ25hdHVyZTogc3RyaW5nO1xuICAgIGpzQXBpTGlzdDogW107XG59XG5cbi8vIOW+ruS/oeaTjeS9nOexu1xuZXhwb3J0IGNsYXNzIFdlQ2hhdCB7XG4gICAgc3RhdGljIHNldFNoYXJlKHVybCkge1xuICAgICAgICB2YXIgdXJsVGVtcCA9IHRoaXMucmVtb3ZlUXVlcnlQYXJhbXModXJsKTtcbiAgICAgICAgc2hhcmVDb25maWcuc2hhcmVMaW5lID0gdXJsVGVtcDtcbiAgICAgICAgV2VDaGF0LmdldFNpZ25hdHVyZSh1cmwpO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXRSZXN1bHQocmVzKXtcbiAgICAgICAgaWYocmVzKXtcbiAgICAgICAgICAgIHZhciBkYXRhID0gcmVzLmRhdGE7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICB3eC5jb25maWcoe1xuICAgICAgICAgICAgICAgIGRlYnVnOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBhcHBJZDogZGF0YS5hcHBJZCxcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA6IGRhdGEudGltZXN0YW1wLFxuICAgICAgICAgICAgICAgIG5vbmNlU3RyOiBkYXRhLm5vbmNlU3RyLFxuICAgICAgICAgICAgICAgIHNpZ25hdHVyZTogZGF0YS5zaWduYXR1cmUsXG4gICAgICAgICAgICAgICAganNBcGlMaXN0OiBbJ29uTWVudVNoYXJlVGltZWxpbmUnLCd1cGRhdGVBcHBNZXNzYWdlU2hhcmVEYXRhJywgJ3VwZGF0ZVRpbWVsaW5lU2hhcmVEYXRhJywgJ29uTWVudVNoYXJlQXBwTWVzc2FnZSddXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHd4LmNoZWNrSnNBcGkoe1xuICAgICAgICAgICAgICAgIGpzQXBpTGlzdDogWyd1cGRhdGVBcHBNZXNzYWdlU2hhcmVEYXRhJ10sIC8vIOmcgOimgeajgOa1i+eahEpT5o6l5Y+j5YiX6KGo77yM5omA5pyJSlPmjqXlj6PliJfooajop4HpmYTlvZUyLFxuICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgIFxuICAgICAgICAgICAgICAgICAgICAgICAgV2VDaGF0LmNoYW5nZVNoYXJlKCk7XG4gICAgICAgICAgICAgICAgICAgIH0sIDIwMCk7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgV2VDaGF0LmNoYW5nZVNoYXJlKCk7XG4gICAgICAgICAgICAgICAgICAgIH0sIDUwMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgY2hhbmdlU2hhcmUoKXtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB3eC5yZWFkeSgoKSA9PiB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICB3eC51cGRhdGVBcHBNZXNzYWdlU2hhcmVEYXRhKHsgXG4gICAgICAgICAgICAgICAgdGl0bGU6ICforrDlv4blipvorqTnn6XmtYvor4QnLCAvLyDliIbkuqvmoIfpophcbiAgICAgICAgICAgICAgICBkZXNjOiAn5L2g55qE5rOo5oSP5Yqb5ZKM5bel5L2c6K6w5b+G5pyJ6Zeu6aKY5ZCX77yfJywgLy8g5YiG5Lqr5o+P6L+wXG4gICAgICAgICAgICAgICAgbGluazogc2hhcmVDb25maWcuc2hhcmVMaW5lLCAvLyDliIbkuqvpk77mjqXvvIzor6Xpk77mjqXln5/lkI3miJbot6/lvoTlv4XpobvkuI7lvZPliY3pobXpnaLlr7nlupTnmoTlhazkvJflj7dKU+WuieWFqOWfn+WQjeS4gOiHtFxuICAgICAgICAgICAgICAgIGltZ1VybDogJ2h0dHBzOi8vc3RhdGljLnNwYXJrdXMuY24vcHVibGljL3Nob290c3VuLmpwZycsIC8vIOWIhuS6q+Wbvuagh1xuICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgIC8vIOiuvue9ruaIkOWKn1xuICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCLliIbkuqvlpb3lj4vmiJDlip/lm57osINcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgd3gudXBkYXRlVGltZWxpbmVTaGFyZURhdGEoeyBcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICforrDlv4blipvorqTnn6XmtYvor4QnLCAvLyDliIbkuqvmoIfpophcbiAgICAgICAgICAgICAgICAgICAgbGluazogc2hhcmVDb25maWcuc2hhcmVMaW5lLCAvLyDliIbkuqvpk77mjqXvvIzor6Xpk77mjqXln5/lkI3miJbot6/lvoTlv4XpobvkuI7lvZPliY3pobXpnaLlr7nlupTnmoTlhazkvJflj7dKU+WuieWFqOWfn+WQjeS4gOiHtFxuICAgICAgICAgICAgICAgICAgICBpbWdVcmw6ICdodHRwczovL3N0YXRpYy5zcGFya3VzLmNuL3B1YmxpYy9zaG9vdHN1bi5qcGcnLCAvLyDliIbkuqvlm77moIdcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgIC8vIOiuvue9ruaIkOWKn1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5YiG5Lqr5pyL5Y+L5ZyI5oiQ5Yqf5Zue6LCDXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSwgMjAwKTtcblxuICAgICAgICB9KTsgXG4gICAgfVxuXG4gICAgc3RhdGljIGdldFNpZ25hdHVyZSh1cmw6IHN0cmluZyk6IFByb21pc2U8SVdlQ2hhdENvbmZpZz4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIFdlQ2hhdC5nZXRTaGFyZUluZm8oKGVuY29kZVVSSUNvbXBvbmVudCh1cmwpKSxXZUNoYXQuZ2V0UmVzdWx0KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHN0YXRpYyBhc3luYyBnZXRTaGFyZUluZm8oc2hhcmVVcmw6IHN0cmluZywgY2FsbGJhY2s6RnVuY3Rpb24pOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCB0aW1lID0gTWF0aC5mbG9vcigobmV3IERhdGUoKS5nZXRUaW1lKCkpIC8gMTAwMClcbiAgICAgICAgY29uc3QgdXJsID0gY2MuZnguSHR0cFV0aWwuYXBpU2lnbihgL2FwaS9zaGFyZS9jZmc/Z2FtZUlkPSR7Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZH0mdGltZT0ke3RpbWV9JnVybD0ke3NoYXJlVXJsfWAse30pXG4gICAgICAgIHJldHVybiBjYy5meC5IdHRwVXRpbC5nZXQodXJsLGNhbGxiYWNrLDMpXG4gICAgfVxuXG4gICAgXG4gICAgc3RhdGljIGNvbnRhaW5zTmFuYW5hKHN0cikge1xuICAgICAgICByZXR1cm4gL3Rlc3QvaS50ZXN0KHN0cik7XG4gICAgfVxuXG4gICAgc3RhdGljIHJlbW92ZVF1ZXJ5UGFyYW1zKHVybCkge1xuICAgICAgICByZXR1cm4gdXJsLnJlcGxhY2UoL1xcPy4qJC8sICcnKTtcbiAgICB9XG5cbn1cbiJdfQ== //------QC-SOURCE-SPLIT------ (function() { @@ -3027,6 +3005,328 @@ cc._RF.pop(); } })(); //# 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/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/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 () { + var name = 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 = 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFJhbmtMaXN0XFxJdGVtUmVuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdNLElBQUEsS0FBd0IsRUFBRSxDQUFDLFVBQVUsRUFBbkMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFrQixDQUFDO0FBRzVDO0lBQXdDLDhCQUFZO0lBQXBEO1FBQUEscUVBbUVDO1FBbEVHLFFBQVE7UUFDRCxVQUFJLEdBQU8sSUFBSSxDQUFDO1FBQ3ZCLGNBQWM7UUFDUCxlQUFTLEdBQVUsQ0FBQyxDQUFDOztJQStEaEMsQ0FBQztJQTdERyxhQUFhO0lBQ04sZ0NBQVcsR0FBbEI7UUFDSSxJQUFJLElBQUksR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3hGLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDOUUsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQzFGLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMs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b0I7WUFDbEUsSUFBRyxPQUFPLEVBQUM7Z0JBQ1AsS0FBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRSxJQUFJLENBQUM7Z0JBQ25FLElBQUksTUFBTSxHQUFHLEtBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMzRixNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDakQsNENBQTRDO2FBQy9DO2lCQUNHO2dCQUNBLDZCQUE2QjtnQkFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUMsT0FBTyxDQUFDLENBQUE7YUFDM0I7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFoRWdCLFVBQVU7UUFEOUIsT0FBTztPQUNhLFVBQVUsQ0FtRTlCO0lBQUQsaUJBQUM7Q0FuRUQsQUFtRUMsQ0FuRXVDLEVBQUUsQ0FBQyxTQUFTLEdBbUVuRDtrQkFuRW9CLFVBQVUiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IExpc3QsIHsgTGlzdFR5cGUgfSBmcm9tIFwiLi9MaXN0XCI7XHJcblxyXG5jb25zdCB7IGNjY2xhc3MsIHByb3BlcnR5IH0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSXRlbVJlbmRlciBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcbiAgICAvKirmlbDmja4gKi9cclxuICAgIHB1YmxpYyBkYXRhOmFueSA9IG51bGw7XHJcbiAgICAvKirntKLlvJUgMOihqOekuuesrOS4gOmhuSovXHJcbiAgICBwdWJsaWMgaXRlbUluZGV4Om51bWJlciA9IDA7XHJcblxyXG4gICAgLyoq5pWw5o2u5pS55Y+Y5pe26LCD55SoICovXHJcbiAgICBwdWJsaWMgZGF0YUNoYW5nZWQoKXtcclxuICAgICAgICBsZXQgbmFtZSA9IGNjLmZ4LkdhbWVUb29sLnN1Yk5hbWUodGhpcy5kYXRhLm5hbWUsNik7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRoaXMuZGF0YS5yYW5rICsgXCJcIjtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJuYW1lTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gbmFtZSArIFwiXCI7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidG90YWxMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aGlzLmRhdGEudG90YWwgKyBcIlwiO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidGhyZWVcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgaWYodGhpcy5kYXRhLnJhbmsgPT0gMSl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLmRhdGEucmFuayA9PSAyKXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMuZGF0YS5yYW5rID09IDMpe1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidGhyZWVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldFBpYygpO1xyXG4gICAgfSAgIFxyXG4gICAgXHJcbiAgICBwdWJsaWMgc2V0UGljKCl7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuYWN0aXZlPSBmYWxzZTtcclxuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgbGV0IHVybCA9IHRoaXMuZGF0YS5waWM7XHJcbiAgICAgICAgZmV0Y2godXJsKVxyXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LUxlbmd0aCcpO1xyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIC50aGVuKGVyck5vID0+IHtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLnJhbmssJ1gtSW5mbzonLCBlcnJObyk7IC8vIOi+k+WHulgtRXJyTm/nmoTlgLxcclxuICAgICAgICAgICAgaWYoZXJyTm8gPT0gXCI1MDkzXCIpe1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLnJhbmssXCLmsqHlpLTlg49cIik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIFgtSW5mbzonLCBlcnJvcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY2MuYXNzZXRNYW5hZ2VyLmxvYWRSZW1vdGUodXJsLHtleHQ6Jy5wbmcnfSwoZXJyLCB0ZXh0dXJlOmNjLlRleHR1cmUyRCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0ZXh0dXJlKXtcclxuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5hY3RpdmU9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB2YXIgc3ByaXRlID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpO1xyXG4gICAgICAgICAgICAgICAgc3ByaXRlLnNwcml0ZUZyYW1lID0gbmV3IGNjLlNwcml0ZUZyYW1lKHRleHR1cmUpO1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLnJhbmssXCLorr7nva7lpLTlg4/miJDlip9cIixlcnIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuiuvue9ruWktOWDj+Wksei0pVwiLHVybCk7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIsdGV4dHVyZSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG5cclxufVxyXG4iXX0= +//------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() { @@ -3081,25 +3381,25 @@ var GameConfig = /** @class */ (function () { this.CLICK_init(); this.LEVEL_INFO_init(); var self = this; - cc.resources.load('Json/GM_INFO', function (err, res) { - if (err) { - share_1.WeChat.setShare(location.href); - self.Authentication(); - return; - } - var jsonData = res.json; - self.GM_INFO = jsonData["data"]; - self.setCode(self.getKey("scode")); - share_1.WeChat.setShare(location.href); - self.Authentication(); - }); - 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/GM_INFO', (err: any, res: cc.JsonAsset) => { + // if (err) { + // WeChat.setShare(location.href); + // // self.Authentication(); + // return; + // } + // let jsonData: object = res.json!; + // self.GM_INFO = jsonData["data"]; + // self.setCode(self.getKey("scode")); + // WeChat.setShare(location.href); + // // self.Authentication(); + // }) + // cc.resources.load('Json/CLICK_DATA', (err: any, res: cc.JsonAsset) => { + // if (err) { + // return; + // } + // let jsonData: object = res.json!; + // self.CLICK_DATA = jsonData["data"]; + // }) cc.resources.load('Json/LEVEL_INFO', function (err, res) { if (err) { return; @@ -3124,9 +3424,12 @@ var GameConfig = /** @class */ (function () { url: "https://api.sparkus.cn", success: false, matchId: null, - custom: 0 //用于测试跳关卡 + custom: 0, + gap: [] //存储点击到太阳中心距离 }; this.setCode(this.getKey("scode")); + share_1.WeChat.setShare(location.href); + this.Authentication(); }; GameConfig.CLICK_init = function () { this.CLICK_DATA = @@ -3143,7 +3446,8 @@ var GameConfig = /** @class */ (function () { difficultyLevel: 0, sunList: [], stepTimeList: [], - remainder: 120 //游戏剩余时间 + remainder: 120, + gap: [] //点击到太阳中心距离 }; }; GameConfig.LEVEL_INFO_init = function () { @@ -3377,340 +3681,7 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENvbmZpZ1xcR2FtZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3Q0FBd0M7QUFHbEMsSUFBQSxLQUF3QixFQUFFLENBQUMsVUFBVSxFQUFuQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWtCLENBQUM7QUFFNUM7SUFBQTtJQStWQSxDQUFDO21CQS9WWSxVQUFVO0lBNENuQixzQkFBVyxzQkFBUTthQUFuQjtZQUVJLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQzFCO2dCQUNJLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxZQUFVLEVBQUUsQ0FBQzthQUNyQztZQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMxQixDQUFDOzs7T0FBQTtJQUVNLGlCQUFNLEdBQWIsVUFBYyxHQUFHO1FBQ2IsSUFBSSxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxHQUFHLEdBQUcsR0FBRyxlQUFlLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDWCxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6QjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGVBQUksR0FBWDtRQUNJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXZCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQixFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxj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QUQsaUJBQUM7Q0EvVkQsQUErVkMsSUFBQTtBQS9WWSxnQ0FBVSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdlQ2hhdCB9IGZyb20gXCIuLi9TaGFyZS9zaGFyZVwiO1xyXG5cclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbkBjY2NsYXNzKCdHYW1lQ29uZmlnJylcclxuZXhwb3J0IGNsYXNzIEdhbWVDb25maWcgIHtcclxuICAgIC8v5omA5pyJ5o6n5Yi25L+h5oGv6YO96YCa6L+HR2FtZUFwcFN0YXJ05YaF5o6n5Yi2XHJcbiAgICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2UgOiBHYW1lQ29uZmlnID0gbnVsbDtcclxuICAgIC8v55So5LqO55ub5pS+5Z+L54K55pWw5o2u5LiK5Lyg77yM5q+P5qyh5LiK5Lyg5ZCO5riF56m6XHJcbiAgICBzdGF0aWMgR01fSU5GTzoge1xyXG4gICAgICAgIC8vIGlzRW5kOiBmYWxzZSxcclxuICAgICAgICBtZWFuX1RpbWU6IG51bWJlcjsgLy/lubPlnYfmlL7nrq3pgJ/luqZcclxuICAgICAgICB0b3RhbDogbnVtYmVyOyAvL+aAu+WFseWvueeahOS4quaVsFxyXG4gICAgICAgIGN1cnJTZWVkOiBudW1iZXI7IC8v55So5LqO6ZqP5py65pWw56eN5a2QXHJcbiAgICAgICAgZ2FtZUlkOiBzdHJpbmc7IC8v5ri45oiPSURcclxuICAgICAgICB1c2VySWQ6IG51bWJlcjsgLy/nlKjmiLdJRFxyXG4gICAgICAgIHNjb2RlOiBzdHJpbmc7ICAvL+eUqOaIt2NvZGVcclxuICAgICAgICBndWlkZTogYm9vbGVhbjsgLy/mmK/lkKbmnInlvJXlr7xcclxuICAgICAgICB1cmw6IHN0cmluZzsgLy/orr/pl67ln5/lkI1cclxuICAgICAgICBzdWNjZXNzOiBib29sZWFuOyAvL+eUqOaIt+a4uOaIj+aIkOWKn+S4juWQplxyXG4gICAgICAgIG1hdGNoSWQ6IGFueTsgLy/nlKjkuo7ln4vngrnkuIrkvKDnmoRJRFxyXG4gICAgICAgIGN1c3RvbTogbnVtYmVyOyAvL+eUqOS6jua1i+ivlei3s+WFs+WNoVxyXG4gICAgfTtcclxuICAgIHN0YXRpYyBDTElDS19EQVRBOiB7XHJcbiAgICAgICAgdHlwZTogbnVtYmVyOyAvL+S4iuS8oOaVsOaNruexu+Wei1xyXG4gICAgICAgIHN1Y2Nlc3M6IGJvb2xlYW47IC8v5q2k5bGA5ri45oiP6IOc6LSfICAgIFxyXG4gICAgICAgIHJvdW5kOiBudW1iZXI7IC8v5Zue5ZCI5pWwXHJcbiAgICAgICAgdG90YWxTdW5Db3VudDogbnVtYmVyOyAvL+WkqumYs+aAu+aVsFxyXG4gICAgICAgIG1vdmVkU3VuQ291bnQ6IG51bWJlcjsgLy/lj6/np7vliqjlpKrpmLPkuKrmlbBcclxuICAgICAgICBzdW5TcGVlZDogbnVtYmVyOyAvL+WkqumYs+enu+WKqOmAn+W6plxyXG4gICAgICAgIG92ZXJsYXBTdW5Db3VudDogbnVtYmVyOyAvL+mHjeWPoOWkqumYs+S4quaVsFxyXG4gICAgICAgIGNvbG9yTGlzdDogYW55W107IC8v5aSq6Ziz6aKc6Imy5pWw57uEXHJcbiAgICAgICAgZHVyYXRpb246IG51bWJlcjsgLy/mr4/mrKHngrnlh7vnmoTlj43lupTml7bpl7RcclxuICAgICAgICBkaWZmaWN1bHR5TGV2ZWw6IG51bWJlcjsgLy/mraTmrKHpmr7luqZcclxuICAgICAgICBzdW5MaXN0OiBhbnlbXTsgLy/lpKrpmLPmlbDnu4TvvIznlKjkuo7lrZjmlL7lpKrpmLPnsbvlnosgMDrmma7pgJogMTrnp7vliqggMjrph43lj6BcclxuICAgICAgICBzdGVwVGltZUxpc3Q6IGFueVtdOyAvL+avj+asoeeCueWHu+mXtOmalFxyXG4gICAgICAgIHJlbWFpbmRlcjogbnVtYmVyOyAvL+a4uOaIj+WJqeS9meaXtumXtFxyXG4gICAgfTtcclxuICAgIHN0YXRpYyBMRVZFTF9JTkZPOiB7IC8v56ys5LiA6Zq+5bqmXHJcbiAgICAgICAgbnVtYmVyOiBudW1iZXI7IC8v5aSq6Ziz5oC75pWwIFxyXG4gICAgICAgIG1vdmVOdW1iZXI6IG51bWJlcjsgLy/lpKrpmLPlj6/np7vliqjkuKrmlbBcclxuICAgICAgICBtb3ZlU3BlZWQ6IG51bWJlcjsgLy/lpKrpmLPnp7vliqjpgJ/luqbnrYnnuqdcclxuICAgICAgICBtYXhEaXN0YW5jZTogbnVtYmVyOyAvL+W4g+WxgOWQjuenu+WKqOacgOWkp+i3neemu1xyXG4gICAgICAgIG1heE1vdmU6IG51bWJlcjsgLy/mr4/kuKrlpKrpmLPkuYvpl7Tot53nprvmnIDlpKfpl7Tot51cclxuICAgICAgICByZXBlYXQ6IG51bWJlcjsgLy/mmK/lkKbph43lj6DvvIznjrDlnKgwIOS4jemHjeWPoCAxIOmHjeWPoDHkuKpcclxuICAgIH1bXTtcclxuICAgIHN0YXRpYyBHQU1FX0RBVEE6IGFueVtdO1xyXG5cclxuXHJcbiAgICBzdGF0aWMgZ2V0IEluc3RhbmNlKClcclxuICAgIHtcclxuICAgICAgICBpZiAodGhpcy5faW5zdGFuY2UgPT0gbnVsbClcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHRoaXMuX2luc3RhbmNlID0gbmV3IEdhbWVDb25maWcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luc3RhbmNlO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRLZXkoa2V5KXtcclxuICAgICAgICB2YXIgcmVnID0gbmV3IFJlZ0V4cCgnKF58JiknICsga2V5ICsgJz0oW14mXSopKCZ8JCknLCAnaScpO1xyXG4gICAgICAgIHZhciByID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHIoMSkubWF0Y2gocmVnKTtcclxuICAgICAgICBpZiAociAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1bmVzY2FwZShyWzJdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGluaXQoKXtcclxuICAgICAgICB0aGlzLkdNX0lORk9faW5pdCgpO1xyXG4gICAgICAgIHRoaXMuQ0xJQ0tfaW5pdCgpO1xyXG4gICAgICAgIHRoaXMuTEVWRUxfSU5GT19pbml0KCk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIGNjLnJlc291cmNlcy5sb2FkKCdKc29uL0dNX0lORk8nLCAoZXJyOiBhbnksIHJlczogY2MuSnNvbkFzc2V0KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlcnIpIHtcclxuICAgICAgICAgICAgICAgIFdlQ2hhdC5zZXRTaGFyZShsb2NhdGlvbi5ocmVmKTtcclxuICAgICAgICAgICAgICAgIHNlbGYuQXV0aGVudGljYXRpb24oKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQganNvbkRhdGE6IG9iamVjdCA9IHJlcy5qc29uITtcclxuICAgICAgICAgICAgc2VsZi5HTV9JTkZPID0ganNvbkRhdGFbXCJkYXRhXCJdO1xyXG4gICAgICAgICAgICBzZWxmLnNldENvZGUoc2VsZi5nZXRLZXkoXCJzY29kZVwiKSk7XHJcbiAgICAgICAgICAgIFdlQ2hhdC5zZXRTaGFyZShsb2NhdGlvbi5ocmVmKTtcclxuICAgICAgICAgICAgc2VsZi5BdXRoZW50aWNhdGlvbigpO1xyXG5cclxuICAgICAgICB9KVxyXG4gICAgICAgIGNjLnJlc291cmNlcy5sb2FkKCdKc29uL0NMSUNLX0RBVEEnLCAoZXJyOiBhbnksIHJlczogY2MuSnNvbkFzc2V0KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlcnIpIHtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGpzb25EYXRhOiBvYmplY3QgPSByZXMuanNvbiE7XHJcbiAgICAgICAgICAgIHNlbGYuQ0xJQ0tfREFUQSA9IGpzb25EYXRhW1wiZGF0YVwiXTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIGNjLnJlc291cmNlcy5sb2FkKCdKc29uL0xFVkVMX0lORk8nLCAoZXJyOiBhbnksIHJlczogY2MuSnNvbkFzc2V0KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlcnIpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQganNvbkRhdGE6IG9iamVjdCA9IHJlcy5qc29uITtcclxuICAgICAgICAgICAgc2VsZi5MRVZFTF9JTkZPID0ganNvbkRhdGFbXCJkYXRhXCJdO1xyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIC8vR0FNRV9EQVRBIOW6n+W8g+S6hu+8jOaaguaXtuS4jeWIoOmZpOS7pemYsuWQjumdouS/ruaUueWbniDkuIDmlbTlsYDkvKDkuIDmrKFcclxuICAgICAgICBzZWxmLkdBTUVfREFUQSA9IFtcclxuICAgICAgICBdXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8v5pWw5o2u5aSH55SoXHJcbiAgICBzdGF0aWMgR01fSU5GT19pbml0KCkge1xyXG4gICAgICAgIHRoaXMuR01fSU5GTyA9IHtcclxuICAgICAgICAgICAgLy8gaXNFbmQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBtZWFuX1RpbWU6IDAsICAgICAgICAgICAgICAgIC8v5bmz5Z2H5pS+566t6YCf5bqmXHJcbiAgICAgICAgICAgIHRvdGFsOiAwLCAgICAgICAgICAgICAgICAgICAgLy/mgLvlhbHlr7nnmoTkuKrmlbBcclxuICAgICAgICAgICAgY3VyclNlZWQ6IDIwMzIxMywgICAgICAgICAgIC8v55So5LqO6ZqP5py65pWw56eN5a2QXHJcbiAgICAgICAgICAgIGdhbWVJZDogJzEwMDAwOScsICAgICAgICAgICAvL+a4uOaIj0lEXHJcbiAgICAgICAgICAgIHVzZXJJZDogMCwgICAgICAgICAgICAgICAgICAvL+eUqOaIt0lEXHJcbiAgICAgICAgICAgIHNjb2RlOiBcIlwiLCAgICAgICAgICAgICAgICAgIC8v55So5oi3Y29kZSzku47nvZHpobXlkI7nvIDojrflj5ZcclxuICAgICAgICAgICAgZ3VpZGU6IHRydWUsICAgICAgICAgICAgICAgICAvL+aYr+WQpuacieW8leWvvFxyXG4gICAgICAgICAgICB1cmw6IFwiaHR0cHM6Ly9hcGkuc3Bhcmt1cy5jblwiLC8v6K6/6Zeu5Z+f5ZCNXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLCAgICAgICAgICAgICAvL+eUqOaIt+a4uOaIj+aIkOWKn+S4juWQplxyXG4gICAgICAgICAgICBtYXRjaElkOiBudWxsLCAgICAgICAgICAgICAgLy/nlKjkuo7ln4vngrnkuIrkvKDnmoRJRFxyXG4gICAgICAgICAgICBjdXN0b206IDAgICAgICAgICAgICAgICAgICAgLy/nlKjkuo7mtYvor5Xot7PlhbPljaFcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuc2V0Q29kZSh0aGlzLmdldEtleShcInNjb2RlXCIpKTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBDTElDS19pbml0KCkge1xyXG4gICAgICAgIHRoaXMuQ0xJQ0tfREFUQSA9XHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0eXBlOiAxLCAgICAgICAgICAgIC8v5LiK5Lyg5pWw5o2u57G75Z6LXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLCAgICAgLy/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+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDEwLFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzExIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiAzLFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzEyIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogMCxcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzEzIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE0IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE1IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE2IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE3IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE4IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE5IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMixcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzIwIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgXVxyXG4gICAgfVxyXG4gICAgc3RhdGljIEF1dGhlbnRpY2F0aW9uKCl7XHJcbiAgICAgICAgY2MuZnguR2FtZVRvb2wuQXV0aGVudGljYXRpb24oKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgc2V0Q29kZShjb2RlKXtcclxuICAgICAgICB0aGlzLkdNX0lORk8uc2NvZGUgPSBjb2RlO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuIl19 -//------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/Share/share.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, '7290caA39xMWZc2phTMKovP', 'share'); -// Script/module/Share/share.ts - -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.WeChat = void 0; -var shareConfig = { - gameId: "100009", - shareLine: "zDLsruVI", - EK: "hui231%1" -}; -// 微信操作类 -var WeChat = /** @class */ (function () { - function WeChat() { - } - WeChat.setShare = function (url) { - var urlTemp = this.removeQueryParams(url); - shareConfig.shareLine = urlTemp; - WeChat.getSignature(url); - }; - WeChat.getResult = function (res) { - if (res) { - var data = res.data; - wx.config({ - debug: false, - appId: data.appId, - timestamp: data.timestamp, - nonceStr: data.nonceStr, - signature: data.signature, - jsApiList: ['onMenuShareTimeline', 'updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareAppMessage'] - }); - wx.checkJsApi({ - jsApiList: ['updateAppMessageShareData'], - success: function (res) { - setTimeout(function () { - WeChat.changeShare(); - }, 200); - setTimeout(function () { - WeChat.changeShare(); - }, 500); - } - }); - } - }; - WeChat.changeShare = function () { - wx.ready(function () { - wx.updateAppMessageShareData({ - title: '记忆力认知测评', - desc: '你的注意力和工作记忆有问题吗?', - link: shareConfig.shareLine, - imgUrl: 'https://static.sparkus.cn/public/shootsun.jpg', - success: function () { - // 设置成功 - console.log("分享好友成功回调"); - } - }); - setTimeout(function () { - wx.updateTimelineShareData({ - title: '记忆力认知测评', - link: shareConfig.shareLine, - imgUrl: 'https://static.sparkus.cn/public/shootsun.jpg', - success: function () { - // 设置成功 - console.log("分享朋友圈成功回调"); - } - }); - }, 200); - }); - }; - WeChat.getSignature = function (url) { - return new Promise(function (resolve) { - WeChat.getShareInfo((encodeURIComponent(url)), WeChat.getResult); - }); - }; - WeChat.getShareInfo = function (shareUrl, callback) { - return __awaiter(this, void 0, Promise, function () { - var time, url; - return __generator(this, function (_a) { - time = Math.floor((new Date().getTime()) / 1000); - url = cc.fx.HttpUtil.apiSign("/api/share/cfg?gameId=" + cc.fx.GameConfig.GM_INFO.gameId + "&time=" + time + "&url=" + shareUrl, {}); - return [2 /*return*/, cc.fx.HttpUtil.get(url, callback, 3)]; - }); - }); - }; - WeChat.containsNanana = function (str) { - return /test/i.test(str); - }; - WeChat.removeQueryParams = function (url) { - return url.replace(/\?.*$/, ''); - }; - return WeChat; -}()); -exports.WeChat = WeChat; - -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFNoYXJlXFxzaGFyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFJLFdBQVcsR0FBRztJQUNkLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFNBQVMsRUFBRSxVQUFVO0lBQ3JCLEVBQUUsRUFBQyxVQUFVO0NBQ2QsQ0FBQztBQVdKLFFBQVE7QUFDUjtJQUFBO0lBK0VBLENBQUM7SUE5RVUsZUFBUSxHQUFmLFVBQWdCLEdBQUc7UUFDZixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsV0FBVyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7UUFDaEMsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sZ0JBQVMsR0FBaEIsVUFBaUIsR0FBRztRQUNoQixJQUFHLEdBQUcsRUFBQztZQUNILElBQUksSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDcEIsRUFBRSxDQUFDLE1BQU0sQ0FBQztnQkFDTixLQUFLLEVBQUUsS0FBSztnQkFDWixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztnQkFDekIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUN2QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLFNBQVMsRUFBRSxDQUFDLHFCQUFxQixFQUFDLDJCQUEyQixFQUFFLHlCQUF5QixFQUFFLHVCQUF1QixDQUFDO2FBQ3JILENBQUMsQ0FBQztZQUNILEVBQUUsQ0FBQyxVQUFVLENBQUM7Z0JBQ1YsU0FBUyxFQUFFLENBQUMsMkJBQTJCLENBQUM7Z0JBQ3hDLE9BQU8sRUFBRSxVQUFTLEdBQUc7b0JBQ2pCLFVBQVUsQ0FBQzt3QkFDUCxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ3pCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDUixVQUFVLENBQUM7d0JBQ1AsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUN6QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ1osQ0FBQzthQUNKLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVNLGtCQUFXLEdBQWxCO1FBQ0ksRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNMLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztnQkFDekIsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLElBQUksRUFBRSxXQUFXLENBQUMsU0FBUztnQkFDM0IsTUFBTSxFQUFFLCtDQUErQztnQkFDdkQsT0FBTyxFQUFFO29CQUNQLE9BQU87b0JBQ1AsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDMUIsQ0FBQzthQUNKLENBQUMsQ0FBQztZQUNILFVBQVUsQ0FBQztnQkFDUCxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ3ZCLEtBQUssRUFBRSxTQUFTO29CQUNoQixJQUFJLEVBQUUsV0FBVyxDQUFDLFNBQVM7b0JBQzNCLE1BQU0sRUFBRSwrQ0FBK0M7b0JBQ3ZELE9BQU8sRUFBRTt3QkFDUCxPQUFPO3dCQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQzNCLENBQUM7aUJBQ0YsQ0FBQyxDQUFBO1lBQ1IsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRVosQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sbUJBQVksR0FBbkIsVUFBb0IsR0FBVztRQUMzQixPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTztZQUN2QixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ1ksbUJBQVksR0FBekIsVUFBMEIsUUFBZ0IsRUFBRSxRQUFpQjt1Q0FBRyxPQUFPOzs7Z0JBQzdELElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO2dCQUNoRCxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLDJCQUF5QixFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxjQUFTLElBQUksYUFBUSxRQUFVLEVBQUMsRUFBRSxDQUFDLENBQUE7Z0JBQzlILHNCQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxFQUFBOzs7S0FDNUM7SUFHTSxxQkFBYyxHQUFyQixVQUFzQixHQUFHO1FBQ3JCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sd0JBQWlCLEdBQXhCLFVBQXlCLEdBQUc7UUFDeEIsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUwsYUFBQztBQUFELENBL0VBLEFBK0VDLElBQUE7QUEvRVksd0JBQU0iLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcblxudmFyIHNoYXJlQ29uZmlnID0ge1xuICAgIGdhbWVJZDogXCIxMDAwMDlcIixcbiAgICBzaGFyZUxpbmU6IFwiekRMc3J1VklcIixcbiAgICBFSzpcImh1aTIzMSUxXCJcbiAgfTtcblxuLy8g5a6a5LmJ5b6u5L+h6YWN572u5pWw5o2u55qE5o6l5Y+jXG5pbnRlcmZhY2UgSVdlQ2hhdENvbmZpZyB7XG4gICAgYXBwSWQ6IHN0cmluZztcbiAgICB0aW1lc3RhbXA6IG51bWJlcjtcbiAgICBub25jZVN0cjogc3RyaW5nO1xuICAgIHNpZ25hdHVyZTogc3RyaW5nO1xuICAgIGpzQXBpTGlzdDogW107XG59XG5cbi8vIOW+ruS/oeaTjeS9nOexu1xuZXhwb3J0IGNsYXNzIFdlQ2hhdCB7XG4gICAgc3RhdGljIHNldFNoYXJlKHVybCkge1xuICAgICAgICB2YXIgdXJsVGVtcCA9IHRoaXMucmVtb3ZlUXVlcnlQYXJhbXModXJsKTtcbiAgICAgICAgc2hhcmVDb25maWcuc2hhcmVMaW5lID0gdXJsVGVtcDtcbiAgICAgICAgV2VDaGF0LmdldFNpZ25hdHVyZSh1cmwpO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXRSZXN1bHQocmVzKXtcbiAgICAgICAgaWYocmVzKXtcbiAgICAgICAgICAgIHZhciBkYXRhID0gcmVzLmRhdGE7XG4gICAgICAgICAgICB3eC5jb25maWcoe1xuICAgICAgICAgICAgICAgIGRlYnVnOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBhcHBJZDogZGF0YS5hcHBJZCxcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA6IGRhdGEudGltZXN0YW1wLFxuICAgICAgICAgICAgICAgIG5vbmNlU3RyOiBkYXRhLm5vbmNlU3RyLFxuICAgICAgICAgICAgICAgIHNpZ25hdHVyZTogZGF0YS5zaWduYXR1cmUsXG4gICAgICAgICAgICAgICAganNBcGlMaXN0OiBbJ29uTWVudVNoYXJlVGltZWxpbmUnLCd1cGRhdGVBcHBNZXNzYWdlU2hhcmVEYXRhJywgJ3VwZGF0ZVRpbWVsaW5lU2hhcmVEYXRhJywgJ29uTWVudVNoYXJlQXBwTWVzc2FnZSddXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHd4LmNoZWNrSnNBcGkoe1xuICAgICAgICAgICAgICAgIGpzQXBpTGlzdDogWyd1cGRhdGVBcHBNZXNzYWdlU2hhcmVEYXRhJ10sIC8vIOmcgOimgeajgOa1i+eahEpT5o6l5Y+j5YiX6KGo77yM5omA5pyJSlPmjqXlj6PliJfooajop4HpmYTlvZUyLFxuICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgIFxuICAgICAgICAgICAgICAgICAgICAgICAgV2VDaGF0LmNoYW5nZVNoYXJlKCk7XG4gICAgICAgICAgICAgICAgICAgIH0sIDIwMCk7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgV2VDaGF0LmNoYW5nZVNoYXJlKCk7XG4gICAgICAgICAgICAgICAgICAgIH0sIDUwMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgY2hhbmdlU2hhcmUoKXtcbiAgICAgICAgd3gucmVhZHkoKCkgPT4ge1xuICAgICAgICAgICAgd3gudXBkYXRlQXBwTWVzc2FnZVNoYXJlRGF0YSh7IFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn6K6w5b+G5Yqb6K6k55+l5rWL6K+EJywgLy8g5YiG5Lqr5qCH6aKYXG4gICAgICAgICAgICAgICAgZGVzYzogJ+S9oOeahOazqOaEj+WKm+WSjOW3peS9nOiusOW/huaciemXrumimOWQl++8nycsIC8vIOWIhuS6q+aPj+i/sFxuICAgICAgICAgICAgICAgIGxpbms6IHNoYXJlQ29uZmlnLnNoYXJlTGluZSwgLy8g5YiG5Lqr6ZO+5o6l77yM6K+l6ZO+5o6l5Z+f5ZCN5oiW6Lev5b6E5b+F6aG75LiO5b2T5YmN6aG16Z2i5a+55bqU55qE5YWs5LyX5Y+3SlPlronlhajln5/lkI3kuIDoh7RcbiAgICAgICAgICAgICAgICBpbWdVcmw6ICdodHRwczovL3N0YXRpYy5zcGFya3VzLmNuL3B1YmxpYy9zaG9vdHN1bi5qcGcnLCAvLyDliIbkuqvlm77moIdcbiAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAvLyDorr7nva7miJDlip9cbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5YiG5Lqr5aW95Y+L5oiQ5Yqf5Zue6LCDXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgd3gudXBkYXRlVGltZWxpbmVTaGFyZURhdGEoeyBcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICforrDlv4blipvorqTnn6XmtYvor4QnLCAvLyDliIbkuqvmoIfpophcbiAgICAgICAgICAgICAgICAgICAgbGluazogc2hhcmVDb25maWcuc2hhcmVMaW5lLCAvLyDliIbkuqvpk77mjqXvvIzor6Xpk77mjqXln5/lkI3miJbot6/lvoTlv4XpobvkuI7lvZPliY3pobXpnaLlr7nlupTnmoTlhazkvJflj7dKU+WuieWFqOWfn+WQjeS4gOiHtFxuICAgICAgICAgICAgICAgICAgICBpbWdVcmw6ICdodHRwczovL3N0YXRpYy5zcGFya3VzLmNuL3B1YmxpYy9zaG9vdHN1bi5qcGcnLCAvLyDliIbkuqvlm77moIdcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgIC8vIOiuvue9ruaIkOWKn1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5YiG5Lqr5pyL5Y+L5ZyI5oiQ5Yqf5Zue6LCDXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSwgMjAwKTtcblxuICAgICAgICB9KTsgXG4gICAgfVxuXG4gICAgc3RhdGljIGdldFNpZ25hdHVyZSh1cmw6IHN0cmluZyk6IFByb21pc2U8SVdlQ2hhdENvbmZpZz4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIFdlQ2hhdC5nZXRTaGFyZUluZm8oKGVuY29kZVVSSUNvbXBvbmVudCh1cmwpKSxXZUNoYXQuZ2V0UmVzdWx0KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHN0YXRpYyBhc3luYyBnZXRTaGFyZUluZm8oc2hhcmVVcmw6IHN0cmluZywgY2FsbGJhY2s6RnVuY3Rpb24pOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCB0aW1lID0gTWF0aC5mbG9vcigobmV3IERhdGUoKS5nZXRUaW1lKCkpIC8gMTAwMClcbiAgICAgICAgY29uc3QgdXJsID0gY2MuZnguSHR0cFV0aWwuYXBpU2lnbihgL2FwaS9zaGFyZS9jZmc/Z2FtZUlkPSR7Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZH0mdGltZT0ke3RpbWV9JnVybD0ke3NoYXJlVXJsfWAse30pXG4gICAgICAgIHJldHVybiBjYy5meC5IdHRwVXRpbC5nZXQodXJsLGNhbGxiYWNrLDMpXG4gICAgfVxuXG4gICAgXG4gICAgc3RhdGljIGNvbnRhaW5zTmFuYW5hKHN0cikge1xuICAgICAgICByZXR1cm4gL3Rlc3QvaS50ZXN0KHN0cik7XG4gICAgfVxuXG4gICAgc3RhdGljIHJlbW92ZVF1ZXJ5UGFyYW1zKHVybCkge1xuICAgICAgICByZXR1cm4gdXJsLnJlcGxhY2UoL1xcPy4qJC8sICcnKTtcbiAgICB9XG5cbn1cbiJdfQ== +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENvbmZpZ1xcR2FtZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3Q0FBd0M7QUFHbEMsSUFBQSxLQUF3QixFQUFFLENBQUMsVUFBVSxFQUFuQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWtCLENBQUM7QUFFNUM7SUFBQTtJQXVXQSxDQUFDO21CQXZXWSxVQUFVO0lBK0NuQixzQkFBVyxzQkFBUTthQUFuQjtZQUVJLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQzFCO2dCQUNJLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxZQUFVLEVBQUUsQ0FBQzthQUNyQztZQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMxQixDQUFDOzs7T0FBQTtJQUVNLGlCQUFNLEdBQWIsVUFBYyxHQUFHO1FBQ2IsSUFBSSxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxHQUFHLEdBQUcsR0FBRyxlQUFlLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDWCxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6QjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGVBQUksR0FBWDtRQUNJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXZCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQix1RUFBdUU7UUFDdkUsaUJBQWlCO1FBQ2pCLDBDQUEw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QixPQUFPLEVBQUUsSUFBSTtnQkFDYixNQUFNLEVBQUUsQ0FBQzthQUNaO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFFLENBQUM7Z0JBQ1QsVUFBVSxFQUFFLENBQUM7Z0JBQ2IsU0FBUyxFQUFFLENBQUM7Z0JBQ1osV0FBVyxFQUFFLEdBQUc7Z0JBQ2hCLE9BQU8sRUFBRSxJQUFJO2dCQUNiLE1BQU0sRUFBRSxDQUFDO2FBQ1o7WUFDRDtnQkFDSSxNQUFNLEVBQUUsQ0FBQztnQkFDVCxVQUFVLEVBQUUsQ0FBQztnQkFDYixTQUFTLEVBQUUsQ0FBQztnQkFDWixXQUFXLEVBQUUsR0FBRztnQkFDaEIsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsTUFBTSxFQUFFLENBQUM7YUFDWjtTQUVKLENBQUE7SUFDTCxDQUFDO0lBQ00seUJBQWMsR0FBckI7UUFDSSxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU0sa0JBQU8sR0FBZCxVQUFlLElBQUk7UUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQzs7SUFwV0QsMEJBQTBCO0lBQ1gsb0JBQVMsR0FBZ0IsSUFBSSxDQUFDO0lBRnBDLFVBQVU7UUFEdEIsT0FBTyxDQUFDLFlBQVksQ0FBQztPQUNULFVBQVUsQ0F1V3RCO0lBQUQsaUJBQUM7Q0F2V0QsQUF1V0MsSUFBQTtBQXZXWSxnQ0FBVSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdlQ2hhdCB9IGZyb20gXCIuLi9TaGFyZS9zaGFyZVwiO1xyXG5cclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbkBjY2NsYXNzKCdHYW1lQ29uZmlnJylcclxuZXhwb3J0IGNsYXNzIEdhbWVDb25maWcgIHtcclxuICAgIC8v5omA5pyJ5o6n5Yi25L+h5oGv6YO96YCa6L+HR2FtZUFwcFN0YXJ05YaF5o6n5Yi2XHJcbiAgICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2UgOiBHYW1lQ29uZmlnID0gbnVsbDtcclxuICAgIC8v55So5LqO55ub5pS+5Z+L54K55pWw5o2u5LiK5Lyg77yM5q+P5qyh5LiK5Lyg5ZCO5riF56m6XHJcblxyXG4gICAgc3RhdGljIExFVkVMX0lORk86IHsgLy/nrKzkuIDpmr7luqZcclxuICAgICAgICBudW1iZXI6IG51bWJlcjsgLy/lpKrpmLPmgLvmlbAgXHJcbiAgICAgICAgbW92ZU51bWJlcjogbnVtYmVyOyAvL+WkqumYs+WPr+enu+WKqOS4quaVsFxyXG4gICAgICAgIG1vdmVTcGVlZDogbnVtYmVyOyAvL+WkqumYs+enu+WKqOmAn+W6puetiee6p1xyXG4gICAgICAgIG1heERpc3RhbmNlOiBudW1iZXI7IC8v5biD5bGA5ZCO56e75Yqo5pyA5aSn6Led56a7XHJcbiAgICAgICAgbWF4TW92ZTogbnVtYmVyOyAvL+avj+S4quWkqumYs+S5i+mXtOi3neemu+acgOWkp+mXtOi3nVxyXG4gICAgICAgIHJlcGVhdDogbnVtYmVyOyAvL+aYr+WQpumHjeWPoO+8jOeOsOWcqDAg5LiN6YeN5Y+gIDEg6YeN5Y+gMeS4qlxyXG4gICAgfVtdO1xyXG4gICAgc3RhdGljIEdBTUVfREFUQTogYW55W107XHJcbiAgICBzdGF0aWMgQ0xJQ0tfREFUQToge1xyXG4gICAgICAgIHR5cGU6IG51bWJlcjsgLy/kuIrkvKDmlbDmja7nsbvlnotcclxuICAgICAgICBzdWNjZXNzOiBib29sZWFuOyAvL+atpOWxgOa4uOaIj+iDnOi0nyAgICBcclxuICAgICAgICByb3VuZDogbnVtYmVyOyAvL+WbnuWQiOaVsFxyXG4gICAgICAgIHRvdGFsU3VuQ291bnQ6IG51bWJlcjsgLy/lpKrpmLPmgLvmlbBcclxuICAgICAgICBtb3ZlZFN1bkNvdW50OiBudW1iZXI7IC8v5Y+v56e75Yqo5aSq6Ziz5Liq5pWwXHJcbiAgICAgICAgc3VuU3BlZWQ6IG51bWJlcjsgLy/lpKrpmLPnp7vliqjpgJ/luqZcclxuICAgICAgICBvdmVybGFwU3VuQ291bnQ6IG51bWJlcjsgLy/ph43lj6DlpKrpmLPkuKrmlbBcclxuICAgICAgICBjb2xvckxpc3Q6IGFueVtdOyAvL+WkqumYs+minOiJsuaVsOe7hFxyXG4gICAgICAgIGR1cmF0aW9uOiBudW1iZXI7IC8v5q+P5qyh54K55Ye755qE5Y+N5bqU5pe26Ze0XHJcbiAgICAgICAgZGlmZmljdWx0eUxldmVsOiBudW1iZXI7IC8v5q2k5qyh6Zq+5bqmXHJcbiAgICAgICAgc3VuTGlzdDogYW55W107IC8v5aSq6Ziz5pWw57uE77yM55So5LqO5a2Y5pS+5aSq6Ziz57G75Z6LIDA65pmu6YCaIDE656e75YqoIDI66YeN5Y+gXHJcbiAgICAgICAgc3RlcFRpbWVMaXN0OiBhbnlbXTsgLy/mr4/mrKHngrnlh7vpl7TpmpRcclxuICAgICAgICByZW1haW5kZXI6IG51bWJlcjsgLy/muLjmiI/liankvZnml7bpl7RcclxuICAgICAgICBnYXA6IGFueVtdOyAvL+eCueWHu+WIsOWkqumYs+S4reW/g+i3neemu1xyXG4gICAgfTtcclxuICAgIHN0YXRpYyBHTV9JTkZPOiB7XHJcbiAgICAgICAgLy8gaXNFbmQ6IGZhbHNlLFxyXG4gICAgICAgIG1lYW5fVGltZTogbnVtYmVyOyAvL+W5s+Wdh+aUvueuremAn+W6plxyXG4gICAgICAgIHRvdGFsOiBudW1iZXI7IC8v5oC75YWx5a+555qE5Liq5pWwXHJcbiAgICAgICAgY3VyclNlZWQ6IG51bWJlcjsgLy/nlKjkuo7pmo/mnLrmlbDnp43lrZBcclxuICAgICAgICBnYW1lSWQ6IHN0cmluZzsgLy/muLjmiI9JRFxyXG4gICAgICAgIHVzZXJJZDogbnVtYmVyOyAvL+eUqOaIt0lEXHJcbiAgICAgICAgc2NvZGU6IHN0cmluZzsgLy/nlKjmiLdjb2RlLOS7jue9kemhteWQjue8gOiOt+WPllxyXG4gICAgICAgIGd1aWRlOiBib29sZWFuOyAvL+aYr+WQpuacieW8leWvvFxyXG4gICAgICAgIHVybDogc3RyaW5nOyAvL+iuv+mXruWfn+WQjVxyXG4gICAgICAgIHN1Y2Nlc3M6IGJvb2xlYW47IC8v55So5oi35ri45oiP5oiQ5Yqf5LiO5ZCmXHJcbiAgICAgICAgbWF0Y2hJZDogYW55OyAvL+eUqOS6juWfi+eCueS4iuS8oOeahElEXHJcbiAgICAgICAgY3VzdG9tOiBudW1iZXI7IC8v55So5LqO5rWL6K+V6Lez5YWz5Y2hXHJcbiAgICAgICAgZ2FwOiBhbnlbXTsgLy/lrZjlgqjngrnlh7vliLDlpKrpmLPkuK3lv4Pot53nprtcclxuICAgIH07XHJcblxyXG5cclxuICAgIHN0YXRpYyBnZXQgSW5zdGFuY2UoKVxyXG4gICAge1xyXG4gICAgICAgIGlmICh0aGlzLl9pbnN0YW5jZSA9PSBudWxsKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5faW5zdGFuY2UgPSBuZXcgR2FtZUNvbmZpZygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5faW5zdGFuY2U7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldEtleShrZXkpe1xyXG4gICAgICAgIHZhciByZWcgPSBuZXcgUmVnRXhwKCcoXnwmKScgKyBrZXkgKyAnPShbXiZdKikoJnwkKScsICdpJyk7XHJcbiAgICAgICAgdmFyIHIgPSB3aW5kb3cubG9jYXRpb24uc2VhcmNoLnN1YnN0cigxKS5tYXRjaChyZWcpO1xyXG4gICAgICAgIGlmIChyICE9IG51bGwpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVuZXNjYXBlKHJbMl0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgaW5pdCgpe1xyXG4gICAgICAgIHRoaXMuR01fSU5GT19pbml0KCk7XHJcbiAgICAgICAgdGhpcy5DTElDS19pbml0KCk7XHJcbiAgICAgICAgdGhpcy5MRVZFTF9JTkZPX2luaXQoKTtcclxuICAgICAgICBcclxuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgLy8gY2MucmVzb3VyY2VzLmxvYWQoJ0pzb24vR01fSU5GTycsIChlcnI6IGFueSwgcmVzOiBjYy5Kc29uQXNzZXQpID0+IHtcclxuICAgICAgICAvLyAgICAgaWYgKGVycikge1xyXG4gICAgICAgIC8vICAgICAgICAgV2VDaGF0LnNldFNoYXJlKGxvY2F0aW9uLmhyZWYpO1xyXG4gICAgICAgIC8vICAgICAgICAgLy8gc2VsZi5BdXRoZW50aWNhdGlvbigpO1xyXG4gICAgICAgIC8vICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gICAgIGxldCBqc29uRGF0YTogb2JqZWN0ID0gcmVzLmpzb24hO1xyXG4gICAgICAgIC8vICAgICBzZWxmLkdNX0lORk8gPSBqc29uRGF0YVtcImRhdGFcIl07XHJcbiAgICAgICAgLy8gICAgIHNlbGYuc2V0Q29kZShzZWxmLmdldEtleShcInNjb2RlXCIpKTtcclxuICAgICAgICAvLyAgICAgV2VDaGF0LnNldFNoYXJlKGxvY2F0aW9uLmhyZWYpO1xyXG4gICAgICAgIC8vICAgICAvLyBzZWxmLkF1dGhlbnRpY2F0aW9uKCk7XHJcblxyXG4gICAgICAgIC8vIH0pXHJcbiAgICAgICAgLy8gY2MucmVzb3VyY2VzLmxvYWQoJ0pzb24vQ0xJQ0tfREFUQScsIChlcnI6IGFueSwgcmVzOiBjYy5Kc29uQXNzZXQpID0+IHtcclxuICAgICAgICAvLyAgICAgaWYgKGVycikge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAvLyAgICAgICAgIHJldHVybjtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vICAgICBsZXQganNvbkRhdGE6IG9iamVjdCA9IHJlcy5qc29uITtcclxuICAgICAgICAvLyAgICAgc2VsZi5DTElDS19EQVRBID0ganNvbkRhdGFbXCJkYXRhXCJdO1xyXG4gICAgICAgIC8vIH0pXHJcbiAgICAgICAgY2MucmVzb3VyY2VzLmxvYWQoJ0pzb24vTEVWRUxfSU5GTycsIChlcnI6IGFueSwgcmVzOiBjYy5Kc29uQXNzZXQpID0+IHtcclxuICAgICAgICAgICAgaWYgKGVycikge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBqc29uRGF0YTogb2JqZWN0ID0gcmVzLmpzb24hO1xyXG4gICAgICAgICAgICBzZWxmLkxFVkVMX0lORk8gPSBqc29uRGF0YVtcImRhdGFcIl07XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgICAgLy9HQU1FX0RBVEEg5bqf5byD5LqG77yM5pqC5pe25LiN5Yig6Zmk5Lul6Ziy5ZCO6Z2i5L+u5pS55ZueIOS4gOaVtOWxgOS8oOS4gOasoVxyXG4gICAgICAgIHNlbGYuR0FNRV9EQVRBID0gW1xyXG4gICAgICAgIF1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy/mlbDmja7lpIfnlKhcclxuICAgIHN0YXRpYyBHTV9JTkZPX2luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5HTV9JTkZPID0ge1xyXG4gICAgICAgICAgICAvLyBpc0VuZDogZmFsc2UsXHJcbiAgICAgICAgICAgIG1lYW5fVGltZTogMCwgICAgICAgICAgICAgICAgLy/lubPlnYfmlL7nrq3pgJ/luqZcclxuICAgICAgICAgICAgdG90YWw6IDAsICAgICAgICAgICAgICAgICAgICAvL+aAu+WFseWvueeahOS4quaVsFxyXG4gICAgICAgICAgICBjdXJyU2VlZDogMjAzMjEzLCAgICAgICAgICAgLy/nlKjkuo7pmo/mnLrmlbDnp43lrZBcclxuICAgICAgICAgICAgZ2FtZUlkOiAnMTAwMDA5JywgICAgICAgICAgIC8v5ri45oiPSURcclxuICAgICAgICAgICAgdXNlcklkOiAwLCAgICAgICAgICAgICAgICAgIC8v55So5oi3SURcclxuICAgICAgICAgICAgc2NvZGU6IFwiXCIsICAgICAgICAgICAgICAgICAgLy/nlKjmiLdjb2RlLOS7jue9kemhteWQjue8gOiOt+WPllxyXG4gICAgICAgICAgICBndWlkZTogdHJ1ZSwgICAgICAgICAgICAgICAgIC8v5piv5ZCm5pyJ5byV5a+8XHJcbiAgICAgICAgICAgIHVybDogXCJodHRwczovL2FwaS5zcGFya3VzLmNuXCIsLy/orr/pl67ln5/lkI1cclxuICAgICAgICAgICAgc3VjY2VzczogZmFsc2UsICAgICAgICAgICAgIC8v55So5oi35ri45oiP5oiQ5Yqf5LiO5ZCmXHJcbiAgICAgICAgICAgIG1hdGNoSWQ6IG51bGwsICAgICAgICAgICAgICAvL+eUqOS6juWfi+eCueS4iuS8oOeahElEXHJcbiAgICAgICAgICAgIGN1c3RvbTogMCwgICAgICAgICAgICAgICAgICAgLy/nlKjkuo7mtYvor5Xot7PlhbPljaFcclxuICAgICAgICAgICAgZ2FwOltdICAgICAgICAgICAgICAgICAgICAgIC8v5a2Y5YKo54K55Ye75Yiw5aSq6Ziz5Lit5b+D6Led56a7XHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLnNldENvZGUodGhpcy5nZXRLZXkoXCJzY29kZVwiKSk7XHJcbiAgICAgICAgV2VDaGF0LnNldFNoYXJlKGxvY2F0aW9uLmhyZWYpO1xyXG4gICAgICAgIHRoaXMuQXV0aGVudGljYXRpb24oKTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBDTElDS19pbml0KCkge1xyXG4gICAgICAgIHRoaXMuQ0xJQ0tfREFUQSA9XHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0eXBlOiAxLCAgICAgICAgICAgIC8v5LiK5Lyg5pWw5o2u57G75Z6LXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLCAgICAgLy/mraTlsYDmuLjmiI/og5zotJ8gICAgXHJcbiAgICAgICAgICAgIHJvdW5kOiAwLCAgICAgICAgICAgLy/lm57lkIjmlbBcclxuICAgICAgICAgICAgdG90YWxTdW5Db3VudDogMCwgICAvL+WkqumYs+aAu+aVsFxyXG4gICAgICAgICAgICBtb3ZlZFN1bkNvdW50OiAwLCAgIC8v5Y+v56e75Yqo5aSq6Ziz5Liq5pWwXHJcbiAgICAgICAgICAgIHN1blNwZWVkOiAwLCAgICAgICAgLy/lpKrpmLPnp7vliqjpgJ/luqZcclxuICAgICAgICAgICAgb3ZlcmxhcFN1bkNvdW50OiAwLCAvL+mHjeWPoOWkqumYs+S4quaVsFxyXG4gICAgICAgICAgICBjb2xvckxpc3Q6IFtdLCAgICAgIC8v5aSq6Ziz6aKc6Imy5pWw57uEXHJcbiAgICAgICAgICAgIGR1cmF0aW9uOiAwLCAgICAgICAgLy/mr4/mrKHngrnlh7vnmoTlj43lupTml7bpl7RcclxuICAgICAgICAgICAgZGlmZmljdWx0eUxldmVsOiAwLCAvL+atpOasoemavuW6plxyXG4gICAgICAgICAgICBzdW5MaXN0OiBbXSwgICAgICAgIC8v5aSq6Ziz5pWw57uE77yM55So5LqO5a2Y5pS+5aSq6Ziz57G75Z6LIDA65pmu6YCaIDE656e75YqoIDI66YeN5Y+gXHJcbiAgICAgICAgICAgIHN0ZXBUaW1lTGlzdDogW10sICAgLy/mr4/mrKHngrnlh7vpl7TpmpRcclxuICAgICAgICAgICAgcmVtYWluZGVyOiAxMjAsICAgICAgLy/muLjmiI/liankvZnml7bpl7RcclxuICAgICAgICAgICAgZ2FwOltdICAgICAgICAgICAgICAvL+eCueWHu+WIsOWkqumYs+S4reW/g+i3neemu1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICBzdGF0aWMgTEVWRUxfSU5GT19pbml0KCkge1xyXG4gICAgICAgIHRoaXMuTEVWRUxfSU5GTyA9IFtcclxuICAgICAgICAgICAgeyAgIC8v56ys5LiA6Zq+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+esrOWNgeS6lOmavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiAxMCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xMSBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogMyxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xMiBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDAsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xMyBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xNCBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xNSBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xNiBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xNyBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xOCBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xOSBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDIsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8yMCBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDMsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIF1cclxuICAgIH1cclxuICAgIHN0YXRpYyBBdXRoZW50aWNhdGlvbigpe1xyXG4gICAgICAgIGNjLmZ4LkdhbWVUb29sLkF1dGhlbnRpY2F0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHNldENvZGUoY29kZSl7XHJcbiAgICAgICAgdGhpcy5HTV9JTkZPLnNjb2RlID0gY29kZTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbiJdfQ== //------QC-SOURCE-SPLIT------ (function() { @@ -4012,6 +3983,708 @@ cc._RF.pop(); } })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFRvb2xcXEdhbWVUb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLCtCQUErQjtBQUMvQixJQUFJLFFBQVEsR0FBRztJQUNYLFVBQVUsRUFBRSxDQUFDO0lBQ2IsUUFBUSxFQUFFLENBQUM7SUFDWCxVQUFVLEVBQUUsQ0FBQztJQUNiLFVBQVU7SUFDVixjQUFjO1FBQ1YsSUFBSSxJQUFJLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDckQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLElBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFBRSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDN0UsSUFBRyxJQUFJLElBQUksVUFBVSxJQUFJLElBQUksSUFBRSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsRUFBQztZQUM5QyxJQUFJLEdBQUcsR0FBRyw4RUFBOEU7Z0JBQ3hGLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBQyxHQUFHLENBQUMsQ0FBQztZQUM3QixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7U0FDOUI7YUFDRztZQUNBLElBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBQztnQkFDM0IsSUFBSSxHQUFHLEdBQUcsOEVBQThFO29CQUN4RixrQkFBa0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN6QixNQUFNLENB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UyxHQUFHLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBLGVBQWU7UUFDdEQsSUFBSSxHQUFHLEdBQUcsUUFBUSxDQUFDLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUEsT0FBTztRQUMvQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLElBQUcsR0FBRyxHQUFHLEVBQUU7WUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFDLEdBQUcsQ0FBQztRQUN6QixJQUFJLFFBQVEsR0FBRyxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFBLGFBQWE7UUFDOUQsSUFBSSxJQUFJLEdBQUcsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFHLFFBQVEsR0FBRyxFQUFFO1lBQUUsSUFBSSxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUM7UUFDeEMsT0FBTyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQTtJQUN6QixDQUFDO0lBRUQsT0FBTztJQUNQLE9BQU87UUFDSCxJQUFNLFNBQVMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZDLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxVQUFVLEVBQUM7SUFFWCxDQUFDO0lBQ0QsZUFBZSxFQUFDO0lBRWhCLENBQUM7Q0FFSixDQUFDO0FBQ08sNEJBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLy/mnIDlpKflt6XlhbfnsbsgIOWQhOenjeWFrOWFseaWueazle+8jOS7peWPiuWkhOeQhuS4iuS8oO+8jOiOt+WPluWQjuerr+aOpeWPo+aVsOaNrlxyXG52YXIgR2FtZVRvb2wgPSB7XHJcbiAgICBfc3RhcnRUaW1lOiAwLFxyXG4gICAgX2VuZFRpbWU6IDAsXHJcbiAgICBfdG90YWxUaW1lOiAwLFxyXG4gICAgLy/ojrflj5Z1c2VySWRcclxuICAgIEF1dGhlbnRpY2F0aW9uKCl7XHJcbiAgICAgICAgbGV0IG5hbWUgPSBcInVzZXJfXCIgKyBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ2FtZUlkO1xyXG4gICAgICAgIHZhciBkYXRhID0gbnVsbDtcclxuICAgICAgICBpZihsb2NhbFN0b3JhZ2UuZ2V0SXRlbShuYW1lKSkgZGF0YSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0obmFtZSkpO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJ1bmRpZmVuZFwiIHx8IGRhdGE9PW51bGwgfHwgZGF0YSA9PSBcIlwiKXtcclxuICAgICAgICAgICAgbGV0IHVybCA9IFwiaHR0cHM6Ly9hcGkuc3Bhcmt1cy5jbi9hcGkvdXNlci9hdXRoL2xvZ2luP2RvbWFpbj1odWkzMjU3OVdkWVBzZ1lxJmNhbGxiYWNrPVwiK1xyXG4gICAgICAgICAgICBlbmNvZGVVUklDb21wb25lbnQobG9jYXRpb24uaHJlZik7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi6ZO+5o6l5rKhSUTlh4blpIfot7PovaxcIix1cmwpO1xyXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgaWYoIXRoaXMuaXNOdW1iZXIoZGF0YS51c2VySWQpKXtcclxuICAgICAgICAgICAgICAgIGxldCB1cmwgPSBcImh0dHBzOi8vYXBpLnNwYXJrdXMuY24vYXBpL3VzZXIvYXV0aC9sb2dpbj9kb21haW49aHVpMzI1NzlXZFlQc2dZcSZjYWxsYmFjaz1cIitcclxuICAgICAgICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChsb2NhdGlvbi5ocmVmKTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi6ZO+5o6l5LiN5ZCI5rOVXCIsdXJsKTtcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5TdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKG5hbWUsZGF0YSk7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkID0gcGFyc2VJbnQoZGF0YS51c2VySWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBpc051bWJlcih2YWx1ZSkge1xyXG4gICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTtcclxuICAgICAgICByZXN1bHQgPSB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInO1xyXG4gICAgICAgIGlmKHJlc3VsdCkgaWYodmFsdWUgPCAyMDAwMDApIHJlc3VsdCA9IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9LFxyXG5cclxuICAgIC8v5Z+L54K55LiK5LygXHJcbiAgICBzZXRHYW1lRGF0YSgpe1xyXG4gICAgICAgIC8vR0FNRV9EQVRBIOWIneWni+WMliDmr4/mrKHmuIXpm7ZcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdBTUVfREFUQSA9IFtdO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR0FNRV9EQVRBLnB1c2goY2MuZnguR2FtZUNvbmZpZy5DTElDS19EQVRBKTtcclxuICAgICAgICBsZXQgbGV2ZWwgPSBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX0RBVEEucm91bmQ7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19pbml0KCk7XHJcbiAgICAgICAgbGV0IGRhdGEgPSBjYy5meC5HYW1lQ29uZmlnLkdBTUVfREFUQTtcclxuICAgICAgICBsZXQgbWF0Y2hJZCA9IHRoaXMuZ2V0TWF0Y2hJZChsZXZlbCk7XHJcbiAgICAgICAgbGV0IHBvc3REYXRhID0ge1xyXG4gICAgICAgICAgICBcImdhbWVJZFwiOmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5nYW1lSWQsXHJcbiAgICAgICAgICAgIFwidXNlcklkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnVzZXJJZCxcclxuICAgICAgICAgICAgXCJzY29kZVwiOmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5zY29kZSxcclxuICAgICAgICAgICAgXCJtYXRjaElkXCI6bWF0Y2hJZCxcclxuICAgICAgICAgICAgXCJkYXRhXCI6IGRhdGFcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBjb25zb2xlLmxvZyhcIuS4iuS8oOaVsOaNrjpcIixwb3N0RGF0YSk7XHJcbiAgICAgICAgY2MuZnguSHR0cFV0aWwudXBsb2FkVXNlckxvZ0RhdGEocG9zdERhdGEsZnVuY3Rpb24oKXt9KVxyXG4gICAgfSxcclxuICAgIC8v5LiK5Lyg5o6S6KGM5qacICB0eXBl5Li6MVxyXG4gICAgc2V0UmFuayhkYXRhKXtcclxuICAgICAgICAvL0dBTUVfREFUQSDliJ3lp4vljJYg5q+P5qyh5riF6Zu2XHJcbiAgICAgICAgbGV0IHBvc3REYXRhID0ge1xyXG4gICAgICAgICAgICBcImdhbWVJZFwiOmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5nYW1lSWQsXHJcbiAgICAgICAgICAgIFwidXNlcklkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnVzZXJJZCxcclxuICAgICAgICAgICAgXCJ0eXBlXCI6MSxcclxuICAgICAgICAgICAgXCJyZWFjdGlvblRpbWVcIjogZGF0YSxcclxuICAgICAgICAgICAgXCJ0b3RhbFN1bkNvdW50XCI6IGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy50b3RhbCxcclxuICAgICAgICAgICAgXCJzdWNjZXNzXCI6IGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5zdWNjZXNzXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjYy5meC5IdHRwVXRpbC5yYW5rRGF0YSgxLGZ1bmN0aW9uKCl7fSxwb3N0RGF0YSk7XHJcbiAgICB9LFxyXG4gICAgLy/ojrflj5bmjpLooYzmppwgdHlwZeS4ujJcclxuICAgIGdldFJhbmsoZGF0YSxjYWxsYmFjayl7XHJcbiAgICAgICAgbGV0IHJhbmtMZW5ndGggPSBkYXRhLmxlbmd0aDtcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwiZ2FtZUlkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZCxcclxuICAgICAgICAgICAgXCJ1c2VySWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkLFxyXG4gICAgICAgICAgICBcInBhZ2VcIjoxLFxyXG4gICAgICAgICAgICBcInBhZ2VTaXplXCI6cmFua0xlbmd0aFxyXG4gICAgICAgIH07IFxyXG4gICAgICAgIC8v5Zue6LCD6L+bZ2V0UmFua0RhdGFcclxuICAgICAgICBjYy5meC5IdHRwVXRpbC5yYW5rRGF0YSgyLGRhdGEgPT57Y2FsbGJhY2soZGF0YSl9LHBvc3REYXRhKTtcclxuICAgIH0sXHJcbiAgICAvL+iOt+WPlm1hdGNoSWQgIOeUqOS6juS4iuS8oOavj+asoeeCueWHu+aVsOaNrumHjOmdouiusOW9lWlk5pa55L6/5p+l6K+iXHJcbiAgICBnZXRNYXRjaElkIChsZXZlbCl7XHJcbiAgICAgICAgbGV0IG1hdGNoSWQgPSBjYy5zeXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJtYXRjaElkXCIpO1xyXG4gICAgICAgIGxldCB0ZW1wSWQgPSBtYXRjaElkO1xyXG4gICAgICAgIGlmKG1hdGNoSWQgPT0gXCJ1bmRpZmVuZFwiIHx8IG1hdGNoSWQ9PW51bGwpe1xyXG4gICAgICAgICAgICBtYXRjaElkID0gIHRoaXMuc2V0TWF0Y2hJZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBpZih0aGlzLmNvbnRhaW5zTmFuYW5hKG1hdGNoSWQpID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgbWF0Y2hJZCA9ICB0aGlzLnNldE1hdGNoSWQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgbGV0IGNoYXIgPSBwYXJzZUludCh0ZW1wSWQuc3Vic3RyaW5nKDEwLHRlbXBJZC5sZW5ndGgpKTtcclxuICAgICAgICAgICAgICAgIGlmKGxldmVsID09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgIGNoYXIgKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICBtYXRjaElkICA9IHRlbXBJZC5zbGljZSgwLCAxMCkgKyBjaGFyICsgXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmNvbnRhaW5zTmFuYW5hKG1hdGNoSWQpKSBtYXRjaElkID0gdGhpcy5zZXRNYXRjaElkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1hdGNoSWQgPSBtYXRjaElkO1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoSWRcIixtYXRjaElkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYodGhpcy5jb250YWluc05hbmFuYShtYXRjaElkKSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgbWF0Y2hJZCA9ICB0aGlzLnNldE1hdGNoSWQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG1hdGNoSWQ7XHJcbiAgICB9LFxyXG4gICAgLy/mo4DmtYttYXRjaElkIOWmguaenOaciee8k+WtmOS7peWJjeeahG5hbmFuYeaVsOaNrua4hemZpFxyXG4gICAgY29udGFpbnNOYW5hbmEoc3RyKSB7XHJcbiAgICAgICAgcmV0dXJuIC9uYS9pLnRlc3Qoc3RyKTtcclxuICAgIH0sXHJcbiAgICAvL+mHjeaWsOiuvue9rk1hdGNoSWRcclxuICAgIHNldE1hdGNoSWQgKCl7XHJcbiAgICAgICAgLy8g5a6a5LmJ5YyF5ZCr5Y+v55So5a2X56ym55qE5a2X56ym6ZuGXHJcbiAgICAgICAgY29uc3QgY2hhcmFjdGVycyA9ICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OSc7XHJcbiAgICAgICAgLy8g5Yib5bu65LiA5Liq5pWw57uE5Lul5L+d5a2Y6ZqP5py65a2X56ymXHJcbiAgICAgICAgY29uc3QgdXVpZEFycmF5ID0gW107XHJcbiAgICAgICAgLy8g5b6q546vMTDmrKEg55Sf5oiQMTDkvY3nmoRVVUlEXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAvLyDnlJ/miJDpmo/mnLrntKLlvJXvvIzojIPlm7TmmK/lrZfnrKbpm4bnmoTplb/luqZcclxuICAgICAgICAgICAgY29uc3QgcmFuZG9tSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyYWN0ZXJzLmxlbmd0aCk7XHJcbiAgICAgICAgICAgIC8vIOS7juWtl+espumbhuS4reiOt+WPlumaj+acuuWtl+esplxyXG4gICAgICAgICAgICBjb25zdCByYW5kb21DaGFyID0gY2hhcmFjdGVycy5jaGFyQXQocmFuZG9tSW5kZXgpO1xyXG4gICAgICAgICAgICAvLyDlsIblrZfnrKbmt7vliqDliLDmlbDnu4TkuK1cclxuICAgICAgICAgICAgdXVpZEFycmF5LnB1c2gocmFuZG9tQ2hhcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBkYXRhID0gIHV1aWRBcnJheS5qb2luKCcnKSArIDEgKyBcIlwiO1xyXG4gICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoTnVtYmVyXCIsMSk7XHJcbiAgICAgICAgaWYodGhpcy5jb250YWluc05hbmFuYShkYXRhKSkgZGF0YSA9IHRoaXMuc2V0TWF0Y2hJZCgpO1xyXG4gICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoSWRcIixkYXRhKTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWF0Y2hJZCA9IGRhdGE7XHJcbiAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICB9LFxyXG4gICAgLy/miKrlj5blkI3lrZdcclxuICAgIHN1Yk5hbWUobmFtZSxsZW5ndGgpe1xyXG4gICAgICAgIGlmKG5hbWUubGVuZ3RoID4gbGVuZ3RoKXtcclxuICAgICAgICAgICAgbmFtZSA9IG5hbWUuc3Vic3RyaW5nKDAsbGVuZ3RoKSArIFwiLi4uXCJcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5hbWU7XHJcbiAgICB9LFxyXG4gICAgLy/orr7nva7lpLTlg49cclxuICAgIHNldFBpYyhub2RlLHBpYyl7XHJcbiAgICAgICAgbm9kZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICBsZXQgdXJsID0gcGljO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBmZXRjaCh1cmwpXHJcbiAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5oZWFkZXJzLmdldCgnQ29udGVudC1MZW5ndGgnKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnRoZW4oZXJyTm8gPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYoZXJyTm8gPT0gXCI1MDkzXCIpe1xyXG4gICAgICAgICAgICAgICAgICAgIG5vZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcclxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIFgtSW5mbzonLCBlcnJvcik7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sIDEwMCk7XHJcbiAgICBcclxuICAgICAgICBjYy5hc3NldE1hbmFnZXIubG9hZFJlbW90ZSh1cmwgLCB7ZXh0OicucG5nJ30sKGVyciwgdGV4dHVyZTpjYy5UZXh0dXJlMkQpID0+IHtcclxuICAgICAgICAgICAgaWYodGV4dHVyZSl7XHJcbiAgICAgICAgICAgICAgICBub2RlLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBub2RlLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gbmV3IGNjLlNwcml0ZUZyYW1lKHRleHR1cmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhlcnIsdGV4dHVyZSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICB9LFxyXG4gICAgLy/nrKzkuIDkuKrlj4LmlbDmiornm67moIfluKbov5vmnaXlpITnkIbvvIznrKzkuozkuKrlj4LmlbDkuLrlkI3lrZfplb/luqbvvIzkuI3lkIzlnLrmma/kuI3lkIzpnIDmsYJcclxuICAgIC8v5ZCN5a2XNOefre+8jOWwj+aOkuihjO+8jOWQjeWtlzbplb/vvIzlpKfmjpLooYxcclxuICAgIGdldFJhbmtEYXRhKGRhdGEsdGFyZ2V0LG5hbWVMZW5ndGgpe1xyXG4gICAgICAgIHRhcmdldC5saXN0RGF0YSA9IGRhdGEuZGF0YS5saXN0O1xyXG4gICAgICAgIHRhcmdldC5zZWxmRGF0YSA9IGRhdGEuZGF0YS5pbmZvO1xyXG4gICAgICAgIGxldCByYW5rRGF0YSA9IFtdO1xyXG4gICAgICAgIGxldCBzZWxmID0gZmFsc2U7XHJcbiAgICAgICAgIGNjLmZ4LkdhbWVUb29sLnNldFBpYyh0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLHRhcmdldC5zZWxmRGF0YS5waWMpO1xyXG4gICAgICAgIGZvcihsZXQgaT0wO2k8PXRhcmdldC5saXN0RGF0YS5sZW5ndGgtMTtpKyspe1xyXG4gICAgICAgICAgICByYW5rRGF0YS5wdXNoKHtyYW5rOihpKzEpLCBuYW1lOnRhcmdldC5saXN0RGF0YVtpXS5uaWNrTmFtZSwgdG90YWw6dGFyZ2V0Lmxpc3REYXRhW2ldLnRvdGFsU3VuQ291bnQsIHBpYzp0YXJnZXQubGlzdERhdGFbaV0ucGljfSk7XHJcbiAgICAgICAgICAgIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy51c2VySWQgPT0gdGFyZ2V0Lmxpc3REYXRhW2ldLnVzZXJJZCl7XHJcbiAgICAgICAgICAgICAgICBzZWxmID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5yYW5rTnVtYmVyID0gaTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPShpKzEpICsgXCJcIjsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYoaSA9PSAodGFyZ2V0Lmxpc3REYXRhLmxlbmd0aC0xKSAmJiBzZWxmID09IGZhbHNlKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5yYW5rTnVtYmVyID0gaTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSBcIjk5K1wiOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgbmFtZSA9IGNjLmZ4LkdhbWVUb29sLnN1Yk5hbWUodGFyZ2V0LnNlbGZEYXRhLm5pY2tOYW1lLG5hbWVMZW5ndGgpO1xyXG4gICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcIm5hbWVMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSBuYW1lO1xyXG4gICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInRvdGFsTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGFyZ2V0LnNlbGZEYXRhLnRvdGFsU3VuQ291bnQ7XHJcbiAgICAgICAgc3dpdGNoKHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcpe1xyXG4gICAgICAgICAgICBjYXNlIFwiMVwiOlxyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcIm9uZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCIyXCI6XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidHdvXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcIjNcIjpcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ0aHJlZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyDlpKfmjpLooYxcclxuICAgICAgICBpZihuYW1lTGVuZ3RoID09IDYpe1xyXG4gICAgICAgICAgICB0YXJnZXQucmFua0xpc3Quc2V0RGF0YShyYW5rRGF0YSk7XHJcbiAgICAgICAgICAgIHRhcmdldC5zZWxmTm9kZS5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICBpZih0YXJnZXQuc2VsZkRhdGEudG90YWxTdW5Db3VudCA9PSAwKSB0YXJnZXQuc2VsZk5vZGUub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBnZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZzogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGxldCBzaXplID0gY2Mud2luU2l6ZTtcclxuICAgICAgICBsZXQgd2lkdGggPSBzaXplLndpZHRoO1xyXG4gICAgICAgIGxldCBoZWlnaHQgPSBzaXplLmhlaWdodDtcclxuICAgICAgICBpZiAoKGhlaWdodCAvIHdpZHRoKSA+ICgxNi4yIC8gOSkpIHJldHVybiBmYWxzZTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0sXHJcbiAgICAvL+WIpOaWreWFqOmdouWxj+mAgumFjVxyXG4gICAgc2V0Rml0OiBmdW5jdGlvbiAoY2FudmFzKSB7XHJcbiAgICAgICAgbGV0IGZsYWcgPSAgY2MuZnguR2FtZVRvb2wuZ2V0U2V0U2NyZWVuUmVzb2x1dGlvbkZsYWcoKTtcclxuICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgIFx0Ly8gY29uc29sZS5sb2coXCLkuI3mmK/lhajpnaLlsY9cIik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICBcdC8vIGNvbnNvbGUubG9nKFwi5piv5YWo6Z2i5bGPXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmxhZztcclxuICAgIH0sXHJcbiAgICAvL+iOt+WPlua4uOaIj+S/oeaBr1xyXG4gICAgZ2V0R2FtZUluZm86IGZ1bmN0aW9uKG5vZGUpe1xyXG4gICAgICAgIHZhciBqZyA9IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiBqZztcclxuICAgIH0sXHJcbiAgICAvL+iuvue9rua4uOaIj+S/oeaBr1xyXG4gICAgc2V0R2FtZUluZm86IGZ1bmN0aW9uKHBkKXtcclxuICAgXHJcbiAgICB9LFxyXG4gICAgLy/ovpPlhaXnp5Is6L+U5Zue6ZyA6KaB5bGV56S65pe26Ze05qC85byPXHJcbiAgICBnZXRUaW1lTWFyZ2luOihzZWNvbmQpID0+IHtcclxuICAgICAgICBsZXQgdG90YWwgPSAwO1xyXG4gICAgICAgIHRvdGFsID0gc2Vjb25kO1xyXG4gICAgICAgIGxldCBob3VyID0gMDtcclxuICAgICAgICBob3VyID0gcGFyc2VJbnQoKHRvdGFsIC8gMzYwMCkgKyBcIlwiKTsvL+iuoeeul+aVtOaVsOWwj+aXtuaVsFxyXG4gICAgICAgIGxldCBhZnRlckhvdXIgPSB0b3RhbCAtIGhvdXIgKiA2MCAqIDYwOy8v5Y+W5b6X566X5Ye65bCP5pe25pWw5ZCO5Ymp5L2Z55qE56eS5pWwXHJcbiAgICAgICAgbGV0IG1pbiA9IHBhcnNlSW50KChhZnRlckhvdXIgLyA2MCkrXCJcIik7Ly/orqHnrpfmlbTmlbDliIZcclxuICAgICAgICBsZXQgbSA9IFwiXCIgKyBtaW47ICBcclxuICAgICAgICBpZihtaW4gPCAxMCkgbSA9IFwiMFwiK21pbjtcclxuICAgICAgICBsZXQgYWZ0ZXJNaW4gPSB0b3RhbCAtIGhvdXIgKiA2MCAqIDYwIC0gbWluICogNjA7Ly/lj5blvpfnrpflh7rliIblkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWlhbyA9IGFmdGVyTWluICsgXCJcIjtcclxuICAgICAgICBpZihhZnRlck1pbiA8IDEwKSBtaWFvID0gXCIwXCIgKyBhZnRlck1pbjtcclxuICAgICAgICByZXR1cm4gbSArICc6JyArIG1pYW9cclxuICAgIH0sXHJcblxyXG4gICAgLy/ojrflj5bml7bpl7TmiLNcclxuICAgIGdldFRpbWUoKXtcclxuICAgICAgICBjb25zdCB0aW1lc3RhbXAgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgICAgICByZXR1cm4gdGltZXN0YW1wO1xyXG4gICAgfSxcclxuICAgIHB1c2hMaXN0ZXI6ZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIFxyXG4gICAgfSxcclxuICAgIHJlbW92ZUFsbExpc3RlcjpmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgXHJcbiAgICB9LFxyXG5cclxufTtcclxuZXhwb3J0IHsgR2FtZVRvb2wgfTsiXX0= +//------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/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() { @@ -6363,649 +7036,4 @@ 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/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 cbf2892..3551880 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/RankManager":1,"./assets/Script/Load":2,"./assets/Script/GuideManager":3,"./assets/migration/use_v2.1-2.2.1_cc.Toggle_event":4,"./assets/Script/Sun":5,"./assets/Script/GameOver":6,"./assets/Script/GameManager":7,"./assets/Script/DynamicAtlasManager":8,"./assets/Script/module/Crypto/HttpUtil":9,"./assets/Script/module/RankList/ItemRender":10,"./assets/Script/module/Notification/Notification":11,"./assets/Script/module/Music/AudioManager":12,"./assets/Script/module/Config/GameConfig":13,"./assets/Script/module/Storage/Storage":14,"./assets/Script/module/GameStart/GameAppStart":15,"./assets/Script/module/Share/share":16,"./assets/Script/module/Tool/GameTool":17,"./assets/Script/module/Crypto/crypto-js.min":18,"./assets/Script/module/RankList/List":19},"path":"preview-scripts/__qc_index__.js"},{"deps":{"./module/RankList/List":19},"path":"preview-scripts/assets/Script/RankManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/Load.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/Sun.js"},{"deps":{},"path":"preview-scripts/assets/Script/GameOver.js"},{"deps":{},"path":"preview-scripts/assets/Script/GameManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/DynamicAtlasManager.js"},{"deps":{"./crypto-js.min.js":18},"path":"preview-scripts/assets/Script/module/Crypto/HttpUtil.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/RankList/ItemRender.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Notification/Notification.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Music/AudioManager.js"},{"deps":{"../Share/share":16},"path":"preview-scripts/assets/Script/module/Config/GameConfig.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Storage/Storage.js"},{"deps":{"../Config/GameConfig":13,"../Crypto/HttpUtil":9,"../Music/AudioManager":12,"../Notification/Notification":11,"../Storage/Storage":14,"../Tool/GameTool":17},"path":"preview-scripts/assets/Script/module/GameStart/GameAppStart.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Share/share.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Tool/GameTool.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Crypto/crypto-js.min.js"},{"deps":{"./ItemRender":10},"path":"preview-scripts/assets/Script/module/RankList/List.js"}]; +var scripts = [{"deps":{"./assets/Script/GameOver":1,"./assets/Script/GuideManager":3,"./assets/Script/Load":4,"./assets/Script/RankManager":6,"./assets/Script/Sun":7,"./assets/Script/DynamicAtlasManager":5,"./assets/migration/use_v2.1-2.2.1_cc.Toggle_event":2,"./assets/Script/module/Crypto/crypto-js.min":19,"./assets/Script/module/Crypto/HttpUtil":9,"./assets/Script/module/GameStart/GameAppStart":12,"./assets/Script/module/Music/AudioManager":11,"./assets/Script/module/Notification/Notification":14,"./assets/Script/module/RankList/List":18,"./assets/Script/module/RankList/ItemRender":13,"./assets/Script/module/Share/share":10,"./assets/Script/module/Storage/Storage":17,"./assets/Script/module/Tool/GameTool":16,"./assets/Script/module/Config/GameConfig":15,"./assets/Script/GameManager":8},"path":"preview-scripts/__qc_index__.js"},{"deps":{},"path":"preview-scripts/assets/Script/GameOver.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/Load.js"},{"deps":{},"path":"preview-scripts/assets/Script/DynamicAtlasManager.js"},{"deps":{"./module/RankList/List":18},"path":"preview-scripts/assets/Script/RankManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/Sun.js"},{"deps":{},"path":"preview-scripts/assets/Script/GameManager.js"},{"deps":{"./crypto-js.min.js":19},"path":"preview-scripts/assets/Script/module/Crypto/HttpUtil.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Share/share.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Music/AudioManager.js"},{"deps":{"../Config/GameConfig":15,"../Crypto/HttpUtil":9,"../Music/AudioManager":11,"../Notification/Notification":14,"../Storage/Storage":17,"../Tool/GameTool":16},"path":"preview-scripts/assets/Script/module/GameStart/GameAppStart.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/RankList/ItemRender.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Notification/Notification.js"},{"deps":{"../Share/share":10},"path":"preview-scripts/assets/Script/module/Config/GameConfig.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Tool/GameTool.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Storage/Storage.js"},{"deps":{"./ItemRender":13},"path":"preview-scripts/assets/Script/module/RankList/List.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Crypto/crypto-js.min.js"}]; var entries = ["preview-scripts/__qc_index__.js"]; var bundleScript = 'preview-scripts/__qc_bundle__.js'; diff --git a/temp/quick-scripts/dst/assets/Script/GameManager.js b/temp/quick-scripts/dst/assets/Script/GameManager.js index 964b3a2..841060f 100644 --- a/temp/quick-scripts/dst/assets/Script/GameManager.js +++ b/temp/quick-scripts/dst/assets/Script/GameManager.js @@ -245,6 +245,7 @@ var GameManager = /** @class */ (function (_super) { this.ball_Array[k].removeFromParent(); this.ball_Array[k] = null; } + cc.fx.GameConfig.GM_INFO.gap = []; }; //点击太阳执行方法 GameManager.prototype.clickSun = function (data) { @@ -254,12 +255,13 @@ var GameManager = /** @class */ (function (_super) { var clickTime = cc.fx.GameTool.getTime(); this.time_Array.push((clickTime - this.timeStart)); this.timeStart = cc.fx.GameTool.getTime(); - if (data == this.clickNow) { + if (data.id == this.clickNow) { cc.fx.AudioManager._instance.playAudioButton(); if (this.clickNow > 0) { 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), 0.2); } this.clickNow += 1; + cc.fx.GameConfig.GM_INFO.gap.push(data.distance); if (this.ball_Array[this.clickNow - 1]) this.ball_Array[this.clickNow - 1].getChildByName("guang").active = false; if (this.clickNow == this.now_Array.length) { @@ -314,7 +316,8 @@ var GameManager = /** @class */ (function (_super) { difficultyLevel: this.level, sunList: sunArray, stepTimeList: this.time_Array, - remainder: this.countTime + remainder: this.countTime, + gap: cc.fx.GameConfig.GM_INFO.gap }; if (cc.fx.GameConfig.CLICK_DATA.duration > 50) { cc.fx.GameConfig.CLICK_DATA.duration = 50; @@ -348,12 +351,12 @@ var GameManager = /** @class */ (function (_super) { } } else { - this.setLoss(); + this.setLoss(data); } } }; //执行失败 - GameManager.prototype.setLoss = function () { + GameManager.prototype.setLoss = function (data) { cc.fx.AudioManager._instance.playWarning(); this.begin = false; this.overTime = cc.fx.GameTool.getTime(); @@ -389,6 +392,7 @@ var GameManager = /** @class */ (function (_super) { sunArray.push(0); } } + cc.fx.GameConfig.GM_INFO.gap.push(data.distance); cc.fx.GameConfig.CLICK_DATA = { type: 1, @@ -403,7 +407,8 @@ var GameManager = /** @class */ (function (_super) { difficultyLevel: this.level, sunList: sunArray, stepTimeList: this.time_Array, - remainder: this.countTime + remainder: this.countTime, + gap: cc.fx.GameConfig.GM_INFO.gap }; if (cc.fx.GameConfig.CLICK_DATA.duration > 50) { cc.fx.GameConfig.CLICK_DATA.duration = 50; @@ -938,7 +943,7 @@ var GameManager = /** @class */ (function (_super) { this.begin = false; this.over = true; this.unschedule(this.updateCountDownTime); - this.setLoss(); + this.setLoss({ distance: 0 }); var time = 0; if (this.clickCount > 0) time = parseInt(cc.fx.GameConfig.GM_INFO.mean_Time / this.clickCount + ""); @@ -1025,4 +1030,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxTQUFTO0FBQ0gsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFFMUM7SUFBeUMsK0JBQVk7SUFBckQ7UUFBQSxxRUE0NUJDO1FBMTVCRyxVQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJCLFVBQUksR0FBYyxJQUFJLENBQUM7UUFFdkIsVUFBSSxHQUFjLElBQUksQ0FBQztRQUV2QixVQUFJLEdBQWMsSUFBSSxDQUFDO1FBRXZCLGdCQUFVLEdBQWMsSUFBSSxDQUFDO1FBRTdCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFDcEIsU0FBRyxHQUFZLElBQUksQ0FBQztRQUNwQixTQUFHLEdBQVksSUFBSSxDQUFDO1FBQ3BCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFDdEIsV0FBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixXQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLFVBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIsVUFBSSxHQUFZLEtBQUssQ0FBQztRQW9CdEIsZ0JBQVUsR0FBYSxJQUFJLENBQUM7O0lBcTNCaEMsQ0FBQztJQTkyQkcsNEJBQU0sR0FBTixjQUFXLENBQUM7SUFDWiwyQkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPO0lBQ1AsMEJBQUksR0FBSjtRQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNuRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBQztZQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDN0MsNENBQTRDO1lBQzVDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1NBQzdCO1FBQ0QsNENBQTRDO1FBQzVDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2hDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBQ0QsaUJBQWlCO0lBQ2pCLHlCQUFHLEdBQUg7UUFDSSxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFFLEtBQUs7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU07UUFDMUIsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLElBQUcsQ0FBQyxFQUFFLEVBQUM7WUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztZQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQUNELE9BQU87SUFDUCxnREFBMEIsR0FBMUI7UUFDSSxJQUFJLElBQUksR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO1FBQ3RCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdkIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2hELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxTQUFTO0lBQ1QsNEJBQU0sR0FBTjtRQUNJLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQzdDLElBQUksSUFBSSxFQUFFO1NBQ1Q7YUFBTTtTQUNOO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELE1BQU07SUFDTiwrQkFBUyxHQUFUO1FBQ0ksRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUNELDhCQUE4QjtJQUM5Qiw2QkFBTyxHQUFQLFVBQVEsSUFBSTtRQUNSLDRDQUE0QztRQUM1QywwQ0FBMEM7UUFDMUMsY0FBYztRQUNkLElBQUk7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ25ELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBRyxJQUFJLElBQUksQ0FBQyxFQUFDO1lBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsQjthQUNJLElBQUcsSUFBSSxJQUFJLENBQUMsRUFBQztZQUNkLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNwQjthQUNJLElBQUcsSUFBSSxJQUFJLENBQUMsRUFBQztZQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQjtJQUVMLENBQUM7SUFDRCxPQUFPO0lBQ1AsNkJBQU8sR0FBUDtRQUNJLElBQU0sU0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdkMsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUk7SUFDSiwrQkFBUyxHQUFUO1FBQUEsaUJBZ0NDO1FBL0JHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFHLElBQUksQ0FBQyxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxFQUFDO1lBQ3pDLElBQUksV0FBUyxHQUFHLEVBQUUsQ0FBQztZQUNuQixJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7WUFDbEIsSUFBSSxNQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QixLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUM7Z0JBQ3hDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDdkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztnQkFDckQsV0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN4QjtvQ0FDTyxDQUFDO2dCQUNMLFVBQVUsQ0FBQztvQkFDUCxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQUksQ0FBQzt5QkFDYixFQUFFLENBQUMsV0FBUyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxLQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsS0FBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQzt5QkFDbEUsSUFBSSxDQUFDO3dCQUNGLEtBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQzt3QkFDbEMsSUFBRyxDQUFDLElBQUksS0FBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFDOzRCQUM3QixVQUFVLENBQUM7Z0NBQ1AsS0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO2dDQUN4QixLQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQUksQ0FBQyxDQUFDLEVBQUMsTUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztnQ0FDNUMsTUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7Z0NBQ3BCLEtBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQ0FDaEIsS0FBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDcEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO3lCQUNYO29CQUNMLENBQUMsQ0FBQzt5QkFDRCxLQUFLLEVBQUUsQ0FBQztnQkFDYixDQUFDLEVBQUUsU0FBUyxHQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNuQixTQUFTLElBQUksQ0FBQyxXQUFTLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFDLEdBQUcsQ0FBQyxDQUFDOztZQWxCdEMsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRTt3QkFBbkMsQ0FBQzthQW1CUjtTQUNKO0lBQ0wsQ0FBQztJQUNELElBQUk7SUFDSiwrQkFBUyxHQUFULFVBQVUsSUFBSTtRQUFkLGlCQW1CQztRQWxCRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBRyxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsRUFBQztZQUN6QyxJQUFJLE1BQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO29DQUN0QixDQUFDO2dCQUNMLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQzNCLEVBQUUsQ0FBQyxDQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsTUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsTUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDO3FCQUN6QixJQUFJLENBQUM7b0JBQ0YsS0FBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO29CQUNsQyxJQUFHLENBQUMsSUFBSSxLQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUM7d0JBQzdCLEtBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQzt3QkFDeEIsS0FBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFJLENBQUMsQ0FBQyxFQUFDLE1BQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQzVDLEtBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzt3QkFDaEIsS0FBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDdEI7Z0JBQ0wsQ0FBQyxDQUFDO3FCQUNELEtBQUssRUFBRSxDQUFBOzs7WUFaWixLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFO3dCQUFuQyxDQUFDO2FBYVI7U0FDSjtJQUNMLENBQUM7SUFDRCxNQUFNO0lBQ04sOEJBQVEsR0FBUjtRQUNJLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBQztZQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7U0FDN0I7SUFDTCxDQUFDO0lBQ0QsVUFBVTtJQUNWLDhCQUFRLEdBQVIsVUFBUyxJQUFJO1FBQWIsaUJBcUdDO1FBcEdHLElBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUM7WUFDbEIsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUM7WUFDckIsSUFBSSxTQUFTLEdBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7WUFDbEQsSUFBSSxDQUFDLFNBQVMsR0FBSSxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMzQyxJQUFHLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFDO2dCQUNyQixFQUFFLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQy9DLElBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUM7b0JBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDNUYsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3hFLEdBQUcsQ0FBQyxDQUFDO2lCQUNSO2dCQUNELElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDO2dCQUNuQixJQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBQyxDQUFDLENBQUM7b0JBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztnQkFDNUUsSUFBRyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFDO29CQUN0QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztvQkFDbEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDO29CQUNoRCxJQUFJLENBQUMsUUFBUSxHQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUMxQyxJQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFDO3dCQUN2QyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7cUJBQzFFO29CQUNELElBQUksV0FBVyxHQUFHLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFDLEdBQUcsR0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDcEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7b0JBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7b0JBQ3RDLElBQUksS0FBSyxHQUFHLEdBQUcsQ0FBQztvQkFDaEIsSUFBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7d0JBQUMsS0FBSyxHQUFHLElBQUksQ0FBQzt5QkFDNUMsSUFBRyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUM7d0JBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQztvQkFDdkMsSUFBSSxLQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQzFDLEtBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO29CQUFDLEtBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ25DLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDdkMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7b0JBQ2hCLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQztvQkFDbEIsSUFBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUM7d0JBQ3pCLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFHLENBQUMsR0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQzs0QkFDdEMsSUFBRyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBQztnQ0FDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7NkJBQ3pCOzRCQUNELFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3lCQUNwQztxQkFDSjt5QkFDRzt3QkFDQSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRyxDQUFDLEdBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7NEJBQ3ZDLElBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUM7Z0NBQzFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7NkJBQ3BCOztnQ0FFRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO3lCQUN4QjtxQkFDSjtvQkFDRCxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVO3dCQUN2Qjs0QkFDSSxJQUFJLEVBQUMsQ0FBQzs0QkFDTixPQUFPLEVBQUMsSUFBSTs0QkFDWixLQUFLLEVBQUMsSUFBSSxDQUFDLEtBQUs7NEJBQ2hCLGFBQWEsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU07NEJBQ25DLGFBQWEsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVOzRCQUNsRSxRQUFRLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUzs0QkFDNUQsZUFBZSxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07NEJBQ2hFLFNBQVMsRUFBQyxJQUFJLENBQUMsV0FBVzs0QkFDMUIsUUFBUSxFQUFDLFdBQVcsR0FBQyxFQUFFOzRCQUN2QixlQUFlLEVBQUMsSUFBSSxDQUFDLEtBQUs7NEJBQzFCLE9BQU8sRUFBQyxRQUFROzRCQUNoQixZQUFZLEVBQUMsSUFBSSxDQUFDLFVBQVU7NEJBQzVCLFNBQVMsRUFBQyxJQUFJLENBQUMsU0FBUzt5QkFDM0IsQ0FBQTtvQkFDTCxJQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEdBQUcsRUFBRSxFQUFDO3dCQUN6QyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztxQkFDN0M7b0JBQ0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNmLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBRyxDQUFDO3lCQUNaLEtBQUssQ0FBQyxHQUFHLENBQUM7eUJBQ1YsRUFBRSxDQUFDLElBQUksRUFBQyxFQUFDLEtBQUssRUFBQyxHQUFHLEVBQUMsQ0FBQzt5QkFDcEIsRUFBRSxDQUFDLElBQUksRUFBQyxFQUFDLEtBQUssRUFBQyxDQUFDLEVBQUMsQ0FBQzt5QkFDbEIsS0FBSyxDQUFDLEdBQUcsQ0FBQzt5QkFDVixJQUFJLENBQUM7d0JBQ0YsS0FBRyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7d0JBQ25CLEtBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzt3QkFDbkIsSUFBRyxLQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssSUFBSSxLQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsRUFBQzs0QkFDekMsSUFBRyxLQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBQztnQ0FDaEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0NBQ3hDLEtBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO2dDQUNoQiw0Q0FBNEM7Z0NBQzVDLEtBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO2dDQUNsQixLQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7NkJBQ3BCO2lDQUNHO2dDQUNBLEtBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO2dDQUNoQiw0Q0FBNEM7Z0NBQzVDLEtBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO2dDQUNsQixLQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7NkJBQ3BCO3lCQUNKO29CQUNMLENBQUMsQ0FBQzt5QkFDRCxLQUFLLEVBQUUsQ0FBQztpQkFDWjthQUNKO2lCQUNHO2dCQUNBLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUNsQjtTQUNKO0lBQ0wsQ0FBQztJQUNELE1BQU07SUFDTiw2QkFBTyxHQUFQO1FBQ0ksRUFBRSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDMUMsSUFBRyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBQztZQUN2QyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDMUU7UUFDRCxJQUFJLFdBQVcsR0FBRyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBQyxHQUFHLEdBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEUsSUFBRyxXQUFXLEdBQUcsRUFBRTtZQUFFLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFBQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUN0QyxJQUFJLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDaEIsSUFBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7WUFBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO2FBQzVDLElBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDO1lBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUN2QyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNoQixJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUM7WUFDekIsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUcsQ0FBQyxHQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO2dCQUN0QyxJQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFDO29CQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDekI7Z0JBQ0QsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDcEM7U0FDSjthQUNHO1lBQ0EsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUcsQ0FBQyxHQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO2dCQUN2QyxJQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFDO29CQUMxQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNwQjs7b0JBRUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN4QjtTQUNKO1FBQ0QsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVTtZQUMzQjtnQkFDSSxJQUFJLEVBQUMsQ0FBQztnQkFDTixPQUFPLEVBQUMsS0FBSztnQkFDYixLQUFLLEVBQUMsSUFBSSxDQUFDLEtBQUs7Z0JBQ2hCLGFBQWEsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU07Z0JBQ25DLGFBQWEsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVO2dCQUNsRSxRQUFRLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztnQkFDNUQsZUFBZSxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07Z0JBQ2hFLFNBQVMsRUFBQyxJQUFJLENBQUMsV0FBVztnQkFDMUIsUUFBUSxFQUFDLFdBQVcsR0FBQyxFQUFFO2dCQUN2QixlQUFlLEVBQUMsSUFBSSxDQUFDLEtBQUs7Z0JBQzFCLE9BQU8sRUFBQyxRQUFRO2dCQUNoQixZQUFZLEVBQUMsSUFBSSxDQUFDLFVBQVU7Z0JBQzVCLFNBQVMsRUFBQyxJQUFJLENBQUMsU0FBUzthQUMzQixDQUFBO1FBQ0QsSUFBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxHQUFHLEVBQUUsRUFBQztZQUN6QyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztTQUM3QztRQUNELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNmLElBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUM7WUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyQjthQUNHO1lBQ0EsSUFBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBQztnQkFDZCxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztnQkFDaEIsNENBQTRDO2dCQUM1QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztnQkFDbEIsc0JBQXNCO2dCQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3JCO2lCQUNHO2dCQUNBLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDckI7U0FDSjtRQUNELElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2FBQ2IsRUFBRSxDQUFDLElBQUksRUFBQyxFQUFDLE9BQU8sRUFBQyxHQUFHLEVBQUMsQ0FBQzthQUN0QixLQUFLLENBQUMsR0FBRyxDQUFDO2FBQ1YsRUFBRSxDQUFDLEdBQUcsRUFBQyxFQUFDLE9BQU8sRUFBQyxDQUFDLEVBQUMsQ0FBQzthQUNuQixLQUFLLENBQUMsR0FBRyxDQUFDO2FBQ1YsRUFBRSxDQUFDLElBQUksRUFBQyxFQUFDLE9BQU8sRUFBQyxHQUFHLEVBQUMsQ0FBQzthQUN0QixLQUFLLENBQUMsR0FBRyxDQUFDO2FBQ1YsRUFBRSxDQUFDLEdBQUcsRUFBQyxFQUFDLE9BQU8sRUFBQyxDQUFDLEVBQUMsQ0FBQzthQUNuQixLQUFLLEVBQUUsQ0FBQztJQUNiLENBQUM7SUFDRCxNQUFNO0lBQ04sK0JBQVMsR0FBVDtRQUNJLElBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUM7WUFDeEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztpQkFDbEIsRUFBRSxDQUFDLEdBQUcsRUFBQyxFQUFDLE9BQU8sRUFBQyxHQUFHLEVBQUMsS0FBSyxFQUFDLEdBQUcsRUFBQyxDQUFDO2lCQUMvQixLQUFLLEVBQUUsQ0FBQztTQUNaO0lBQ0wsQ0FBQztJQUNELG1CQUFtQjtJQUNuQiw2QkFBTyxHQUFQO1FBQUEsaUJBdUNDO1FBdENHLElBQUksSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDO2dDQUNSLENBQUM7WUFDTCxJQUFJLEdBQUcsT0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDMUMsVUFBVSxDQUFDO2dCQUNQLElBQUcsS0FBSSxDQUFDLElBQUksSUFBSSxLQUFLLEVBQUM7b0JBQ2xCLElBQUksSUFBSSxHQUFHLEtBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO29CQUN2QyxJQUFHLElBQUksR0FBRyxHQUFHO3dCQUFFLElBQUksR0FBRyxHQUFHLENBQUM7b0JBQzFCLElBQUcsQ0FBQyxJQUFJLENBQUMsRUFBQzt3QkFDTixJQUFHLEtBQUksQ0FBQyxJQUFJLElBQUksS0FBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBQzs0QkFDOUIsS0FBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxLQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUM3RixLQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBQyxJQUFJLENBQUMsQ0FBQzt5QkFDaEM7cUJBQ0o7b0JBRUQsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDO3lCQUNsQixFQUFFLENBQUMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUMsSUFBSSxFQUFDLEVBQUMsQ0FBQyxFQUFDLEtBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxLQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO3lCQUM3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QUFDO1lBQUUsVUFBVSxHQUFHLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsUUFBUTtRQUNSLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsR0FBQyxTQUFTLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO1lBQ2hDLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLEdBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakksSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFDLFNBQVMsQ0FBQztZQUMvRyxJQUFJLEdBQUcsRUFBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBQyxTQUFTLENBQUMsU0FBUyxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQztZQUM5SSxJQUFHLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFDO2dCQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQzthQUN0QjtpQkFDSSxJQUFHLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxFQUFDO2dCQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQzthQUN0QjtZQUNELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdCO1FBQ0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFDRCxpQ0FBaUM7SUFDakMsNEJBQU0sR0FBTixVQUFPLElBQUksRUFBQyxHQUFHO1FBQ1gsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDbkMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNqRSxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztZQUN6QixLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7Z0JBQ3JDLElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDO2dCQUNmLElBQUcsQ0FBQyxJQUFJLEdBQUc7b0JBQUUsRUFBRSxHQUFHLElBQUksQ0FBQztnQkFDdkIsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsQ0FBQTtnQkFDakYsSUFBRyxRQUFRLElBQUksS0FBSyxFQUFDO29CQUNqQixDQUFDLEdBQUcsS0FBSyxDQUFDO29CQUNWLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBQyxHQUFHLENBQUMsQ0FBQztpQkFDakM7Z0JBQ0QsSUFBRyxRQUFRLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxFQUFDO29CQUNsRCxDQUFDLEdBQUcsS0FBSyxDQUFDO2lCQUNiO2FBQ0w7U0FDSDtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCwrQkFBK0I7SUFDL0IsNkJBQU8sR0FBUCxVQUFRLElBQUksRUFBQyxHQUFHO1FBQ1osSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDbkMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNqRSxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztZQUN6QixLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7Z0JBQ3JDLElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDO2dCQUNmLElBQUcsQ0FBQyxJQUFJLEdBQUc7b0JBQUUsRUFBRSxHQUFHLElBQUksQ0FBQztnQkFDdkIsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsQ0FBQTtnQkFDbEYsSUFBRyxRQUFRLElBQUksS0FBSyxFQUFDO29CQUNqQixDQUFDLEdBQUcsS0FBSyxDQUFDO29CQUNWLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBQyxHQUFHLENBQUMsQ0FBQztpQkFDbEM7Z0JBQ0QsSUFBRyxRQUFRLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxFQUFDO29CQUNsRCxDQUFDLEdBQUcsS0FBSyxDQUFDO2lCQUNiO2FBQ0w7U0FDSDtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxnQ0FBZ0M7SUFDaEMsaUNBQVcsR0FBWCxVQUFZLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBQyxHQUFHO1FBQzFCLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQztRQUNmLElBQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLElBQUcsUUFBUSxHQUFHLEdBQUcsRUFBQztZQUNkLElBQUcsR0FBRyxJQUFJLElBQUksRUFBQztnQkFDWCxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQTtnQkFDaEIsSUFBRyxRQUFRLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFDO29CQUM1RCxFQUFFLEdBQUcsSUFBSSxDQUFDO2lCQUNiOztvQkFDSSxFQUFFLEdBQUcsS0FBSyxDQUFDO2FBQ25CO2lCQUNHO2dCQUNBLElBQUcsUUFBUSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBQztvQkFDNUQsRUFBRSxHQUFHLElBQUksQ0FBQztpQkFDYjs7b0JBQ0ksRUFBRSxHQUFHLEtBQUssQ0FBQzthQUNuQjtTQUNKO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBQ0QsTUFBTTtJQUNOLCtCQUFTLEdBQVQsVUFBVSxJQUFJO1FBQWQsaUJBYUM7UUFaRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUE7UUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQzthQUNqQixFQUFFLENBQUMsQ0FBQyxFQUFDLEVBQUMsT0FBTyxFQUFDLEdBQUcsRUFBQyxDQUFDO2FBQ25CLEVBQUUsQ0FBQyxHQUFHLEVBQUMsRUFBQyxRQUFRLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7YUFDdkQsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLEVBQUUsQ0FBQyxHQUFHLEVBQUMsRUFBQyxPQUFPLEVBQUMsQ0FBQyxFQUFDLENBQUM7YUFDbkIsSUFBSSxDQUFDO1lBQ0YsS0FBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQzVCLENBQUMsQ0FBQzthQUNELEtBQUssRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQUNELE1BQU07SUFDTixnQ0FBVSxHQUFWLFVBQVcsTUFBTSxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsTUFBTTtRQUNoQyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7UUFDaEIsSUFBRyxLQUFLLElBQUksQ0FBQztZQUFDLElBQUksR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMxQyxJQUFHLEtBQUssSUFBSSxDQUFDO1lBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQy9DLElBQUcsS0FBSyxJQUFJLENBQUM7WUFBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUM3QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsTUFBTSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUNELE1BQU07SUFDTixpQ0FBVyxHQUFYO1FBQ0ksS0FBSSxJQUFJLENBQUMsR0FBRSxDQUFDLEVBQUUsQ0FBQyxHQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7WUFDbEUsSUFBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUM7Z0JBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUNoRSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO2FBQ3ZEO1NBQ0o7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFDRCxNQUFNO0lBQ04sZ0NBQVUsR0FBVixVQUFXLEtBQUssRUFBQyxHQUFHLEVBQUMsSUFBSTtRQUNyQixJQUFJLElBQUksR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEMsSUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzNCLElBQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMzQixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9ELEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDckMsRUFBRSxDQUFDLElBQUksRUFBQyxFQUFDLFNBQVMsRUFBQyxDQUFDLEVBQUMsQ0FBQzthQUN0QixLQUFLLEVBQUUsQ0FBQztJQUNiLENBQUM7SUFDRCxvQkFBb0I7SUFDcEIsb0NBQWMsR0FBZCxVQUFlLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7UUFDekIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUMsRUFBRSxFQUFDLEVBQUUsR0FBQyxFQUFFLENBQUMsR0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDdkQsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUNsQixDQUFDO0lBQ0Qsa0JBQWtCO0lBQ2xCLHVDQUFpQixHQUFqQixVQUFrQixFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRztRQUNqQyxJQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsRUFBRSxHQUFHLEVBQUUsR0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QyxJQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUM7WUFDUixJQUFHLFFBQVEsR0FBRyxHQUFHO2dCQUFFLFFBQVEsR0FBRyxHQUFHLENBQUM7WUFDbEMsSUFBSSxHQUFHLFFBQVEsR0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1NBQzdCO2FBQ0ksSUFBRyxHQUFHLElBQUksQ0FBQyxFQUFDO1lBQ2IsSUFBRyxRQUFRLEdBQUcsSUFBSTtnQkFBRSxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3BDLElBQUksR0FBRyxRQUFRLEdBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztTQUM1QjthQUNJLElBQUcsR0FBRyxJQUFJLENBQUMsRUFBQztZQUNiLElBQUcsUUFBUSxHQUFHLElBQUk7Z0JBQUUsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNwQyxJQUFJLEdBQUcsUUFBUSxHQUFDLElBQUksR0FBRyxHQUFHLENBQUM7U0FDOUI7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0Qsa0JBQWtCO0lBQ2xCLGtDQUFZLEdBQVosVUFBYSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUMsR0FBRztRQUMzQixJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDZixJQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsRUFBRSxHQUFHLEVBQUUsR0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QyxJQUFHLFFBQVEsR0FBRyxHQUFHLEVBQUM7WUFDZCxJQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUM7Z0JBQ1gsSUFBRyxRQUFRLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVztvQkFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDOztvQkFDMUUsRUFBRSxHQUFHLEtBQUssQ0FBQzthQUNuQjtpQkFDRztnQkFDQSxFQUFFLEdBQUcsSUFBSSxDQUFDO2FBQ2I7U0FDSjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUNELE1BQU07SUFDTiw0QkFBTSxHQUFOLFVBQU8sSUFBSTtRQUFYLGlCQWdCQztRQWZHLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ3JDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ25DLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLE1BQU0sR0FBQyxJQUFJLENBQUM7UUFDbEMsSUFBSSxLQUFLLEdBQUcsR0FBRyxHQUFDLENBQUMsTUFBTSxHQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNsQixFQUFFLENBQUMsR0FBRyxFQUFDLEVBQUMsS0FBSyxFQUFDLEdBQUcsRUFBQyxDQUFDO2FBQ25CLEVBQUUsQ0FBQyxLQUFLLEVBQUMsRUFBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLENBQUM7YUFDbEIsS0FBSyxFQUFFLENBQUM7UUFDVCxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7YUFDakIsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLEVBQUUsQ0FBQyxLQUFLLEVBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUM7YUFDaEIsS0FBSyxFQUFFLENBQUM7UUFDVCxVQUFVLENBQUM7WUFDUCxJQUFHLEtBQUksQ0FBQyxJQUFJLElBQUksS0FBSztnQkFBRSxLQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDNUMsQ0FBQyxFQUFFLEtBQUssR0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsY0FBYztJQUNkLHlDQUFtQixHQUFuQjtRQUNJLElBQUksSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUM7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqRSxJQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFDO2dCQUNsQixFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO3FCQUN2QixFQUFFLENBQUMsSUFBSSxFQUFDLEVBQUMsS0FBSyxFQUFDLEdBQUcsRUFBQyxLQUFLLEVBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7cUJBQzVDLEVBQUUsQ0FBQyxJQUFJLEVBQUMsRUFBQyxLQUFLLEVBQUMsQ0FBQyxFQUFDLEtBQUssRUFBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBQyxHQUFHLEVBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQztxQkFDOUMsS0FBSyxFQUFFLENBQUE7Z0JBQ1IsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzVDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO3FCQUNiLEVBQUUsQ0FBQyxHQUFHLEVBQUMsRUFBQyxPQUFPLEVBQUMsR0FBRyxFQUFDLENBQUM7cUJBQ3JCLEtBQUssQ0FBQyxHQUFHLENBQUM7cUJBQ1YsRUFBRSxDQUFDLEdBQUcsRUFBQyxFQUFDLE9BQU8sRUFBQyxDQUFDLEVBQUMsQ0FBQztxQkFDbkIsS0FBSyxFQUFFLENBQUM7YUFDWjtZQUNELElBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLEVBQUM7Z0JBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2dCQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztnQkFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNmLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztnQkFDYixJQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQztvQkFBRSxJQUFJLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDakcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsSUFBSSxHQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDN0QsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFFLEVBQUUsQ0FBQztnQkFDNUUsSUFBRyxJQUFJLEdBQUcsS0FBSztvQkFBRSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxHQUFDLEdBQUcsQ0FBQztnQkFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN2QjtTQUNKO0lBQ0wsQ0FBQztJQUNELFVBQVU7SUFDViw2QkFBTyxHQUFQO1FBQ0ssRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUNELFNBQVM7SUFDVCw4QkFBUSxHQUFSLFVBQVMsSUFBSTtRQUNSLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDakQsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUM3QyxFQUFFLENBQUMsR0FBRyxFQUFDLEVBQUMsT0FBTyxFQUFDLEdBQUcsRUFBQyxDQUFDO2FBQ3JCLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDUixFQUFFLENBQUMsR0FBRyxFQUFDLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBQyxDQUFDO2FBQ3BCLElBQUksQ0FBQztZQUNGLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQzthQUNELEtBQUssRUFBRSxDQUFBO0lBQ1osQ0FBQztJQUNELFFBQVE7SUFDUixnQ0FBVSxHQUFWO1FBQ0ksSUFBRyxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUs7WUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQzthQUNuQyxJQUFHLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSTtZQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQzdDLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsR0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBQztZQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2hFO0lBQ0wsQ0FBQztJQUNELDhCQUFRLEdBQVI7UUFDSSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUNELCtCQUFTLEdBQVQ7UUFDSSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsNEJBQU0sR0FBTixVQUFRLEVBQUU7SUFDVixDQUFDO0lBejVCRDtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzZDQUNHO0lBRXJCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7NkNBQ0c7SUFFdkI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQzs2Q0FDRztJQUV2QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDOzZDQUNHO0lBRXZCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7bURBQ1M7SUFFN0I7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzs0Q0FDRTtJQTJCcEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQzttREFDUztJQXZDWCxXQUFXO1FBRC9CLE9BQU87T0FDYSxXQUFXLENBNDVCL0I7SUFBRCxrQkFBQztDQTU1QkQsQUE0NUJDLENBNTVCd0MsRUFBRSxDQUFDLFNBQVMsR0E0NUJwRDtrQkE1NUJvQixXQUFXIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8g5Li75ri45oiP5o6n5Yi257G7XHJcbmNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBHYW1lTWFuYWdlciBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGJhbGw6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHFpdTE6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgcWl1MjogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICBxaXUzOiBjYy5QcmVmYWIgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIGxpbmVQcmVmYWI6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGhpdDogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBiZzE6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgYmcyOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIHRpbWU6IGNjLkxhYmVsID0gbnVsbDtcclxuICAgIGJlZ2luOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBmdWh1bzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgb3ZlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgc2hvdzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgY291bnRUaW1lOm51bWJlcjtcclxuICAgIHRpbWVDb3VudDpudW1iZXI7XHJcbiAgICBmaXRUb3A6bnVtYmVyO1xyXG4gICAgZml0Qm90Om51bWJlcjtcclxuICAgIGxldmVsOm51bWJlcjtcclxuICAgIGNsaWNrTm93Om51bWJlcjtcclxuICAgIHN0YXJ0VGltZTpudW1iZXI7XHJcbiAgICBvdmVyVGltZTpudW1iZXI7XHJcbiAgICB3aW5UaW1lOm51bWJlcjtcclxuICAgIGNsaWNrQ291bnQ6bnVtYmVyO1xyXG4gICAgdGltZVN0YXJ0Om51bWJlcjtcclxuICAgIHJvdXRlX0FycmF5OiBhbnlbXTtcclxuICAgIG5vd19BcnJheTogYW55W107XHJcbiAgICBiYWxsX0FycmF5OiBhbnlbXTtcclxuICAgIExpbmVfQXJyYXk6IGFueVtdO1xyXG4gICAgUG9zX0FycmF5OiBhbnlbXTtcclxuICAgIHRpbWVfQXJyYXk6IGFueVtdO1xyXG4gICAgY29sb3JfQXJyYXk6IGFueVtdO1xyXG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxyXG4gICAgbGV2ZWxMYWJlbDogY2MuTGFiZWwgPSBudWxsO1xyXG4gICAgc3RhdGljIF9pbnN0YW5jZTogYW55O1xyXG4gICAgbW92ZUFycmF5OiBudW1iZXJbXTtcclxuICAgIHJlcGVhdDogbnVtYmVyO1xyXG4gICAgbnVtYmVyUmVwZWF0OiBudW1iZXI7XHJcbiAgICByb3VuZDogbnVtYmVyO1xyXG4gICAgcGF1c2U6IGJvb2xlYW47XHJcbiAgICBvbkxvYWQgKCkge31cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICB0aGlzLmZpdCgpO1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG4gICAgLy/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= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxTQUFTO0FBQ0gsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFFMUM7SUFBeUMsK0JBQVk7SUFBckQ7UUFBQSxxRUFvNkJDO1FBbDZCRyxVQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJCLFVBQUksR0FBYyxJQUFJLENBQUM7UUFFdkIsVUFBSSxHQUFjLElBQUksQ0FBQztRQUV2QixVQUFJLEdBQWMsSUFBSSxDQUFDO1FBRXZCLGdCQUFVLEdBQWMsSUFBSSxDQUFDO1FBRTdCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFDcEIsU0FBRyxHQUFZLElBQUksQ0FBQztRQUNwQixTQUFHLEdBQVksSUFBSSxDQUFDO1FBQ3BCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFDdEIsV0FBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixXQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLFVBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIsVUFBSSxHQUFZLEtBQUssQ0FBQztRQW9CdEIsZ0JBQVUsR0FBYSxJQUFJLENBQUM7O0lBNjNCaEMsQ0FBQztJQXQzQkcsNEJBQU0sR0FBTixjQUFXLENBQUM7SUFDWiwyQkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPO0lBQ1AsMEJBQUksR0FBSjtRQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNw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Q0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDOzZDQUNHO0lBRXZCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7NkNBQ0c7SUFFdkI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQzttREFDUztJQUU3QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzRDQUNFO0lBMkJwQjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO21EQUNTO0lBdkNYLFdBQVc7UUFEL0IsT0FBTztPQUNhLFdBQVcsQ0FvNkIvQjtJQUFELGtCQUFDO0NBcDZCRCxBQW82QkMsQ0FwNkJ3QyxFQUFFLENBQUMsU0FBUyxHQW82QnBEO2tCQXA2Qm9CLFdBQVciLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyDkuLvmuLjmiI/mjqfliLbnsbtcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEdhbWVNYW5hZ2VyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgYmFsbDogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgcWl1MTogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICBxaXUyOiBjYy5QcmVmYWIgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHFpdTM6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgbGluZVByZWZhYjogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgaGl0OiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIGJnMTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBiZzI6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgdGltZTogY2MuTGFiZWwgPSBudWxsO1xyXG4gICAgYmVnaW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGZ1aHVvOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBvdmVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBzaG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBjb3VudFRpbWU6bnVtYmVyO1xyXG4gICAgdGltZUNvdW50Om51bWJlcjtcclxuICAgIGZpdFRvcDpudW1iZXI7XHJcbiAgICBmaXRCb3Q6bnVtYmVyO1xyXG4gICAgbGV2ZWw6bnVtYmVyO1xyXG4gICAgY2xpY2tOb3c6bnVtYmVyO1xyXG4gICAgc3RhcnRUaW1lOm51bWJlcjtcclxuICAgIG92ZXJUaW1lOm51bWJlcjtcclxuICAgIHdpblRpbWU6bnVtYmVyO1xyXG4gICAgY2xpY2tDb3VudDpudW1iZXI7XHJcbiAgICB0aW1lU3RhcnQ6bnVtYmVyO1xyXG4gICAgcm91dGVfQXJyYXk6IGFueVtdO1xyXG4gICAgbm93X0FycmF5OiBhbnlbXTtcclxuICAgIGJhbGxfQXJyYXk6IGFueVtdO1xyXG4gICAgTGluZV9BcnJheTogYW55W107XHJcbiAgICBQb3NfQXJyYXk6IGFueVtdO1xyXG4gICAgdGltZV9BcnJheTogYW55W107XHJcbiAgICBjb2xvcl9BcnJheTogYW55W107XHJcbiAgICBAcHJvcGVydHkoY2MuTGFiZWwpXHJcbiAgICBsZXZlbExhYmVsOiBjYy5MYWJlbCA9IG51bGw7XHJcbiAgICBzdGF0aWMgX2luc3RhbmNlOiBhbnk7XHJcbiAgICBtb3ZlQXJyYXk6IG51bWJlcltdO1xyXG4gICAgcmVwZWF0OiBudW1iZXI7XHJcbiAgICBudW1iZXJSZXBlYXQ6IG51bWJlcjtcclxuICAgIHJvdW5kOiBudW1iZXI7XHJcbiAgICBwYXVzZTogYm9vbGVhbjtcclxuICAgIG9uTG9hZCAoKSB7fVxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMuZml0KCk7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdCgpe1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLnpJbmRleCA9IDEwMDtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJHYW1lT3ZlclwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmJhbGwuekluZGV4ID0gMTAwO1xyXG4gICAgICAgIHRoaXMuYmcxID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYmcxXCIpO1xyXG4gICAgICAgIHRoaXMuYmcyID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYmcyXCIpO1xyXG4gICAgICAgIHRoaXMudGltZSA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlRvcFwiKS5nZXRDaGlsZEJ5TmFtZShcInRpbWVcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzaG93QnRuXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuYmVnaW4gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm92ZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZ1aHVvID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnBhdXNlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNob3cgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJvdW5kID0gMDsgXHJcbiAgICAgICAgdGhpcy5sZXZlbCA9IDI7XHJcbiAgICAgICAgdGhpcy5jb3VudFRpbWUgPSA2MDtcclxuICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uY3VzdG9tICE9IDApe1xyXG4gICAgICAgICAgICB0aGlzLmxldmVsID0gY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmN1c3RvbTtcclxuICAgICAgICAgICAgLy8gdGhpcy5sZXZlbExhYmVsLnN0cmluZyA9IHRoaXMubGV2ZWwgKyBcIlwiO1xyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uY3VzdG9tICs9IDE7XHJcbiAgICAgICAgICAgIHRoaXMuY291bnRUaW1lID0gMTIwMDAwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuICAgICAgICB0aGlzLnRpbWVDb3VudCA9IDAuMTtcclxuICAgICAgICB0aGlzLmNsaWNrTm93ID0gMDtcclxuICAgICAgICB0aGlzLmNsaWNrQ291bnQgPSAwO1xyXG4gICAgICAgIHRoaXMudGltZVN0YXJ0ID0gMDtcclxuICAgICAgICB0aGlzLnJlcGVhdCA9IC0xO1xyXG4gICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gLTE7XHJcbiAgICAgICAgdGhpcy5yb3V0ZV9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMubW92ZUFycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5ub3dfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmJhbGxfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLlBvc19BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMudGltZV9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY29sb3JfQXJyYXkgPSBbXTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdBTUVfREFUQSA9IFtdO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5zdWNjZXNzID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zdGFydFRpbWUgPSAwO1xyXG4gICAgICAgIHRoaXMub3ZlclRpbWUgPSAwO1xyXG4gICAgICAgIHRoaXMud2luVGltZSA9IDA7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnRvdGFsID0gMDtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWVhbl9UaW1lID0gMDtcclxuICAgICAgICB0aGlzLnNjaGVkdWxlKHRoaXMudXBkYXRlQ291bnREb3duVGltZSwxKTtcclxuICAgICAgICB0aGlzLnN0YXJ0R2FtZSgpO1xyXG4gICAgfVxyXG4gICAgLy/moLnmja7mmK/lkKblhajpnaLlsY/vvIzlgZrni6znq4vpgILphY3mlrnpnaJcclxuICAgIGZpdCgpe1xyXG4gICAgICAgIHRoaXMuZml0VG9wID0gNDUwOyAgLy82MDBcclxuICAgICAgICB0aGlzLmZpdEJvdCA9IC02MDA7IC8vLTcwMFxyXG4gICAgICAgIHZhciBqZyA9IHRoaXMuc2V0Rml0KCk7XHJcbiAgICAgICAgaWYoIWpnKXtcclxuICAgICAgICAgICAgdGhpcy5maXRUb3AgPSA2MDA7XHJcbiAgICAgICAgICAgIHRoaXMuZml0Qm90ID0gLTcwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+WIpOaWreWFqOmdouWxj1xyXG4gICAgZ2V0U2V0U2NyZWVuUmVzb2x1dGlvbkZsYWcgKCkge1xyXG4gICAgICAgIGxldCBzaXplID0gY2Mud2luU2l6ZTtcclxuICAgICAgICBsZXQgd2lkdGggPSBzaXplLndpZHRoO1xyXG4gICAgICAgIGxldCBoZWlnaHQgPSBzaXplLmhlaWdodDtcclxuICAgICAgICBpZiAoKGhlaWdodCAvIHdpZHRoKSA+ICgxNi4yIC8gOSkpIHJldHVybiBmYWxzZTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIC8v5Yik5pat5YWo6Z2i5bGP6YCC6YWNXHJcbiAgICBzZXRGaXQgKCkge1xyXG4gICAgICAgIGxldCBmbGFnID0gdGhpcy5nZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZygpO1xyXG4gICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZsYWc7XHJcbiAgICB9XHJcbiAgICAvL+i/lOWbnummlumhtVxyXG4gICAgYmFja1NjZW5lKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiTG9hZFNjZW5lXCIpO1xyXG4gICAgfVxyXG4gICAgLy/kuIvkuIDlhbPvvIzmiJbogIXph43mlrDlvIDlp4vvvIzmiJbogIXov5Tlm57kuIrkuIDlhbPvvIzmoLnmja5sZXZlbOWGs+WumlxyXG4gICAgcmVTdGFydCh0eXBlKXtcclxuICAgICAgICAvLyBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uY3VzdG9tICE9IDApe1xyXG4gICAgICAgIC8vICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJMb2FkU2NlbmVcIik7XHJcbiAgICAgICAgLy8gICAgIHJldHVybjtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwic2hvd0J0blwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3lMaW5lKCk7XHJcbiAgICAgICAgdGhpcy50aW1lQ291bnQgPSAwLjE7XHJcbiAgICAgICAgdGhpcy5jbGlja05vdyA9IDA7XHJcbiAgICAgICAgdGhpcy50aW1lU3RhcnQgPSAwO1xyXG4gICAgICAgIHRoaXMucmVwZWF0ID0gLTE7XHJcbiAgICAgICAgdGhpcy5udW1iZXJSZXBlYXQgPSAtMTtcclxuICAgICAgICB0aGlzLmJlZ2luID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5yb3V0ZV9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMubm93X0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5iYWxsX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5Qb3NfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLm1vdmVBcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMudGltZV9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY29sb3JfQXJyYXkgPSBbXTtcclxuICAgICAgICBpZih0eXBlID09IDApe1xyXG4gICAgICAgICAgICB0aGlzLmJnTW92ZSgxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0eXBlID09IDEpe1xyXG4gICAgICAgICAgICB0aGlzLnN0YXJ0R2FtZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHR5cGUgPT0gMil7XHJcbiAgICAgICAgICAgIHRoaXMuYmdNb3ZlKC0xKTtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgIH1cclxuICAgIC8v6I635Y+W5pe26Ze05oizXHJcbiAgICBnZXRUaW1lKCl7XHJcbiAgICAgICAgY29uc3QgdGltZXN0YW1wID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgcmV0dXJuIHRpbWVzdGFtcDtcclxuICAgIH1cclxuICAgIC8v6I636IOcXHJcbiAgICBwYXNzTGV2ZWwoKXtcclxuICAgICAgICB0aGlzLmRlc3Ryb3lMaW5lKCk7XHJcbiAgICAgICAgaWYodGhpcy5vdmVyID09IGZhbHNlICYmIHRoaXMuY291bnRUaW1lID49IDApe1xyXG4gICAgICAgICAgICBsZXQgdGltZUFycmF5ID0gW107XHJcbiAgICAgICAgICAgIGxldCB0aW1lQ291bnQgPSAwO1xyXG4gICAgICAgICAgICBsZXQgYmFsbCA9IHRoaXMuYmFsbF9BcnJheVswXTtcclxuICAgICAgICAgICAgZm9yKGxldCBpPTE7IGk8IHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGltZSA9IHRoaXMuY2FsY3VsYXRlRGlzdGFuY2UodGhpcy5iYWxsX0FycmF5W2ldLngsdGhpcy5iYWxsX0FycmF5W2ldLnksXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ktMV0ueCx0aGlzLmJhbGxfQXJyYXlbaS0xXS55LDIpO1xyXG4gICAgICAgICAgICAgICAgdGltZUFycmF5LnB1c2godGltZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZm9yKGxldCBrPTE7IGs8IHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGsrKyl7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjYy50d2VlbihiYWxsKVxyXG4gICAgICAgICAgICAgICAgICAgIC50byh0aW1lQXJyYXlbay0xXSx7eDp0aGlzLmJhbGxfQXJyYXlba10ueCx5OnRoaXMuYmFsbF9BcnJheVtrXS55fSlcclxuICAgICAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2tdLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZihrID09IHRoaXMuYmFsbF9BcnJheS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGwub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGwucG9zaXRpb24gPSBjYy52MyhiYWxsLngsYmFsbC55LDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhbGwuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhclN1bigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVTdGFydCgwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDIwMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICAgICAgfSwgdGltZUNvdW50KjEwMDApO1xyXG4gICAgICAgICAgICAgICAgdGltZUNvdW50ICs9ICh0aW1lQXJyYXlbay0xXSswLjEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/lpLHotKVcclxuICAgIGxvc2VMZXZlbCh0eXBlKXtcclxuICAgICAgICB0aGlzLmRlc3Ryb3lMaW5lKCk7XHJcbiAgICAgICAgaWYodGhpcy5vdmVyID09IGZhbHNlICYmIHRoaXMuY291bnRUaW1lID49IDApe1xyXG4gICAgICAgICAgICBsZXQgYmFsbCA9IHRoaXMuYmFsbF9BcnJheVswXTtcclxuICAgICAgICAgICAgZm9yKGxldCBrPTE7IGs8IHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGsrKyl7XHJcbiAgICAgICAgICAgICAgICBjYy50d2Vlbih0aGlzLmJhbGxfQXJyYXlba10pXHJcbiAgICAgICAgICAgICAgICAudG8oMix7eDpiYWxsLngseTpiYWxsLnl9KVxyXG4gICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2tdLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGsgPT0gdGhpcy5iYWxsX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbC5wb3NpdGlvbiA9IGNjLnYzKGJhbGwueCxiYWxsLnksMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJTdW4oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZVN0YXJ0KHR5cGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/muIXnkIblpKrpmLNcclxuICAgIGNsZWFyU3VuKCl7XHJcbiAgICAgICAgZm9yKGxldCBrPTA7IGs8IHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGsrKyl7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5nYXAgPSBbXTtcclxuICAgIH1cclxuICAgIC8v54K55Ye75aSq6Ziz5omn6KGM5pa55rOVXHJcbiAgICBjbGlja1N1bihkYXRhKXtcclxuICAgICAgICBpZih0aGlzLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICB0aGlzLmNsaWNrQ291bnQgKz0gMTtcclxuICAgICAgICAgICAgbGV0IGNsaWNrVGltZSA9ICBjYy5meC5HYW1lVG9vbC5nZXRUaW1lKCk7XHJcbiAgICAgICAgICAgIHRoaXMudGltZV9BcnJheS5wdXNoKChjbGlja1RpbWUgLSB0aGlzLnRpbWVTdGFydCkpXHJcbiAgICAgICAgICAgIHRoaXMudGltZVN0YXJ0ID0gIGNjLmZ4LkdhbWVUb29sLmdldFRpbWUoKTtcclxuXHJcbiAgICAgICAgICAgIGlmKGRhdGEuaWQgPT0gdGhpcy5jbGlja05vdyl7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5BdWRpb01hbmFnZXIuX2luc3RhbmNlLnBsYXlBdWRpb0J1dHRvbigpO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5jbGlja05vdyA+IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlTGluZShjYy52Mih0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXS54LHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93LTFdLnkpLFxyXG4gICAgICAgICAgICAgICAgICAgIGNjLnYyKHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93XS54LHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93XS55KSxcclxuICAgICAgICAgICAgICAgICAgICAwLjIpOyAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5jbGlja05vdyArPSAxO1xyXG4gICAgICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhcC5wdXNoKGRhdGEuZGlzdGFuY2UpO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5iYWxsX0FycmF5W3RoaXMuY2xpY2tOb3ctMV0pXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W3RoaXMuY2xpY2tOb3ctMV0uZ2V0Q2hpbGRCeU5hbWUoXCJndWFuZ1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuY2xpY2tOb3cgPT0gdGhpcy5ub3dfQXJyYXkubGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhdXNlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udG90YWwgKz0gdGhpcy5jbGlja05vdztcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm92ZXJUaW1lID0gIGNjLmZ4LkdhbWVUb29sLmdldFRpbWUoKTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLnN0YXJ0VGltZSA+IDAgJiYgdGhpcy5vdmVyVGltZSA+IDApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWVhbl9UaW1lICs9ICh0aGlzLm92ZXJUaW1lIC0gdGhpcy5zdGFydFRpbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBsZXQgZmluaXNoX3RpbWUgPSBwYXJzZUludCgodGhpcy5vdmVyVGltZSAtIHRoaXMuc3RhcnRUaW1lKS8xMDArXCJcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydFRpbWUgPSAwOyB0aGlzLm92ZXJUaW1lID0gMDtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY29sb3IgPSBcInlcIjtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmxldmVsIDwgNCAmJiB0aGlzLmxldmVsID4gMSljb2xvciA9IFwieXJcIjtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKHRoaXMubGV2ZWwgPj0gNCkgY29sb3IgPSBcInlyYlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB3aW4gPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJXaW5cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgd2luLmFjdGl2ZSA9IHRydWU7IHdpbi5zZXRTY2FsZSgwKTtcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5BdWRpb01hbmFnZXIuX2luc3RhbmNlLnBsYXlXaW4oKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdW5kICs9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHN1bkFycmF5ID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5tb3ZlQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcihsZXQgbT0wIDsgbTx0aGlzLm1vdmVBcnJheS5sZW5ndGg7bSsrKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKG0gPT0gdGhpcy5yZXBlYXQgfHwgbSA9PSB0aGlzLm51bWJlclJlcGVhdCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbbV0gPSAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCh0aGlzLm1vdmVBcnJheVttXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBtPTAgOyBtPHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7bSsrKXsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihtID09IHRoaXMucmVwZWF0IHx8IG0gPT0gdGhpcy5udW1iZXJSZXBlYXQpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1bkFycmF5LnB1c2goMik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCgwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX0RBVEEgPSBcclxuICAgICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZToxLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2Vzczp0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm91bmQ6dGhpcy5yb3VuZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsU3VuQ291bnQ6dGhpcy5ub3dfQXJyYXkubGVuZ3RoLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW92ZWRTdW5Db3VudDpjYy5meC5HYW1lQ29uZmlnLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tb3ZlTnVtYmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VuU3BlZWQ6Y2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV0ubW92ZVNwZWVkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmxhcFN1bkNvdW50OmNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLnJlcGVhdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yTGlzdDp0aGlzLmNvbG9yX0FycmF5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246ZmluaXNoX3RpbWUvMTAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWZmaWN1bHR5TGV2ZWw6dGhpcy5sZXZlbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1bkxpc3Q6c3VuQXJyYXksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwVGltZUxpc3Q6dGhpcy50aW1lX0FycmF5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtYWluZGVyOnRoaXMuY291bnRUaW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5nYXBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmKGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfREFUQS5kdXJhdGlvbiA+IDUwKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19EQVRBLmR1cmF0aW9uID0gNTA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RGF0YSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHdpbilcclxuICAgICAgICAgICAgICAgICAgICAuZGVsYXkoMC40KVxyXG4gICAgICAgICAgICAgICAgICAgIC50bygwLjAxLHtzY2FsZToyLjV9KVxyXG4gICAgICAgICAgICAgICAgICAgIC50bygwLjM1LHtzY2FsZToxfSlcclxuICAgICAgICAgICAgICAgICAgICAuZGVsYXkoMC40KVxyXG4gICAgICAgICAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aW4uYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVzdHJveUxpbmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5vdmVyID09IGZhbHNlICYmIHRoaXMuY291bnRUaW1lID49IDApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5sZXZlbCA+PSAxNSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnN1Y2Nlc3MgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGV2ZWwgKz0gMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLmxldmVsTGFiZWwuc3RyaW5nID0gdGhpcy5sZXZlbCArIFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mdWh1byA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXNzTGV2ZWwoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sZXZlbCArPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZ1aHVvID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhc3NMZXZlbCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRMb3NzKGRhdGEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/miafooYzlpLHotKVcclxuICAgIHNldExvc3MoZGF0YSl7XHJcbiAgICAgICAgY2MuZnguQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZS5wbGF5V2FybmluZygpO1xyXG4gICAgICAgIHRoaXMuYmVnaW4gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm92ZXJUaW1lID0gIGNjLmZ4LkdhbWVUb29sLmdldFRpbWUoKTtcclxuICAgICAgICBpZih0aGlzLnN0YXJ0VGltZSA+IDAgJiYgdGhpcy5vdmVyVGltZSA+IDApe1xyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWVhbl9UaW1lICs9ICh0aGlzLm92ZXJUaW1lIC0gdGhpcy5zdGFydFRpbWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgZmluaXNoX3RpbWUgPSBwYXJzZUludCgodGhpcy5vdmVyVGltZSAtIHRoaXMuc3RhcnRUaW1lKS8xMDArXCJcIik7XHJcbiAgICAgICAgaWYoZmluaXNoX3RpbWUgPiA1OCkgZmluaXNoX3RpbWUgPSA1ODtcclxuICAgICAgICB0aGlzLnN0YXJ0VGltZSA9IDA7IHRoaXMub3ZlclRpbWUgPSAwO1xyXG4gICAgICAgIGxldCBjb2xvciA9IFwieVwiO1xyXG4gICAgICAgIGlmKHRoaXMubGV2ZWwgPCA0ICYmIHRoaXMubGV2ZWwgPiAxKWNvbG9yID0gXCJ5clwiO1xyXG4gICAgICAgIGVsc2UgaWYodGhpcy5sZXZlbCA+PSA0KSBjb2xvciA9IFwieXJiXCI7XHJcbiAgICAgICAgdGhpcy5yb3VuZCArPSAxO1xyXG4gICAgICAgIGxldCBzdW5BcnJheSA9IFtdO1xyXG4gICAgICAgIGlmKHRoaXMubW92ZUFycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBmb3IobGV0IG09MCA7IG08dGhpcy5tb3ZlQXJyYXkubGVuZ3RoO20rKyl7XHJcbiAgICAgICAgICAgICAgICBpZihtID09IHRoaXMucmVwZWF0IHx8IG0gPT0gdGhpcy5udW1iZXJSZXBlYXQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W21dID0gMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHN1bkFycmF5LnB1c2godGhpcy5tb3ZlQXJyYXlbbV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGZvcihsZXQgbT0wIDsgbTx0aGlzLmJhbGxfQXJyYXkubGVuZ3RoO20rKyl7XHJcbiAgICAgICAgICAgICAgICBpZihtID09IHRoaXMucmVwZWF0IHx8IG0gPT0gdGhpcy5udW1iZXJSZXBlYXQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHN1bkFycmF5LnB1c2goMik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCgwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ2FwLnB1c2goZGF0YS5kaXN0YW5jZSk7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19EQVRBID0gXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0eXBlOjEsXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6ZmFsc2UsXHJcbiAgICAgICAgICAgIHJvdW5kOnRoaXMucm91bmQsXHJcbiAgICAgICAgICAgIHRvdGFsU3VuQ291bnQ6dGhpcy5ub3dfQXJyYXkubGVuZ3RoLFxyXG4gICAgICAgICAgICBtb3ZlZFN1bkNvdW50OmNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1vdmVOdW1iZXIsXHJcbiAgICAgICAgICAgIHN1blNwZWVkOmNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1vdmVTcGVlZCxcclxuICAgICAgICAgICAgb3ZlcmxhcFN1bkNvdW50OmNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLnJlcGVhdCxcclxuICAgICAgICAgICAgY29sb3JMaXN0OnRoaXMuY29sb3JfQXJyYXksXHJcbiAgICAgICAgICAgIGR1cmF0aW9uOmZpbmlzaF90aW1lLzEwLFxyXG4gICAgICAgICAgICBkaWZmaWN1bHR5TGV2ZWw6dGhpcy5sZXZlbCxcclxuICAgICAgICAgICAgc3VuTGlzdDpzdW5BcnJheSxcclxuICAgICAgICAgICAgc3RlcFRpbWVMaXN0OnRoaXMudGltZV9BcnJheSxcclxuICAgICAgICAgICAgcmVtYWluZGVyOnRoaXMuY291bnRUaW1lLFxyXG4gICAgICAgICAgICBnYXA6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhcFxyXG4gICAgICAgIH1cclxuICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkNMSUNLX0RBVEEuZHVyYXRpb24gPiA1MCl7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfREFUQS5kdXJhdGlvbiA9IDUwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZXREYXRhKCk7XHJcbiAgICAgICAgaWYodGhpcy5mdWh1byA9PSB0cnVlKXtcclxuICAgICAgICAgICAgdGhpcy5mdWh1byA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmxvc2VMZXZlbCgxKTtcclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGlmKHRoaXMubGV2ZWwgPiAyKXtcclxuICAgICAgICAgICAgICAgIHRoaXMubGV2ZWwgLT0gMTtcclxuICAgICAgICAgICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuZnVodW8gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5mdWh1byA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb3NlTGV2ZWwoMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9zZUxldmVsKDEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBvdmVyID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiT3ZlclwiKTtcclxuICAgICAgICBjYy50d2VlbihvdmVyKVxyXG4gICAgICAgIC50bygwLjI1LHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgLmRlbGF5KDAuMSlcclxuICAgICAgICAudG8oMC4yLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgLnRvKDAuMTUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAuZGVsYXkoMC4xKVxyXG4gICAgICAgIC50bygwLjEse29wYWNpdHk6MH0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICB9XHJcbiAgICAvL+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+eUqOatpOaWueazlVxyXG4gICAgdXBkYXRlQ291bnREb3duVGltZSAoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY291bnRUaW1lID4gMCAmJiB0aGlzLnBhdXNlID09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY291bnRUaW1lIC09IDE7XHJcbiAgICAgICAgICAgIHRoaXMudGltZS5zdHJpbmcgPSAgY2MuZnguR2FtZVRvb2wuZ2V0VGltZU1hcmdpbih0aGlzLmNvdW50VGltZSk7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuY291bnRUaW1lIDwgNSl7XHJcbiAgICAgICAgICAgICAgICBjYy50d2Vlbih0aGlzLnRpbWUubm9kZSlcclxuICAgICAgICAgICAgICAgIC50bygwLjI1LHtzY2FsZToxLjUsY29sb3I6Y2MuY29sb3IoMjU1LDAsMCl9KVxyXG4gICAgICAgICAgICAgICAgLnRvKDAuMjUse3NjYWxlOjEsY29sb3I6Y2MuY29sb3IoMjU1LDI1NSwyNTUpfSlcclxuICAgICAgICAgICAgICAgIC5zdGFydCgpXHJcbiAgICAgICAgICAgICAgICBsZXQgb3ZlciA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIk92ZXJcIik7XHJcbiAgICAgICAgICAgICAgICBjYy50d2VlbihvdmVyKVxyXG4gICAgICAgICAgICAgICAgLnRvKDAuMix7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAgICAgLmRlbGF5KDAuMSlcclxuICAgICAgICAgICAgICAgIC50bygwLjIse29wYWNpdHk6MH0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZih0aGlzLmNvdW50VGltZSA8PSAwKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmVnaW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMub3ZlciA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVuc2NoZWR1bGUodGhpcy51cGRhdGVDb3VudERvd25UaW1lKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9zcyh7ZGlzdGFuY2U6MH0pO1xyXG4gICAgICAgICAgICAgICAgdmFyIHRpbWUgPSAwO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5jbGlja0NvdW50ID4gMCkgdGltZSA9IHBhcnNlSW50KGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tZWFuX1RpbWUvdGhpcy5jbGlja0NvdW50ICsgXCJcIik7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWVhbl9UaW1lID0gcGFyc2VJbnQodGltZS8xMDAgKyBcIlwiKTtcclxuICAgICAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tZWFuX1RpbWUgPSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWVhbl9UaW1lIC8xMDtcclxuICAgICAgICAgICAgICAgIGlmKHRpbWUgPiAxMDAwMCkgdGltZSA9IChNYXRoLnJhbmRvbSgpKjEwKzUpKjEwMDtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ2FtZU92ZXIodGltZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+S4iuS8oOavj+asoeaTjeS9nOaVsOaNrlxyXG4gICAgc2V0RGF0YSgpe1xyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRHYW1lRGF0YSgpO1xyXG4gICAgfVxyXG4gICAgLy/kuIrkvKDmjpLooYzmppzmlbDmja5cclxuICAgIGdhbWVPdmVyKHRpbWUpe1xyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRSYW5rKHRpbWUpO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikpXHJcbiAgICAgICAgLnRvKDAuNCx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgyKVxyXG4gICAgICAgIC50bygwLjQse29wYWNpdHk6NTB9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJPdmVyU2NlbmVcIik7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKVxyXG4gICAgfVxyXG4gICAgLy/kvZzlvIrvvIzmtYvor5XnlKhcclxuICAgIHNob3dOdW1iZXIoKXtcclxuICAgICAgICBpZih0aGlzLnNob3cgPT0gZmFsc2UpIHRoaXMuc2hvdyA9IHRydWU7XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnNob3cgPT0gdHJ1ZSkgdGhpcy5zaG93ID0gZmFsc2U7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ldLmdldENvbXBvbmVudChcIlN1blwiKS5zaG93TnVtYmVyKHRoaXMuc2hvdyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25FbmFibGUgKCkge1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oXCJjbGlja1N1blwiLCB0aGlzLmNsaWNrU3VuLCB0aGlzKTtcclxuICAgIH1cclxuICAgIG9uRGlzYWJsZSAoKSB7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoXCJjbGlja1N1blwiLCB0aGlzLmNsaWNrU3VuKTtcclxuICAgIH1cclxuICAgIHVwZGF0ZSAoZHQpIHtcclxuICAgIH1cclxufVxyXG4iXX0= \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/GameOver.js b/temp/quick-scripts/dst/assets/Script/GameOver.js index 475180d..3226224 100644 --- a/temp/quick-scripts/dst/assets/Script/GameOver.js +++ b/temp/quick-scripts/dst/assets/Script/GameOver.js @@ -118,6 +118,9 @@ var NewClass = /** @class */ (function (_super) { }; //根据内容填充排行榜 NewClass.prototype.setRank = function (num, data) { + if (!data) { + return; + } var hitNode = null; if (num == 0) { hitNode = this.one; @@ -136,7 +139,7 @@ var NewClass = /** @class */ (function (_super) { } if (hitNode) { hitNode.active = true; - cc.fx.GameTool.subName(data.nickName, 4); + data.nickName = cc.fx.GameTool.subName(data.nickName, 4); hitNode.getChildByName("name").getComponent(cc.Label).string = data.nickName; hitNode.getChildByName("total").getComponent(cc.Label).string = data.totalSunCount; cc.fx.GameTool.setPic(hitNode.getChildByName("pic").getChildByName("icon"), data.pic); @@ -184,4 +187,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lT3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDTSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQStHQztRQTdHRyxXQUFLLEdBQWEsSUFBSSxDQUFDO1FBRXZCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFFdEIsY0FBUSxHQUFZLElBQUksQ0FBQztRQUV6QixTQUFHLEdBQVksSUFBSSxDQUFDO1FBRXBCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFFcEIsV0FBSyxHQUFZLElBQUksQ0FBQztRQUV0QixVQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJCLFVBQUksR0FBWSxJQUFJLENBQUM7O0lBK0Z6QixDQUFDO0lBNUZHLGVBQWU7SUFDZix3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDeEQsSUFBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLEVBQUUsRUFBQztZQUN2QyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFBO1NBQzVFO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7UUFDNUQsSUFBSSxDQUFDLElBQUks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QyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzdFLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUNsRixFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3pGO0lBQ0wsQ0FBQztJQTVHRDtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDOzJDQUNJO0lBRXZCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7MENBQ0c7SUFFdEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzs4Q0FDTztJQUV6QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO3lDQUNFO0lBRXBCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7eUNBQ0U7SUFFcEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzsyQ0FDSTtJQUV0QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzBDQUNHO0lBRXJCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7MENBQ0c7SUFoQkosUUFBUTtRQUQ1QixPQUFPO09BQ2EsUUFBUSxDQStHNUI7SUFBRCxlQUFDO0NBL0dELEFBK0dDLENBL0dxQyxFQUFFLENBQUMsU0FBUyxHQStHakQ7a0JBL0dvQixRQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxyXG4gICAgY291bnQ6IGNjLkxhYmVsID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIHRpbWU6IGNjLkxhYmVsID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgc2VsZk5vZGU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBvbmU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICB0d286IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICB0aHJlZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGZvdXI6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBmaXZlOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIGxpc3REYXRhOiBhbnk7XHJcbiAgICBzZWxmRGF0YTogYW55O1xyXG4gICAgLy8gb25Mb2FkICgpIHt9XHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICAgICAgdGhpcy5jb3VudC5zdHJpbmcgPSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udG90YWwgKyBcIlwiO1xyXG4gICAgICAgIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tZWFuX1RpbWUgPiAxMCl7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tZWFuX1RpbWUgPSAocGFyc2VJbnQoTWF0aC5yYW5kb20oKSoxMCtcIlwiKSs1KS8xMFxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnRpbWUuc3RyaW5nID0gY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1lYW5fVGltZSArIFwic1wiO1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG4gICAgLy/liJ3lp4vljJbmlbDmja5cclxuICAgIGluaXQoKXtcclxuICAgICAgICB0aGlzLmxpc3REYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5zZWxmRGF0YSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5vbmUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50d28uYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50aHJlZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZvdXIuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5maXZlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHZhciB1cmxOb3cgPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcclxuICAgICAgICBpZih0aGlzLmNvbnRhaW5zVHJhaW4odXJsTm93KSl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImFnYWluXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJiYWNrXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJmaW5pc2hpXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImFnYWluXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImJhY2tcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiZmluaXNoaVwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5nZXRSYW5rKCk7XHJcbiAgICB9XHJcbiAgICAvL+aJk+W8gOaOkuihjOamnFxyXG4gICAganVtcEZpbmlzaGkoKXtcclxuICAgICAgICBsZXQgdXJsID0gXCJodHRwczovL3RyYWluLnNwYXJrdXMuY24vcG9zdGVyL2dhbWUvXCIgKyBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uc2NvZGUgKyBcIj9zdWM9MVwiO1xyXG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsO1xyXG4gICAgfVxyXG4gICAgLy/miZPlvIDmjpLooYzmppxcclxuICAgIG9wZW5SYW5rKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiUmFua1NjZW5lXCIpO1xyXG4gICAgfVxyXG4gICAgLy/ph43mlrDlvIDlp4vnjqlcclxuICAgIGFnYWluKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG4gICAgfVxyXG4gICAgLy/liKTmlq3mnaXmupBcclxuICAgIGNvbnRhaW5zVHJhaW4oc3RyKSB7XHJcbiAgICAgICAgcmV0dXJuIC9mcm9tPXRyYWluL2kudGVzdChzdHIpO1xyXG4gICAgfVxyXG4gICAgLy/ojrflj5bmjpLooYzmppxcclxuICAgIGdldFJhbmsoKXtcclxuICAgICAgICAvL+iOt+WPluaOkuihjOamnOaVsOaNriAg5omA6ZyA5pWw5o2u6YePXHJcbiAgICAgICAgbGV0IGRhdGFGaWxlID0ge1xyXG4gICAgICAgICAgICBsZW5ndGg6NVxyXG4gICAgICAgIH1cclxuICAgICAgICAgY2MuZnguR2FtZVRvb2wuZ2V0UmFuayhkYXRhRmlsZSxkYXRhID0+dGhpcy5nZXRSYW5rRGF0YShkYXRhKSk7XHJcbiAgICB9XHJcbiAgICAvL+iuvue9ruaOkuihjOS/oeaBr1xyXG4gICAgZ2V0UmFua0RhdGEoZGF0YSl7XHJcbiAgICAgICAgaWYoZGF0YSl7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rRGF0YShkYXRhLHRoaXMsNCk7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRQaWModGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIiksdGhpcy5zZWxmRGF0YS5waWMpO1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MDtpPD00O2krKyl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFJhbmsoaSx0aGlzLmxpc3REYXRhW2ldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5qC55o2u5YaF5a655aGr5YWF5o6S6KGM5qacXHJcbiAgICBzZXRSYW5rKG51bSxkYXRhKXtcclxuICAgICAgICB2YXIgaGl0Tm9kZSA9IG51bGw7XHJcbiAgICAgICAgaWYobnVtID09IDApe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDEpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy50d287XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDIpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy50aHJlZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gMyl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLmZvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDQpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy5maXZlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihoaXROb2RlKXtcclxuICAgICAgICAgICAgaGl0Tm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgY2MuZnguR2FtZVRvb2wuc3ViTmFtZShkYXRhLm5pY2tOYW1lLDQpO1xyXG4gICAgICAgICAgICBoaXROb2RlLmdldENoaWxkQnlOYW1lKFwibmFtZVwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IGRhdGEubmlja05hbWU7XHJcbiAgICAgICAgICAgIGhpdE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0b3RhbFwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IGRhdGEudG90YWxTdW5Db3VudDtcclxuICAgICAgICAgICAgIGNjLmZ4LkdhbWVUb29sLnNldFBpYyhoaXROb2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKSxkYXRhLnBpYyk7XHJcbiAgICAgICAgfVxyXG4gICAgfSAgIFxyXG59XHJcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lT3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDTSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQWtIQztRQWhIRyxXQUFLLEdBQWEsSUFBSSxDQUFDO1FBRXZCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFFdEIsY0FBUSxHQUFZLElBQUksQ0FBQztRQUV6QixTQUFHLEdBQVksSUFBSSxDQUFDO1FBRXBCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFFcEIsV0FBSyxHQUFZLElBQUksQ0FBQztRQUV0QixVQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJCLFVBQUksR0FBWSxJQUFJLENBQUM7O0lBa0d6QixDQUFDO0lBL0ZHLGVBQWU7SUFDZix3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDeEQsSUFBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLEVBQUUsRUFBQztZQUN2QyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFBO1NBQzVFO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7UUFDNUQsSUFBSSxDQUFDLElBQUks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ZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxyXG4gICAgY291bnQ6IGNjLkxhYmVsID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIHRpbWU6IGNjLkxhYmVsID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgc2VsZk5vZGU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBvbmU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICB0d286IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICB0aHJlZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGZvdXI6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBmaXZlOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIGxpc3REYXRhOiBhbnk7XHJcbiAgICBzZWxmRGF0YTogYW55O1xyXG4gICAgLy8gb25Mb2FkICgpIHt9XHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICAgICAgdGhpcy5jb3VudC5zdHJpbmcgPSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udG90YWwgKyBcIlwiO1xyXG4gICAgICAgIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tZWFuX1RpbWUgPiAxMCl7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tZWFuX1RpbWUgPSAocGFyc2VJbnQoTWF0aC5yYW5kb20oKSoxMCtcIlwiKSs1KS8xMFxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnRpbWUuc3RyaW5nID0gY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1lYW5fVGltZSArIFwic1wiO1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG4gICAgLy/liJ3lp4vljJbmlbDmja5cclxuICAgIGluaXQoKXtcclxuICAgICAgICB0aGlzLmxpc3REYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5zZWxmRGF0YSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5vbmUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50d28uYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50aHJlZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZvdXIuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5maXZlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHZhciB1cmxOb3cgPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcclxuICAgICAgICBpZih0aGlzLmNvbnRhaW5zVHJhaW4odXJsTm93KSl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImFnYWluXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJiYWNrXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJmaW5pc2hpXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImFnYWluXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImJhY2tcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiZmluaXNoaVwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5nZXRSYW5rKCk7XHJcbiAgICB9XHJcbiAgICAvL+aJk+W8gOaOkuihjOamnFxyXG4gICAganVtcEZpbmlzaGkoKXtcclxuICAgICAgICBsZXQgdXJsID0gXCJodHRwczovL3RyYWluLnNwYXJrdXMuY24vcG9zdGVyL2dhbWUvXCIgKyBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uc2NvZGUgKyBcIj9zdWM9MVwiO1xyXG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsO1xyXG4gICAgfVxyXG4gICAgLy/miZPlvIDmjpLooYzmppxcclxuICAgIG9wZW5SYW5rKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiUmFua1NjZW5lXCIpO1xyXG4gICAgfVxyXG4gICAgLy/ph43mlrDlvIDlp4vnjqlcclxuICAgIGFnYWluKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG4gICAgfVxyXG4gICAgLy/liKTmlq3mnaXmupBcclxuICAgIGNvbnRhaW5zVHJhaW4oc3RyKSB7XHJcbiAgICAgICAgcmV0dXJuIC9mcm9tPXRyYWluL2kudGVzdChzdHIpO1xyXG4gICAgfVxyXG4gICAgLy/ojrflj5bmjpLooYzmppxcclxuICAgIGdldFJhbmsoKXtcclxuICAgICAgICAvL+iOt+WPluaOkuihjOamnOaVsOaNriAg5omA6ZyA5pWw5o2u6YePXHJcbiAgICAgICAgbGV0IGRhdGFGaWxlID0ge1xyXG4gICAgICAgICAgICBsZW5ndGg6NVxyXG4gICAgICAgIH1cclxuICAgICAgICAgY2MuZnguR2FtZVRvb2wuZ2V0UmFuayhkYXRhRmlsZSxkYXRhID0+dGhpcy5nZXRSYW5rRGF0YShkYXRhKSk7XHJcbiAgICB9XHJcbiAgICAvL+iuvue9ruaOkuihjOS/oeaBr1xyXG4gICAgZ2V0UmFua0RhdGEoZGF0YSl7XHJcbiAgICAgICAgaWYoZGF0YSl7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rRGF0YShkYXRhLHRoaXMsNCk7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRQaWModGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIiksdGhpcy5zZWxmRGF0YS5waWMpO1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MDtpPD00O2krKyl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFJhbmsoaSx0aGlzLmxpc3REYXRhW2ldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5qC55o2u5YaF5a655aGr5YWF5o6S6KGM5qacXHJcbiAgICBzZXRSYW5rKG51bSxkYXRhKXtcclxuICAgICAgICBpZighZGF0YSl7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIGhpdE5vZGUgPSBudWxsO1xyXG4gICAgICAgIGlmKG51bSA9PSAwKXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSAxKXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMudHdvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSAyKXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMudGhyZWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDMpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy5mb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSA0KXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMuZml2ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoaGl0Tm9kZSl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgIGRhdGEubmlja05hbWUgPSBjYy5meC5HYW1lVG9vbC5zdWJOYW1lKGRhdGEubmlja05hbWUsNCk7XHJcbiAgICAgICAgICAgIGhpdE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJuYW1lXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gZGF0YS5uaWNrTmFtZTtcclxuICAgICAgICAgICAgaGl0Tm9kZS5nZXRDaGlsZEJ5TmFtZShcInRvdGFsXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gZGF0YS50b3RhbFN1bkNvdW50O1xyXG4gICAgICAgICAgICAgY2MuZnguR2FtZVRvb2wuc2V0UGljKGhpdE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLGRhdGEucGljKTtcclxuICAgICAgICB9XHJcbiAgICB9ICAgXHJcbn1cclxuIl19 \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/Sun.js b/temp/quick-scripts/dst/assets/Script/Sun.js index ad12b06..aa07093 100644 --- a/temp/quick-scripts/dst/assets/Script/Sun.js +++ b/temp/quick-scripts/dst/assets/Script/Sun.js @@ -42,6 +42,7 @@ var NewClass = /** @class */ (function (_super) { } // onLoad () {} NewClass.prototype.start = function () { + this.node.on(cc.Node.EventType.TOUCH_START, this.clickBtn, this); }; //初始化数据 NewClass.prototype.init = function (_id, color, speed, repeat) { @@ -66,9 +67,16 @@ var NewClass = /** @class */ (function (_super) { if (type == true) this.node.getChildByName("number").getComponent(cc.Label).string = this.id_Number + ""; }; + //计算两点之间直线距离 + NewClass.prototype.distanceBetweenTwoPoints = function (x1, y1, x2, y2) { + return Math.sqrt(Math.pow((x2 - x1), 2) + Math.pow((y2 - y1), 2)); + }; //点击事件 NewClass.prototype.clickBtn = function (event, data) { - if (data === "1") { + var pos = this.node.convertToNodeSpaceAR(event.getLocation()); + var distance = this.distanceBetweenTwoPoints(pos.x, 0, pos.y, 0); + distance = Math.floor(distance * 10) / 10; + if (this.node.name != "qiu4") { if (this.move == false && this.touch == true) { if (this.node.parent.parent.name == "GameNode") { if (this.node.parent.parent.getComponent("GameManager").begin == true) { @@ -81,13 +89,15 @@ var NewClass = /** @class */ (function (_super) { .start(); this.touch = false; this.node.zIndex = -1; - cc.fx.Notifications.emit("clickSun", this.id_Number); + var data_1 = { id: this.id_Number, distance: distance }; + cc.fx.Notifications.emit("clickSun", data_1); } } else { this.touch = false; this.node.zIndex = -1; - cc.fx.Notifications.emit("clickSun", this.id_Number); + var data_2 = { id: this.id_Number, distance: distance }; + cc.fx.Notifications.emit("clickSun", data_2); } } } @@ -95,7 +105,8 @@ var NewClass = /** @class */ (function (_super) { 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); + var data_3 = { id: this.id_Number, distance: distance }; + cc.fx.Notifications.emit("clickSun", data_3); } } }; @@ -117,4 +128,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,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NkJBQ2pCLEtBQUssRUFBRSxDQUFDO3dCQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO3dCQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQzt3QkFDdEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7cUJBQ3ZEO2lCQUNKO3FCQUNHO29CQUNBLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO29CQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDdEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQ3ZEO2FBRUo7U0FDSjthQUNHO1lBQ0EsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUM7Z0JBQ3pGLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2dCQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDdEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDdkQ7U0FDSjtJQUNMLENBQUM7SUFwRWdCLFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0FxRTVCO0lBQUQsZUFBQztDQXJFRCxBQXFFQyxDQXJFcUMsRUFBRSxDQUFDLFNBQVMsR0FxRWpEO2tCQXJFb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG4gICAgaWRfTnVtYmVyOm51bWJlclxyXG4gICAgX3NwZWVkOm51bWJlclxyXG4gICAgX2NvbG9yOm51bWJlclxyXG4gICAgdG91Y2g6Ym9vbGVhblxyXG4gICAgX3JlcGVhdDpib29sZWFuXHJcbiAgICBtb3ZlOmJvb2xlYW5cclxuICAgIC8vIG9uTG9hZCAoKSB7fVxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgfVxyXG4gICAgLy/liJ3lp4vljJbmlbDmja5cclxuICAgIGluaXQoX2lkLGNvbG9yLHNwZWVkLHJlcGVhdCl7XHJcbiAgICAgICAgdGhpcy50b3VjaCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5tb3ZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pZF9OdW1iZXIgID0gX2lkO1xyXG4gICAgICAgIHRoaXMuX2NvbG9yID0gY29sb3I7XHJcbiAgICAgICAgdGhpcy5fc3BlZWQgPSBzcGVlZDtcclxuICAgICAgICB0aGlzLl9yZXBlYXQgPSByZXBlYXQ7XHJcbiAgICAgICAgLy/lpKrpmLPliqjnlLtcclxuICAgICAgICBjYy50d2Vlbih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzaGFuXCIpKVxyXG4gICAgICAgIC5yZXBlYXRGb3JldmVyKFxyXG4gICAgICAgICAgICBjYy50d2VlbigpXHJcbiAgICAgICAgICAgIC50bygxLHtvcGFjaXR5OjAsc2NhbGU6MC41LH0pXHJcbiAgICAgICAgICAgIC5kZWxheSgwLjIpXHJcbiAgICAgICAgICAgIC50bygxLHtvcGFjaXR5OjI1NSxzY2FsZToxLjJ9KVxyXG4gICAgICAgICAgICAuZGVsYXkoMC41KVxyXG4gICAgICAgIClcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v55So5LqO5L2c5byKIOa1i+ivlVxyXG4gICAgc2hvd051bWJlcih0eXBlKXtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJudW1iZXJcIikuYWN0aXZlID0gdHlwZTtcclxuICAgICAgICBpZih0eXBlID09IHRydWUpXHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIm51bWJlclwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRoaXMuaWRfTnVtYmVyICsgXCJcIjtcclxuICAgIH1cclxuICAgIC8v54K55Ye75LqL5Lu2XHJcbiAgICBjbGlja0J0bihldmVudCxkYXRhKXtcclxuICAgICAgICBpZihkYXRhID09PSBcIjFcIil7XHJcbiAgICAgICAgICAgIGlmKCB0aGlzLm1vdmUgPT0gZmFsc2UgJiYgdGhpcy50b3VjaCA9PSB0cnVlKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMubm9kZS5wYXJlbnQucGFyZW50Lm5hbWUgPT0gXCJHYW1lTm9kZVwiKXtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm5vZGUucGFyZW50LnBhcmVudC5nZXRDb21wb25lbnQoXCJHYW1lTWFuYWdlclwiKS5iZWdpbiA9PSB0cnVlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYWN0aW9uXCIpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudG8oMC41LHtvcGFjaXR5OjAsc2NhbGU6MS44fSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMubm9kZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvKDAuMyx7c2NhbGU6MS4zfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvKDAuMyx7c2NhbGU6MX0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubm9kZS56SW5kZXggPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KFwiY2xpY2tTdW5cIix0aGlzLmlkX051bWJlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub2RlLnpJbmRleCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChcImNsaWNrU3VuXCIsdGhpcy5pZF9OdW1iZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgaWYoIHRoaXMudG91Y2ggPT0gdHJ1ZSAmJiB0aGlzLm5vZGUucGFyZW50LnBhcmVudC5nZXRDb21wb25lbnQoXCJHdWlkZU1hbmFnZXJcIikuYmVnaW4gPT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuekluZGV4ID0gLTE7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoXCJjbGlja1N1blwiLHRoaXMuaWRfTnVtYmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztvQkFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ3RCLElBQUksTUFBSSxHQUFHLEVBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBQyxDQUFDO29CQUNqRCxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFDLE1BQUksQ0FBQyxDQUFDO2lCQUM3QzthQUVKO1NBQ0o7YUFDRztZQUNBLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFDO2dCQUN6RixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztnQkFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLElBQUksTUFBSSxHQUFHLEVBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBQyxDQUFDO2dCQUNqRCxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFDLE1BQUksQ0FBQyxDQUFDO2FBQzdDO1NBQ0o7SUFDTCxDQUFDO0lBL0VnQixRQUFRO1FBRDVCLE9BQU87T0FDYSxRQUFRLENBZ0Y1QjtJQUFELGVBQUM7Q0FoRkQsQUFnRkMsQ0FoRnFDLEVBQUUsQ0FBQyxTQUFTLEdBZ0ZqRDtrQkFoRm9CLFFBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ld0NsYXNzIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIGlkX051bWJlcjpudW1iZXJcclxuICAgIF9zcGVlZDpudW1iZXJcclxuICAgIF9jb2xvcjpudW1iZXJcclxuICAgIHRvdWNoOmJvb2xlYW5cclxuICAgIF9yZXBlYXQ6Ym9vbGVhblxyXG4gICAgbW92ZTpib29sZWFuXHJcbiAgICAvLyBvbkxvYWQgKCkge31cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICB0aGlzLm5vZGUub24oY2MuTm9kZS5FdmVudFR5cGUuVE9VQ0hfU1RBUlQsIHRoaXMuY2xpY2tCdG4sIHRoaXMpO1xyXG4gICAgfVxyXG4gICAgLy/liJ3lp4vljJbmlbDmja5cclxuICAgIGluaXQoX2lkLGNvbG9yLHNwZWVkLHJlcGVhdCl7XHJcbiAgICAgICAgdGhpcy50b3VjaCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5tb3ZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pZF9OdW1iZXIgID0gX2lkO1xyXG4gICAgICAgIHRoaXMuX2NvbG9yID0gY29sb3I7XHJcbiAgICAgICAgdGhpcy5fc3BlZWQgPSBzcGVlZDtcclxuICAgICAgICB0aGlzLl9yZXBlYXQgPSByZXBlYXQ7XHJcbiAgICAgICAgLy/lpKrpmLPliqjnlLtcclxuICAgICAgICBjYy50d2Vlbih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzaGFuXCIpKVxyXG4gICAgICAgIC5yZXBlYXRGb3JldmVyKFxyXG4gICAgICAgICAgICBjYy50d2VlbigpXHJcbiAgICAgICAgICAgIC50bygxLHtvcGFjaXR5OjAsc2NhbGU6MC41LH0pXHJcbiAgICAgICAgICAgIC5kZWxheSgwLjIpXHJcbiAgICAgICAgICAgIC50bygxLHtvcGFjaXR5OjI1NSxzY2FsZToxLjJ9KVxyXG4gICAgICAgICAgICAuZGVsYXkoMC41KVxyXG4gICAgICAgIClcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v55So5LqO5L2c5byKIOa1i+ivlVxyXG4gICAgc2hvd051bWJlcih0eXBlKXtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJudW1iZXJcIikuYWN0aXZlID0gdHlwZTtcclxuICAgICAgICBpZih0eXBlID09IHRydWUpXHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIm51bWJlclwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRoaXMuaWRfTnVtYmVyICsgXCJcIjtcclxuICAgIH1cclxuICAgIC8v6K6h566X5Lik54K55LmL6Ze055u057q/6Led56a7XHJcbiAgICBkaXN0YW5jZUJldHdlZW5Ud29Qb2ludHMoeDE6IG51bWJlciwgeTE6IG51bWJlciwgeDI6IG51bWJlciwgeTI6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIE1hdGguc3FydCgoeDIgLSB4MSkgKiogMiArICh5MiAtIHkxKSAqKiAyKTtcclxuICAgIH1cclxuICAgIC8v54K55Ye75LqL5Lu2XHJcbiAgICBjbGlja0J0bihldmVudCxkYXRhKXtcclxuICAgICAgICBsZXQgcG9zID0gdGhpcy5ub2RlLmNvbnZlcnRUb05vZGVTcGFjZUFSKGV2ZW50LmdldExvY2F0aW9uKCkpO1xyXG4gICAgICAgIGxldCBkaXN0YW5jZSA9IHRoaXMuZGlzdGFuY2VCZXR3ZWVuVHdvUG9pbnRzKHBvcy54LCAwLCBwb3MueSwgMCk7XHJcbiAgICAgICAgZGlzdGFuY2UgPSBNYXRoLmZsb29yKGRpc3RhbmNlKjEwKS8xMDtcclxuICAgICAgICBpZih0aGlzLm5vZGUubmFtZSAhPSBcInFpdTRcIil7XHJcbiAgICAgICAgICAgIGlmKCB0aGlzLm1vdmUgPT0gZmFsc2UgJiYgdGhpcy50b3VjaCA9PSB0cnVlKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMubm9kZS5wYXJlbnQucGFyZW50Lm5hbWUgPT0gXCJHYW1lTm9kZVwiKXtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm5vZGUucGFyZW50LnBhcmVudC5nZXRDb21wb25lbnQoXCJHYW1lTWFuYWdlclwiKS5iZWdpbiA9PSB0cnVlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYWN0aW9uXCIpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudG8oMC41LHtvcGFjaXR5OjAsc2NhbGU6MS44fSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMubm9kZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvKDAuMyx7c2NhbGU6MS4zfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvKDAuMyx7c2NhbGU6MX0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubm9kZS56SW5kZXggPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGRhdGEgPSB7aWQ6dGhpcy5pZF9OdW1iZXIsZGlzdGFuY2U6ZGlzdGFuY2V9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoXCJjbGlja1N1blwiLGRhdGEpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b3VjaCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm9kZS56SW5kZXggPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IHtpZDp0aGlzLmlkX051bWJlcixkaXN0YW5jZTpkaXN0YW5jZX07XHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KFwiY2xpY2tTdW5cIixkYXRhKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGlmKCB0aGlzLnRvdWNoID09IHRydWUgJiYgdGhpcy5ub2RlLnBhcmVudC5wYXJlbnQuZ2V0Q29tcG9uZW50KFwiR3VpZGVNYW5hZ2VyXCIpLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy50b3VjaCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLnpJbmRleCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgbGV0IGRhdGEgPSB7aWQ6dGhpcy5pZF9OdW1iZXIsZGlzdGFuY2U6ZGlzdGFuY2V9O1xyXG4gICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KFwiY2xpY2tTdW5cIixkYXRhKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0= \ No newline at end of file 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 532cba3..3785554 100644 --- a/temp/quick-scripts/dst/assets/Script/module/Config/GameConfig.js +++ b/temp/quick-scripts/dst/assets/Script/module/Config/GameConfig.js @@ -51,25 +51,25 @@ var GameConfig = /** @class */ (function () { this.CLICK_init(); this.LEVEL_INFO_init(); var self = this; - cc.resources.load('Json/GM_INFO', function (err, res) { - if (err) { - share_1.WeChat.setShare(location.href); - self.Authentication(); - return; - } - var jsonData = res.json; - self.GM_INFO = jsonData["data"]; - self.setCode(self.getKey("scode")); - share_1.WeChat.setShare(location.href); - self.Authentication(); - }); - 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/GM_INFO', (err: any, res: cc.JsonAsset) => { + // if (err) { + // WeChat.setShare(location.href); + // // self.Authentication(); + // return; + // } + // let jsonData: object = res.json!; + // self.GM_INFO = jsonData["data"]; + // self.setCode(self.getKey("scode")); + // WeChat.setShare(location.href); + // // self.Authentication(); + // }) + // cc.resources.load('Json/CLICK_DATA', (err: any, res: cc.JsonAsset) => { + // if (err) { + // return; + // } + // let jsonData: object = res.json!; + // self.CLICK_DATA = jsonData["data"]; + // }) cc.resources.load('Json/LEVEL_INFO', function (err, res) { if (err) { return; @@ -94,9 +94,12 @@ var GameConfig = /** @class */ (function () { url: "https://api.sparkus.cn", success: false, matchId: null, - custom: 0 //用于测试跳关卡 + custom: 0, + gap: [] //存储点击到太阳中心距离 }; this.setCode(this.getKey("scode")); + share_1.WeChat.setShare(location.href); + this.Authentication(); }; GameConfig.CLICK_init = function () { this.CLICK_DATA = @@ -113,7 +116,8 @@ var GameConfig = /** @class */ (function () { difficultyLevel: 0, sunList: [], stepTimeList: [], - remainder: 120 //游戏剩余时间 + remainder: 120, + gap: [] //点击到太阳中心距离 }; }; GameConfig.LEVEL_INFO_init = function () { @@ -347,4 +351,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENvbmZpZ1xcR2FtZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3Q0FBd0M7QUFHbEMsSUFBQSxLQUF3QixFQUFFLENBQUMsVUFBVSxFQUFuQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWtCLENBQUM7QUFFNUM7SUFBQTtJQStWQSxDQUFDO21CQS9WWSxVQUFVO0lBNENuQixzQkFBVyxzQkFBUTthQUFuQjtZQUVJLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQzFCO2dCQUNJLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxZQUFVLEVBQUUsQ0FBQzthQUNyQztZQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMxQixDQUFDOzs7T0FBQTtJQUVNLGlCQUFNLEdBQWIsVUFBYyxHQUFHO1FBQ2IsSUFBSSxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxHQUFHLEdBQUcsR0FBRyxlQUFlLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDWCxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6QjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGVBQUksR0FBWDtRQUNJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXZCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQixFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxj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QUQsaUJBQUM7Q0EvVkQsQUErVkMsSUFBQTtBQS9WWSxnQ0FBVSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdlQ2hhdCB9IGZyb20gXCIuLi9TaGFyZS9zaGFyZVwiO1xyXG5cclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbkBjY2NsYXNzKCdHYW1lQ29uZmlnJylcclxuZXhwb3J0IGNsYXNzIEdhbWVDb25maWcgIHtcclxuICAgIC8v5omA5pyJ5o6n5Yi25L+h5oGv6YO96YCa6L+HR2FtZUFwcFN0YXJ05YaF5o6n5Yi2XHJcbiAgICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2UgOiBHYW1lQ29uZmlnID0gbnVsbDtcclxuICAgIC8v55So5LqO55ub5pS+5Z+L54K55pWw5o2u5LiK5Lyg77yM5q+P5qyh5LiK5Lyg5ZCO5riF56m6XHJcbiAgICBzdGF0aWMgR01fSU5GTzoge1xyXG4gICAgICAgIC8vIGlzRW5kOiBmYWxzZSxcclxuICAgICAgICBtZWFuX1RpbWU6IG51bWJlcjsgLy/lubPlnYfmlL7nrq3pgJ/luqZcclxuICAgICAgICB0b3RhbDogbnVtYmVyOyAvL+aAu+WFseWvueeahOS4quaVsFxyXG4gICAgICAgIGN1cnJTZWVkOiBudW1iZXI7IC8v55So5LqO6ZqP5py65pWw56eN5a2QXHJcbiAgICAgICAgZ2FtZUlkOiBzdHJpbmc7IC8v5ri45oiPSURcclxuICAgICAgICB1c2VySWQ6IG51bWJlcjsgLy/nlKjmiLdJRFxyXG4gICAgICAgIHNjb2RlOiBzdHJpbmc7ICAvL+eUqOaIt2NvZGVcclxuICAgICAgICBndWlkZTogYm9vbGVhbjsgLy/mmK/lkKbmnInlvJXlr7xcclxuICAgICAgICB1cmw6IHN0cmluZzsgLy/orr/pl67ln5/lkI1cclxuICAgICAgICBzdWNjZXNzOiBib29sZWFuOyAvL+eUqOaIt+a4uOaIj+aIkOWKn+S4juWQplxyXG4gICAgICAgIG1hdGNoSWQ6IGFueTsgLy/nlKjkuo7ln4vngrnkuIrkvKDnmoRJRFxyXG4gICAgICAgIGN1c3RvbTogbnVtYmVyOyAvL+eUqOS6jua1i+ivlei3s+WFs+WNoVxyXG4gICAgfTtcclxuICAgIHN0YXRpYyBDTElDS19EQVRBOiB7XHJcbiAgICAgICAgdHlwZTogbnVtYmVyOyAvL+S4iuS8oOaVsOaNruexu+Wei1xyXG4gICAgICAgIHN1Y2Nlc3M6IGJvb2xlYW47IC8v5q2k5bGA5ri45oiP6IOc6LSfICAgIFxyXG4gICAgICAgIHJvdW5kOiBudW1iZXI7IC8v5Zue5ZCI5pWwXHJcbiAgICAgICAgdG90YWxTdW5Db3VudDogbnVtYmVyOyAvL+WkqumYs+aAu+aVsFxyXG4gICAgICAgIG1vdmVkU3VuQ291bnQ6IG51bWJlcjsgLy/lj6/np7vliqjlpKrpmLPkuKrmlbBcclxuICAgICAgICBzdW5TcGVlZDogbnVtYmVyOyAvL+WkqumYs+enu+WKqOmAn+W6plxyXG4gICAgICAgIG92ZXJsYXBTdW5Db3VudDogbnVtYmVyOyAvL+mHjeWPoOWkqumYs+S4quaVsFxyXG4gICAgICAgIGNvbG9yTGlzdDogYW55W107IC8v5aSq6Ziz6aKc6Imy5pWw57uEXHJcbiAgICAgICAgZHVyYXRpb246IG51bWJlcjsgLy/mr4/mrKHngrnlh7vnmoTlj43lupTml7bpl7RcclxuICAgICAgICBkaWZmaWN1bHR5TGV2ZWw6IG51bWJlcjsgLy/mraTmrKHpmr7luqZcclxuICAgICAgICBzdW5MaXN0OiBhbnlbXTsgLy/lpKrpmLPmlbDnu4TvvIznlKjkuo7lrZjmlL7lpKrpmLPnsbvlnosgMDrmma7pgJogMTrnp7vliqggMjrph43lj6BcclxuICAgICAgICBzdGVwVGltZUxpc3Q6IGFueVtdOyAvL+avj+asoeeCueWHu+mXtOmalFxyXG4gICAgICAgIHJlbWFpbmRlcjogbnVtYmVyOyAvL+a4uOaIj+WJqeS9meaXtumXtFxyXG4gICAgfTtcclxuICAgIHN0YXRpYyBMRVZFTF9JTkZPOiB7IC8v56ys5LiA6Zq+5bqmXHJcbiAgICAgICAgbnVtYmVyOiBudW1iZXI7IC8v5aSq6Ziz5oC75pWwIFxyXG4gICAgICAgIG1vdmVOdW1iZXI6IG51bWJlcjsgLy/lpKrpmLPlj6/np7vliqjkuKrmlbBcclxuICAgICAgICBtb3ZlU3BlZWQ6IG51bWJlcjsgLy/lpKrpmLPnp7vliqjpgJ/luqbnrYnnuqdcclxuICAgICAgICBtYXhEaXN0YW5jZTogbnVtYmVyOyAvL+W4g+WxgOWQjuenu+WKqOacgOWkp+i3neemu1xyXG4gICAgICAgIG1heE1vdmU6IG51bWJlcjsgLy/mr4/kuKrlpKrpmLPkuYvpl7Tot53nprvmnIDlpKfpl7Tot51cclxuICAgICAgICByZXBlYXQ6IG51bWJlcjsgLy/mmK/lkKbph43lj6DvvIznjrDlnKgwIOS4jemHjeWPoCAxIOmHjeWPoDHkuKpcclxuICAgIH1bXTtcclxuICAgIHN0YXRpYyBHQU1FX0RBVEE6IGFueVtdO1xyXG5cclxuXHJcbiAgICBzdGF0aWMgZ2V0IEluc3RhbmNlKClcclxuICAgIHtcclxuICAgICAgICBpZiAodGhpcy5faW5zdGFuY2UgPT0gbnVsbClcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHRoaXMuX2luc3RhbmNlID0gbmV3IEdhbWVDb25maWcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luc3RhbmNlO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRLZXkoa2V5KXtcclxuICAgICAgICB2YXIgcmVnID0gbmV3IFJlZ0V4cCgnKF58JiknICsga2V5ICsgJz0oW14mXSopKCZ8JCknLCAnaScpO1xyXG4gICAgICAgIHZhciByID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHIoMSkubWF0Y2gocmVnKTtcclxuICAgICAgICBpZiAociAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1bmVzY2FwZShyWzJdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGluaXQoKXtcclxuICAgICAgICB0aGlzLkdNX0lORk9faW5pdCgpO1xyXG4gICAgICAgIHRoaXMuQ0xJQ0tfaW5pdCgpO1xyXG4gICAgICAgIHRoaXMuTEVWRUxfSU5GT19pbml0KCk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIGNjLnJlc291cmNlcy5sb2FkKCdKc29uL0dNX0lORk8nLCAoZXJyOiBhbnksIHJlczogY2MuSnNvbkFzc2V0KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlcnIpIHtcclxuICAgICAgICAgICAgICAgIFdlQ2hhdC5zZXRTaGFyZShsb2NhdGlvbi5ocmVmKTtcclxuICAgICAgICAgICAgICAgIHNlbGYuQXV0aGVudGljYXRpb24oKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQganNvbkRhdGE6IG9iamVjdCA9IHJlcy5qc29uITtcclxuICAgICAgICAgICAgc2VsZi5HTV9JTkZPID0ganNvbkRhdGFbXCJkYXRhXCJdO1xyXG4gICAgICAgICAgICBzZWxmLnNldENvZGUoc2VsZi5nZXRLZXkoXCJzY29kZVwiKSk7XHJcbiAgICAgICAgICAgIFdlQ2hhdC5zZXRTaGFyZShsb2NhdGlvbi5ocmVmKTtcclxuICAgICAgICAgICAgc2VsZi5BdXRoZW50aWNhdGlvbigpO1xyXG5cclxuICAgICAgICB9KVxyXG4gICAgICAgIGNjLnJlc291cmNlcy5sb2FkKCdKc29uL0NMSUNLX0RBVEEnLCAoZXJyOiBhbnksIHJlczogY2MuSnNvbkFzc2V0KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlcnIpIHtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGpzb25EYXRhOiBvYmplY3QgPSByZXMuanNvbiE7XHJcbiAgICAgICAgICAgIHNlbGYuQ0xJQ0tfREFUQSA9IGpzb25EYXRhW1wiZGF0YVwiXTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIGNjLnJlc291cmNlcy5sb2FkKCdKc29uL0xFVkVMX0lORk8nLCAoZXJyOiBhbnksIHJlczogY2MuSnNvbkFzc2V0KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlcnIpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQganNvbkRhdGE6IG9iamVjdCA9IHJlcy5qc29uITtcclxuICAgICAgICAgICAgc2VsZi5MRVZFTF9JTkZPID0ganNvbkRhdGFbXCJkYXRhXCJdO1xyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIC8vR0FNRV9EQVRBIOW6n+W8g+S6hu+8jOaaguaXtuS4jeWIoOmZpOS7pemYsuWQjumdouS/ruaUueWbniDkuIDmlbTlsYDkvKDkuIDmrKFcclxuICAgICAgICBzZWxmLkdBTUVfREFUQSA9IFtcclxuICAgICAgICBdXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8v5pWw5o2u5aSH55SoXHJcbiAgICBzdGF0aWMgR01fSU5GT19pbml0KCkge1xyXG4gICAgICAgIHRoaXMuR01fSU5GTyA9IHtcclxuICAgICAgICAgICAgLy8gaXNFbmQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBtZWFuX1RpbWU6IDAsICAgICAgICAgICAgICAgIC8v5bmz5Z2H5pS+566t6YCf5bqmXHJcbiAgICAgICAgICAgIHRvdGFsOiAwLCAgICAgICAgICAgICAgICAgICAgLy/mgLvlhbHlr7nnmoTkuKrmlbBcclxuICAgICAgICAgICAgY3VyclNlZWQ6IDIwMzIxMywgICAgICAgICAgIC8v55So5LqO6ZqP5py65pWw56eN5a2QXHJcbiAgICAgICAgICAgIGdhbWVJZDogJzEwMDAwOScsICAgICAgICAgICAvL+a4uOaIj0lEXHJcbiAgICAgICAgICAgIHVzZXJJZDogMCwgICAgICAgICAgICAgICAgICAvL+eUqOaIt0lEXHJcbiAgICAgICAgICAgIHNjb2RlOiBcIlwiLCAgICAgICAgICAgICAgICAgIC8v55So5oi3Y29kZSzku47nvZHpobXlkI7nvIDojrflj5ZcclxuICAgICAgICAgICAgZ3VpZGU6IHRydWUsICAgICAgICAgICAgICAgICAvL+aYr+WQpuacieW8leWvvFxyXG4gICAgICAgICAgICB1cmw6IFwiaHR0cHM6Ly9hcGkuc3Bhcmt1cy5jblwiLC8v6K6/6Zeu5Z+f5ZCNXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLCAgICAgICAgICAgICAvL+eUqOaIt+a4uOaIj+aIkOWKn+S4juWQplxyXG4gICAgICAgICAgICBtYXRjaElkOiBudWxsLCAgICAgICAgICAgICAgLy/nlKjkuo7ln4vngrnkuIrkvKDnmoRJRFxyXG4gICAgICAgICAgICBjdXN0b206IDAgICAgICAgICAgICAgICAgICAgLy/nlKjkuo7mtYvor5Xot7PlhbPljaFcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuc2V0Q29kZSh0aGlzLmdldEtleShcInNjb2RlXCIpKTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBDTElDS19pbml0KCkge1xyXG4gICAgICAgIHRoaXMuQ0xJQ0tfREFUQSA9XHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0eXBlOiAxLCAgICAgICAgICAgIC8v5LiK5Lyg5pWw5o2u57G75Z6LXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLCAgICAgLy/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+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6IDEwLFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzExIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiAzLFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzEyIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogMCxcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzEzIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE0IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE1IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE2IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAwXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE3IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE4IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE5IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMixcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzIwIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiA1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjogMyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogNixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOiAyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOiAxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OiAxXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgXVxyXG4gICAgfVxyXG4gICAgc3RhdGljIEF1dGhlbnRpY2F0aW9uKCl7XHJcbiAgICAgICAgY2MuZnguR2FtZVRvb2wuQXV0aGVudGljYXRpb24oKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgc2V0Q29kZShjb2RlKXtcclxuICAgICAgICB0aGlzLkdNX0lORk8uc2NvZGUgPSBjb2RlO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENvbmZpZ1xcR2FtZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3Q0FBd0M7QUFHbEMsSUFBQSxLQUF3QixFQUFFLENBQUMsVUFBVSxFQUFuQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWtCLENBQUM7QUFFNUM7SUFBQTtJQXVXQSxDQUFDO21CQXZXWSxVQUFVO0lBK0NuQixzQkFBVyxzQkFBUTthQUFuQjtZQUVJLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQzFCO2dCQUNJLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxZQUFVLEVBQUUsQ0FBQzthQUNyQztZQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMxQixDQUFDOzs7T0FBQTtJQUVNLGlCQUFNLEdBQWIsVUFBYyxHQUFHO1FBQ2IsSUFBSSxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxHQUFHLEdBQUcsR0FBRyxlQUFlLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDWCxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6QjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGVBQUksR0FBWDtRQUNJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXZCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQix1RUFBdUU7UUFDdkUsaUJBQWlCO1FBQ2pCLDBDQUEwQztRQUMxQyxvQ0FBb0M7UUFDcEMsa0JBQWtCO1FBQ2xCLFFBQVE7UUFDUix3Q0FBd0M7UUFDeEMsdUNBQXVDO1FBQ3ZDLDBDQUEwQztRQUMxQyxzQ0FBc0M7UUFDdEMsZ0NBQWdDO1FBRWhDLEtBQUs7UUFDTCwwRUFBMEU7UUFDMUUsaUJBQWlCO1FBRWpCLGtCQUFrQjtRQUNsQixRQUFRO1FBQ1Isd0NBQXdDO1FBQ3hDLDBDQUEwQztRQUMxQyxLQUFLO1FBQ0wsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsVUFBQyxHQUFRLEVBQUUsR0FBaUI7WUFDN0QsSUFBSSxHQUFHLEVBQUU7Z0JBQ0wsT0FBTzthQUNWO1lBQ0QsSUFBSSxRQUFRLEdBQVcsR0FBRyxDQUFDLElBQUssQ0FBQztZQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQTtRQUVGLG1DQUFtQztRQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQ2hCLENBQUE7SUFDTCxDQUFDO0lBRUQsTUFBTTtJQUNDLHVCQUFZLEdBQW5CO1FBQ0ksSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNYLGdCQUFnQjtZQUNoQixTQUFTLEVBQUUsQ0FBQztZQUNaLEtBQUssRUFBRSxDQUFDO1lBQ1IsUUFBUSxFQUFFLE1BQU07WUFDaEIsTUFBTSxFQUFFLFFBQVE7WUFDaEIsTUFBTSxFQUFFLENBQUM7WUFDVCxLQUFLLEVBQUUsRUFBRTtZQUNULEtBQUssRUFBRSxJQUFJO1lBQ1gsR0FBRyxFQUFFLHdCQUF3QjtZQUM3QixPQUFPLEVBQUUsS0FBSztZQUNkLE9BQU8sRUFBRSxJQUFJO1lBQ2IsTUFBTSxFQUFFLENBQUM7WUFDVCxHQUFHLEVBQUMsRUFBRSxDQUFzQixhQUFhO1NBQzVDLENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNuQyxjQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNNLHFCQUFVLEdBQWpCO1FBQ0ksSUFBSSxDQUFDLFVBQVU7WUFDZjtnQkFDSSxJQUFJLEVBQUUsQ0FBQztnQkFDUCxPQUFPLEVBQUUsS0FBSztnQkFDZCxLQUFLLEVBQUUsQ0FBQztnQkFDUixhQUFhLEVBQUUsQ0FBQztnQkFDaEIsYUFBYSxFQUFFLENBQUM7Z0JBQ2hCLFFBQVEsRUFBRSxDQUFDO2dCQUNYLGVBQWUsRUFBRSxDQUFDO2dCQUNsQixTQUFTLEVBQUUsRUFBRTtnQkFDYixRQUFRLEVBQUUsQ0FBQztnQkFDWCxlQUFlLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLFNBQVMsRUFBRSxHQUFHO2dCQUNkLEdBQUcsRUFBQyxFQUFFLENBQWMsV0FBVzthQUNsQyxDQUFBO0lBRUwsQ0FBQztJQUNNLDBCQUFlLEdBQXRCO1FBQ0ksSUFBSSxDQUFDLFVBQVUsR0FBRztZQUNkO2dCQUNJLE1BQU0sRUFBRSxDQUFDO2dCQUNULFVBQVUsRUFBRSxDQUFDO2dCQUNiLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFdBQVcsRUFBRSxHQUFHO2dCQUNoQixPQUFPLEVBQUUsSUFBSTtnQkFDYixNQUFNLEVBQUUsQ0FBQyxDQUFRLHFCQUFxQjthQUN6QztZQUNEO2dCQUNJLE1BQU0sRUFBRSxDQUFDO2dCQUNULFVBQVUsRUFBRSxDQUFDO2dCQUNiLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFdBQVcsRUFBRSxHQUFHO2dCQUNoQixPQUFPLEVBQUUsSUFBSTtnQkFDYixNQUFNLEVBQUUsQ0FBQzthQUNaO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFFLENBQUM7Z0JBQ1QsVUFBVSxFQUFFLENBQUM7Z0JBQ2IsU0FBUyxFQUFFLENBQUM7Z0JBQ1osV0FBVyxFQUFFLEdBQUc7Z0JBQ2hCLE9BQU8sRUFBRSxJQUFJO2dCQUNiLE1BQU0sRUFBRSxDQUFDO2FBQ1o7WUFDRDtnQkFDSSxNQUFNLEVBQUUsQ0FBQztnQkFDVCxVQUFVLEVBQUUsQ0FBQztnQkFDYixTQUFTLEVBQUUsQ0FBQztnQkFDWixXQUFXLEVBQUUsR0FBRztnQkFDaEIsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsTUFBTSxFQUFFLENBQUM7YUFDWjtZQUNEO2dCQUNJLE1BQU0sRUFBRSxDQUFDO2dCQUNULFVBQVUsRUFBRSxDQUFDO2dCQUNiLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFdBQVcsRUFBRSxHQUFHO2dCQUNoQixPQUFPLEVBQUUsSUFBSTtnQkFDYixNQUFNLEVBQUUsQ0FBQzthQUNaO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFFLENBQUM7Z0JBQ1QsVUFBVSxFQUFFLENBQUM7Z0JBQ2IsU0FBUyxFQUFFLENBQUM7Z0JBQ1osV0FBVyxFQUFFLEdBQUc7Z0JBQ2hCLE9BQU8sRUFBRSxJQUFJO2dCQUNiLE1BQU0sRUFBRSxDQUFDO2FBQ1o7WUFDRDtnQkFDSSxNQUFNLEVBQUUsQ0FBQztnQkFDVCxVQUFVLEVBQUUsQ0FBQztnQkFDYixTQUFTLEVBQUUsQ0FBQztnQkFDWixXQUFXLEVBQUUsR0FBRztnQkFDaEIsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsTUFBTSxFQUFFLENBQUM7YUFDWjtZQUNEO2dCQUNJLE1BQU0sRUFBRSxDQUFDO2dCQUNULFVBQVUsRUFBRSxDQUFDO2dCQUNiLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFdBQVcsRUFBRSxHQUFHO2dCQUNoQixPQUFPLEVBQUUsSUFBSTtnQkFDYixNQUFNLEVBQUUsQ0FBQzthQUNaO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFFLENBQUM7Z0JBQ1QsVUFBVSxFQUFFLENBQUM7Z0JBQ2IsU0FBUyxFQUFFLENBQUM7Z0JBQ1osV0FBVyxFQUFFLEdBQUc7Z0JBQ2hCLE9BQU8sRUFBRSxJQUFJO2dCQUNiLE1BQU0sRUFBRSxDQUFDO2FBQ1o7WUFDRDtnQkFDSSxNQUFNLEVBQUUsQ0FBQztnQkFDVCxVQUFVLEVBQUUsQ0FBQztnQkFDYixTQUFTLEVBQUUsQ0FBQztnQkFDWixXQUFXLEVBQUUsR0FBRztnQkFDaEIsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsTUFBTSxFQUFFLENBQUM7YUFDWjtZQUNEO2dCQUNJLE1BQU0sRUFBRSxDQUFDO2dCQUNULFVBQVUsRUFBRSxDQUFDO2dCQUNiLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFdBQVcsRUFBRSxHQUFHO2dCQUNoQixPQUFPLEVBQUUsSUFBSTtnQkFDYixNQUFNLEVBQUUsQ0FBQzthQUNaO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFFLENBQUM7Z0JBQ1QsVUFBVSxFQUFFLENBQUM7Z0JBQ2IsU0FBUyxFQUFFLENBQUM7Z0JBQ1osV0FBVyxFQUFFLEdBQUc7Z0JBQ2hCLE9BQU8sRUFBRSxJQUFJO2dCQUNiLE1BQU0sRUFBRSxDQUFDO2FBQ1o7WUFDRDtnQkFDSSxNQUFNLEVBQUUsQ0FBQztnQkFDVCxVQUFVLEVBQUUsQ0FBQztnQkFDYixTQUFTLEVBQUUsQ0FBQztnQkFDWixXQUFXLEVBQUUsR0FBRztnQkFDaEIsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsTUFBTSxFQUFFLENBQUM7YUFDWjtZQUNEO2dCQUNJLE1BQU0sRUFBRSxDQUFDO2dCQUNULFVBQVUsRUFBRSxDQUFDO2dCQUNiLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFdBQVcsRUFBRSxHQUFHO2dCQUNoQixPQUFPLEVBQUUsSUFBSTtnQkFDYixNQUFNLEVBQUUsQ0FBQzthQUNaO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsVUFBVSxFQUFFLENBQUM7Z0JBQ2IsU0FBUyxFQUFFLENBQUM7Z0JBQ1osV0FBVyxFQUFFLEdBQUc7Z0JBQ2hCLE9BQU8sRUFBRSxJQUFJO2dCQUNiLE1BQU0sRUFBRSxDQUFDO2FBQ1o7WUFDRDtnQkFDSSxNQUFNLEVBQUUsQ0FBQztnQkFDVCxVQUFVLEVBQUUsQ0FBQztnQkFDYixTQUFTLEVBQUUsQ0FBQztnQkFDWixXQUFXLEVBQUUsR0FBRztnQkFDaEIsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsTUFBTSxFQUFFLENBQUM7YUFDWjtZQUNEO2dCQUNJLE1BQU0sRUFBRSxDQUFDO2dCQUNULFVBQVUsRUFBRSxDQUFDO2dCQUNiLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFdBQVcsRUFBRSxHQUFHO2dCQUNoQixPQUFPLEVBQUUsSUFBSTtnQkFDYixNQUFNLEVBQUUsQ0FBQzthQUNaO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFFLENBQUM7Z0JBQ1QsVUFBVSxFQUFFLENBQUM7Z0JBQ2IsU0FBUyxFQUFFLENBQUM7Z0JBQ1osV0FBVyxFQUFFLEdBQUc7Z0JBQ2hCLE9BQU8sRUFBRSxJQUFJO2dCQUNiLE1BQU0sRUFBRSxDQUFDO2FBQ1o7WUFDRDtnQkFDSSxNQUFNLEVBQUUsQ0FBQztnQkFDVCxVQUFVLEVBQUUsQ0FBQztnQkFDYixTQUFTLEVBQUUsQ0FBQztnQkFDWixXQUFXLEVBQUUsR0FBRztnQkFDaEIsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsTUFBTSxFQUFFLENBQUM7YUFDWjtZQUNEO2dCQUNJLE1BQU0sRUFBRSxDQUFDO2dCQUNULFVBQVUsRUFBRSxDQUFDO2dCQUNiLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFdBQVcsRUFBRSxHQUFHO2dCQUNoQixPQUFPLEVBQUUsSUFBSTtnQkFDYixNQUFNLEVBQUUsQ0FBQzthQUNaO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFFLENBQUM7Z0JBQ1QsVUFBVSxFQUFFLENBQUM7Z0JBQ2IsU0FBUyxFQUFFLENBQUM7Z0JBQ1osV0FBVyxFQUFFLEdBQUc7Z0JBQ2hCLE9BQU8sRUFBRSxJQUFJO2dCQUNiLE1BQU0sRUFBRSxDQUFDO2FBQ1o7WUFDRDtnQkFDSSxNQUFNLEVBQUUsQ0FBQztnQkFDVCxVQUFVLEVBQUUsQ0FBQztnQkFDYixTQUFTLEVBQUUsQ0FBQztnQkFDWixXQUFXLEVBQUUsR0FBRztnQkFDaEIsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsTUFBTSxFQUFFLENBQUM7YUFDWjtZQUNEO2dCQUNJLE1BQU0sRUFBRSxDQUFDO2dCQUNULFVBQVUsRUFBRSxDQUFDO2dCQUNiLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFdBQVcsRUFBRSxHQUFHO2dCQUNoQixPQUFPLEVBQUUsSUFBSTtnQkFDYixNQUFNLEVBQUUsQ0FBQzthQUNaO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFFLENBQUM7Z0JBQ1QsVUFBVSxFQUFFLENBQUM7Z0JBQ2IsU0FBUyxFQUFFLENBQUM7Z0JBQ1osV0FBVyxFQUFFLEdBQUc7Z0JBQ2hCLE9BQU8sRUFBRSxJQUFJO2dCQUNiLE1BQU0sRUFBRSxDQUFDO2FBQ1o7WUFDRDtnQkFDSSxNQUFNLEVBQUUsQ0FBQztnQkFDVCxVQUFVLEVBQUUsQ0FBQztnQkFDYixTQUFTLEVBQUUsQ0FBQztnQkFDWixXQUFXLEVBQUUsR0FBRztnQkFDaEIsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsTUFBTSxFQUFFLENBQUM7YUFDWjtTQUVKLENBQUE7SUFDTCxDQUFDO0lBQ00seUJBQWMsR0FBckI7UUFDSSxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU0sa0JBQU8sR0FBZCxVQUFlLElBQUk7UUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQzs7SUFwV0QsMEJBQTBCO0lBQ1gsb0JBQVMsR0FBZ0IsSUFBSSxDQUFDO0lBRnBDLFVBQVU7UUFEdEIsT0FBTyxDQUFDLFlBQVksQ0FBQztPQUNULFVBQVUsQ0F1V3RCO0lBQUQsaUJBQUM7Q0F2V0QsQUF1V0MsSUFBQTtBQXZXWSxnQ0FBVSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdlQ2hhdCB9IGZyb20gXCIuLi9TaGFyZS9zaGFyZVwiO1xyXG5cclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbkBjY2NsYXNzKCdHYW1lQ29uZmlnJylcclxuZXhwb3J0IGNsYXNzIEdhbWVDb25maWcgIHtcclxuICAgIC8v5omA5pyJ5o6n5Yi25L+h5oGv6YO96YCa6L+HR2FtZUFwcFN0YXJ05YaF5o6n5Yi2XHJcbiAgICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2UgOiBHYW1lQ29uZmlnID0gbnVsbDtcclxuICAgIC8v55So5LqO55ub5pS+5Z+L54K55pWw5o2u5LiK5Lyg77yM5q+P5qyh5LiK5Lyg5ZCO5riF56m6XHJcblxyXG4gICAgc3RhdGljIExFVkVMX0lORk86IHsgLy/nrKzkuIDpmr7luqZcclxuICAgICAgICBudW1iZXI6IG51bWJlcjsgLy/lpKrpmLPmgLvmlbAgXHJcbiAgICAgICAgbW92ZU51bWJlcjogbnVtYmVyOyAvL+WkqumYs+WPr+enu+WKqOS4quaVsFxyXG4gICAgICAgIG1vdmVTcGVlZDogbnVtYmVyOyAvL+WkqumYs+enu+WKqOmAn+W6puetiee6p1xyXG4gICAgICAgIG1heERpc3RhbmNlOiBudW1iZXI7IC8v5biD5bGA5ZCO56e75Yqo5pyA5aSn6Led56a7XHJcbiAgICAgICAgbWF4TW92ZTogbnVtYmVyOyAvL+avj+S4quWkqumYs+S5i+mXtOi3neemu+acgOWkp+mXtOi3nVxyXG4gICAgICAgIHJlcGVhdDogbnVtYmVyOyAvL+aYr+WQpumHjeWPoO+8jOeOsOWcqDAg5LiN6YeN5Y+gIDEg6YeN5Y+gMeS4qlxyXG4gICAgfVtdO1xyXG4gICAgc3RhdGljIEdBTUVfREFUQTogYW55W107XHJcbiAgICBzdGF0aWMgQ0xJQ0tfREFUQToge1xyXG4gICAgICAgIHR5cGU6IG51bWJlcjsgLy/kuIrkvKDmlbDmja7nsbvlnotcclxuICAgICAgICBzdWNjZXNzOiBib29sZWFuOyAvL+atpOWxgOa4uOaIj+iDnOi0nyAgICBcclxuICAgICAgICByb3VuZDogbnVtYmVyOyAvL+WbnuWQiOaVsFxyXG4gICAgICAgIHRvdGFsU3VuQ291bnQ6IG51bWJlcjsgLy/lpKrpmLPmgLvmlbBcclxuICAgICAgICBtb3ZlZFN1bkNvdW50OiBudW1iZXI7IC8v5Y+v56e75Yqo5aSq6Ziz5Liq5pWwXHJcbiAgICAgICAgc3VuU3BlZWQ6IG51bWJlcjsgLy/lpKrpmLPnp7vliqjpgJ/luqZcclxuICAgICAgICBvdmVybGFwU3VuQ291bnQ6IG51bWJlcjsgLy/ph43lj6DlpKrpmLPkuKrmlbBcclxuICAgICAgICBjb2xvckxpc3Q6IGFueVtdOyAvL+WkqumYs+minOiJsuaVsOe7hFxyXG4gICAgICAgIGR1cmF0aW9uOiBudW1iZXI7IC8v5q+P5qyh54K55Ye755qE5Y+N5bqU5pe26Ze0XHJcbiAgICAgICAgZGlmZmljdWx0eUxldmVsOiBudW1iZXI7IC8v5q2k5qyh6Zq+5bqmXHJcbiAgICAgICAgc3VuTGlzdDogYW55W107IC8v5aSq6Ziz5pWw57uE77yM55So5LqO5a2Y5pS+5aSq6Ziz57G75Z6LIDA65pmu6YCaIDE656e75YqoIDI66YeN5Y+gXHJcbiAgICAgICAgc3RlcFRpbWVMaXN0OiBhbnlbXTsgLy/mr4/mrKHngrnlh7vpl7TpmpRcclxuICAgICAgICByZW1haW5kZXI6IG51bWJlcjsgLy/muLjmiI/liankvZnml7bpl7RcclxuICAgICAgICBnYXA6IGFueVtdOyAvL+eCueWHu+WIsOWkqumYs+S4reW/g+i3neemu1xyXG4gICAgfTtcclxuICAgIHN0YXRpYyBHTV9JTkZPOiB7XHJcbiAgICAgICAgLy8gaXNFbmQ6IGZhbHNlLFxyXG4gICAgICAgIG1lYW5fVGltZTogbnVtYmVyOyAvL+W5s+Wdh+aUvueuremAn+W6plxyXG4gICAgICAgIHRvdGFsOiBudW1iZXI7IC8v5oC75YWx5a+555qE5Liq5pWwXHJcbiAgICAgICAgY3VyclNlZWQ6IG51bWJlcjsgLy/nlKjkuo7pmo/mnLrmlbDnp43lrZBcclxuICAgICAgICBnYW1lSWQ6IHN0cmluZzsgLy/muLjmiI9JRFxyXG4gICAgICAgIHVzZXJJZDogbnVtYmVyOyAvL+eUqOaIt0lEXHJcbiAgICAgICAgc2NvZGU6IHN0cmluZzsgLy/nlKjmiLdjb2RlLOS7jue9kemhteWQjue8gOiOt+WPllxyXG4gICAgICAgIGd1aWRlOiBib29sZWFuOyAvL+aYr+WQpuacieW8leWvvFxyXG4gICAgICAgIHVybDogc3RyaW5nOyAvL+iuv+mXruWfn+WQjVxyXG4gICAgICAgIHN1Y2Nlc3M6IGJvb2xlYW47IC8v55So5oi35ri45oiP5oiQ5Yqf5LiO5ZCmXHJcbiAgICAgICAgbWF0Y2hJZDogYW55OyAvL+eUqOS6juWfi+eCueS4iuS8oOeahElEXHJcbiAgICAgICAgY3VzdG9tOiBudW1iZXI7IC8v55So5LqO5rWL6K+V6Lez5YWz5Y2hXHJcbiAgICAgICAgZ2FwOiBhbnlbXTsgLy/lrZjlgqjngrnlh7vliLDlpKrpmLPkuK3lv4Pot53nprtcclxuICAgIH07XHJcblxyXG5cclxuICAgIHN0YXRpYyBnZXQgSW5zdGFuY2UoKVxyXG4gICAge1xyXG4gICAgICAgIGlmICh0aGlzLl9pbnN0YW5jZSA9PSBudWxsKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5faW5zdGFuY2UgPSBuZXcgR2FtZUNvbmZpZygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5faW5zdGFuY2U7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldEtleShrZXkpe1xyXG4gICAgICAgIHZhciByZWcgPSBuZXcgUmVnRXhwKCcoXnwmKScgKyBrZXkgKyAnPShbXiZdKikoJnwkKScsICdpJyk7XHJcbiAgICAgICAgdmFyIHIgPSB3aW5kb3cubG9jYXRpb24uc2VhcmNoLnN1YnN0cigxKS5tYXRjaChyZWcpO1xyXG4gICAgICAgIGlmIChyICE9IG51bGwpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVuZXNjYXBlKHJbMl0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgaW5pdCgpe1xyXG4gICAgICAgIHRoaXMuR01fSU5GT19pbml0KCk7XHJcbiAgICAgICAgdGhpcy5DTElDS19pbml0KCk7XHJcbiAgICAgICAgdGhpcy5MRVZFTF9JTkZPX2luaXQoKTtcclxuICAgICAgICBcclxuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgLy8gY2MucmVzb3VyY2VzLmxvYWQoJ0pzb24vR01fSU5GTycsIChlcnI6IGFueSwgcmVzOiBjYy5Kc29uQXNzZXQpID0+IHtcclxuICAgICAgICAvLyAgICAgaWYgKGVycikge1xyXG4gICAgICAgIC8vICAgICAgICAgV2VDaGF0LnNldFNoYXJlKGxvY2F0aW9uLmhyZWYpO1xyXG4gICAgICAgIC8vICAgICAgICAgLy8gc2VsZi5BdXRoZW50aWNhdGlvbigpO1xyXG4gICAgICAgIC8vICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gICAgIGxldCBqc29uRGF0YTogb2JqZWN0ID0gcmVzLmpzb24hO1xyXG4gICAgICAgIC8vICAgICBzZWxmLkdNX0lORk8gPSBqc29uRGF0YVtcImRhdGFcIl07XHJcbiAgICAgICAgLy8gICAgIHNlbGYuc2V0Q29kZShzZWxmLmdldEtleShcInNjb2RlXCIpKTtcclxuICAgICAgICAvLyAgICAgV2VDaGF0LnNldFNoYXJlKGxvY2F0aW9uLmhyZWYpO1xyXG4gICAgICAgIC8vICAgICAvLyBzZWxmLkF1dGhlbnRpY2F0aW9uKCk7XHJcblxyXG4gICAgICAgIC8vIH0pXHJcbiAgICAgICAgLy8gY2MucmVzb3VyY2VzLmxvYWQoJ0pzb24vQ0xJQ0tfREFUQScsIChlcnI6IGFueSwgcmVzOiBjYy5Kc29uQXNzZXQpID0+IHtcclxuICAgICAgICAvLyAgICAgaWYgKGVycikge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAvLyAgICAgICAgIHJldHVybjtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vICAgICBsZXQganNvbkRhdGE6IG9iamVjdCA9IHJlcy5qc29uITtcclxuICAgICAgICAvLyAgICAgc2VsZi5DTElDS19EQVRBID0ganNvbkRhdGFbXCJkYXRhXCJdO1xyXG4gICAgICAgIC8vIH0pXHJcbiAgICAgICAgY2MucmVzb3VyY2VzLmxvYWQoJ0pzb24vTEVWRUxfSU5GTycsIChlcnI6IGFueSwgcmVzOiBjYy5Kc29uQXNzZXQpID0+IHtcclxuICAgICAgICAgICAgaWYgKGVycikge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBqc29uRGF0YTogb2JqZWN0ID0gcmVzLmpzb24hO1xyXG4gICAgICAgICAgICBzZWxmLkxFVkVMX0lORk8gPSBqc29uRGF0YVtcImRhdGFcIl07XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgICAgLy9HQU1FX0RBVEEg5bqf5byD5LqG77yM5pqC5pe25LiN5Yig6Zmk5Lul6Ziy5ZCO6Z2i5L+u5pS55ZueIOS4gOaVtOWxgOS8oOS4gOasoVxyXG4gICAgICAgIHNlbGYuR0FNRV9EQVRBID0gW1xyXG4gICAgICAgIF1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy/mlbDmja7lpIfnlKhcclxuICAgIHN0YXRpYyBHTV9JTkZPX2luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5HTV9JTkZPID0ge1xyXG4gICAgICAgICAgICAvLyBpc0VuZDogZmFsc2UsXHJcbiAgICAgICAgICAgIG1lYW5fVGltZTogMCwgICAgICAgICAgICAgICAgLy/lubPlnYfmlL7nrq3pgJ/luqZcclxuICAgICAgICAgICAgdG90YWw6IDAsICAgICAgICAgICAgICAgICAgICAvL+aAu+WFseWvueeahOS4quaVsFxyXG4gICAgICAgICAgICBjdXJyU2VlZDogMjAzMjEzLCAgICAgICAgICAgLy/nlKjkuo7pmo/mnLrmlbDnp43lrZBcclxuICAgICAgICAgICAgZ2FtZUlkOiAnMTAwMDA5JywgICAgICAgICAgIC8v5ri45oiPSURcclxuICAgICAgICAgICAgdXNlcklkOiAwLCAgICAgICAgICAgICAgICAgIC8v55So5oi3SURcclxuICAgICAgICAgICAgc2NvZGU6IFwiXCIsICAgICAgICAgICAgICAgICAgLy/nlKjmiLdjb2RlLOS7jue9kemhteWQjue8gOiOt+WPllxyXG4gICAgICAgICAgICBndWlkZTogdHJ1ZSwgICAgICAgICAgICAgICAgIC8v5piv5ZCm5pyJ5byV5a+8XHJcbiAgICAgICAgICAgIHVybDogXCJodHRwczovL2FwaS5zcGFya3VzLmNuXCIsLy/orr/pl67ln5/lkI1cclxuICAgICAgICAgICAgc3VjY2VzczogZmFsc2UsICAgICAgICAgICAgIC8v55So5oi35ri45oiP5oiQ5Yqf5LiO5ZCmXHJcbiAgICAgICAgICAgIG1hdGNoSWQ6IG51bGwsICAgICAgICAgICAgICAvL+eUqOS6juWfi+eCueS4iuS8oOeahElEXHJcbiAgICAgICAgICAgIGN1c3RvbTogMCwgICAgICAgICAgICAgICAgICAgLy/nlKjkuo7mtYvor5Xot7PlhbPljaFcclxuICAgICAgICAgICAgZ2FwOltdICAgICAgICAgICAgICAgICAgICAgIC8v5a2Y5YKo54K55Ye75Yiw5aSq6Ziz5Lit5b+D6Led56a7XHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLnNldENvZGUodGhpcy5nZXRLZXkoXCJzY29kZVwiKSk7XHJcbiAgICAgICAgV2VDaGF0LnNldFNoYXJlKGxvY2F0aW9uLmhyZWYpO1xyXG4gICAgICAgIHRoaXMuQXV0aGVudGljYXRpb24oKTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBDTElDS19pbml0KCkge1xyXG4gICAgICAgIHRoaXMuQ0xJQ0tfREFUQSA9XHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0eXBlOiAxLCAgICAgICAgICAgIC8v5LiK5Lyg5pWw5o2u57G75Z6LXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLCAgICAgLy/mraTlsYDmuLjmiI/og5zotJ8gICAgXHJcbiAgICAgICAgICAgIHJvdW5kOiAwLCAgICAgICAgICAgLy/lm57lkIjmlbBcclxuICAgICAgICAgICAgdG90YWxTdW5Db3VudDogMCwgICAvL+WkqumYs+aAu+aVsFxyXG4gICAgICAgICAgICBtb3ZlZFN1bkNvdW50OiAwLCAgIC8v5Y+v56e75Yqo5aSq6Ziz5Liq5pWwXHJcbiAgICAgICAgICAgIHN1blNwZWVkOiAwLCAgICAgICAgLy/lpKrpmLPnp7vliqjpgJ/luqZcclxuICAgICAgICAgICAgb3ZlcmxhcFN1bkNvdW50OiAwLCAvL+mHjeWPoOWkqumYs+S4quaVsFxyXG4gICAgICAgICAgICBjb2xvckxpc3Q6IFtdLCAgICAgIC8v5aSq6Ziz6aKc6Imy5pWw57uEXHJcbiAgICAgICAgICAgIGR1cmF0aW9uOiAwLCAgICAgICAgLy/mr4/mrKHngrnlh7vnmoTlj43lupTml7bpl7RcclxuICAgICAgICAgICAgZGlmZmljdWx0eUxldmVsOiAwLCAvL+atpOasoemavuW6plxyXG4gICAgICAgICAgICBzdW5MaXN0OiBbXSwgICAgICAgIC8v5aSq6Ziz5pWw57uE77yM55So5LqO5a2Y5pS+5aSq6Ziz57G75Z6LIDA65pmu6YCaIDE656e75YqoIDI66YeN5Y+gXHJcbiAgICAgICAgICAgIHN0ZXBUaW1lTGlzdDogW10sICAgLy/mr4/mrKHngrnlh7vpl7TpmpRcclxuICAgICAgICAgICAgcmVtYWluZGVyOiAxMjAsICAgICAgLy/muLjmiI/liankvZnml7bpl7RcclxuICAgICAgICAgICAgZ2FwOltdICAgICAgICAgICAgICAvL+eCueWHu+WIsOWkqumYs+S4reW/g+i3neemu1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICBzdGF0aWMgTEVWRUxfSU5GT19pbml0KCkge1xyXG4gICAgICAgIHRoaXMuTEVWRUxfSU5GTyA9IFtcclxuICAgICAgICAgICAgeyAgIC8v56ys5LiA6Zq+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+esrOWNgeS6lOmavuW6plxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOiAxMCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xMSBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogMyxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xMiBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDAsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xMyBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xNCBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xNSBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xNiBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xNyBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xOCBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8xOSBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDIsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy8yMCBcclxuICAgICAgICAgICAgICAgIG51bWJlcjogNSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6IDMsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZTogMjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZTogMTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDogMVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIF1cclxuICAgIH1cclxuICAgIHN0YXRpYyBBdXRoZW50aWNhdGlvbigpe1xyXG4gICAgICAgIGNjLmZ4LkdhbWVUb29sLkF1dGhlbnRpY2F0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHNldENvZGUoY29kZSl7XHJcbiAgICAgICAgdGhpcy5HTV9JTkZPLnNjb2RlID0gY29kZTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbiJdfQ== \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/module/Share/share.js b/temp/quick-scripts/dst/assets/Script/module/Share/share.js index 5df725a..11b3b89 100644 --- a/temp/quick-scripts/dst/assets/Script/module/Share/share.js +++ b/temp/quick-scripts/dst/assets/Script/module/Share/share.js @@ -69,6 +69,7 @@ var WeChat = /** @class */ (function () { WeChat.getResult = function (res) { if (res) { var data = res.data; + // @ts-ignore wx.config({ debug: false, appId: data.appId, @@ -77,6 +78,7 @@ var WeChat = /** @class */ (function () { signature: data.signature, jsApiList: ['onMenuShareTimeline', 'updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareAppMessage'] }); + // @ts-ignore wx.checkJsApi({ jsApiList: ['updateAppMessageShareData'], success: function (res) { @@ -91,7 +93,9 @@ var WeChat = /** @class */ (function () { } }; WeChat.changeShare = function () { + // @ts-ignore wx.ready(function () { + // @ts-ignore wx.updateAppMessageShareData({ title: '记忆力认知测评', desc: '你的注意力和工作记忆有问题吗?', @@ -103,6 +107,7 @@ var WeChat = /** @class */ (function () { } }); setTimeout(function () { + // @ts-ignore wx.updateTimelineShareData({ title: '记忆力认知测评', link: shareConfig.shareLine, @@ -151,4 +156,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFNoYXJlXFxzaGFyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFJLFdBQVcsR0FBRztJQUNkLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFNBQVMsRUFBRSxVQUFVO0lBQ3JCLEVBQUUsRUFBQyxVQUFVO0NBQ2QsQ0FBQztBQVdKLFFBQVE7QUFDUjtJQUFBO0lBK0VBLENBQUM7SUE5RVUsZUFBUSxHQUFmLFVBQWdCLEdBQUc7UUFDZixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsV0FBVyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7UUFDaEMsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sZ0JBQVMsR0FBaEIsVUFBaUIsR0FBRztRQUNoQixJQUFHLEdBQUcsRUFBQztZQUNILElBQUksSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDcEIsRUFBRSxDQUFDLE1BQU0sQ0FBQztnQkFDTixLQUFLLEVBQUUsS0FBSztnQkFDWixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztnQkFDekIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUN2QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLFNBQVMsRUFBRSxDQUFDLHFCQUFxQixFQUFDLDJCQUEyQixFQUFFLHlCQUF5QixFQUFFLHVCQUF1QixDQUFDO2FBQ3JILENBQUMsQ0FBQztZQUNILEVBQUUsQ0FBQyxVQUFVLENBQUM7Z0JBQ1YsU0FBUyxFQUFFLENBQUMsMkJBQTJCLENBQUM7Z0JBQ3hDLE9BQU8sRUFBRSxVQUFTLEdBQUc7b0JBQ2pCLFVBQVUsQ0FBQzt3QkFDUCxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ3pCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDUixVQUFVLENBQUM7d0JBQ1AsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUN6QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ1osQ0FBQzthQUNKLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVNLGtCQUFXLEdBQWxCO1FBQ0ksRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNMLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztnQkFDekIsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLElBQUksRUFBRSxXQUFXLENBQUMsU0FBUztnQkFDM0IsTUFBTSxFQUFFLCtDQUErQztnQkFDdkQsT0FBTyxFQUFFO29CQUNQLE9BQU87b0JBQ1AsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDMUIsQ0FBQzthQUNKLENBQUMsQ0FBQztZQUNILFVBQVUsQ0FBQztnQkFDUCxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ3ZCLEtBQUssRUFBRSxTQUFTO29CQUNoQixJQUFJLEVBQUUsV0FBVyxDQUFDLFNBQVM7b0JBQzNCLE1BQU0sRUFBRSwrQ0FBK0M7b0JBQ3ZELE9BQU8sRUFBRTt3QkFDUCxPQUFPO3dCQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQzNCLENBQUM7aUJBQ0YsQ0FBQyxDQUFBO1lBQ1IsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRVosQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sbUJBQVksR0FBbkIsVUFBb0IsR0FBVztRQUMzQixPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTztZQUN2QixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ1ksbUJBQVksR0FBekIsVUFBMEIsUUFBZ0IsRUFBRSxRQUFpQjt1Q0FBRyxPQUFPOzs7Z0JBQzdELElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO2dCQUNoRCxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLDJCQUF5QixFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxjQUFTLElBQUksYUFBUSxRQUFVLEVBQUMsRUFBRSxDQUFDLENBQUE7Z0JBQzlILHNCQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxFQUFBOzs7S0FDNUM7SUFHTSxxQkFBYyxHQUFyQixVQUFzQixHQUFHO1FBQ3JCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sd0JBQWlCLEdBQXhCLFVBQXlCLEdBQUc7UUFDeEIsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUwsYUFBQztBQUFELENBL0VBLEFBK0VDLElBQUE7QUEvRVksd0JBQU0iLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcblxudmFyIHNoYXJlQ29uZmlnID0ge1xuICAgIGdhbWVJZDogXCIxMDAwMDlcIixcbiAgICBzaGFyZUxpbmU6IFwiekRMc3J1VklcIixcbiAgICBFSzpcImh1aTIzMSUxXCJcbiAgfTtcblxuLy8g5a6a5LmJ5b6u5L+h6YWN572u5pWw5o2u55qE5o6l5Y+jXG5pbnRlcmZhY2UgSVdlQ2hhdENvbmZpZyB7XG4gICAgYXBwSWQ6IHN0cmluZztcbiAgICB0aW1lc3RhbXA6IG51bWJlcjtcbiAgICBub25jZVN0cjogc3RyaW5nO1xuICAgIHNpZ25hdHVyZTogc3RyaW5nO1xuICAgIGpzQXBpTGlzdDogW107XG59XG5cbi8vIOW+ruS/oeaTjeS9nOexu1xuZXhwb3J0IGNsYXNzIFdlQ2hhdCB7XG4gICAgc3RhdGljIHNldFNoYXJlKHVybCkge1xuICAgICAgICB2YXIgdXJsVGVtcCA9IHRoaXMucmVtb3ZlUXVlcnlQYXJhbXModXJsKTtcbiAgICAgICAgc2hhcmVDb25maWcuc2hhcmVMaW5lID0gdXJsVGVtcDtcbiAgICAgICAgV2VDaGF0LmdldFNpZ25hdHVyZSh1cmwpO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXRSZXN1bHQocmVzKXtcbiAgICAgICAgaWYocmVzKXtcbiAgICAgICAgICAgIHZhciBkYXRhID0gcmVzLmRhdGE7XG4gICAgICAgICAgICB3eC5jb25maWcoe1xuICAgICAgICAgICAgICAgIGRlYnVnOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBhcHBJZDogZGF0YS5hcHBJZCxcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA6IGRhdGEudGltZXN0YW1wLFxuICAgICAgICAgICAgICAgIG5vbmNlU3RyOiBkYXRhLm5vbmNlU3RyLFxuICAgICAgICAgICAgICAgIHNpZ25hdHVyZTogZGF0YS5zaWduYXR1cmUsXG4gICAgICAgICAgICAgICAganNBcGlMaXN0OiBbJ29uTWVudVNoYXJlVGltZWxpbmUnLCd1cGRhdGVBcHBNZXNzYWdlU2hhcmVEYXRhJywgJ3VwZGF0ZVRpbWVsaW5lU2hhcmVEYXRhJywgJ29uTWVudVNoYXJlQXBwTWVzc2FnZSddXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHd4LmNoZWNrSnNBcGkoe1xuICAgICAgICAgICAgICAgIGpzQXBpTGlzdDogWyd1cGRhdGVBcHBNZXNzYWdlU2hhcmVEYXRhJ10sIC8vIOmcgOimgeajgOa1i+eahEpT5o6l5Y+j5YiX6KGo77yM5omA5pyJSlPmjqXlj6PliJfooajop4HpmYTlvZUyLFxuICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgIFxuICAgICAgICAgICAgICAgICAgICAgICAgV2VDaGF0LmNoYW5nZVNoYXJlKCk7XG4gICAgICAgICAgICAgICAgICAgIH0sIDIwMCk7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgV2VDaGF0LmNoYW5nZVNoYXJlKCk7XG4gICAgICAgICAgICAgICAgICAgIH0sIDUwMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgY2hhbmdlU2hhcmUoKXtcbiAgICAgICAgd3gucmVhZHkoKCkgPT4ge1xuICAgICAgICAgICAgd3gudXBkYXRlQXBwTWVzc2FnZVNoYXJlRGF0YSh7IFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn6K6w5b+G5Yqb6K6k55+l5rWL6K+EJywgLy8g5YiG5Lqr5qCH6aKYXG4gICAgICAgICAgICAgICAgZGVzYzogJ+S9oOeahOazqOaEj+WKm+WSjOW3peS9nOiusOW/huaciemXrumimOWQl++8nycsIC8vIOWIhuS6q+aPj+i/sFxuICAgICAgICAgICAgICAgIGxpbms6IHNoYXJlQ29uZmlnLnNoYXJlTGluZSwgLy8g5YiG5Lqr6ZO+5o6l77yM6K+l6ZO+5o6l5Z+f5ZCN5oiW6Lev5b6E5b+F6aG75LiO5b2T5YmN6aG16Z2i5a+55bqU55qE5YWs5LyX5Y+3SlPlronlhajln5/lkI3kuIDoh7RcbiAgICAgICAgICAgICAgICBpbWdVcmw6ICdodHRwczovL3N0YXRpYy5zcGFya3VzLmNuL3B1YmxpYy9zaG9vdHN1bi5qcGcnLCAvLyDliIbkuqvlm77moIdcbiAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAvLyDorr7nva7miJDlip9cbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5YiG5Lqr5aW95Y+L5oiQ5Yqf5Zue6LCDXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgd3gudXBkYXRlVGltZWxpbmVTaGFyZURhdGEoeyBcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICforrDlv4blipvorqTnn6XmtYvor4QnLCAvLyDliIbkuqvmoIfpophcbiAgICAgICAgICAgICAgICAgICAgbGluazogc2hhcmVDb25maWcuc2hhcmVMaW5lLCAvLyDliIbkuqvpk77mjqXvvIzor6Xpk77mjqXln5/lkI3miJbot6/lvoTlv4XpobvkuI7lvZPliY3pobXpnaLlr7nlupTnmoTlhazkvJflj7dKU+WuieWFqOWfn+WQjeS4gOiHtFxuICAgICAgICAgICAgICAgICAgICBpbWdVcmw6ICdodHRwczovL3N0YXRpYy5zcGFya3VzLmNuL3B1YmxpYy9zaG9vdHN1bi5qcGcnLCAvLyDliIbkuqvlm77moIdcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgIC8vIOiuvue9ruaIkOWKn1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5YiG5Lqr5pyL5Y+L5ZyI5oiQ5Yqf5Zue6LCDXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSwgMjAwKTtcblxuICAgICAgICB9KTsgXG4gICAgfVxuXG4gICAgc3RhdGljIGdldFNpZ25hdHVyZSh1cmw6IHN0cmluZyk6IFByb21pc2U8SVdlQ2hhdENvbmZpZz4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIFdlQ2hhdC5nZXRTaGFyZUluZm8oKGVuY29kZVVSSUNvbXBvbmVudCh1cmwpKSxXZUNoYXQuZ2V0UmVzdWx0KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHN0YXRpYyBhc3luYyBnZXRTaGFyZUluZm8oc2hhcmVVcmw6IHN0cmluZywgY2FsbGJhY2s6RnVuY3Rpb24pOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCB0aW1lID0gTWF0aC5mbG9vcigobmV3IERhdGUoKS5nZXRUaW1lKCkpIC8gMTAwMClcbiAgICAgICAgY29uc3QgdXJsID0gY2MuZnguSHR0cFV0aWwuYXBpU2lnbihgL2FwaS9zaGFyZS9jZmc/Z2FtZUlkPSR7Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZH0mdGltZT0ke3RpbWV9JnVybD0ke3NoYXJlVXJsfWAse30pXG4gICAgICAgIHJldHVybiBjYy5meC5IdHRwVXRpbC5nZXQodXJsLGNhbGxiYWNrLDMpXG4gICAgfVxuXG4gICAgXG4gICAgc3RhdGljIGNvbnRhaW5zTmFuYW5hKHN0cikge1xuICAgICAgICByZXR1cm4gL3Rlc3QvaS50ZXN0KHN0cik7XG4gICAgfVxuXG4gICAgc3RhdGljIHJlbW92ZVF1ZXJ5UGFyYW1zKHVybCkge1xuICAgICAgICByZXR1cm4gdXJsLnJlcGxhY2UoL1xcPy4qJC8sICcnKTtcbiAgICB9XG5cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFNoYXJlXFxzaGFyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFJLFdBQVcsR0FBRztJQUNkLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFNBQVMsRUFBRSxVQUFVO0lBQ3JCLEVBQUUsRUFBQyxVQUFVO0NBQ2QsQ0FBQztBQVdKLFFBQVE7QUFDUjtJQUFBO0lBb0ZBLENBQUM7SUFuRlUsZUFBUSxHQUFmLFVBQWdCLEdBQUc7UUFDZixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsV0FBVyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7UUFDaEMsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sZ0JBQVMsR0FBaEIsVUFBaUIsR0FBRztRQUNoQixJQUFHLEdBQUcsRUFBQztZQUNILElBQUksSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDcEIsYUFBYTtZQUNiLEVBQUUsQ0FBQyxNQUFNLENBQUM7Z0JBQ04sS0FBSyxFQUFFLEtBQUs7Z0JBQ1osS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN6QixTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsRUFBQywyQkFBMkIsRUFBRSx5QkFBeUIsRUFBRSx1QkFBdUIsQ0FBQzthQUNySCxDQUFDLENBQUM7WUFDSCxhQUFhO1lBQ2IsRUFBRSxDQUFDLFVBQVUsQ0FBQztnQkFDVixTQUFTLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztnQkFDeEMsT0FBTyxFQUFFLFVBQVMsR0FBRztvQkFDakIsVUFBVSxDQUFDO3dCQUNQLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDekIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO29CQUNSLFVBQVUsQ0FBQzt3QkFDUCxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ3pCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDWixDQUFDO2FBQ0osQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRU0sa0JBQVcsR0FBbEI7UUFDSSxhQUFhO1FBQ2IsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNMLGFBQWE7WUFDYixFQUFFLENBQUMseUJBQXlCLENBQUM7Z0JBQ3pCLEtBQUssRUFBRSxTQUFTO2dCQUNoQixJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixJQUFJLEVBQUUsV0FBVyxDQUFDLFNBQVM7Z0JBQzNCLE1BQU0sRUFBRSwrQ0FBK0M7Z0JBQ3ZELE9BQU8sRUFBRTtvQkFDUCxPQUFPO29CQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzFCLENBQUM7YUFDSixDQUFDLENBQUM7WUFDSCxVQUFVLENBQUM7Z0JBQ1AsYUFBYTtnQkFDYixFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ3ZCLEtBQUssRUFBRSxTQUFTO29CQUNoQixJQUFJLEVBQUUsV0FBVyxDQUFDLFNBQVM7b0JBQzNCLE1BQU0sRUFBRSwrQ0FBK0M7b0JBQ3ZELE9BQU8sRUFBRTt3QkFDUCxPQUFPO3dCQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQzNCLENBQUM7aUJBQ0YsQ0FBQyxDQUFBO1lBQ1IsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRVosQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sbUJBQVksR0FBbkIsVUFBb0IsR0FBVztRQUMzQixPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTztZQUN2QixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ1ksbUJBQVksR0FBekIsVUFBMEIsUUFBZ0IsRUFBRSxRQUFpQjt1Q0FBRyxPQUFPOzs7Z0JBQzdELElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO2dCQUNoRCxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLDJCQUF5QixFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxjQUFTLElBQUksYUFBUSxRQUFVLEVBQUMsRUFBRSxDQUFDLENBQUE7Z0JBQzlILHNCQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxFQUFBOzs7S0FDNUM7SUFHTSxxQkFBYyxHQUFyQixVQUFzQixHQUFHO1FBQ3JCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sd0JBQWlCLEdBQXhCLFVBQXlCLEdBQUc7UUFDeEIsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUwsYUFBQztBQUFELENBcEZBLEFBb0ZDLElBQUE7QUFwRlksd0JBQU0iLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcblxudmFyIHNoYXJlQ29uZmlnID0ge1xuICAgIGdhbWVJZDogXCIxMDAwMDlcIixcbiAgICBzaGFyZUxpbmU6IFwiekRMc3J1VklcIixcbiAgICBFSzpcImh1aTIzMSUxXCJcbiAgfTtcblxuLy8g5a6a5LmJ5b6u5L+h6YWN572u5pWw5o2u55qE5o6l5Y+jXG5pbnRlcmZhY2UgSVdlQ2hhdENvbmZpZyB7XG4gICAgYXBwSWQ6IHN0cmluZztcbiAgICB0aW1lc3RhbXA6IG51bWJlcjtcbiAgICBub25jZVN0cjogc3RyaW5nO1xuICAgIHNpZ25hdHVyZTogc3RyaW5nO1xuICAgIGpzQXBpTGlzdDogW107XG59XG5cbi8vIOW+ruS/oeaTjeS9nOexu1xuZXhwb3J0IGNsYXNzIFdlQ2hhdCB7XG4gICAgc3RhdGljIHNldFNoYXJlKHVybCkge1xuICAgICAgICB2YXIgdXJsVGVtcCA9IHRoaXMucmVtb3ZlUXVlcnlQYXJhbXModXJsKTtcbiAgICAgICAgc2hhcmVDb25maWcuc2hhcmVMaW5lID0gdXJsVGVtcDtcbiAgICAgICAgV2VDaGF0LmdldFNpZ25hdHVyZSh1cmwpO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXRSZXN1bHQocmVzKXtcbiAgICAgICAgaWYocmVzKXtcbiAgICAgICAgICAgIHZhciBkYXRhID0gcmVzLmRhdGE7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICB3eC5jb25maWcoe1xuICAgICAgICAgICAgICAgIGRlYnVnOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBhcHBJZDogZGF0YS5hcHBJZCxcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA6IGRhdGEudGltZXN0YW1wLFxuICAgICAgICAgICAgICAgIG5vbmNlU3RyOiBkYXRhLm5vbmNlU3RyLFxuICAgICAgICAgICAgICAgIHNpZ25hdHVyZTogZGF0YS5zaWduYXR1cmUsXG4gICAgICAgICAgICAgICAganNBcGlMaXN0OiBbJ29uTWVudVNoYXJlVGltZWxpbmUnLCd1cGRhdGVBcHBNZXNzYWdlU2hhcmVEYXRhJywgJ3VwZGF0ZVRpbWVsaW5lU2hhcmVEYXRhJywgJ29uTWVudVNoYXJlQXBwTWVzc2FnZSddXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHd4LmNoZWNrSnNBcGkoe1xuICAgICAgICAgICAgICAgIGpzQXBpTGlzdDogWyd1cGRhdGVBcHBNZXNzYWdlU2hhcmVEYXRhJ10sIC8vIOmcgOimgeajgOa1i+eahEpT5o6l5Y+j5YiX6KGo77yM5omA5pyJSlPmjqXlj6PliJfooajop4HpmYTlvZUyLFxuICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgIFxuICAgICAgICAgICAgICAgICAgICAgICAgV2VDaGF0LmNoYW5nZVNoYXJlKCk7XG4gICAgICAgICAgICAgICAgICAgIH0sIDIwMCk7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgV2VDaGF0LmNoYW5nZVNoYXJlKCk7XG4gICAgICAgICAgICAgICAgICAgIH0sIDUwMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgY2hhbmdlU2hhcmUoKXtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB3eC5yZWFkeSgoKSA9PiB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICB3eC51cGRhdGVBcHBNZXNzYWdlU2hhcmVEYXRhKHsgXG4gICAgICAgICAgICAgICAgdGl0bGU6ICforrDlv4blipvorqTnn6XmtYvor4QnLCAvLyDliIbkuqvmoIfpophcbiAgICAgICAgICAgICAgICBkZXNjOiAn5L2g55qE5rOo5oSP5Yqb5ZKM5bel5L2c6K6w5b+G5pyJ6Zeu6aKY5ZCX77yfJywgLy8g5YiG5Lqr5o+P6L+wXG4gICAgICAgICAgICAgICAgbGluazogc2hhcmVDb25maWcuc2hhcmVMaW5lLCAvLyDliIbkuqvpk77mjqXvvIzor6Xpk77mjqXln5/lkI3miJbot6/lvoTlv4XpobvkuI7lvZPliY3pobXpnaLlr7nlupTnmoTlhazkvJflj7dKU+WuieWFqOWfn+WQjeS4gOiHtFxuICAgICAgICAgICAgICAgIGltZ1VybDogJ2h0dHBzOi8vc3RhdGljLnNwYXJrdXMuY24vcHVibGljL3Nob290c3VuLmpwZycsIC8vIOWIhuS6q+Wbvuagh1xuICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgIC8vIOiuvue9ruaIkOWKn1xuICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCLliIbkuqvlpb3lj4vmiJDlip/lm57osINcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgd3gudXBkYXRlVGltZWxpbmVTaGFyZURhdGEoeyBcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICforrDlv4blipvorqTnn6XmtYvor4QnLCAvLyDliIbkuqvmoIfpophcbiAgICAgICAgICAgICAgICAgICAgbGluazogc2hhcmVDb25maWcuc2hhcmVMaW5lLCAvLyDliIbkuqvpk77mjqXvvIzor6Xpk77mjqXln5/lkI3miJbot6/lvoTlv4XpobvkuI7lvZPliY3pobXpnaLlr7nlupTnmoTlhazkvJflj7dKU+WuieWFqOWfn+WQjeS4gOiHtFxuICAgICAgICAgICAgICAgICAgICBpbWdVcmw6ICdodHRwczovL3N0YXRpYy5zcGFya3VzLmNuL3B1YmxpYy9zaG9vdHN1bi5qcGcnLCAvLyDliIbkuqvlm77moIdcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgIC8vIOiuvue9ruaIkOWKn1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5YiG5Lqr5pyL5Y+L5ZyI5oiQ5Yqf5Zue6LCDXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSwgMjAwKTtcblxuICAgICAgICB9KTsgXG4gICAgfVxuXG4gICAgc3RhdGljIGdldFNpZ25hdHVyZSh1cmw6IHN0cmluZyk6IFByb21pc2U8SVdlQ2hhdENvbmZpZz4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIFdlQ2hhdC5nZXRTaGFyZUluZm8oKGVuY29kZVVSSUNvbXBvbmVudCh1cmwpKSxXZUNoYXQuZ2V0UmVzdWx0KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHN0YXRpYyBhc3luYyBnZXRTaGFyZUluZm8oc2hhcmVVcmw6IHN0cmluZywgY2FsbGJhY2s6RnVuY3Rpb24pOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCB0aW1lID0gTWF0aC5mbG9vcigobmV3IERhdGUoKS5nZXRUaW1lKCkpIC8gMTAwMClcbiAgICAgICAgY29uc3QgdXJsID0gY2MuZnguSHR0cFV0aWwuYXBpU2lnbihgL2FwaS9zaGFyZS9jZmc/Z2FtZUlkPSR7Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZH0mdGltZT0ke3RpbWV9JnVybD0ke3NoYXJlVXJsfWAse30pXG4gICAgICAgIHJldHVybiBjYy5meC5IdHRwVXRpbC5nZXQodXJsLGNhbGxiYWNrLDMpXG4gICAgfVxuXG4gICAgXG4gICAgc3RhdGljIGNvbnRhaW5zTmFuYW5hKHN0cikge1xuICAgICAgICByZXR1cm4gL3Rlc3QvaS50ZXN0KHN0cik7XG4gICAgfVxuXG4gICAgc3RhdGljIHJlbW92ZVF1ZXJ5UGFyYW1zKHVybCkge1xuICAgICAgICByZXR1cm4gdXJsLnJlcGxhY2UoL1xcPy4qJC8sICcnKTtcbiAgICB9XG5cbn1cbiJdfQ== \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/GameManager.js b/temp/quick-scripts/src/assets/Script/GameManager.js index 6552a26..17e856a 100644 --- a/temp/quick-scripts/src/assets/Script/GameManager.js +++ b/temp/quick-scripts/src/assets/Script/GameManager.js @@ -234,6 +234,7 @@ var GameManager = /** @class */ (function (_super) { this.ball_Array[k].removeFromParent(); this.ball_Array[k] = null; } + cc.fx.GameConfig.GM_INFO.gap = []; }; //点击太阳执行方法 GameManager.prototype.clickSun = function (data) { @@ -243,12 +244,13 @@ var GameManager = /** @class */ (function (_super) { var clickTime = cc.fx.GameTool.getTime(); this.time_Array.push((clickTime - this.timeStart)); this.timeStart = cc.fx.GameTool.getTime(); - if (data == this.clickNow) { + if (data.id == this.clickNow) { cc.fx.AudioManager._instance.playAudioButton(); if (this.clickNow > 0) { 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), 0.2); } this.clickNow += 1; + cc.fx.GameConfig.GM_INFO.gap.push(data.distance); if (this.ball_Array[this.clickNow - 1]) this.ball_Array[this.clickNow - 1].getChildByName("guang").active = false; if (this.clickNow == this.now_Array.length) { @@ -303,7 +305,8 @@ var GameManager = /** @class */ (function (_super) { difficultyLevel: this.level, sunList: sunArray, stepTimeList: this.time_Array, - remainder: this.countTime + remainder: this.countTime, + gap: cc.fx.GameConfig.GM_INFO.gap }; if (cc.fx.GameConfig.CLICK_DATA.duration > 50) { cc.fx.GameConfig.CLICK_DATA.duration = 50; @@ -337,12 +340,12 @@ var GameManager = /** @class */ (function (_super) { } } else { - this.setLoss(); + this.setLoss(data); } } }; //执行失败 - GameManager.prototype.setLoss = function () { + GameManager.prototype.setLoss = function (data) { cc.fx.AudioManager._instance.playWarning(); this.begin = false; this.overTime = cc.fx.GameTool.getTime(); @@ -378,6 +381,7 @@ var GameManager = /** @class */ (function (_super) { sunArray.push(0); } } + cc.fx.GameConfig.GM_INFO.gap.push(data.distance); cc.fx.GameConfig.CLICK_DATA = { type: 1, @@ -392,7 +396,8 @@ var GameManager = /** @class */ (function (_super) { difficultyLevel: this.level, sunList: sunArray, stepTimeList: this.time_Array, - remainder: this.countTime + remainder: this.countTime, + gap: cc.fx.GameConfig.GM_INFO.gap }; if (cc.fx.GameConfig.CLICK_DATA.duration > 50) { cc.fx.GameConfig.CLICK_DATA.duration = 50; @@ -927,7 +932,7 @@ var GameManager = /** @class */ (function (_super) { this.begin = false; this.over = true; this.unschedule(this.updateCountDownTime); - this.setLoss(); + this.setLoss({ distance: 0 }); var time = 0; if (this.clickCount > 0) time = parseInt(cc.fx.GameConfig.GM_INFO.mean_Time / this.clickCount + ""); diff --git a/temp/quick-scripts/src/assets/Script/GameOver.js b/temp/quick-scripts/src/assets/Script/GameOver.js index 1d9e284..d6063c2 100644 --- a/temp/quick-scripts/src/assets/Script/GameOver.js +++ b/temp/quick-scripts/src/assets/Script/GameOver.js @@ -107,6 +107,9 @@ var NewClass = /** @class */ (function (_super) { }; //根据内容填充排行榜 NewClass.prototype.setRank = function (num, data) { + if (!data) { + return; + } var hitNode = null; if (num == 0) { hitNode = this.one; @@ -125,7 +128,7 @@ var NewClass = /** @class */ (function (_super) { } if (hitNode) { hitNode.active = true; - cc.fx.GameTool.subName(data.nickName, 4); + data.nickName = cc.fx.GameTool.subName(data.nickName, 4); hitNode.getChildByName("name").getComponent(cc.Label).string = data.nickName; hitNode.getChildByName("total").getComponent(cc.Label).string = data.totalSunCount; cc.fx.GameTool.setPic(hitNode.getChildByName("pic").getChildByName("icon"), data.pic); diff --git a/temp/quick-scripts/src/assets/Script/GameOver.js.map b/temp/quick-scripts/src/assets/Script/GameOver.js.map index fcb00c8..e1a0c3b 100644 --- a/temp/quick-scripts/src/assets/Script/GameOver.js.map +++ b/temp/quick-scripts/src/assets/Script/GameOver.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\GameOver.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n @property(cc.Label)\r\n count: cc.Label = null;\r\n @property(cc.Label)\r\n time: cc.Label = null;\r\n @property(cc.Node)\r\n selfNode: cc.Node = null;\r\n @property(cc.Node)\r\n one: cc.Node = null;\r\n @property(cc.Node)\r\n two: cc.Node = null;\r\n @property(cc.Node)\r\n three: cc.Node = null;\r\n @property(cc.Node)\r\n four: cc.Node = null;\r\n @property(cc.Node)\r\n five: cc.Node = null;\r\n listData: any;\r\n selfData: any;\r\n // onLoad () {}\r\n start () {\r\n this.count.string = cc.fx.GameConfig.GM_INFO.total + \"\";\r\n if(cc.fx.GameConfig.GM_INFO.mean_Time > 10){\r\n cc.fx.GameConfig.GM_INFO.mean_Time = (parseInt(Math.random()*10+\"\")+5)/10\r\n }\r\n this.time.string = cc.fx.GameConfig.GM_INFO.mean_Time + \"s\";\r\n this.init();\r\n }\r\n //初始化数据\r\n init(){\r\n this.listData = [];\r\n this.selfData = null;\r\n this.one.active = false;\r\n this.two.active = false;\r\n this.three.active = false;\r\n this.four.active = false;\r\n this.five.active = false;\r\n var urlNow = window.location.href;\r\n if(this.containsTrain(urlNow)){\r\n this.node.getChildByName(\"again\").active = false;\r\n this.node.getChildByName(\"back\").active = false;\r\n this.node.getChildByName(\"finishi\").active = true;\r\n }\r\n else{\r\n this.node.getChildByName(\"again\").active = true;\r\n this.node.getChildByName(\"back\").active = true;\r\n this.node.getChildByName(\"finishi\").active = false;\r\n }\r\n this.getRank();\r\n }\r\n //打开排行榜\r\n jumpFinishi(){\r\n let url = \"https://train.sparkus.cn/poster/game/\" + cc.fx.GameConfig.GM_INFO.scode + \"?suc=1\";\r\n window.location.href = url;\r\n }\r\n //打开排行榜\r\n openRank(){\r\n cc.director.loadScene(\"RankScene\");\r\n }\r\n //重新开始玩\r\n again(){\r\n cc.director.loadScene(\"GameScene\");\r\n }\r\n //判断来源\r\n containsTrain(str) {\r\n return /from=train/i.test(str);\r\n }\r\n //获取排行榜\r\n getRank(){\r\n //获取排行榜数据 所需数据量\r\n let dataFile = {\r\n length:5\r\n }\r\n cc.fx.GameTool.getRank(dataFile,data =>this.getRankData(data));\r\n }\r\n //设置排行信息\r\n getRankData(data){\r\n if(data){\r\n cc.fx.GameTool.getRankData(data,this,4);\r\n cc.fx.GameTool.setPic(this.selfNode.getChildByName(\"pic\").getChildByName(\"icon\"),this.selfData.pic);\r\n for(let i=0;i<=4;i++){\r\n this.setRank(i,this.listData[i]);\r\n }\r\n }\r\n }\r\n //根据内容填充排行榜\r\n setRank(num,data){\r\n var hitNode = null;\r\n if(num == 0){\r\n hitNode = this.one;\r\n }\r\n else if(num == 1){\r\n hitNode = this.two;\r\n }\r\n else if(num == 2){\r\n hitNode = this.three;\r\n }\r\n else if(num == 3){\r\n hitNode = this.four;\r\n }\r\n else if(num == 4){\r\n hitNode = this.five;\r\n }\r\n if(hitNode){\r\n hitNode.active = true;\r\n cc.fx.GameTool.subName(data.nickName,4);\r\n hitNode.getChildByName(\"name\").getComponent(cc.Label).string = data.nickName;\r\n hitNode.getChildByName(\"total\").getComponent(cc.Label).string = data.totalSunCount;\r\n cc.fx.GameTool.setPic(hitNode.getChildByName(\"pic\").getChildByName(\"icon\"),data.pic);\r\n }\r\n } \r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\GameOver.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n @property(cc.Label)\r\n count: cc.Label = null;\r\n @property(cc.Label)\r\n time: cc.Label = null;\r\n @property(cc.Node)\r\n selfNode: cc.Node = null;\r\n @property(cc.Node)\r\n one: cc.Node = null;\r\n @property(cc.Node)\r\n two: cc.Node = null;\r\n @property(cc.Node)\r\n three: cc.Node = null;\r\n @property(cc.Node)\r\n four: cc.Node = null;\r\n @property(cc.Node)\r\n five: cc.Node = null;\r\n listData: any;\r\n selfData: any;\r\n // onLoad () {}\r\n start () {\r\n this.count.string = cc.fx.GameConfig.GM_INFO.total + \"\";\r\n if(cc.fx.GameConfig.GM_INFO.mean_Time > 10){\r\n cc.fx.GameConfig.GM_INFO.mean_Time = (parseInt(Math.random()*10+\"\")+5)/10\r\n }\r\n this.time.string = cc.fx.GameConfig.GM_INFO.mean_Time + \"s\";\r\n this.init();\r\n }\r\n //初始化数据\r\n init(){\r\n this.listData = [];\r\n this.selfData = null;\r\n this.one.active = false;\r\n this.two.active = false;\r\n this.three.active = false;\r\n this.four.active = false;\r\n this.five.active = false;\r\n var urlNow = window.location.href;\r\n if(this.containsTrain(urlNow)){\r\n this.node.getChildByName(\"again\").active = false;\r\n this.node.getChildByName(\"back\").active = false;\r\n this.node.getChildByName(\"finishi\").active = true;\r\n }\r\n else{\r\n this.node.getChildByName(\"again\").active = true;\r\n this.node.getChildByName(\"back\").active = true;\r\n this.node.getChildByName(\"finishi\").active = false;\r\n }\r\n this.getRank();\r\n }\r\n //打开排行榜\r\n jumpFinishi(){\r\n let url = \"https://train.sparkus.cn/poster/game/\" + cc.fx.GameConfig.GM_INFO.scode + \"?suc=1\";\r\n window.location.href = url;\r\n }\r\n //打开排行榜\r\n openRank(){\r\n cc.director.loadScene(\"RankScene\");\r\n }\r\n //重新开始玩\r\n again(){\r\n cc.director.loadScene(\"GameScene\");\r\n }\r\n //判断来源\r\n containsTrain(str) {\r\n return /from=train/i.test(str);\r\n }\r\n //获取排行榜\r\n getRank(){\r\n //获取排行榜数据 所需数据量\r\n let dataFile = {\r\n length:5\r\n }\r\n cc.fx.GameTool.getRank(dataFile,data =>this.getRankData(data));\r\n }\r\n //设置排行信息\r\n getRankData(data){\r\n if(data){\r\n cc.fx.GameTool.getRankData(data,this,4);\r\n cc.fx.GameTool.setPic(this.selfNode.getChildByName(\"pic\").getChildByName(\"icon\"),this.selfData.pic);\r\n for(let i=0;i<=4;i++){\r\n this.setRank(i,this.listData[i]);\r\n }\r\n }\r\n }\r\n //根据内容填充排行榜\r\n setRank(num,data){\r\n if(!data){\r\n return;\r\n }\r\n var hitNode = null;\r\n if(num == 0){\r\n hitNode = this.one;\r\n }\r\n else if(num == 1){\r\n hitNode = this.two;\r\n }\r\n else if(num == 2){\r\n hitNode = this.three;\r\n }\r\n else if(num == 3){\r\n hitNode = this.four;\r\n }\r\n else if(num == 4){\r\n hitNode = this.five;\r\n }\r\n if(hitNode){\r\n hitNode.active = true;\r\n data.nickName = cc.fx.GameTool.subName(data.nickName,4);\r\n hitNode.getChildByName(\"name\").getComponent(cc.Label).string = data.nickName;\r\n hitNode.getChildByName(\"total\").getComponent(cc.Label).string = data.totalSunCount;\r\n cc.fx.GameTool.setPic(hitNode.getChildByName(\"pic\").getChildByName(\"icon\"),data.pic);\r\n }\r\n } \r\n}\r\n"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/Sun.js b/temp/quick-scripts/src/assets/Script/Sun.js index 90cb91c..3f5caf7 100644 --- a/temp/quick-scripts/src/assets/Script/Sun.js +++ b/temp/quick-scripts/src/assets/Script/Sun.js @@ -31,6 +31,7 @@ var NewClass = /** @class */ (function (_super) { } // onLoad () {} NewClass.prototype.start = function () { + this.node.on(cc.Node.EventType.TOUCH_START, this.clickBtn, this); }; //初始化数据 NewClass.prototype.init = function (_id, color, speed, repeat) { @@ -55,9 +56,16 @@ var NewClass = /** @class */ (function (_super) { if (type == true) this.node.getChildByName("number").getComponent(cc.Label).string = this.id_Number + ""; }; + //计算两点之间直线距离 + NewClass.prototype.distanceBetweenTwoPoints = function (x1, y1, x2, y2) { + return Math.sqrt(Math.pow((x2 - x1), 2) + Math.pow((y2 - y1), 2)); + }; //点击事件 NewClass.prototype.clickBtn = function (event, data) { - if (data === "1") { + var pos = this.node.convertToNodeSpaceAR(event.getLocation()); + var distance = this.distanceBetweenTwoPoints(pos.x, 0, pos.y, 0); + distance = Math.floor(distance * 10) / 10; + if (this.node.name != "qiu4") { if (this.move == false && this.touch == true) { if (this.node.parent.parent.name == "GameNode") { if (this.node.parent.parent.getComponent("GameManager").begin == true) { @@ -70,13 +78,15 @@ var NewClass = /** @class */ (function (_super) { .start(); this.touch = false; this.node.zIndex = -1; - cc.fx.Notifications.emit("clickSun", this.id_Number); + var data_1 = { id: this.id_Number, distance: distance }; + cc.fx.Notifications.emit("clickSun", data_1); } } else { this.touch = false; this.node.zIndex = -1; - cc.fx.Notifications.emit("clickSun", this.id_Number); + var data_2 = { id: this.id_Number, distance: distance }; + cc.fx.Notifications.emit("clickSun", data_2); } } } @@ -84,7 +94,8 @@ var NewClass = /** @class */ (function (_super) { 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); + var data_3 = { id: this.id_Number, distance: distance }; + cc.fx.Notifications.emit("clickSun", data_3); } } }; 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 e598fee..a145aab 100644 --- a/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js +++ b/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js @@ -40,25 +40,25 @@ var GameConfig = /** @class */ (function () { this.CLICK_init(); this.LEVEL_INFO_init(); var self = this; - cc.resources.load('Json/GM_INFO', function (err, res) { - if (err) { - share_1.WeChat.setShare(location.href); - self.Authentication(); - return; - } - var jsonData = res.json; - self.GM_INFO = jsonData["data"]; - self.setCode(self.getKey("scode")); - share_1.WeChat.setShare(location.href); - self.Authentication(); - }); - 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/GM_INFO', (err: any, res: cc.JsonAsset) => { + // if (err) { + // WeChat.setShare(location.href); + // // self.Authentication(); + // return; + // } + // let jsonData: object = res.json!; + // self.GM_INFO = jsonData["data"]; + // self.setCode(self.getKey("scode")); + // WeChat.setShare(location.href); + // // self.Authentication(); + // }) + // cc.resources.load('Json/CLICK_DATA', (err: any, res: cc.JsonAsset) => { + // if (err) { + // return; + // } + // let jsonData: object = res.json!; + // self.CLICK_DATA = jsonData["data"]; + // }) cc.resources.load('Json/LEVEL_INFO', function (err, res) { if (err) { return; @@ -83,9 +83,12 @@ var GameConfig = /** @class */ (function () { url: "https://api.sparkus.cn", success: false, matchId: null, - custom: 0 //用于测试跳关卡 + custom: 0, + gap: [] //存储点击到太阳中心距离 }; this.setCode(this.getKey("scode")); + share_1.WeChat.setShare(location.href); + this.Authentication(); }; GameConfig.CLICK_init = function () { this.CLICK_DATA = @@ -102,7 +105,8 @@ var GameConfig = /** @class */ (function () { difficultyLevel: 0, sunList: [], stepTimeList: [], - remainder: 120 //游戏剩余时间 + remainder: 120, + gap: [] //点击到太阳中心距离 }; }; GameConfig.LEVEL_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 b99f9d0..8e80b9a 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":["import { WeChat } from \"../Share/share\";\r\n\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 scode: string; //用户code\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 getKey(key){\r\n var reg = new RegExp('(^|&)' + key + '=([^&]*)(&|$)', 'i');\r\n var r = window.location.search.substr(1).match(reg);\r\n if (r != null) {\r\n return unescape(r[2]);\r\n }\r\n return \"\";\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 \r\n var self = this;\r\n cc.resources.load('Json/GM_INFO', (err: any, res: cc.JsonAsset) => {\r\n if (err) {\r\n WeChat.setShare(location.href);\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.setCode(self.getKey(\"scode\"));\r\n WeChat.setShare(location.href);\r\n self.Authentication();\r\n\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 scode: \"\", //用户code,从网页后缀获取\r\n guide: true, //是否有引导\r\n url: \"https://api.sparkus.cn\",//访问域名\r\n success: false, //用户游戏成功与否\r\n matchId: null, //用于埋点上传的ID\r\n custom: 0 //用于测试跳关卡\r\n };\r\n this.setCode(this.getKey(\"scode\"));\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 static setCode(code){\r\n this.GM_INFO.scode = code;\r\n }\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":["import { WeChat } from \"../Share/share\";\r\n\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 scode: string; //用户code\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\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 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 gap: any[]; //点击到太阳中心距离\r\n };\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 getKey(key){\r\n var reg = new RegExp('(^|&)' + key + '=([^&]*)(&|$)', 'i');\r\n var r = window.location.search.substr(1).match(reg);\r\n if (r != null) {\r\n return unescape(r[2]);\r\n }\r\n return \"\";\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 \r\n var self = this;\r\n cc.resources.load('Json/GM_INFO', (err: any, res: cc.JsonAsset) => {\r\n if (err) {\r\n WeChat.setShare(location.href);\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.setCode(self.getKey(\"scode\"));\r\n WeChat.setShare(location.href);\r\n self.Authentication();\r\n\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 scode: \"\", //用户code,从网页后缀获取\r\n guide: true, //是否有引导\r\n url: \"https://api.sparkus.cn\",//访问域名\r\n success: false, //用户游戏成功与否\r\n matchId: null, //用于埋点上传的ID\r\n custom: 0 //用于测试跳关卡\r\n };\r\n this.setCode(this.getKey(\"scode\"));\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 gap:[] //点击到太阳中心距离\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 static setCode(code){\r\n this.GM_INFO.scode = code;\r\n }\r\n\r\n}\r\n\r\n"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/module/Share/share.js b/temp/quick-scripts/src/assets/Script/module/Share/share.js index d665b48..f5052fb 100644 --- a/temp/quick-scripts/src/assets/Script/module/Share/share.js +++ b/temp/quick-scripts/src/assets/Script/module/Share/share.js @@ -58,6 +58,7 @@ var WeChat = /** @class */ (function () { WeChat.getResult = function (res) { if (res) { var data = res.data; + // @ts-ignore wx.config({ debug: false, appId: data.appId, @@ -66,6 +67,7 @@ var WeChat = /** @class */ (function () { signature: data.signature, jsApiList: ['onMenuShareTimeline', 'updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareAppMessage'] }); + // @ts-ignore wx.checkJsApi({ jsApiList: ['updateAppMessageShareData'], success: function (res) { @@ -80,7 +82,9 @@ var WeChat = /** @class */ (function () { } }; WeChat.changeShare = function () { + // @ts-ignore wx.ready(function () { + // @ts-ignore wx.updateAppMessageShareData({ title: '记忆力认知测评', desc: '你的注意力和工作记忆有问题吗?', @@ -92,6 +96,7 @@ var WeChat = /** @class */ (function () { } }); setTimeout(function () { + // @ts-ignore wx.updateTimelineShareData({ title: '记忆力认知测评', link: shareConfig.shareLine, diff --git a/temp/quick-scripts/src/assets/Script/module/Share/share.js.map b/temp/quick-scripts/src/assets/Script/module/Share/share.js.map index 3fe9f29..cf521a7 100644 --- a/temp/quick-scripts/src/assets/Script/module/Share/share.js.map +++ b/temp/quick-scripts/src/assets/Script/module/Share/share.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\module\\Share\\share.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\n\nvar shareConfig = {\n gameId: \"100009\",\n shareLine: \"zDLsruVI\",\n EK:\"hui231%1\"\n };\n\n// 定义微信配置数据的接口\ninterface IWeChatConfig {\n appId: string;\n timestamp: number;\n nonceStr: string;\n signature: string;\n jsApiList: [];\n}\n\n// 微信操作类\nexport class WeChat {\n static setShare(url) {\n var urlTemp = this.removeQueryParams(url);\n shareConfig.shareLine = urlTemp;\n WeChat.getSignature(url);\n }\n\n static getResult(res){\n if(res){\n var data = res.data;\n wx.config({\n debug: false,\n appId: data.appId,\n timestamp: data.timestamp,\n nonceStr: data.nonceStr,\n signature: data.signature,\n jsApiList: ['onMenuShareTimeline','updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareAppMessage']\n });\n wx.checkJsApi({\n jsApiList: ['updateAppMessageShareData'], // 需要检测的JS接口列表,所有JS接口列表见附录2,\n success: function(res) {\n setTimeout(() => { \n WeChat.changeShare();\n }, 200);\n setTimeout(() => {\n WeChat.changeShare();\n }, 500);\n }\n });\n }\n }\n\n static changeShare(){\n wx.ready(() => {\n wx.updateAppMessageShareData({ \n title: '记忆力认知测评', // 分享标题\n desc: '你的注意力和工作记忆有问题吗?', // 分享描述\n link: shareConfig.shareLine, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致\n imgUrl: 'https://static.sparkus.cn/public/shootsun.jpg', // 分享图标\n success: function () {\n // 设置成功\n console.log(\"分享好友成功回调\");\n }\n });\n setTimeout(() => {\n wx.updateTimelineShareData({ \n title: '记忆力认知测评', // 分享标题\n link: shareConfig.shareLine, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致\n imgUrl: 'https://static.sparkus.cn/public/shootsun.jpg', // 分享图标\n success: function () {\n // 设置成功\n console.log(\"分享朋友圈成功回调\");\n }\n })\n }, 200);\n\n }); \n }\n\n static getSignature(url: string): Promise {\n return new Promise((resolve) => {\n WeChat.getShareInfo((encodeURIComponent(url)),WeChat.getResult);\n });\n }\n static async getShareInfo(shareUrl: string, callback:Function): Promise {\n const time = Math.floor((new Date().getTime()) / 1000)\n const url = cc.fx.HttpUtil.apiSign(`/api/share/cfg?gameId=${cc.fx.GameConfig.GM_INFO.gameId}&time=${time}&url=${shareUrl}`,{})\n return cc.fx.HttpUtil.get(url,callback,3)\n }\n\n \n static containsNanana(str) {\n return /test/i.test(str);\n }\n\n static removeQueryParams(url) {\n return url.replace(/\\?.*$/, '');\n }\n\n}\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\module\\Share\\share.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\n\nvar shareConfig = {\n gameId: \"100009\",\n shareLine: \"zDLsruVI\",\n EK:\"hui231%1\"\n };\n\n// 定义微信配置数据的接口\ninterface IWeChatConfig {\n appId: string;\n timestamp: number;\n nonceStr: string;\n signature: string;\n jsApiList: [];\n}\n\n// 微信操作类\nexport class WeChat {\n static setShare(url) {\n var urlTemp = this.removeQueryParams(url);\n shareConfig.shareLine = urlTemp;\n WeChat.getSignature(url);\n }\n\n static getResult(res){\n if(res){\n var data = res.data;\n // @ts-ignore\n wx.config({\n debug: false,\n appId: data.appId,\n timestamp: data.timestamp,\n nonceStr: data.nonceStr,\n signature: data.signature,\n jsApiList: ['onMenuShareTimeline','updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareAppMessage']\n });\n // @ts-ignore\n wx.checkJsApi({\n jsApiList: ['updateAppMessageShareData'], // 需要检测的JS接口列表,所有JS接口列表见附录2,\n success: function(res) {\n setTimeout(() => { \n WeChat.changeShare();\n }, 200);\n setTimeout(() => {\n WeChat.changeShare();\n }, 500);\n }\n });\n }\n }\n\n static changeShare(){\n // @ts-ignore\n wx.ready(() => {\n // @ts-ignore\n wx.updateAppMessageShareData({ \n title: '记忆力认知测评', // 分享标题\n desc: '你的注意力和工作记忆有问题吗?', // 分享描述\n link: shareConfig.shareLine, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致\n imgUrl: 'https://static.sparkus.cn/public/shootsun.jpg', // 分享图标\n success: function () {\n // 设置成功\n console.log(\"分享好友成功回调\");\n }\n });\n setTimeout(() => {\n // @ts-ignore\n wx.updateTimelineShareData({ \n title: '记忆力认知测评', // 分享标题\n link: shareConfig.shareLine, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致\n imgUrl: 'https://static.sparkus.cn/public/shootsun.jpg', // 分享图标\n success: function () {\n // 设置成功\n console.log(\"分享朋友圈成功回调\");\n }\n })\n }, 200);\n\n }); \n }\n\n static getSignature(url: string): Promise {\n return new Promise((resolve) => {\n WeChat.getShareInfo((encodeURIComponent(url)),WeChat.getResult);\n });\n }\n static async getShareInfo(shareUrl: string, callback:Function): Promise {\n const time = Math.floor((new Date().getTime()) / 1000)\n const url = cc.fx.HttpUtil.apiSign(`/api/share/cfg?gameId=${cc.fx.GameConfig.GM_INFO.gameId}&time=${time}&url=${shareUrl}`,{})\n return cc.fx.HttpUtil.get(url,callback,3)\n }\n\n \n static containsNanana(str) {\n return /test/i.test(str);\n }\n\n static removeQueryParams(url) {\n return url.replace(/\\?.*$/, '');\n }\n\n}\n"]} \ No newline at end of file