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
 
                (function() {
                    var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
                    var __module = nodeEnv ? module : {exports:{}};
                    var __filename = 'preview-scripts/assets/Scripts/mod/guild/view/guild_search_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, '79413u5nOZDEYbX0m2T0Fhf', 'guild_search_panel');
// Scripts/mod/guild/view/guild_search_panel.js
 
"use strict";
 
// --------------------------------------------------------------------
// @author: @syg.com(必填, 创建模块的人员)
// @description:
//      公会查找面板
// <br/>Create: new Date().toISOString()
// --------------------------------------------------------------------
var PathTool = require("pathtool");
 
var GuildConst = require("guild_const");
 
var CommonScrollView = require("common_scrollview");
 
var GuildRequestItem = require("guild_request_item");
 
var GuildController = require("guild_controller");
 
var GuildEvent = require("guild_event");
 
var GuildSearchPanel = cc.Class({
  "extends": BasePanel,
  ctor: function ctor() {
    this.prefabPath = PathTool.getPrefabPath("guild", "guild_search_panel");
    this.panel_index = 1; //1:为搜索界面 2:为列表界面 3:为没有查找到界面
 
    this.ctrl = GuildController.getInstance();
  },
  initPanel: function initPanel() {
    this.background = this.seekChild("background");
    this.background_width = this.background.getContentSize().width;
    this.search_container = this.seekChild("search_container");
    this.search_btn = this.seekChild(this.search_container, "search_btn");
    this.guild_value = this.seekChild(this.search_container, "guild_value", cc.EditBox);
    this.list_container = this.seekChild("list_container");
    this.return_btn = this.seekChild(this.list_container, "return_btn");
    this.notice_container = this.seekChild("notice_container");
    this.notice_btn = this.seekChild(this.notice_container, "notice_btn");
  },
  registerEvent: function registerEvent() {
    this.search_btn.on(cc.Node.EventType.TOUCH_END, function () {
      var guild_name = this.guild_value.string;
      if (guild_name == "") message(Utils.TI18N("公会名字不得为空"));else this.ctrl.requestGuildList(null, null, null, guild_name);
    }, this);
    this.return_btn.on(cc.Node.EventType.TOUCH_END, function () {
      this.changeViewStatus(1);
    }, this);
    this.notice_btn.on(cc.Node.EventType.TOUCH_END, function () {
      this.changeViewStatus(1);
    }, this);
    this.addGlobalEvent(GuildEvent.UpdateGuildList, function (type, list) {
      if (type != GuildConst.list_type.search) return;
      this.updateGuildList(list);
    }.bind(this));
  },
  openRootWnd: function openRootWnd() {},
  onShow: function onShow() {
    var pos = this.root_wnd.getPosition();
    this.setPosition(pos.x, pos.y);
  },
  addToParent: function addToParent(status) {
    if (this.root_wnd != null) this.setVisible(status); // this.root_wnd.active = status;
  },
  changeViewStatus: function changeViewStatus(index) {
    if (this.panel_index == index) return;
    this.panel_index = index;
    this.search_container.active = this.panel_index == 1;
    this.list_container.active = this.panel_index == 2;
    this.notice_container.active = this.panel_index == 3;
    if (this.panel_index == 1) this.background.setContentSize(this.background_width, 780);else this.background.setContentSize(this.background_width, 702);
  },
  //外部判断是不是在公会查找到的列表界面
  checkIsInListStatus: function checkIsInListStatus() {
    return this.panel_index == 2;
  },
  changeToSearchListStatus: function changeToSearchListStatus() {
    this.changeViewStatus(1);
  },
  updateGuildList: function updateGuildList(list) {
    if (list == null || Utils.next(list) == null) {
      this.changeViewStatus(3);
    } else {
      if (this.scroll_view == null) {
        var list_size = this.list_container.getContentSize();
        var setting = {
          item_class: GuildRequestItem,
          // 单元类
          start_x: 3,
          // 第一个单元的X起点
          space_x: 0,
          // x方向的间隔
          start_y: 2,
          // 第一个单元的Y起点
          space_y: 0,
          // y方向的间隔
          item_width: 616,
          // 单元的尺寸width
          item_height: 134,
          // 单元的尺寸height
          row: 0,
          // 行数,作用于水平滚动类型
          col: 1,
          // 列数,作用于垂直滚动类型
          need_dynamic: true
        };
        this.scroll_view = new CommonScrollView();
        this.scroll_view.createScroll(this.list_container, cc.v2(0, -list_size.height * 0.5 - 3), ScrollViewDir.vertical, ScrollViewStartPos.top, list_size, setting, cc.v2(0.5, 0.5));
      }
 
      this.scroll_view.setData(list);
      this.changeViewStatus(2);
    }
  },
  onDelete: function onDelete() {
    if (this.scroll_view) this.scroll_view.deleteMe();
    this.scroll_view = null;
  }
});
module.exports = GuildSearchPanel;
 
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxndWlsZFxcdmlld1xcZ3VpbGRfc2VhcmNoX3BhbmVsLmpzIl0sIm5hbWVzIjpbIlBhdGhUb29sIiwicmVxdWlyZSIsIkd1aWxkQ29uc3QiLCJDb21tb25TY3JvbGxWaWV3IiwiR3VpbGRSZXF1ZXN0SXRlbSIsIkd1aWxkQ29udHJvbGxlciIsIkd1aWxkRXZlbnQiLCJHdWlsZFNlYXJjaFBhbmVsIiwiY2MiLCJDbGFzcyIsIkJhc2VQYW5lbCIsImN0b3IiLCJwcmVmYWJQYXRoIiwiZ2V0UHJlZmFiUGF0aCIsInBhbmVsX2luZGV4IiwiY3RybCIsImdldEluc3RhbmNlIiwiaW5pdFBhbmVsIiwiYmFja2dyb3VuZCIsInNlZWtDaGlsZCIsImJhY2tncm91bmRfd2lkdGgiLCJnZXRDb250ZW50U2l6ZSIsIndpZHRoIiwic2VhcmNoX2NvbnRhaW5lciIsInNlYXJjaF9idG4iLCJndWlsZF92YWx1ZSIsIkVkaXRCb3giLCJsaXN0X2NvbnRhaW5lciIsInJldHVybl9idG4iLCJub3RpY2VfY29udGFpbmVyIiwibm90aWNlX2J0biIsInJlZ2lzdGVyRXZlbnQiLCJvbiIsIk5vZGUiLCJFdmVudFR5cGUiLCJUT1VDSF9FTkQiLCJndWlsZF9uYW1lIiwic3RyaW5nIiwibWVzc2FnZSIsIlV0aWxzIiwiVEkxOE4iLCJyZXF1ZXN0R3VpbGRMaXN0IiwiY2hhbmdlVmlld1N0YXR1cyIsImFkZEdsb2JhbEV2ZW50IiwiVXBkYXRlR3VpbGRMaXN0IiwidHlwZSIsImxpc3QiLCJsaXN0X3R5cGUiLCJzZWFyY2giLCJ1cGRhdGVHdWlsZExpc3QiLCJiaW5kIiwib3BlblJvb3RXbmQiLCJvblNob3ciLCJwb3MiLCJyb290X3duZCIsImdldFBvc2l0aW9uIiwic2V0UG9zaXRpb24iLCJ4IiwieSIsImFkZFRvUGFyZW50Iiwic3RhdHVzIiwic2V0VmlzaWJsZSIsImluZGV4IiwiYWN0aXZlIiwic2V0Q29udGVudFNpemUiLCJjaGVja0lzSW5MaXN0U3RhdHVzIiwiY2hhbmdlVG9TZWFyY2hMaXN0U3RhdHVzIiwibmV4dCIsInNjcm9sbF92aWV3IiwibGlzdF9zaXplIiwic2V0dGluZyIsIml0ZW1fY2xhc3MiLCJzdGFydF94Iiwic3BhY2VfeCIsInN0YXJ0X3kiLCJzcGFjZV95IiwiaXRlbV93aWR0aCIsIml0ZW1faGVpZ2h0Iiwicm93IiwiY29sIiwibmVlZF9keW5hbWljIiwiY3JlYXRlU2Nyb2xsIiwidjIiLCJoZWlnaHQiLCJTY3JvbGxWaWV3RGlyIiwidmVydGljYWwiLCJTY3JvbGxWaWV3U3RhcnRQb3MiLCJ0b3AiLCJzZXREYXRhIiwib25EZWxldGUiLCJkZWxldGVNZSIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUEsSUFBSUEsUUFBUSxHQUFHQyxPQUFPLENBQUMsVUFBRCxDQUF0Qjs7QUFDQSxJQUFJQyxVQUFVLEdBQUdELE9BQU8sQ0FBQyxhQUFELENBQXhCOztBQUNBLElBQUlFLGdCQUFnQixHQUFHRixPQUFPLENBQUMsbUJBQUQsQ0FBOUI7O0FBQ0EsSUFBSUcsZ0JBQWdCLEdBQUdILE9BQU8sQ0FBQyxvQkFBRCxDQUE5Qjs7QUFDQSxJQUFJSSxlQUFlLEdBQUdKLE9BQU8sQ0FBQyxrQkFBRCxDQUE3Qjs7QUFDQSxJQUFJSyxVQUFVLEdBQUdMLE9BQU8sQ0FBQyxhQUFELENBQXhCOztBQUVBLElBQUlNLGdCQUFnQixHQUFHQyxFQUFFLENBQUNDLEtBQUgsQ0FBUztBQUM1QixhQUFTQyxTQURtQjtBQUU1QkMsRUFBQUEsSUFBSSxFQUFFLGdCQUFZO0FBQ2QsU0FBS0MsVUFBTCxHQUFrQlosUUFBUSxDQUFDYSxhQUFULENBQXVCLE9BQXZCLEVBQWdDLG9CQUFoQyxDQUFsQjtBQUNBLFNBQUtDLFdBQUwsR0FBbUIsQ0FBbkIsQ0FGYyxDQUVjOztBQUM1QixTQUFLQyxJQUFMLEdBQVlWLGVBQWUsQ0FBQ1csV0FBaEIsRUFBWjtB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QUFNLENBQUNDLE9BQVAsR0FBaUJyRixnQkFBakIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIEBhdXRob3I6IEBzeWcuY29tKOW/heWhqywg5Yib5bu65qih5Z2X55qE5Lq65ZGYKVxyXG4vLyBAZGVzY3JpcHRpb246XHJcbi8vICAgICAg5YWs5Lya5p+l5om+6Z2i5p2/XHJcbi8vIDxici8+Q3JlYXRlOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKClcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbnZhciBQYXRoVG9vbCA9IHJlcXVpcmUoXCJwYXRodG9vbFwiKTtcclxudmFyIEd1aWxkQ29uc3QgPSByZXF1aXJlKFwiZ3VpbGRfY29uc3RcIik7XHJcbnZhciBDb21tb25TY3JvbGxWaWV3ID0gcmVxdWlyZShcImNvbW1vbl9zY3JvbGx2aWV3XCIpO1xyXG52YXIgR3VpbGRSZXF1ZXN0SXRlbSA9IHJlcXVpcmUoXCJndWlsZF9yZXF1ZXN0X2l0ZW1cIik7XHJcbnZhciBHdWlsZENvbnRyb2xsZXIgPSByZXF1aXJlKFwiZ3VpbGRfY29udHJvbGxlclwiKTtcclxudmFyIEd1aWxkRXZlbnQgPSByZXF1aXJlKFwiZ3VpbGRfZXZlbnRcIik7XHJcblxyXG52YXIgR3VpbGRTZWFyY2hQYW5lbCA9IGNjLkNsYXNzKHtcclxuICAgIGV4dGVuZHM6IEJhc2VQYW5lbCxcclxuICAgIGN0b3I6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB0aGlzLnByZWZhYlBhdGggPSBQYXRoVG9vbC5nZXRQcmVmYWJQYXRoKFwiZ3VpbGRcIiwgXCJndWlsZF9zZWFyY2hfcGFuZWxcIik7XHJcbiAgICAgICAgdGhpcy5wYW5lbF9pbmRleCA9IDE7ICAgICAgIC8vMTrkuLrmkJzntKLnlYzpnaIgMjrkuLrliJfooajnlYzpnaIgMzrkuLrmsqHmnInmn6Xmib7liLDnlYzpnaJcclxuICAgICAgICB0aGlzLmN0cmwgPSBHdWlsZENvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKTtcclxuICAgIH0sXHJcblxyXG4gICAgaW5pdFBhbmVsOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdGhpcy5iYWNrZ3JvdW5kID0gdGhpcy5zZWVrQ2hpbGQoXCJiYWNrZ3JvdW5kXCIpO1xyXG4gICAgICAgIHRoaXMuYmFja2dyb3VuZF93aWR0aCA9IHRoaXMuYmFja2dyb3VuZC5nZXRDb250ZW50U2l6ZSgpLndpZHRoO1xyXG5cclxuICAgICAgICB0aGlzLnNlYXJjaF9jb250YWluZXIgPSB0aGlzLnNlZWtDaGlsZChcInNlYXJjaF9jb250YWluZXJcIik7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hfYnRuID0gdGhpcy5zZWVrQ2hpbGQodGhpcy5zZWFyY2hfY29udGFpbmVyLCBcInNlYXJjaF9idG5cIik7XHJcbiAgICAgICAgdGhpcy5ndWlsZF92YWx1ZSA9IHRoaXMuc2Vla0NoaWxkKHRoaXMuc2VhcmNoX2NvbnRhaW5lcixcImd1aWxkX3ZhbHVlXCIsY2MuRWRpdEJveCk7XHJcblxyXG5cclxuICAgICAgICB0aGlzLmxpc3RfY29udGFpbmVyID0gdGhpcy5zZWVrQ2hpbGQoXCJsaXN0X2NvbnRhaW5lclwiKTtcclxuICAgICAgICB0aGlzLnJldHVybl9idG4gPSB0aGlzLnNlZWtDaGlsZCh0aGlzLmxpc3RfY29udGFpbmVyLCBcInJldHVybl9idG5cIik7XHJcbiAgICAgICAgdGhpcy5ub3RpY2VfY29udGFpbmVyID0gdGhpcy5zZWVrQ2hpbGQoXCJub3RpY2VfY29udGFpbmVyXCIpO1xyXG4gICAgICAgIHRoaXMubm90aWNlX2J0biA9IHRoaXMuc2Vla0NoaWxkKHRoaXMubm90aWNlX2NvbnRhaW5lciwgXCJub3RpY2VfYnRuXCIpO1xyXG4gICAgfSxcclxuXHJcbiAgICByZWdpc3RlckV2ZW50OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hfYnRuLm9uKGNjLk5vZGUuRXZlbnRUeXBlLlRPVUNIX0VORCwgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB2YXIgZ3VpbGRfbmFtZSA9IHRoaXMuZ3VpbGRfdmFsdWUuc3RyaW5nO1xyXG4gICAgICAgICAgICBpZihndWlsZF9uYW1lID09IFwiXCIpXHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlKFV0aWxzLlRJMThOKFwi5YWs5Lya5ZCN5a2X5LiN5b6X5Li656m6XCIpKTtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgdGhpcy5jdHJsLnJlcXVlc3RHdWlsZExpc3QobnVsbCxudWxsLG51bGwsZ3VpbGRfbmFtZSk7XHJcbiAgICAgICAgfSwgdGhpcylcclxuXHJcbiAgICAgICAgdGhpcy5yZXR1cm5fYnRuLm9uKGNjLk5vZGUuRXZlbnRUeXBlLlRPVUNIX0VORCwgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB0aGlzLmNoYW5nZVZpZXdTdGF0dXMoMSk7XHJcbiAgICAgICAgfSwgdGhpcylcclxuXHJcbiAgICAgICAgdGhpcy5ub3RpY2VfYnRuLm9uKGNjLk5vZGUuRXZlbnRUeXBlLlRPVUNIX0VORCwgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB0aGlzLmNoYW5nZVZpZXdTdGF0dXMoMSk7XHJcbiAgICAgICAgfSwgdGhpcylcclxuXHJcbiAgICAgICAgdGhpcy5hZGRHbG9iYWxFdmVudChHdWlsZEV2ZW50LlVwZGF0ZUd1aWxkTGlzdCwgZnVuY3Rpb24gKHR5cGUsIGxpc3QpIHtcclxuICAgICAgICAgICAgaWYgKHR5cGUgIT0gR3VpbGRDb25zdC5saXN0X3R5cGUuc2VhcmNoKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuXHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlR3VpbGRMaXN0KGxpc3QpO1xyXG4gICAgICAgIH0uYmluZCh0aGlzKSlcclxuICAgIH0sXHJcblxyXG4gICAgb3BlblJvb3RXbmQ6IGZ1bmN0aW9uICgpIHtcclxuXHJcbiAgICB9LFxyXG5cclxuICAgIG9uU2hvdzogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGxldCBwb3MgPSB0aGlzLnJvb3Rfd25kLmdldFBvc2l0aW9uKClcclxuICAgICAgICB0aGlzLnNldFBvc2l0aW9uKHBvcy54LHBvcy55KVxyXG4gICAgfSxcclxuXHJcbiAgICBhZGRUb1BhcmVudDogZnVuY3Rpb24gKHN0YXR1cykge1xyXG4gICAgICAgIGlmICh0aGlzLnJvb3Rfd25kICE9IG51bGwpXHJcbiAgICAgICAgICAgIHRoaXMuc2V0VmlzaWJsZShzdGF0dXMpXHJcbiAgICAgICAgICAgIC8vIHRoaXMucm9vdF93bmQuYWN0aXZlID0gc3RhdHVzO1xyXG4gICAgfSxcclxuXHJcbiAgICBjaGFuZ2VWaWV3U3RhdHVzOiBmdW5jdGlvbiAoaW5kZXgpIHtcclxuICAgICAgICBpZiAodGhpcy5wYW5lbF9pbmRleCA9PSBpbmRleClcclxuICAgICAgICAgICAgcmV0dXJuXHJcbiAgICAgICAgdGhpcy5wYW5lbF9pbmRleCA9IGluZGV4O1xyXG4gICAgICAgIHRoaXMuc2VhcmNoX2NvbnRhaW5lci5hY3RpdmUgPSB0aGlzLnBhbmVsX2luZGV4ID09IDE7XHJcbiAgICAgICAgdGhpcy5saXN0X2NvbnRhaW5lci5hY3RpdmUgPSB0aGlzLnBhbmVsX2luZGV4ID09IDI7XHJcbiAgICAgICAgdGhpcy5ub3RpY2VfY29udGFpbmVyLmFjdGl2ZSA9IHRoaXMucGFuZWxfaW5kZXggPT0gMztcclxuICAgICAgICBpZiAodGhpcy5wYW5lbF9pbmRleCA9PSAxKVxyXG4gICAgICAgICAgICB0aGlzLmJhY2tncm91bmQuc2V0Q29udGVudFNpemUodGhpcy5iYWNrZ3JvdW5kX3dpZHRoLCA3ODApO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kLnNldENvbnRlbnRTaXplKHRoaXMuYmFja2dyb3VuZF93aWR0aCwgNzAyKTtcclxuICAgIH0sXHJcblxyXG4gICAgLy/lpJbpg6jliKTmlq3mmK/kuI3mmK/lnKjlhazkvJrmn6Xmib7liLDnmoTliJfooajnlYzpnaJcclxuICAgIGNoZWNrSXNJbkxpc3RTdGF0dXM6ZnVuY3Rpb24oKXtcclxuICAgICAgICByZXR1cm4gdGhpcy5wYW5lbF9pbmRleCA9PSAyXHJcbiAgICB9LFxyXG5cclxuICAgIGNoYW5nZVRvU2VhcmNoTGlzdFN0YXR1czpmdW5jdGlvbigpe1xyXG4gICAgICAgIHRoaXMuY2hhbmdlVmlld1N0YXR1cygxKTtcclxuICAgIH0sXHJcblxyXG4gICAgdXBkYXRlR3VpbGRMaXN0OmZ1bmN0aW9uKGxpc3Qpe1xyXG4gICAgICAgIGlmIChsaXN0ID09IG51bGwgfHwgVXRpbHMubmV4dChsaXN0KSA9PSBudWxsKXtcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VWaWV3U3RhdHVzKDMpO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICBpZiAodGhpcy5zY3JvbGxfdmlldyA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgbGlzdF9zaXplID0gdGhpcy5saXN0X2NvbnRhaW5lci5nZXRDb250ZW50U2l6ZSgpO1xyXG4gICAgICAgICAgICAgICAgdmFyIHNldHRpbmcgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbV9jbGFzczogR3VpbGRSZXF1ZXN0SXRlbSwgICAgICAvLyDljZXlhYPnsbtcclxuICAgICAgICAgICAgICAgICAgICBzdGFydF94OiAzLCAgICAgICAgICAgICAgICAgICAgLy8g56ys5LiA5Liq5Y2V5YWD55qEWOi1t+eCuVxyXG4gICAgICAgICAgICAgICAgICAgIHNwYWNlX3g6IDAsICAgICAgICAgICAgICAgICAgICAvLyB45pa55ZCR55qE6Ze06ZqUXHJcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRfeTogMiwgICAgICAgICAgICAgICAgICAgIC8vIOesrOS4gOS4quWNleWFg+eahFnotbfngrlcclxuICAgICAgICAgICAgICAgICAgICBzcGFjZV95OiAwLCAgICAgICAgICAgICAgICAgICAvLyB55pa55ZCR55qE6Ze06ZqUXHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbV93aWR0aDogNjE2LCAgICAgICAgICAgICAgIC8vIOWNleWFg+eahOWwuuWvuHdpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbV9oZWlnaHQ6IDEzNCwgICAgICAgICAgICAgIC8vIOWNleWFg+eahOWwuuWvuGhlaWdodFxyXG4gICAgICAgICAgICAgICAgICAgIHJvdzogMCwgICAgICAgICAgICAgICAgICAgICAgICAvLyDooYzmlbDvvIzkvZznlKjkuo7msLTlubPmu5rliqjnsbvlnotcclxuICAgICAgICAgICAgICAgICAgICBjb2w6IDEsICAgICAgICAgICAgICAgICAgICAgICAgLy8g5YiX5pWw77yM5L2c55So5LqO5Z6C55u05rua5Yqo57G75Z6LXHJcbiAgICAgICAgICAgICAgICAgICAgbmVlZF9keW5hbWljOiB0cnVlXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbF92aWV3ID0gbmV3IENvbW1vblNjcm9sbFZpZXcoKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxfdmlldy5jcmVhdGVTY3JvbGwodGhpcy5saXN0X2NvbnRhaW5lciwgY2MudjIoMCwgLWxpc3Rfc2l6ZS5oZWlnaHQqMC41LTMpLCBTY3JvbGxWaWV3RGlyLnZlcnRpY2FsLCBTY3JvbGxWaWV3U3RhcnRQb3MudG9wLCBsaXN0X3NpemUsIHNldHRpbmcsIGNjLnYyKDAuNSwgMC41KSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNjcm9sbF92aWV3LnNldERhdGEobGlzdCk7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlVmlld1N0YXR1cygyKTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIG9uRGVsZXRlOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgaWYodGhpcy5zY3JvbGxfdmlldylcclxuICAgICAgICAgICAgdGhpcy5zY3JvbGxfdmlldy5kZWxldGVNZSgpO1xyXG4gICAgICAgIHRoaXMuc2Nyb2xsX3ZpZXcgPSBudWxsO1xyXG4gICAgfVxyXG59KTtcclxuXHJcbm1vZHVsZS5leHBvcnRzID0gR3VpbGRTZWFyY2hQYW5lbDsiXX0=