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
 
                (function() {
                    var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
                    var __module = nodeEnv ? module : {exports:{}};
                    var __filename = 'preview-scripts/assets/Scripts/mod/seerpalace/view/seerpalace_summon_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, '84f120IHJdNBpd7CuG+jLbI', 'seerpalace_summon_Item');
// Scripts/mod/seerpalace/view/seerpalace_summon_Item.js
 
"use strict";
 
//---------------------------@ item
var SeerpalaceController = require("seerpalace_controller");
 
var SeerpalaceConst = require("seerpalace_const");
 
var SeerpalaceSummonItem = cc.Class({
  "extends": BasePanel,
  ctor: function ctor() {
    var self = this;
    this.ctrl = SeerpalaceController.getInstance();
    this.prefabPath = PathTool.getPrefabPath("seerpalace", "seerpalace_summon_item");
    self._is_select = false; //-- 是否选中了
 
    var data = arguments[0];
    this._clickCallBack = data.parent;
    this.index = data.index; // self.configUI()
  },
  initConfig: function initConfig() {},
  initPanel: function initPanel() {
    var self = this;
    self.effect_node = this.seekChild("effect_node");
    self.summon_layer = this.seekChild("summon_layer");
    self.check_layer = this.seekChild("check_layer");
 
    if (this.index) {
      this.setIndex();
    }
  },
  setIndex: function setIndex() {
    var index = this.index;
    var self = this;
    var group_id = SeerpalaceConst.Index_To_GroupId[index];
    var config = Config.recruit_high_data.data_seerpalace_data[group_id];
 
    if (config && config.item_once) {
      self.summon_cost = config.item_once; // 召唤所需道具id和数量
 
      self.group_id = group_id;
      var effect_id = SeerpalaceConst.Book_EffectId[group_id];
      var effect_pos = SeerpalaceConst.Effect_Pos[group_id];
 
      if (effect_id && effect_pos && effect_id != 0) {
        self.handleCardEffect(true, effect_id, effect_pos);
      }
    } // 引导需要
 
 
    self.summon_layer.name = "guide_card_" + index;
  },
  // 获取召唤所需道具id和数量
  getSummonCostItem: function getSummonCostItem() {
    return this.summon_cost;
  },
  // 获取先知殿配置的组id
  getSummonGroupId: function getSummonGroupId() {
    return this.group_id;
  },
  // -- 卡牌特效
  handleCardEffect: function handleCardEffect(status, effect_id, effect_pos) {
    var self = this;
 
    if (status == false) {
      if (self.card_effect) {
        this.card_effect.skeletonData = null;
        self.card_effect.clearTracks();
        self.card_effect.removeFromParent();
        self.card_effect = null;
      }
    } else {
      if (self.effect_node && !self.card_effect) {
        var effect = new cc.Node();
        effect.setAnchorPoint(0.5, 0.5);
        effect.addComponent(sp.Skeleton);
        self.effect_node.addChild(effect);
        self.card_effect = effect.getComponent(sp.Skeleton);
        var effectPath = PathTool.getSpinePath(Config.effect_data.data_effect_info[effect_id], "action");
        this.loadRes(effectPath, function (res_object) {
          this.card_effect.skeletonData = res_object;
          this.card_effect.setAnimation(0, "action1", true);
        }.bind(this)); // 设置位置
 
        self.effect_node.setPosition(effect_pos.x, effect_pos.y);
      }
    }
  },
  registerEvent: function registerEvent() {
    this.check_layer.on("touchend", this._onClickCheckLayer, this);
    this.summon_layer.on("touchend", this._onClickSummonLayer, this); // "guide_card_"
  },
  // -- 点击查看
  _onClickCheckLayer: function _onClickCheckLayer() {
    Utils.playButtonSound(1);
    var self = this;
 
    if (self.index) {
      this.ctrl.openSeerpalacePreviewWindow(true, self.index);
    }
  },
  // -- 点击选中
  _onClickSummonLayer: function _onClickSummonLayer() {
    Utils.playButtonSound(1);
    var self = this;
 
    if (self._is_select == false) {
      if (self._clickCallBack) {
        self._clickCallBack._onClickSummonCard(self);
      }
    }
  },
  setSelectStatus: function setSelectStatus(status) {
    var self = this;
 
    if (status == true) {
      // self.summon_layer.y = 30
      self.check_layer.y = -70;
      self.card_effect.setAnimation(0, "action2", true);
      self.card_effect.setToSetupPose();
    } else {
      // self.summon_layer.y = -100
      self.check_layer.y = -100;
      self.card_effect.setAnimation(0, "action1", true);
      self.card_effect.setToSetupPose();
    }
 
    self._is_select = status;
  } // function SeerpalaceSummonItem:DeleteMe(  )
  //     self:handleCardEffect(false)
  //     self.container:stopAllActions()
  //     self:removeAllChildren()
  //     self:removeFromParent()
  // end
 
});
module.exports = SeerpalaceSummonItem;
 
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxzZWVycGFsYWNlXFx2aWV3XFxzZWVycGFsYWNlX3N1bW1vbl9JdGVtLmpzIl0sIm5hbWVzIjpbIlNlZXJwYWxhY2VDb250cm9sbGVyIiwicmVxdWlyZSIsIlNlZXJwYWxhY2VDb25zdCIsIlNlZXJwYWxhY2VTdW1tb25JdGVtIiwiY2MiLCJDbGFzcyIsIkJhc2VQYW5lbCIsImN0b3IiLCJzZWxmIiwiY3RybCIsImdldEluc3RhbmNlIiwicHJlZmFiUGF0aCIsIlBhdGhUb29sIiwiZ2V0UHJlZmFiUGF0aCIsIl9pc19zZWxlY3QiLCJkYXRhIiwiYXJndW1lbnRzIiwiX2NsaWNrQ2FsbEJhY2siLCJwYXJlbnQiLCJpbmRleCIsImluaXRDb25maWciLCJpbml0UGFuZWwiLCJlZmZlY3Rfbm9kZSIsInNlZWtDaGlsZCIsInN1bW1vbl9sYXllciIsImNoZWNrX2xheWVyIiwic2V0SW5kZXgiLCJncm91cF9pZCIsIkluZGV4X1RvX0dyb3VwSWQiLCJjb25maWciLCJDb25maWciLCJyZWNydWl0X2hpZ2hfZGF0YSIsImRhdGFfc2VlcnBhbGFjZV9kYXRhIiwiaXRlbV9vbmNlIiwic3VtbW9uX2Nvc3QiLCJlZmZlY3RfaWQiLCJCb29rX0VmZmVjdElkIiwiZWZmZWN0X3BvcyIsIkVmZmVjdF9Qb3MiLCJoYW5kbGVDYXJkRWZmZWN0IiwibmFtZSIsImdldFN1bW1vbkNvc3RJdGVtIiwiZ2V0U3VtbW9uR3JvdXBJZCIsInN0YXR1cyIsImNhcmRfZWZmZWN0Iiwic2tlbGV0b25EYXRhIiwiY2xlYXJUcmFja3MiLCJyZW1vdmVGcm9tUGFyZW50IiwiZWZmZWN0IiwiTm9kZSIsInNldEFuY2hvclBvaW50IiwiYWRkQ29tcG9uZW50Iiwic3AiLCJTa2VsZXRvbiIsImFkZENoaWxkIiwiZ2V0Q29tcG9uZW50IiwiZWZmZWN0UGF0aCIsImdldFNwaW5lUGF0aCIsImVmZmVjdF9kYXRhIiwiZGF0YV9lZmZlY3RfaW5mbyIsImxvYWRSZXMiLCJyZXNfb2JqZWN0Iiwic2V0QW5pbWF0aW9uIiwiYmluZCIsInNldFBvc2l0aW9uIiwieCIsInkiLCJyZWdpc3RlckV2ZW50Iiwib24iLCJfb25DbGlja0NoZWNrTGF5ZXIiLCJfb25DbGlja1N1bW1vbkxheWVyIiwiVXRpbHMiLCJwbGF5QnV0dG9uU291bmQiLCJvcGVuU2VlcnBhbGFjZVByZXZpZXdXaW5kb3ciLCJfb25DbGlja1N1bW1vbkNhcmQiLCJzZXRTZWxlY3RTdGF0dXMiLCJzZXRUb1NldHVwUG9zZSIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQSxJQUFJQSxvQkFBb0IsR0FBR0MsT0FBTyxDQUFDLHVCQUFELENBQWxDOztBQUNBLElBQUlDLGVBQWUsR0FBR0QsT0FBTyxDQUFDLGtCQUFELENBQTdCOztBQUNBLElBQUlFLG9CQUFvQixHQUFHQyxFQUFFLENBQUNDLEtBQUgsQ0FBUztBQUNoQyxhQUFTQyxTQUR1QjtBQUdoQ0MsRUFBQUEsSUFBSSxFQUFDLGdCQUFVO0FBQ1gsUUFBSUMsSUFBSSxHQUFHLElBQVg7QUFDQSxTQUFLQyxJQUFMLEdBQVlULG9CQUFvQixDQUFDVSxXQUFyQixFQUFaO0FBQ0EsU0FBS0MsVUFBTCxHQUFrQkMsUUFBUSxDQUFDQyxhQUFULENBQXVCLFlBQXZCLEVBQXFDLHdCQUFyQyxDQUFsQjtBQUNBTCxJQUFBQSxJQUFJLENBQUNNLFVBQUwsR0FBa0IsS0FBbEIsQ0FKVyxDQUlhOztBQUN4QixRQUFJQyxJQUFJLEdBQUdDLFNBQVMsQ0FBQyxDQUFELENBQXBCO0FBQ0EsU0FBS0MsY0FBTCxHQUFzQkYsSUFBSSxDQUFDRyxNQUEzQjtBQUNBLFNBQUtDLEtBQUwsR0FBYUosSUFBSSxDQUFDSSxLQUFsQixDQVBXLENBUVg7QUFDSCxHQVorQjtBQWFoQ0MsRUFBQUEsVUFBVSxFQUFDLHNCQUFVLENBR3BCLENBaEIrQjtBQWlCaENDLEVBQUFBLFNBakJnQyx1QkFpQnJCO0FBQ1AsUUFBSWIsSUFBSSxHQUFH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QUFpQjNFLG9CQUFqQiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1AIGl0ZW1cclxudmFyIFNlZXJwYWxhY2VDb250cm9sbGVyID0gcmVxdWlyZShcInNlZXJwYWxhY2VfY29udHJvbGxlclwiKVxyXG52YXIgU2VlcnBhbGFjZUNvbnN0ID0gcmVxdWlyZShcInNlZXJwYWxhY2VfY29uc3RcIilcclxudmFyIFNlZXJwYWxhY2VTdW1tb25JdGVtID0gY2MuQ2xhc3Moe1xyXG4gICAgZXh0ZW5kczogQmFzZVBhbmVsLFxyXG5cclxuICAgIGN0b3I6ZnVuY3Rpb24oKXtcclxuICAgICAgICB2YXIgc2VsZiA9IHRoaXNcclxuICAgICAgICB0aGlzLmN0cmwgPSBTZWVycGFsYWNlQ29udHJvbGxlci5nZXRJbnN0YW5jZSgpO1xyXG4gICAgICAgIHRoaXMucHJlZmFiUGF0aCA9IFBhdGhUb29sLmdldFByZWZhYlBhdGgoXCJzZWVycGFsYWNlXCIsIFwic2VlcnBhbGFjZV9zdW1tb25faXRlbVwiKTtcclxuICAgICAgICBzZWxmLl9pc19zZWxlY3QgPSBmYWxzZSAvLy0tIOaYr+WQpumAieS4reS6hlxyXG4gICAgICAgIGxldCBkYXRhID0gYXJndW1lbnRzWzBdXHJcbiAgICAgICAgdGhpcy5fY2xpY2tDYWxsQmFjayA9IGRhdGEucGFyZW50XHJcbiAgICAgICAgdGhpcy5pbmRleCA9IGRhdGEuaW5kZXhcclxuICAgICAgICAvLyBzZWxmLmNvbmZpZ1VJKClcclxuICAgIH0sXHJcbiAgICBpbml0Q29uZmlnOmZ1bmN0aW9uKCl7XHJcbiAgICBcclxuICAgICAgIFxyXG4gICAgfSxcclxuICAgIGluaXRQYW5lbCgpe1xyXG4gICAgICAgIHZhciBzZWxmID0gdGhpc1xyXG4gICAgICAgIHNlbGYuZWZmZWN0X25vZGUgPSB0aGlzLnNlZWtDaGlsZChcImVmZmVjdF9ub2RlXCIpIFxyXG4gICAgICAgIHNlbGYuc3VtbW9uX2xheWVyID0gdGhpcy5zZWVrQ2hpbGQoXCJzdW1tb25fbGF5ZXJcIilcclxuICAgICAgICBzZWxmLmNoZWNrX2xheWVyID0gdGhpcy5zZWVrQ2hpbGQoXCJjaGVja19sYXllclwiKVxyXG4gICAgICAgIGlmKHRoaXMuaW5kZXgpe1xyXG4gICAgICAgICAgICB0aGlzLnNldEluZGV4KClcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgc2V0SW5kZXgoICApe1xyXG4gICAgICAgIGxldCBpbmRleCA9IHRoaXMuaW5kZXhcclxuICAgICAgICBsZXQgc2VsZiA9IHRoaXNcclxuICAgICAgICBsZXQgZ3JvdXBfaWQgPSBTZWVycGFsYWNlQ29uc3QuSW5kZXhfVG9fR3JvdXBJZFtpbmRleF1cclxuICAgICAgICBsZXQgY29uZmlnID0gQ29uZmlnLnJlY3J1aXRfaGlnaF9kYXRhLmRhdGFfc2VlcnBhbGFjZV9kYXRhW2dyb3VwX2lkXVxyXG4gICAgICAgIGlmIChjb25maWcgJiYgY29uZmlnLml0ZW1fb25jZSkge1xyXG4gICAgICAgICAgICBzZWxmLnN1bW1vbl9jb3N0ID0gY29uZmlnLml0ZW1fb25jZSAvLyDlj6zllKTmiYDpnIDpgZPlhbdpZOWSjOaVsOmHj1xyXG4gICAgICAgICAgICBzZWxmLmdyb3VwX2lkID0gZ3JvdXBfaWRcclxuICAgICAgICAgICAgbGV0IGVmZmVjdF9pZCA9IFNlZXJwYWxhY2VDb25zdC5Cb29rX0VmZmVjdElkW2dyb3VwX2lkXVxyXG4gICAgICAgICAgICBsZXQgZWZmZWN0X3BvcyA9IFNlZXJwYWxhY2VDb25zdC5FZmZlY3RfUG9zW2dyb3VwX2lkXVxyXG4gICAgICAgICAgICBpZiAoZWZmZWN0X2lkICYmIGVmZmVjdF9wb3MgJiYgZWZmZWN0X2lkICE9IDApIHtcclxuICAgICAgICAgICAgICAgIHNlbGYuaGFuZGxlQ2FyZEVmZmVjdCh0cnVlLCBlZmZlY3RfaWQsIGVmZmVjdF9wb3MpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIOW8leWvvOmcgOimgVxyXG4gICAgICAgIHNlbGYuc3VtbW9uX2xheWVyLm5hbWUgPSBcImd1aWRlX2NhcmRfXCIgKyBpbmRleDtcclxuICAgIH0sXHJcblxyXG4gICAgLy8g6I635Y+W5Y+s5ZSk5omA6ZyA6YGT5YW3aWTlkozmlbDph49cclxuICAgIGdldFN1bW1vbkNvc3RJdGVtKCAgKXtcclxuICAgICAgICByZXR1cm4gdGhpcy5zdW1tb25fY29zdFxyXG4gICAgfSxcclxuXHJcbiAgICAvLyDojrflj5blhYjnn6Xmrr/phY3nva7nmoTnu4RpZFxyXG4gICAgZ2V0U3VtbW9uR3JvdXBJZCggICl7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JvdXBfaWRcclxuICAgIH0sXHJcblxyXG4gICAgLy8gLS0g5Y2h54mM54m55pWIXHJcbiAgICBoYW5kbGVDYXJkRWZmZWN0KCBzdGF0dXMsIGVmZmVjdF9pZCwgZWZmZWN0X3BvcyApe1xyXG4gICAgICAgIHZhciBzZWxmID0gdGhpc1xyXG4gICAgICAgIGlmIChzdGF0dXMgPT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgaWYgKHNlbGYuY2FyZF9lZmZlY3QpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2FyZF9lZmZlY3Quc2tlbGV0b25EYXRhID0gbnVsbFxyXG4gICAgICAgICAgICAgICAgc2VsZi5jYXJkX2VmZmVjdC5jbGVhclRyYWNrcygpXHJcbiAgICAgICAgICAgICAgICBzZWxmLmNhcmRfZWZmZWN0LnJlbW92ZUZyb21QYXJlbnQoKVxyXG4gICAgICAgICAgICAgICAgc2VsZi5jYXJkX2VmZmVjdCA9IG51bGxcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICBpZiAoc2VsZi5lZmZlY3Rfbm9kZSAmJiAhc2VsZi5jYXJkX2VmZmVjdCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGVmZmVjdCA9IG5ldyBjYy5Ob2RlKCk7XHJcbiAgICAgICAgICAgICAgICBlZmZlY3Quc2V0QW5jaG9yUG9pbnQoMC41LCAwLjUpO1xyXG4gICAgICAgICAgICAgICAgZWZmZWN0LmFkZENvbXBvbmVudChzcC5Ta2VsZXRvbik7XHJcbiAgICAgICAgICAgICAgICBzZWxmLmVmZmVjdF9ub2RlLmFkZENoaWxkKGVmZmVjdClcclxuICAgICAgICAgICAgICAgIHNlbGYuY2FyZF9lZmZlY3QgPSBlZmZlY3QuZ2V0Q29tcG9uZW50KHNwLlNrZWxldG9uKVxyXG4gICAgICAgICAgICAgICAgbGV0IGVmZmVjdFBhdGggPSBQYXRoVG9vbC5nZXRTcGluZVBhdGgoQ29uZmlnLmVmZmVjdF9kYXRhLmRhdGFfZWZmZWN0X2luZm9bZWZmZWN0X2lkXSxcImFjdGlvblwiKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkUmVzKGVmZmVjdFBhdGgsIGZ1bmN0aW9uIChyZXNfb2JqZWN0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXJkX2VmZmVjdC5za2VsZXRvbkRhdGEgPSByZXNfb2JqZWN0O1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2FyZF9lZmZlY3Quc2V0QW5pbWF0aW9uKDAsIFwiYWN0aW9uMVwiLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKVxyXG4gICAgICAgICAgICAgICAgLy8g6K6+572u5L2N572uXHJcbiAgICAgICAgICAgICAgICBzZWxmLmVmZmVjdF9ub2RlLnNldFBvc2l0aW9uKGVmZmVjdF9wb3MueCwgZWZmZWN0X3Bvcy55KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgcmVnaXN0ZXJFdmVudCggICl7XHJcbiAgICAgICAgdGhpcy5jaGVja19sYXllci5vbihcInRvdWNoZW5kXCIsdGhpcy5fb25DbGlja0NoZWNrTGF5ZXIsdGhpcylcclxuICAgICAgICB0aGlzLnN1bW1vbl9sYXllci5vbihcInRvdWNoZW5kXCIsdGhpcy5fb25DbGlja1N1bW1vbkxheWVyLHRoaXMpXHJcblxyXG4gICAgICAgIC8vIFwiZ3VpZGVfY2FyZF9cIlxyXG4gICAgfSxcclxuXHJcbiAgICAvLyAtLSDngrnlh7vmn6XnnItcclxuICAgIF9vbkNsaWNrQ2hlY2tMYXllciggICl7XHJcbiAgICAgICAgVXRpbHMucGxheUJ1dHRvblNvdW5kKDEpXHJcbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzXHJcbiAgICAgICAgaWYgKHNlbGYuaW5kZXgpe1xyXG4gICAgICAgICAgICB0aGlzLmN0cmwub3BlblNlZXJwYWxhY2VQcmV2aWV3V2luZG93KHRydWUsIHNlbGYuaW5kZXgpXHJcbiAgICAgICAgfSAgXHJcbiAgICB9LFxyXG5cclxuICAgIC8vIC0tIOeCueWHu+mAieS4rVxyXG4gICAgX29uQ2xpY2tTdW1tb25MYXllciggICl7XHJcbiAgICAgICAgVXRpbHMucGxheUJ1dHRvblNvdW5kKDEpXHJcbiAgICAgICAgdmFyIHNlbGY9IHRoaXNcclxuICAgICAgICBpZihzZWxmLl9pc19zZWxlY3QgPT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgaWYgKHNlbGYuX2NsaWNrQ2FsbEJhY2spIHtcclxuICAgICAgICAgICAgICAgIHNlbGYuX2NsaWNrQ2FsbEJhY2suX29uQ2xpY2tTdW1tb25DYXJkKHNlbGYpXHJcbiAgICAgICAgICAgIH0gIFxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgc2V0U2VsZWN0U3RhdHVzKCBzdGF0dXMgKXtcclxuICAgICAgICB2YXIgc2VsZiA9IHRoaXNcclxuICAgICAgICBpZiAoc3RhdHVzID09IHRydWUpe1xyXG4gICAgICAgICAgICAvLyBzZWxmLnN1bW1vbl9sYXllci55ID0gMzBcclxuICAgICAgICAgICAgc2VsZi5jaGVja19sYXllci55ID0gLTcwXHJcbiAgICAgICAgICAgIHNlbGYuY2FyZF9lZmZlY3Quc2V0QW5pbWF0aW9uKDAsIFwiYWN0aW9uMlwiLCB0cnVlKVxyXG4gICAgICAgICAgICBzZWxmLmNhcmRfZWZmZWN0LnNldFRvU2V0dXBQb3NlKClcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgLy8gc2VsZi5zdW1tb25fbGF5ZXIueSA9IC0xMDBcclxuICAgICAgICAgICAgc2VsZi5jaGVja19sYXllci55ID0gLTEwMFxyXG4gICAgICAgICAgICBzZWxmLmNhcmRfZWZmZWN0LnNldEFuaW1hdGlvbigwLCBcImFjdGlvbjFcIiwgdHJ1ZSlcclxuICAgICAgICAgICAgc2VsZi5jYXJkX2VmZmVjdC5zZXRUb1NldHVwUG9zZSgpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNlbGYuX2lzX3NlbGVjdCA9IHN0YXR1c1xyXG4gICAgfSxcclxuXHJcbiAgICAvLyBmdW5jdGlvbiBTZWVycGFsYWNlU3VtbW9uSXRlbTpEZWxldGVNZSggIClcclxuICAgIC8vICAgICBzZWxmOmhhbmRsZUNhcmRFZmZlY3QoZmFsc2UpXHJcbiAgICAvLyAgICAgc2VsZi5jb250YWluZXI6c3RvcEFsbEFjdGlvbnMoKVxyXG4gICAgLy8gICAgIHNlbGY6cmVtb3ZlQWxsQ2hpbGRyZW4oKVxyXG4gICAgLy8gICAgIHNlbGY6cmVtb3ZlRnJvbVBhcmVudCgpXHJcbiAgICAvLyBlbmRcclxuICAgIFxyXG59KVxyXG5tb2R1bGUuZXhwb3J0cyA9IFNlZXJwYWxhY2VTdW1tb25JdGVtOyJdfQ==