difenduandada
2024-12-31 34abe6963b344c882358274957f4b992456fee40
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
 
                (function() {
                    var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
                    var __module = nodeEnv ? module : {exports:{}};
                    var __filename = 'preview-scripts/assets/Scripts/mod/welfare/view/collect_panel.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, 'd2940cZ54tG06gpzkmWRYBh', 'collect_panel');
// Scripts/mod/welfare/view/collect_panel.js
 
"use strict";
 
// --------------------------------------------------------------------
// @author: xxx@syg.com(必填, 创建模块的人员)
// @description:
//     收藏有礼
// <br/>Create: 2019-04-25 16:44:35
// --------------------------------------------------------------------
var PathTool = require("pathtool");
 
var WelfareEvent = require("welfare_event");
 
var CollectPanel = cc.Class({
  "extends": BasePanel,
  ctor: function ctor() {
    this.prefabPath = PathTool.getPrefabPath("welfare", "collect_panel");
  },
  // 可以初始化声明一些变量的
  initConfig: function initConfig() {
    this.ctrl = require("welfare_controller").getInstance();
    this.item_list = {};
    this.is_can_get = false;
  },
  // 初始化一些配置数据,可以用于声明一些变量之类的
  initPanel: function initPanel() {
    this.main_container = this.seekChild("main_container");
    this.item_container = this.seekChild(this.main_container, "item_container");
    this.bg_sp_2 = this.seekChild(this.main_container, "bg_2", cc.Sprite);
    this.loadRes(PathTool.getBigBg("welfare/txt_cn_shwx_collect", "jpg"), function (res) {
      this.bg_sp_2.spriteFrame = res;
    }.bind(this));
    this.desc = this.seekChild(this.main_container, "txt_2", cc.Label);
    this.desc.string = Utils.TI18N("1.点击“右上角三个点” •••\n2.点击“添加到我的小程序”\n3.点击“关闭圆圈” ⊙\n4.点击我的小程序“剑魂之光”开启游戏,领取奖励");
    this.go_btn = this.seekChild(this.main_container, "go_btn");
    this.go_btn_lb = this.seekChild(this.go_btn, "label", cc.Label);
    this.go_btn_lb.string = Utils.TI18N("收藏领好礼");
    this.go_btn_lo = this.seekChild(this.go_btn, "label", cc.LabelOutline);
    this.go_btn_btn = this.seekChild(this.main_container, "go_btn", cc.Button);
 
    if (this.ctrl.getModel().getCollectAwardStatus() == 1) {
      this.go_btn_lb.string = Utils.TI18N("已领取");
      this.go_btn_lo.enabled = false;
      Utils.setGreyButton(this.go_btn_btn);
    }
 
    if (window.wx) {
      var options = wx.getLaunchOptionsSync();
      var val = wx.getStorageSync("is_open_scene");
 
      if (val == 1 || options && options.scene && (options.scene == 1001 || options.scene == 1089 || options.scene == 1103 || options.scene == 1104)) {
        this.is_can_get = true;
        wx.setStorageSync("is_open_scene", 1);
      }
    }
  },
  // 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent
  registerEvent: function registerEvent() {
    this.go_btn.on("click", function () {
      Utils.playButtonSound(1);
 
      if (PLATFORM_TYPR == "SH_SDK") {
        //深海小程序
        this.clickGoBtnBySHWX();
      }
    }.bind(this));
    this.addGlobalEvent(WelfareEvent.Update_get_SHWX_collect_award_status, function (status) {
      // meesage(status)
      if (status == 2) {
        this.go_btn_lb.string = Utils.TI18N("收藏领好礼");
      } else if (status == 1) {
        this.go_btn_lb.string = Utils.TI18N("已领取");
        this.go_btn_lo.enabled = false;
        Utils.setGreyButton(this.go_btn_btn);
      }
    }.bind(this));
    this.addGlobalEvent(WelfareEvent.Update_SHWX_show_scene_val, function (scene) {
      if (this.ctrl.getModel().getCollectAwardStatus() == 1 || this.is_can_get == true) {
        return;
      }
 
      if (window.wx) {
        var val = wx.getStorageSync("is_open_scene");
 
        if (val == 1 || scene && (scene == 1001 || scene == 1089 || scene == 1103 || scene == 1104)) {
          this.is_can_get = true;
          wx.setStorageSync("is_open_scene", 1);
        }
      }
    }.bind(this));
  },
  clickGoBtnBySHWX: function clickGoBtnBySHWX() {
    if (this.is_can_get == true) {
      if (this.ctrl.getModel().getCollectAwardStatus() == 0) {
        this.ctrl.send16696();
      }
    } else {
      message(Utils.TI18N("请先收藏到我的小程序"));
    }
  },
  // 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了
  onShow: function onShow(params) {
    this.setItemList();
  },
  setItemList: function setItemList() {
    if (PLATFORM_TYPR == "SH_SDK") {
      var bind_data = this.ctrl.getModel().getCollectAward();
      if (bind_data == null) return;
      var index = 0;
 
      for (var i in bind_data) {
        var v = bind_data[i];
 
        if (!this.item_list[i]) {
          var item = ItemsPool.getInstance().getItem("backpack_item");
          item.initConfig(false, 0.7, false, true);
          item.show();
          item.setParent(this.item_container);
          item.setData({
            bid: v.bid,
            num: v.num
          });
          item.setPosition(index * 110 - 110, 80);
          this.item_list[i] = item;
          index = index + 1;
        }
      }
    }
  },
  // 面板设置不可见的回调,这里做一些不可见的屏蔽处理
  onHide: function onHide() {},
  // 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用
  onDelete: function onDelete() {
    this.is_shate = false;
 
    if (this.item_list) {
      for (var k in this.item_list) {
        this.item_list[k].deleteMe();
        this.item_list[k] = null;
      }
 
      this.item_list = null;
    }
  }
});
 
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFx3ZWxmYXJlXFx2aWV3XFxjb2xsZWN0X3BhbmVsLmpzIl0sIm5hbWVzIjpbIlBhdGhUb29sIiwicmVxdWlyZSIsIldlbGZhcmVFdmVudCIsIkNvbGxlY3RQYW5lbCIsImNjIiwiQ2xhc3MiLCJCYXNlUGFuZWwiLCJjdG9yIiwicHJlZmFiUGF0aCIsImdldFByZWZhYlBhdGgiLCJpbml0Q29uZmlnIiwiY3RybCIsImdldEluc3RhbmNlIiwiaXRlbV9saXN0IiwiaXNfY2FuX2dldCIsImluaXRQYW5lbCIsIm1haW5fY29udGFpbmVyIiwic2Vla0NoaWxkIiwiaXRlbV9jb250YWluZXIiLCJiZ19zcF8yIiwiU3ByaXRlIiwibG9hZFJlcyIsImdldEJpZ0JnIiwicmVzIiwic3ByaXRlRnJhbWUiLCJiaW5kIiwiZGVzYyIsIkxhYmVsIiwic3RyaW5nIiwiVXRpbHMiLCJUSTE4TiIsImdvX2J0biIsImdvX2J0bl9sYiIsImdvX2J0bl9sbyIsIkxhYmVsT3V0bGluZSIsImdvX2J0bl9idG4iLCJCdXR0b24iLCJnZXRNb2RlbCIsImdldENvbGxlY3RBd2FyZFN0YXR1cyIsImVuYWJsZWQiLCJzZXRHcmV5QnV0dG9uIiwid2luZG93Iiwid3giLCJvcHRpb25zIiwiZ2V0TGF1bmNoT3B0aW9uc1N5bmMiLCJ2YWwiLCJnZXRTdG9yYWdlU3luYyIsInNjZW5lIiwic2V0U3RvcmFnZVN5bmMiLCJyZWdpc3RlckV2ZW50Iiwib24iLCJwbGF5QnV0dG9uU291bmQiLCJQTEFURk9STV9UWVBSIiwiY2xpY2tHb0J0bkJ5U0hXWCIsImFkZEdsb2JhbEV2ZW50IiwiVXBkYXRlX2dldF9TSFdYX2NvbGxlY3RfYXdhcmRfc3RhdHVzIiwic3RhdHVzIiwiVXBkYXRlX1NIV1hfc2hvd19zY2VuZV92YWwiLCJzZW5kMTY2OTYiLCJtZXNzYWdlIiwib25TaG93IiwicGFyYW1zIiwic2V0SXRlbUxpc3QiLCJiaW5kX2RhdGEiLCJnZXRDb2xsZWN0QXdhcmQiLCJpbmRleCIsImkiLCJ2IiwiaXRlbSIsIkl0ZW1zUG9vbCIsImdldEl0ZW0iLCJzaG93Iiwic2V0UGFyZW50Iiwic2V0RGF0YSIsImJpZCIsIm51bSIsInNldFBvc2l0aW9uIiwib25IaWRlIiwib25EZWxldGUiLCJpc19zaGF0ZSIsImsiLCJkZWxldGVNZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJQSxRQUFRLEdBQUdDLE9BQU8sQ0FBQyxVQUFELENBQXRCOztBQUNBLElBQUlDLFlBQVksR0FBR0QsT0FBTyxDQUFDLGVBQUQsQ0FBMUI7O0FBRUEsSUFBSUUsWUFBWSxHQUFHQyxFQUFFLENBQUNDLEtBQUgsQ0FBUztBQUN4QixhQUFTQyxTQURlO0FBRXhCQyxFQUFBQSxJQUFJLEVBQUUsZ0JBQVk7QUFDZCxTQUFLQyxVQUFMLEdBQWtCUixRQUFRLENBQUNTLGFBQVQsQ0FBdUIsU0FBdkIsRUFBa0MsZUFBbEMsQ0FBbEI7QUFDSCxHQUp1QjtBQU14QjtBQUNBQyxFQUFBQSxVQUFVLEVBQUUsc0JBQVk7QUFDcEIsU0FBS0MsSUFBTCxHQUFZVixPQUFPLENBQUMsb0JBQUQsQ0FBUCxDQUE4QlcsV0FBOUIsRUFBWjtBQUNBLFNBQUtDLFNBQUwsR0FBaUIsRUFBakI7QUFDQSxTQUFLQyxVQUFMLEdBQWtCLEtBQWxCO0FBQ0gsR0FYdUI7QUFheEI7QUFDQUMsRUFBQUEsU0FBUyxFQUFFLHFCQUFZO0FBQ25CLFNBQUtDLGNBQUwsR0FBc0IsS0FBS0MsU0FBTCxDQUFlLGdCQUFmLENBQXRCO0FBRUEsU0FBS0MsY0FBTCxHQUFzQixLQUFLRCxTQUFMLENBQWUsS0FBS0QsY0FBcEIsRUFBb0MsZ0JBQXBDLENBQXRCO0FBQ0EsU0FBS0csT0FBTCxHQUFlLEtBQUtGLFNBQUwsQ0FBZSxLQUFLRCxjQUFwQixFQUFvQyxNQUFwQyxFQUE0Q1osRUFBRSxDQUFDZ0IsTUFBL0MsQ0FBZjtBQUNBLFNBQUtDLE9BQUwsQ0FBYXJCLFFB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QXJCLFdBQWI7QUFDQVAsVUFBQUEsSUFBSSxDQUFDUSxXQUFMLENBQWlCWCxLQUFLLEdBQUcsR0FBUixHQUFjLEdBQS9CLEVBQW9DLEVBQXBDO0FBQ0EsZUFBS3BELFNBQUwsQ0FBZXFELENBQWYsSUFBb0JFLElBQXBCO0FBQ0FILFVBQUFBLEtBQUssR0FBR0EsS0FBSyxHQUFHLENBQWhCO0FBQ0g7QUFDSjtBQUNKO0FBQ0osR0FwSHVCO0FBc0h4QjtBQUNBWSxFQUFBQSxNQUFNLEVBQUUsa0JBQVksQ0FFbkIsQ0F6SHVCO0FBMkh4QjtBQUNBQyxFQUFBQSxRQUFRLEVBQUUsb0JBQVk7QUFDbEIsU0FBS0MsUUFBTCxHQUFnQixLQUFoQjs7QUFFQSxRQUFJLEtBQUtsRSxTQUFULEVBQW9CO0FBQ2hCLFdBQUssSUFBSW1FLENBQVQsSUFBYyxLQUFLbkUsU0FBbkIsRUFBOEI7QUFDMUIsYUFBS0EsU0FBTCxDQUFlbUUsQ0FBZixFQUFrQkMsUUFBbEI7QUFDQSxhQUFLcEUsU0FBTCxDQUFlbUUsQ0FBZixJQUFvQixJQUFwQjtBQUNIOztBQUNELFdBQUtuRSxTQUFMLEdBQWlCLElBQWpCO0FBQ0g7QUFDSjtBQXRJdUIsQ0FBVCxDQUFuQiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBhdXRob3I6IHh4eEBzeWcuY29tKOW/heWhqywg5Yib5bu65qih5Z2X55qE5Lq65ZGYKVxuLy8gQGRlc2NyaXB0aW9uOlxuLy8gICAgIOaUtuiXj+acieekvFxuLy8gPGJyLz5DcmVhdGU6IDIwMTktMDQtMjUgMTY6NDQ6MzVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG52YXIgUGF0aFRvb2wgPSByZXF1aXJlKFwicGF0aHRvb2xcIik7XG52YXIgV2VsZmFyZUV2ZW50ID0gcmVxdWlyZShcIndlbGZhcmVfZXZlbnRcIik7XG5cbnZhciBDb2xsZWN0UGFuZWwgPSBjYy5DbGFzcyh7XG4gICAgZXh0ZW5kczogQmFzZVBhbmVsLFxuICAgIGN0b3I6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5wcmVmYWJQYXRoID0gUGF0aFRvb2wuZ2V0UHJlZmFiUGF0aChcIndlbGZhcmVcIiwgXCJjb2xsZWN0X3BhbmVsXCIpO1xuICAgIH0sXG5cbiAgICAvLyDlj6/ku6XliJ3lp4vljJblo7DmmI7kuIDkupvlj5jph4/nmoRcbiAgICBpbml0Q29uZmlnOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuY3RybCA9IHJlcXVpcmUoXCJ3ZWxmYXJlX2NvbnRyb2xsZXJcIikuZ2V0SW5zdGFuY2UoKTtcbiAgICAgICAgdGhpcy5pdGVtX2xpc3QgPSB7fTtcbiAgICAgICAgdGhpcy5pc19jYW5fZ2V0ID0gZmFsc2U7XG4gICAgfSxcblxuICAgIC8vIOWIneWni+WMluS4gOS6m+mFjee9ruaVsOaNrizlj6/ku6XnlKjkuo7lo7DmmI7kuIDkupvlj5jph4/kuYvnsbvnmoRcbiAgICBpbml0UGFuZWw6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5tYWluX2NvbnRhaW5lciA9IHRoaXMuc2Vla0NoaWxkKFwibWFpbl9jb250YWluZXJcIik7XG5cbiAgICAgICAgdGhpcy5pdGVtX2NvbnRhaW5lciA9IHRoaXMuc2Vla0NoaWxkKHRoaXMubWFpbl9jb250YWluZXIsIFwiaXRlbV9jb250YWluZXJcIik7XG4gICAgICAgIHRoaXMuYmdfc3BfMiA9IHRoaXMuc2Vla0NoaWxkKHRoaXMubWFpbl9jb250YWluZXIsIFwiYmdfMlwiLCBjYy5TcHJpdGUpO1xuICAgICAgICB0aGlzLmxvYWRSZXMoUGF0aFRvb2wuZ2V0QmlnQmcoXCJ3ZWxmYXJlL3R4dF9jbl9zaHd4X2NvbGxlY3RcIixcImpwZ1wiKSwgZnVuY3Rpb24gKHJlcykge1xuICAgICAgICAgICAgdGhpcy5iZ19zcF8yLnNwcml0ZUZyYW1lID0gcmVzO1xuICAgICAgICB9LmJpbmQodGhpcykpXG4gICAgICAgIHRoaXMuZGVzYyAgPSB0aGlzLnNlZWtDaGlsZCh0aGlzLm1haW5fY29udGFpbmVyLCBcInR4dF8yXCIsY2MuTGFiZWwpO1xuICAgICAgICB0aGlzLmRlc2Muc3RyaW5nID0gVXRpbHMuVEkxOE4oXCIxLueCueWHu+KAnOWPs+S4iuinkuS4ieS4queCueKAnSDigKLigKLigKJcXG4yLueCueWHu+KAnOa3u+WKoOWIsOaIkeeahOWwj+eoi+W6j+KAnVxcbjMu54K55Ye74oCc5YWz6Zet5ZyG5ZyI4oCdIOKKmVxcbjQu54K55Ye75oiR55qE5bCP56iL5bqP4oCc5YmR6a2C5LmL5YWJ4oCd5byA5ZCv5ri45oiP77yM6aKG5Y+W5aWW5YqxXCIpO1xuICAgICAgICB0aGlzLmdvX2J0biA9IHRoaXMuc2Vla0NoaWxkKHRoaXMubWFpbl9jb250YWluZXIsIFwiZ29fYnRuXCIpO1xuICAgICAgICB0aGlzLmdvX2J0bl9sYiA9IHRoaXMuc2Vla0NoaWxkKHRoaXMuZ29fYnRuLCBcImxhYmVsXCIsIGNjLkxhYmVsKTtcbiAgICAgICAgdGhpcy5nb19idG5fbGIuc3RyaW5nID0gVXRpbHMuVEkxOE4oXCLmlLbol4/pooblpb3npLxcIik7XG4gICAgICAgIHRoaXMuZ29fYnRuX2xvID0gdGhpcy5zZWVrQ2hpbGQodGhpcy5nb19idG4sIFwibGFiZWxcIiwgY2MuTGFiZWxPdXRsaW5lKTtcbiAgICAgICAgdGhpcy5nb19idG5fYnRuID0gdGhpcy5zZWVrQ2hpbGQodGhpcy5tYWluX2NvbnRhaW5lciwgXCJnb19idG5cIiwgY2MuQnV0dG9uKTtcblxuICAgICAgICBpZiAodGhpcy5jdHJsLmdldE1vZGVsKCkuZ2V0Q29sbGVjdEF3YXJkU3RhdHVzKCkgPT0gMSkge1xuICAgICAgICAgICAgdGhpcy5nb19idG5fbGIuc3RyaW5nID0gVXRpbHMuVEkxOE4oXCLlt7Lpooblj5ZcIik7XG4gICAgICAgICAgICB0aGlzLmdvX2J0bl9sby5lbmFibGVkID0gZmFsc2U7XG4gICAgICAgICAgICBVdGlscy5zZXRHcmV5QnV0dG9uKHRoaXMuZ29fYnRuX2J0bilcbiAgICAgICAgfVxuICAgICAgICBcblxuICAgICAgICBpZih3aW5kb3cud3gpe1xuICAgICAgICAgICAgdmFyIG9wdGlvbnMgPSB3eC5nZXRMYXVuY2hPcHRpb25zU3luYygpO1xuICAgICAgICAgICAgdmFyIHZhbCA9IHd4LmdldFN0b3JhZ2VTeW5jKFwiaXNfb3Blbl9zY2VuZVwiKTtcbiAgICAgICAgICAgIGlmKHZhbCA9PSAxIHx8IChvcHRpb25zICYmIG9wdGlvbnMuc2NlbmUgJiYgKG9wdGlvbnMuc2NlbmUgPT0gMTAwMSB8fCBvcHRpb25zLnNjZW5lID09IDEwODkgfHwgb3B0aW9ucy5zY2VuZSA9PSAxMTAzIHx8IG9wdGlvbnMuc2NlbmUgPT0gMTEwNCkpKXtcbiAgICAgICAgICAgICAgICB0aGlzLmlzX2Nhbl9nZXQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHd4LnNldFN0b3JhZ2VTeW5jKFwiaXNfb3Blbl9zY2VuZVwiLCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyDms6jlhozkuovku7bnm5HlkKznmoTmjqXlj6Ms5LiN6ZyA6KaB5omL5Yqo6LCD55SoLOWmguaenOaYr+S9v+eUqGdjb3JlLkdsb2JhbEV2ZW5055uR5ZCsLOWPr+S7peebtOaOpeiwg+eUqGFkZEdsb2JhbEV2ZW50XG4gICAgcmVnaXN0ZXJFdmVudDogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmdvX2J0bi5vbihcImNsaWNrXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIFV0aWxzLnBsYXlCdXR0b25Tb3VuZCgxKTtcbiAgICAgICAgICAgIGlmKFBMQVRGT1JNX1RZUFIgPT0gXCJTSF9TREtcIil7Ly/mt7HmtbflsI/nqIvluo9cbiAgICAgICAgICAgICAgICB0aGlzLmNsaWNrR29CdG5CeVNIV1goKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfS5iaW5kKHRoaXMpKVxuXG4gICAgICAgIHRoaXMuYWRkR2xvYmFsRXZlbnQoV2VsZmFyZUV2ZW50LlVwZGF0ZV9nZXRfU0hXWF9jb2xsZWN0X2F3YXJkX3N0YXR1cywgZnVuY3Rpb24gKHN0YXR1cykge1xuICAgICAgICAgICAgLy8gbWVlc2FnZShzdGF0dXMpXG4gICAgICAgICAgICBpZiAoc3RhdHVzID09IDIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdvX2J0bl9sYi5zdHJpbmcgPSBVdGlscy5USTE4TihcIuaUtuiXj+mihuWlveekvFwiKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoc3RhdHVzID09IDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdvX2J0bl9sYi5zdHJpbmcgPSBVdGlscy5USTE4TihcIuW3sumihuWPllwiKTtcbiAgICAgICAgICAgICAgICB0aGlzLmdvX2J0bl9sby5lbmFibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgVXRpbHMuc2V0R3JleUJ1dHRvbih0aGlzLmdvX2J0bl9idG4pXG4gICAgICAgICAgICB9XG4gICAgICAgIH0uYmluZCh0aGlzKSlcblxuICAgICAgICB0aGlzLmFkZEdsb2JhbEV2ZW50KFdlbGZhcmVFdmVudC5VcGRhdGVfU0hXWF9zaG93X3NjZW5lX3ZhbCwgZnVuY3Rpb24gKHNjZW5lKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jdHJsLmdldE1vZGVsKCkuZ2V0Q29sbGVjdEF3YXJkU3RhdHVzKCkgPT0gMSB8fHRoaXMuaXNfY2FuX2dldCA9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYod2luZG93Lnd4KXtcbiAgICAgICAgICAgICAgICB2YXIgdmFsID0gd3guZ2V0U3RvcmFnZVN5bmMoXCJpc19vcGVuX3NjZW5lXCIpO1xuICAgICAgICAgICAgICAgIGlmKHZhbCA9PSAxIHx8IChzY2VuZSAmJiAoc2NlbmUgPT0gMTAwMSB8fCBzY2VuZSA9PSAxMDg5IHx8IHNjZW5lID09IDExMDMgfHwgc2NlbmUgPT0gMTEwNCkpKXtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc19jYW5fZ2V0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgd3guc2V0U3RvcmFnZVN5bmMoXCJpc19vcGVuX3NjZW5lXCIsIDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfS5iaW5kKHRoaXMpKVxuICAgIH0sXG5cbiAgICBjbGlja0dvQnRuQnlTSFdYOmZ1bmN0aW9uKCl7XG4gICAgICAgIGlmKHRoaXMuaXNfY2FuX2dldCA9PSB0cnVlKXtcbiAgICAgICAgICAgIGlmKHRoaXMuY3RybC5nZXRNb2RlbCgpLmdldENvbGxlY3RBd2FyZFN0YXR1cygpID09IDApe1xuICAgICAgICAgICAgICAgIHRoaXMuY3RybC5zZW5kMTY2OTYoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICBtZXNzYWdlKFV0aWxzLlRJMThOKFwi6K+35YWI5pS26JeP5Yiw5oiR55qE5bCP56iL5bqPXCIpKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyDpooTliLbkvZPliqDovb3lrozmiJDkuYvlkI4s5re75Yqg5Yiw5a+55bqU5Li76IqC54K55LmL5ZCO55qE5Zue6LCD5Y+v5Lul6K6+572u5LiA5Lqb5pWw5o2u5LqGXG4gICAgb25TaG93OiBmdW5jdGlvbiAocGFyYW1zKSB7XG4gICAgICAgIHRoaXMuc2V0SXRlbUxpc3QoKTtcbiAgICB9LFxuXG4gICAgc2V0SXRlbUxpc3Q6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKFBMQVRGT1JNX1RZUFIgPT0gXCJTSF9TREtcIikge1xuICAgICAgICAgICAgdmFyIGJpbmRfZGF0YSA9IHRoaXMuY3RybC5nZXRNb2RlbCgpLmdldENvbGxlY3RBd2FyZCgpO1xuICAgICAgICAgICAgaWYgKGJpbmRfZGF0YSA9PSBudWxsKSByZXR1cm5cbiAgICAgICAgICAgIHZhciBpbmRleCA9IDA7XG4gICAgICAgICAgICBmb3IgKHZhciBpIGluIGJpbmRfZGF0YSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHYgPSBiaW5kX2RhdGFbaV07XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLml0ZW1fbGlzdFtpXSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gSXRlbXNQb29sLmdldEluc3RhbmNlKCkuZ2V0SXRlbShcImJhY2twYWNrX2l0ZW1cIik7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uaW5pdENvbmZpZyhmYWxzZSwgMC43LCBmYWxzZSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICBpdGVtLnNldFBhcmVudCh0aGlzLml0ZW1fY29udGFpbmVyKTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5zZXREYXRhKHsgYmlkOiB2LmJpZCwgbnVtOiB2Lm51bSB9KTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5zZXRQb3NpdGlvbihpbmRleCAqIDExMCAtIDExMCwgODApO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLml0ZW1fbGlzdFtpXSA9IGl0ZW07XG4gICAgICAgICAgICAgICAgICAgIGluZGV4ID0gaW5kZXggKyAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyDpnaLmnb/orr7nva7kuI3lj6/op4HnmoTlm57osIMs6L+Z6YeM5YGa5LiA5Lqb5LiN5Y+v6KeB55qE5bGP6JS95aSE55CGXG4gICAgb25IaWRlOiBmdW5jdGlvbiAoKSB7XG5cbiAgICB9LFxuXG4gICAgLy8g5b2T6Z2i5p2/5LuO5Li76IqC54K56YeK5pS+5o6J55qE6LCD55So5o6l5Y+jLOmcgOimgeaJi+WKqOiwg+eUqCzogIzkuJTkuZ/kuIDlrpropoHosIPnlKhcbiAgICBvbkRlbGV0ZTogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmlzX3NoYXRlID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKHRoaXMuaXRlbV9saXN0KSB7XG4gICAgICAgICAgICBmb3IgKHZhciBrIGluIHRoaXMuaXRlbV9saXN0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtX2xpc3Rba10uZGVsZXRlTWUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1fbGlzdFtrXSA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLml0ZW1fbGlzdCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9LFxufSkiXX0=