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
 
                (function() {
                    var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
                    var __module = nodeEnv ? module : {exports:{}};
                    var __filename = 'preview-scripts/assets/Scripts/mod/partnersummon/view/hero_get_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, 'b808ex5yHJDupFLz45cp5O3', 'hero_get_item');
// Scripts/mod/partnersummon/view/hero_get_item.js
 
"use strict";
 
var PartnersSummonItem = cc.Class({
  "extends": ViewClass,
  properties: {
    bid_info: null,
    index: null,
    finish_cb: null
  },
  ctor: function ctor() {
    this.bid_info = arguments[0];
    this.index = arguments[1];
    this.finish_cb = arguments[2];
    this.prefabPath = PathTool.getPrefabPath("partnersummon", "hero_get_item");
    this.initConfig();
    this.initWindRoot();
  },
  initConfig: function initConfig() {
    if (!this.bid_info) return;
    this.item_config = Utils.getItemConfig(this.bid_info.base_id); // this.par_star_config = gdata("partner_data", "data_partner_star", bid_info.partner_bid.toString() + "_" + bid_info.init_star.toString()); 
  },
  initWindRoot: function initWindRoot() {
    LoaderManager.getInstance().loadRes(this.prefabPath, function (res_object) {
      this.root_wnd = res_object;
      if (this.finish_cb) this.finish_cb(this.index, this);
      this.initWidgets();
    }.bind(this));
  },
  initWidgets: function initWidgets() {
    this.star_item_nd = this.seekChild("star_item");
    this.stars_container_nd = this.seekChild("stars_container");
    this.head_icon_sp = this.seekChild("head_icon", cc.Sprite);
    this.comp_type_sp = this.seekChild("comp_type", cc.Sprite);
    this.background_sp = this.seekChild("background", cc.Sprite);
    this.effect_sk = this.seekChild("effect", sp.Skeleton);
    this.updateWidgets();
  },
  updateWidgets: function updateWidgets() {
    if (!this.item_config) return;
    if (this.root_wnd == null) return; // 星星
 
    for (var star_i = 0; star_i < this.item_config.eqm_jie - 1; star_i++) {
      var star_item_nd = cc.instantiate(this.star_item_nd);
      this.stars_container_nd.addChild(star_item_nd);
    }
 
    var icon_path = PathTool.getItemRes(this.item_config.icon);
    this.loadRes(icon_path, function (icon_sf) {
      if (this.head_icon_sp) this.head_icon_sp.spriteFrame = icon_sf;
    }.bind(this));
    var camp_path = PathTool.getHeroCampRes(this.item_config.lev);
    var common_res_path = PathTool.getCommonIcomPath(camp_path);
    this.loadRes(common_res_path, function (sf_obj) {
      if (this.comp_type_sp) this.comp_type_sp.spriteFrame = sf_obj; // 阵容
    }.bind(this));
    var quality_sf_n = PathTool.getItemQualityBG(this.item_config.quality);
    var common_res_path = PathTool.getCommonIcomPath(quality_sf_n);
    this.loadRes(common_res_path, function (sf_obj) {
      if (this.background_sp) this.background_sp.spriteFrame = sf_obj;
    }.bind(this));
  },
  playShowAction: function playShowAction(index) {
    this.root_wnd.scale = 1.2;
    this.root_wnd.opacity = 0;
    var fade_act = cc.fadeIn(0.1);
    var scale_act = cc.scaleTo(0.1, 1);
    var delay_act = cc.delayTime(0.1 * index || 0);
    var fun_act = cc.callFunc(function () {
      // if (this.item_config.is_effect)
      this.showEffect();
    }.bind(this));
    var show_act = cc.sequence(delay_act, fun_act, cc.spawn(fade_act, scale_act));
    this.root_wnd.runAction(show_act);
  },
  showEffect: function showEffect() {
    var effect_res = PathTool.getEffectRes(156);
    var spine_path = PathTool.getSpinePath(effect_res);
    this.loadRes(spine_path, function (effect_sd) {
      if (!this.effect_sk) return;
      this.effect_sk.skeletonData = effect_sd;
      this.effect_sk.setAnimation(0, "action3", false);
 
      if (this.item_config && this.item_config.is_effect && this.item_config.is_effect == 1) {
        var action = PlayerAction.action_2;
 
        if (this.item_config.quality >= 4) {
          action = PlayerAction.action_1;
        }
 
        this.startUpdate(1, function () {
          if (!this.effect_sk) return;
          this.effect_sk.setAnimation(0, action, true);
        }.bind(this), 200);
      }
    }.bind(this));
  },
  deleteMe: function deleteMe() {
    if (this.effect_sk) {
      this.effect_sk.skeletonData = null;
      this.effect_sk.setToSetupPose();
      this.effect_sk.clearTracks();
      this.effect_sk = null;
    }
 
    this._super();
  }
});
 
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxwYXJ0bmVyc3VtbW9uXFx2aWV3XFxoZXJvX2dldF9pdGVtLmpzIl0sIm5hbWVzIjpbIlBhcnRuZXJzU3VtbW9uSXRlbSIsImNjIiwiQ2xhc3MiLCJWaWV3Q2xhc3MiLCJwcm9wZXJ0aWVzIiwiYmlkX2luZm8iLCJpbmRleCIsImZpbmlzaF9jYiIsImN0b3IiLCJhcmd1bWVudHMiLCJwcmVmYWJQYXRoIiwiUGF0aFRvb2wiLCJnZXRQcmVmYWJQYXRoIiwiaW5pdENvbmZpZyIsImluaXRXaW5kUm9vdCIsIml0ZW1fY29uZmlnIiwiVXRpbHMiLCJnZXRJdGVtQ29uZmlnIiwiYmFzZV9pZCIsIkxvYWRlck1hbmFnZXIiLCJnZXRJbnN0YW5jZSIsImxvYWRSZXMiLCJyZXNfb2JqZWN0Iiwicm9vdF93bmQiLCJpbml0V2lkZ2V0cyIsImJpbmQiLCJzdGFyX2l0ZW1fbmQiLCJzZWVrQ2hpbGQiLCJzdGFyc19jb250YWluZXJfbmQiLCJoZWFkX2ljb25fc3AiLCJTcHJpdGUiLCJjb21wX3R5cGVfc3AiLCJiYWNrZ3JvdW5kX3NwIiwiZWZmZWN0X3NrIiwic3AiLCJTa2VsZXRvbiIsInVwZGF0ZVdpZGdldHMiLCJzdGFyX2kiLCJlcW1famllIiwiaW5zdGFudGlhdGUiLCJhZGRDaGlsZCIsImljb25fcGF0aCIsImdldEl0ZW1SZXMiLCJpY29uIiwiaWNvbl9zZiIsInNwcml0ZUZyYW1lIiwiY2FtcF9wYXRoIiwiZ2V0SGVyb0NhbXBSZXMiLCJsZXYiLCJjb21tb25fcmVzX3BhdGgiLCJnZXRDb21tb25JY29tUGF0aCIsInNmX29iaiIsInF1YWxpdHlfc2ZfbiIsImdldEl0ZW1RdWFsaXR5QkciLCJxdWFsaXR5IiwicGxheVNob3dBY3Rpb24iLCJzY2FsZSIsIm9wYWNpdHkiLCJmYWRlX2FjdCIsImZhZGVJbiIsInNjYWxlX2FjdCIsInNjYWxlVG8iLCJkZWxheV9hY3QiLCJkZWxheVRpbWUiLCJmdW5fYWN0IiwiY2FsbEZ1bmMiLCJzaG93RWZmZWN0Iiwic2hvd19hY3QiLCJzZXF1ZW5jZSIsInNwYXduIiwicnVuQWN0aW9uIiwiZWZmZWN0X3JlcyIsImdldEVmZmVjdFJlcyIsInNwaW5lX3BhdGgiLCJnZXRTcGluZVBhdGgiLCJlZmZlY3Rfc2QiLCJza2VsZXRvbkRhdGEiLCJzZXRBbmltYXRpb24iLCJpc19lZmZlY3QiLCJhY3Rpb24iLCJQbGF5ZXJBY3Rpb24iLCJhY3Rpb25fMiIsImFjdGlvbl8xIiwic3RhcnRVcGRhdGUiLCJkZWxldGVNZSIsInNldFRvU2V0dXBQb3NlIiwiY2xlYXJUcmFja3MiLCJfc3VwZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBSUEsa0JBQWtCLEdBQUdDLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQzlCLGFBQVNDLFNBRHFCO0FBRzlCQyxFQUFBQSxVQUFVLEVBQUU7QUFDWEMsSUFBQUEsUUFBUSxFQUFFLElBREM7QUFFWEMsSUFBQUEsS0FBSyxFQUFFLElBRkk7QUFHWEMsSUFBQUEsU0FBUyxFQUFFO0FBSEEsR0FIa0I7QUFTOUJDLEVBQUFBLElBQUksRUFBRSxnQkFBWTtBQUNqQixTQUFLSCxRQUFMLEdBQWdCSSxTQUFTLENBQUMsQ0FBRCxDQUF6QjtBQUNBLFNBQUtILEtBQUwsR0FBYUcsU0FBUyxDQUFDLENBQUQsQ0FBdEI7QUFDQSxTQUFLRixTQUFMLEdBQWlCRSxTQUFTLENBQUMsQ0FBRCxDQUExQjtBQUNBLFNBQUtDLFVBQUwsR0FBa0JDLFFBQVEsQ0FBQ0MsYUFBVCxDQUF1QixlQUF2QixFQUF3QyxlQUF4QyxDQUFsQjtBQUNBLFNBQUtDLFVBQUw7QUFDQSxTQUFLQyxZQUFMO0FBQ0EsR0FoQjZCO0FBa0I5QkQsRUFBQUEsVUFBVSxFQUFFLHNCQUFXO0FBQ3RCLFFBQUksQ0FBQyxLQUFLUixRQUFWLEVBQW9CO0FBQ3BCLFNBQUtVLFdBQUwsR0FBbUJDLEtBQUssQ0FBQ0MsYUFBTixDQUFvQixLQUFLWixRQUFMLENBQWNhLE9BQWxDLENBQW5CLENBRnNCLENB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QjtBQUNIOztBQUNELFNBQUtzRCxNQUFMO0FBQ0g7QUFqSDZCLENBQVQsQ0FBekIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbInZhciBQYXJ0bmVyc1N1bW1vbkl0ZW0gPSBjYy5DbGFzcyh7XHJcbiAgICBleHRlbmRzOiBWaWV3Q2xhc3MsXHJcblxyXG4gICAgcHJvcGVydGllczoge1xyXG4gICAgXHRiaWRfaW5mbzogbnVsbCxcclxuICAgIFx0aW5kZXg6IG51bGwsXHJcbiAgICBcdGZpbmlzaF9jYjogbnVsbCxcclxuICAgIH0sXHJcblxyXG4gICAgY3RvcjogZnVuY3Rpb24gKCkge1xyXG4gICAgXHR0aGlzLmJpZF9pbmZvID0gYXJndW1lbnRzWzBdO1xyXG4gICAgXHR0aGlzLmluZGV4ID0gYXJndW1lbnRzWzFdO1xyXG4gICAgXHR0aGlzLmZpbmlzaF9jYiA9IGFyZ3VtZW50c1syXTtcclxuICAgIFx0dGhpcy5wcmVmYWJQYXRoID0gUGF0aFRvb2wuZ2V0UHJlZmFiUGF0aChcInBhcnRuZXJzdW1tb25cIiwgXCJoZXJvX2dldF9pdGVtXCIpO1xyXG4gICAgXHR0aGlzLmluaXRDb25maWcoKTtcclxuICAgIFx0dGhpcy5pbml0V2luZFJvb3QoKTtcclxuICAgIH0sXHJcblxyXG4gICAgaW5pdENvbmZpZzogZnVuY3Rpb24oKSB7XHJcbiAgICBcdGlmICghdGhpcy5iaWRfaW5mbykgcmV0dXJuO1xyXG4gICAgXHR0aGlzLml0ZW1fY29uZmlnID0gVXRpbHMuZ2V0SXRlbUNvbmZpZyh0aGlzLmJpZF9pbmZvLmJhc2VfaWQpO1xyXG4gICAgICAgIC8vIHRoaXMucGFyX3N0YXJfY29uZmlnID0gZ2RhdGEoXCJwYXJ0bmVyX2RhdGFcIiwgXCJkYXRhX3BhcnRuZXJfc3RhclwiLCBiaWRfaW5mby5wYXJ0bmVyX2JpZC50b1N0cmluZygpICsgXCJfXCIgKyBiaWRfaW5mby5pbml0X3N0YXIudG9TdHJpbmcoKSk7IFxyXG4gICAgfSxcclxuXHJcbiAgICBpbml0V2luZFJvb3Q6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIExvYWRlck1hbmFnZXIuZ2V0SW5zdGFuY2UoKS5sb2FkUmVzKHRoaXMucHJlZmFiUGF0aCwgZnVuY3Rpb24ocmVzX29iamVjdCkge1xyXG4gICAgICAgICAgICB0aGlzLnJvb3Rfd25kID0gcmVzX29iamVjdDtcclxuICAgICAgICAgICAgaWYgKHRoaXMuZmluaXNoX2NiKSB0aGlzLmZpbmlzaF9jYih0aGlzLmluZGV4LCB0aGlzKTtcclxuICAgICAgICAgICAgdGhpcy5pbml0V2lkZ2V0cygpO1xyXG4gICAgICAgIH0uYmluZCh0aGlzKSlcclxuICAgIH0sXHJcblxyXG4gICAgaW5pdFdpZGdldHM6IGZ1bmN0aW9uKCkge1xyXG5cdFx0dGhpcy5zdGFyX2l0ZW1fbmQgICAgICAgPSB0aGlzLnNlZWtDaGlsZChcInN0YXJfaXRlbVwiKTtcclxuXHRcdHRoaXMuc3RhcnNfY29udGFpbmVyX25kID0gdGhpcy5zZWVrQ2hpbGQoXCJzdGFyc19jb250YWluZXJcIik7XHJcblx0XHR0aGlzLmhlYWRfaWNvbl9zcCAgICAgICA9IHRoaXMuc2Vla0NoaWxkKFwiaGVhZF9pY29uXCIsIGNjLlNwcml0ZSk7XHJcblx0XHR0aGlzLmNvbXBfdHlwZV9zcCAgICAgICA9IHRoaXMuc2Vla0NoaWxkKFwiY29tcF90eXBlXCIsIGNjLlNwcml0ZSk7XHJcblx0XHR0aGlzLmJhY2tncm91bmRfc3AgICAgICA9IHRoaXMuc2Vla0NoaWxkKFwiYmFja2dyb3VuZFwiLCBjYy5TcHJpdGUpO1xyXG4gICAgICAgIHRoaXMuZWZmZWN0X3NrICAgICAgICAgID0gdGhpcy5zZWVrQ2hpbGQoXCJlZmZlY3RcIiwgc3AuU2tlbGV0b24pO1xyXG5cdFx0dGhpcy51cGRhdGVXaWRnZXRzKCk7XHJcbiAgICB9LFxyXG5cclxuICAgIHVwZGF0ZVdpZGdldHM6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5pdGVtX2NvbmZpZykgcmV0dXJuO1xyXG4gICAgICAgIGlmKHRoaXMucm9vdF93bmQgPT0gbnVsbCkgcmV0dXJuXHJcbiAgICBcdC8vIOaYn+aYn1xyXG4gICAgXHRmb3IgKHZhciBzdGFyX2kgPSAwOyBzdGFyX2kgPCB0aGlzLml0ZW1fY29uZmlnLmVxbV9qaWUgLSAxOyBzdGFyX2krKykge1xyXG4gICAgXHRcdHZhciBzdGFyX2l0ZW1fbmQgPSBjYy5pbnN0YW50aWF0ZSh0aGlzLnN0YXJfaXRlbV9uZCk7XHJcbiAgICBcdFx0dGhpcy5zdGFyc19jb250YWluZXJfbmQuYWRkQ2hpbGQoc3Rhcl9pdGVtX25kKTtcclxuICAgIFx0fVxyXG5cclxuICAgIFx0dmFyIGljb25fcGF0aCA9IFBhdGhUb29sLmdldEl0ZW1SZXModGhpcy5pdGVtX2NvbmZpZy5pY29uKTtcclxuICAgIFx0dGhpcy5sb2FkUmVzKGljb25fcGF0aCwgZnVuY3Rpb24oaWNvbl9zZikge1xyXG4gICAgICAgICAgICBpZih0aGlzLmhlYWRfaWNvbl9zcClcclxuICAgIFx0XHR0aGlzLmhlYWRfaWNvbl9zcC5zcHJpdGVGcmFtZSA9IGljb25fc2Y7XHJcbiAgICBcdH0uYmluZCh0aGlzKSk7XHJcblxyXG4gICAgICAgIHZhciBjYW1wX3BhdGggPSBQYXRoVG9vbC5nZXRIZXJvQ2FtcFJlcyh0aGlzLml0ZW1fY29uZmlnLmxldilcclxuICAgICAgICB2YXIgY29tbW9uX3Jlc19wYXRoID0gUGF0aFRvb2wuZ2V0Q29tbW9uSWNvbVBhdGgoY2FtcF9wYXRoKTtcclxuICAgICAgICB0aGlzLmxvYWRSZXMoY29tbW9uX3Jlc19wYXRoLCBmdW5jdGlvbihzZl9vYmope1xyXG4gICAgICAgICAgICBpZih0aGlzLmNvbXBfdHlwZV9zcClcclxuICAgICAgICAgICAgdGhpcy5jb21wX3R5cGVfc3Auc3ByaXRlRnJhbWUgPSBzZl9vYmo7ICAgICAgLy8g6Zi15a65XHJcbiAgICAgICAgfS5iaW5kKHRoaXMpKVxyXG5cclxuICAgICAgICB2YXIgcXVhbGl0eV9zZl9uID0gUGF0aFRvb2wuZ2V0SXRlbVF1YWxpdHlCRyh0aGlzLml0ZW1fY29uZmlnLnF1YWxpdHkpO1xyXG4gICAgICAgIHZhciBjb21tb25fcmVzX3BhdGggPSBQYXRoVG9vbC5nZXRDb21tb25JY29tUGF0aChxdWFsaXR5X3NmX24pO1xyXG4gICAgICAgIHRoaXMubG9hZFJlcyhjb21tb25fcmVzX3BhdGgsIGZ1bmN0aW9uKHNmX29iail7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmFja2dyb3VuZF9zcClcclxuICAgIFx0XHR0aGlzLmJhY2tncm91bmRfc3Auc3ByaXRlRnJhbWUgPSBzZl9vYmo7XHJcbiAgICAgICAgfS5iaW5kKHRoaXMpKVxyXG4gICAgfSxcclxuXHJcbiAgICBwbGF5U2hvd0FjdGlvbjogZnVuY3Rpb24oaW5kZXgpIHtcclxuICAgICAgICB0aGlzLnJvb3Rfd25kLnNjYWxlID0gMS4yO1xyXG4gICAgICAgIHRoaXMucm9vdF93bmQub3BhY2l0eSA9MCA7XHJcbiAgICAgICAgdmFyIGZhZGVfYWN0ID0gY2MuZmFkZUluKDAuMSk7XHJcbiAgICAgICAgdmFyIHNjYWxlX2FjdCA9IGNjLnNjYWxlVG8oMC4xLCAxKTtcclxuICAgICAgICB2YXIgZGVsYXlfYWN0ID0gY2MuZGVsYXlUaW1lKDAuMSAqIGluZGV4IHx8IDApOyAgICAgXHJcbiAgICAgICAgdmFyIGZ1bl9hY3QgPSBjYy5jYWxsRnVuYyhmdW5jdGlvbiAoKXtcclxuICAgICAgICAgICAgLy8gaWYgKHRoaXMuaXRlbV9jb25maWcuaXNfZWZmZWN0KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93RWZmZWN0KCk7XHJcbiAgICAgICAgfS5iaW5kKHRoaXMpKVxyXG4gICAgICAgIHZhciBzaG93X2FjdCA9IGNjLnNlcXVlbmNlKGRlbGF5X2FjdCwgZnVuX2FjdCwgY2Muc3Bhd24oZmFkZV9hY3QsIHNjYWxlX2FjdCkpO1xyXG4gICAgICAgIHRoaXMucm9vdF93bmQucnVuQWN0aW9uKHNob3dfYWN0KTtcclxuICAgIH0sXHJcblxyXG4gICAgc2hvd0VmZmVjdDogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgdmFyIGVmZmVjdF9yZXMgPSBQYXRoVG9vbC5nZXRFZmZlY3RSZXMoMTU2KTtcclxuICAgICAgICB2YXIgc3BpbmVfcGF0aCA9IFBhdGhUb29sLmdldFNwaW5lUGF0aChlZmZlY3RfcmVzKTtcclxuICAgICAgICB0aGlzLmxvYWRSZXMoc3BpbmVfcGF0aCwgZnVuY3Rpb24oZWZmZWN0X3NkKSB7XHJcbiAgICAgICAgICAgIGlmKCF0aGlzLmVmZmVjdF9zaylyZXR1cm5cclxuICAgICAgICAgICAgdGhpcy5lZmZlY3Rfc2suc2tlbGV0b25EYXRhID0gZWZmZWN0X3NkO1xyXG4gICAgICAgICAgICB0aGlzLmVmZmVjdF9zay5zZXRBbmltYXRpb24oMCwgXCJhY3Rpb24zXCIsIGZhbHNlKTtcclxuICAgICAgICAgICAgaWYodGhpcy5pdGVtX2NvbmZpZyAmJiB0aGlzLml0ZW1fY29uZmlnLmlzX2VmZmVjdCAmJiB0aGlzLml0ZW1fY29uZmlnLmlzX2VmZmVjdCA9PSAxKXtcclxuICAgICAgICAgICAgICAgIGxldCBhY3Rpb24gPSBQbGF5ZXJBY3Rpb24uYWN0aW9uXzJcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuaXRlbV9jb25maWcucXVhbGl0eSA+PSA0KXtcclxuICAgICAgICAgICAgICAgICAgICBhY3Rpb24gPSBQbGF5ZXJBY3Rpb24uYWN0aW9uXzFcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRVcGRhdGUoMSwgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKCF0aGlzLmVmZmVjdF9zaylyZXR1cm5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVmZmVjdF9zay5zZXRBbmltYXRpb24oMCwgYWN0aW9uLCB0cnVlKTtcclxuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSwyMDApXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LmJpbmQodGhpcykpO1xyXG4gICAgfSxcclxuICAgIGRlbGV0ZU1lOmZ1bmN0aW9uKCl7XHJcbiAgICAgICAgaWYodGhpcy5lZmZlY3Rfc2spe1xyXG4gICAgICAgICAgICB0aGlzLmVmZmVjdF9zay5za2VsZXRvbkRhdGEgPSBudWxsO1xyXG4gICAgICAgICAgICB0aGlzLmVmZmVjdF9zay5zZXRUb1NldHVwUG9zZSgpO1xyXG4gICAgICAgICAgICB0aGlzLmVmZmVjdF9zay5jbGVhclRyYWNrcygpO1xyXG4gICAgICAgICAgICB0aGlzLmVmZmVjdF9zayA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3N1cGVyKClcclxuICAgIH0sXHJcbn0pIl19