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
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
 
                (function() {
                    var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
                    var __module = nodeEnv ? module : {exports:{}};
                    var __filename = 'preview-scripts/assets/Scripts/mod/redbag/view/redbag_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, 'e14bfKymw5Oo6R2jE29f611', 'redbag_window');
// Scripts/mod/redbag/view/redbag_window.js
 
"use strict";
 
// --------------------------------------------------------------------
// @author: shiraho@syg.com(必填, 创建模块的人员)
// @description:
//      公会boss主窗体
// <br/>Create: new Date().toISOString()
// --------------------------------------------------------------------
var PathTool = require("pathtool");
 
var RedbagController = require("redbag_controller");
 
var GuildEvent = require("guild_event");
 
var RedbagWindow = cc.Class({
  "extends": BaseView,
  ctor: function ctor() {
    this.prefabPath = PathTool.getPrefabPath("redbag", "redbag_btn_panel");
    this.win_type = WinType.Big;
    this.viewTag = SCENE_TAG.dialogue;
    this.ctrl = RedbagController.getInstance();
    this.model = this.ctrl.getModel();
    this.extend_id = arguments[0];
    this.btn_list = {};
    this.view_list = {};
    this.select_btn = null;
  },
  openCallBack: function openCallBack() {
    var main_panel = this.seekChild("main_panel");
    this.container = this.seekChild(main_panel, "container");
    this.background = this.seekChild("background");
 
    for (var i = 1; i <= 3; i++) {
      var btn = main_panel.getChildByName("tab_btn_" + i);
 
      if (btn) {
        var tab = {};
        tab.btn = btn;
        tab.select_bg = btn.getChildByName("select_bg");
        tab.select_bg.active = false;
        tab.title = btn.getChildByName("title").getComponent(cc.Label);
        tab.red_point = btn.getChildByName("red_point");
        tab.red_point.active = false;
 
        if (i == 2) {
          var is_red = this.model.getIsHaveRedBag();
          tab.red_point.active = is_red;
        } else if (i == 1) {
          var is_red = this.model.getSendRedBagStatue();
          tab.red_point.active = is_red;
        }
 
        tab.index = i;
        this.btn_list[i] = tab;
        this.setBtnClick(btn, i);
      }
    }
  },
  setBtnClick: function setBtnClick(btn, index) {
    btn.on(cc.Node.EventType.TOUCH_END, function () {
      this.changeTabIndex(index);
    }.bind(this));
  },
  registerEvent: function registerEvent() {
    this.background.on(cc.Node.EventType.TOUCH_END, function () {
      this.ctrl.openMainView(false);
    }.bind(this));
    this.addGlobalEvent(GuildEvent.UpdateGuildRedStatus, function () {
      var is_red = this.model.getIsHaveRedBag();
      this.updateSomeRedStatus(is_red);
      is_red = this.model.getSendRedBagStatue();
      this.updateOneRedStatus(is_red);
    });
  },
  updateSomeRedStatus: function updateSomeRedStatus(status) {
    if (this.btn_list && this.btn_list[2]) {
      var btn = this.btn_list[2];
      btn.red_point.active = status;
    }
  },
  updateOneRedStatus: function updateOneRedStatus(status) {
    if (this.btn_list && this.btn_list[1]) {
      var btn = this.btn_list[1];
      btn.red_point.active = status;
    }
  },
  changeTabIndex: function changeTabIndex(index) {
    if (this.select_btn && this.select_btn.index == index) return;
 
    if (this.select_btn) {
      this.select_btn.select_bg.active = false;
      this.select_btn.title.color = new cc.Color(0xcf, 0xb5, 0x93, 0xff);
    }
 
    if (this.pre_panel) this.pre_panel.setVisibleStatus(false);
    this.pre_panel = this.createSubPanel(index);
    this.select_btn = this.btn_list[index];
 
    if (this.select_btn) {
      this.select_btn.select_bg.active = true;
      this.select_btn.title.color = new cc.Color(0xff, 0xed, 0xd6, 0xff);
    }
 
    if (this.pre_panel) {
      this.pre_panel.setVisibleStatus(true); // this.pre_panel.setData(this.data);
    }
 
    if (this.select_btn && this.select_btn.index == 3) {
      this.ctrl.sender13545();
    }
  },
  createSubPanel: function createSubPanel(index) {
    index = Number(index);
    var panel = this.view_list[index];
    var size = this.container.getContentSize();
 
    if (panel == null) {
      if (index == 1) {
        panel = Utils.createClass("redbag_send_panel", this.extend_id);
        panel.setPosition(cc.v2(size.width / 2, 355));
      } else if (index == 2) {
        panel = Utils.createClass("redbag_get_panel");
        panel.setPosition(cc.v2(size.width / 2, 375));
      } else if (index == 3) {
        panel = Utils.createClass("redbag_rank_panel");
        panel.setPosition(cc.v2(size.width / 2, 375));
      }
 
      panel.show();
      panel.setParent(this.container);
      this.view_list[index] = panel;
    }
 
    return panel;
  },
  openRootWnd: function openRootWnd(index, data) {
    this.data = data;
    index = index || 1;
    var is_have_red = this.model.getIsHaveRedBag() || false;
 
    if (is_have_red == true && index == 1 && !this.extend_id) {
      index = 2;
    }
 
    this.changeTabIndex(index);
  },
  closeCallBack: function closeCallBack() {
    this.ctrl.openMainView(false);
 
    for (var i in this.view_list) {
      var v = this.view_list[i];
      v.deleteMe();
      v = null;
    }
 
    this.view_list = null;
  }
});
module.exports = RedbagWindow;
 
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxyZWRiYWdcXHZpZXdcXHJlZGJhZ193aW5kb3cuanMiXSwibmFtZXMiOlsiUGF0aFRvb2wiLCJyZXF1aXJlIiwiUmVkYmFnQ29udHJvbGxlciIsIkd1aWxkRXZlbnQiLCJSZWRiYWdXaW5kb3ciLCJjYyIsIkNsYXNzIiwiQmFzZVZpZXciLCJjdG9yIiwicHJlZmFiUGF0aCIsImdldFByZWZhYlBhdGgiLCJ3aW5fdHlwZSIsIldpblR5cGUiLCJCaWciLCJ2aWV3VGFnIiwiU0NFTkVfVEFHIiwiZGlhbG9ndWUiLCJjdHJsIiwiZ2V0SW5zdGFuY2UiLCJtb2RlbCIsImdldE1vZGVsIiwiZXh0ZW5kX2lkIiwiYXJndW1lbnRzIiwiYnRuX2xpc3QiLCJ2aWV3X2xpc3QiLCJzZWxlY3RfYnRuIiwib3BlbkNhbGxCYWNrIiwibWFpbl9wYW5lbCIsInNlZWtDaGlsZCIsImNvbnRhaW5lciIsImJhY2tncm91bmQiLCJpIiwiYnRuIiwiZ2V0Q2hpbGRCeU5hbWUiLCJ0YWIiLCJzZWxlY3RfYmciLCJhY3RpdmUiLCJ0aXRsZSIsImdldENvbXBvbmVudCIsIkxhYmVsIiwicmVkX3BvaW50IiwiaXNfcmVkIiwiZ2V0SXNIYXZlUmVkQmFnIiwiZ2V0U2VuZFJlZEJhZ1N0YXR1ZSIsImluZGV4Iiwic2V0QnRuQ2xpY2siLCJvbiIsIk5vZGUiLCJFdmVudFR5cGUiLCJUT1VDSF9FTkQiLCJjaGFuZ2VUYWJJbmRleCIsImJpbmQiLCJyZWdpc3RlckV2ZW50Iiwib3Blbk1haW5WaWV3IiwiYWRkR2xvYmFsRXZlbnQiLCJVcGRhdGVHdWlsZFJlZFN0YXR1cyIsInVwZGF0ZVNvbWVSZWRTdGF0dXMiLCJ1cGRhdGVPbmVSZWRTdGF0dXMiLCJzdGF0dXMiLCJjb2xvciIsIkNvbG9yIiwicHJlX3BhbmVsIiwic2V0VmlzaWJsZVN0YXR1cyIsImNyZWF0ZVN1YlBhbmVsIiwic2VuZGVyMTM1NDUiLCJOdW1iZXIiLCJwYW5lbCIsInNpemUiLCJnZXRDb250ZW50U2l6ZSIsIlV0aWxzIiwiY3JlYXRlQ2xhc3MiLCJzZXRQb3NpdGlvbiIsInYyIiwid2lkdGgiLCJzaG93Iiwic2V0UGFyZW50Iiwib3BlblJvb3RXbmQiLCJkYXRhIiwiaXNfaGF2ZV9yZWQiLCJjbG9zZUNhbGxCYWNrIiwidiIsImRlbGV0ZU1lIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxJQUFJQSxRQUFRLEdBQUdDLE9BQU8sQ0FBQyxVQUFELENBQXRCOztBQUNBLElBQUlDLGdCQUFnQixHQUFHRCxPQUFPLENBQUMsbUJBQUQsQ0FBOUI7O0FBQ0EsSUFBSUUsVUFBVSxHQUFHRixPQUFPLENBQUMsYUFBRCxDQUF4Qjs7QUFFQSxJQUFJRyxZQUFZLEdBQUdDLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ3hCLGFBQVNDLFFBRGU7QUFFeEJDLEVBQUFBLElBQUksRUFBRSxnQkFBWTtBQUNkLFNBQUtDLFVBQUwsR0FBa0JULFFBQVEsQ0FBQ1UsYUFBVCxDQUF1QixRQUF2QixFQUFpQyxrQkFBakMsQ0FBbEI7QUFDQSxTQUFLQyxRQUFMLEdBQWdCQyxPQUFPLENBQUNDLEdBQXhCO0FBQ0EsU0FBS0MsT0FBTCxHQUFlQyxTQUFTLENBQUNDLFFBQXpCO0FBQ0EsU0FBS0MsSUFBTCxHQUFZZixnQkFBZ0IsQ0FBQ2dCLFdBQWpCLEVBQVo7QUFDQSxTQUFLQyxLQUFMLEdBQWEsS0FBS0YsSUFBTCxDQUFVRyxRQUFWLEVBQWI7QUFFQSxTQUFLQyxTQUFMLEdBQWlCQyxTQUFTLENBQUMsQ0FBRCxDQUExQjtBQUNBLFNBQUtDLFFBQUwsR0FBZ0IsRUFBaEI7QUFDQSxTQUFLQyxTQUFMLEdBQWlCLEVBQWpCO0FBQ0EsU0FBS0MsVUFBTCxHQUFrQixJQUFsQjtBQUNILEdBYnVCO0FBZ0J4QkMsRUFBQUEsWUFBWSxFQUFFLHdCQUFZO0FBQ3RCLFFBQUlDLFVBQVUsR0FBRyxLQUFLQyxTQUFMLENBQWUs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SCxHQXRJdUI7QUF3SXhCbUMsRUFBQUEsYUFBYSxFQUFFLHlCQUFZO0FBQ3ZCLFNBQUs5RCxJQUFMLENBQVVvQyxZQUFWLENBQXVCLEtBQXZCOztBQUNBLFNBQUssSUFBSXRCLENBQVQsSUFBYyxLQUFLUCxTQUFuQixFQUE4QjtBQUMxQixVQUFJd0QsQ0FBQyxHQUFHLEtBQUt4RCxTQUFMLENBQWVPLENBQWYsQ0FBUjtBQUNBaUQsTUFBQUEsQ0FBQyxDQUFDQyxRQUFGO0FBQ0FELE1BQUFBLENBQUMsR0FBRyxJQUFKO0FBQ0g7O0FBQ0QsU0FBS3hELFNBQUwsR0FBaUIsSUFBakI7QUFDSDtBQWhKdUIsQ0FBVCxDQUFuQjtBQW9KQTBELE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQi9FLFlBQWpCIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBAYXV0aG9yOiBzaGlyYWhvQHN5Zy5jb20o5b+F5aGrLCDliJvlu7rmqKHlnZfnmoTkurrlkZgpXHJcbi8vIEBkZXNjcmlwdGlvbjpcclxuLy8gICAgICDlhazkvJpib3Nz5Li756qX5L2TXHJcbi8vIDxici8+Q3JlYXRlOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKClcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbnZhciBQYXRoVG9vbCA9IHJlcXVpcmUoXCJwYXRodG9vbFwiKTtcclxudmFyIFJlZGJhZ0NvbnRyb2xsZXIgPSByZXF1aXJlKFwicmVkYmFnX2NvbnRyb2xsZXJcIik7XHJcbnZhciBHdWlsZEV2ZW50ID0gcmVxdWlyZShcImd1aWxkX2V2ZW50XCIpO1xyXG5cclxudmFyIFJlZGJhZ1dpbmRvdyA9IGNjLkNsYXNzKHtcclxuICAgIGV4dGVuZHM6IEJhc2VWaWV3LFxyXG4gICAgY3RvcjogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMucHJlZmFiUGF0aCA9IFBhdGhUb29sLmdldFByZWZhYlBhdGgoXCJyZWRiYWdcIiwgXCJyZWRiYWdfYnRuX3BhbmVsXCIpO1xyXG4gICAgICAgIHRoaXMud2luX3R5cGUgPSBXaW5UeXBlLkJpZztcclxuICAgICAgICB0aGlzLnZpZXdUYWcgPSBTQ0VORV9UQUcuZGlhbG9ndWU7XHJcbiAgICAgICAgdGhpcy5jdHJsID0gUmVkYmFnQ29udHJvbGxlci5nZXRJbnN0YW5jZSgpO1xyXG4gICAgICAgIHRoaXMubW9kZWwgPSB0aGlzLmN0cmwuZ2V0TW9kZWwoKTtcclxuXHJcbiAgICAgICAgdGhpcy5leHRlbmRfaWQgPSBhcmd1bWVudHNbMF07XHJcbiAgICAgICAgdGhpcy5idG5fbGlzdCA9IHt9O1xyXG4gICAgICAgIHRoaXMudmlld19saXN0ID0ge307XHJcbiAgICAgICAgdGhpcy5zZWxlY3RfYnRuID0gbnVsbDtcclxuICAgIH0sXHJcblxyXG5cclxuICAgIG9wZW5DYWxsQmFjazogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciBtYWluX3BhbmVsID0gdGhpcy5zZWVrQ2hpbGQoXCJtYWluX3BhbmVsXCIpO1xyXG5cclxuICAgICAgICB0aGlzLmNvbnRhaW5lciA9IHRoaXMuc2Vla0NoaWxkKG1haW5fcGFuZWwsIFwiY29udGFpbmVyXCIpO1xyXG4gICAgICAgIHRoaXMuYmFja2dyb3VuZCA9IHRoaXMuc2Vla0NoaWxkKFwiYmFja2dyb3VuZFwiKTtcclxuXHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPD0gMzsgaSsrKSB7XHJcbiAgICAgICAgICAgIHZhciBidG4gPSBtYWluX3BhbmVsLmdldENoaWxkQnlOYW1lKFwidGFiX2J0bl9cIiArIGkpO1xyXG4gICAgICAgICAgICBpZiAoYnRuKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgdGFiID0ge307XHJcbiAgICAgICAgICAgICAgICB0YWIuYnRuID0gYnRuO1xyXG4gICAgICAgICAgICAgICAgdGFiLnNlbGVjdF9iZyA9IGJ0bi5nZXRDaGlsZEJ5TmFtZShcInNlbGVjdF9iZ1wiKTtcclxuICAgICAgICAgICAgICAgIHRhYi5zZWxlY3RfYmcuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0YWIudGl0bGUgPSBidG4uZ2V0Q2hpbGRCeU5hbWUoXCJ0aXRsZVwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpO1xyXG4gICAgICAgICAgICAgICAgdGFiLnJlZF9wb2ludCA9IGJ0bi5nZXRDaGlsZEJ5TmFtZShcInJlZF9wb2ludFwiKTtcclxuICAgICAgICAgICAgICAgIHRhYi5yZWRfcG9pbnQuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBpZiAoaSA9PSAyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGlzX3JlZCA9IHRoaXMubW9kZWwuZ2V0SXNIYXZlUmVkQmFnKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFiLnJlZF9wb2ludC5hY3RpdmUgPSBpc19yZWQ7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGkgPT0gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBpc19yZWQgPSB0aGlzLm1vZGVsLmdldFNlbmRSZWRCYWdTdGF0dWUoKTtcclxuICAgICAgICAgICAgICAgICAgICB0YWIucmVkX3BvaW50LmFjdGl2ZSA9IGlzX3JlZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRhYi5pbmRleCA9IGk7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5fbGlzdFtpXSA9IHRhYjtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0QnRuQ2xpY2soYnRuLCBpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9LFxyXG5cclxuICAgIHNldEJ0bkNsaWNrKGJ0biwgaW5kZXgpIHtcclxuICAgICAgICBidG4ub24oY2MuTm9kZS5FdmVudFR5cGUuVE9VQ0hfRU5ELCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlVGFiSW5kZXgoaW5kZXgpO1xyXG4gICAgICAgIH0uYmluZCh0aGlzKSlcclxuXHJcbiAgICB9LFxyXG5cclxuICAgIHJlZ2lzdGVyRXZlbnQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB0aGlzLmJhY2tncm91bmQub24oY2MuTm9kZS5FdmVudFR5cGUuVE9VQ0hfRU5ELCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3RybC5vcGVuTWFpblZpZXcoZmFsc2UpXHJcbiAgICAgICAgfS5iaW5kKHRoaXMpKVxyXG4gICAgICAgIHRoaXMuYWRkR2xvYmFsRXZlbnQoR3VpbGRFdmVudC5VcGRhdGVHdWlsZFJlZFN0YXR1cywgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB2YXIgaXNfcmVkID0gdGhpcy5tb2RlbC5nZXRJc0hhdmVSZWRCYWcoKTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVTb21lUmVkU3RhdHVzKGlzX3JlZCk7XHJcbiAgICAgICAgICAgIGlzX3JlZCA9IHRoaXMubW9kZWwuZ2V0U2VuZFJlZEJhZ1N0YXR1ZSgpO1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU9uZVJlZFN0YXR1cyhpc19yZWQpO1xyXG4gICAgICAgIH0pXHJcbiAgICB9LFxyXG5cclxuICAgIHVwZGF0ZVNvbWVSZWRTdGF0dXM6IGZ1bmN0aW9uIChzdGF0dXMpIHtcclxuICAgICAgICBpZiAodGhpcy5idG5fbGlzdCAmJiB0aGlzLmJ0bl9saXN0WzJdKSB7XHJcbiAgICAgICAgICAgIHZhciBidG4gPSB0aGlzLmJ0bl9saXN0WzJdO1xyXG4gICAgICAgICAgICBidG4ucmVkX3BvaW50LmFjdGl2ZSA9IHN0YXR1cztcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIHVwZGF0ZU9uZVJlZFN0YXR1czogZnVuY3Rpb24gKHN0YXR1cykge1xyXG4gICAgICAgIGlmICh0aGlzLmJ0bl9saXN0ICYmIHRoaXMuYnRuX2xpc3RbMV0pIHtcclxuICAgICAgICAgICAgdmFyIGJ0biA9IHRoaXMuYnRuX2xpc3RbMV07XHJcbiAgICAgICAgICAgIGJ0bi5yZWRfcG9pbnQuYWN0aXZlID0gc3RhdHVzO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgY2hhbmdlVGFiSW5kZXg6IGZ1bmN0aW9uIChpbmRleCkge1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdF9idG4gJiYgdGhpcy5zZWxlY3RfYnRuLmluZGV4ID09IGluZGV4KSByZXR1cm5cclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RfYnRuKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0X2J0bi5zZWxlY3RfYmcuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0X2J0bi50aXRsZS5jb2xvciA9IG5ldyBjYy5Db2xvcigweGNmLCAweGI1LCAweDkzLCAweGZmKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMucHJlX3BhbmVsKVxyXG4gICAgICAgICAgICB0aGlzLnByZV9wYW5lbC5zZXRWaXNpYmxlU3RhdHVzKGZhbHNlKTtcclxuICAgICAgICB0aGlzLnByZV9wYW5lbCA9IHRoaXMuY3JlYXRlU3ViUGFuZWwoaW5kZXgpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0X2J0biA9IHRoaXMuYnRuX2xpc3RbaW5kZXhdO1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdF9idG4pIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RfYnRuLnNlbGVjdF9iZy5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdF9idG4udGl0bGUuY29sb3IgPSBuZXcgY2MuQ29sb3IoMHhmZiwgMHhlZCwgMHhkNiwgMHhmZilcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMucHJlX3BhbmVsKSB7XHJcbiAgICAgICAgICAgIHRoaXMucHJlX3BhbmVsLnNldFZpc2libGVTdGF0dXModHJ1ZSk7XHJcbiAgICAgICAgICAgIC8vIHRoaXMucHJlX3BhbmVsLnNldERhdGEodGhpcy5kYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0X2J0biAmJiB0aGlzLnNlbGVjdF9idG4uaW5kZXggPT0gMykge1xyXG4gICAgICAgICAgICB0aGlzLmN0cmwuc2VuZGVyMTM1NDUoKTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGNyZWF0ZVN1YlBhbmVsOiBmdW5jdGlvbiAoaW5kZXgpIHtcclxuICAgICAgICBpbmRleCA9IE51bWJlcihpbmRleCk7XHJcbiAgICAgICAgdmFyIHBhbmVsID0gdGhpcy52aWV3X2xpc3RbaW5kZXhdO1xyXG4gICAgICAgIHZhciBzaXplID0gdGhpcy5jb250YWluZXIuZ2V0Q29udGVudFNpemUoKTtcclxuICAgICAgICBpZiAocGFuZWwgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBpZiAoaW5kZXggPT0gMSkge1xyXG4gICAgICAgICAgICAgICAgcGFuZWwgPSBVdGlscy5jcmVhdGVDbGFzcyhcInJlZGJhZ19zZW5kX3BhbmVsXCIsIHRoaXMuZXh0ZW5kX2lkKTtcclxuICAgICAgICAgICAgICAgIHBhbmVsLnNldFBvc2l0aW9uKGNjLnYyKHNpemUud2lkdGggLyAyLCAzNTUpKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChpbmRleCA9PSAyKSB7XHJcbiAgICAgICAgICAgICAgICBwYW5lbCA9IFV0aWxzLmNyZWF0ZUNsYXNzKFwicmVkYmFnX2dldF9wYW5lbFwiKTtcclxuICAgICAgICAgICAgICAgIHBhbmVsLnNldFBvc2l0aW9uKGNjLnYyKHNpemUud2lkdGggLyAyLCAzNzUpKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChpbmRleCA9PSAzKSB7XHJcbiAgICAgICAgICAgICAgICBwYW5lbCA9IFV0aWxzLmNyZWF0ZUNsYXNzKFwicmVkYmFnX3JhbmtfcGFuZWxcIik7XHJcbiAgICAgICAgICAgICAgICBwYW5lbC5zZXRQb3NpdGlvbihjYy52MihzaXplLndpZHRoIC8gMiwgMzc1KSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcGFuZWwuc2hvdygpO1xyXG4gICAgICAgICAgICBwYW5lbC5zZXRQYXJlbnQodGhpcy5jb250YWluZXIpO1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdfbGlzdFtpbmRleF0gPSBwYW5lbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBhbmVsXHJcbiAgICB9LFxyXG5cclxuICAgIG9wZW5Sb290V25kOiBmdW5jdGlvbiAoaW5kZXgsIGRhdGEpIHtcclxuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xyXG4gICAgICAgIGluZGV4ID0gaW5kZXggfHwgMTtcclxuICAgICAgICB2YXIgaXNfaGF2ZV9yZWQgPSB0aGlzLm1vZGVsLmdldElzSGF2ZVJlZEJhZygpIHx8IGZhbHNlO1xyXG4gICAgICAgIGlmIChpc19oYXZlX3JlZCA9PSB0cnVlICYmIGluZGV4ID09IDEgJiYgIXRoaXMuZXh0ZW5kX2lkKSB7XHJcbiAgICAgICAgICAgIGluZGV4ID0gMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VUYWJJbmRleChpbmRleClcclxuICAgIH0sXHJcblxyXG4gICAgY2xvc2VDYWxsQmFjazogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMuY3RybC5vcGVuTWFpblZpZXcoZmFsc2UpO1xyXG4gICAgICAgIGZvciAodmFyIGkgaW4gdGhpcy52aWV3X2xpc3QpIHtcclxuICAgICAgICAgICAgdmFyIHYgPSB0aGlzLnZpZXdfbGlzdFtpXTtcclxuICAgICAgICAgICAgdi5kZWxldGVNZSgpO1xyXG4gICAgICAgICAgICB2ID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy52aWV3X2xpc3QgPSBudWxsO1xyXG4gICAgfVxyXG5cclxufSk7XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IFJlZGJhZ1dpbmRvdzsiXX0=