|
(function() {
|
var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
|
var __module = nodeEnv ? module : {exports:{}};
|
var __filename = 'preview-scripts/assets/Scripts/mod/hero/equip/equip_cloth_window.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, '256db95kRdLz64F9e8mhsqK', 'equip_cloth_window');
|
// Scripts/mod/hero/equip/equip_cloth_window.js
|
|
"use strict";
|
|
// --------------------------------------------------------------------
|
// @author: xxx@syg.com(必填, 创建模块的人员)
|
// @description:
|
// 这里是描述这个窗体的作用的
|
// <br/>Create: 2019-03-26 10:00:54
|
// --------------------------------------------------------------------
|
var PathTool = require("pathtool");
|
|
var EquipClothItem = require("equip_cloth_item");
|
|
var BackpackController = require("backpack_controller");
|
|
var BackPackConst = require("backpack_const");
|
|
var CommonScrollView = require("common_scrollview");
|
|
var ListHeight = {
|
"NORMAL": 690,
|
"CHANGE": 550
|
};
|
var EquipClothWindow = cc.Class({
|
"extends": BaseView,
|
ctor: function ctor() {
|
this.prefabPath = PathTool.getPrefabPath("hero", "equip_cloth_window");
|
this.viewTag = SCENE_TAG.dialogue; //该窗体所属ui层级,全屏ui需要在ui层,非全屏ui在dialogue层,这个要注意
|
|
this.win_type = WinType.Full; //是否是全屏窗体 WinType.Full, WinType.Big, WinType.Mini, WinType.Tips
|
|
this.ctrl = arguments[0];
|
this.model = this.ctrl.getModel();
|
},
|
// 初始化一些配置数据,可以用于声明一些变量之类的
|
initConfig: function initConfig() {},
|
// 预制体加载完成之后的回调,可以在这里捕获相关节点或者组件
|
openCallBack: function openCallBack() {
|
this.mask_nd = this.seekChild("mask");
|
this.close_btn_nd = this.seekChild("close_btn");
|
this.list_view_nd = this.seekChild("list_view");
|
this.empty_tips_nd = this.seekChild("empty_tips");
|
this.cur_equip_nd = this.seekChild("cur_equip");
|
this.item_con_nd = this.seekChild("item_con");
|
this.unequip_btn_nd = this.seekChild("unequip_btn");
|
this.equip_name_lb = this.seekChild("equip_name", cc.Label);
|
this.equip_lev_lb = this.seekChild("equip_lev", cc.Label);
|
this.equip_score_lb = this.seekChild("equip_score", cc.Label);
|
this.backpack_item = ItemsPool.getInstance().getItem("backpack_item");
|
this.backpack_item.setParent(this.item_con_nd);
|
this.backpack_item.setExtendData({
|
effect: false,
|
scale: 0.9
|
});
|
this.backpack_item.show();
|
this.mask_nd.on(cc.Node.EventType.TOUCH_END, this.onClickCloseBtn, this);
|
this.close_btn_nd.on(cc.Node.EventType.TOUCH_END, this.onClickCloseBtn, this);
|
this.unequip_btn_nd.on(cc.Node.EventType.TOUCH_END, this.onClickUnEquipBtn, this);
|
},
|
// 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent
|
registerEvent: function registerEvent() {},
|
// 预制体加载完成之后,添加到对应主节点之后的回调,也就是一个窗体的正式入口,可以设置一些数据了
|
openRootWnd: function openRootWnd(params) {
|
if (!params) return;
|
this.equip_type = params.equip_type;
|
this.partner_id = params.partner_id;
|
|
if (params.data) {
|
// 更换
|
this.cur_equip_nd.active = true;
|
this.list_view_nd.height = ListHeight.CHANGE;
|
this.cur_equip_data = params.data;
|
this.updateCurEquip(params.data);
|
} else {
|
// 添加
|
this.cur_equip_nd.active = false;
|
this.list_view_nd.height = ListHeight.NORMAL;
|
}
|
|
this.initRankList();
|
this.updateWidgets();
|
},
|
// 关闭窗体回调,需要在这里调用该窗体所属controller的close方法没用于置空该窗体实例对象
|
closeCallBack: function closeCallBack() {
|
if (this.item_list) this.item_list.deleteMe();
|
|
if (this.backpack_item) {
|
this.backpack_item.deleteMe();
|
}
|
|
this.ctrl.openEquipPanel(false);
|
},
|
updateWidgets: function updateWidgets() {
|
this.updateItemList();
|
},
|
onClickCloseBtn: function onClickCloseBtn() {
|
this.ctrl.openEquipPanel(false);
|
},
|
initRankList: function initRankList() {
|
var scorll_size = this.list_view_nd.getContentSize();
|
var size = cc.size(scorll_size.width, scorll_size.height);
|
var setting = {
|
item_class: EquipClothItem,
|
start_x: 0,
|
space_x: 0,
|
start_y: 0,
|
space_y: 0,
|
item_width: 620,
|
item_height: 150,
|
row: 0,
|
col: 1,
|
need_dynamic: true
|
};
|
this.item_list = new CommonScrollView();
|
this.item_list.createScroll(this.list_view_nd, cc.v2(0, 0), ScrollViewDir.vertical, ScrollViewStartPos.top, size, setting, cc.v2(0.5, 0));
|
},
|
updateItemList: function updateItemList() {
|
var cur_eqips = [];
|
var equip_list = BackpackController.getInstance().getModel().getBagItemList(BackPackConst.Bag_Code.EQUIPS) || {};
|
|
for (var equip_i in equip_list) {
|
var equip_info = equip_list[equip_i];
|
|
if (equip_info && equip_info.config) {
|
if (equip_info.config.type == this.equip_type) cur_eqips.push(equip_info);
|
}
|
}
|
|
if (cur_eqips.length > 0) {
|
this.empty_tips_nd.active = false;
|
cur_eqips.sort(Utils.tableUpperSorter(["all_score"]));
|
} else {
|
this.empty_tips_nd.active = true;
|
}
|
|
this.item_list.setData(cur_eqips, this.selectItemEquip.bind(this));
|
},
|
selectItemEquip: function selectItemEquip(good_vo) {
|
if (good_vo && this.partner_id) {
|
this.ctrl.sender11010(this.partner_id, good_vo.id);
|
}
|
|
this.ctrl.openEquipPanel(false);
|
},
|
updateCurEquip: function updateCurEquip(equip_data) {
|
this.equip_name_lb.string = equip_data.config.name;
|
this.equip_lev_lb.string = equip_data.lev;
|
this.equip_score_lb.string = equip_data.score;
|
this.backpack_item.setData(equip_data);
|
},
|
onClickUnEquipBtn: function onClickUnEquipBtn() {
|
if (this.partner_id && this.cur_equip_data) {
|
this.ctrl.sender11011(this.partner_id, this.cur_equip_data.id);
|
}
|
|
this.ctrl.openEquipPanel(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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxoZXJvXFxlcXVpcFxcZXF1aXBfY2xvdGhfd2luZG93LmpzIl0sIm5hbWVzIjpbIlBhdGhUb29sIiwicmVxdWlyZSIsIkVxdWlwQ2xvdGhJdGVtIiwiQmFja3BhY2tDb250cm9sbGVyIiwiQmFja1BhY2tDb25zdCIsIkNvbW1vblNjcm9sbFZpZXciLCJMaXN0SGVpZ2h0IiwiRXF1aXBDbG90aFdpbmRvdyIsImNjIiwiQ2xhc3MiLCJCYXNlVmlldyIsImN0b3IiLCJwcmVmYWJQYXRoIiwiZ2V0UHJlZmFiUGF0aCIsInZpZXdUYWciLCJTQ0VORV9UQUciLCJkaWFsb2d1ZSIsIndpbl90eXBlIiwiV2luVHlwZSIsIkZ1bGwiLCJjdHJsIiwiYXJndW1lbnRzIiwibW9kZWwiLCJnZXRNb2RlbCIsImluaXRDb25maWciLCJvcGVuQ2FsbEJhY2siLCJtYXNrX25kIiwic2Vla0NoaWxkIiwiY2xvc2VfYnRuX25kIiwibGlzdF92aWV3X25kIiwiZW1wdHlfdGlwc19uZCIsImN1cl9lcXVpcF9uZCIsIml0ZW1fY29uX25kIiwidW5lcXVpcF9idG5fbmQiLCJlcXVpcF9uYW1lX2xiIiwiTGFiZWwiLCJlcXVpcF9sZXZfbGIiLCJlcXVpcF9zY29yZV9sYiIsImJhY2twYWNrX2l0ZW0iLCJJdGVtc1Bvb2wiLCJnZXRJbnN0YW5jZSIsImdldEl0ZW0iLCJzZXRQYXJlbnQiLCJzZXRFeHRlbmREYXRhIiwiZWZmZWN0Iiwic2NhbGUiLCJzaG93Iiwib24iLCJOb2RlIiwiRXZlbnRUeXBlIiwiVE9VQ0hfRU5EIiwib25DbGlja0Nsb3NlQnRuIiwib25DbGlja1VuRXF1aXBCdG4iLCJyZWdpc3RlckV2ZW50Iiwib3BlblJvb3RXbmQiLCJwYXJhbXMiLCJlcXVpcF90eXBlIiwicGFydG5lcl9pZCIsImRhdGEiLCJhY3RpdmUiLCJoZWlnaHQiLCJDSEFOR0UiLCJjdXJfZXF1aXBfZGF0YSIsInVwZGF0ZUN1ckVxdWlwIiwiTk9STUFMIiwiaW5pdFJhbmtMaXN0IiwidXBkYXRlV2lkZ2V0cyIsImNsb3NlQ2FsbEJhY2siLCJpdGVtX2xpc3QiLCJkZWxldGVNZSIsIm9wZW5FcXVpcFBhbmVsIiwidXBkYXRlSXRlbUxpc3QiLCJzY29ybGxfc2l6ZSIsImdldENvbnRlbnRTaXplIiwic2l6ZSIsIndpZHRoIiwic2V0dGluZyIsIml0ZW1fY2xhc3MiLCJzdGFydF94Iiwic3BhY2VfeCIsInN0YXJ0X3kiLCJzcGFjZV95IiwiaXRlbV93aWR0aCIsIml0ZW1faGVpZ2h0Iiwicm93IiwiY29sIiwibmVlZF9keW5hbWljIiwiY3JlYXRlU2Nyb2xsIiwidjIiLCJTY3JvbGxWaWV3RGlyIiwidmVydGljYWwiLCJTY3JvbGxWaWV3U3RhcnRQb3MiLCJ0b3AiLCJjdXJfZXFpcHMiLCJlcXVpcF9saXN0IiwiZ2V0QmFnSXRlbUxpc3QiLCJCYWdfQ29kZSIsIkVRVUlQUyIsImVxdWlwX2kiLCJlcXVpcF9pbmZvIiwiY29uZmlnIiwidHlwZSIsInB1c2giLCJsZW5ndGgiLCJzb3J0IiwiVXRpbHMiLCJ0YWJsZVVwcGVyU29ydGVyIiwic2V0RGF0YSIsInNlbGVjdEl0ZW1FcXVpcCIsImJpbmQiLCJnb29kX3ZvIiwic2VuZGVyMTEwMTAiLCJpZCIsImVxdWlwX2RhdGEiLCJzdHJpbmciLCJuYW1lIiwibGV2Iiwic2NvcmUiLCJzZW5kZXIxMTAxMSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJQSxRQUFRLEdBQWFDLE9BQU8sQ0FBQyxVQUFELENBQWhDOztBQUNBLElBQUlDLGNBQWMsR0FBT0QsT0FBTyxDQUFDLGtCQUFELENBQWhDOztBQUNBLElBQUlFLGtCQUFrQixHQUFHRixPQUFPLENBQUMscUJBQUQsQ0FBaEM7O0FBQ0EsSUFBSUcsYUFBYSxHQUFRSCxPQUFPLENBQUMsZ0JBQUQsQ0FBaEM7O0FBQ0EsSUFBSUksZ0JBQWdCLEdBQUtKLE9BQU8sQ0FBQyxtQkFBRCxDQUFoQzs7QUFF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QUFMLENBQW9CNkUsTUFBcEIsR0FBNkJELFVBQVUsQ0FBQ0ksS0FBeEM7QUFDQSxTQUFLL0UsYUFBTCxDQUFtQnFFLE9BQW5CLENBQTJCTSxVQUEzQjtBQUNILEdBdkkyQjtBQXlJNUI3RCxFQUFBQSxpQkFBaUIsRUFBRSw2QkFBVztBQUMxQixRQUFHLEtBQUtLLFVBQUwsSUFBbUIsS0FBS0ssY0FBM0IsRUFBMkM7QUFDdkMsV0FBSzFDLElBQUwsQ0FBVWtHLFdBQVYsQ0FBc0IsS0FBSzdELFVBQTNCLEVBQXVDLEtBQUtLLGNBQUwsQ0FBb0JrRCxFQUEzRDtBQUNIOztBQUNELFNBQUs1RixJQUFMLENBQVVrRCxjQUFWLENBQXlCLEtBQXpCO0FBQ0g7QUE5STJCLENBQVQsQ0FBdkIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAYXV0aG9yOiB4eHhAc3lnLmNvbSjlv4XloassIOWIm+W7uuaooeWdl+eahOS6uuWRmClcbi8vIEBkZXNjcmlwdGlvbjpcbi8vICAgICDov5nph4zmmK/mj4/ov7Dov5nkuKrnqpfkvZPnmoTkvZznlKjnmoRcbi8vIDxici8+Q3JlYXRlOiAyMDE5LTAzLTI2IDEwOjAwOjU0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudmFyIFBhdGhUb29sICAgICAgICAgICA9IHJlcXVpcmUoXCJwYXRodG9vbFwiKTtcbnZhciBFcXVpcENsb3RoSXRlbSAgICAgPSByZXF1aXJlKFwiZXF1aXBfY2xvdGhfaXRlbVwiKTtcbnZhciBCYWNrcGFja0NvbnRyb2xsZXIgPSByZXF1aXJlKFwiYmFja3BhY2tfY29udHJvbGxlclwiKTtcbnZhciBCYWNrUGFja0NvbnN0ICAgICAgPSByZXF1aXJlKFwiYmFja3BhY2tfY29uc3RcIik7XG52YXIgQ29tbW9uU2Nyb2xsVmlldyAgID0gcmVxdWlyZShcImNvbW1vbl9zY3JvbGx2aWV3XCIpO1xuXG52YXIgTGlzdEhlaWdodCA9IHtcbiAgICBcIk5PUk1BTFwiOiA2OTAsXG4gICAgXCJDSEFOR0VcIjogNTUwLFxufVxuXG52YXIgRXF1aXBDbG90aFdpbmRvdyA9IGNjLkNsYXNzKHtcbiAgICBleHRlbmRzOiBCYXNlVmlldyxcbiAgICBjdG9yOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMucHJlZmFiUGF0aCA9IFBhdGhUb29sLmdldFByZWZhYlBhdGgoXCJoZXJvXCIsIFwiZXF1aXBfY2xvdGhfd2luZG93XCIpO1xuICAgICAgICB0aGlzLnZpZXdUYWcgPSBTQ0VORV9UQUcuZGlhbG9ndWU7ICAgICAgICAgICAgICAgIC8v6K+l56qX5L2T5omA5bGedWnlsYLnuqcs5YWo5bGPdWnpnIDopoHlnKh1aeWxgizpnZ7lhajlsY91aeWcqGRpYWxvZ3Vl5bGCLOi/meS4quimgeazqOaEj1xuICAgICAgICB0aGlzLndpbl90eXBlID0gV2luVHlwZS5GdWxsOyAgICAgICAgICAgICAgIC8v5piv5ZCm5piv5YWo5bGP56qX5L2TICBXaW5UeXBlLkZ1bGwsIFdpblR5cGUuQmlnLCBXaW5UeXBlLk1pbmksIFdpblR5cGUuVGlwc1xuXG4gICAgICAgIHRoaXMuY3RybCA9IGFyZ3VtZW50c1swXTtcbiAgICAgICAgdGhpcy5tb2RlbCA9IHRoaXMuY3RybC5nZXRNb2RlbCgpO1xuICAgIH0sXG5cbiAgICAvLyDliJ3lp4vljJbkuIDkupvphY3nva7mlbDmja4s5Y+v5Lul55So5LqO5aOw5piO5LiA5Lqb5Y+Y6YeP5LmL57G755qEXG4gICAgaW5pdENvbmZpZzpmdW5jdGlvbigpe1xuXG4gICAgfSxcblxuICAgIC8vIOmihOWItuS9k+WKoOi9veWujOaIkOS5i+WQjueahOWbnuiwgyzlj6/ku6XlnKjov5nph4zmjZXojrfnm7jlhbPoioLngrnmiJbogIXnu4Tku7ZcbiAgICBvcGVuQ2FsbEJhY2s6ZnVuY3Rpb24oKXtcbiAgICAgICAgdGhpcy5tYXNrX25kICAgICAgICA9IHRoaXMuc2Vla0NoaWxkKFwibWFza1wiKTtcbiAgICAgICAgdGhpcy5jbG9zZV9idG5fbmQgICA9IHRoaXMuc2Vla0NoaWxkKFwiY2xvc2VfYnRuXCIpO1xuICAgICAgICB0aGlzLmxpc3Rfdmlld19uZCAgID0gdGhpcy5zZWVrQ2hpbGQoXCJsaXN0X3ZpZXdcIik7XG4gICAgICAgIHRoaXMuZW1wdHlfdGlwc19uZCAgPSB0aGlzLnNlZWtDaGlsZChcImVtcHR5X3RpcHNcIik7XG4gICAgICAgIFxuICAgICAgICB0aGlzLmN1cl9lcXVpcF9uZCAgID0gdGhpcy5zZWVrQ2hpbGQoXCJjdXJfZXF1aXBcIik7XG4gICAgICAgIHRoaXMuaXRlbV9jb25fbmQgICAgPSB0aGlzLnNlZWtDaGlsZChcIml0ZW1fY29uXCIpO1xuICAgICAgICB0aGlzLnVuZXF1aXBfYnRuX25kICAgPSB0aGlzLnNlZWtDaGlsZChcInVuZXF1aXBfYnRuXCIpO1xuXG4gICAgICAgIHRoaXMuZXF1aXBfbmFtZV9sYiAgPSB0aGlzLnNlZWtDaGlsZChcImVxdWlwX25hbWVcIiwgY2MuTGFiZWwpO1xuICAgICAgICB0aGlzLmVxdWlwX2xldl9sYiAgID0gdGhpcy5zZWVrQ2hpbGQoXCJlcXVpcF9sZXZcIiwgY2MuTGFiZWwpO1xuICAgICAgICB0aGlzLmVxdWlwX3Njb3JlX2xiID0gdGhpcy5zZWVrQ2hpbGQoXCJlcXVpcF9zY29yZVwiLCBjYy5MYWJlbCk7XG5cbiAgICAgICAgdGhpcy5iYWNrcGFja19pdGVtID0gSXRlbXNQb29sLmdldEluc3RhbmNlKCkuZ2V0SXRlbShcImJhY2twYWNrX2l0ZW1cIik7XG4gICAgICAgIHRoaXMuYmFja3BhY2tfaXRlbS5zZXRQYXJlbnQodGhpcy5pdGVtX2Nvbl9uZCk7XG4gICAgICAgIHRoaXMuYmFja3BhY2tfaXRlbS5zZXRFeHRlbmREYXRhKHtlZmZlY3Q6IGZhbHNlLCBzY2FsZTogMC45fSk7XG4gICAgICAgIHRoaXMuYmFja3BhY2tfaXRlbS5zaG93KCk7XG5cbiAgICAgICAgdGhpcy5tYXNrX25kLm9uKGNjLk5vZGUuRXZlbnRUeXBlLlRPVUNIX0VORCwgdGhpcy5vbkNsaWNrQ2xvc2VCdG4sIHRoaXMpO1xuICAgICAgICB0aGlzLmNsb3NlX2J0bl9uZC5vbihjYy5Ob2RlLkV2ZW50VHlwZS5UT1VDSF9FTkQsIHRoaXMub25DbGlja0Nsb3NlQnRuLCB0aGlzKTtcbiAgICAgICAgdGhpcy51bmVxdWlwX2J0bl9uZC5vbihjYy5Ob2RlLkV2ZW50VHlwZS5UT1VDSF9FTkQsIHRoaXMub25DbGlja1VuRXF1aXBCdG4sIHRoaXMpO1xuICAgIH0sXG5cbiAgICAvLyDms6jlhozkuovku7bnm5HlkKznmoTmjqXlj6Ms5LiN6ZyA6KaB5omL5Yqo6LCD55SoLOWmguaenOaYr+S9v+eUqGdjb3JlLkdsb2JhbEV2ZW5055uR5ZCsLOWPr+S7peebtOaOpeiwg+eUqGFkZEdsb2JhbEV2ZW50XG4gICAgcmVnaXN0ZXJFdmVudDpmdW5jdGlvbigpe1xuXG4gICAgfSxcblxuICAgIC8vIOmihOWItuS9k+WKoOi9veWujOaIkOS5i+WQjizmt7vliqDliLDlr7nlupTkuLvoioLngrnkuYvlkI7nmoTlm57osIMs5Lmf5bCx5piv5LiA5Liq56qX5L2T55qE5q2j5byP5YWl5Y+jLOWPr+S7peiuvue9ruS4gOS6m+aVsOaNruS6hlxuICAgIG9wZW5Sb290V25kOmZ1bmN0aW9uKHBhcmFtcyl7XG4gICAgICAgIGlmICghcGFyYW1zKSByZXR1cm47XG4gICAgICAgIHRoaXMuZXF1aXBfdHlwZSA9IHBhcmFtcy5lcXVpcF90eXBlO1xuICAgICAgICB0aGlzLnBhcnRuZXJfaWQgPSBwYXJhbXMucGFydG5lcl9pZDtcbiAgICAgICAgaWYgKHBhcmFtcy5kYXRhKSB7ICAgICAgICAgICAgIC8vIOabtOaNolxuICAgICAgICAgICAgdGhpcy5jdXJfZXF1aXBfbmQuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMubGlzdF92aWV3X25kLmhlaWdodCA9IExpc3RIZWlnaHQuQ0hBTkdFO1xuICAgICAgICAgICAgdGhpcy5jdXJfZXF1aXBfZGF0YSA9IHBhcmFtcy5kYXRhO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDdXJFcXVpcChwYXJhbXMuZGF0YSk7XG4gICAgICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAvLyDmt7vliqBcbiAgICAgICAgICAgIHRoaXMuY3VyX2VxdWlwX25kLmFjdGl2ZSA9IGZhbHNlOyAgICAgICAgICAgIFxuICAgICAgICAgICAgdGhpcy5saXN0X3ZpZXdfbmQuaGVpZ2h0ID0gTGlzdEhlaWdodC5OT1JNQUw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbml0UmFua0xpc3QoKTtcbiAgICAgICAgdGhpcy51cGRhdGVXaWRnZXRzKCk7XG4gICAgfSxcblxuICAgIC8vIOWFs+mXreeql+S9k+WbnuiwgyzpnIDopoHlnKjov5nph4zosIPnlKjor6XnqpfkvZPmiYDlsZ5jb250cm9sbGVy55qEY2xvc2Xmlrnms5XmsqHnlKjkuo7nva7nqbror6XnqpfkvZPlrp7kvovlr7nosaFcbiAgICBjbG9zZUNhbGxCYWNrOmZ1bmN0aW9uKCl7XG4gICAgICAgIGlmICh0aGlzLml0ZW1fbGlzdClcbiAgICAgICAgICAgIHRoaXMuaXRlbV9saXN0LmRlbGV0ZU1lKCk7XG4gICAgICAgIGlmKHRoaXMuYmFja3BhY2tfaXRlbSl7XG4gICAgICAgICAgICB0aGlzLmJhY2twYWNrX2l0ZW0uZGVsZXRlTWUoKVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuY3RybC5vcGVuRXF1aXBQYW5lbChmYWxzZSk7XG4gICAgfSxcblxuICAgIHVwZGF0ZVdpZGdldHM6IGZ1bmN0aW9uKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUl0ZW1MaXN0KCk7XG4gICAgfSxcblxuICAgIG9uQ2xpY2tDbG9zZUJ0bjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHRoaXMuY3RybC5vcGVuRXF1aXBQYW5lbChmYWxzZSk7XG4gICAgfSxcblxuICAgIGluaXRSYW5rTGlzdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBzY29ybGxfc2l6ZSA9IHRoaXMubGlzdF92aWV3X25kLmdldENvbnRlbnRTaXplKCk7XG4gICAgICAgIHZhciBzaXplID0gY2Muc2l6ZShzY29ybGxfc2l6ZS53aWR0aCwgc2NvcmxsX3NpemUuaGVpZ2h0KTtcbiAgICAgICAgdmFyIHNldHRpbmcgPSB7XG4gICAgICAgICAgICBpdGVtX2NsYXNzOiBFcXVpcENsb3RoSXRlbSxcbiAgICAgICAgICAgIHN0YXJ0X3g6IDAsXG4gICAgICAgICAgICBzcGFjZV94OiAwLFxuICAgICAgICAgICAgc3RhcnRfeTogMCxcbiAgICAgICAgICAgIHNwYWNlX3k6IDAsXG4gICAgICAgICAgICBpdGVtX3dpZHRoOiA2MjAsXG4gICAgICAgICAgICBpdGVtX2hlaWdodDogMTUwLFxuICAgICAgICAgICAgcm93OiAwLFxuICAgICAgICAgICAgY29sOiAxLFxuICAgICAgICAgICAgbmVlZF9keW5hbWljOiB0cnVlXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pdGVtX2xpc3QgPSBuZXcgQ29tbW9uU2Nyb2xsVmlldygpO1xuICAgICAgICB0aGlzLml0ZW1fbGlzdC5jcmVhdGVTY3JvbGwodGhpcy5saXN0X3ZpZXdfbmQsIGNjLnYyKDAsIDApLCBTY3JvbGxWaWV3RGlyLnZlcnRpY2FsLCBTY3JvbGxWaWV3U3RhcnRQb3MudG9wLCBzaXplLCBzZXR0aW5nLCBjYy52MigwLjUsIDApKTtcbiAgICB9LFxuXG4gICAgdXBkYXRlSXRlbUxpc3Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgY3VyX2VxaXBzID0gW107XG4gICAgICAgIHZhciBlcXVpcF9saXN0ID0gQmFja3BhY2tDb250cm9sbGVyLmdldEluc3RhbmNlKCkuZ2V0TW9kZWwoKS5nZXRCYWdJdGVtTGlzdChCYWNrUGFja0NvbnN0LkJhZ19Db2RlLkVRVUlQUykgfHwge307XG5cbiAgICAgICAgZm9yICh2YXIgZXF1aXBfaSBpbiBlcXVpcF9saXN0KSB7XG4gICAgICAgICAgICB2YXIgZXF1aXBfaW5mbyA9IGVxdWlwX2xpc3RbZXF1aXBfaV07XG4gICAgICAgICAgICBpZiAoZXF1aXBfaW5mbyAmJiBlcXVpcF9pbmZvLmNvbmZpZykge1xuICAgICAgICAgICAgICAgIGlmIChlcXVpcF9pbmZvLmNvbmZpZy50eXBlID09IHRoaXMuZXF1aXBfdHlwZSlcbiAgICAgICAgICAgICAgICAgICAgY3VyX2VxaXBzLnB1c2goZXF1aXBfaW5mbyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY3VyX2VxaXBzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuZW1wdHlfdGlwc19uZC5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgIGN1cl9lcWlwcy5zb3J0KFV0aWxzLnRhYmxlVXBwZXJTb3J0ZXIoW1wiYWxsX3Njb3JlXCJdKSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZW1wdHlfdGlwc19uZC5hY3RpdmUgPSB0cnVlOyAgICAgICAgICAgIFxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pdGVtX2xpc3Quc2V0RGF0YShjdXJfZXFpcHMsIHRoaXMuc2VsZWN0SXRlbUVxdWlwLmJpbmQodGhpcykpO1xuICAgIH0sXG5cbiAgICBzZWxlY3RJdGVtRXF1aXA6IGZ1bmN0aW9uKGdvb2Rfdm8pIHtcbiAgICAgICAgaWYgKGdvb2Rfdm8gJiYgdGhpcy5wYXJ0bmVyX2lkKSB7XG4gICAgICAgICAgICB0aGlzLmN0cmwuc2VuZGVyMTEwMTAodGhpcy5wYXJ0bmVyX2lkLCBnb29kX3ZvLmlkKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmN0cmwub3BlbkVxdWlwUGFuZWwoZmFsc2UpO1xuICAgIH0sXG5cbiAgICB1cGRhdGVDdXJFcXVpcDogZnVuY3Rpb24oZXF1aXBfZGF0YSkge1xuICAgICAgICB0aGlzLmVxdWlwX25hbWVfbGIuc3RyaW5nID0gZXF1aXBfZGF0YS5jb25maWcubmFtZTtcbiAgICAgICAgdGhpcy5lcXVpcF9sZXZfbGIuc3RyaW5nID0gZXF1aXBfZGF0YS5sZXY7XG4gICAgICAgIHRoaXMuZXF1aXBfc2NvcmVfbGIuc3RyaW5nID0gZXF1aXBfZGF0YS5zY29yZTsgIFxuICAgICAgICB0aGlzLmJhY2twYWNrX2l0ZW0uc2V0RGF0YShlcXVpcF9kYXRhKTtcbiAgICB9LFxuXG4gICAgb25DbGlja1VuRXF1aXBCdG46IGZ1bmN0aW9uKCkge1xuICAgICAgICBpZih0aGlzLnBhcnRuZXJfaWQgJiYgdGhpcy5jdXJfZXF1aXBfZGF0YSkge1xuICAgICAgICAgICAgdGhpcy5jdHJsLnNlbmRlcjExMDExKHRoaXMucGFydG5lcl9pZCwgdGhpcy5jdXJfZXF1aXBfZGF0YS5pZCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdHJsLm9wZW5FcXVpcFBhbmVsKGZhbHNlKTtcbiAgICB9LFxuXG59KSJdfQ==
|