easy-file-system 2.1.20 → 2.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/example.js +4789 -4977
- package/lib/button/toggle.js +36 -36
- package/lib/div/item/entry/drag/directoryName.js +32 -32
- package/lib/div/item/entry/drag/fileName.js +31 -31
- package/lib/div/item/entry/drag.js +31 -31
- package/lib/div/item/entry/marker.js +29 -29
- package/lib/div/item/entry.js +45 -56
- package/lib/example/view/button.js +6 -6
- package/lib/example/view/explorer/first.js +33 -33
- package/lib/example/view/explorer/second.js +33 -33
- package/lib/example/view/rubbishBin.js +25 -25
- package/lib/example/view.js +53 -64
- package/lib/example.js +5 -5
- package/lib/explorer.js +65 -76
- package/lib/index.js +19 -19
- package/lib/item/entry/drag/directoryName.js +46 -46
- package/lib/item/entry/drag/fileName.js +33 -33
- package/lib/item/entry/drag.js +46 -46
- package/lib/item/entry/marker/directoryName.js +30 -30
- package/lib/item/entry/marker/fileName.js +30 -30
- package/lib/item/entry/marker.js +32 -32
- package/lib/item/entry.js +45 -56
- package/lib/list/entries.js +58 -69
- package/lib/rubbishBin.js +59 -70
- package/lib/span/name.js +46 -57
- package/lib/svg/directoryName.js +44 -55
- package/lib/svg/fileName.js +44 -55
- package/lib/svg/marker.js +44 -55
- package/lib/svg/rubbishBin/closed.js +44 -55
- package/lib/svg/rubbishBin/open.js +44 -55
- package/lib/svg/toggle/down.js +44 -55
- package/lib/svg/toggle/up.js +44 -55
- package/package.json +3 -3
package/lib/rubbishBin.js
CHANGED
|
@@ -8,52 +8,41 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var
|
|
11
|
+
var _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-style"));
|
|
12
12
|
var _easy = require("easy");
|
|
13
|
-
var
|
|
14
|
-
var _drag = /*#__PURE__*/
|
|
15
|
-
var _rubbishBin = /*#__PURE__*/
|
|
16
|
-
var _open = /*#__PURE__*/
|
|
17
|
-
var _closed = /*#__PURE__*/
|
|
18
|
-
var _dragEntryItem = /*#__PURE__*/
|
|
19
|
-
var _fileName = /*#__PURE__*/
|
|
20
|
-
var _directoryName = /*#__PURE__*/
|
|
13
|
+
var _easydraganddrop = require("easy-drag-and-drop");
|
|
14
|
+
var _drag = /*#__PURE__*/ _interop_require_default(require("./item/entry/drag"));
|
|
15
|
+
var _rubbishBin = /*#__PURE__*/ _interop_require_default(require("./mixins/rubbishBin"));
|
|
16
|
+
var _open = /*#__PURE__*/ _interop_require_default(require("./svg/rubbishBin/open"));
|
|
17
|
+
var _closed = /*#__PURE__*/ _interop_require_default(require("./svg/rubbishBin/closed"));
|
|
18
|
+
var _dragEntryItem = /*#__PURE__*/ _interop_require_default(require("./mixins/dragEntryItem"));
|
|
19
|
+
var _fileName = /*#__PURE__*/ _interop_require_default(require("./item/entry/marker/fileName"));
|
|
20
|
+
var _directoryName = /*#__PURE__*/ _interop_require_default(require("./item/entry/marker/directoryName"));
|
|
21
21
|
var _pathMap = require("./utilities/pathMap");
|
|
22
22
|
var _entryTypes = require("./entryTypes");
|
|
23
|
-
function
|
|
23
|
+
function _assert_this_initialized(self) {
|
|
24
24
|
if (self === void 0) {
|
|
25
25
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
26
26
|
}
|
|
27
27
|
return self;
|
|
28
28
|
}
|
|
29
|
-
function
|
|
29
|
+
function _class_call_check(instance, Constructor) {
|
|
30
30
|
if (!(instance instanceof Constructor)) {
|
|
31
31
|
throw new TypeError("Cannot call a class as a function");
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
-
function isNativeReflectConstruct() {
|
|
35
|
-
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
36
|
-
if (Reflect.construct.sham) return false;
|
|
37
|
-
if (typeof Proxy === "function") return true;
|
|
38
|
-
try {
|
|
39
|
-
Date.prototype.toString.call(Reflect.construct(Date, [], function() {}));
|
|
40
|
-
return true;
|
|
41
|
-
} catch (e) {
|
|
42
|
-
return false;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
34
|
function _construct(Parent, args, Class) {
|
|
46
|
-
if (
|
|
35
|
+
if (_is_native_reflect_construct()) {
|
|
47
36
|
_construct = Reflect.construct;
|
|
48
37
|
} else {
|
|
49
|
-
_construct = function
|
|
38
|
+
_construct = function construct(Parent, args, Class) {
|
|
50
39
|
var a = [
|
|
51
40
|
null
|
|
52
41
|
];
|
|
53
42
|
a.push.apply(a, args);
|
|
54
43
|
var Constructor = Function.bind.apply(Parent, a);
|
|
55
44
|
var instance = new Constructor();
|
|
56
|
-
if (Class)
|
|
45
|
+
if (Class) _set_prototype_of(instance, Class.prototype);
|
|
57
46
|
return instance;
|
|
58
47
|
};
|
|
59
48
|
}
|
|
@@ -68,12 +57,12 @@ function _defineProperties(target, props) {
|
|
|
68
57
|
Object.defineProperty(target, descriptor.key, descriptor);
|
|
69
58
|
}
|
|
70
59
|
}
|
|
71
|
-
function
|
|
60
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
72
61
|
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
73
62
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
74
63
|
return Constructor;
|
|
75
64
|
}
|
|
76
|
-
function
|
|
65
|
+
function _define_property(obj, key, value) {
|
|
77
66
|
if (key in obj) {
|
|
78
67
|
Object.defineProperty(obj, key, {
|
|
79
68
|
value: value,
|
|
@@ -86,11 +75,11 @@ function _defineProperty(obj, key, value) {
|
|
|
86
75
|
}
|
|
87
76
|
return obj;
|
|
88
77
|
}
|
|
89
|
-
function
|
|
90
|
-
|
|
78
|
+
function _get_prototype_of(o) {
|
|
79
|
+
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
91
80
|
return o.__proto__ || Object.getPrototypeOf(o);
|
|
92
81
|
};
|
|
93
|
-
return
|
|
82
|
+
return _get_prototype_of(o);
|
|
94
83
|
}
|
|
95
84
|
function _inherits(subClass, superClass) {
|
|
96
85
|
if (typeof superClass !== "function" && superClass !== null) {
|
|
@@ -103,7 +92,7 @@ function _inherits(subClass, superClass) {
|
|
|
103
92
|
configurable: true
|
|
104
93
|
}
|
|
105
94
|
});
|
|
106
|
-
if (superClass)
|
|
95
|
+
if (superClass) _set_prototype_of(subClass, superClass);
|
|
107
96
|
}
|
|
108
97
|
function _instanceof(left, right) {
|
|
109
98
|
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
@@ -112,28 +101,28 @@ function _instanceof(left, right) {
|
|
|
112
101
|
return left instanceof right;
|
|
113
102
|
}
|
|
114
103
|
}
|
|
115
|
-
function
|
|
104
|
+
function _interop_require_default(obj) {
|
|
116
105
|
return obj && obj.__esModule ? obj : {
|
|
117
106
|
default: obj
|
|
118
107
|
};
|
|
119
108
|
}
|
|
120
|
-
function
|
|
109
|
+
function _is_native_function(fn) {
|
|
121
110
|
return Function.toString.call(fn).indexOf("[native code]") !== -1;
|
|
122
111
|
}
|
|
123
|
-
function
|
|
124
|
-
if (call && (
|
|
112
|
+
function _possible_constructor_return(self, call) {
|
|
113
|
+
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
125
114
|
return call;
|
|
126
115
|
}
|
|
127
|
-
return
|
|
116
|
+
return _assert_this_initialized(self);
|
|
128
117
|
}
|
|
129
|
-
function
|
|
130
|
-
|
|
118
|
+
function _set_prototype_of(o, p) {
|
|
119
|
+
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
131
120
|
o.__proto__ = p;
|
|
132
121
|
return o;
|
|
133
122
|
};
|
|
134
|
-
return
|
|
123
|
+
return _set_prototype_of(o, p);
|
|
135
124
|
}
|
|
136
|
-
function
|
|
125
|
+
function _tagged_template_literal(strings, raw) {
|
|
137
126
|
if (!raw) {
|
|
138
127
|
raw = strings.slice(0);
|
|
139
128
|
}
|
|
@@ -143,14 +132,14 @@ function _taggedTemplateLiteral(strings, raw) {
|
|
|
143
132
|
}
|
|
144
133
|
}));
|
|
145
134
|
}
|
|
146
|
-
|
|
135
|
+
function _type_of(obj) {
|
|
147
136
|
"@swc/helpers - typeof";
|
|
148
137
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
149
|
-
}
|
|
150
|
-
function
|
|
138
|
+
}
|
|
139
|
+
function _wrap_native_super(Class) {
|
|
151
140
|
var _cache = typeof Map === "function" ? new Map() : undefined;
|
|
152
|
-
|
|
153
|
-
if (Class === null || !
|
|
141
|
+
_wrap_native_super = function wrapNativeSuper(Class) {
|
|
142
|
+
if (Class === null || !_is_native_function(Class)) return Class;
|
|
154
143
|
if (typeof Class !== "function") {
|
|
155
144
|
throw new TypeError("Super expression must either be null or a function");
|
|
156
145
|
}
|
|
@@ -159,7 +148,7 @@ function _wrapNativeSuper(Class) {
|
|
|
159
148
|
_cache.set(Class, Wrapper);
|
|
160
149
|
}
|
|
161
150
|
function Wrapper() {
|
|
162
|
-
return _construct(Class, arguments,
|
|
151
|
+
return _construct(Class, arguments, _get_prototype_of(this).constructor);
|
|
163
152
|
}
|
|
164
153
|
Wrapper.prototype = Object.create(Class.prototype, {
|
|
165
154
|
constructor: {
|
|
@@ -169,11 +158,11 @@ function _wrapNativeSuper(Class) {
|
|
|
169
158
|
configurable: true
|
|
170
159
|
}
|
|
171
160
|
});
|
|
172
|
-
return
|
|
161
|
+
return _set_prototype_of(Wrapper, Class);
|
|
173
162
|
};
|
|
174
|
-
return
|
|
163
|
+
return _wrap_native_super(Class);
|
|
175
164
|
}
|
|
176
|
-
function
|
|
165
|
+
function _is_native_reflect_construct() {
|
|
177
166
|
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
178
167
|
if (Reflect.construct.sham) return false;
|
|
179
168
|
if (typeof Proxy === "function") return true;
|
|
@@ -184,21 +173,21 @@ function _isNativeReflectConstruct() {
|
|
|
184
173
|
return false;
|
|
185
174
|
}
|
|
186
175
|
}
|
|
187
|
-
function
|
|
188
|
-
var hasNativeReflectConstruct =
|
|
176
|
+
function _create_super(Derived) {
|
|
177
|
+
var hasNativeReflectConstruct = _is_native_reflect_construct();
|
|
189
178
|
return function _createSuperInternal() {
|
|
190
|
-
var Super =
|
|
179
|
+
var Super = _get_prototype_of(Derived), result;
|
|
191
180
|
if (hasNativeReflectConstruct) {
|
|
192
|
-
var NewTarget =
|
|
181
|
+
var NewTarget = _get_prototype_of(this).constructor;
|
|
193
182
|
result = Reflect.construct(Super, arguments, NewTarget);
|
|
194
183
|
} else {
|
|
195
184
|
result = Super.apply(this, arguments);
|
|
196
185
|
}
|
|
197
|
-
return
|
|
186
|
+
return _possible_constructor_return(this, result);
|
|
198
187
|
};
|
|
199
188
|
}
|
|
200
189
|
function _templateObject() {
|
|
201
|
-
var data =
|
|
190
|
+
var data = _tagged_template_literal([
|
|
202
191
|
"\n \n display: inline-block;\n \n"
|
|
203
192
|
]);
|
|
204
193
|
_templateObject = function _templateObject() {
|
|
@@ -208,12 +197,12 @@ function _templateObject() {
|
|
|
208
197
|
}
|
|
209
198
|
var RubbishBin = /*#__PURE__*/ function(Element) {
|
|
210
199
|
_inherits(RubbishBin, Element);
|
|
211
|
-
var _super =
|
|
200
|
+
var _super = _create_super(RubbishBin);
|
|
212
201
|
function RubbishBin() {
|
|
213
|
-
|
|
202
|
+
_class_call_check(this, RubbishBin);
|
|
214
203
|
var _this;
|
|
215
204
|
_this = _super.apply(this, arguments);
|
|
216
|
-
|
|
205
|
+
_define_property(_assert_this_initialized(_this), "dropHandler", function(dragElement, aborted, element, done) {
|
|
217
206
|
var dragElementDragEntryItem = _instanceof(dragElement, _drag.default);
|
|
218
207
|
if (!dragElementDragEntryItem) {
|
|
219
208
|
done();
|
|
@@ -227,7 +216,7 @@ var RubbishBin = /*#__PURE__*/ function(Element) {
|
|
|
227
216
|
}
|
|
228
217
|
markerEntryItemExplorer.dropDragEntryItem(dragEntryItem, done);
|
|
229
218
|
});
|
|
230
|
-
|
|
219
|
+
_define_property(_assert_this_initialized(_this), "dragOverHandler", function(dragElement, element) {
|
|
231
220
|
var dragElementDragEntryItem = _instanceof(dragElement, _drag.default);
|
|
232
221
|
if (!dragElementDragEntryItem) {
|
|
233
222
|
return;
|
|
@@ -239,7 +228,7 @@ var RubbishBin = /*#__PURE__*/ function(Element) {
|
|
|
239
228
|
var markerEntryItem = _this.retrieveMarkerEntryItem();
|
|
240
229
|
var markerEntryItemPath = markerEntryItem.getPath(), markerEntryItemExplorer = markerEntryItem.getExplorer(), previousMarkerEntryItemPath = markerEntryItemPath, previousMarkerEntryItemExplorer = markerEntryItemExplorer; ///
|
|
241
230
|
markerEntryItemPath = null; ///
|
|
242
|
-
markerEntryItemExplorer =
|
|
231
|
+
markerEntryItemExplorer = _assert_this_initialized(_this); ///
|
|
243
232
|
if (markerEntryItemExplorer !== previousMarkerEntryItemExplorer || markerEntryItemPath !== previousMarkerEntryItemPath) {
|
|
244
233
|
var dragEntryItemType = dragEntryItem.getType();
|
|
245
234
|
previousMarkerEntryItemExplorer.removeMarker();
|
|
@@ -248,7 +237,7 @@ var RubbishBin = /*#__PURE__*/ function(Element) {
|
|
|
248
237
|
});
|
|
249
238
|
return _this;
|
|
250
239
|
}
|
|
251
|
-
|
|
240
|
+
_create_class(RubbishBin, [
|
|
252
241
|
{
|
|
253
242
|
key: "isExplorerIgnored",
|
|
254
243
|
value: function isExplorerIgnored(explorer) {
|
|
@@ -438,20 +427,20 @@ var RubbishBin = /*#__PURE__*/ function(Element) {
|
|
|
438
427
|
}
|
|
439
428
|
]);
|
|
440
429
|
return RubbishBin;
|
|
441
|
-
}(
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
430
|
+
}(_wrap_native_super(_easy.Element));
|
|
431
|
+
_define_property(RubbishBin, "OpenRubbishBinSVG", _open.default);
|
|
432
|
+
_define_property(RubbishBin, "ClosedRubbishBinSVG", _closed.default);
|
|
433
|
+
_define_property(RubbishBin, "tagName", "div");
|
|
434
|
+
_define_property(RubbishBin, "ignoredProperties", [
|
|
446
435
|
"onRemove",
|
|
447
436
|
"ignoredReferences"
|
|
448
437
|
]);
|
|
449
|
-
|
|
438
|
+
_define_property(RubbishBin, "defaultProperties", {
|
|
450
439
|
className: "rubbish-bin"
|
|
451
440
|
});
|
|
452
|
-
Object.assign(RubbishBin.prototype,
|
|
441
|
+
Object.assign(RubbishBin.prototype, _easydraganddrop.dropMixins);
|
|
453
442
|
Object.assign(RubbishBin.prototype, _rubbishBin.default);
|
|
454
443
|
Object.assign(RubbishBin.prototype, _dragEntryItem.default);
|
|
455
|
-
var _default = (0,
|
|
444
|
+
var _default = (0, _easywithstyle.default)(RubbishBin)(_templateObject());
|
|
456
445
|
|
|
457
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWJiaXNoQmluLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcImVhc3lcIjtcbmltcG9ydCB7IGRyb3BNaXhpbnMgfSBmcm9tIFwiZWFzeS1kcmFnLWFuZC1kcm9wXCI7XG5cbmltcG9ydCBEcmFnRW50cnlJdGVtIGZyb20gXCIuL2l0ZW0vZW50cnkvZHJhZ1wiO1xuaW1wb3J0IHJ1YmJpc2hCaW5NaXhpbnMgZnJvbSBcIi4vbWl4aW5zL3J1YmJpc2hCaW5cIjtcbmltcG9ydCBPcGVuUnViYmlzaEJpblNWRyBmcm9tIFwiLi9zdmcvcnViYmlzaEJpbi9vcGVuXCI7XG5pbXBvcnQgQ2xvc2VkUnViYmlzaEJpblNWRyBmcm9tIFwiLi9zdmcvcnViYmlzaEJpbi9jbG9zZWRcIjtcbmltcG9ydCBkcmFnRW50cnlJdGVtTWl4aW5zIGZyb20gXCIuL21peGlucy9kcmFnRW50cnlJdGVtXCI7XG5pbXBvcnQgRmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0gZnJvbSBcIi4vaXRlbS9lbnRyeS9tYXJrZXIvZmlsZU5hbWVcIjtcbmltcG9ydCBEaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtIGZyb20gXCIuL2l0ZW0vZW50cnkvbWFya2VyL2RpcmVjdG9yeU5hbWVcIjtcblxuaW1wb3J0IHsgc291cmNlRW50cnlQYXRoRnJvbUVudHJ5SXRlbSB9IGZyb20gXCIuL3V0aWxpdGllcy9wYXRoTWFwXCI7XG5pbXBvcnQgeyBESVJFQ1RPUllfTkFNRV9EUkFHX0VOVFJZX1RZUEUsIEZJTEVfTkFNRV9EUkFHX0VOVFJZX1RZUEUgfSBmcm9tIFwiLi9lbnRyeVR5cGVzXCI7XG5cbmNsYXNzIFJ1YmJpc2hCaW4gZXh0ZW5kcyBFbGVtZW50IHtcbiAgZHJvcEhhbmRsZXIgPSAoZHJhZ0VsZW1lbnQsIGFib3J0ZWQsIGVsZW1lbnQsIGRvbmUpID0+IHtcbiAgICBjb25zdCBkcmFnRWxlbWVudERyYWdFbnRyeUl0ZW0gPSAoZHJhZ0VsZW1lbnQgaW5zdGFuY2VvZiBEcmFnRW50cnlJdGVtKTtcblxuICAgIGlmICghZHJhZ0VsZW1lbnREcmFnRW50cnlJdGVtKSB7XG4gICAgICBkb25lKCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkcmFnRW50cnlJdGVtID0gZHJhZ0VsZW1lbnQsICAvLy9cbiAgICAgICAgICBtYXJrZXJFbnRyeUl0ZW0gPSB0aGlzLnJldHJpZXZlTWFya2VyRW50cnlJdGVtKCksXG4gICAgICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSBtYXJrZXJFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKTtcblxuICAgIGlmIChhYm9ydGVkKSB7XG4gICAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlci5yZW1vdmVNYXJrZXIoKTtcblxuICAgICAgZG9uZSgpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIuZHJvcERyYWdFbnRyeUl0ZW0oZHJhZ0VudHJ5SXRlbSwgZG9uZSk7XG4gIH1cblxuICBkcmFnT3ZlckhhbmRsZXIgPSAoZHJhZ0VsZW1lbnQsIGVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBkcmFnRWxlbWVudERyYWdFbnRyeUl0ZW0gPSAoZHJhZ0VsZW1lbnQgaW5zdGFuY2VvZiBEcmFnRW50cnlJdGVtKTtcblxuICAgIGlmICghZHJhZ0VsZW1lbnREcmFnRW50cnlJdGVtKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZHJhZ0VudHJ5SXRlbSA9IGRyYWdFbGVtZW50LCAgLy8vXG4gICAgICAgICAgZHJhZ0VudHJ5SXRlbUV4cGxvcmVyID0gZHJhZ0VudHJ5SXRlbS5nZXRFeHBsb3JlcigpLFxuICAgICAgICAgIGRyYWdFbnRyeUl0ZW1FeHBsb3Jlcklnbm9yZWQgPSB0aGlzLmlzRXhwbG9yZXJJZ25vcmVkKGRyYWdFbnRyeUl0ZW1FeHBsb3Jlcik7XG5cbiAgICBpZiAoZHJhZ0VudHJ5SXRlbUV4cGxvcmVySWdub3JlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1hcmtlckVudHJ5SXRlbSA9IHRoaXMucmV0cmlldmVNYXJrZXJFbnRyeUl0ZW0oKTtcblxuICAgIGxldCBtYXJrZXJFbnRyeUl0ZW1QYXRoID0gbWFya2VyRW50cnlJdGVtLmdldFBhdGgoKSxcbiAgICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSBtYXJrZXJFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKSxcbiAgICAgICAgcHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1QYXRoID0gbWFya2VyRW50cnlJdGVtUGF0aCwgLy8vXG4gICAgICAgIHByZXZpb3VzTWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSBtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlcjsgLy8vXG5cbiAgICBtYXJrZXJFbnRyeUl0ZW1QYXRoID0gbnVsbDsgLy8vXG5cbiAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciA9IHRoaXM7ICAvLy9cblxuICAgIGlmICgobWFya2VyRW50cnlJdGVtRXhwbG9yZXIgIT09IHByZXZpb3VzTWFya2VyRW50cnlJdGVtRXhwbG9yZXIpIHx8IChtYXJrZXJFbnRyeUl0ZW1QYXRoICE9PSBwcmV2aW91c01hcmtlckVudHJ5SXRlbVBhdGgpKSB7XG4gICAgICBjb25zdCBkcmFnRW50cnlJdGVtVHlwZSA9IGRyYWdFbnRyeUl0ZW0uZ2V0VHlwZSgpO1xuXG4gICAgICBwcmV2aW91c01hcmtlckVudHJ5SXRlbUV4cGxvcmVyLnJlbW92ZU1hcmtlcigpO1xuXG4gICAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlci5hZGRNYXJrZXIobWFya2VyRW50cnlJdGVtUGF0aCwgZHJhZ0VudHJ5SXRlbVR5cGUpO1xuICAgIH1cbiAgfVxuXG4gIGlzRXhwbG9yZXJJZ25vcmVkKGV4cGxvcmVyKSB7XG4gICAgY29uc3QgcmVmZXJlbmNlID0gZXhwbG9yZXIuZ2V0UmVmZXJlbmNlKCksXG4gICAgICAgICAgaWdub3JlZFJlZmVyZW5jZXMgPSB0aGlzLmdldElnbm9yZWRSZWZlcmVuY2VzKCksXG4gICAgICAgICAgaWdub3JlZFJlZmVyZW5jZXNJbmNsdWRlc1JlZmVyZW5jZSA9IGlnbm9yZWRSZWZlcmVuY2VzLmluY2x1ZGVzKHJlZmVyZW5jZSksXG4gICAgICAgICAgZXhwbG9yZXJJZ25vcmVkID0gaWdub3JlZFJlZmVyZW5jZXNJbmNsdWRlc1JlZmVyZW5jZTtcdC8vL1xuXG4gICAgcmV0dXJuIGV4cGxvcmVySWdub3JlZDtcbiAgfVxuXG4gIGdldElnbm9yZWRSZWZlcmVuY2VzKCkge1xuICAgIGNvbnN0IHsgaWdub3JlZFJlZmVyZW5jZXMgPSBbXSB9ID0gdGhpcy5wcm9wZXJ0aWVzO1xuXG4gICAgcmV0dXJuIGlnbm9yZWRSZWZlcmVuY2VzO1xuICB9XG5cbiAgcmV0cmlldmVNYXJrZXJFbnRyeUl0ZW0oKSB7XG4gICAgY29uc3QgeyBtYXJrZXJFbnRyeUl0ZW0gfSA9IGdsb2JhbFRoaXM7XG5cbiAgICByZXR1cm4gbWFya2VyRW50cnlJdGVtO1xuICB9XG5cbiAgYWRkTWFya2VyKG1hcmtlckVudHJ5SXRlbVBhdGgsIGRyYWdFbnRyeUl0ZW1UeXBlKSB7XG4gICAgY29uc3QgbWFya2VyRW50cnlJdGVtTmFtZSA9IG1hcmtlckVudHJ5SXRlbVBhdGg7ICAvLy9cblxuICAgIHRoaXMuYWRkTWFya2VyRW50cnlJdGVtKG1hcmtlckVudHJ5SXRlbU5hbWUsIGRyYWdFbnRyeUl0ZW1UeXBlKTtcblxuICAgIHRoaXMub3BlbigpO1xuICB9XG5cbiAgcmVtb3ZlTWFya2VyKCkge1xuICAgIHRoaXMucmVtb3ZlTWFya2VyRW50cnlJdGVtKCk7XG5cbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBhZGRNYXJrZXJFbnRyeUl0ZW0obWFya2VyRW50cnlJdGVtTmFtZSwgZHJhZ0VudHJ5SXRlbVR5cGUpIHtcbiAgICBsZXQgbWFya2VyRW50cnlJdGVtO1xuXG4gICAgY29uc3QgbmFtZSA9IG1hcmtlckVudHJ5SXRlbU5hbWUsIC8vL1xuICAgICAgICAgIHR5cGUgPSBkcmFnRW50cnlJdGVtVHlwZTsgIC8vL1xuXG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIEZJTEVfTkFNRV9EUkFHX0VOVFJZX1RZUEUgOiB7XG4gICAgICAgIGNvbnN0IGV4cGxvcmVyID0gdGhpcywgIC8vL1xuICAgICAgICAgICAgICBmaWxlTmFtZU1hcmtlckVudHJ5SXRlbSA9XG5cbiAgICAgICAgICAgICAgICA8RmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0gbmFtZT17bmFtZX0gZXhwbG9yZXI9e2V4cGxvcmVyfSAvPlxuXG4gICAgICAgICAgICAgIDtcblxuICAgICAgICBtYXJrZXJFbnRyeUl0ZW0gPSBmaWxlTmFtZU1hcmtlckVudHJ5SXRlbTsgIC8vL1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIERJUkVDVE9SWV9OQU1FX0RSQUdfRU5UUllfVFlQRSA6IHtcbiAgICAgICAgY29uc3QgZXhwbG9yZXIgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgICAgIGRpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW0gPVxuXG4gICAgICAgICAgICAgICAgPERpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW0gbmFtZT17bmFtZX0gZXhwbG9yZXI9e2V4cGxvcmVyfSAvPlxuXG4gICAgICAgICAgICAgIDtcblxuICAgICAgICBtYXJrZXJFbnRyeUl0ZW0gPSBkaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtOyAvLy9cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHtcbiAgICAgIG1hcmtlckVudHJ5SXRlbVxuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlTWFya2VyRW50cnlJdGVtKCkge1xuICAgIGNvbnN0IG1hcmtlckVudHJ5SXRlbSA9IG51bGw7XG5cbiAgICBPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHtcbiAgICAgIG1hcmtlckVudHJ5SXRlbVxuICAgIH0pO1xuICB9XG5cbiAgZHJvcERyYWdFbnRyeUl0ZW0oZHJhZ0VudHJ5SXRlbSwgZG9uZSkge1xuICAgIGNvbnN0IGRyYWdFbnRyeUl0ZW1FeHBsb3JlciA9IGRyYWdFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKSxcbiAgICAgICAgICBzb3VyY2VFbnRyeVBhdGggPSBzb3VyY2VFbnRyeVBhdGhGcm9tRW50cnlJdGVtKGRyYWdFbnRyeUl0ZW0pLFxuICAgICAgICAgIHRhcmdldEVudHJ5UGF0aCA9IG51bGwsXG4gICAgICAgICAgcGF0aE1hcHMgPSBkcmFnRW50cnlJdGVtLmdldFBhdGhNYXBzKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKSxcbiAgICAgICAgICBleHBsb3JlciA9IGRyYWdFbnRyeUl0ZW1FeHBsb3JlcjsgIC8vL1xuXG4gICAgdGhpcy5yZW1vdmVEcmFnRW50cnlJdGVtcyhwYXRoTWFwcywgZXhwbG9yZXIsICgpID0+IHtcbiAgICAgIHRoaXMucmVtb3ZlTWFya2VyKCk7XG5cbiAgICAgIGRvbmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlbW92ZURyYWdFbnRyeUl0ZW1zKHBhdGhNYXBzLCBleHBsb3JlciwgZG9uZSkge1xuICAgIHRoaXMuY2FsbFJlbW92ZUhhbmRsZXJzQXN5bmMocGF0aE1hcHMsIGV4cGxvcmVyLCAoKSA9PiB7XG4gICAgICBwYXRoTWFwcy5mb3JFYWNoKChwYXRoTWFwKSA9PiB7XG4gICAgICAgIHRoaXMucmVtb3ZlRHJhZ0VudHJ5SXRlbShwYXRoTWFwLCBleHBsb3JlcilcbiAgICAgIH0pO1xuXG4gICAgICBwYXRoTWFwcy5mb3JFYWNoKChwYXRoTWFwKSA9PiB7XG4gICAgICAgIHRoaXMuYWRkRHJhZ0VudHJ5SXRlbShwYXRoTWFwLCBleHBsb3Jlcik7XG4gICAgICB9KTtcblxuICAgICAgZG9uZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgb3BlbigpIHtcbiAgICB0aGlzLnNob3dPcGVuUnViYmlzaEJpblNWRygpO1xuICAgIHRoaXMuaGlkZUNsb3NlZFJ1YmJpc2hCaW5TVkcoKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuaGlkZU9wZW5SdWJiaXNoQmluU1ZHKCk7XG4gICAgdGhpcy5zaG93Q2xvc2VkUnViYmlzaEJpblNWRygpO1xuICB9XG5cbiAgZGlkTW91bnQoKSB7XG4gICAgY29uc3QgeyBvblJlbW92ZSB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICAgIHJlbW92ZUhhbmRsZXIgPSBvblJlbW92ZTsgLy8vXG5cbiAgICB0aGlzLmVuYWJsZURyb3AoKTtcblxuICAgIHRoaXMub25Ecm9wKHRoaXMuZHJvcEhhbmRsZXIpO1xuXG4gICAgdGhpcy5vbkRyYWdPdmVyKHRoaXMuZHJhZ092ZXJIYW5kbGVyKTtcblxuICAgIHJlbW92ZUhhbmRsZXIgJiYgdGhpcy5vblJlbW92ZShyZW1vdmVIYW5kbGVyKTtcblxuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIHdpbGxVbm1vdW50KCkge1xuICAgIGNvbnN0IHsgb25SZW1vdmUgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgICByZW1vdmVIYW5kbGVyID0gb25SZW1vdmU7IC8vL1xuXG4gICAgdGhpcy5kaXNhYmxlRHJvcCgpO1xuXG4gICAgdGhpcy5vZmZEcm9wKHRoaXMuZHJvcEhhbmRsZXIpO1xuXG4gICAgdGhpcy5vZmZEcmFnT3Zlcih0aGlzLmRyYWdPdmVySGFuZGxlcik7XG5cbiAgICByZW1vdmVIYW5kbGVyICYmIHRoaXMub2ZmUmVtb3ZlKHJlbW92ZUhhbmRsZXIpO1xuICB9XG5cbiAgZ2V0TWFya2VyRW50cnlJdGVtUGF0aCgpIHtcbiAgICBjb25zdCB7IG1hcmtlckVudHJ5SXRlbVBhdGggfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICAgIHJldHVybiBtYXJrZXJFbnRyeUl0ZW1QYXRoO1xuICB9XG5cbiAgZ2V0TWFya2VyRW50cnlJdGVtRXhwbG9yZXIoKSB7XG4gICAgY29uc3QgeyBtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gICAgcmV0dXJuIG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyO1xuICB9XG5cbiAgc2V0TWFya2VyRW50cnlJdGVtUGF0aChtYXJrZXJFbnRyeUl0ZW1QYXRoKSB7XG4gICAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgICBtYXJrZXJFbnRyeUl0ZW1QYXRoXG4gICAgfSk7XG4gIH1cblxuICBzZXRNYXJrZXJFbnRyeUl0ZW1FeHBsb3JlcihtYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlcikge1xuICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXJcbiAgICB9KTtcbiAgfVxuXG4gIGNoaWxkRWxlbWVudHMoKSB7XG4gICAgY29uc3QgeyBPcGVuUnViYmlzaEJpblNWRywgQ2xvc2VkUnViYmlzaEJpblNWRyB9ID0gdGhpcy5jb25zdHJ1Y3RvcjtcblxuICAgIHJldHVybiAoW1xuXG4gICAgICA8T3BlblJ1YmJpc2hCaW5TVkcvPixcbiAgICAgIDxDbG9zZWRSdWJiaXNoQmluU1ZHLz5cblxuICAgIF0pO1xuICB9XG5cbiAgaW5pdGlhbGlzZSgpIHtcbiAgICBjb25zdCBtYXJrZXJFbnRyeUl0ZW1QYXRoID0gbnVsbCxcbiAgICAgICAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciA9IG51bGw7XG5cbiAgICB0aGlzLmFzc2lnbkNvbnRleHQoKTtcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgbWFya2VyRW50cnlJdGVtUGF0aCxcbiAgICAgIG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgT3BlblJ1YmJpc2hCaW5TVkcgPSBPcGVuUnViYmlzaEJpblNWRztcblxuICBzdGF0aWMgQ2xvc2VkUnViYmlzaEJpblNWRyA9IENsb3NlZFJ1YmJpc2hCaW5TVkc7XG5cbiAgc3RhdGljIHRhZ05hbWUgPSBcImRpdlwiO1xuXG4gIHN0YXRpYyBpZ25vcmVkUHJvcGVydGllcyA9IFtcbiAgICBcIm9uUmVtb3ZlXCIsXG4gICAgXCJpZ25vcmVkUmVmZXJlbmNlc1wiXG4gIF07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wZXJ0aWVzID0ge1xuICAgIGNsYXNzTmFtZTogXCJydWJiaXNoLWJpblwiXG4gIH07XG59XG5cbk9iamVjdC5hc3NpZ24oUnViYmlzaEJpbi5wcm90b3R5cGUsIGRyb3BNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihSdWJiaXNoQmluLnByb3RvdHlwZSwgcnViYmlzaEJpbk1peGlucyk7XG5PYmplY3QuYXNzaWduKFJ1YmJpc2hCaW4ucHJvdG90eXBlLCBkcmFnRW50cnlJdGVtTWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKFJ1YmJpc2hCaW4pYFxuICBcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgXG5gO1xuIl0sIm5hbWVzIjpbIlJ1YmJpc2hCaW4iLCJkcm9wSGFuZGxlciIsImRyYWdFbGVtZW50IiwiYWJvcnRlZCIsImVsZW1lbnQiLCJkb25lIiwiZHJhZ0VsZW1lbnREcmFnRW50cnlJdGVtIiwiRHJhZ0VudHJ5SXRlbSIsImRyYWdFbnRyeUl0ZW0iLCJtYXJrZXJFbnRyeUl0ZW0iLCJyZXRyaWV2ZU1hcmtlckVudHJ5SXRlbSIsIm1hcmtlckVudHJ5SXRlbUV4cGxvcmVyIiwiZ2V0RXhwbG9yZXIiLCJyZW1vdmVNYXJrZXIiLCJkcm9wRHJhZ0VudHJ5SXRlbSIsImRyYWdPdmVySGFuZGxlciIsImRyYWdFbnRyeUl0ZW1FeHBsb3JlciIsImRyYWdFbnRyeUl0ZW1FeHBsb3Jlcklnbm9yZWQiLCJpc0V4cGxvcmVySWdub3JlZCIsIm1hcmtlckVudHJ5SXRlbVBhdGgiLCJnZXRQYXRoIiwicHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1QYXRoIiwicHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciIsImRyYWdFbnRyeUl0ZW1UeXBlIiwiZ2V0VHlwZSIsImFkZE1hcmtlciIsImV4cGxvcmVyIiwicmVmZXJlbmNlIiwiZ2V0UmVmZXJlbmNlIiwiaWdub3JlZFJlZmVyZW5jZXMiLCJnZXRJZ25vcmVkUmVmZXJlbmNlcyIsImlnbm9yZWRSZWZlcmVuY2VzSW5jbHVkZXNSZWZlcmVuY2UiLCJpbmNsdWRlcyIsImV4cGxvcmVySWdub3JlZCIsInByb3BlcnRpZXMiLCJnbG9iYWxUaGlzIiwibWFya2VyRW50cnlJdGVtTmFtZSIsImFkZE1hcmtlckVudHJ5SXRlbSIsIm9wZW4iLCJyZW1vdmVNYXJrZXJFbnRyeUl0ZW0iLCJjbG9zZSIsIm5hbWUiLCJ0eXBlIiwiRklMRV9OQU1FX0RSQUdfRU5UUllfVFlQRSIsImZpbGVOYW1lTWFya2VyRW50cnlJdGVtIiwiRmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0iLCJESVJFQ1RPUllfTkFNRV9EUkFHX0VOVFJZX1RZUEUiLCJkaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtIiwiRGlyZWN0b3J5TmFtZU1hcmtlckVudHJ5SXRlbSIsIk9iamVjdCIsImFzc2lnbiIsInNvdXJjZUVudHJ5UGF0aCIsInNvdXJjZUVudHJ5UGF0aEZyb21FbnRyeUl0ZW0iLCJ0YXJnZXRFbnRyeVBhdGgiLCJwYXRoTWFwcyIsImdldFBhdGhNYXBzIiwicmVtb3ZlRHJhZ0VudHJ5SXRlbXMiLCJjYWxsUmVtb3ZlSGFuZGxlcnNBc3luYyIsImZvckVhY2giLCJwYXRoTWFwIiwicmVtb3ZlRHJhZ0VudHJ5SXRlbSIsImFkZERyYWdFbnRyeUl0ZW0iLCJzaG93T3BlblJ1YmJpc2hCaW5TVkciLCJoaWRlQ2xvc2VkUnViYmlzaEJpblNWRyIsImhpZGVPcGVuUnViYmlzaEJpblNWRyIsInNob3dDbG9zZWRSdWJiaXNoQmluU1ZHIiwiZGlkTW91bnQiLCJvblJlbW92ZSIsInJlbW92ZUhhbmRsZXIiLCJlbmFibGVEcm9wIiwib25Ecm9wIiwib25EcmFnT3ZlciIsIndpbGxVbm1vdW50IiwiZGlzYWJsZURyb3AiLCJvZmZEcm9wIiwib2ZmRHJhZ092ZXIiLCJvZmZSZW1vdmUiLCJnZXRNYXJrZXJFbnRyeUl0ZW1QYXRoIiwiZ2V0U3RhdGUiLCJnZXRNYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciIsInNldE1hcmtlckVudHJ5SXRlbVBhdGgiLCJ1cGRhdGVTdGF0ZSIsInNldE1hcmtlckVudHJ5SXRlbUV4cGxvcmVyIiwiY2hpbGRFbGVtZW50cyIsImNvbnN0cnVjdG9yIiwiT3BlblJ1YmJpc2hCaW5TVkciLCJDbG9zZWRSdWJiaXNoQmluU1ZHIiwiaW5pdGlhbGlzZSIsImFzc2lnbkNvbnRleHQiLCJzZXRTdGF0ZSIsIkVsZW1lbnQiLCJ0YWdOYW1lIiwiaWdub3JlZFByb3BlcnRpZXMiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsInByb3RvdHlwZSIsImRyb3BNaXhpbnMiLCJydWJiaXNoQmluTWl4aW5zIiwiZHJhZ0VudHJ5SXRlbU1peGlucyIsIndpdGhTdHlsZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBcVNBOzs7ZUFBQTs7O2tFQW5Tc0I7b0JBRUU7K0JBQ0c7eURBRUQ7K0RBQ0c7eURBQ0M7MkRBQ0U7a0VBQ0E7NkRBQ0k7a0VBQ0s7dUJBRUk7MEJBQzZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTFFLElBQUEsQUFBTUEsMkJBK1FILEFBL1FIO2NBQU1BOzhCQUFBQTthQUFBQTs4QkFBQUE7OztRQUNKQywrQ0FBQUEsZUFBYyxTQUFDQyxhQUFhQyxTQUFTQyxTQUFTQyxNQUFTO1lBQ3JELElBQU1DLDJCQUE0QkosQUFBVyxZQUFYQSxhQUF1QkssYUFBYTtZQUV0RSxJQUFJLENBQUNELDBCQUEwQjtnQkFDN0JEO2dCQUVBO1lBQ0Ys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
|
|
446
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWJiaXNoQmluLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcImVhc3lcIjtcbmltcG9ydCB7IGRyb3BNaXhpbnMgfSBmcm9tIFwiZWFzeS1kcmFnLWFuZC1kcm9wXCI7XG5cbmltcG9ydCBEcmFnRW50cnlJdGVtIGZyb20gXCIuL2l0ZW0vZW50cnkvZHJhZ1wiO1xuaW1wb3J0IHJ1YmJpc2hCaW5NaXhpbnMgZnJvbSBcIi4vbWl4aW5zL3J1YmJpc2hCaW5cIjtcbmltcG9ydCBPcGVuUnViYmlzaEJpblNWRyBmcm9tIFwiLi9zdmcvcnViYmlzaEJpbi9vcGVuXCI7XG5pbXBvcnQgQ2xvc2VkUnViYmlzaEJpblNWRyBmcm9tIFwiLi9zdmcvcnViYmlzaEJpbi9jbG9zZWRcIjtcbmltcG9ydCBkcmFnRW50cnlJdGVtTWl4aW5zIGZyb20gXCIuL21peGlucy9kcmFnRW50cnlJdGVtXCI7XG5pbXBvcnQgRmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0gZnJvbSBcIi4vaXRlbS9lbnRyeS9tYXJrZXIvZmlsZU5hbWVcIjtcbmltcG9ydCBEaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtIGZyb20gXCIuL2l0ZW0vZW50cnkvbWFya2VyL2RpcmVjdG9yeU5hbWVcIjtcblxuaW1wb3J0IHsgc291cmNlRW50cnlQYXRoRnJvbUVudHJ5SXRlbSB9IGZyb20gXCIuL3V0aWxpdGllcy9wYXRoTWFwXCI7XG5pbXBvcnQgeyBESVJFQ1RPUllfTkFNRV9EUkFHX0VOVFJZX1RZUEUsIEZJTEVfTkFNRV9EUkFHX0VOVFJZX1RZUEUgfSBmcm9tIFwiLi9lbnRyeVR5cGVzXCI7XG5cbmNsYXNzIFJ1YmJpc2hCaW4gZXh0ZW5kcyBFbGVtZW50IHtcbiAgZHJvcEhhbmRsZXIgPSAoZHJhZ0VsZW1lbnQsIGFib3J0ZWQsIGVsZW1lbnQsIGRvbmUpID0+IHtcbiAgICBjb25zdCBkcmFnRWxlbWVudERyYWdFbnRyeUl0ZW0gPSAoZHJhZ0VsZW1lbnQgaW5zdGFuY2VvZiBEcmFnRW50cnlJdGVtKTtcblxuICAgIGlmICghZHJhZ0VsZW1lbnREcmFnRW50cnlJdGVtKSB7XG4gICAgICBkb25lKCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkcmFnRW50cnlJdGVtID0gZHJhZ0VsZW1lbnQsICAvLy9cbiAgICAgICAgICBtYXJrZXJFbnRyeUl0ZW0gPSB0aGlzLnJldHJpZXZlTWFya2VyRW50cnlJdGVtKCksXG4gICAgICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSBtYXJrZXJFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKTtcblxuICAgIGlmIChhYm9ydGVkKSB7XG4gICAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlci5yZW1vdmVNYXJrZXIoKTtcblxuICAgICAgZG9uZSgpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIuZHJvcERyYWdFbnRyeUl0ZW0oZHJhZ0VudHJ5SXRlbSwgZG9uZSk7XG4gIH1cblxuICBkcmFnT3ZlckhhbmRsZXIgPSAoZHJhZ0VsZW1lbnQsIGVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBkcmFnRWxlbWVudERyYWdFbnRyeUl0ZW0gPSAoZHJhZ0VsZW1lbnQgaW5zdGFuY2VvZiBEcmFnRW50cnlJdGVtKTtcblxuICAgIGlmICghZHJhZ0VsZW1lbnREcmFnRW50cnlJdGVtKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZHJhZ0VudHJ5SXRlbSA9IGRyYWdFbGVtZW50LCAgLy8vXG4gICAgICAgICAgZHJhZ0VudHJ5SXRlbUV4cGxvcmVyID0gZHJhZ0VudHJ5SXRlbS5nZXRFeHBsb3JlcigpLFxuICAgICAgICAgIGRyYWdFbnRyeUl0ZW1FeHBsb3Jlcklnbm9yZWQgPSB0aGlzLmlzRXhwbG9yZXJJZ25vcmVkKGRyYWdFbnRyeUl0ZW1FeHBsb3Jlcik7XG5cbiAgICBpZiAoZHJhZ0VudHJ5SXRlbUV4cGxvcmVySWdub3JlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1hcmtlckVudHJ5SXRlbSA9IHRoaXMucmV0cmlldmVNYXJrZXJFbnRyeUl0ZW0oKTtcblxuICAgIGxldCBtYXJrZXJFbnRyeUl0ZW1QYXRoID0gbWFya2VyRW50cnlJdGVtLmdldFBhdGgoKSxcbiAgICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSBtYXJrZXJFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKSxcbiAgICAgICAgcHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1QYXRoID0gbWFya2VyRW50cnlJdGVtUGF0aCwgLy8vXG4gICAgICAgIHByZXZpb3VzTWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSBtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlcjsgLy8vXG5cbiAgICBtYXJrZXJFbnRyeUl0ZW1QYXRoID0gbnVsbDsgLy8vXG5cbiAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciA9IHRoaXM7ICAvLy9cblxuICAgIGlmICgobWFya2VyRW50cnlJdGVtRXhwbG9yZXIgIT09IHByZXZpb3VzTWFya2VyRW50cnlJdGVtRXhwbG9yZXIpIHx8IChtYXJrZXJFbnRyeUl0ZW1QYXRoICE9PSBwcmV2aW91c01hcmtlckVudHJ5SXRlbVBhdGgpKSB7XG4gICAgICBjb25zdCBkcmFnRW50cnlJdGVtVHlwZSA9IGRyYWdFbnRyeUl0ZW0uZ2V0VHlwZSgpO1xuXG4gICAgICBwcmV2aW91c01hcmtlckVudHJ5SXRlbUV4cGxvcmVyLnJlbW92ZU1hcmtlcigpO1xuXG4gICAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlci5hZGRNYXJrZXIobWFya2VyRW50cnlJdGVtUGF0aCwgZHJhZ0VudHJ5SXRlbVR5cGUpO1xuICAgIH1cbiAgfVxuXG4gIGlzRXhwbG9yZXJJZ25vcmVkKGV4cGxvcmVyKSB7XG4gICAgY29uc3QgcmVmZXJlbmNlID0gZXhwbG9yZXIuZ2V0UmVmZXJlbmNlKCksXG4gICAgICAgICAgaWdub3JlZFJlZmVyZW5jZXMgPSB0aGlzLmdldElnbm9yZWRSZWZlcmVuY2VzKCksXG4gICAgICAgICAgaWdub3JlZFJlZmVyZW5jZXNJbmNsdWRlc1JlZmVyZW5jZSA9IGlnbm9yZWRSZWZlcmVuY2VzLmluY2x1ZGVzKHJlZmVyZW5jZSksXG4gICAgICAgICAgZXhwbG9yZXJJZ25vcmVkID0gaWdub3JlZFJlZmVyZW5jZXNJbmNsdWRlc1JlZmVyZW5jZTtcdC8vL1xuXG4gICAgcmV0dXJuIGV4cGxvcmVySWdub3JlZDtcbiAgfVxuXG4gIGdldElnbm9yZWRSZWZlcmVuY2VzKCkge1xuICAgIGNvbnN0IHsgaWdub3JlZFJlZmVyZW5jZXMgPSBbXSB9ID0gdGhpcy5wcm9wZXJ0aWVzO1xuXG4gICAgcmV0dXJuIGlnbm9yZWRSZWZlcmVuY2VzO1xuICB9XG5cbiAgcmV0cmlldmVNYXJrZXJFbnRyeUl0ZW0oKSB7XG4gICAgY29uc3QgeyBtYXJrZXJFbnRyeUl0ZW0gfSA9IGdsb2JhbFRoaXM7XG5cbiAgICByZXR1cm4gbWFya2VyRW50cnlJdGVtO1xuICB9XG5cbiAgYWRkTWFya2VyKG1hcmtlckVudHJ5SXRlbVBhdGgsIGRyYWdFbnRyeUl0ZW1UeXBlKSB7XG4gICAgY29uc3QgbWFya2VyRW50cnlJdGVtTmFtZSA9IG1hcmtlckVudHJ5SXRlbVBhdGg7ICAvLy9cblxuICAgIHRoaXMuYWRkTWFya2VyRW50cnlJdGVtKG1hcmtlckVudHJ5SXRlbU5hbWUsIGRyYWdFbnRyeUl0ZW1UeXBlKTtcblxuICAgIHRoaXMub3BlbigpO1xuICB9XG5cbiAgcmVtb3ZlTWFya2VyKCkge1xuICAgIHRoaXMucmVtb3ZlTWFya2VyRW50cnlJdGVtKCk7XG5cbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBhZGRNYXJrZXJFbnRyeUl0ZW0obWFya2VyRW50cnlJdGVtTmFtZSwgZHJhZ0VudHJ5SXRlbVR5cGUpIHtcbiAgICBsZXQgbWFya2VyRW50cnlJdGVtO1xuXG4gICAgY29uc3QgbmFtZSA9IG1hcmtlckVudHJ5SXRlbU5hbWUsIC8vL1xuICAgICAgICAgIHR5cGUgPSBkcmFnRW50cnlJdGVtVHlwZTsgIC8vL1xuXG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIEZJTEVfTkFNRV9EUkFHX0VOVFJZX1RZUEUgOiB7XG4gICAgICAgIGNvbnN0IGV4cGxvcmVyID0gdGhpcywgIC8vL1xuICAgICAgICAgICAgICBmaWxlTmFtZU1hcmtlckVudHJ5SXRlbSA9XG5cbiAgICAgICAgICAgICAgICA8RmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0gbmFtZT17bmFtZX0gZXhwbG9yZXI9e2V4cGxvcmVyfSAvPlxuXG4gICAgICAgICAgICAgIDtcblxuICAgICAgICBtYXJrZXJFbnRyeUl0ZW0gPSBmaWxlTmFtZU1hcmtlckVudHJ5SXRlbTsgIC8vL1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIERJUkVDVE9SWV9OQU1FX0RSQUdfRU5UUllfVFlQRSA6IHtcbiAgICAgICAgY29uc3QgZXhwbG9yZXIgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgICAgIGRpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW0gPVxuXG4gICAgICAgICAgICAgICAgPERpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW0gbmFtZT17bmFtZX0gZXhwbG9yZXI9e2V4cGxvcmVyfSAvPlxuXG4gICAgICAgICAgICAgIDtcblxuICAgICAgICBtYXJrZXJFbnRyeUl0ZW0gPSBkaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtOyAvLy9cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHtcbiAgICAgIG1hcmtlckVudHJ5SXRlbVxuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlTWFya2VyRW50cnlJdGVtKCkge1xuICAgIGNvbnN0IG1hcmtlckVudHJ5SXRlbSA9IG51bGw7XG5cbiAgICBPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHtcbiAgICAgIG1hcmtlckVudHJ5SXRlbVxuICAgIH0pO1xuICB9XG5cbiAgZHJvcERyYWdFbnRyeUl0ZW0oZHJhZ0VudHJ5SXRlbSwgZG9uZSkge1xuICAgIGNvbnN0IGRyYWdFbnRyeUl0ZW1FeHBsb3JlciA9IGRyYWdFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKSxcbiAgICAgICAgICBzb3VyY2VFbnRyeVBhdGggPSBzb3VyY2VFbnRyeVBhdGhGcm9tRW50cnlJdGVtKGRyYWdFbnRyeUl0ZW0pLFxuICAgICAgICAgIHRhcmdldEVudHJ5UGF0aCA9IG51bGwsXG4gICAgICAgICAgcGF0aE1hcHMgPSBkcmFnRW50cnlJdGVtLmdldFBhdGhNYXBzKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKSxcbiAgICAgICAgICBleHBsb3JlciA9IGRyYWdFbnRyeUl0ZW1FeHBsb3JlcjsgIC8vL1xuXG4gICAgdGhpcy5yZW1vdmVEcmFnRW50cnlJdGVtcyhwYXRoTWFwcywgZXhwbG9yZXIsICgpID0+IHtcbiAgICAgIHRoaXMucmVtb3ZlTWFya2VyKCk7XG5cbiAgICAgIGRvbmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlbW92ZURyYWdFbnRyeUl0ZW1zKHBhdGhNYXBzLCBleHBsb3JlciwgZG9uZSkge1xuICAgIHRoaXMuY2FsbFJlbW92ZUhhbmRsZXJzQXN5bmMocGF0aE1hcHMsIGV4cGxvcmVyLCAoKSA9PiB7XG4gICAgICBwYXRoTWFwcy5mb3JFYWNoKChwYXRoTWFwKSA9PiB7XG4gICAgICAgIHRoaXMucmVtb3ZlRHJhZ0VudHJ5SXRlbShwYXRoTWFwLCBleHBsb3JlcilcbiAgICAgIH0pO1xuXG4gICAgICBwYXRoTWFwcy5mb3JFYWNoKChwYXRoTWFwKSA9PiB7XG4gICAgICAgIHRoaXMuYWRkRHJhZ0VudHJ5SXRlbShwYXRoTWFwLCBleHBsb3Jlcik7XG4gICAgICB9KTtcblxuICAgICAgZG9uZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgb3BlbigpIHtcbiAgICB0aGlzLnNob3dPcGVuUnViYmlzaEJpblNWRygpO1xuICAgIHRoaXMuaGlkZUNsb3NlZFJ1YmJpc2hCaW5TVkcoKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuaGlkZU9wZW5SdWJiaXNoQmluU1ZHKCk7XG4gICAgdGhpcy5zaG93Q2xvc2VkUnViYmlzaEJpblNWRygpO1xuICB9XG5cbiAgZGlkTW91bnQoKSB7XG4gICAgY29uc3QgeyBvblJlbW92ZSB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICAgIHJlbW92ZUhhbmRsZXIgPSBvblJlbW92ZTsgLy8vXG5cbiAgICB0aGlzLmVuYWJsZURyb3AoKTtcblxuICAgIHRoaXMub25Ecm9wKHRoaXMuZHJvcEhhbmRsZXIpO1xuXG4gICAgdGhpcy5vbkRyYWdPdmVyKHRoaXMuZHJhZ092ZXJIYW5kbGVyKTtcblxuICAgIHJlbW92ZUhhbmRsZXIgJiYgdGhpcy5vblJlbW92ZShyZW1vdmVIYW5kbGVyKTtcblxuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIHdpbGxVbm1vdW50KCkge1xuICAgIGNvbnN0IHsgb25SZW1vdmUgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgICByZW1vdmVIYW5kbGVyID0gb25SZW1vdmU7IC8vL1xuXG4gICAgdGhpcy5kaXNhYmxlRHJvcCgpO1xuXG4gICAgdGhpcy5vZmZEcm9wKHRoaXMuZHJvcEhhbmRsZXIpO1xuXG4gICAgdGhpcy5vZmZEcmFnT3Zlcih0aGlzLmRyYWdPdmVySGFuZGxlcik7XG5cbiAgICByZW1vdmVIYW5kbGVyICYmIHRoaXMub2ZmUmVtb3ZlKHJlbW92ZUhhbmRsZXIpO1xuICB9XG5cbiAgZ2V0TWFya2VyRW50cnlJdGVtUGF0aCgpIHtcbiAgICBjb25zdCB7IG1hcmtlckVudHJ5SXRlbVBhdGggfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICAgIHJldHVybiBtYXJrZXJFbnRyeUl0ZW1QYXRoO1xuICB9XG5cbiAgZ2V0TWFya2VyRW50cnlJdGVtRXhwbG9yZXIoKSB7XG4gICAgY29uc3QgeyBtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gICAgcmV0dXJuIG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyO1xuICB9XG5cbiAgc2V0TWFya2VyRW50cnlJdGVtUGF0aChtYXJrZXJFbnRyeUl0ZW1QYXRoKSB7XG4gICAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgICBtYXJrZXJFbnRyeUl0ZW1QYXRoXG4gICAgfSk7XG4gIH1cblxuICBzZXRNYXJrZXJFbnRyeUl0ZW1FeHBsb3JlcihtYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlcikge1xuICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXJcbiAgICB9KTtcbiAgfVxuXG4gIGNoaWxkRWxlbWVudHMoKSB7XG4gICAgY29uc3QgeyBPcGVuUnViYmlzaEJpblNWRywgQ2xvc2VkUnViYmlzaEJpblNWRyB9ID0gdGhpcy5jb25zdHJ1Y3RvcjtcblxuICAgIHJldHVybiAoW1xuXG4gICAgICA8T3BlblJ1YmJpc2hCaW5TVkcvPixcbiAgICAgIDxDbG9zZWRSdWJiaXNoQmluU1ZHLz5cblxuICAgIF0pO1xuICB9XG5cbiAgaW5pdGlhbGlzZSgpIHtcbiAgICBjb25zdCBtYXJrZXJFbnRyeUl0ZW1QYXRoID0gbnVsbCxcbiAgICAgICAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciA9IG51bGw7XG5cbiAgICB0aGlzLmFzc2lnbkNvbnRleHQoKTtcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgbWFya2VyRW50cnlJdGVtUGF0aCxcbiAgICAgIG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgT3BlblJ1YmJpc2hCaW5TVkcgPSBPcGVuUnViYmlzaEJpblNWRztcblxuICBzdGF0aWMgQ2xvc2VkUnViYmlzaEJpblNWRyA9IENsb3NlZFJ1YmJpc2hCaW5TVkc7XG5cbiAgc3RhdGljIHRhZ05hbWUgPSBcImRpdlwiO1xuXG4gIHN0YXRpYyBpZ25vcmVkUHJvcGVydGllcyA9IFtcbiAgICBcIm9uUmVtb3ZlXCIsXG4gICAgXCJpZ25vcmVkUmVmZXJlbmNlc1wiXG4gIF07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wZXJ0aWVzID0ge1xuICAgIGNsYXNzTmFtZTogXCJydWJiaXNoLWJpblwiXG4gIH07XG59XG5cbk9iamVjdC5hc3NpZ24oUnViYmlzaEJpbi5wcm90b3R5cGUsIGRyb3BNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihSdWJiaXNoQmluLnByb3RvdHlwZSwgcnViYmlzaEJpbk1peGlucyk7XG5PYmplY3QuYXNzaWduKFJ1YmJpc2hCaW4ucHJvdG90eXBlLCBkcmFnRW50cnlJdGVtTWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKFJ1YmJpc2hCaW4pYFxuICBcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgXG5gO1xuIl0sIm5hbWVzIjpbIlJ1YmJpc2hCaW4iLCJkcm9wSGFuZGxlciIsImRyYWdFbGVtZW50IiwiYWJvcnRlZCIsImVsZW1lbnQiLCJkb25lIiwiZHJhZ0VsZW1lbnREcmFnRW50cnlJdGVtIiwiRHJhZ0VudHJ5SXRlbSIsImRyYWdFbnRyeUl0ZW0iLCJtYXJrZXJFbnRyeUl0ZW0iLCJyZXRyaWV2ZU1hcmtlckVudHJ5SXRlbSIsIm1hcmtlckVudHJ5SXRlbUV4cGxvcmVyIiwiZ2V0RXhwbG9yZXIiLCJyZW1vdmVNYXJrZXIiLCJkcm9wRHJhZ0VudHJ5SXRlbSIsImRyYWdPdmVySGFuZGxlciIsImRyYWdFbnRyeUl0ZW1FeHBsb3JlciIsImRyYWdFbnRyeUl0ZW1FeHBsb3Jlcklnbm9yZWQiLCJpc0V4cGxvcmVySWdub3JlZCIsIm1hcmtlckVudHJ5SXRlbVBhdGgiLCJnZXRQYXRoIiwicHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1QYXRoIiwicHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciIsImRyYWdFbnRyeUl0ZW1UeXBlIiwiZ2V0VHlwZSIsImFkZE1hcmtlciIsImV4cGxvcmVyIiwicmVmZXJlbmNlIiwiZ2V0UmVmZXJlbmNlIiwiaWdub3JlZFJlZmVyZW5jZXMiLCJnZXRJZ25vcmVkUmVmZXJlbmNlcyIsImlnbm9yZWRSZWZlcmVuY2VzSW5jbHVkZXNSZWZlcmVuY2UiLCJpbmNsdWRlcyIsImV4cGxvcmVySWdub3JlZCIsInByb3BlcnRpZXMiLCJnbG9iYWxUaGlzIiwibWFya2VyRW50cnlJdGVtTmFtZSIsImFkZE1hcmtlckVudHJ5SXRlbSIsIm9wZW4iLCJyZW1vdmVNYXJrZXJFbnRyeUl0ZW0iLCJjbG9zZSIsIm5hbWUiLCJ0eXBlIiwiRklMRV9OQU1FX0RSQUdfRU5UUllfVFlQRSIsImZpbGVOYW1lTWFya2VyRW50cnlJdGVtIiwiRmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0iLCJESVJFQ1RPUllfTkFNRV9EUkFHX0VOVFJZX1RZUEUiLCJkaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtIiwiRGlyZWN0b3J5TmFtZU1hcmtlckVudHJ5SXRlbSIsIk9iamVjdCIsImFzc2lnbiIsInNvdXJjZUVudHJ5UGF0aCIsInNvdXJjZUVudHJ5UGF0aEZyb21FbnRyeUl0ZW0iLCJ0YXJnZXRFbnRyeVBhdGgiLCJwYXRoTWFwcyIsImdldFBhdGhNYXBzIiwicmVtb3ZlRHJhZ0VudHJ5SXRlbXMiLCJjYWxsUmVtb3ZlSGFuZGxlcnNBc3luYyIsImZvckVhY2giLCJwYXRoTWFwIiwicmVtb3ZlRHJhZ0VudHJ5SXRlbSIsImFkZERyYWdFbnRyeUl0ZW0iLCJzaG93T3BlblJ1YmJpc2hCaW5TVkciLCJoaWRlQ2xvc2VkUnViYmlzaEJpblNWRyIsImhpZGVPcGVuUnViYmlzaEJpblNWRyIsInNob3dDbG9zZWRSdWJiaXNoQmluU1ZHIiwiZGlkTW91bnQiLCJvblJlbW92ZSIsInJlbW92ZUhhbmRsZXIiLCJlbmFibGVEcm9wIiwib25Ecm9wIiwib25EcmFnT3ZlciIsIndpbGxVbm1vdW50IiwiZGlzYWJsZURyb3AiLCJvZmZEcm9wIiwib2ZmRHJhZ092ZXIiLCJvZmZSZW1vdmUiLCJnZXRNYXJrZXJFbnRyeUl0ZW1QYXRoIiwiZ2V0U3RhdGUiLCJnZXRNYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciIsInNldE1hcmtlckVudHJ5SXRlbVBhdGgiLCJ1cGRhdGVTdGF0ZSIsInNldE1hcmtlckVudHJ5SXRlbUV4cGxvcmVyIiwiY2hpbGRFbGVtZW50cyIsImNvbnN0cnVjdG9yIiwiT3BlblJ1YmJpc2hCaW5TVkciLCJDbG9zZWRSdWJiaXNoQmluU1ZHIiwiaW5pdGlhbGlzZSIsImFzc2lnbkNvbnRleHQiLCJzZXRTdGF0ZSIsIkVsZW1lbnQiLCJ0YWdOYW1lIiwiaWdub3JlZFByb3BlcnRpZXMiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsInByb3RvdHlwZSIsImRyb3BNaXhpbnMiLCJydWJiaXNoQmluTWl4aW5zIiwiZHJhZ0VudHJ5SXRlbU1peGlucyIsIndpdGhTdHlsZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBcVNBOzs7ZUFBQTs7O29FQW5Tc0I7b0JBRUU7K0JBQ0c7MkRBRUQ7aUVBQ0c7MkRBQ0M7NkRBQ0U7b0VBQ0E7K0RBQ0k7b0VBQ0s7dUJBRUk7MEJBQzZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxRSxJQUFBLEFBQU1BLDJCQStRSCxBQS9RSDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7UUFDSkMsa0RBQUFBLGVBQWMsU0FBQ0MsYUFBYUMsU0FBU0MsU0FBU0MsTUFBUztZQUNyRCxJQUFNQywyQkFBNEJKLEFBQVcsWUFBWEEsYUFBdUJLLGFBQWE7WUFFdEUsSUFBSSxDQUFDRCwwQkFBMEI7Z0JBQzdCRDtnQkFFQTtZQUNGLENBQUM7WUFFRCxJ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
|
package/lib/span/name.js
CHANGED
|
@@ -8,45 +8,34 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var
|
|
11
|
+
var _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-style"));
|
|
12
12
|
var _necessary = require("necessary");
|
|
13
|
-
var _nameSpan = /*#__PURE__*/
|
|
13
|
+
var _nameSpan = /*#__PURE__*/ _interop_require_default(require("../mixins/nameSpan"));
|
|
14
14
|
var _constants = require("../constants");
|
|
15
15
|
var _easy = require("easy");
|
|
16
|
-
function
|
|
16
|
+
function _assert_this_initialized(self) {
|
|
17
17
|
if (self === void 0) {
|
|
18
18
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
19
19
|
}
|
|
20
20
|
return self;
|
|
21
21
|
}
|
|
22
|
-
function
|
|
22
|
+
function _class_call_check(instance, Constructor) {
|
|
23
23
|
if (!(instance instanceof Constructor)) {
|
|
24
24
|
throw new TypeError("Cannot call a class as a function");
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
function isNativeReflectConstruct() {
|
|
28
|
-
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
29
|
-
if (Reflect.construct.sham) return false;
|
|
30
|
-
if (typeof Proxy === "function") return true;
|
|
31
|
-
try {
|
|
32
|
-
Date.prototype.toString.call(Reflect.construct(Date, [], function() {}));
|
|
33
|
-
return true;
|
|
34
|
-
} catch (e) {
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
27
|
function _construct(Parent, args, Class) {
|
|
39
|
-
if (
|
|
28
|
+
if (_is_native_reflect_construct()) {
|
|
40
29
|
_construct = Reflect.construct;
|
|
41
30
|
} else {
|
|
42
|
-
_construct = function
|
|
31
|
+
_construct = function construct(Parent, args, Class) {
|
|
43
32
|
var a = [
|
|
44
33
|
null
|
|
45
34
|
];
|
|
46
35
|
a.push.apply(a, args);
|
|
47
36
|
var Constructor = Function.bind.apply(Parent, a);
|
|
48
37
|
var instance = new Constructor();
|
|
49
|
-
if (Class)
|
|
38
|
+
if (Class) _set_prototype_of(instance, Class.prototype);
|
|
50
39
|
return instance;
|
|
51
40
|
};
|
|
52
41
|
}
|
|
@@ -61,12 +50,12 @@ function _defineProperties(target, props) {
|
|
|
61
50
|
Object.defineProperty(target, descriptor.key, descriptor);
|
|
62
51
|
}
|
|
63
52
|
}
|
|
64
|
-
function
|
|
53
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
65
54
|
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
66
55
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
67
56
|
return Constructor;
|
|
68
57
|
}
|
|
69
|
-
function
|
|
58
|
+
function _define_property(obj, key, value) {
|
|
70
59
|
if (key in obj) {
|
|
71
60
|
Object.defineProperty(obj, key, {
|
|
72
61
|
value: value,
|
|
@@ -79,11 +68,11 @@ function _defineProperty(obj, key, value) {
|
|
|
79
68
|
}
|
|
80
69
|
return obj;
|
|
81
70
|
}
|
|
82
|
-
function
|
|
83
|
-
|
|
71
|
+
function _get_prototype_of(o) {
|
|
72
|
+
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
84
73
|
return o.__proto__ || Object.getPrototypeOf(o);
|
|
85
74
|
};
|
|
86
|
-
return
|
|
75
|
+
return _get_prototype_of(o);
|
|
87
76
|
}
|
|
88
77
|
function _inherits(subClass, superClass) {
|
|
89
78
|
if (typeof superClass !== "function" && superClass !== null) {
|
|
@@ -96,30 +85,30 @@ function _inherits(subClass, superClass) {
|
|
|
96
85
|
configurable: true
|
|
97
86
|
}
|
|
98
87
|
});
|
|
99
|
-
if (superClass)
|
|
88
|
+
if (superClass) _set_prototype_of(subClass, superClass);
|
|
100
89
|
}
|
|
101
|
-
function
|
|
90
|
+
function _interop_require_default(obj) {
|
|
102
91
|
return obj && obj.__esModule ? obj : {
|
|
103
92
|
default: obj
|
|
104
93
|
};
|
|
105
94
|
}
|
|
106
|
-
function
|
|
95
|
+
function _is_native_function(fn) {
|
|
107
96
|
return Function.toString.call(fn).indexOf("[native code]") !== -1;
|
|
108
97
|
}
|
|
109
|
-
function
|
|
110
|
-
if (call && (
|
|
98
|
+
function _possible_constructor_return(self, call) {
|
|
99
|
+
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
111
100
|
return call;
|
|
112
101
|
}
|
|
113
|
-
return
|
|
102
|
+
return _assert_this_initialized(self);
|
|
114
103
|
}
|
|
115
|
-
function
|
|
116
|
-
|
|
104
|
+
function _set_prototype_of(o, p) {
|
|
105
|
+
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
117
106
|
o.__proto__ = p;
|
|
118
107
|
return o;
|
|
119
108
|
};
|
|
120
|
-
return
|
|
109
|
+
return _set_prototype_of(o, p);
|
|
121
110
|
}
|
|
122
|
-
function
|
|
111
|
+
function _tagged_template_literal(strings, raw) {
|
|
123
112
|
if (!raw) {
|
|
124
113
|
raw = strings.slice(0);
|
|
125
114
|
}
|
|
@@ -129,14 +118,14 @@ function _taggedTemplateLiteral(strings, raw) {
|
|
|
129
118
|
}
|
|
130
119
|
}));
|
|
131
120
|
}
|
|
132
|
-
|
|
121
|
+
function _type_of(obj) {
|
|
133
122
|
"@swc/helpers - typeof";
|
|
134
123
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
135
|
-
}
|
|
136
|
-
function
|
|
124
|
+
}
|
|
125
|
+
function _wrap_native_super(Class) {
|
|
137
126
|
var _cache = typeof Map === "function" ? new Map() : undefined;
|
|
138
|
-
|
|
139
|
-
if (Class === null || !
|
|
127
|
+
_wrap_native_super = function wrapNativeSuper(Class) {
|
|
128
|
+
if (Class === null || !_is_native_function(Class)) return Class;
|
|
140
129
|
if (typeof Class !== "function") {
|
|
141
130
|
throw new TypeError("Super expression must either be null or a function");
|
|
142
131
|
}
|
|
@@ -145,7 +134,7 @@ function _wrapNativeSuper(Class) {
|
|
|
145
134
|
_cache.set(Class, Wrapper);
|
|
146
135
|
}
|
|
147
136
|
function Wrapper() {
|
|
148
|
-
return _construct(Class, arguments,
|
|
137
|
+
return _construct(Class, arguments, _get_prototype_of(this).constructor);
|
|
149
138
|
}
|
|
150
139
|
Wrapper.prototype = Object.create(Class.prototype, {
|
|
151
140
|
constructor: {
|
|
@@ -155,11 +144,11 @@ function _wrapNativeSuper(Class) {
|
|
|
155
144
|
configurable: true
|
|
156
145
|
}
|
|
157
146
|
});
|
|
158
|
-
return
|
|
147
|
+
return _set_prototype_of(Wrapper, Class);
|
|
159
148
|
};
|
|
160
|
-
return
|
|
149
|
+
return _wrap_native_super(Class);
|
|
161
150
|
}
|
|
162
|
-
function
|
|
151
|
+
function _is_native_reflect_construct() {
|
|
163
152
|
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
164
153
|
if (Reflect.construct.sham) return false;
|
|
165
154
|
if (typeof Proxy === "function") return true;
|
|
@@ -170,21 +159,21 @@ function _isNativeReflectConstruct() {
|
|
|
170
159
|
return false;
|
|
171
160
|
}
|
|
172
161
|
}
|
|
173
|
-
function
|
|
174
|
-
var hasNativeReflectConstruct =
|
|
162
|
+
function _create_super(Derived) {
|
|
163
|
+
var hasNativeReflectConstruct = _is_native_reflect_construct();
|
|
175
164
|
return function _createSuperInternal() {
|
|
176
|
-
var Super =
|
|
165
|
+
var Super = _get_prototype_of(Derived), result;
|
|
177
166
|
if (hasNativeReflectConstruct) {
|
|
178
|
-
var NewTarget =
|
|
167
|
+
var NewTarget = _get_prototype_of(this).constructor;
|
|
179
168
|
result = Reflect.construct(Super, arguments, NewTarget);
|
|
180
169
|
} else {
|
|
181
170
|
result = Super.apply(this, arguments);
|
|
182
171
|
}
|
|
183
|
-
return
|
|
172
|
+
return _possible_constructor_return(this, result);
|
|
184
173
|
};
|
|
185
174
|
}
|
|
186
175
|
function _templateObject() {
|
|
187
|
-
var data =
|
|
176
|
+
var data = _tagged_template_literal([
|
|
188
177
|
"\n\n border: none;\n display: inline-block;\n font-size: inherit;\n text-align: left;\n background: transparent;\n font-weight: inherit;\n font-family: inherit;\n\n [contentEditable] {\n border: 1px solid black;\n padding: 4px;\n }\n \n"
|
|
189
178
|
]);
|
|
190
179
|
_templateObject = function _templateObject() {
|
|
@@ -195,12 +184,12 @@ function _templateObject() {
|
|
|
195
184
|
var first = _necessary.arrayUtilities.first, ENTER_KEY_CODE = _necessary.keyCodes.ENTER_KEY_CODE, ESCAPE_KEY_CODE = _necessary.keyCodes.ESCAPE_KEY_CODE;
|
|
196
185
|
var NameSpan = /*#__PURE__*/ function(Element) {
|
|
197
186
|
_inherits(NameSpan, Element);
|
|
198
|
-
var _super =
|
|
187
|
+
var _super = _create_super(NameSpan);
|
|
199
188
|
function NameSpan() {
|
|
200
|
-
|
|
189
|
+
_class_call_check(this, NameSpan);
|
|
201
190
|
var _this;
|
|
202
191
|
_this = _super.apply(this, arguments);
|
|
203
|
-
|
|
192
|
+
_define_property(_assert_this_initialized(_this), "keyDownHandler", function(event, element) {
|
|
204
193
|
var keyCode = event.keyCode;
|
|
205
194
|
if (keyCode === ENTER_KEY_CODE) {
|
|
206
195
|
_this.callChangeHandlers();
|
|
@@ -213,7 +202,7 @@ var NameSpan = /*#__PURE__*/ function(Element) {
|
|
|
213
202
|
});
|
|
214
203
|
return _this;
|
|
215
204
|
}
|
|
216
|
-
|
|
205
|
+
_create_class(NameSpan, [
|
|
217
206
|
{
|
|
218
207
|
key: "isEditable",
|
|
219
208
|
value: function isEditable() {
|
|
@@ -274,13 +263,13 @@ var NameSpan = /*#__PURE__*/ function(Element) {
|
|
|
274
263
|
}
|
|
275
264
|
]);
|
|
276
265
|
return NameSpan;
|
|
277
|
-
}(
|
|
278
|
-
|
|
266
|
+
}(_wrap_native_super(_easy.Element));
|
|
267
|
+
_define_property(NameSpan, "tagName", "span") ///
|
|
279
268
|
;
|
|
280
|
-
|
|
269
|
+
_define_property(NameSpan, "defaultProperties", {
|
|
281
270
|
className: "name"
|
|
282
271
|
});
|
|
283
272
|
Object.assign(NameSpan.prototype, _nameSpan.default);
|
|
284
|
-
var _default = (0,
|
|
273
|
+
var _default = (0, _easywithstyle.default)(NameSpan)(_templateObject());
|
|
285
274
|
|
|
286
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
275
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zcGFuL25hbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiOyAgLy8vXG5cbmltcG9ydCB7IGtleUNvZGVzLCBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IG5hbWVTcGFuTWl4aW5zIGZyb20gXCIuLi9taXhpbnMvbmFtZVNwYW5cIjtcblxuaW1wb3J0IHsgVFJVRSwgQ09OVEVOVF9FRElUQUJMRSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEVsZW1lbnQsIHdpbmRvdywgZG9jdW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcyxcbiAgICAgIHsgRU5URVJfS0VZX0NPREUsIEVTQ0FQRV9LRVlfQ09ERSB9ID0ga2V5Q29kZXM7XG5cbmNsYXNzIE5hbWVTcGFuIGV4dGVuZHMgRWxlbWVudCB7XG4gIGtleURvd25IYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XG4gICAgY29uc3QgeyBrZXlDb2RlIH0gPSBldmVudDtcblxuICAgIGlmIChrZXlDb2RlID09PSBFTlRFUl9LRVlfQ09ERSkge1xuICAgICAgdGhpcy5jYWxsQ2hhbmdlSGFuZGxlcnMoKTtcblxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBpZiAoa2V5Q29kZSA9PT0gRVNDQVBFX0tFWV9DT0RFKSB7XG4gICAgICB0aGlzLmNhbGxDYW5jZWxIYW5kbGVycygpO1xuXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIGlzRWRpdGFibGUoKSB7XG4gICAgY29uc3QgY29udGVudEVkaXRhYmxlID0gdGhpcy5oYXNBdHRyaWJ1dGUoQ09OVEVOVF9FRElUQUJMRSksXG4gICAgICAgICAgZWRpdGFibGUgPSBjb250ZW50RWRpdGFibGU7IC8vL1xuXG4gICAgcmV0dXJuIGVkaXRhYmxlO1xuICB9XG5cbiAgZ2V0TmFtZSgpIHtcbiAgICBjb25zdCBodG1sID0gdGhpcy5odG1sKCksXG4gICAgICAgICAgbmFtZSA9IGh0bWw7ICAvLy9cblxuICAgIHJldHVybiBuYW1lO1xuICB9XG5cbiAgc2V0TmFtZShuYW1lKSB7XG4gICAgY29uc3QgZG9tRWxlbWVudCA9IHRoaXMuZ2V0RE9NRWxlbWVudCgpLFxuICAgICAgICAgIHsgY2hpbGROb2RlcyB9ID0gZG9tRWxlbWVudCxcbiAgICAgICAgICBmaXJzdENoaWxkTm9kZSA9IGZpcnN0KGNoaWxkTm9kZXMpLFxuICAgICAgICAgIHRleHROb2RlID0gZmlyc3RDaGlsZE5vZGU7ICAvLy9cblxuICAgIHRleHROb2RlLm5vZGVWYWx1ZSA9IG5hbWU7ICAvLy9cbiAgfVxuXG4gIGVkaXQoKSB7XG4gICAgdGhpcy5mb2N1cygpO1xuXG4gICAgdGhpcy5hZGRBdHRyaWJ1dGUoQ09OVEVOVF9FRElUQUJMRSwgVFJVRSk7XG5cbiAgICBjb25zdCBodG1sID0gdGhpcy5odG1sKCksXG4gICAgICAgICAgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpLFxuICAgICAgICAgIHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKSxcbiAgICAgICAgICBkb21FbGVtZW50ID0gdGhpcy5nZXRET01FbGVtZW50KCksXG4gICAgICAgICAgaHRtbExlbmd0aCA9IGh0bWwubGVuZ3RoLFxuICAgICAgICAgIHsgY2hpbGROb2RlcyB9ID0gZG9tRWxlbWVudCxcbiAgICAgICAgICBmaXJzdENoaWxkTm9kZSA9IGZpcnN0KGNoaWxkTm9kZXMpLFxuICAgICAgICAgIHRleHROb2RlID0gZmlyc3RDaGlsZE5vZGU7ICAvLy9cblxuICAgIHJhbmdlLnNldFN0YXJ0KHRleHROb2RlLCBodG1sTGVuZ3RoKTtcblxuICAgIHJhbmdlLnNldEVuZCh0ZXh0Tm9kZSwgaHRtbExlbmd0aCk7XG5cbiAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7XG5cbiAgICBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpO1xuXG4gICAgdGhpcy5vbktleURvd24odGhpcy5rZXlEb3duSGFuZGxlcik7XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5vZmZLZXlEb3duKHRoaXMua2V5RG93bkhhbmRsZXIpO1xuXG4gICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoQ09OVEVOVF9FRElUQUJMRSwgVFJVRSk7XG4gIH1cblxuICBwYXJlbnRDb250ZXh0KCkge1xuICAgIGNvbnN0IGVkaXROYW1lU3BhbiA9IHRoaXMuZWRpdC5iaW5kKHRoaXMpLCAvLy9cbiAgICAgICAgICBjYW5jZWxOYW1lU3BhbiA9IHRoaXMuY2FuY2VsLmJpbmQodGhpcyksIC8vL1xuICAgICAgICAgIGdldE5hbWVTcGFuTmFtZSA9IHRoaXMuZ2V0TmFtZS5iaW5kKHRoaXMpLCAvLy9cbiAgICAgICAgICBzZXROYW1lU3Bhbk5hbWUgPSB0aGlzLnNldE5hbWUuYmluZCh0aGlzKSwgLy8vXG4gICAgICAgICAgb25OYW1lU3BhbkNoYW5nZSA9IHRoaXMub25DaGFuZ2UuYmluZCh0aGlzKSwgLy8vXG4gICAgICAgICAgb25OYW1lU3BhbkNhbmNlbCA9IHRoaXMub25DYW5jZWwuYmluZCh0aGlzKSwgLy8vXG4gICAgICAgICAgb2ZmTmFtZVNwYW5DaGFuZ2UgPSB0aGlzLm9mZkNoYW5nZS5iaW5kKHRoaXMpLCAvLy9cbiAgICAgICAgICBvZmZOYW1lU3BhbkNhbmNlbCA9IHRoaXMub2ZmQ2FuY2VsLmJpbmQodGhpcyksIC8vL1xuICAgICAgICAgIGlzTmFtZVNwYW5FZGl0YWJsZSA9IHRoaXMuaXNFZGl0YWJsZS5iaW5kKHRoaXMpOyAvLy9cblxuICAgIHJldHVybiAoe1xuICAgICAgZWRpdE5hbWVTcGFuLFxuICAgICAgY2FuY2VsTmFtZVNwYW4sXG4gICAgICBnZXROYW1lU3Bhbk5hbWUsXG4gICAgICBzZXROYW1lU3Bhbk5hbWUsXG4gICAgICBvbk5hbWVTcGFuQ2hhbmdlLFxuICAgICAgb25OYW1lU3BhbkNhbmNlbCxcbiAgICAgIG9mZk5hbWVTcGFuQ2hhbmdlLFxuICAgICAgb2ZmTmFtZVNwYW5DYW5jZWwsXG4gICAgICBpc05hbWVTcGFuRWRpdGFibGVcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJzcGFuXCI7ICAvLy9cblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcIm5hbWVcIlxuICB9O1xufVxuXG5PYmplY3QuYXNzaWduKE5hbWVTcGFuLnByb3RvdHlwZSwgbmFtZVNwYW5NaXhpbnMpO1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGUoTmFtZVNwYW4pYFxuXG4gIGJvcmRlcjogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cbiAgW2NvbnRlbnRFZGl0YWJsZV0ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuICAgIHBhZGRpbmc6IDRweDtcbiAgfVxuICBcbmA7XG4iXSwibmFtZXMiOlsiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsIkVOVEVSX0tFWV9DT0RFIiwia2V5Q29kZXMiLCJFU0NBUEVfS0VZX0NPREUiLCJOYW1lU3BhbiIsImtleURvd25IYW5kbGVyIiwiZXZlbnQiLCJlbGVtZW50Iiwia2V5Q29kZSIsImNhbGxDaGFuZ2VIYW5kbGVycyIsInByZXZlbnREZWZhdWx0IiwiY2FsbENhbmNlbEhhbmRsZXJzIiwiaXNFZGl0YWJsZSIsImNvbnRlbnRFZGl0YWJsZSIsImhhc0F0dHJpYnV0ZSIsIkNPTlRFTlRfRURJVEFCTEUiLCJlZGl0YWJsZSIsImdldE5hbWUiLCJodG1sIiwibmFtZSIsInNldE5hbWUiLCJkb21FbGVtZW50IiwiZ2V0RE9NRWxlbWVudCIsImNoaWxkTm9kZXMiLCJmaXJzdENoaWxkTm9kZSIsInRleHROb2RlIiwibm9kZVZhbHVlIiwiZWRpdCIsImZvY3VzIiwiYWRkQXR0cmlidXRlIiwiVFJVRSIsInJhbmdlIiwiZG9jdW1lbnQiLCJjcmVhdGVSYW5nZSIsInNlbGVjdGlvbiIsIndpbmRvdyIsImdldFNlbGVjdGlvbiIsImh0bWxMZW5ndGgiLCJsZW5ndGgiLCJzZXRTdGFydCIsInNldEVuZCIsInJlbW92ZUFsbFJhbmdlcyIsImFkZFJhbmdlIiwib25LZXlEb3duIiwiY2FuY2VsIiwib2ZmS2V5RG93biIsInJlbW92ZUF0dHJpYnV0ZSIsInBhcmVudENvbnRleHQiLCJlZGl0TmFtZVNwYW4iLCJiaW5kIiwiY2FuY2VsTmFtZVNwYW4iLCJnZXROYW1lU3Bhbk5hbWUiLCJzZXROYW1lU3Bhbk5hbWUiLCJvbk5hbWVTcGFuQ2hhbmdlIiwib25DaGFuZ2UiLCJvbk5hbWVTcGFuQ2FuY2VsIiwib25DYW5jZWwiLCJvZmZOYW1lU3BhbkNoYW5nZSIsIm9mZkNoYW5nZSIsIm9mZk5hbWVTcGFuQ2FuY2VsIiwib2ZmQ2FuY2VsIiwiaXNOYW1lU3BhbkVkaXRhYmxlIiwiRWxlbWVudCIsInRhZ05hbWUiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsIk9iamVjdCIsImFzc2lnbiIsInByb3RvdHlwZSIsIm5hbWVTcGFuTWl4aW5zIiwid2l0aFN0eWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFzSEE7OztlQUFBOzs7b0VBcEhzQjt5QkFFbUI7K0RBRWQ7eUJBRVk7b0JBQ0c7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|