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
 
                (function() {
                    var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
                    var __module = nodeEnv ? module : {exports:{}};
                    var __filename = 'preview-scripts/assets/Scripts/mod/welfare/view/month_item.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, 'c84f0bvD+9Pwo4RqiQR1TK1', 'month_item');
// Scripts/mod/welfare/view/month_item.js
 
"use strict";
 
// --------------------------------------------------------------------
// @author: xxx@syg.com(必填, 创建模块的人员)
// @description:
//     这里是描述这个窗体的作用的
// <br/>Create: 2019-04-22 20:43:23
// --------------------------------------------------------------------
var PathTool = require("pathtool");
 
var CommonScrollView = require("common_scrollview");
 
var Month_itemPanel = cc.Class({
  "extends": BasePanel,
  ctor: function ctor() {
    this.prefabPath = PathTool.getPrefabPath("welfare", "week_month_panel_item");
  },
  // 可以初始化声明一些变量的
  initConfig: function initConfig() {},
  // 初始化一些配置数据,可以用于声明一些变量之类的
  initPanel: function initPanel() {
    this.main_container = this.seekChild("main_container");
    this.btn_charge_btn = this.seekChild("btn_charge", cc.Button);
    this.charge_price_lb = this.seekChild(this.btn_charge_btn.node, "Text_4_0", cc.Label);
    this.text_remain_lb = this.seekChild(this.main_container, "Text_4", cc.Label);
    var good_list = this.seekChild(this.main_container, "good_cons");
    var tab_size = good_list.getContentSize();
    var setting = {
      item_class: "backpack_item",
      // 单元类
      start_x: 0,
      // 第一个单元的X起点
      space_x: 0,
      // x方向的间隔
      start_y: 0,
      // 第一个单元的Y起点
      space_y: 0,
      // y方向的间隔
      item_width: BackPackItem.Width * 0.8,
      // 单元的尺寸width
      item_height: BackPackItem.Height * 0.8,
      // 单元的尺寸height
      row: 1,
      // 行数,作用于水平滚动类型
      col: 1,
      // 列数,作用于垂直滚动类型
      // need_dynamic: true
      scale: 0.8
    };
    this.tab_scrollview = new CommonScrollView();
    this.tab_scrollview.createScroll(good_list, cc.v2(0, -10), ScrollViewDir.horizontal, ScrollViewStartPos.top, tab_size, setting, cc.v2(0.5, 0.5));
  },
  // 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent
  registerEvent: function registerEvent() {
    this.btn_charge_btn.node.on("click", function () {
      Utils.playButtonSound(1);
 
      if (this.data.limit_count > 0) {
        SDK.pay(this.data.val, 1, this.data.charge_id, this.data.gift_name, null, null, null);
      } else {
        message(Utils.TI18N("该礼包已售罄"));
      }
    }, this);
  },
  setData: function setData(data) {
    this.data = data;
    if (this.root_wnd) this.onShow();
  },
  addCallBack: function addCallBack(value) {
    this.callback = value;
  },
  // 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了
  onShow: function onShow(params) {
    if (this.data == null) return;
    var data = this.data;
    this.charge_price_lb.string = data.val + Utils.TI18N("元");
 
    if (data.count <= 0) {
      data.count = 0;
      Utils.setGreyButton(this.btn_charge_btn, true);
      this.charge_price_lb.node.color = new cc.Color(0xff, 0xff, 0xff, 0xff);
    } else {
      Utils.setGreyButton(this.btn_charge_btn, false);
      this.charge_price_lb.node.color = new cc.Color(0x71, 0x28, 0x04, 0xff);
    }
 
    this.text_remain_lb.string = Utils.TI18N("剩余: ") + data.count;
    var list = [];
 
    for (var k in data.reward) {
      var v = data.reward[k];
      var vo = Utils.deepCopy(Utils.getItemConfig(v[0]));
      vo.quantity = v[1];
      vo.bid = vo.id;
      vo.num = v[1];
      list.push(vo);
    }
 
    this.tab_scrollview.setData(list);
    this.tab_scrollview.addEndCallBack(function () {
      var list = this.tab_scrollview.getItemList();
 
      for (var k in list) {
        list[k].setDefaultTip();
      }
    }.bind(this));
  },
  setExtendData: function setExtendData(_type) {
    this.reward_type = _type || 1;
  },
  getData: function getData() {
    return this.data;
  },
  // 面板设置不可见的回调,这里做一些不可见的屏蔽处理
  onHide: function onHide() {},
  // 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用
  onDelete: function onDelete() {
    if (this.tab_scrollview) {
      this.tab_scrollview.deleteMe();
      this.tab_scrollview = 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFx3ZWxmYXJlXFx2aWV3XFxtb250aF9pdGVtLmpzIl0sIm5hbWVzIjpbIlBhdGhUb29sIiwicmVxdWlyZSIsIkNvbW1vblNjcm9sbFZpZXciLCJNb250aF9pdGVtUGFuZWwiLCJjYyIsIkNsYXNzIiwiQmFzZVBhbmVsIiwiY3RvciIsInByZWZhYlBhdGgiLCJnZXRQcmVmYWJQYXRoIiwiaW5pdENvbmZpZyIsImluaXRQYW5lbCIsIm1haW5fY29udGFpbmVyIiwic2Vla0NoaWxkIiwiYnRuX2NoYXJnZV9idG4iLCJCdXR0b24iLCJjaGFyZ2VfcHJpY2VfbGIiLCJub2RlIiwiTGFiZWwiLCJ0ZXh0X3JlbWFpbl9sYiIsImdvb2RfbGlzdCIsInRhYl9zaXplIiwiZ2V0Q29udGVudFNpemUiLCJzZXR0aW5nIiwiaXRlbV9jbGFzcyIsInN0YXJ0X3giLCJzcGFjZV94Iiwic3RhcnRfeSIsInNwYWNlX3kiLCJpdGVtX3dpZHRoIiwiQmFja1BhY2tJdGVtIiwiV2lkdGgiLCJpdGVtX2hlaWdodCIsIkhlaWdodCIsInJvdyIsImNvbCIsInNjYWxlIiwidGFiX3Njcm9sbHZpZXciLCJjcmVhdGVTY3JvbGwiLCJ2MiIsIlNjcm9sbFZpZXdEaXIiLCJob3Jpem9udGFsIiwiU2Nyb2xsVmlld1N0YXJ0UG9zIiwidG9wIiwicmVnaXN0ZXJFdmVudCIsIm9uIiwiVXRpbHMiLCJwbGF5QnV0dG9uU291bmQiLCJkYXRhIiwibGltaXRfY291bnQiLCJTREsiLCJwYXkiLCJ2YWwiLCJjaGFyZ2VfaWQiLCJnaWZ0X25hbWUiLCJtZXNzYWdlIiwiVEkxOE4iLCJzZXREYXRhIiwicm9vdF93bmQiLCJvblNob3ciLCJhZGRDYWxsQmFjayIsInZhbHVlIiwiY2FsbGJhY2siLCJwYXJhbXMiLCJzdHJpbmciLCJjb3VudCIsInNldEdyZXlCdXR0b24iLCJjb2xvciIsIkNvbG9yIiwibGlzdCIsImsiLCJyZXdhcmQiLCJ2Iiwidm8iLCJkZWVwQ29weSIsImdldEl0ZW1Db25maWciLCJxdWFudGl0eSIsImJpZCIsImlkIiwibnVtIiwicHVzaCIsImFkZEVuZENhbGxCYWNrIiwiZ2V0SXRlbUxpc3QiLCJzZXREZWZhdWx0VGlwIiwiYmluZCIsInNldEV4dGVuZERhdGEiLCJfdHlwZSIsInJld2FyZF90eXBlIiwiZ2V0RGF0YSIsIm9uSGlkZSIsIm9uRGVsZXRlIiwiZGVsZXRlTWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSUEsUUFBUSxHQUFHQyxPQUFPLENBQUMsVUFBRCxDQUF0Qjs7QUFDQSxJQUFJQyxnQkFBZ0IsR0FBR0QsT0FBTyxDQUFDLG1CQUFELENBQTlCOztBQUVBLElBQUlFLGVBQWUsR0FBR0MsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDM0IsYUFBU0MsU0FEa0I7QUFFM0JDLEVBQUFBLElBQUksRUFBRSxnQkFBWTtBQUNkLFNBQUtDLFVBQUwsR0FBa0JSLFFBQVEsQ0FBQ1MsYUFBVCxDQUF1QixTQUF2QixFQUFrQyx1QkFBbEMsQ0FBbEI7QUFDSCxHQUowQjtBQU0zQjtBQUNBQyxFQUFBQSxVQUFVLEVBQUUsc0JBQVksQ0FFdkIsQ0FUMEI7QUFXM0I7QUFDQUMsRUFBQUEsU0FBUyxFQUFFLHFCQUFZO0FBQ25CLFNBQUtDLGNBQUwsR0FBc0IsS0FBS0MsU0FBTCxDQUFlLGdCQUFmLENBQXRCO0FBQ0EsU0FBS0MsY0FBTCxHQUFzQixLQUFLRCxTQUFMLENBQWUsWUFBZixFQUE2QlQsRUFBRSxDQUFDVyxNQUFoQyxDQUF0QjtBQUNBLFNBQUtDLGVBQUwsR0FBdUIsS0FBS0gsU0FBTCxDQUFlLEtBQUtDLGNBQUwsQ0FBb0JHLElBQW5DLEVBQXlDLFVBQXpDLEVBQXFEYixFQUFFLENBQUNjLEtBQXhELENBQXZCO0FBQ0EsU0FBS0MsY0FBTCxHQUFzQixLQUFLTixTQUFMLENBQWUsS0FBS0QsY0FBcEIsRUFBb0MsUUFBcEMsRUFBOENSLEVBQUUsQ0FBQ2MsS0FBakQs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QUNIOztBQUNELFNBQUtwQyxjQUFMLENBQW9Cb0IsT0FBcEIsQ0FBNEJZLElBQTVCO0FBQ0EsU0FBS2hDLGNBQUwsQ0FBb0I0QyxjQUFwQixDQUFtQyxZQUFZO0FBQzNDLFVBQUlaLElBQUksR0FBRyxLQUFLaEMsY0FBTCxDQUFvQjZDLFdBQXBCLEVBQVg7O0FBQ0EsV0FBSyxJQUFJWixDQUFULElBQWNELElBQWQsRUFBb0I7QUFDaEJBLFFBQUFBLElBQUksQ0FBQ0MsQ0FBRCxDQUFKLENBQVFhLGFBQVI7QUFDSDtBQUNKLEtBTGtDLENBS2pDQyxJQUxpQyxDQUs1QixJQUw0QixDQUFuQztBQU1ILEdBMUYwQjtBQTRGM0JDLEVBQUFBLGFBQWEsRUFBRSx1QkFBVUMsS0FBVixFQUFpQjtBQUM1QixTQUFLQyxXQUFMLEdBQW1CRCxLQUFLLElBQUksQ0FBNUI7QUFDSCxHQTlGMEI7QUFnRzNCRSxFQUFBQSxPQUFPLEVBQUUsbUJBQVk7QUFDakIsV0FBTyxLQUFLeEMsSUFBWjtBQUNILEdBbEcwQjtBQW9HM0I7QUFDQXlDLEVBQUFBLE1BQU0sRUFBRSxrQkFBWSxDQUVuQixDQXZHMEI7QUF5RzNCO0FBQ0FDLEVBQUFBLFFBQVEsRUFBRSxvQkFBWTtBQUNsQixRQUFJLEtBQUtyRCxjQUFULEVBQXlCO0FBQ3JCLFdBQUtBLGNBQUwsQ0FBb0JzRCxRQUFwQjtBQUNBLFdBQUt0RCxjQUFMLEdBQXNCLElBQXRCO0FBQ0g7QUFDSjtBQS9HMEIsQ0FBVCxDQUF0QiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBhdXRob3I6IHh4eEBzeWcuY29tKOW/heWhqywg5Yib5bu65qih5Z2X55qE5Lq65ZGYKVxuLy8gQGRlc2NyaXB0aW9uOlxuLy8gICAgIOi/memHjOaYr+aPj+i/sOi/meS4queql+S9k+eahOS9nOeUqOeahFxuLy8gPGJyLz5DcmVhdGU6IDIwMTktMDQtMjIgMjA6NDM6MjNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG52YXIgUGF0aFRvb2wgPSByZXF1aXJlKFwicGF0aHRvb2xcIik7XG52YXIgQ29tbW9uU2Nyb2xsVmlldyA9IHJlcXVpcmUoXCJjb21tb25fc2Nyb2xsdmlld1wiKTtcblxudmFyIE1vbnRoX2l0ZW1QYW5lbCA9IGNjLkNsYXNzKHtcbiAgICBleHRlbmRzOiBCYXNlUGFuZWwsXG4gICAgY3RvcjogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLnByZWZhYlBhdGggPSBQYXRoVG9vbC5nZXRQcmVmYWJQYXRoKFwid2VsZmFyZVwiLCBcIndlZWtfbW9udGhfcGFuZWxfaXRlbVwiKTtcbiAgICB9LFxuXG4gICAgLy8g5Y+v5Lul5Yid5aeL5YyW5aOw5piO5LiA5Lqb5Y+Y6YeP55qEXG4gICAgaW5pdENvbmZpZzogZnVuY3Rpb24gKCkge1xuXG4gICAgfSxcblxuICAgIC8vIOWIneWni+WMluS4gOS6m+mFjee9ruaVsOaNrizlj6/ku6XnlKjkuo7lo7DmmI7kuIDkupvlj5jph4/kuYvnsbvnmoRcbiAgICBpbml0UGFuZWw6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5tYWluX2NvbnRhaW5lciA9IHRoaXMuc2Vla0NoaWxkKFwibWFpbl9jb250YWluZXJcIik7XG4gICAgICAgIHRoaXMuYnRuX2NoYXJnZV9idG4gPSB0aGlzLnNlZWtDaGlsZChcImJ0bl9jaGFyZ2VcIiwgY2MuQnV0dG9uKTtcbiAgICAgICAgdGhpcy5jaGFyZ2VfcHJpY2VfbGIgPSB0aGlzLnNlZWtDaGlsZCh0aGlzLmJ0bl9jaGFyZ2VfYnRuLm5vZGUsIFwiVGV4dF80XzBcIiwgY2MuTGFiZWwpO1xuICAgICAgICB0aGlzLnRleHRfcmVtYWluX2xiID0gdGhpcy5zZWVrQ2hpbGQodGhpcy5tYWluX2NvbnRhaW5lciwgXCJUZXh0XzRcIiwgY2MuTGFiZWwpO1xuXG4gICAgICAgIHZhciBnb29kX2xpc3QgPSB0aGlzLnNlZWtDaGlsZCh0aGlzLm1haW5fY29udGFpbmVyLCBcImdvb2RfY29uc1wiKTtcbiAgICAgICAgdmFyIHRhYl9zaXplID0gZ29vZF9saXN0LmdldENvbnRlbnRTaXplKCk7XG4gICAgICAgIHZhciBzZXR0aW5nID0ge1xuICAgICAgICAgICAgaXRlbV9jbGFzczogXCJiYWNrcGFja19pdGVtXCIsICAgICAgLy8g5Y2V5YWD57G7XG4gICAgICAgICAgICBzdGFydF94OiAwLCAgICAgICAgICAgICAgICAgICAgLy8g56ys5LiA5Liq5Y2V5YWD55qEWOi1t+eCuVxuICAgICAgICAgICAgc3BhY2VfeDogMCwgICAgICAgICAgICAgICAgICAgIC8vIHjmlrnlkJHnmoTpl7TpmpRcbiAgICAgICAgICAgIHN0YXJ0X3k6IDAsICAgICAgICAgICAgICAgICAgICAvLyDnrKzkuIDkuKrljZXlhYPnmoRZ6LW354K5XG4gICAgICAgICAgICBzcGFjZV95OiAwLCAgICAgICAgICAgICAgICAgICAvLyB55pa55ZCR55qE6Ze06ZqUXG4gICAgICAgICAgICBpdGVtX3dpZHRoOiBCYWNrUGFja0l0ZW0uV2lkdGggKiAwLjgsICAgICAgICAgICAgICAgLy8g5Y2V5YWD55qE5bC65a+4d2lkdGhcbiAgICAgICAgICAgIGl0ZW1faGVpZ2h0OiBCYWNrUGFja0l0ZW0uSGVpZ2h0ICogMC44LCAgICAgICAgICAgICAgLy8g5Y2V5YWD55qE5bC65a+4aGVpZ2h0XG4gICAgICAgICAgICByb3c6IDEsICAgICAgICAgICAgICAgICAgICAgICAgLy8g6KGM5pWw77yM5L2c55So5LqO5rC05bmz5rua5Yqo57G75Z6LXG4gICAgICAgICAgICBjb2w6IDEsICAgICAgICAgICAgICAgICAgICAgICAgLy8g5YiX5pWw77yM5L2c55So5LqO5Z6C55u05rua5Yqo57G75Z6LXG4gICAgICAgICAgICAvLyBuZWVkX2R5bmFtaWM6IHRydWVcbiAgICAgICAgICAgIHNjYWxlOiAwLjhcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRhYl9zY3JvbGx2aWV3ID0gbmV3IENvbW1vblNjcm9sbFZpZXcoKVxuICAgICAgICB0aGlzLnRhYl9zY3JvbGx2aWV3LmNyZWF0ZVNjcm9sbChnb29kX2xpc3QsIGNjLnYyKDAsIC0xMCksIFNjcm9sbFZpZXdEaXIuaG9yaXpvbnRhbCwgU2Nyb2xsVmlld1N0YXJ0UG9zLnRvcCwgdGFiX3NpemUsIHNldHRpbmcsIGNjLnYyKDAuNSwgMC41KSlcbiAgICB9LFxuXG4gICAgLy8g5rOo5YaM5LqL5Lu255uR5ZCs55qE5o6l5Y+jLOS4jemcgOimgeaJi+WKqOiwg+eUqCzlpoLmnpzmmK/kvb/nlKhnY29yZS5HbG9iYWxFdmVudOebkeWQrCzlj6/ku6Xnm7TmjqXosIPnlKhhZGRHbG9iYWxFdmVudFxuICAgIHJlZ2lzdGVyRXZlbnQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5idG5fY2hhcmdlX2J0bi5ub2RlLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgVXRpbHMucGxheUJ1dHRvblNvdW5kKDEpO1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5saW1pdF9jb3VudCA+IDApIHtcbiAgICAgICAgICAgICAgICBTREsucGF5KHRoaXMuZGF0YS52YWwsIDEsIHRoaXMuZGF0YS5jaGFyZ2VfaWQsIHRoaXMuZGF0YS5naWZ0X25hbWUsIG51bGwsIG51bGwsIG51bGwpOyAgXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG1lc3NhZ2UoVXRpbHMuVEkxOE4oXCLor6XnpLzljIXlt7LllK7nvYRcIikpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIHRoaXMpXG4gICAgfSxcblxuICAgIHNldERhdGE6IGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgICAgIGlmICh0aGlzLnJvb3Rfd25kKVxuICAgICAgICAgICAgdGhpcy5vblNob3coKTtcbiAgICB9LFxuXG4gICAgYWRkQ2FsbEJhY2s6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICB0aGlzLmNhbGxiYWNrID0gdmFsdWU7XG4gICAgfSxcblxuICAgIC8vIOmihOWItuS9k+WKoOi9veWujOaIkOS5i+WQjizmt7vliqDliLDlr7nlupTkuLvoioLngrnkuYvlkI7nmoTlm57osIPlj6/ku6Xorr7nva7kuIDkupvmlbDmja7kuoZcbiAgICBvblNob3c6IGZ1bmN0aW9uIChwYXJhbXMpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YSA9PSBudWxsKSByZXR1cm5cbiAgICAgICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7XG4gICAgICAgIHRoaXMuY2hhcmdlX3ByaWNlX2xiLnN0cmluZyA9IGRhdGEudmFsICsgVXRpbHMuVEkxOE4oXCLlhYNcIik7XG4gICAgICAgIGlmIChkYXRhLmNvdW50IDw9IDApIHtcbiAgICAgICAgICAgIGRhdGEuY291bnQgPSAwO1xuICAgICAgICAgICAgVXRpbHMuc2V0R3JleUJ1dHRvbih0aGlzLmJ0bl9jaGFyZ2VfYnRuLCB0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuY2hhcmdlX3ByaWNlX2xiLm5vZGUuY29sb3IgPSBuZXcgY2MuQ29sb3IoMHhmZiwgMHhmZiwgMHhmZiwgMHhmZik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBVdGlscy5zZXRHcmV5QnV0dG9uKHRoaXMuYnRuX2NoYXJnZV9idG4sIGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuY2hhcmdlX3ByaWNlX2xiLm5vZGUuY29sb3IgPSBuZXcgY2MuQ29sb3IoMHg3MSwgMHgyOCwgMHgwNCwgMHhmZik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50ZXh0X3JlbWFpbl9sYi5zdHJpbmcgPSBVdGlscy5USTE4TihcIuWJqeS9mTogXCIpICsgZGF0YS5jb3VudDtcblxuICAgICAgICB2YXIgbGlzdCA9IFtdO1xuICAgICAgICBmb3IgKHZhciBrIGluIGRhdGEucmV3YXJkKSB7XG4gICAgICAgICAgICB2YXIgdiA9IGRhdGEucmV3YXJkW2tdO1xuICAgICAgICAgICAgdmFyIHZvID0gVXRpbHMuZGVlcENvcHkoVXRpbHMuZ2V0SXRlbUNvbmZpZyh2WzBdKSk7XG4gICAgICAgICAgICB2by5xdWFudGl0eSA9IHZbMV07XG4gICAgICAgICAgICB2by5iaWQgPSB2by5pZDtcbiAgICAgICAgICAgIHZvLm51bSA9IHZbMV07XG4gICAgICAgICAgICBsaXN0LnB1c2godm8pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGFiX3Njcm9sbHZpZXcuc2V0RGF0YShsaXN0KTtcbiAgICAgICAgdGhpcy50YWJfc2Nyb2xsdmlldy5hZGRFbmRDYWxsQmFjayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgbGlzdCA9IHRoaXMudGFiX3Njcm9sbHZpZXcuZ2V0SXRlbUxpc3QoKTtcbiAgICAgICAgICAgIGZvciAodmFyIGsgaW4gbGlzdCkge1xuICAgICAgICAgICAgICAgIGxpc3Rba10uc2V0RGVmYXVsdFRpcCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LmJpbmQodGhpcykpXG4gICAgfSxcblxuICAgIHNldEV4dGVuZERhdGE6IGZ1bmN0aW9uIChfdHlwZSkge1xuICAgICAgICB0aGlzLnJld2FyZF90eXBlID0gX3R5cGUgfHwgMVxuICAgIH0sXG5cbiAgICBnZXREYXRhOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFcbiAgICB9LFxuXG4gICAgLy8g6Z2i5p2/6K6+572u5LiN5Y+v6KeB55qE5Zue6LCDLOi/memHjOWBmuS4gOS6m+S4jeWPr+ingeeahOWxj+iUveWkhOeQhlxuICAgIG9uSGlkZTogZnVuY3Rpb24gKCkge1xuXG4gICAgfSxcblxuICAgIC8vIOW9k+mdouadv+S7juS4u+iKgueCuemHiuaUvuaOieeahOiwg+eUqOaOpeWPoyzpnIDopoHmiYvliqjosIPnlKgs6ICM5LiU5Lmf5LiA5a6a6KaB6LCD55SoXG4gICAgb25EZWxldGU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKHRoaXMudGFiX3Njcm9sbHZpZXcpIHtcbiAgICAgICAgICAgIHRoaXMudGFiX3Njcm9sbHZpZXcuZGVsZXRlTWUoKTtcbiAgICAgICAgICAgIHRoaXMudGFiX3Njcm9sbHZpZXcgPSBudWxsO1xuICAgICAgICB9XG4gICAgfSxcbn0pIl19