nsc-react-component 3.2.12 → 3.2.13
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.
|
@@ -6,6 +6,7 @@ interface ISelectProps extends SelectProps<any> {
|
|
|
6
6
|
data?: Array<Object>;
|
|
7
7
|
labelField?: string;
|
|
8
8
|
valueField?: string;
|
|
9
|
+
groupField?: string;
|
|
9
10
|
defaultStyle?: boolean;
|
|
10
11
|
showGroup?: boolean;
|
|
11
12
|
addData?: Array<Object>;
|
|
@@ -25,10 +26,12 @@ export default class NSCSelect extends PureComponent<ISelectProps> {
|
|
|
25
26
|
allDataSource: any[];
|
|
26
27
|
children: any;
|
|
27
28
|
allChildren: any;
|
|
29
|
+
dataStore: any[];
|
|
28
30
|
};
|
|
29
31
|
store: StoreProps;
|
|
30
32
|
constructor(props: any);
|
|
31
33
|
resetData(): void;
|
|
34
|
+
getAllData: (data: any) => any[];
|
|
32
35
|
getData(): any[];
|
|
33
36
|
getValue(): any;
|
|
34
37
|
setValue(value: any): void;
|
package/lib/base/select/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _Select from "antd/es/select";
|
|
2
2
|
const _excluded = ["url", "listeners", "viewname", "cached", "cacheKey", "viewtype"],
|
|
3
|
-
_excluded2 = ["children", "store", "data", "onChange", "onSelect", "options", "labelField", "valueField", "defaultStyle", "showGroup", "addData", "deleteData", "valueType"];
|
|
3
|
+
_excluded2 = ["children", "store", "data", "onChange", "onSelect", "options", "labelField", "valueField", "defaultStyle", "showGroup", "addData", "deleteData", "valueType", "groupField"];
|
|
4
4
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
5
5
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
6
6
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -29,34 +29,21 @@ export default class NSCSelect extends PureComponent {
|
|
|
29
29
|
selectValue: null,
|
|
30
30
|
allDataSource: [],
|
|
31
31
|
children: null,
|
|
32
|
-
allChildren: null
|
|
32
|
+
allChildren: null,
|
|
33
|
+
dataStore: []
|
|
33
34
|
});
|
|
34
35
|
_defineProperty(this, "store", {});
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
listeners: listenersPops = {},
|
|
47
|
-
viewname,
|
|
48
|
-
cached,
|
|
49
|
-
cacheKey,
|
|
50
|
-
viewtype = "sys"
|
|
51
|
-
} = store,
|
|
52
|
-
stores = _objectWithoutProperties(store, _excluded);
|
|
53
|
-
valueField = valueField ? valueField : viewname ? "dictKey" : "value";
|
|
54
|
-
let {
|
|
55
|
-
viewUrl,
|
|
56
|
-
viewBizUrl
|
|
57
|
-
} = config();
|
|
58
|
-
let requestViewUrl = viewtype == "sys" ? viewUrl : viewBizUrl;
|
|
59
|
-
const getAllData = data => {
|
|
36
|
+
_defineProperty(this, "getAllData", data => {
|
|
37
|
+
let {
|
|
38
|
+
store = {},
|
|
39
|
+
addData = [],
|
|
40
|
+
deleteData = [],
|
|
41
|
+
valueField
|
|
42
|
+
} = this.props;
|
|
43
|
+
const {
|
|
44
|
+
viewname
|
|
45
|
+
} = store;
|
|
46
|
+
valueField = valueField ? valueField : viewname ? "dictKey" : "value";
|
|
60
47
|
if (!Array.isArray(data)) {
|
|
61
48
|
return [];
|
|
62
49
|
}
|
|
@@ -80,9 +67,33 @@ export default class NSCSelect extends PureComponent {
|
|
|
80
67
|
} else {
|
|
81
68
|
return newData;
|
|
82
69
|
}
|
|
83
|
-
};
|
|
70
|
+
});
|
|
71
|
+
let {
|
|
72
|
+
data: _data,
|
|
73
|
+
store: _store = {},
|
|
74
|
+
children,
|
|
75
|
+
options,
|
|
76
|
+
addData: _addData = [],
|
|
77
|
+
deleteData: _deleteData = [],
|
|
78
|
+
valueField: _valueField
|
|
79
|
+
} = props;
|
|
80
|
+
const {
|
|
81
|
+
url,
|
|
82
|
+
listeners: listenersPops = {},
|
|
83
|
+
viewname: _viewname,
|
|
84
|
+
cached,
|
|
85
|
+
cacheKey,
|
|
86
|
+
viewtype = "sys"
|
|
87
|
+
} = _store,
|
|
88
|
+
stores = _objectWithoutProperties(_store, _excluded);
|
|
89
|
+
_valueField = _valueField ? _valueField : _viewname ? "dictKey" : "value";
|
|
90
|
+
let {
|
|
91
|
+
viewUrl,
|
|
92
|
+
viewBizUrl
|
|
93
|
+
} = config();
|
|
94
|
+
let requestViewUrl = viewtype == "sys" ? viewUrl : viewBizUrl;
|
|
84
95
|
if (!children) {
|
|
85
|
-
if (!(
|
|
96
|
+
if (!(_data || _viewname || url || options)) {
|
|
86
97
|
throw new Error("url、viewname、data、options不能都为空!");
|
|
87
98
|
}
|
|
88
99
|
let _this = this;
|
|
@@ -94,35 +105,37 @@ export default class NSCSelect extends PureComponent {
|
|
|
94
105
|
utils.callback(listenersPops.onBeforeLoad, _this, [store, options]);
|
|
95
106
|
},
|
|
96
107
|
load: function (data, modelData, store) {
|
|
97
|
-
const newData = getAllData(data);
|
|
108
|
+
const newData = _this.getAllData(data);
|
|
98
109
|
_this.setState({
|
|
99
110
|
dataSource: newData,
|
|
100
|
-
allDataSource: newData
|
|
111
|
+
allDataSource: newData,
|
|
112
|
+
dataStore: data
|
|
101
113
|
});
|
|
102
114
|
utils.callback(listenersPops.load, _this, [data, modelData, store]);
|
|
103
115
|
},
|
|
104
116
|
dataChanged: function (data, modelData, store) {
|
|
105
|
-
const newData = getAllData(data);
|
|
117
|
+
const newData = _this.getAllData(data);
|
|
106
118
|
_this.setState({
|
|
107
119
|
dataSource: newData,
|
|
108
|
-
allDataSource: newData
|
|
120
|
+
allDataSource: newData,
|
|
121
|
+
dataStore: data
|
|
109
122
|
});
|
|
110
123
|
utils.callback(listenersPops.dataChanged, _this, [data, modelData, store]);
|
|
111
124
|
}
|
|
112
125
|
}
|
|
113
126
|
}, stores);
|
|
114
|
-
if ((
|
|
127
|
+
if ((_viewname || url) && _data == null && options == null) {
|
|
115
128
|
let isCached = cached;
|
|
116
129
|
let isCacheKey = cacheKey;
|
|
117
|
-
if (
|
|
130
|
+
if (_viewname) {
|
|
118
131
|
if (typeof cached !== "boolean") {
|
|
119
132
|
isCached = true;
|
|
120
|
-
isCacheKey = isCacheKey ? isCacheKey :
|
|
133
|
+
isCacheKey = isCacheKey ? isCacheKey : _viewname;
|
|
121
134
|
}
|
|
122
135
|
}
|
|
123
136
|
storeProps = _objectSpread(_objectSpread({}, {
|
|
124
137
|
autoLoad: true,
|
|
125
|
-
url: url || requestViewUrl +
|
|
138
|
+
url: url || requestViewUrl + _viewname,
|
|
126
139
|
//读字典,url固定,viewname
|
|
127
140
|
cached: isCached,
|
|
128
141
|
cacheKey: isCacheKey
|
|
@@ -211,7 +224,8 @@ export default class NSCSelect extends PureComponent {
|
|
|
211
224
|
} = this.props;
|
|
212
225
|
const {
|
|
213
226
|
allDataSource,
|
|
214
|
-
allChildren
|
|
227
|
+
allChildren,
|
|
228
|
+
dataStore
|
|
215
229
|
} = this.state;
|
|
216
230
|
if (!children && (data || options)) {
|
|
217
231
|
const newData = data ? data : options;
|
|
@@ -236,6 +250,13 @@ export default class NSCSelect extends PureComponent {
|
|
|
236
250
|
allChildren: children
|
|
237
251
|
});
|
|
238
252
|
}
|
|
253
|
+
} else if (JSON.stringify(newProps.deleteData) !== JSON.stringify(this.props.deleteData) || JSON.stringify(newProps.addData) !== JSON.stringify(this.props.addData)) {
|
|
254
|
+
const newData = this.getAllData(dataStore);
|
|
255
|
+
this.setState({
|
|
256
|
+
dataSource: newData,
|
|
257
|
+
allDataSource: newData,
|
|
258
|
+
dataStore: dataStore
|
|
259
|
+
});
|
|
239
260
|
}
|
|
240
261
|
}
|
|
241
262
|
componentWillUnmount() {
|
|
@@ -355,7 +376,8 @@ export default class NSCSelect extends PureComponent {
|
|
|
355
376
|
}
|
|
356
377
|
renderChildren() {
|
|
357
378
|
const {
|
|
358
|
-
showGroup = true
|
|
379
|
+
showGroup = true,
|
|
380
|
+
groupField = 'groupName'
|
|
359
381
|
} = this.props;
|
|
360
382
|
const {
|
|
361
383
|
dataSource,
|
|
@@ -367,7 +389,7 @@ export default class NSCSelect extends PureComponent {
|
|
|
367
389
|
let optGroupData = {},
|
|
368
390
|
optionData = [];
|
|
369
391
|
dataSource.forEach(item => {
|
|
370
|
-
let label = item
|
|
392
|
+
let label = item[groupField];
|
|
371
393
|
if (label && showGroup) {
|
|
372
394
|
if (!optGroupData[label]) optGroupData[label] = [];
|
|
373
395
|
optGroupData[label].push(item);
|
|
@@ -426,7 +448,8 @@ export default class NSCSelect extends PureComponent {
|
|
|
426
448
|
showGroup = true,
|
|
427
449
|
addData,
|
|
428
450
|
deleteData,
|
|
429
|
-
valueType
|
|
451
|
+
valueType,
|
|
452
|
+
groupField
|
|
430
453
|
} = _this$props,
|
|
431
454
|
params = _objectWithoutProperties(_this$props, _excluded2);
|
|
432
455
|
let props = {
|
|
@@ -468,4 +491,4 @@ export default class NSCSelect extends PureComponent {
|
|
|
468
491
|
}
|
|
469
492
|
_defineProperty(NSCSelect, "Option", Option);
|
|
470
493
|
_defineProperty(NSCSelect, "OptGroup", OptGroup);
|
|
471
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJTdG9yZSIsInV0aWxzIiwiY29uZmlnIiwic3R5bGVzIiwiY2xzIiwiUGlueWluTWF0Y2giLCJnZXRGbGF0dGVuRGF0YSIsIk9wdGlvbiIsIk9wdEdyb3VwIiwiX1NlbGVjdCIsIk5TQ1NlbGVjdCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkiLCJkYXRhU291cmNlIiwic2VsZWN0VmFsdWUiLCJhbGxEYXRhU291cmNlIiwiY2hpbGRyZW4iLCJhbGxDaGlsZHJlbiIsImRhdGEiLCJzdG9yZSIsIm9wdGlvbnMiLCJhZGREYXRhIiwiZGVsZXRlRGF0YSIsInZhbHVlRmllbGQiLCJ1cmwiLCJsaXN0ZW5lcnMiLCJsaXN0ZW5lcnNQb3BzIiwidmlld25hbWUiLCJjYWNoZWQiLCJjYWNoZUtleSIsInZpZXd0eXBlIiwic3RvcmVzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwidmlld1VybCIsInZpZXdCaXpVcmwiLCJyZXF1ZXN0Vmlld1VybCIsImdldEFsbERhdGEiLCJBcnJheSIsImlzQXJyYXkiLCJuZXdEYXRhIiwibGVuZ3RoIiwic3BsaWNlRGF0YSIsInZhbHVlRmllbGRzIiwic3BsaXQiLCJtYXAiLCJpdGVtIiwiaSIsInZhbHVlIiwidiIsImluZGV4IiwiaW5kZXhPZiIsInB1c2giLCJFcnJvciIsIl90aGlzIiwic3RvcmVQcm9wcyIsIl9vYmplY3RTcHJlYWQiLCJtb2RlbCIsImNvbXBvbmVudCIsIm9uQmVmb3JlTG9hZCIsImNhbGxiYWNrIiwibG9hZCIsIm1vZGVsRGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJpc0NhY2hlZCIsImlzQ2FjaGVLZXkiLCJhdXRvTG9hZCIsInJlc2V0RGF0YSIsInN0YXRlIiwiZ2V0RGF0YSIsImdldFZhbHVlIiwic2V0VmFsdWUiLCJnZXRTZWxlY3REYXRhIiwia2V5RmllbGQiLCJyZXMiLCJ2YWwiLCJjb21wb25lbnREaWRNb3VudCIsImNvbXBvbmVudERpZFVwZGF0ZSIsIm5ld1Byb3BzIiwibmV3U3RhdGUiLCJTbmFwc2hvdCIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGF0ZUNoaWxkcmVuUHJvcHMiLCJzIiwiY2hpbGRyZW5Qcm9wcyIsImMiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsIm9uU2VhcmNoIiwiZmlsdGVyT3B0aW9uIiwibGFiZWxGaWVsZCIsInJlc3VsdCIsImZvckVhY2giLCJsYWJlbCIsImxhYmVsRmllbGRzIiwibCIsImZsYWciLCJtYXRjaCIsImNoaWxkIiwiX2NoaWxkJHByb3BzIiwicmVuZGVyT3B0aW9uIiwib3B0aW9uRGF0YSIsInZhbHVlVHlwZSIsIk51bWJlciIsImtleSIsImlkIiwiY3JlYXRlRWxlbWVudCIsImRpc2FibGVkIiwicmVuZGVyQ2hpbGRyZW4iLCJzaG93R3JvdXAiLCJGcmFnbWVudCIsIm9wdEdyb3VwRGF0YSIsImdyb3VwTmFtZSIsIm9wdGlvbiIsIm9wdEdyb3VwIiwiT2JqZWN0Iiwia2V5cyIsIm9uQ2hhbmdlIiwib25TZWxlY3QiLCJvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZSIsIm9wZW4iLCJyZW5kZXIiLCJfdGhpcyRwcm9wcyIsImRlZmF1bHRTdHlsZSIsInBhcmFtcyIsIl9leGNsdWRlZDIiLCJzaG93U2VhcmNoIiwib3B0aW9uRmlsdGVyUHJvcCIsInBsYWNlaG9sZGVyIiwiYWxsb3dDbGVhciIsImFudGRTdHlsZSIsIm1vdW50RWxlbWVudElkIiwiZ2V0UG9wdXBDb250YWluZXIiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwiY2xhc3NOYW1lIiwiX2V4dGVuZHMiLCJiaW5kIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFzZS9zZWxlY3QvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFNlbGVjdCwgU2VsZWN0UHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCBQaW55aW5NYXRjaCBmcm9tIFwicGlueWluLW1hdGNoXCI7XHJcbmltcG9ydCB7IGdldEZsYXR0ZW5EYXRhIH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmNvbnN0IHsgT3B0aW9uLCBPcHRHcm91cCB9ID0gU2VsZWN0O1xyXG5cclxuaW50ZXJmYWNlIElTZWxlY3RQcm9wcyBleHRlbmRzIFNlbGVjdFByb3BzPGFueT4ge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBkYXRhPzogQXJyYXk8T2JqZWN0PjsgLy/pu5jorqTmlbDmja5cclxuICBsYWJlbEZpZWxkPzogc3RyaW5nO1xyXG4gIHZhbHVlRmllbGQ/OiBzdHJpbmc7XHJcbiAgZGVmYXVsdFN0eWxlPzogYm9vbGVhbjtcclxuICBzaG93R3JvdXA/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuWIhue7hFxyXG4gIGFkZERhdGE/OiBBcnJheTxPYmplY3Q+OyAvL+mFjeWQiHN0b3Jl5L2/55So77yM5LuO5aKe5Yqg6aKd5aSW55qE5pWw5o2uXHJcbiAgZGVsZXRlRGF0YT86IEFycmF5PFN0cmluZz47IC8v6YWN5ZCIc3RvcmXkvb/nlKjvvIzliKDpmaTku47mlbDmja7lupPkuK3ojrflj5bliLDnmoTmjIflrprmlbDmja5cclxuICB2YWx1ZUJyZWFrPzogc3RyaW5nOyAvL+WkmuS4qnZhbHVl5L2/55So55qE5YiG6ZqU56ymXHJcbiAgdmFsdWVUeXBlPzogXCJzdHJpbmdcIiB8IFwibnVtYmVyXCI7XHJcbiAgW3Byb05hbWU6IHN0cmluZ106IGFueTtcclxuICBvbkNoYW5nZT86IGFueTtcclxuICBvblNlbGVjdD86IGFueTtcclxufVxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOU0NTZWxlY3QgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElTZWxlY3RQcm9wcz4ge1xyXG4gIHN0YXRpYyBPcHRpb24gPSBPcHRpb247XHJcbiAgc3RhdGljIE9wdEdyb3VwID0gT3B0R3JvdXA7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBbXSxcclxuICAgIHNlbGVjdFZhbHVlOiBudWxsLFxyXG4gICAgYWxsRGF0YVNvdXJjZTogW10sXHJcbiAgICBjaGlsZHJlbjogbnVsbCxcclxuICAgIGFsbENoaWxkcmVuOiBudWxsLFxyXG4gIH07XHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBsZXQge1xyXG4gICAgICBkYXRhLFxyXG4gICAgICBzdG9yZSA9IHt9LFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgb3B0aW9ucyxcclxuICAgICAgYWRkRGF0YSA9IFtdLFxyXG4gICAgICBkZWxldGVEYXRhID0gW10sXHJcbiAgICAgIHZhbHVlRmllbGRcclxuICAgIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHtcclxuICAgICAgdXJsLFxyXG4gICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1BvcHMgPSB7fSxcclxuICAgICAgdmlld25hbWUsXHJcbiAgICAgIGNhY2hlZCxcclxuICAgICAgY2FjaGVLZXksXHJcbiAgICAgIHZpZXd0eXBlID0gXCJzeXNcIixcclxuICAgICAgLi4uc3RvcmVzXHJcbiAgICB9ID0gc3RvcmU7XHJcbiAgICB2YWx1ZUZpZWxkID0gdmFsdWVGaWVsZD92YWx1ZUZpZWxkOiB2aWV3bmFtZSA/IFwiZGljdEtleVwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgbGV0IHsgdmlld1VybCwgdmlld0JpelVybCB9ID0gY29uZmlnKCk7XHJcbiAgICBsZXQgcmVxdWVzdFZpZXdVcmwgPSB2aWV3dHlwZSA9PSBcInN5c1wiID8gdmlld1VybCA6IHZpZXdCaXpVcmw7XHJcbiAgICBjb25zdCBnZXRBbGxEYXRhID0gKGRhdGEpID0+IHtcclxuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGRhdGEpKSB7XHJcbiAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBuZXdEYXRhID0gWy4uLmRhdGFdO1xyXG4gICAgICBpZiAoYWRkRGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgbmV3RGF0YSA9IFsuLi5hZGREYXRhLCAuLi5uZXdEYXRhXTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoZGVsZXRlRGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgbGV0IHNwbGljZURhdGEgPSBbXTtcclxuICAgICAgICBjb25zdCB2YWx1ZUZpZWxkczogYW55ID0gdmFsdWVGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgbmV3RGF0YS5tYXAoKGl0ZW0sIGkpID0+IHtcclxuICAgICAgICAgIGxldCB2YWx1ZSA9IFwiXCI7XHJcbiAgICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIHZhbHVlID0gaW5kZXggPT0gMCA/IHZhbHVlICsgaXRlbVt2XSA6IHZhbHVlICsgXCIsXCIgKyBpdGVtW3ZdO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBpZiAoZGVsZXRlRGF0YS5pbmRleE9mKHZhbHVlKSA9PSAtMSkge1xyXG4gICAgICAgICAgICBzcGxpY2VEYXRhLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHNwbGljZURhdGE7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG5ld0RhdGE7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBpZiAoIWNoaWxkcmVuKSB7XHJcbiAgICAgIGlmICghKGRhdGEgfHwgdmlld25hbWUgfHwgdXJsIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs44CBdmlld25hbWXjgIFkYXRh44CBb3B0aW9uc+S4jeiDvemDveS4uuepuu+8gVwiKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgICBsZXQgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICBtb2RlbDogXCJtb2RlbFwiLFxyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBsaXN0ZW5lcnM6IHtcclxuICAgICAgICAgIG9uQmVmb3JlTG9hZDogZnVuY3Rpb24gKHN0b3JlLCBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMub25CZWZvcmVMb2FkLCBfdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3RGF0YSA9IGdldEFsbERhdGEoZGF0YSk7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbmV3RGF0YSwgYWxsRGF0YVNvdXJjZTogbmV3RGF0YSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5sb2FkLCBfdGhpcywgW2RhdGEsIG1vZGVsRGF0YSwgc3RvcmVdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBkYXRhQ2hhbmdlZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3RGF0YSA9IGdldEFsbERhdGEoZGF0YSk7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbmV3RGF0YSwgYWxsRGF0YVNvdXJjZTogbmV3RGF0YSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5kYXRhQ2hhbmdlZCwgX3RoaXMsIFtcclxuICAgICAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgICAgIG1vZGVsRGF0YSxcclxuICAgICAgICAgICAgICBzdG9yZSxcclxuICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLi4uc3RvcmVzLFxyXG4gICAgICB9O1xyXG4gICAgICBpZiAoKHZpZXduYW1lIHx8IHVybCkgJiYgZGF0YSA9PSBudWxsICYmIG9wdGlvbnMgPT0gbnVsbCkge1xyXG4gICAgICAgIGxldCBpc0NhY2hlZCA9IGNhY2hlZDtcclxuICAgICAgICBsZXQgaXNDYWNoZUtleSA9IGNhY2hlS2V5O1xyXG4gICAgICAgIGlmICh2aWV3bmFtZSkge1xyXG4gICAgICAgICAgaWYgKHR5cGVvZiBjYWNoZWQgIT09IFwiYm9vbGVhblwiKSB7XHJcbiAgICAgICAgICAgIGlzQ2FjaGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgaXNDYWNoZUtleSA9IGlzQ2FjaGVLZXkgPyBpc0NhY2hlS2V5IDogdmlld25hbWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgICAgLi4ue1xyXG4gICAgICAgICAgICBhdXRvTG9hZDogdHJ1ZSxcclxuICAgICAgICAgICAgdXJsOiB1cmwgfHwgcmVxdWVzdFZpZXdVcmwgKyB2aWV3bmFtZSwgLy/or7vlrZflhbjvvIx1cmzlm7rlrprvvIx2aWV3bmFtZVxyXG4gICAgICAgICAgICBjYWNoZWQ6IGlzQ2FjaGVkLFxyXG4gICAgICAgICAgICBjYWNoZUtleTogaXNDYWNoZUtleSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAuLi5zdG9yZVByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zdG9yZSA9IG5ldyBTdG9yZShzdG9yZVByb3BzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlc2V0RGF0YSgpIHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGFsbERhdGFTb3VyY2UsIGFsbENoaWxkcmVuIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBjaGlsZHJlbjogYWxsQ2hpbGRyZW4gfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiBhbGxEYXRhU291cmNlLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldERhdGEoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5hbGxEYXRhU291cmNlO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZTtcclxuICB9XHJcbiAgc2V0VmFsdWUodmFsdWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RWYWx1ZTogdmFsdWUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdERhdGEodmFsdWUpIHtcclxuICAgIGNvbnN0IHsgZGF0YVNvdXJjZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGxldCB7IHN0b3JlID0ge30sIHZhbHVlRmllbGQgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IHZpZXduYW1lIH0gPSBzdG9yZTtcclxuICAgIHZhbHVlRmllbGQgPSB2YWx1ZUZpZWxkID8gdmFsdWVGaWVsZCA6IHZpZXduYW1lID8gXCJkaWN0S2V5XCIgOiBcInZhbHVlXCI7XHJcbiAgICBjb25zdCBuZXdEYXRhID0gZ2V0RmxhdHRlbkRhdGEoZGF0YVNvdXJjZSwgeyBrZXlGaWVsZDogdmFsdWVGaWVsZCB9KTtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICBsZXQgcmVzID0gW10gYXMgYW55O1xyXG4gICAgICB2YWx1ZS5tYXAoKHZhbCkgPT4ge1xyXG4gICAgICAgIHJlcy5wdXNoKG5ld0RhdGFbdmFsXSB8fCB7fSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gcmVzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIG5ld0RhdGFbdmFsdWVdIHx8IHt9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFjaGlsZHJlbiAmJiAoZGF0YSB8fCBvcHRpb25zKSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiBkYXRhID8gZGF0YSA6IG9wdGlvbnMsXHJcbiAgICAgICAgYWxsRGF0YVNvdXJjZTogZGF0YSA/IGRhdGEgOiBvcHRpb25zLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICAgIGFsbENoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShuZXdQcm9wcywgbmV3U3RhdGUsIFNuYXBzaG90KSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBhbGxEYXRhU291cmNlLCBhbGxDaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmICghY2hpbGRyZW4gJiYgKGRhdGEgfHwgb3B0aW9ucykpIHtcclxuICAgICAgY29uc3QgbmV3RGF0YSA9IGRhdGEgPyBkYXRhIDogb3B0aW9ucztcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGFsbERhdGFTb3VyY2UpICE9PSBKU09OLnN0cmluZ2lmeShuZXdEYXRhKSkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogbmV3RGF0YSxcclxuICAgICAgICAgIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4gJiYgQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcclxuICAgICAgY29uc3Qgc3RhdGVDaGlsZHJlblByb3BzOiBhbnkgPSBbXTtcclxuICAgICAgYWxsQ2hpbGRyZW4ubWFwKChzOiBhbnkpID0+IHtcclxuICAgICAgICBzdGF0ZUNoaWxkcmVuUHJvcHMucHVzaChzLnByb3BzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGNvbnN0IGNoaWxkcmVuUHJvcHM6IGFueSA9IFtdO1xyXG4gICAgICBjaGlsZHJlbi5tYXAoKGM6IGFueSkgPT4ge1xyXG4gICAgICAgIGNoaWxkcmVuUHJvcHMucHVzaChjLnByb3BzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBKU09OLnN0cmluZ2lmeShzdGF0ZUNoaWxkcmVuUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShjaGlsZHJlblByb3BzKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICAgIGFsbENoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUgPSAoc3RhdGUsIGNhbGxiYWNrKSA9PiB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH07XHJcbiAgfVxyXG4gIG9uU2VhcmNoKHZhbHVlKSB7XHJcbiAgICBjb25zdCB7IGFsbERhdGFTb3VyY2UsIGFsbENoaWxkcmVuIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgeyBmaWx0ZXJPcHRpb24gPSB0cnVlLCBvblNlYXJjaCwgY2hpbGRyZW4sIHN0b3JlID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgeyBsYWJlbEZpZWxkIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyB2aWV3bmFtZSB9ID0gc3RvcmU7XHJcbiAgICBsYWJlbEZpZWxkID0gbGFiZWxGaWVsZCA/IGxhYmVsRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdFZhbHVlXCIgOiBcImxhYmVsXCI7XHJcbiAgICBpZiAoZmlsdGVyT3B0aW9uKSB7XHJcbiAgICAgIGxldCByZXN1bHQgPSBbXTtcclxuICAgICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgYWxsRGF0YVNvdXJjZS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgICAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgICAgIGxhYmVsID0gaXRlbVtsYWJlbEZpZWxkXTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBpdGVtW2xdIDogbGFiZWwgKyBcIi1cIiArIGl0ZW1bbF07XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGZsYWcgPSBQaW55aW5NYXRjaC5tYXRjaChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBkYXRhU291cmNlOiByZXN1bHQsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IGFsbERhdGFTb3VyY2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhbGxDaGlsZHJlbikpIHtcclxuICAgICAgICAgICAgYWxsQ2hpbGRyZW4ubWFwKChjaGlsZDogYW55LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgIGxldCBsYWJlbCA9IGNoaWxkPy5wcm9wcz8uY2hpbGRyZW47XHJcbiAgICAgICAgICAgICAgbGV0IGZsYWcgPSBQaW55aW5NYXRjaC5tYXRjaChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICAgICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGlsZHJlbjogcmVzdWx0LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIG9uU2VhcmNoICYmIG9uU2VhcmNoKHZhbHVlKTtcclxuICB9XHJcbiAgcmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpIHtcclxuICAgIGxldCB7XHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIHZhbHVlVHlwZSA9IFwic3RyaW5nXCIsXHJcbiAgICAgIGxhYmVsRmllbGQsXHJcbiAgICAgIHZhbHVlRmllbGQsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgdmlld25hbWUgfSA9IHN0b3JlO1xyXG4gICAgdmFsdWVGaWVsZCA9IHZhbHVlRmllbGQgPyB2YWx1ZUZpZWxkIDogdmlld25hbWUgPyBcImRpY3RLZXlcIiA6IFwidmFsdWVcIjtcclxuICAgIGxhYmVsRmllbGQgPSBsYWJlbEZpZWxkID8gbGFiZWxGaWVsZCA6IHZpZXduYW1lID8gXCJkaWN0VmFsdWVcIiA6IFwibGFiZWxcIjtcclxuICAgIHJldHVybiBvcHRpb25EYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBsZXQgdmFsdWU6IGFueTtcclxuICAgICAgaWYgKHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgdmFsdWUgPVxyXG4gICAgICAgICAgdmFsdWVUeXBlID09PSBcIm51bWJlclwiID8gTnVtYmVyKGl0ZW1bdmFsdWVGaWVsZF0pIDogaXRlbVt2YWx1ZUZpZWxkXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCB2YWx1ZUZpZWxkczogYW55ID0gdmFsdWVGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgdmFsdWUgPSBcIlwiO1xyXG4gICAgICAgIHZhbHVlRmllbGRzLm1hcCgodiwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIHZhbHVlID0gaW5kZXggPT0gMCA/IHZhbHVlICsgaXRlbVt2XSA6IHZhbHVlICsgXCIsXCIgKyBpdGVtW3ZdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBrZXkgPSBpdGVtLmlkID8gKGl0ZW0uaWQgIT09IFwidW5kZWZpbmVkXCIgPyBpdGVtLmlkIDogdmFsdWUpIDogdmFsdWU7XHJcbiAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgIGxhYmVsID0gaXRlbVtsYWJlbEZpZWxkXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBpdGVtW2xdIDogbGFiZWwgKyBcIi1cIiArIGl0ZW1bbF07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8T3B0aW9uXHJcbiAgICAgICAgICBrZXk9e2tleX1cclxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cclxuICAgICAgICAgIGxhYmVsPXtsYWJlbH1cclxuICAgICAgICAgIGRpc2FibGVkPXtpdGVtLmRpc2FibGVkID8gdHJ1ZSA6IGZhbHNlfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHtsYWJlbH1cclxuICAgICAgICA8L09wdGlvbj5cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXJDaGlsZHJlbigpIHtcclxuICAgIGNvbnN0IHsgc2hvd0dyb3VwID0gdHJ1ZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgZGF0YVNvdXJjZSwgY2hpbGRyZW4gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgcmV0dXJuIDw+e2NoaWxkcmVufTwvPjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBvcHRHcm91cERhdGEgPSB7fSxcclxuICAgICAgICBvcHRpb25EYXRhID0gW107XHJcbiAgICAgIGRhdGFTb3VyY2UuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgIGxldCBsYWJlbCA9IGl0ZW0uZ3JvdXBOYW1lO1xyXG4gICAgICAgIGlmIChsYWJlbCAmJiBzaG93R3JvdXApIHtcclxuICAgICAgICAgIGlmICghb3B0R3JvdXBEYXRhW2xhYmVsXSkgb3B0R3JvdXBEYXRhW2xhYmVsXSA9IFtdO1xyXG4gICAgICAgICAgb3B0R3JvdXBEYXRhW2xhYmVsXS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBvcHRpb25EYXRhLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgbGV0IG9wdGlvbiA9IHRoaXMucmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpO1xyXG4gICAgICBsZXQgb3B0R3JvdXAgPSBPYmplY3Qua2V5cyhvcHRHcm91cERhdGEpLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxPcHRHcm91cCBrZXk9e2tleX0gbGFiZWw9e2tleX0+XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlck9wdGlvbihvcHRHcm91cERhdGFba2V5XSl9XHJcbiAgICAgICAgICA8L09wdEdyb3VwPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDw+XHJcbiAgICAgICAgICB7b3B0aW9ufVxyXG4gICAgICAgICAge29wdEdyb3VwfVxyXG4gICAgICAgIDwvPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBvbkNoYW5nZSh2YWx1ZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgeyBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RWYWx1ZTogdmFsdWUsXHJcbiAgICB9KTtcclxuICAgIGlmIChvbkNoYW5nZSkge1xyXG4gICAgICBjb25zdCBkYXRhID0gdGhpcy5nZXRTZWxlY3REYXRhKHZhbHVlKTtcclxuICAgICAgb25DaGFuZ2UodmFsdWUsIG9wdGlvbnMsIGRhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuICBvblNlbGVjdCh2YWx1ZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgeyBvblNlbGVjdCB9ID0gdGhpcy5wcm9wcztcclxuXHJcbiAgICBpZiAob25TZWxlY3QpIHtcclxuICAgICAgY29uc3QgZGF0YSA9IHRoaXMuZ2V0U2VsZWN0RGF0YSh2YWx1ZSk7XHJcbiAgICAgIG9uU2VsZWN0KHZhbHVlLCBvcHRpb25zLCBkYXRhKTtcclxuICAgIH1cclxuICB9XHJcbiAgb25Ecm9wZG93blZpc2libGVDaGFuZ2Uob3Blbikge1xyXG4gICAgaWYgKCFvcGVuKSB7XHJcbiAgICAgIHRoaXMucmVzZXREYXRhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICAgIHN0b3JlLFxyXG4gICAgICBkYXRhLFxyXG4gICAgICBvbkNoYW5nZSxcclxuICAgICAgb25TZWxlY3QsXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGxhYmVsRmllbGQsXHJcbiAgICAgIHZhbHVlRmllbGQsXHJcbiAgICAgIGRlZmF1bHRTdHlsZSxcclxuICAgICAgc2hvd0dyb3VwID0gdHJ1ZSxcclxuICAgICAgYWRkRGF0YSxcclxuICAgICAgZGVsZXRlRGF0YSxcclxuICAgICAgdmFsdWVUeXBlLFxyXG4gICAgICAuLi5wYXJhbXNcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IHByb3BzID0ge1xyXG4gICAgICBmaWx0ZXJPcHRpb246IGZhbHNlLFxyXG4gICAgICBzaG93U2VhcmNoOiB0cnVlLFxyXG4gICAgICBvcHRpb25GaWx0ZXJQcm9wOiBcImxhYmVsXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyOiBcIuivt+mAieaLqVwiLFxyXG4gICAgICBhbGxvd0NsZWFyOiB0cnVlLFxyXG4gICAgfSBhcyBhbnk7XHJcbiAgICBsZXQgeyBhbnRkU3R5bGUsIG1vdW50RWxlbWVudElkIH0gPSBjb25maWcoKTtcclxuICAgIGlmIChtb3VudEVsZW1lbnRJZCkge1xyXG4gICAgICBwcm9wcyA9IHtcclxuICAgICAgICBnZXRQb3B1cENvbnRhaW5lcjogKCkgPT4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobW91bnRFbGVtZW50SWQpLFxyXG4gICAgICAgIC4uLnByb3BzLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgaWYgKChkZWZhdWx0U3R5bGUgfHwgYW50ZFN0eWxlKSAmJiBkZWZhdWx0U3R5bGUgPT09IHRydWUpIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKHN0eWxlc1tcIm5zY19zZWxlY3RcIl0sIHRoaXMucHJvcHMuY2xhc3NOYW1lKX0+XHJcbiAgICAgICAgICA8U2VsZWN0XHJcbiAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnNlbGVjdFZhbHVlfVxyXG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBvblNlYXJjaD17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBvblNlbGVjdD17dGhpcy5vblNlbGVjdC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZT17dGhpcy5vbkRyb3Bkb3duVmlzaWJsZUNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlckNoaWxkcmVuKCl9XHJcbiAgICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPFNlbGVjdFxyXG4gICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUuc2VsZWN0VmFsdWV9XHJcbiAgICAgICAgICBvblNlYXJjaD17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgIG9uU2VsZWN0PXt0aGlzLm9uU2VsZWN0LmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZT17dGhpcy5vbkRyb3Bkb3duVmlzaWJsZUNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbigpfVxyXG4gICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBSyxJQUFJQyxhQUFhLFFBQVEsT0FBTztBQUU1QyxPQUFPQyxLQUFLLE1BQXNCLGFBQWE7QUFDL0MsU0FBU0MsS0FBSyxRQUFRLHVCQUF1QjtBQUM3QyxPQUFPQyxNQUFNLE1BQU0sY0FBYztBQUNqQyxPQUFPQyxNQUFNLE1BQU0sY0FBYztBQUNqQyxPQUFPQyxHQUFHLE1BQU0sWUFBWTtBQUU1QixPQUFPQyxXQUFXLE1BQU0sY0FBYztBQUN0QyxTQUFTQyxjQUFjLFFBQVEsbUJBQW1CO0FBQ2xELE1BQU07RUFBRUMsTUFBTTtFQUFFQztBQUFTLENBQUMsR0FBQUMsT0FBUztBQWlCbkMsZUFBZSxNQUFNQyxTQUFTLFNBQVNYLGFBQWEsQ0FBZTtFQVdqRVksV0FBV0EsQ0FBQ0MsS0FBSyxFQUFF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
|
|
494
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJTdG9yZSIsInV0aWxzIiwiY29uZmlnIiwic3R5bGVzIiwiY2xzIiwiUGlueWluTWF0Y2giLCJnZXRGbGF0dGVuRGF0YSIsIk9wdGlvbiIsIk9wdEdyb3VwIiwiX1NlbGVjdCIsIk5TQ1NlbGVjdCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkiLCJkYXRhU291cmNlIiwic2VsZWN0VmFsdWUiLCJhbGxEYXRhU291cmNlIiwiY2hpbGRyZW4iLCJhbGxDaGlsZHJlbiIsImRhdGFTdG9yZSIsImRhdGEiLCJzdG9yZSIsImFkZERhdGEiLCJkZWxldGVEYXRhIiwidmFsdWVGaWVsZCIsInZpZXduYW1lIiwiQXJyYXkiLCJpc0FycmF5IiwibmV3RGF0YSIsImxlbmd0aCIsInNwbGljZURhdGEiLCJ2YWx1ZUZpZWxkcyIsInNwbGl0IiwibWFwIiwiaXRlbSIsImkiLCJ2YWx1ZSIsInYiLCJpbmRleCIsImluZGV4T2YiLCJwdXNoIiwib3B0aW9ucyIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJjYWNoZWQiLCJjYWNoZUtleSIsInZpZXd0eXBlIiwic3RvcmVzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwidmlld1VybCIsInZpZXdCaXpVcmwiLCJyZXF1ZXN0Vmlld1VybCIsIkVycm9yIiwiX3RoaXMiLCJzdG9yZVByb3BzIiwiX29iamVjdFNwcmVhZCIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwiZ2V0QWxsRGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJpc0NhY2hlZCIsImlzQ2FjaGVLZXkiLCJhdXRvTG9hZCIsInJlc2V0RGF0YSIsInN0YXRlIiwiZ2V0RGF0YSIsImdldFZhbHVlIiwic2V0VmFsdWUiLCJnZXRTZWxlY3REYXRhIiwia2V5RmllbGQiLCJyZXMiLCJ2YWwiLCJjb21wb25lbnREaWRNb3VudCIsImNvbXBvbmVudERpZFVwZGF0ZSIsIm5ld1Byb3BzIiwibmV3U3RhdGUiLCJTbmFwc2hvdCIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGF0ZUNoaWxkcmVuUHJvcHMiLCJzIiwiY2hpbGRyZW5Qcm9wcyIsImMiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsIm9uU2VhcmNoIiwiZmlsdGVyT3B0aW9uIiwibGFiZWxGaWVsZCIsInJlc3VsdCIsImZvckVhY2giLCJsYWJlbCIsImxhYmVsRmllbGRzIiwibCIsImZsYWciLCJtYXRjaCIsImNoaWxkIiwiX2NoaWxkJHByb3BzIiwicmVuZGVyT3B0aW9uIiwib3B0aW9uRGF0YSIsInZhbHVlVHlwZSIsIk51bWJlciIsImtleSIsImlkIiwiY3JlYXRlRWxlbWVudCIsImRpc2FibGVkIiwicmVuZGVyQ2hpbGRyZW4iLCJzaG93R3JvdXAiLCJncm91cEZpZWxkIiwiRnJhZ21lbnQiLCJvcHRHcm91cERhdGEiLCJvcHRpb24iLCJvcHRHcm91cCIsIk9iamVjdCIsImtleXMiLCJvbkNoYW5nZSIsIm9uU2VsZWN0Iiwib25Ecm9wZG93blZpc2libGVDaGFuZ2UiLCJvcGVuIiwicmVuZGVyIiwiX3RoaXMkcHJvcHMiLCJkZWZhdWx0U3R5bGUiLCJwYXJhbXMiLCJfZXhjbHVkZWQyIiwic2hvd1NlYXJjaCIsIm9wdGlvbkZpbHRlclByb3AiLCJwbGFjZWhvbGRlciIsImFsbG93Q2xlYXIiLCJhbnRkU3R5bGUiLCJtb3VudEVsZW1lbnRJZCIsImdldFBvcHVwQ29udGFpbmVyIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImNsYXNzTmFtZSIsIl9leHRlbmRzIiwiYmluZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2Uvc2VsZWN0L2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBTZWxlY3QsIFNlbGVjdFByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IFN0b3JlLCB7IFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCBjb25maWcgZnJvbSBcIi4uLy4uL2NvbmZpZ1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgUGlueWluTWF0Y2ggZnJvbSBcInBpbnlpbi1tYXRjaFwiO1xyXG5pbXBvcnQgeyBnZXRGbGF0dGVuRGF0YSB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5jb25zdCB7IE9wdGlvbiwgT3B0R3JvdXAgfSA9IFNlbGVjdDtcclxuXHJcbmludGVyZmFjZSBJU2VsZWN0UHJvcHMgZXh0ZW5kcyBTZWxlY3RQcm9wczxhbnk+IHtcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgZGF0YT86IEFycmF5PE9iamVjdD47IC8v6buY6K6k5pWw5o2uXHJcbiAgbGFiZWxGaWVsZD86IHN0cmluZztcclxuICB2YWx1ZUZpZWxkPzogc3RyaW5nO1xyXG4gIGdyb3VwRmllbGQ/OnN0cmluZztcclxuICBkZWZhdWx0U3R5bGU/OiBib29sZWFuO1xyXG4gIHNob3dHcm91cD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65YiG57uEXHJcbiAgYWRkRGF0YT86IEFycmF5PE9iamVjdD47IC8v6YWN5ZCIc3RvcmXkvb/nlKjvvIzku47lop7liqDpop3lpJbnmoTmlbDmja5cclxuICBkZWxldGVEYXRhPzogQXJyYXk8U3RyaW5nPjsgLy/phY3lkIhzdG9yZeS9v+eUqO+8jOWIoOmZpOS7juaVsOaNruW6k+S4reiOt+WPluWIsOeahOaMh+WumuaVsOaNrlxyXG4gIHZhbHVlQnJlYWs/OiBzdHJpbmc7IC8v5aSa5LiqdmFsdWXkvb/nlKjnmoTliIbpmpTnrKZcclxuICB2YWx1ZVR5cGU/OiBcInN0cmluZ1wiIHwgXCJudW1iZXJcIjtcclxuICBbcHJvTmFtZTogc3RyaW5nXTogYW55O1xyXG4gIG9uQ2hhbmdlPzogYW55O1xyXG4gIG9uU2VsZWN0PzogYW55O1xyXG59XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5TQ1NlbGVjdCBleHRlbmRzIFB1cmVDb21wb25lbnQ8SVNlbGVjdFByb3BzPiB7XHJcbiAgc3RhdGljIE9wdGlvbiA9IE9wdGlvbjtcclxuICBzdGF0aWMgT3B0R3JvdXAgPSBPcHRHcm91cDtcclxuICBzdGF0ZSA9IHtcclxuICAgIGRhdGFTb3VyY2U6IFtdLFxyXG4gICAgc2VsZWN0VmFsdWU6IG51bGwsXHJcbiAgICBhbGxEYXRhU291cmNlOiBbXSxcclxuICAgIGNoaWxkcmVuOiBudWxsLFxyXG4gICAgYWxsQ2hpbGRyZW46IG51bGwsXHJcbiAgICBkYXRhU3RvcmU6W11cclxuICB9O1xyXG4gIHN0b3JlID0ge30gYXMgU3RvcmVQcm9wcztcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgbGV0IHtcclxuICAgICAgZGF0YSxcclxuICAgICAgc3RvcmUgPSB7fSxcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGFkZERhdGEgPSBbXSxcclxuICAgICAgZGVsZXRlRGF0YSA9IFtdLFxyXG4gICAgICB2YWx1ZUZpZWxkLFxyXG4gICAgfSA9IHByb3BzO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICB1cmwsXHJcbiAgICAgIGxpc3RlbmVyczogbGlzdGVuZXJzUG9wcyA9IHt9LFxyXG4gICAgICB2aWV3bmFtZSxcclxuICAgICAgY2FjaGVkLFxyXG4gICAgICBjYWNoZUtleSxcclxuICAgICAgdmlld3R5cGUgPSBcInN5c1wiLFxyXG4gICAgICAuLi5zdG9yZXNcclxuICAgIH0gPSBzdG9yZTtcclxuICAgIHZhbHVlRmllbGQgPSB2YWx1ZUZpZWxkID8gdmFsdWVGaWVsZCA6IHZpZXduYW1lID8gXCJkaWN0S2V5XCIgOiBcInZhbHVlXCI7XHJcbiAgICBsZXQgeyB2aWV3VXJsLCB2aWV3Qml6VXJsIH0gPSBjb25maWcoKTtcclxuICAgIGxldCByZXF1ZXN0Vmlld1VybCA9IHZpZXd0eXBlID09IFwic3lzXCIgPyB2aWV3VXJsIDogdmlld0JpelVybDtcclxuXHJcbiAgICBpZiAoIWNoaWxkcmVuKSB7XHJcbiAgICAgIGlmICghKGRhdGEgfHwgdmlld25hbWUgfHwgdXJsIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs44CBdmlld25hbWXjgIFkYXRh44CBb3B0aW9uc+S4jeiDvemDveS4uuepuu+8gVwiKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgICBsZXQgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICBtb2RlbDogXCJtb2RlbFwiLFxyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBsaXN0ZW5lcnM6IHtcclxuICAgICAgICAgIG9uQmVmb3JlTG9hZDogZnVuY3Rpb24gKHN0b3JlLCBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMub25CZWZvcmVMb2FkLCBfdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3RGF0YSA9IF90aGlzLmdldEFsbERhdGEoZGF0YSk7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbmV3RGF0YSwgYWxsRGF0YVNvdXJjZTogbmV3RGF0YSAsZGF0YVN0b3JlOiBkYXRhfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMubG9hZCwgX3RoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSBfdGhpcy5nZXRBbGxEYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG5ld0RhdGEsIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEgLGRhdGFTdG9yZTogZGF0YX0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmRhdGFDaGFuZ2VkLCBfdGhpcywgW1xyXG4gICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIHN0b3JlLFxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5zdG9yZXMsXHJcbiAgICAgIH07XHJcbiAgICAgIGlmICgodmlld25hbWUgfHwgdXJsKSAmJiBkYXRhID09IG51bGwgJiYgb3B0aW9ucyA9PSBudWxsKSB7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVkID0gY2FjaGVkO1xyXG4gICAgICAgIGxldCBpc0NhY2hlS2V5ID0gY2FjaGVLZXk7XHJcbiAgICAgICAgaWYgKHZpZXduYW1lKSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIGNhY2hlZCAhPT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgICAgICAgaXNDYWNoZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBpc0NhY2hlS2V5ID0gaXNDYWNoZUtleSA/IGlzQ2FjaGVLZXkgOiB2aWV3bmFtZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgIGF1dG9Mb2FkOiB0cnVlLFxyXG4gICAgICAgICAgICB1cmw6IHVybCB8fCByZXF1ZXN0Vmlld1VybCArIHZpZXduYW1lLCAvL+ivu+Wtl+WFuO+8jHVybOWbuuWumu+8jHZpZXduYW1lXHJcbiAgICAgICAgICAgIGNhY2hlZDogaXNDYWNoZWQsXHJcbiAgICAgICAgICAgIGNhY2hlS2V5OiBpc0NhY2hlS2V5LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXREYXRhKCkge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgYWxsRGF0YVNvdXJjZSwgYWxsQ2hpbGRyZW4gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNoaWxkcmVuOiBhbGxDaGlsZHJlbiB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGRhdGFTb3VyY2U6IGFsbERhdGFTb3VyY2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGdldEFsbERhdGEgPSAoZGF0YSkgPT4ge1xyXG4gICAgbGV0IHtcclxuICAgICAgc3RvcmUgPSB7fSxcclxuICAgICAgYWRkRGF0YSA9IFtdLFxyXG4gICAgICBkZWxldGVEYXRhID0gW10sXHJcbiAgICAgIHZhbHVlRmllbGQsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHtcclxuICAgICAgdmlld25hbWUsXHJcbiAgICB9ID0gc3RvcmU7XHJcbiAgICB2YWx1ZUZpZWxkID0gdmFsdWVGaWVsZCA/IHZhbHVlRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdEtleVwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGRhdGEpKSB7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICAgIGxldCBuZXdEYXRhID0gWy4uLmRhdGFdO1xyXG4gICAgaWYgKGFkZERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICBuZXdEYXRhID0gWy4uLmFkZERhdGEsIC4uLm5ld0RhdGFdO1xyXG4gICAgfVxyXG4gICAgaWYgKGRlbGV0ZURhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgc3BsaWNlRGF0YSA9IFtdO1xyXG4gICAgICBjb25zdCB2YWx1ZUZpZWxkczogYW55ID0gdmFsdWVGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgIG5ld0RhdGEubWFwKChpdGVtLCBpKSA9PiB7XHJcbiAgICAgICAgbGV0IHZhbHVlID0gXCJcIjtcclxuICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGl0ZW1bdl0gOiB2YWx1ZSArIFwiLFwiICsgaXRlbVt2XTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoZGVsZXRlRGF0YS5pbmRleE9mKHZhbHVlKSA9PSAtMSkge1xyXG4gICAgICAgICAgc3BsaWNlRGF0YS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBzcGxpY2VEYXRhO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIG5ld0RhdGE7XHJcbiAgICB9XHJcbiAgfTtcclxuICBnZXREYXRhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuYWxsRGF0YVNvdXJjZTtcclxuICB9XHJcblxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuc2VsZWN0VmFsdWU7XHJcbiAgfVxyXG4gIHNldFZhbHVlKHZhbHVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0VmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3REYXRhKHZhbHVlKSB7XHJcbiAgICBjb25zdCB7IGRhdGFTb3VyY2UgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgeyBzdG9yZSA9IHt9LCB2YWx1ZUZpZWxkIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyB2aWV3bmFtZSB9ID0gc3RvcmU7XHJcbiAgICB2YWx1ZUZpZWxkID0gdmFsdWVGaWVsZCA/IHZhbHVlRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdEtleVwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgY29uc3QgbmV3RGF0YSA9IGdldEZsYXR0ZW5EYXRhKGRhdGFTb3VyY2UsIHsga2V5RmllbGQ6IHZhbHVlRmllbGQgfSk7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgbGV0IHJlcyA9IFtdIGFzIGFueTtcclxuICAgICAgdmFsdWUubWFwKCh2YWwpID0+IHtcclxuICAgICAgICByZXMucHVzaChuZXdEYXRhW3ZhbF0gfHwge30pO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHJlcztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBuZXdEYXRhW3ZhbHVlXSB8fCB7fTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgY29uc3QgeyBkYXRhLCBvcHRpb25zLCBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghY2hpbGRyZW4gJiYgKGRhdGEgfHwgb3B0aW9ucykpIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZGF0YVNvdXJjZTogZGF0YSA/IGRhdGEgOiBvcHRpb25zLFxyXG4gICAgICAgIGFsbERhdGFTb3VyY2U6IGRhdGEgPyBkYXRhIDogb3B0aW9ucyxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICBhbGxDaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKG5ld1Byb3BzLCBuZXdTdGF0ZSwgU25hcHNob3QpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucywgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGFsbERhdGFTb3VyY2UsIGFsbENoaWxkcmVuLGRhdGFTdG9yZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmICghY2hpbGRyZW4gJiYgKGRhdGEgfHwgb3B0aW9ucykpIHtcclxuICAgICAgY29uc3QgbmV3RGF0YSA9IGRhdGEgPyBkYXRhIDogb3B0aW9ucztcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGFsbERhdGFTb3VyY2UpICE9PSBKU09OLnN0cmluZ2lmeShuZXdEYXRhKSkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogbmV3RGF0YSxcclxuICAgICAgICAgIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4gJiYgQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcclxuICAgICAgY29uc3Qgc3RhdGVDaGlsZHJlblByb3BzOiBhbnkgPSBbXTtcclxuICAgICAgYWxsQ2hpbGRyZW4ubWFwKChzOiBhbnkpID0+IHtcclxuICAgICAgICBzdGF0ZUNoaWxkcmVuUHJvcHMucHVzaChzLnByb3BzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGNvbnN0IGNoaWxkcmVuUHJvcHM6IGFueSA9IFtdO1xyXG4gICAgICBjaGlsZHJlbi5tYXAoKGM6IGFueSkgPT4ge1xyXG4gICAgICAgIGNoaWxkcmVuUHJvcHMucHVzaChjLnByb3BzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBKU09OLnN0cmluZ2lmeShzdGF0ZUNoaWxkcmVuUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShjaGlsZHJlblByb3BzKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICAgIGFsbENoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICgoSlNPTi5zdHJpbmdpZnkobmV3UHJvcHMuZGVsZXRlRGF0YSkgIT09IEpTT04uc3RyaW5naWZ5KHRoaXMucHJvcHMuZGVsZXRlRGF0YSkpIHx8IChKU09OLnN0cmluZ2lmeShuZXdQcm9wcy5hZGREYXRhKSAhPT0gSlNPTi5zdHJpbmdpZnkodGhpcy5wcm9wcy5hZGREYXRhKSkpIHtcclxuICAgICAgY29uc3QgbmV3RGF0YSA9IHRoaXMuZ2V0QWxsRGF0YShkYXRhU3RvcmUpO1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbmV3RGF0YSwgYWxsRGF0YVNvdXJjZTogbmV3RGF0YSxkYXRhU3RvcmU6IGRhdGFTdG9yZX0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUgPSAoc3RhdGUsIGNhbGxiYWNrKSA9PiB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH07XHJcbiAgfVxyXG4gIG9uU2VhcmNoKHZhbHVlKSB7XHJcbiAgICBjb25zdCB7IGFsbERhdGFTb3VyY2UsIGFsbENoaWxkcmVuIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgeyBmaWx0ZXJPcHRpb24gPSB0cnVlLCBvblNlYXJjaCwgY2hpbGRyZW4sIHN0b3JlID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgeyBsYWJlbEZpZWxkIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyB2aWV3bmFtZSB9ID0gc3RvcmU7XHJcbiAgICBsYWJlbEZpZWxkID0gbGFiZWxGaWVsZCA/IGxhYmVsRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdFZhbHVlXCIgOiBcImxhYmVsXCI7XHJcbiAgICBpZiAoZmlsdGVyT3B0aW9uKSB7XHJcbiAgICAgIGxldCByZXN1bHQgPSBbXTtcclxuICAgICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgYWxsRGF0YVNvdXJjZS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgICAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgICAgIGxhYmVsID0gaXRlbVtsYWJlbEZpZWxkXTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBpdGVtW2xdIDogbGFiZWwgKyBcIi1cIiArIGl0ZW1bbF07XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGZsYWcgPSBQaW55aW5NYXRjaC5tYXRjaChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBkYXRhU291cmNlOiByZXN1bHQsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IGFsbERhdGFTb3VyY2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhbGxDaGlsZHJlbikpIHtcclxuICAgICAgICAgICAgYWxsQ2hpbGRyZW4ubWFwKChjaGlsZDogYW55LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgIGxldCBsYWJlbCA9IGNoaWxkPy5wcm9wcz8uY2hpbGRyZW47XHJcbiAgICAgICAgICAgICAgbGV0IGZsYWcgPSBQaW55aW5NYXRjaC5tYXRjaChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICAgICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGlsZHJlbjogcmVzdWx0LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIG9uU2VhcmNoICYmIG9uU2VhcmNoKHZhbHVlKTtcclxuICB9XHJcbiAgcmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpIHtcclxuICAgIGxldCB7XHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIHZhbHVlVHlwZSA9IFwic3RyaW5nXCIsXHJcbiAgICAgIGxhYmVsRmllbGQsXHJcbiAgICAgIHZhbHVlRmllbGQsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgdmlld25hbWUgfSA9IHN0b3JlO1xyXG4gICAgdmFsdWVGaWVsZCA9IHZhbHVlRmllbGQgPyB2YWx1ZUZpZWxkIDogdmlld25hbWUgPyBcImRpY3RLZXlcIiA6IFwidmFsdWVcIjtcclxuICAgIGxhYmVsRmllbGQgPSBsYWJlbEZpZWxkID8gbGFiZWxGaWVsZCA6IHZpZXduYW1lID8gXCJkaWN0VmFsdWVcIiA6IFwibGFiZWxcIjtcclxuICAgIHJldHVybiBvcHRpb25EYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBsZXQgdmFsdWU6IGFueTtcclxuICAgICAgaWYgKHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgdmFsdWUgPVxyXG4gICAgICAgICAgdmFsdWVUeXBlID09PSBcIm51bWJlclwiID8gTnVtYmVyKGl0ZW1bdmFsdWVGaWVsZF0pIDogaXRlbVt2YWx1ZUZpZWxkXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCB2YWx1ZUZpZWxkczogYW55ID0gdmFsdWVGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgdmFsdWUgPSBcIlwiO1xyXG4gICAgICAgIHZhbHVlRmllbGRzLm1hcCgodiwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIHZhbHVlID0gaW5kZXggPT0gMCA/IHZhbHVlICsgaXRlbVt2XSA6IHZhbHVlICsgXCIsXCIgKyBpdGVtW3ZdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBrZXkgPSBpdGVtLmlkID8gKGl0ZW0uaWQgIT09IFwidW5kZWZpbmVkXCIgPyBpdGVtLmlkIDogdmFsdWUpIDogdmFsdWU7XHJcbiAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgIGxhYmVsID0gaXRlbVtsYWJlbEZpZWxkXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBpdGVtW2xdIDogbGFiZWwgKyBcIi1cIiArIGl0ZW1bbF07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8T3B0aW9uXHJcbiAgICAgICAgICBrZXk9e2tleX1cclxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cclxuICAgICAgICAgIGxhYmVsPXtsYWJlbH1cclxuICAgICAgICAgIGRpc2FibGVkPXtpdGVtLmRpc2FibGVkID8gdHJ1ZSA6IGZhbHNlfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHtsYWJlbH1cclxuICAgICAgICA8L09wdGlvbj5cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXJDaGlsZHJlbigpIHtcclxuICAgIGNvbnN0IHsgc2hvd0dyb3VwID0gdHJ1ZSxncm91cEZpZWxkPSdncm91cE5hbWUnIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBkYXRhU291cmNlLCBjaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChjaGlsZHJlbikge1xyXG4gICAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IG9wdEdyb3VwRGF0YSA9IHt9LFxyXG4gICAgICAgIG9wdGlvbkRhdGEgPSBbXTtcclxuICAgICAgZGF0YVNvdXJjZS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgbGV0IGxhYmVsID0gaXRlbVtncm91cEZpZWxkXTtcclxuICAgICAgICBpZiAobGFiZWwgJiYgc2hvd0dyb3VwKSB7XHJcbiAgICAgICAgICBpZiAoIW9wdEdyb3VwRGF0YVtsYWJlbF0pIG9wdEdyb3VwRGF0YVtsYWJlbF0gPSBbXTtcclxuICAgICAgICAgIG9wdEdyb3VwRGF0YVtsYWJlbF0ucHVzaChpdGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb3B0aW9uRGF0YS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIGxldCBvcHRpb24gPSB0aGlzLnJlbmRlck9wdGlvbihvcHRpb25EYXRhKTtcclxuICAgICAgbGV0IG9wdEdyb3VwID0gT2JqZWN0LmtleXMob3B0R3JvdXBEYXRhKS5tYXAoKGtleSkgPT4ge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8T3B0R3JvdXAga2V5PXtrZXl9IGxhYmVsPXtrZXl9PlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJPcHRpb24ob3B0R3JvdXBEYXRhW2tleV0pfVxyXG4gICAgICAgICAgPC9PcHRHcm91cD5cclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8PlxyXG4gICAgICAgICAge29wdGlvbn1cclxuICAgICAgICAgIHtvcHRHcm91cH1cclxuICAgICAgICA8Lz5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgb25DaGFuZ2UodmFsdWUsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0VmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgICBpZiAob25DaGFuZ2UpIHtcclxuICAgICAgY29uc3QgZGF0YSA9IHRoaXMuZ2V0U2VsZWN0RGF0YSh2YWx1ZSk7XHJcbiAgICAgIG9uQ2hhbmdlKHZhbHVlLCBvcHRpb25zLCBkYXRhKTtcclxuICAgIH1cclxuICB9XHJcbiAgb25TZWxlY3QodmFsdWUsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IHsgb25TZWxlY3QgfSA9IHRoaXMucHJvcHM7XHJcblxyXG4gICAgaWYgKG9uU2VsZWN0KSB7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmdldFNlbGVjdERhdGEodmFsdWUpO1xyXG4gICAgICBvblNlbGVjdCh2YWx1ZSwgb3B0aW9ucywgZGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlKG9wZW4pIHtcclxuICAgIGlmICghb3Blbikge1xyXG4gICAgICB0aGlzLnJlc2V0RGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBzdG9yZSxcclxuICAgICAgZGF0YSxcclxuICAgICAgb25DaGFuZ2UsXHJcbiAgICAgIG9uU2VsZWN0LFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgICBsYWJlbEZpZWxkLFxyXG4gICAgICB2YWx1ZUZpZWxkLFxyXG4gICAgICBkZWZhdWx0U3R5bGUsXHJcbiAgICAgIHNob3dHcm91cCA9IHRydWUsXHJcbiAgICAgIGFkZERhdGEsXHJcbiAgICAgIGRlbGV0ZURhdGEsXHJcbiAgICAgIHZhbHVlVHlwZSxcclxuICAgICAgZ3JvdXBGaWVsZCxcclxuICAgICAgLi4ucGFyYW1zXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGxldCBwcm9wcyA9IHtcclxuICAgICAgZmlsdGVyT3B0aW9uOiBmYWxzZSxcclxuICAgICAgc2hvd1NlYXJjaDogdHJ1ZSxcclxuICAgICAgb3B0aW9uRmlsdGVyUHJvcDogXCJsYWJlbFwiLFxyXG4gICAgICBwbGFjZWhvbGRlcjogXCLor7fpgInmi6lcIixcclxuICAgICAgYWxsb3dDbGVhcjogdHJ1ZSxcclxuICAgIH0gYXMgYW55O1xyXG4gICAgbGV0IHsgYW50ZFN0eWxlLCBtb3VudEVsZW1lbnRJZCB9ID0gY29uZmlnKCk7XHJcbiAgICBpZiAobW91bnRFbGVtZW50SWQpIHtcclxuICAgICAgcHJvcHMgPSB7XHJcbiAgICAgICAgZ2V0UG9wdXBDb250YWluZXI6ICgpID0+IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG1vdW50RWxlbWVudElkKSxcclxuICAgICAgICAuLi5wcm9wcyxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIGlmICgoZGVmYXVsdFN0eWxlIHx8IGFudGRTdHlsZSkgJiYgZGVmYXVsdFN0eWxlID09PSB0cnVlKSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NscyhzdHlsZXNbXCJuc2Nfc2VsZWN0XCJdLCB0aGlzLnByb3BzLmNsYXNzTmFtZSl9PlxyXG4gICAgICAgICAgPFNlbGVjdFxyXG4gICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZX1cclxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgb25TZWFyY2g9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgb25TZWxlY3Q9e3RoaXMub25TZWxlY3QuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgb25Ecm9wZG93blZpc2libGVDaGFuZ2U9e3RoaXMub25Ecm9wZG93blZpc2libGVDaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbigpfVxyXG4gICAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxTZWxlY3RcclxuICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnNlbGVjdFZhbHVlfVxyXG4gICAgICAgICAgb25TZWFyY2g9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBvblNlbGVjdD17dGhpcy5vblNlbGVjdC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgb25Ecm9wZG93blZpc2libGVDaGFuZ2U9e3RoaXMub25Ecm9wZG93blZpc2libGVDaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3RoaXMucmVuZGVyQ2hpbGRyZW4oKX1cclxuICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQUssSUFBSUMsYUFBYSxRQUFRLE9BQU87QUFFNUMsT0FBT0MsS0FBSyxNQUFzQixhQUFhO0FBQy9DLFNBQVNDLEtBQUssUUFBUSx1QkFBdUI7QUFDN0MsT0FBT0MsTUFBTSxNQUFNLGNBQWM7QUFDakMsT0FBT0MsTUFBTSxNQUFNLGNBQWM7QUFDakMsT0FBT0MsR0FBRyxNQUFNLFlBQVk7QUFFNUIsT0FBT0MsV0FBVyxNQUFNLGNBQWM7QUFDdEMsU0FBU0MsY0FBYyxRQUFRLG1CQUFtQjtBQUNsRCxNQUFNO0VBQUVDLE1BQU07RUFBRUM7QUFBUyxDQUFDLEdBQUFDLE9BQVM7QUFrQm5DLGVBQWUsTUFBTUMsU0FBUyxTQUFTWCxhQUFhLENBQWU7RUFZakVZLFdBQVdBLENBQUNDLEtBQUssRUFBRTtJQUNqQixLQUFLLENBQUNBLEtBQUssQ0FBQztJQUFDQyxlQUFBLGdCQVZQO01BQ05DLFVBQVUsRUFBRSxFQUFFO01BQ2RDLFdBQVcsRUFBRSxJQUFJO01BQ2pCQyxhQUFhLEVBQUUsRUFBRTtNQUNqQkMsUUFBUSxFQUFFLElBQUk7TUFDZEMsV0FBVyxFQUFFLElBQUk7TUFDakJDLFNBQVMsRUFBQztJQUNaLENBQUM7SUFBQU4sZUFBQSxnQkFDTyxD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PureComponent","Store","utils","config","styles","cls","PinyinMatch","getFlattenData","Option","OptGroup","_Select","NSCSelect","constructor","props","_defineProperty","dataSource","selectValue","allDataSource","children","allChildren","data","store","options","addData","deleteData","valueField","url","listeners","listenersPops","viewname","cached","cacheKey","viewtype","stores","_objectWithoutProperties","_excluded","viewUrl","viewBizUrl","requestViewUrl","getAllData","Array","isArray","newData","length","spliceData","valueFields","split","map","item","i","value","v","index","indexOf","push","Error","_this","storeProps","_objectSpread","model","component","onBeforeLoad","callback","load","modelData","setState","dataChanged","isCached","isCacheKey","autoLoad","resetData","state","getData","getValue","setValue","getSelectData","keyField","res","val","componentDidMount","componentDidUpdate","newProps","newState","Snapshot","JSON","stringify","stateChildrenProps","s","childrenProps","c","componentWillUnmount","onSearch","filterOption","labelField","result","forEach","label","labelFields","l","flag","match","child","_child$props","renderOption","optionData","valueType","Number","key","id","createElement","disabled","renderChildren","showGroup","Fragment","optGroupData","groupName","option","optGroup","Object","keys","onChange","onSelect","onDropdownVisibleChange","open","render","_this$props","defaultStyle","params","_excluded2","showSearch","optionFilterProp","placeholder","allowClear","antdStyle","mountElementId","getPopupContainer","document","getElementById","className","_extends","bind"],"sources":["../../../src/components/base/select/index.tsx"],"sourcesContent":["import React, { PureComponent } from \"react\";\r\nimport { Select, SelectProps } from \"antd\";\r\nimport Store, { StoreProps } from \"@bj-nsc/msn\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport config from \"../../config\";\r\nimport styles from \"./index.less\";\r\nimport cls from \"classnames\";\r\nimport omit from \"omit.js\";\r\nimport PinyinMatch from \"pinyin-match\";\r\nimport { getFlattenData } from \"@bj-nsc/functions\";\r\nconst { Option, OptGroup } = Select;\r\n\r\ninterface ISelectProps extends SelectProps<any> {\r\n store?: StoreProps;\r\n data?: Array<Object>; //默认数据\r\n labelField?: string;\r\n valueField?: string;\r\n defaultStyle?: boolean;\r\n showGroup?: boolean; //是否显示分组\r\n addData?: Array<Object>; //配合store使用,从增加额外的数据\r\n deleteData?: Array<String>; //配合store使用,删除从数据库中获取到的指定数据\r\n valueBreak?: string; //多个value使用的分隔符\r\n valueType?: \"string\" | \"number\";\r\n [proName: string]: any;\r\n onChange?: any;\r\n onSelect?: any;\r\n}\r\nexport default class NSCSelect extends PureComponent<ISelectProps> {\r\n static Option = Option;\r\n static OptGroup = OptGroup;\r\n state = {\r\n dataSource: [],\r\n selectValue: null,\r\n allDataSource: [],\r\n children: null,\r\n allChildren: null,\r\n };\r\n store = {} as StoreProps;\r\n constructor(props) {\r\n super(props);\r\n let {\r\n data,\r\n store = {},\r\n children,\r\n options,\r\n addData = [],\r\n deleteData = [],\r\n valueField\r\n } = props;\r\n const {\r\n url,\r\n listeners: listenersPops = {},\r\n viewname,\r\n cached,\r\n cacheKey,\r\n viewtype = \"sys\",\r\n ...stores\r\n } = store;\r\n valueField = valueField?valueField: viewname ? \"dictKey\" : \"value\";\r\n let { viewUrl, viewBizUrl } = config();\r\n let requestViewUrl = viewtype == \"sys\" ? viewUrl : viewBizUrl;\r\n const getAllData = (data) => {\r\n if (!Array.isArray(data)) {\r\n return [];\r\n }\r\n let newData = [...data];\r\n if (addData.length > 0) {\r\n newData = [...addData, ...newData];\r\n }\r\n if (deleteData.length > 0) {\r\n let spliceData = [];\r\n const valueFields: any = valueField.split(\",\");\r\n newData.map((item, i) => {\r\n let value = \"\";\r\n valueFields.map((v, index) => {\r\n value = index == 0 ? value + item[v] : value + \",\" + item[v];\r\n });\r\n if (deleteData.indexOf(value) == -1) {\r\n spliceData.push(item);\r\n }\r\n });\r\n return spliceData;\r\n } else {\r\n return newData;\r\n }\r\n };\r\n if (!children) {\r\n if (!(data || viewname || url || options)) {\r\n throw new Error(\"url、viewname、data、options不能都为空!\");\r\n }\r\n let _this = this;\r\n let storeProps = {\r\n model: \"model\",\r\n component: this,\r\n listeners: {\r\n onBeforeLoad: function (store, options) {\r\n utils.callback(listenersPops.onBeforeLoad, _this, [store, options]);\r\n },\r\n load: function (data, modelData, store) {\r\n const newData = getAllData(data);\r\n _this.setState({ dataSource: newData, allDataSource: newData });\r\n utils.callback(listenersPops.load, _this, [data, modelData, store]);\r\n },\r\n dataChanged: function (data, modelData, store) {\r\n const newData = getAllData(data);\r\n _this.setState({ dataSource: newData, allDataSource: newData });\r\n utils.callback(listenersPops.dataChanged, _this, [\r\n data,\r\n modelData,\r\n store,\r\n ]);\r\n },\r\n },\r\n ...stores,\r\n };\r\n if ((viewname || url) && data == null && options == null) {\r\n let isCached = cached;\r\n let isCacheKey = cacheKey;\r\n if (viewname) {\r\n if (typeof cached !== \"boolean\") {\r\n isCached = true;\r\n isCacheKey = isCacheKey ? isCacheKey : viewname;\r\n }\r\n }\r\n\r\n storeProps = {\r\n ...{\r\n autoLoad: true,\r\n url: url || requestViewUrl + viewname, //读字典,url固定,viewname\r\n cached: isCached,\r\n cacheKey: isCacheKey,\r\n },\r\n ...storeProps,\r\n };\r\n }\r\n this.store = new Store(storeProps);\r\n }\r\n }\r\n\r\n resetData() {\r\n const { children } = this.props;\r\n const { allDataSource, allChildren } = this.state;\r\n if (children) {\r\n this.setState({ children: allChildren });\r\n } else {\r\n this.setState({\r\n dataSource: allDataSource,\r\n });\r\n }\r\n }\r\n\r\n getData() {\r\n return this.state.allDataSource;\r\n }\r\n\r\n getValue() {\r\n return this.state.selectValue;\r\n }\r\n setValue(value) {\r\n this.setState({\r\n selectValue: value,\r\n });\r\n }\r\n\r\n getSelectData(value) {\r\n const { dataSource } = this.state;\r\n let { store = {}, valueField } = this.props;\r\n const { viewname } = store;\r\n valueField = valueField ? valueField : viewname ? \"dictKey\" : \"value\";\r\n const newData = getFlattenData(dataSource, { keyField: valueField });\r\n if (Array.isArray(value)) {\r\n let res = [] as any;\r\n value.map((val) => {\r\n res.push(newData[val] || {});\r\n });\r\n return res;\r\n } else {\r\n return newData[value] || {};\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n const { data, options, children } = this.props;\r\n if (!children && (data || options)) {\r\n this.setState({\r\n dataSource: data ? data : options,\r\n allDataSource: data ? data : options,\r\n });\r\n } else if (children) {\r\n this.setState({\r\n children: children,\r\n allChildren: children,\r\n });\r\n }\r\n }\r\n componentDidUpdate(newProps, newState, Snapshot) {\r\n const { data, options, children } = this.props;\r\n const { allDataSource, allChildren } = this.state;\r\n if (!children && (data || options)) {\r\n const newData = data ? data : options;\r\n if (JSON.stringify(allDataSource) !== JSON.stringify(newData)) {\r\n this.setState({\r\n dataSource: newData,\r\n allDataSource: newData,\r\n });\r\n }\r\n } else if (children && Array.isArray(children)) {\r\n const stateChildrenProps: any = [];\r\n allChildren.map((s: any) => {\r\n stateChildrenProps.push(s.props);\r\n });\r\n const childrenProps: any = [];\r\n children.map((c: any) => {\r\n childrenProps.push(c.props);\r\n });\r\n if (\r\n JSON.stringify(stateChildrenProps) !== JSON.stringify(childrenProps)\r\n ) {\r\n this.setState({\r\n children: children,\r\n allChildren: children,\r\n });\r\n }\r\n }\r\n }\r\n componentWillUnmount() {\r\n this.setState = (state, callback) => {\r\n return;\r\n };\r\n }\r\n onSearch(value) {\r\n const { allDataSource, allChildren } = this.state;\r\n const { filterOption = true, onSearch, children, store = {} } = this.props;\r\n let { labelField } = this.props;\r\n const { viewname } = store;\r\n labelField = labelField ? labelField : viewname ? \"dictValue\" : \"label\";\r\n if (filterOption) {\r\n let result = [];\r\n if (!children) {\r\n if (value) {\r\n allDataSource.forEach((item) => {\r\n let label = \"\";\r\n if (labelField.split(\",\").length == 1) {\r\n label = item[labelField];\r\n } else {\r\n const labelFields: any = labelField.split(\",\");\r\n labelFields.map((l, index) => {\r\n label = index == 0 ? label + item[l] : label + \"-\" + item[l];\r\n });\r\n }\r\n let flag = PinyinMatch.match(label, value);\r\n if (flag) {\r\n result.push(item);\r\n }\r\n });\r\n this.setState({\r\n dataSource: result,\r\n });\r\n } else {\r\n this.setState({\r\n dataSource: allDataSource,\r\n });\r\n }\r\n } else {\r\n if (value) {\r\n if (Array.isArray(allChildren)) {\r\n allChildren.map((child: any, index) => {\r\n let label = child?.props?.children;\r\n let flag = PinyinMatch.match(label, value);\r\n if (flag) {\r\n result.push(child);\r\n }\r\n });\r\n }\r\n this.setState({\r\n children: result,\r\n });\r\n } else {\r\n this.setState({\r\n children: children,\r\n });\r\n }\r\n }\r\n }\r\n onSearch && onSearch(value);\r\n }\r\n renderOption(optionData) {\r\n let {\r\n store = {},\r\n valueType = \"string\",\r\n labelField,\r\n valueField,\r\n } = this.props;\r\n const { viewname } = store;\r\n valueField = valueField ? valueField : viewname ? \"dictKey\" : \"value\";\r\n labelField = labelField ? labelField : viewname ? \"dictValue\" : \"label\";\r\n return optionData.map((item) => {\r\n let value: any;\r\n if (valueField.split(\",\").length == 1) {\r\n value =\r\n valueType === \"number\" ? Number(item[valueField]) : item[valueField];\r\n } else {\r\n const valueFields: any = valueField.split(\",\");\r\n value = \"\";\r\n valueFields.map((v, index) => {\r\n value = index == 0 ? value + item[v] : value + \",\" + item[v];\r\n });\r\n }\r\n let key = item.id ? (item.id !== \"undefined\" ? item.id : value) : value;\r\n let label = \"\";\r\n if (labelField.split(\",\").length == 1) {\r\n label = item[labelField];\r\n } else {\r\n const labelFields: any = labelField.split(\",\");\r\n labelFields.map((l, index) => {\r\n label = index == 0 ? label + item[l] : label + \"-\" + item[l];\r\n });\r\n }\r\n return (\r\n <Option\r\n key={key}\r\n value={value}\r\n label={label}\r\n disabled={item.disabled ? true : false}\r\n >\r\n {label}\r\n </Option>\r\n );\r\n });\r\n }\r\n renderChildren() {\r\n const { showGroup = true } = this.props;\r\n const { dataSource, children } = this.state;\r\n if (children) {\r\n return <>{children}</>;\r\n } else {\r\n let optGroupData = {},\r\n optionData = [];\r\n dataSource.forEach((item) => {\r\n let label = item.groupName;\r\n if (label && showGroup) {\r\n if (!optGroupData[label]) optGroupData[label] = [];\r\n optGroupData[label].push(item);\r\n } else {\r\n optionData.push(item);\r\n }\r\n });\r\n let option = this.renderOption(optionData);\r\n let optGroup = Object.keys(optGroupData).map((key) => {\r\n return (\r\n <OptGroup key={key} label={key}>\r\n {this.renderOption(optGroupData[key])}\r\n </OptGroup>\r\n );\r\n });\r\n return (\r\n <>\r\n {option}\r\n {optGroup}\r\n </>\r\n );\r\n }\r\n }\r\n onChange(value, options) {\r\n const { onChange } = this.props;\r\n this.setState({\r\n selectValue: value,\r\n });\r\n if (onChange) {\r\n const data = this.getSelectData(value);\r\n onChange(value, options, data);\r\n }\r\n }\r\n onSelect(value, options) {\r\n const { onSelect } = this.props;\r\n\r\n if (onSelect) {\r\n const data = this.getSelectData(value);\r\n onSelect(value, options, data);\r\n }\r\n }\r\n onDropdownVisibleChange(open) {\r\n if (!open) {\r\n this.resetData();\r\n }\r\n }\r\n render() {\r\n const {\r\n children,\r\n store,\r\n data,\r\n onChange,\r\n onSelect,\r\n options,\r\n labelField,\r\n valueField,\r\n defaultStyle,\r\n showGroup = true,\r\n addData,\r\n deleteData,\r\n valueType,\r\n ...params\r\n } = this.props;\r\n let props = {\r\n filterOption: false,\r\n showSearch: true,\r\n optionFilterProp: \"label\",\r\n placeholder: \"请选择\",\r\n allowClear: true,\r\n } as any;\r\n let { antdStyle, mountElementId } = config();\r\n if (mountElementId) {\r\n props = {\r\n getPopupContainer: () => document.getElementById(mountElementId),\r\n ...props,\r\n };\r\n }\r\n if ((defaultStyle || antdStyle) && defaultStyle === true) {\r\n return (\r\n <div className={cls(styles[\"nsc_select\"], this.props.className)}>\r\n <Select\r\n value={this.state.selectValue}\r\n onChange={this.onChange.bind(this)}\r\n onSearch={this.onSearch.bind(this)}\r\n onSelect={this.onSelect.bind(this)}\r\n onDropdownVisibleChange={this.onDropdownVisibleChange.bind(this)}\r\n {...props}\r\n {...params}\r\n >\r\n {this.renderChildren()}\r\n </Select>\r\n </div>\r\n );\r\n } else {\r\n return (\r\n <Select\r\n value={this.state.selectValue}\r\n onSearch={this.onSearch.bind(this)}\r\n onChange={this.onChange.bind(this)}\r\n onSelect={this.onSelect.bind(this)}\r\n onDropdownVisibleChange={this.onDropdownVisibleChange.bind(this)}\r\n {...props}\r\n {...params}\r\n >\r\n {this.renderChildren()}\r\n </Select>\r\n );\r\n }\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PureComponent","Store","utils","config","styles","cls","PinyinMatch","getFlattenData","Option","OptGroup","_Select","NSCSelect","constructor","props","_defineProperty","dataSource","selectValue","allDataSource","children","allChildren","dataStore","data","store","addData","deleteData","valueField","viewname","Array","isArray","newData","length","spliceData","valueFields","split","map","item","i","value","v","index","indexOf","push","options","url","listeners","listenersPops","cached","cacheKey","viewtype","stores","_objectWithoutProperties","_excluded","viewUrl","viewBizUrl","requestViewUrl","Error","_this","storeProps","_objectSpread","model","component","onBeforeLoad","callback","load","modelData","getAllData","setState","dataChanged","isCached","isCacheKey","autoLoad","resetData","state","getData","getValue","setValue","getSelectData","keyField","res","val","componentDidMount","componentDidUpdate","newProps","newState","Snapshot","JSON","stringify","stateChildrenProps","s","childrenProps","c","componentWillUnmount","onSearch","filterOption","labelField","result","forEach","label","labelFields","l","flag","match","child","_child$props","renderOption","optionData","valueType","Number","key","id","createElement","disabled","renderChildren","showGroup","groupField","Fragment","optGroupData","option","optGroup","Object","keys","onChange","onSelect","onDropdownVisibleChange","open","render","_this$props","defaultStyle","params","_excluded2","showSearch","optionFilterProp","placeholder","allowClear","antdStyle","mountElementId","getPopupContainer","document","getElementById","className","_extends","bind"],"sources":["../../../src/components/base/select/index.tsx"],"sourcesContent":["import React, { PureComponent } from \"react\";\r\nimport { Select, SelectProps } from \"antd\";\r\nimport Store, { StoreProps } from \"@bj-nsc/msn\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport config from \"../../config\";\r\nimport styles from \"./index.less\";\r\nimport cls from \"classnames\";\r\nimport omit from \"omit.js\";\r\nimport PinyinMatch from \"pinyin-match\";\r\nimport { getFlattenData } from \"@bj-nsc/functions\";\r\nconst { Option, OptGroup } = Select;\r\n\r\ninterface ISelectProps extends SelectProps<any> {\r\n store?: StoreProps;\r\n data?: Array<Object>; //默认数据\r\n labelField?: string;\r\n valueField?: string;\r\n groupField?:string;\r\n defaultStyle?: boolean;\r\n showGroup?: boolean; //是否显示分组\r\n addData?: Array<Object>; //配合store使用,从增加额外的数据\r\n deleteData?: Array<String>; //配合store使用,删除从数据库中获取到的指定数据\r\n valueBreak?: string; //多个value使用的分隔符\r\n valueType?: \"string\" | \"number\";\r\n [proName: string]: any;\r\n onChange?: any;\r\n onSelect?: any;\r\n}\r\nexport default class NSCSelect extends PureComponent<ISelectProps> {\r\n static Option = Option;\r\n static OptGroup = OptGroup;\r\n state = {\r\n dataSource: [],\r\n selectValue: null,\r\n allDataSource: [],\r\n children: null,\r\n allChildren: null,\r\n dataStore:[]\r\n };\r\n store = {} as StoreProps;\r\n constructor(props) {\r\n super(props);\r\n let {\r\n data,\r\n store = {},\r\n children,\r\n options,\r\n addData = [],\r\n deleteData = [],\r\n valueField,\r\n } = props;\r\n const {\r\n url,\r\n listeners: listenersPops = {},\r\n viewname,\r\n cached,\r\n cacheKey,\r\n viewtype = \"sys\",\r\n ...stores\r\n } = store;\r\n valueField = valueField ? valueField : viewname ? \"dictKey\" : \"value\";\r\n let { viewUrl, viewBizUrl } = config();\r\n let requestViewUrl = viewtype == \"sys\" ? viewUrl : viewBizUrl;\r\n\r\n if (!children) {\r\n if (!(data || viewname || url || options)) {\r\n throw new Error(\"url、viewname、data、options不能都为空!\");\r\n }\r\n let _this = this;\r\n let storeProps = {\r\n model: \"model\",\r\n component: this,\r\n listeners: {\r\n onBeforeLoad: function (store, options) {\r\n utils.callback(listenersPops.onBeforeLoad, _this, [store, options]);\r\n },\r\n load: function (data, modelData, store) {\r\n const newData = _this.getAllData(data);\r\n _this.setState({ dataSource: newData, allDataSource: newData ,dataStore: data});\r\n utils.callback(listenersPops.load, _this, [data, modelData, store]);\r\n },\r\n dataChanged: function (data, modelData, store) {\r\n const newData = _this.getAllData(data);\r\n _this.setState({ dataSource: newData, allDataSource: newData ,dataStore: data});\r\n utils.callback(listenersPops.dataChanged, _this, [\r\n data,\r\n modelData,\r\n store,\r\n ]);\r\n },\r\n },\r\n ...stores,\r\n };\r\n if ((viewname || url) && data == null && options == null) {\r\n let isCached = cached;\r\n let isCacheKey = cacheKey;\r\n if (viewname) {\r\n if (typeof cached !== \"boolean\") {\r\n isCached = true;\r\n isCacheKey = isCacheKey ? isCacheKey : viewname;\r\n }\r\n }\r\n\r\n storeProps = {\r\n ...{\r\n autoLoad: true,\r\n url: url || requestViewUrl + viewname, //读字典,url固定,viewname\r\n cached: isCached,\r\n cacheKey: isCacheKey,\r\n },\r\n ...storeProps,\r\n };\r\n }\r\n this.store = new Store(storeProps);\r\n }\r\n }\r\n\r\n resetData() {\r\n const { children } = this.props;\r\n const { allDataSource, allChildren } = this.state;\r\n if (children) {\r\n this.setState({ children: allChildren });\r\n } else {\r\n this.setState({\r\n dataSource: allDataSource,\r\n });\r\n }\r\n }\r\n\r\n\r\n getAllData = (data) => {\r\n let {\r\n store = {},\r\n addData = [],\r\n deleteData = [],\r\n valueField,\r\n } = this.props;\r\n const {\r\n viewname,\r\n } = store;\r\n valueField = valueField ? valueField : viewname ? \"dictKey\" : \"value\";\r\n if (!Array.isArray(data)) {\r\n return [];\r\n }\r\n let newData = [...data];\r\n if (addData.length > 0) {\r\n newData = [...addData, ...newData];\r\n }\r\n if (deleteData.length > 0) {\r\n let spliceData = [];\r\n const valueFields: any = valueField.split(\",\");\r\n newData.map((item, i) => {\r\n let value = \"\";\r\n valueFields.map((v, index) => {\r\n value = index == 0 ? value + item[v] : value + \",\" + item[v];\r\n });\r\n if (deleteData.indexOf(value) == -1) {\r\n spliceData.push(item);\r\n }\r\n });\r\n return spliceData;\r\n } else {\r\n return newData;\r\n }\r\n };\r\n getData() {\r\n return this.state.allDataSource;\r\n }\r\n\r\n getValue() {\r\n return this.state.selectValue;\r\n }\r\n setValue(value) {\r\n this.setState({\r\n selectValue: value,\r\n });\r\n }\r\n\r\n getSelectData(value) {\r\n const { dataSource } = this.state;\r\n let { store = {}, valueField } = this.props;\r\n const { viewname } = store;\r\n valueField = valueField ? valueField : viewname ? \"dictKey\" : \"value\";\r\n const newData = getFlattenData(dataSource, { keyField: valueField });\r\n if (Array.isArray(value)) {\r\n let res = [] as any;\r\n value.map((val) => {\r\n res.push(newData[val] || {});\r\n });\r\n return res;\r\n } else {\r\n return newData[value] || {};\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n const { data, options, children } = this.props;\r\n if (!children && (data || options)) {\r\n this.setState({\r\n dataSource: data ? data : options,\r\n allDataSource: data ? data : options,\r\n });\r\n } else if (children) {\r\n this.setState({\r\n children: children,\r\n allChildren: children,\r\n });\r\n }\r\n }\r\n\r\n componentDidUpdate(newProps, newState, Snapshot) {\r\n const { data, options, children } = this.props;\r\n const { allDataSource, allChildren,dataStore } = this.state;\r\n if (!children && (data || options)) {\r\n const newData = data ? data : options;\r\n if (JSON.stringify(allDataSource) !== JSON.stringify(newData)) {\r\n this.setState({\r\n dataSource: newData,\r\n allDataSource: newData,\r\n });\r\n }\r\n } else if (children && Array.isArray(children)) {\r\n const stateChildrenProps: any = [];\r\n allChildren.map((s: any) => {\r\n stateChildrenProps.push(s.props);\r\n });\r\n const childrenProps: any = [];\r\n children.map((c: any) => {\r\n childrenProps.push(c.props);\r\n });\r\n if (\r\n JSON.stringify(stateChildrenProps) !== JSON.stringify(childrenProps)\r\n ) {\r\n this.setState({\r\n children: children,\r\n allChildren: children,\r\n });\r\n }\r\n } else if ((JSON.stringify(newProps.deleteData) !== JSON.stringify(this.props.deleteData)) || (JSON.stringify(newProps.addData) !== JSON.stringify(this.props.addData))) {\r\n const newData = this.getAllData(dataStore);\r\n this.setState({ dataSource: newData, allDataSource: newData,dataStore: dataStore});\r\n }\r\n }\r\n componentWillUnmount() {\r\n this.setState = (state, callback) => {\r\n return;\r\n };\r\n }\r\n onSearch(value) {\r\n const { allDataSource, allChildren } = this.state;\r\n const { filterOption = true, onSearch, children, store = {} } = this.props;\r\n let { labelField } = this.props;\r\n const { viewname } = store;\r\n labelField = labelField ? labelField : viewname ? \"dictValue\" : \"label\";\r\n if (filterOption) {\r\n let result = [];\r\n if (!children) {\r\n if (value) {\r\n allDataSource.forEach((item) => {\r\n let label = \"\";\r\n if (labelField.split(\",\").length == 1) {\r\n label = item[labelField];\r\n } else {\r\n const labelFields: any = labelField.split(\",\");\r\n labelFields.map((l, index) => {\r\n label = index == 0 ? label + item[l] : label + \"-\" + item[l];\r\n });\r\n }\r\n let flag = PinyinMatch.match(label, value);\r\n if (flag) {\r\n result.push(item);\r\n }\r\n });\r\n this.setState({\r\n dataSource: result,\r\n });\r\n } else {\r\n this.setState({\r\n dataSource: allDataSource,\r\n });\r\n }\r\n } else {\r\n if (value) {\r\n if (Array.isArray(allChildren)) {\r\n allChildren.map((child: any, index) => {\r\n let label = child?.props?.children;\r\n let flag = PinyinMatch.match(label, value);\r\n if (flag) {\r\n result.push(child);\r\n }\r\n });\r\n }\r\n this.setState({\r\n children: result,\r\n });\r\n } else {\r\n this.setState({\r\n children: children,\r\n });\r\n }\r\n }\r\n }\r\n onSearch && onSearch(value);\r\n }\r\n renderOption(optionData) {\r\n let {\r\n store = {},\r\n valueType = \"string\",\r\n labelField,\r\n valueField,\r\n } = this.props;\r\n const { viewname } = store;\r\n valueField = valueField ? valueField : viewname ? \"dictKey\" : \"value\";\r\n labelField = labelField ? labelField : viewname ? \"dictValue\" : \"label\";\r\n return optionData.map((item) => {\r\n let value: any;\r\n if (valueField.split(\",\").length == 1) {\r\n value =\r\n valueType === \"number\" ? Number(item[valueField]) : item[valueField];\r\n } else {\r\n const valueFields: any = valueField.split(\",\");\r\n value = \"\";\r\n valueFields.map((v, index) => {\r\n value = index == 0 ? value + item[v] : value + \",\" + item[v];\r\n });\r\n }\r\n let key = item.id ? (item.id !== \"undefined\" ? item.id : value) : value;\r\n let label = \"\";\r\n if (labelField.split(\",\").length == 1) {\r\n label = item[labelField];\r\n } else {\r\n const labelFields: any = labelField.split(\",\");\r\n labelFields.map((l, index) => {\r\n label = index == 0 ? label + item[l] : label + \"-\" + item[l];\r\n });\r\n }\r\n return (\r\n <Option\r\n key={key}\r\n value={value}\r\n label={label}\r\n disabled={item.disabled ? true : false}\r\n >\r\n {label}\r\n </Option>\r\n );\r\n });\r\n }\r\n renderChildren() {\r\n const { showGroup = true,groupField='groupName' } = this.props;\r\n const { dataSource, children } = this.state;\r\n if (children) {\r\n return <>{children}</>;\r\n } else {\r\n let optGroupData = {},\r\n optionData = [];\r\n dataSource.forEach((item) => {\r\n let label = item[groupField];\r\n if (label && showGroup) {\r\n if (!optGroupData[label]) optGroupData[label] = [];\r\n optGroupData[label].push(item);\r\n } else {\r\n optionData.push(item);\r\n }\r\n });\r\n let option = this.renderOption(optionData);\r\n let optGroup = Object.keys(optGroupData).map((key) => {\r\n return (\r\n <OptGroup key={key} label={key}>\r\n {this.renderOption(optGroupData[key])}\r\n </OptGroup>\r\n );\r\n });\r\n return (\r\n <>\r\n {option}\r\n {optGroup}\r\n </>\r\n );\r\n }\r\n }\r\n onChange(value, options) {\r\n const { onChange } = this.props;\r\n this.setState({\r\n selectValue: value,\r\n });\r\n if (onChange) {\r\n const data = this.getSelectData(value);\r\n onChange(value, options, data);\r\n }\r\n }\r\n onSelect(value, options) {\r\n const { onSelect } = this.props;\r\n\r\n if (onSelect) {\r\n const data = this.getSelectData(value);\r\n onSelect(value, options, data);\r\n }\r\n }\r\n onDropdownVisibleChange(open) {\r\n if (!open) {\r\n this.resetData();\r\n }\r\n }\r\n render() {\r\n const {\r\n children,\r\n store,\r\n data,\r\n onChange,\r\n onSelect,\r\n options,\r\n labelField,\r\n valueField,\r\n defaultStyle,\r\n showGroup = true,\r\n addData,\r\n deleteData,\r\n valueType,\r\n groupField,\r\n ...params\r\n } = this.props;\r\n let props = {\r\n filterOption: false,\r\n showSearch: true,\r\n optionFilterProp: \"label\",\r\n placeholder: \"请选择\",\r\n allowClear: true,\r\n } as any;\r\n let { antdStyle, mountElementId } = config();\r\n if (mountElementId) {\r\n props = {\r\n getPopupContainer: () => document.getElementById(mountElementId),\r\n ...props,\r\n };\r\n }\r\n if ((defaultStyle || antdStyle) && defaultStyle === true) {\r\n return (\r\n <div className={cls(styles[\"nsc_select\"], this.props.className)}>\r\n <Select\r\n value={this.state.selectValue}\r\n onChange={this.onChange.bind(this)}\r\n onSearch={this.onSearch.bind(this)}\r\n onSelect={this.onSelect.bind(this)}\r\n onDropdownVisibleChange={this.onDropdownVisibleChange.bind(this)}\r\n {...props}\r\n {...params}\r\n >\r\n {this.renderChildren()}\r\n </Select>\r\n </div>\r\n );\r\n } else {\r\n return (\r\n <Select\r\n value={this.state.selectValue}\r\n onSearch={this.onSearch.bind(this)}\r\n onChange={this.onChange.bind(this)}\r\n onSelect={this.onSelect.bind(this)}\r\n onDropdownVisibleChange={this.onDropdownVisibleChange.bind(this)}\r\n {...props}\r\n {...params}\r\n >\r\n {this.renderChildren()}\r\n </Select>\r\n );\r\n }\r\n }\r\n}\r\n"],"mappings":"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"}
|
package/lib/base/upload/index.js
CHANGED
|
@@ -436,4 +436,4 @@ const NscUpload = withCustomUpload(_Upload);
|
|
|
436
436
|
const NscUploadDragger = withCustomUpload(_Upload.Dragger);
|
|
437
437
|
NscUpload.Dragger = NscUploadDragger;
|
|
438
438
|
export default NscUpload;
|
|
439
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImZpbGUiLCJtZXNzYWdlIiwib21pdCIsImdldExlc3MiLCJzdHlsZXMiLCJjbHMiLCJGaWxlSWNvbiIsIkRlbGV0ZU91dGxpbmVkIiwiRG93bmxvYWRPdXRsaW5lZCIsIkV5ZU91dGxpbmVkIiwidXBsb2FkIiwiZG93bmxvYWQiLCJwcmV2aWV3RG9jdW1lbnQiLCJwcmV2aWV3SW1hZ2UiLCJ3aXRoQ3VzdG9tVXBsb2FkIiwiQ29tcG9uZW50IiwiUHVyZUNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwiYXJndW1lbnRzIiwiX2RlZmluZVByb3BlcnR5IiwiZmlsZUxpc3QiLCJ2aWV3SWQiLCJmaWxlTGlzdFN0b3JlIiwiZmlsZU5hbWVzIiwib3B0aW9ucyIsIm9uQ29tcGxldGUiLCJvblByb2Nlc3MiLCJzbGljZVNpemUiLCJuZXdWZXJzaW9uIiwicHJvcHMiLCJvblByb2dyZXNzIiwidG90YWxQcm9ncmVzcyIsInBlcmNlbnQiLCJyZXMiLCJwYXJ0U2l6ZSIsInJlcXVlc3RDb25maWciLCJ1cGxvYWRJbmdTaXplIiwiZmlsZUlkIiwiSW1nUmVzIiwiY29kZSIsImRhdGEiLCJhdHRhY2hJZCIsIm9uU3VjY2VzcyIsImxpc3RUeXBlIiwib25FcnJvciIsInVwbG9hZEluZ0xpc3QiLCJwdXNoIiwic3RhdHVzIiwidXJsIiwidXBsb2FkU2l6ZSIsImUiLCJjb21wb25lbnREaWRNb3VudCIsImNvbnZlcnRGaWxlTGlzdCIsImxpc3QiLCJuZXdGaWxlTGlzdCIsIm9sZExpc3QiLCJzZXRTdGF0ZSIsImkiLCJsZW5ndGgiLCJpdGVtIiwidGVtcCIsIl9vYmplY3RTcHJlYWQiLCJuYW1lIiwiZmlsZU5hbWUiLCJ0eXBlIiwic2l6ZSIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZVByb3BzIiwicHJlU3RhdGUiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhdGUiLCJnZXRGaWxlTGlzdCIsInNldEZpbGVMaXN0IiwiYmVmb3JlVXBsb2FkIiwib2ZpbGVMaXN0IiwibWF4U2l6ZSIsImFsbG93RmlsZVN1ZmZpeCIsImNoZWNrU2FtZUZpbGUiLCJtYXhDb3VudCIsInNob3dVcGxvYWRMaXN0IiwicHJvcHNMaXN0Iiwib25MaXN0Q2hhbmdlIiwiY2hlY2tGaWxlVHlwZSIsImVycm9yIiwiY29uY2F0IiwiY2hlY2tMaXN0IiwibWFwIiwiaW5kZXhPZiIsIm5ld0xpc3QiLCJ1aWQiLCJzcGxpY2UiLCJuYW1lcyIsInNwbGl0Iiwic3VmZml4IiwiX3JlZiIsIm5ld0ZpbGUiLCJmaWxlcyIsImluZGV4Iiwid2luZG93IiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsInByZWZpeCIsIm9uRGVsZXRlIiwicmVuZGVyIiwiZmlsZUNhcmQiLCJzaG93RG93bmxvYWRJY29uIiwic2hvd1ByZXZpZXdJY29uIiwic2hvd1JlbW92ZUljb24iLCJkb3dubG9hZEljb24iLCJyZW1vdmVJY29uIiwicHJldmlld0ljb24iLCJuZXdwcm9wcyIsImRlZmF1bHRQcm9wcyIsImN1c3RvbVJlcXVlc3QiLCJiaW5kIiwibXVsdGlwbGUiLCJpdGVtUmVuZGVyIiwib3JpZ2luTm9kZSIsImN1cnJGaWxlTGlzdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJvbkNsaWNrIiwib25QcmV2aWV3Iiwic3R5bGUiLCJjdXJzb3IiLCJvbkRvd25sb2FkIiwib25SZW1vdmUiLCJ3aWR0aCIsIkZyYWdtZW50IiwiX2V4dGVuZHMiLCJOc2NVcGxvYWQiLCJfVXBsb2FkIiwiTnNjVXBsb2FkRHJhZ2dlciIsIkRyYWdnZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9iYXNlL3VwbG9hZC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFVwbG9hZCwgVXBsb2FkUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgZmlsZSBmcm9tIFwibnNjLWZpbGVcIjtcclxuaW1wb3J0IG1lc3NhZ2UgZnJvbSBcIi4uL21lc3NhZ2VcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IHsgZ2V0TGVzcyB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgRmlsZUljb24gZnJvbSBcIi4uL2NvbW1vbi9GaWxlSWNvblwiO1xyXG5pbXBvcnQge1xyXG4gIERlbGV0ZU91dGxpbmVkLFxyXG4gIERvd25sb2FkT3V0bGluZWQsXHJcbiAgRXllT3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmNvbnN0IHsgdXBsb2FkLCBkb3dubG9hZCwgcHJldmlld0RvY3VtZW50LCBwcmV2aWV3SW1hZ2UgfSA9IGZpbGU7XHJcblxyXG5pbnRlcmZhY2UgSVVwbG9hZFByb3BzIGV4dGVuZHMgVXBsb2FkUHJvcHMge1xyXG4gIHNsaWNlU2l6ZT86IG51bWJlcjtcclxuICBtYXhTaXplPzogbnVtYmVyIHwgYm9vbGVhbjtcclxuICBvblByb2Nlc3M/OiAocHJvY2VzcykgPT4gdm9pZDtcclxuICBvbkNvbXBsZXRlPzogKHsgZmlsZSwgZmlsZUlkLCBzdGF0dXMgfSkgPT4gdm9pZDtcclxuICBhbGxvd0ZpbGVTdWZmaXg/OiBBcnJheTxTdHJpbmc+OyAvL+WFgeiuuOS4iuS8oOaJqeWxleWQjSzkuI3luKYuXHJcbiAgdXNlRGVmYXVsdExpc3Q/OiBib29sZWFuOyAvL+aYr+WQpuS9v+eUqOm7mOiupOeahGZpbGVMaXN0XHJcbiAgZmlsZUNhcmQ/OiBib29sZWFuO1xyXG4gIG9uTGlzdENoYW5nZT86IGFueTtcclxuICBjaGVja1NhbWVGaWxlPzogYm9vbGVhbjtcclxuICByZXF1ZXN0Q29uZmlnPzogYW55O1xyXG4gIG5ld1ZlcnNpb24/OiBib29sZWFuO1xyXG59XHJcbmNvbnN0IHdpdGhDdXN0b21VcGxvYWQgPSAoQ29tcG9uZW50KSA9PiB7XHJcbiAgLy8g6L+U5Zue5LiA5Liq57G757uE5Lu2XHJcbiAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudDxJVXBsb2FkUHJvcHMsIGFueT4ge1xyXG4gICAgc3RhdGUgPSB7XHJcbiAgICAgIGZpbGVMaXN0OiBbXSxcclxuICAgICAgdmlld0lkOiBcIlwiLFxyXG4gICAgICBmaWxlTGlzdFN0b3JlOiBbXSxcclxuICAgICAgZmlsZU5hbWVzOiBbXSxcclxuICAgIH07XHJcbiAgICB1cGxvYWRJbmdTaXplID0gMDtcclxuICAgIHVwbG9hZFNpemUgPSAwO1xyXG4gICAgdXBsb2FkSW5nTGlzdCA9IFtdO1xyXG4gICAgcHJldmlld1VybCA9IHt9O1xyXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICAgIGlmICh0aGlzLnByb3BzLmZpbGVMaXN0KSB7XHJcbiAgICAgICAgdGhpcy5jb252ZXJ0RmlsZUxpc3QodGhpcy5wcm9wcy5maWxlTGlzdCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnZlcnRGaWxlTGlzdChsaXN0PzogQXJyYXk8T2JqZWN0Pikge1xyXG4gICAgICBjb25zdCB7IGZpbGVMaXN0LCBsaXN0VHlwZSB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgY29uc3QgbmV3RmlsZUxpc3QgPSBbXTtcclxuICAgICAgbGV0IG9sZExpc3QgPSBsaXN0ID8gbGlzdCA6IGZpbGVMaXN0O1xyXG4gICAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGZpbGVMaXN0U3RvcmU6IFsuLi5maWxlTGlzdF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG9sZExpc3QubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IGl0ZW06IGFueSA9IG9sZExpc3RbaV07XHJcbiAgICAgICAgICAgIGxldCB0ZW1wID0ge1xyXG4gICAgICAgICAgICAgIC4uLml0ZW0sXHJcbiAgICAgICAgICAgICAgc3RhdHVzOiBpdGVtLnN0YXR1cyxcclxuICAgICAgICAgICAgICBuYW1lOiBpdGVtLm5hbWUgfHwgaXRlbS5maWxlTmFtZSxcclxuICAgICAgICAgICAgICB0eXBlOiBpdGVtLnR5cGUsXHJcbiAgICAgICAgICAgICAgc2l6ZTogaXRlbS5zaXplLFxyXG4gICAgICAgICAgICAgIHVybDogaXRlbS51cmwsXHJcbiAgICAgICAgICAgIH0gYXMgYW55O1xyXG4gICAgICAgICAgICBpZiAobGlzdFR5cGUgPT0gXCJwaWN0dXJlLWNhcmRcIiAmJiAhaXRlbS51cmwgJiYgaXRlbS5maWxlSWQpIHtcclxuICAgICAgICAgICAgICBsZXQgcmVzOiBhbnkgPSBhd2FpdCBwcmV2aWV3SW1hZ2UoXHJcbiAgICAgICAgICAgICAgICBpdGVtLmZpbGVJZCxcclxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMucmVxdWVzdENvbmZpZ1xyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgaWYgKHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgICAgICAgdGVtcC51cmwgPSByZXMuZGF0YTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbmV3RmlsZUxpc3QucHVzaCh0ZW1wKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBmaWxlTGlzdDogWy4uLm5ld0ZpbGVMaXN0XSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGNvbXBvbmVudERpZFVwZGF0ZShwcmVQcm9wcywgcHJlU3RhdGUpIHtcclxuICAgICAgaWYgKHRoaXMucHJvcHMuZmlsZUxpc3QpIHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnByb3BzLmZpbGVMaXN0KSAhPT1cclxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuc3RhdGUuZmlsZUxpc3RTdG9yZSlcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMuY29udmVydEZpbGVMaXN0KHRoaXMucHJvcHMuZmlsZUxpc3QpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0RmlsZUxpc3QoKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnN0YXRlLmZpbGVMaXN0O1xyXG4gICAgfVxyXG4gICAgc2V0RmlsZUxpc3QoZmlsZUxpc3Q6IEFycmF5PE9iamVjdD4pIHtcclxuICAgICAgdGhpcy5jb252ZXJ0RmlsZUxpc3QoZmlsZUxpc3QpO1xyXG4gICAgfVxyXG4gICAgYXN5bmMgYmVmb3JlVXBsb2FkKGZpbGUsIG9maWxlTGlzdCkge1xyXG4gICAgICBsZXQge1xyXG4gICAgICAgIG1heFNpemUgPSAxMDAsXHJcbiAgICAgICAgYWxsb3dGaWxlU3VmZml4LFxyXG4gICAgICAgIGNoZWNrU2FtZUZpbGUgPSB0cnVlLFxyXG4gICAgICAgIG1heENvdW50LFxyXG4gICAgICAgIHNob3dVcGxvYWRMaXN0LFxyXG4gICAgICAgIGZpbGVMaXN0OiBwcm9wc0xpc3QsXHJcbiAgICAgICAgb25MaXN0Q2hhbmdlLFxyXG4gICAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgbGV0IHsgZmlsZUxpc3QsIGZpbGVMaXN0U3RvcmUgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICAgIGxldCBzaXplOiBudW1iZXI7XHJcbiAgICAgIGlmIChhbGxvd0ZpbGVTdWZmaXggJiYgIXRoaXMuY2hlY2tGaWxlVHlwZShmaWxlKSkge1xyXG4gICAgICAgIG1lc3NhZ2UuZXJyb3IoXHJcbiAgICAgICAgICBgJHtmaWxlLm5hbWV95paH5Lu257G75Z6L5LiN5YWB6K645LiK5Lyg77yM6K+35LiK5Lyg5ZCO57yA5Li6JHthbGxvd0ZpbGVTdWZmaXh955qE57G75Z6L5paH5Lu277yBYFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChtYXhTaXplICE9PSBmYWxzZSkge1xyXG4gICAgICAgIGlmIChtYXhTaXplID09PSB0cnVlKSB7XHJcbiAgICAgICAgICBtYXhTaXplID0gMTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzaXplID0gbWF4U2l6ZSAqIDEwMjQgKiAxMDI0O1xyXG4gICAgICAgIGlmIChzaXplIDwgZmlsZS5zaXplKSB7XHJcbiAgICAgICAgICBtZXNzYWdlLmVycm9yKGAke2ZpbGUubmFtZX3mlofku7blpKflsI/otoXov4cke21heFNpemV9Te+8jOivt+mHjeaWsOS4iuS8oO+8gWApO1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBsZXQgZmlsZU5hbWVzID0gW107XHJcbiAgICAgIGlmIChjaGVja1NhbWVGaWxlKSB7XHJcbiAgICAgICAgY29uc3QgY2hlY2tMaXN0ID0gdGhpcy5wcm9wcy5maWxlTGlzdCA/IGZpbGVMaXN0U3RvcmUgOiBmaWxlTGlzdDtcclxuICAgICAgICBjaGVja0xpc3QubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBmaWxlTmFtZXMucHVzaChpdGVtLm5hbWUgfHwgaXRlbS5maWxlTmFtZSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGlmIChmaWxlTmFtZXMuaW5kZXhPZihmaWxlLm5hbWUpID4gLTEgJiYgc2hvd1VwbG9hZExpc3QgIT09IGZhbHNlKSB7XHJcbiAgICAgICAgICBtZXNzYWdlLmVycm9yKGDmlofku7Yke2ZpbGUubmFtZX3lt7LlnKjkuIrkvKDliJfooajkuK3vvIzor7fph43mlrDpgInmi6nmlofku7bvvIFgKTtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0aGlzLnByb3BzLmJlZm9yZVVwbG9hZCkge1xyXG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucHJvcHMuYmVmb3JlVXBsb2FkKGZpbGUsIG9maWxlTGlzdCk7XHJcbiAgICAgICAgaWYgKHJlcyA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgbmV3TGlzdCA9IFsuLi5maWxlTGlzdF07XHJcbiAgICAgIG9maWxlTGlzdC5tYXAoYXN5bmMgKGl0ZW0pID0+IHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAhKFxyXG4gICAgICAgICAgICAoYWxsb3dGaWxlU3VmZml4ICYmICF0aGlzLmNoZWNrRmlsZVR5cGUoaXRlbSkpIHx8XHJcbiAgICAgICAgICAgIHNpemUgPCBpdGVtLnNpemUgfHxcclxuICAgICAgICAgICAgKGNoZWNrU2FtZUZpbGUgJiYgZmlsZU5hbWVzLmluZGV4T2YoaXRlbS5uYW1lKSA+IC0xKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgY29uc3QgdGVtcCA9IHtcclxuICAgICAgICAgICAgZmlsZU5hbWU6IGl0ZW0ubmFtZSxcclxuICAgICAgICAgICAgcGVyY2VudDogMCxcclxuICAgICAgICAgICAgc3RhdHVzOiBcInVwbG9hZGluZ1wiLFxyXG4gICAgICAgICAgICB1aWQ6IGl0ZW0udWlkLFxyXG4gICAgICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXHJcbiAgICAgICAgICAgIHR5cGU6IGl0ZW0udHlwZSxcclxuICAgICAgICAgICAgc2l6ZTogaXRlbS5zaXplLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIG5ld0xpc3QucHVzaCh0ZW1wKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgaWYgKG1heENvdW50ICYmIG5ld0xpc3QubGVuZ3RoID4gbWF4Q291bnQpIHtcclxuICAgICAgICBsZXQgbGVuZ3RoID0gbmV3TGlzdC5sZW5ndGggLSBtYXhDb3VudDtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBuZXdMaXN0LnNwbGljZSgwLCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgb25MaXN0Q2hhbmdlICYmIG9uTGlzdENoYW5nZShuZXdMaXN0KTtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGZpbGVMaXN0OiBuZXdMaXN0IH0pO1xyXG4gICAgICB0aGlzLnVwbG9hZFNpemUgPSBvZmlsZUxpc3QubGVuZ3RoO1xyXG4gICAgfVxyXG4gICAgY2hlY2tGaWxlVHlwZShmaWxlKSB7XHJcbiAgICAgIGNvbnN0IHsgYWxsb3dGaWxlU3VmZml4IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICBjb25zdCBuYW1lcyA9IGZpbGUubmFtZS5zcGxpdChcIi5cIik7XHJcbiAgICAgIGNvbnN0IHN1ZmZpeCA9IG5hbWVzW25hbWVzLmxlbmd0aCAtIDFdO1xyXG4gICAgICBpZiAoYWxsb3dGaWxlU3VmZml4LmluZGV4T2Yoc3VmZml4KSA+IC0xKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgb25Qcm9jZXNzKHsgcGVyY2VudCwgZmlsZSB9OiBhbnkpIHtcclxuICAgICAgY29uc3QgeyBmaWxlTGlzdCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgICAgY29uc3QgeyBvbkxpc3RDaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgIGNvbnN0IG5ld0xpc3Q6IGFueSA9IFtdO1xyXG4gICAgICBmaWxlTGlzdC5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5ld0ZpbGUgPSB7IC4uLml0ZW0gfTtcclxuICAgICAgICBpZiAoZmlsZS51aWQgPT0gaXRlbS51aWQpIHtcclxuICAgICAgICAgIG5ld0ZpbGUucGVyY2VudCA9IHBlcmNlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG5ld0xpc3QucHVzaChuZXdGaWxlKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGZpbGVMaXN0OiBuZXdMaXN0LFxyXG4gICAgICB9KTtcclxuICAgICAgb25MaXN0Q2hhbmdlICYmIG9uTGlzdENoYW5nZShmaWxlTGlzdCk7XHJcbiAgICB9XHJcbiAgICBhc3luYyBvbkNvbXBsZXRlKGZpbGVzKSB7XHJcbiAgICAgIHRoaXMudXBsb2FkSW5nU2l6ZSA9IDA7XHJcbiAgICAgIHRoaXMudXBsb2FkU2l6ZSA9IDA7XHJcbiAgICAgIHRoaXMudXBsb2FkSW5nTGlzdCA9IFtdO1xyXG4gICAgICBjb25zdCB7IGZpbGVMaXN0IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICBjb25zdCB7IG5ld1ZlcnNpb24gPSB0cnVlLCByZXF1ZXN0Q29uZmlnID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgIGNvbnN0IG5ld0xpc3Q6IGFueSA9IFtdO1xyXG4gICAgICBmaWxlTGlzdC5tYXAoYXN5bmMgKGl0ZW06IGFueSwgaW5kZXgpID0+IHtcclxuICAgICAgICBjb25zdCBuZXdGaWxlID0geyAuLi5pdGVtIH07XHJcbiAgICAgICAgZmlsZXMubWFwKGFzeW5jIChmaWxlKSA9PiB7XHJcbiAgICAgICAgICBpZiAoZmlsZS5maWxlLnVpZCA9PSBpdGVtLnVpZCkge1xyXG4gICAgICAgICAgICBuZXdGaWxlLnN0YXR1cyA9IGZpbGUuc3RhdHVzID09IFwic3VjY2Vzc1wiID8gXCJkb25lXCIgOiBmaWxlLnN0YXR1cztcclxuICAgICAgICAgICAgbmV3RmlsZS5maWxlSWQgPSBmaWxlLmZpbGVJZDtcclxuICAgICAgICAgICAgbmV3RmlsZS51cmwgPSBmaWxlLnVybDtcclxuICAgICAgICAgICAgaWYgKCFuZXdWZXJzaW9uKSB7XHJcbiAgICAgICAgICAgICAgbGV0IHVybCA9IGAvanF1aWNrLXJlc291cmNlL29zcy9lbmRwb2ludC9kb3dubG9hZC1maWxlcz9hdHRhY2hJZD0ke1xyXG4gICAgICAgICAgICAgICAgZmlsZS5maWxlSWRcclxuICAgICAgICAgICAgICB9Jl90cGs9JHt3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ0b2tlblwiKX1gO1xyXG4gICAgICAgICAgICAgIG5ld0ZpbGUudXJsID0gcmVxdWVzdENvbmZpZy5wcmVmaXhcclxuICAgICAgICAgICAgICAgID8gcmVxdWVzdENvbmZpZy5wcmVmaXggKyB1cmxcclxuICAgICAgICAgICAgICAgIDogXCIvYXBpXCIgKyB1cmw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBuZXdMaXN0LnB1c2gobmV3RmlsZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBmaWxlTGlzdDogWy4uLm5ld0xpc3RdLFxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGNvbnN0IHsgb25MaXN0Q2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICBvbkxpc3RDaGFuZ2UgJiYgb25MaXN0Q2hhbmdlKG5ld0xpc3QpO1xyXG4gICAgfVxyXG4gICAgY3VzdG9tUmVxdWVzdCA9IGFzeW5jIChvcHRpb25zKSA9PiB7XHJcbiAgICAgIGNvbnN0IGZpbGUgPSBvcHRpb25zLmZpbGU7XHJcbiAgICAgIGNvbnN0IHtcclxuICAgICAgICBvbkNvbXBsZXRlLFxyXG4gICAgICAgIG9uUHJvY2VzcyxcclxuICAgICAgICBzbGljZVNpemUsXHJcbiAgICAgICAgbmV3VmVyc2lvbiA9IHRydWUsXHJcbiAgICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICBjb25zdCBvblByb2dyZXNzID0gKHRvdGFsUHJvZ3Jlc3M6IGFueSkgPT4ge1xyXG4gICAgICAgIG9wdGlvbnMub25Qcm9ncmVzcyh7IHBlcmNlbnQ6IHRvdGFsUHJvZ3Jlc3MgfSwgZmlsZSk7XHJcbiAgICAgICAgdGhpcy5vblByb2Nlc3MoeyBwZXJjZW50OiB0b3RhbFByb2dyZXNzLCBmaWxlOiBmaWxlIH0pO1xyXG4gICAgICAgIG9uUHJvY2VzcyAmJiBvblByb2Nlc3MoeyBwZXJjZW50OiB0b3RhbFByb2dyZXNzLCBmaWxlOiBmaWxlIH0pO1xyXG4gICAgICB9O1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IHJlczogYW55ID0gYXdhaXQgdXBsb2FkKFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBmaWxlOiBmaWxlLFxyXG4gICAgICAgICAgICBvblByb2dyZXNzOiBvblByb2dyZXNzLFxyXG4gICAgICAgICAgICBwYXJ0U2l6ZTogc2xpY2VTaXplLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHRoaXMucHJvcHMucmVxdWVzdENvbmZpZ1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy51cGxvYWRJbmdTaXplID0gdGhpcy51cGxvYWRJbmdTaXplICsgMTtcclxuICAgICAgICBsZXQgZmlsZUlkID0gbnVsbDtcclxuICAgICAgICBsZXQgSW1nUmVzID0gbnVsbDtcclxuICAgICAgICBpZiAocmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICBmaWxlSWQgPSByZXMuZGF0YS5hdHRhY2hJZDtcclxuICAgICAgICAgIG9wdGlvbnMub25TdWNjZXNzKCk7XHJcbiAgICAgICAgICBpZiAodGhpcy5wcm9wcy5saXN0VHlwZSA9PSBcInBpY3R1cmUtY2FyZFwiICYmIG5ld1ZlcnNpb24pIHtcclxuICAgICAgICAgICAgSW1nUmVzID0gYXdhaXQgcHJldmlld0ltYWdlKGZpbGVJZCwgdGhpcy5wcm9wcy5yZXF1ZXN0Q29uZmlnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb3B0aW9ucy5vbkVycm9yKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudXBsb2FkSW5nTGlzdC5wdXNoKHtcclxuICAgICAgICAgIGZpbGU6IG9wdGlvbnMuZmlsZSxcclxuICAgICAgICAgIGZpbGVJZDogZmlsZUlkLFxyXG4gICAgICAgICAgc3RhdHVzOiByZXMuY29kZSA9PSAyMDAgPyBcInN1Y2Nlc3NcIiA6IFwiZXJyb3JcIixcclxuICAgICAgICAgIHVybDogSW1nUmVzID8gSW1nUmVzLmRhdGEgOiBudWxsLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmICh0aGlzLnVwbG9hZFNpemUgPT0gdGhpcy51cGxvYWRJbmdTaXplKSB7XHJcbiAgICAgICAgICB0aGlzLm9uQ29tcGxldGUodGhpcy51cGxvYWRJbmdMaXN0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgb25Db21wbGV0ZSAmJlxyXG4gICAgICAgICAgb25Db21wbGV0ZSh7XHJcbiAgICAgICAgICAgIGZpbGU6IG9wdGlvbnMuZmlsZSxcclxuICAgICAgICAgICAgZmlsZUlkOiBmaWxlSWQsXHJcbiAgICAgICAgICAgIHN0YXR1czogcmVzLmNvZGUgPT0gMjAwID8gXCJzdWNjZXNzXCIgOiBcImVycm9yXCIsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgIGlmICh0aGlzLnVwbG9hZFNpemUgPT0gdGhpcy51cGxvYWRJbmdTaXplKSB7XHJcbiAgICAgICAgICB0aGlzLm9uQ29tcGxldGUodGhpcy51cGxvYWRJbmdMaXN0KTtcclxuICAgICAgICAgIG9wdGlvbnMub25FcnJvcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBvbkNvbXBsZXRlICYmXHJcbiAgICAgICAgICBvbkNvbXBsZXRlKHsgZmlsZTogb3B0aW9ucy5maWxlLCBmaWxlSWQ6IFwiXCIsIHN0YXR1czogXCJlcnJvclwiIH0pO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgb25EZWxldGUoZmlsZSkge1xyXG4gICAgICBjb25zdCB7IGZpbGVMaXN0IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICBjb25zdCB7IG9uTGlzdENoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgY29uc3QgbmV3TGlzdDogYW55ID0gW107XHJcbiAgICAgIGZpbGVMaXN0Lm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgLy/pgJrov4fmlofku7blkI3liKTmlq3vvIzkuIrkvKDmmK/mlofku7blkI3mmK/llK/kuIDnmoRcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBpdGVtLm5hbWUgIT09IGZpbGUubmFtZSB8fFxyXG4gICAgICAgICAgaXRlbS5maWxlSWQgIT09IGZpbGUuZmlsZUlkIHx8XHJcbiAgICAgICAgICBpdGVtLnVpZCAhPT0gZmlsZS51aWRcclxuICAgICAgICApIHtcclxuICAgICAgICAgIG5ld0xpc3QucHVzaChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBmaWxlTGlzdDogbmV3TGlzdCxcclxuICAgICAgfSk7XHJcbiAgICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UobmV3TGlzdCk7XHJcbiAgICB9XHJcbiAgICByZW5kZXIoKTogUmVhY3QuUmVhY3ROb2RlIHtcclxuICAgICAgbGV0IHtcclxuICAgICAgICBmaWxlTGlzdCxcclxuICAgICAgICBmaWxlQ2FyZCxcclxuICAgICAgICBzaG93VXBsb2FkTGlzdCA9IHtcclxuICAgICAgICAgIHNob3dEb3dubG9hZEljb246IHRydWUsXHJcbiAgICAgICAgICBzaG93UHJldmlld0ljb246IGZhbHNlLFxyXG4gICAgICAgICAgc2hvd1JlbW92ZUljb246IHRydWUsXHJcbiAgICAgICAgICBkb3dubG9hZEljb246IG51bGwsXHJcbiAgICAgICAgICByZW1vdmVJY29uOiBudWxsLFxyXG4gICAgICAgICAgcHJldmlld0ljb246IG51bGwsXHJcbiAgICAgICAgfSBhcyBhbnksXHJcbiAgICAgICAgcmVxdWVzdENvbmZpZyA9IHt9LFxyXG4gICAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgY29uc3QgbmV3cHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgICBcInNsaWNlU2l6ZVwiLFxyXG4gICAgICAgIFwibWF4U2l6ZVwiLFxyXG4gICAgICAgIFwib25Db21wbGV0ZVwiLFxyXG4gICAgICAgIFwib25Qcm9jZXNzXCIsXHJcbiAgICAgICAgXCJhbGxvd0ZpbGVTdWZmaXhcIixcclxuICAgICAgICBcInVzZURlZmF1bHRMaXN0XCIsXHJcbiAgICAgICAgXCJmaWxlQ2FyZFwiLFxyXG4gICAgICAgIFwib25MaXN0Q2hhbmdlXCIsXHJcbiAgICAgICAgXCJuZXdWZXJzaW9uXCIsXHJcbiAgICAgICAgXCJyZXF1ZXN0Q29uZmlnXCIsXHJcbiAgICAgIF0pO1xyXG4gICAgICBsZXQgZGVmYXVsdFByb3BzID0ge1xyXG4gICAgICAgIGN1c3RvbVJlcXVlc3Q6IHRoaXMuY3VzdG9tUmVxdWVzdC5iaW5kKHRoaXMpLFxyXG4gICAgICAgIG11bHRpcGxlOiB0cnVlLFxyXG4gICAgICB9IGFzIElVcGxvYWRQcm9wcztcclxuICAgICAgaWYgKGZpbGVDYXJkKSB7XHJcbiAgICAgICAgZGVmYXVsdFByb3BzID0ge1xyXG4gICAgICAgICAgLi4uZGVmYXVsdFByb3BzLFxyXG4gICAgICAgICAgaXRlbVJlbmRlcjogKG9yaWdpbk5vZGUsIGZpbGU6IGFueSwgY3VyckZpbGVMaXN0KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBmaWxlLm5hbWUgfHwgZmlsZS5maWxlTmFtZTtcclxuICAgICAgICAgICAgY29uc3QgbmFtZXMgPSBuYW1lPy5zcGxpdChcIi5cIik7XHJcbiAgICAgICAgICAgIGNvbnN0IHN1ZmZpeCA9IG5hbWVzID8gbmFtZXNbbmFtZXMubGVuZ3RoIC0gMV0gOiBcIlwiO1xyXG4gICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJmaWxlLWl0ZW1cIil9PlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJjb250ZW50XCIpLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgW2dldExlc3Moc3R5bGVzLCBcImNvbnRlbnRfZXJyb3JcIildOiBmaWxlLnN0YXR1cyA9PSBcImVycm9yXCIsXHJcbiAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwibWFyay1waWN0dXJlXCIpfT5cclxuICAgICAgICAgICAgICAgICAgICA8RmlsZUljb24gc3VmZml4PXtzdWZmaXh9IGZpbGVJZD17ZmlsZS5maWxlSWR9IC8+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwibmFtZVwiKX0+XHJcbiAgICAgICAgICAgICAgICAgICAge2ZpbGUubmFtZSB8fCBmaWxlLmZpbGVOYW1lfVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9PlxyXG4gICAgICAgICAgICAgICAgICAgIHtzaG93VXBsb2FkTGlzdC5zaG93UHJldmlld0ljb24gJiZcclxuICAgICAgICAgICAgICAgICAgICAgIGZpbGUuc3RhdHVzID09IFwiZG9uZVwiICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uUHJldmlldykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uUHJldmlldyhmaWxlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpZXdEb2N1bWVudChmaWxlLmZpbGVJZCwgcmVxdWVzdENvbmZpZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjdXJzb3I6IFwicG9pbnRlclwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxFeWVPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3Quc2hvd0Rvd25sb2FkSWNvbiAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgZmlsZS5zdGF0dXMgPT0gXCJkb25lXCIgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMub25Eb3dubG9hZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uRG93bmxvYWQoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3dubG9hZChmaWxlLmZpbGVJZCwgdHJ1ZSwgcmVxdWVzdENvbmZpZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjdXJzb3I6IFwicG9pbnRlclwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEb3dubG9hZE91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIHtzaG93VXBsb2FkTGlzdC5zaG93UmVtb3ZlSWNvbiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblJlbW92ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vblJlbW92ZShmaWxlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkRlbGV0ZShmaWxlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGN1cnNvcjogXCJwb2ludGVyXCIgfX1cclxuICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvbiA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8RGVsZXRlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICB7ZmlsZS5zdGF0dXMgPT0gXCJ1cGxvYWRpbmdcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJwcm9jZXNzXCIpfT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInBlcmNlbnRcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogZmlsZS5wZXJjZW50ICsgXCIlXCIgfX1cclxuICAgICAgICAgICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBkZWZhdWx0UHJvcHMgPSB7XHJcbiAgICAgICAgICAuLi5kZWZhdWx0UHJvcHMsXHJcbiAgICAgICAgICBvbkRvd25sb2FkOiAoZmlsZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uRG93bmxvYWQpIHtcclxuICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uRG93bmxvYWQoZmlsZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgZG93bmxvYWQoZmlsZS5maWxlSWQsIHRydWUsIHJlcXVlc3RDb25maWcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgb25SZW1vdmU6IChmaWxlKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uUmVtb3ZlKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vblJlbW92ZShmaWxlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLm9uRGVsZXRlKGZpbGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgb25QcmV2aWV3OiAoZmlsZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uUHJldmlldykge1xyXG4gICAgICAgICAgICAgIHRoaXMucHJvcHMub25QcmV2aWV3KGZpbGUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGlmIChmaWxlPy5maWxlSWQpIHtcclxuICAgICAgICAgICAgICAgIHByZXZpZXdEb2N1bWVudChmaWxlLmZpbGVJZCwgcmVxdWVzdENvbmZpZyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgc2hvd1VwbG9hZExpc3Q6IHsgLi4uc2hvd1VwbG9hZExpc3QgfSxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPD5cclxuICAgICAgICAgIDxDb21wb25lbnRcclxuICAgICAgICAgICAgey4uLmRlZmF1bHRQcm9wc31cclxuICAgICAgICAgICAgey4uLm5ld3Byb3BzfVxyXG4gICAgICAgICAgICBiZWZvcmVVcGxvYWQ9e3RoaXMuYmVmb3JlVXBsb2FkLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgIGZpbGVMaXN0PXt0aGlzLnN0YXRlLmZpbGVMaXN0fVxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8Lz5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9O1xyXG59O1xyXG5cclxuY29uc3QgTnNjVXBsb2FkOiBhbnkgPSB3aXRoQ3VzdG9tVXBsb2FkKFVwbG9hZCk7XHJcbi8vIC8vIOS9v+eUqCB3aXRoQ3VzdG9tVXBsb2FkIOWwgeijhSBVcGxvYWQuRHJhZ2dlciDnu4Tku7ZcclxuY29uc3QgTnNjVXBsb2FkRHJhZ2dlciA9IHdpdGhDdXN0b21VcGxvYWQoVXBsb2FkLkRyYWdnZXIpO1xyXG5Oc2NVcGxvYWQuRHJhZ2dlciA9IE5zY1VwbG9hZERyYWdnZXI7XHJcbmV4cG9ydCBkZWZhdWx0IE5zY1VwbG9hZDtcclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsT0FBTyxLQUFLQSxLQUFLLE1BQU0sT0FBTztBQUU5QixPQUFPQyxJQUFJLE1BQU0sVUFBVTtBQUMzQixPQUFPQyxPQUFPLE1BQU0sWUFBWTtBQUNoQyxPQUFPQyxJQUFJLE1BQU0sU0FBUztBQUMxQixTQUFTQyxPQUFPLFFBQVEsYUFBYTtBQUNyQyxPQUFPQyxNQUFNLE1BQU0sY0FBYztBQUNqQyxPQUFPQyxHQUFHLE1BQU0sWUFBWTtBQUM1QixPQUFPQyxRQUFRLE1BQU0sb0JBQW9CO0FBQ3pDLFNBQ0VDLGNBQWMsRUFDZEMsZ0JBQWdCLEVBQ2hCQyxXQUFXLFFBQ04sbUJBQW1CO0FBQzFCLE1BQU07RUFBRUMsTUFBTTtFQUFFQyxRQUFRO0VBQUVDLGVBQWU7RUFBRUM7QUFBYSxDQUFDLEdBQUdiLElBQUk7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
|
|
439
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImZpbGUiLCJtZXNzYWdlIiwib21pdCIsImdldExlc3MiLCJzdHlsZXMiLCJjbHMiLCJGaWxlSWNvbiIsIkRlbGV0ZU91dGxpbmVkIiwiRG93bmxvYWRPdXRsaW5lZCIsIkV5ZU91dGxpbmVkIiwidXBsb2FkIiwiZG93bmxvYWQiLCJwcmV2aWV3RG9jdW1lbnQiLCJwcmV2aWV3SW1hZ2UiLCJ3aXRoQ3VzdG9tVXBsb2FkIiwiQ29tcG9uZW50IiwiUHVyZUNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwiYXJndW1lbnRzIiwiX2RlZmluZVByb3BlcnR5IiwiZmlsZUxpc3QiLCJ2aWV3SWQiLCJmaWxlTGlzdFN0b3JlIiwiZmlsZU5hbWVzIiwib3B0aW9ucyIsIm9uQ29tcGxldGUiLCJvblByb2Nlc3MiLCJzbGljZVNpemUiLCJuZXdWZXJzaW9uIiwicHJvcHMiLCJvblByb2dyZXNzIiwidG90YWxQcm9ncmVzcyIsInBlcmNlbnQiLCJyZXMiLCJwYXJ0U2l6ZSIsInJlcXVlc3RDb25maWciLCJ1cGxvYWRJbmdTaXplIiwiZmlsZUlkIiwiSW1nUmVzIiwiY29kZSIsImRhdGEiLCJhdHRhY2hJZCIsIm9uU3VjY2VzcyIsImxpc3RUeXBlIiwib25FcnJvciIsInVwbG9hZEluZ0xpc3QiLCJwdXNoIiwic3RhdHVzIiwidXJsIiwidXBsb2FkU2l6ZSIsImUiLCJjb21wb25lbnREaWRNb3VudCIsImNvbnZlcnRGaWxlTGlzdCIsImxpc3QiLCJuZXdGaWxlTGlzdCIsIm9sZExpc3QiLCJzZXRTdGF0ZSIsImkiLCJsZW5ndGgiLCJpdGVtIiwidGVtcCIsIl9vYmplY3RTcHJlYWQiLCJuYW1lIiwiZmlsZU5hbWUiLCJ0eXBlIiwic2l6ZSIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZVByb3BzIiwicHJlU3RhdGUiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhdGUiLCJnZXRGaWxlTGlzdCIsInNldEZpbGVMaXN0IiwiYmVmb3JlVXBsb2FkIiwib2ZpbGVMaXN0IiwibWF4U2l6ZSIsImFsbG93RmlsZVN1ZmZpeCIsImNoZWNrU2FtZUZpbGUiLCJtYXhDb3VudCIsInNob3dVcGxvYWRMaXN0IiwicHJvcHNMaXN0Iiwib25MaXN0Q2hhbmdlIiwiY2hlY2tGaWxlVHlwZSIsImVycm9yIiwiY29uY2F0IiwiY2hlY2tMaXN0IiwibWFwIiwiaW5kZXhPZiIsIm5ld0xpc3QiLCJ1aWQiLCJzcGxpY2UiLCJuYW1lcyIsInNwbGl0Iiwic3VmZml4IiwiX3JlZiIsIm5ld0ZpbGUiLCJmaWxlcyIsImluZGV4Iiwid2luZG93IiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsInByZWZpeCIsIm9uRGVsZXRlIiwicmVuZGVyIiwiZmlsZUNhcmQiLCJzaG93RG93bmxvYWRJY29uIiwic2hvd1ByZXZpZXdJY29uIiwic2hvd1JlbW92ZUljb24iLCJkb3dubG9hZEljb24iLCJyZW1vdmVJY29uIiwicHJldmlld0ljb24iLCJuZXdwcm9wcyIsImRlZmF1bHRQcm9wcyIsImN1c3RvbVJlcXVlc3QiLCJiaW5kIiwibXVsdGlwbGUiLCJpdGVtUmVuZGVyIiwib3JpZ2luTm9kZSIsImN1cnJGaWxlTGlzdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJvbkNsaWNrIiwib25QcmV2aWV3Iiwic3R5bGUiLCJjdXJzb3IiLCJvbkRvd25sb2FkIiwib25SZW1vdmUiLCJ3aWR0aCIsIkZyYWdtZW50IiwiX2V4dGVuZHMiLCJOc2NVcGxvYWQiLCJfVXBsb2FkIiwiTnNjVXBsb2FkRHJhZ2dlciIsIkRyYWdnZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9iYXNlL3VwbG9hZC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFVwbG9hZCwgVXBsb2FkUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgZmlsZSBmcm9tIFwibnNjLWZpbGVcIjtcclxuaW1wb3J0IG1lc3NhZ2UgZnJvbSBcIi4uL21lc3NhZ2VcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IHsgZ2V0TGVzcyB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgRmlsZUljb24gZnJvbSBcIi4uL2NvbW1vbi9GaWxlSWNvblwiO1xyXG5pbXBvcnQge1xyXG4gIERlbGV0ZU91dGxpbmVkLFxyXG4gIERvd25sb2FkT3V0bGluZWQsXHJcbiAgRXllT3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmNvbnN0IHsgdXBsb2FkLCBkb3dubG9hZCwgcHJldmlld0RvY3VtZW50LCBwcmV2aWV3SW1hZ2UgfSA9IGZpbGU7XHJcblxyXG5pbnRlcmZhY2UgSVVwbG9hZFByb3BzIGV4dGVuZHMgVXBsb2FkUHJvcHMge1xyXG4gIHNsaWNlU2l6ZT86IG51bWJlcjtcclxuICBtYXhTaXplPzogbnVtYmVyIHwgYm9vbGVhbjtcclxuICBvblByb2Nlc3M/OiAocHJvY2VzcykgPT4gdm9pZDtcclxuICBvbkNvbXBsZXRlPzogKHsgZmlsZSwgZmlsZUlkLCBzdGF0dXMgfSkgPT4gdm9pZDtcclxuICBhbGxvd0ZpbGVTdWZmaXg/OiBBcnJheTxTdHJpbmc+OyAvL+WFgeiuuOS4iuS8oOaJqeWxleWQjSzkuI3luKYuXHJcbiAgdXNlRGVmYXVsdExpc3Q/OiBib29sZWFuOyAvL+aYr+WQpuS9v+eUqOm7mOiupOeahGZpbGVMaXN0XHJcbiAgZmlsZUNhcmQ/OiBib29sZWFuO1xyXG4gIG9uTGlzdENoYW5nZT86IGFueTtcclxuICBjaGVja1NhbWVGaWxlPzogYm9vbGVhbjtcclxuICByZXF1ZXN0Q29uZmlnPzogYW55O1xyXG4gIG5ld1ZlcnNpb24/OiBib29sZWFuO1xyXG4gIFtwcm9wc05hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5jb25zdCB3aXRoQ3VzdG9tVXBsb2FkID0gKENvbXBvbmVudCkgPT4ge1xyXG4gIC8vIOi/lOWbnuS4gOS4quexu+e7hOS7tlxyXG4gIHJldHVybiBjbGFzcyBleHRlbmRzIFJlYWN0LlB1cmVDb21wb25lbnQ8SVVwbG9hZFByb3BzLCBhbnk+IHtcclxuICAgIHN0YXRlID0ge1xyXG4gICAgICBmaWxlTGlzdDogW10sXHJcbiAgICAgIHZpZXdJZDogXCJcIixcclxuICAgICAgZmlsZUxpc3RTdG9yZTogW10sXHJcbiAgICAgIGZpbGVOYW1lczogW10sXHJcbiAgICB9O1xyXG4gICAgdXBsb2FkSW5nU2l6ZSA9IDA7XHJcbiAgICB1cGxvYWRTaXplID0gMDtcclxuICAgIHVwbG9hZEluZ0xpc3QgPSBbXTtcclxuICAgIHByZXZpZXdVcmwgPSB7fTtcclxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgICBpZiAodGhpcy5wcm9wcy5maWxlTGlzdCkge1xyXG4gICAgICAgIHRoaXMuY29udmVydEZpbGVMaXN0KHRoaXMucHJvcHMuZmlsZUxpc3QpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb252ZXJ0RmlsZUxpc3QobGlzdD86IEFycmF5PE9iamVjdD4pIHtcclxuICAgICAgY29uc3QgeyBmaWxlTGlzdCwgbGlzdFR5cGUgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgIGNvbnN0IG5ld0ZpbGVMaXN0ID0gW107XHJcbiAgICAgIGxldCBvbGRMaXN0ID0gbGlzdCA/IGxpc3QgOiBmaWxlTGlzdDtcclxuICAgICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAgICB7XHJcbiAgICAgICAgICBmaWxlTGlzdFN0b3JlOiBbLi4uZmlsZUxpc3RdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvbGRMaXN0Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBpdGVtOiBhbnkgPSBvbGRMaXN0W2ldO1xyXG4gICAgICAgICAgICBsZXQgdGVtcCA9IHtcclxuICAgICAgICAgICAgICAuLi5pdGVtLFxyXG4gICAgICAgICAgICAgIHN0YXR1czogaXRlbS5zdGF0dXMsXHJcbiAgICAgICAgICAgICAgbmFtZTogaXRlbS5uYW1lIHx8IGl0ZW0uZmlsZU5hbWUsXHJcbiAgICAgICAgICAgICAgdHlwZTogaXRlbS50eXBlLFxyXG4gICAgICAgICAgICAgIHNpemU6IGl0ZW0uc2l6ZSxcclxuICAgICAgICAgICAgICB1cmw6IGl0ZW0udXJsLFxyXG4gICAgICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICAgICAgaWYgKGxpc3RUeXBlID09IFwicGljdHVyZS1jYXJkXCIgJiYgIWl0ZW0udXJsICYmIGl0ZW0uZmlsZUlkKSB7XHJcbiAgICAgICAgICAgICAgbGV0IHJlczogYW55ID0gYXdhaXQgcHJldmlld0ltYWdlKFxyXG4gICAgICAgICAgICAgICAgaXRlbS5maWxlSWQsXHJcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnJlcXVlc3RDb25maWdcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIGlmIChyZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgICAgICAgIHRlbXAudXJsID0gcmVzLmRhdGE7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG5ld0ZpbGVMaXN0LnB1c2godGVtcCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgZmlsZUxpc3Q6IFsuLi5uZXdGaWxlTGlzdF0sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBjb21wb25lbnREaWRVcGRhdGUocHJlUHJvcHMsIHByZVN0YXRlKSB7XHJcbiAgICAgIGlmICh0aGlzLnByb3BzLmZpbGVMaXN0KSB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5wcm9wcy5maWxlTGlzdCkgIT09XHJcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnN0YXRlLmZpbGVMaXN0U3RvcmUpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLmNvbnZlcnRGaWxlTGlzdCh0aGlzLnByb3BzLmZpbGVMaXN0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGdldEZpbGVMaXN0KCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zdGF0ZS5maWxlTGlzdDtcclxuICAgIH1cclxuICAgIHNldEZpbGVMaXN0KGZpbGVMaXN0OiBBcnJheTxPYmplY3Q+KSB7XHJcbiAgICAgIHRoaXMuY29udmVydEZpbGVMaXN0KGZpbGVMaXN0KTtcclxuICAgIH1cclxuICAgIGFzeW5jIGJlZm9yZVVwbG9hZChmaWxlLCBvZmlsZUxpc3QpIHtcclxuICAgICAgbGV0IHtcclxuICAgICAgICBtYXhTaXplID0gMTAwLFxyXG4gICAgICAgIGFsbG93RmlsZVN1ZmZpeCxcclxuICAgICAgICBjaGVja1NhbWVGaWxlID0gdHJ1ZSxcclxuICAgICAgICBtYXhDb3VudCxcclxuICAgICAgICBzaG93VXBsb2FkTGlzdCxcclxuICAgICAgICBmaWxlTGlzdDogcHJvcHNMaXN0LFxyXG4gICAgICAgIG9uTGlzdENoYW5nZSxcclxuICAgICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgIGxldCB7IGZpbGVMaXN0LCBmaWxlTGlzdFN0b3JlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICBsZXQgc2l6ZTogbnVtYmVyO1xyXG4gICAgICBpZiAoYWxsb3dGaWxlU3VmZml4ICYmICF0aGlzLmNoZWNrRmlsZVR5cGUoZmlsZSkpIHtcclxuICAgICAgICBtZXNzYWdlLmVycm9yKFxyXG4gICAgICAgICAgYCR7ZmlsZS5uYW1lfeaWh+S7tuexu+Wei+S4jeWFgeiuuOS4iuS8oO+8jOivt+S4iuS8oOWQjue8gOS4uiR7YWxsb3dGaWxlU3VmZml4feeahOexu+Wei+aWh+S7tu+8gWBcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAobWF4U2l6ZSAhPT0gZmFsc2UpIHtcclxuICAgICAgICBpZiAobWF4U2l6ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgbWF4U2l6ZSA9IDEwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2l6ZSA9IG1heFNpemUgKiAxMDI0ICogMTAyNDtcclxuICAgICAgICBpZiAoc2l6ZSA8IGZpbGUuc2l6ZSkge1xyXG4gICAgICAgICAgbWVzc2FnZS5lcnJvcihgJHtmaWxlLm5hbWV95paH5Lu25aSn5bCP6LaF6L+HJHttYXhTaXplfU3vvIzor7fph43mlrDkuIrkvKDvvIFgKTtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgbGV0IGZpbGVOYW1lcyA9IFtdO1xyXG4gICAgICBpZiAoY2hlY2tTYW1lRmlsZSkge1xyXG4gICAgICAgIGNvbnN0IGNoZWNrTGlzdCA9IHRoaXMucHJvcHMuZmlsZUxpc3QgPyBmaWxlTGlzdFN0b3JlIDogZmlsZUxpc3Q7XHJcbiAgICAgICAgY2hlY2tMaXN0Lm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgZmlsZU5hbWVzLnB1c2goaXRlbS5uYW1lIHx8IGl0ZW0uZmlsZU5hbWUpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAoZmlsZU5hbWVzLmluZGV4T2YoZmlsZS5uYW1lKSA+IC0xICYmIHNob3dVcGxvYWRMaXN0ICE9PSBmYWxzZSkge1xyXG4gICAgICAgICAgbWVzc2FnZS5lcnJvcihg5paH5Lu2JHtmaWxlLm5hbWV95bey5Zyo5LiK5Lyg5YiX6KGo5Lit77yM6K+36YeN5paw6YCJ5oup5paH5Lu277yBYCk7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy5wcm9wcy5iZWZvcmVVcGxvYWQpIHtcclxuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnByb3BzLmJlZm9yZVVwbG9hZChmaWxlLCBvZmlsZUxpc3QpO1xyXG4gICAgICAgIGlmIChyZXMgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG5ld0xpc3QgPSBbLi4uZmlsZUxpc3RdO1xyXG4gICAgICBvZmlsZUxpc3QubWFwKGFzeW5jIChpdGVtKSA9PiB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgIShcclxuICAgICAgICAgICAgKGFsbG93RmlsZVN1ZmZpeCAmJiAhdGhpcy5jaGVja0ZpbGVUeXBlKGl0ZW0pKSB8fFxyXG4gICAgICAgICAgICBzaXplIDwgaXRlbS5zaXplIHx8XHJcbiAgICAgICAgICAgIChjaGVja1NhbWVGaWxlICYmIGZpbGVOYW1lcy5pbmRleE9mKGl0ZW0ubmFtZSkgPiAtMSlcclxuICAgICAgICAgIClcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGNvbnN0IHRlbXAgPSB7XHJcbiAgICAgICAgICAgIGZpbGVOYW1lOiBpdGVtLm5hbWUsXHJcbiAgICAgICAgICAgIHBlcmNlbnQ6IDAsXHJcbiAgICAgICAgICAgIHN0YXR1czogXCJ1cGxvYWRpbmdcIixcclxuICAgICAgICAgICAgdWlkOiBpdGVtLnVpZCxcclxuICAgICAgICAgICAgbmFtZTogaXRlbS5uYW1lLFxyXG4gICAgICAgICAgICB0eXBlOiBpdGVtLnR5cGUsXHJcbiAgICAgICAgICAgIHNpemU6IGl0ZW0uc2l6ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICBuZXdMaXN0LnB1c2godGVtcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGlmIChtYXhDb3VudCAmJiBuZXdMaXN0Lmxlbmd0aCA+IG1heENvdW50KSB7XHJcbiAgICAgICAgbGV0IGxlbmd0aCA9IG5ld0xpc3QubGVuZ3RoIC0gbWF4Q291bnQ7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgbmV3TGlzdC5zcGxpY2UoMCwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UobmV3TGlzdCk7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBmaWxlTGlzdDogbmV3TGlzdCB9KTtcclxuICAgICAgdGhpcy51cGxvYWRTaXplID0gb2ZpbGVMaXN0Lmxlbmd0aDtcclxuICAgIH1cclxuICAgIGNoZWNrRmlsZVR5cGUoZmlsZSkge1xyXG4gICAgICBjb25zdCB7IGFsbG93RmlsZVN1ZmZpeCB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgY29uc3QgbmFtZXMgPSBmaWxlLm5hbWUuc3BsaXQoXCIuXCIpO1xyXG4gICAgICBjb25zdCBzdWZmaXggPSBuYW1lc1tuYW1lcy5sZW5ndGggLSAxXTtcclxuICAgICAgaWYgKGFsbG93RmlsZVN1ZmZpeC5pbmRleE9mKHN1ZmZpeCkgPiAtMSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIG9uUHJvY2Vzcyh7IHBlcmNlbnQsIGZpbGUgfTogYW55KSB7XHJcbiAgICAgIGNvbnN0IHsgZmlsZUxpc3QgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICAgIGNvbnN0IHsgb25MaXN0Q2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICBjb25zdCBuZXdMaXN0OiBhbnkgPSBbXTtcclxuICAgICAgZmlsZUxpc3QubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBuZXdGaWxlID0geyAuLi5pdGVtIH07XHJcbiAgICAgICAgaWYgKGZpbGUudWlkID09IGl0ZW0udWlkKSB7XHJcbiAgICAgICAgICBuZXdGaWxlLnBlcmNlbnQgPSBwZXJjZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBuZXdMaXN0LnB1c2gobmV3RmlsZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBmaWxlTGlzdDogbmV3TGlzdCxcclxuICAgICAgfSk7XHJcbiAgICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UoZmlsZUxpc3QpO1xyXG4gICAgfVxyXG4gICAgYXN5bmMgb25Db21wbGV0ZShmaWxlcykge1xyXG4gICAgICB0aGlzLnVwbG9hZEluZ1NpemUgPSAwO1xyXG4gICAgICB0aGlzLnVwbG9hZFNpemUgPSAwO1xyXG4gICAgICB0aGlzLnVwbG9hZEluZ0xpc3QgPSBbXTtcclxuICAgICAgY29uc3QgeyBmaWxlTGlzdCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgICAgY29uc3QgeyBuZXdWZXJzaW9uID0gdHJ1ZSwgcmVxdWVzdENvbmZpZyA9IHt9IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICBjb25zdCBuZXdMaXN0OiBhbnkgPSBbXTtcclxuICAgICAgZmlsZUxpc3QubWFwKGFzeW5jIChpdGVtOiBhbnksIGluZGV4KSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3RmlsZSA9IHsgLi4uaXRlbSB9O1xyXG4gICAgICAgIGZpbGVzLm1hcChhc3luYyAoZmlsZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGZpbGUuZmlsZS51aWQgPT0gaXRlbS51aWQpIHtcclxuICAgICAgICAgICAgbmV3RmlsZS5zdGF0dXMgPSBmaWxlLnN0YXR1cyA9PSBcInN1Y2Nlc3NcIiA/IFwiZG9uZVwiIDogZmlsZS5zdGF0dXM7XHJcbiAgICAgICAgICAgIG5ld0ZpbGUuZmlsZUlkID0gZmlsZS5maWxlSWQ7XHJcbiAgICAgICAgICAgIG5ld0ZpbGUudXJsID0gZmlsZS51cmw7XHJcbiAgICAgICAgICAgIGlmICghbmV3VmVyc2lvbikge1xyXG4gICAgICAgICAgICAgIGxldCB1cmwgPSBgL2pxdWljay1yZXNvdXJjZS9vc3MvZW5kcG9pbnQvZG93bmxvYWQtZmlsZXM/YXR0YWNoSWQ9JHtcclxuICAgICAgICAgICAgICAgIGZpbGUuZmlsZUlkXHJcbiAgICAgICAgICAgICAgfSZfdHBrPSR7d2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidG9rZW5cIil9YDtcclxuICAgICAgICAgICAgICBuZXdGaWxlLnVybCA9IHJlcXVlc3RDb25maWcucHJlZml4XHJcbiAgICAgICAgICAgICAgICA/IHJlcXVlc3RDb25maWcucHJlZml4ICsgdXJsXHJcbiAgICAgICAgICAgICAgICA6IFwiL2FwaVwiICsgdXJsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgbmV3TGlzdC5wdXNoKG5ld0ZpbGUpO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZmlsZUxpc3Q6IFsuLi5uZXdMaXN0XSxcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBjb25zdCB7IG9uTGlzdENoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgb25MaXN0Q2hhbmdlICYmIG9uTGlzdENoYW5nZShuZXdMaXN0KTtcclxuICAgIH1cclxuICAgIGN1c3RvbVJlcXVlc3QgPSBhc3luYyAob3B0aW9ucykgPT4ge1xyXG4gICAgICBjb25zdCBmaWxlID0gb3B0aW9ucy5maWxlO1xyXG4gICAgICBjb25zdCB7XHJcbiAgICAgICAgb25Db21wbGV0ZSxcclxuICAgICAgICBvblByb2Nlc3MsXHJcbiAgICAgICAgc2xpY2VTaXplLFxyXG4gICAgICAgIG5ld1ZlcnNpb24gPSB0cnVlLFxyXG4gICAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgY29uc3Qgb25Qcm9ncmVzcyA9ICh0b3RhbFByb2dyZXNzOiBhbnkpID0+IHtcclxuICAgICAgICBvcHRpb25zLm9uUHJvZ3Jlc3MoeyBwZXJjZW50OiB0b3RhbFByb2dyZXNzIH0sIGZpbGUpO1xyXG4gICAgICAgIHRoaXMub25Qcm9jZXNzKHsgcGVyY2VudDogdG90YWxQcm9ncmVzcywgZmlsZTogZmlsZSB9KTtcclxuICAgICAgICBvblByb2Nlc3MgJiYgb25Qcm9jZXNzKHsgcGVyY2VudDogdG90YWxQcm9ncmVzcywgZmlsZTogZmlsZSB9KTtcclxuICAgICAgfTtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBjb25zdCByZXM6IGFueSA9IGF3YWl0IHVwbG9hZChcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgZmlsZTogZmlsZSxcclxuICAgICAgICAgICAgb25Qcm9ncmVzczogb25Qcm9ncmVzcyxcclxuICAgICAgICAgICAgcGFydFNpemU6IHNsaWNlU2l6ZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB0aGlzLnByb3BzLnJlcXVlc3RDb25maWdcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMudXBsb2FkSW5nU2l6ZSA9IHRoaXMudXBsb2FkSW5nU2l6ZSArIDE7XHJcbiAgICAgICAgbGV0IGZpbGVJZCA9IG51bGw7XHJcbiAgICAgICAgbGV0IEltZ1JlcyA9IG51bGw7XHJcbiAgICAgICAgaWYgKHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgZmlsZUlkID0gcmVzLmRhdGEuYXR0YWNoSWQ7XHJcbiAgICAgICAgICBvcHRpb25zLm9uU3VjY2VzcygpO1xyXG4gICAgICAgICAgaWYgKHRoaXMucHJvcHMubGlzdFR5cGUgPT0gXCJwaWN0dXJlLWNhcmRcIiAmJiBuZXdWZXJzaW9uKSB7XHJcbiAgICAgICAgICAgIEltZ1JlcyA9IGF3YWl0IHByZXZpZXdJbWFnZShmaWxlSWQsIHRoaXMucHJvcHMucmVxdWVzdENvbmZpZyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG9wdGlvbnMub25FcnJvcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnVwbG9hZEluZ0xpc3QucHVzaCh7XHJcbiAgICAgICAgICBmaWxlOiBvcHRpb25zLmZpbGUsXHJcbiAgICAgICAgICBmaWxlSWQ6IGZpbGVJZCxcclxuICAgICAgICAgIHN0YXR1czogcmVzLmNvZGUgPT0gMjAwID8gXCJzdWNjZXNzXCIgOiBcImVycm9yXCIsXHJcbiAgICAgICAgICB1cmw6IEltZ1JlcyA/IEltZ1Jlcy5kYXRhIDogbnVsbCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAodGhpcy51cGxvYWRTaXplID09IHRoaXMudXBsb2FkSW5nU2l6ZSkge1xyXG4gICAgICAgICAgdGhpcy5vbkNvbXBsZXRlKHRoaXMudXBsb2FkSW5nTGlzdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG9uQ29tcGxldGUgJiZcclxuICAgICAgICAgIG9uQ29tcGxldGUoe1xyXG4gICAgICAgICAgICBmaWxlOiBvcHRpb25zLmZpbGUsXHJcbiAgICAgICAgICAgIGZpbGVJZDogZmlsZUlkLFxyXG4gICAgICAgICAgICBzdGF0dXM6IHJlcy5jb2RlID09IDIwMCA/IFwic3VjY2Vzc1wiIDogXCJlcnJvclwiLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBpZiAodGhpcy51cGxvYWRTaXplID09IHRoaXMudXBsb2FkSW5nU2l6ZSkge1xyXG4gICAgICAgICAgdGhpcy5vbkNvbXBsZXRlKHRoaXMudXBsb2FkSW5nTGlzdCk7XHJcbiAgICAgICAgICBvcHRpb25zLm9uRXJyb3IoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgb25Db21wbGV0ZSAmJlxyXG4gICAgICAgICAgb25Db21wbGV0ZSh7IGZpbGU6IG9wdGlvbnMuZmlsZSwgZmlsZUlkOiBcIlwiLCBzdGF0dXM6IFwiZXJyb3JcIiB9KTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIG9uRGVsZXRlKGZpbGUpIHtcclxuICAgICAgY29uc3QgeyBmaWxlTGlzdCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgICAgY29uc3QgeyBvbkxpc3RDaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgIGNvbnN0IG5ld0xpc3Q6IGFueSA9IFtdO1xyXG4gICAgICBmaWxlTGlzdC5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgIC8v6YCa6L+H5paH5Lu25ZCN5Yik5pat77yM5LiK5Lyg5piv5paH5Lu25ZCN5piv5ZSv5LiA55qEXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgaXRlbS5uYW1lICE9PSBmaWxlLm5hbWUgfHxcclxuICAgICAgICAgIGl0ZW0uZmlsZUlkICE9PSBmaWxlLmZpbGVJZCB8fFxyXG4gICAgICAgICAgaXRlbS51aWQgIT09IGZpbGUudWlkXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBuZXdMaXN0LnB1c2goaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZmlsZUxpc3Q6IG5ld0xpc3QsXHJcbiAgICAgIH0pO1xyXG4gICAgICBvbkxpc3RDaGFuZ2UgJiYgb25MaXN0Q2hhbmdlKG5ld0xpc3QpO1xyXG4gICAgfVxyXG4gICAgcmVuZGVyKCk6IFJlYWN0LlJlYWN0Tm9kZSB7XHJcbiAgICAgIGxldCB7XHJcbiAgICAgICAgZmlsZUxpc3QsXHJcbiAgICAgICAgZmlsZUNhcmQsXHJcbiAgICAgICAgc2hvd1VwbG9hZExpc3QgPSB7XHJcbiAgICAgICAgICBzaG93RG93bmxvYWRJY29uOiB0cnVlLFxyXG4gICAgICAgICAgc2hvd1ByZXZpZXdJY29uOiBmYWxzZSxcclxuICAgICAgICAgIHNob3dSZW1vdmVJY29uOiB0cnVlLFxyXG4gICAgICAgICAgZG93bmxvYWRJY29uOiBudWxsLFxyXG4gICAgICAgICAgcmVtb3ZlSWNvbjogbnVsbCxcclxuICAgICAgICAgIHByZXZpZXdJY29uOiBudWxsLFxyXG4gICAgICAgIH0gYXMgYW55LFxyXG4gICAgICAgIHJlcXVlc3RDb25maWcgPSB7fSxcclxuICAgICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgIGNvbnN0IG5ld3Byb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXHJcbiAgICAgICAgXCJzbGljZVNpemVcIixcclxuICAgICAgICBcIm1heFNpemVcIixcclxuICAgICAgICBcIm9uQ29tcGxldGVcIixcclxuICAgICAgICBcIm9uUHJvY2Vzc1wiLFxyXG4gICAgICAgIFwiYWxsb3dGaWxlU3VmZml4XCIsXHJcbiAgICAgICAgXCJ1c2VEZWZhdWx0TGlzdFwiLFxyXG4gICAgICAgIFwiZmlsZUNhcmRcIixcclxuICAgICAgICBcIm9uTGlzdENoYW5nZVwiLFxyXG4gICAgICAgIFwibmV3VmVyc2lvblwiLFxyXG4gICAgICAgIFwicmVxdWVzdENvbmZpZ1wiLFxyXG4gICAgICBdKTtcclxuICAgICAgbGV0IGRlZmF1bHRQcm9wcyA9IHtcclxuICAgICAgICBjdXN0b21SZXF1ZXN0OiB0aGlzLmN1c3RvbVJlcXVlc3QuYmluZCh0aGlzKSxcclxuICAgICAgICBtdWx0aXBsZTogdHJ1ZSxcclxuICAgICAgfSBhcyBJVXBsb2FkUHJvcHM7XHJcbiAgICAgIGlmIChmaWxlQ2FyZCkge1xyXG4gICAgICAgIGRlZmF1bHRQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLmRlZmF1bHRQcm9wcyxcclxuICAgICAgICAgIGl0ZW1SZW5kZXI6IChvcmlnaW5Ob2RlLCBmaWxlOiBhbnksIGN1cnJGaWxlTGlzdCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBuYW1lID0gZmlsZS5uYW1lIHx8IGZpbGUuZmlsZU5hbWU7XHJcbiAgICAgICAgICAgIGNvbnN0IG5hbWVzID0gbmFtZT8uc3BsaXQoXCIuXCIpO1xyXG4gICAgICAgICAgICBjb25zdCBzdWZmaXggPSBuYW1lcyA/IG5hbWVzW25hbWVzLmxlbmd0aCAtIDFdIDogXCJcIjtcclxuICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZmlsZS1pdGVtXCIpfT5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHMoZ2V0TGVzcyhzdHlsZXMsIFwiY29udGVudFwiKSwge1xyXG4gICAgICAgICAgICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJjb250ZW50X2Vycm9yXCIpXTogZmlsZS5zdGF0dXMgPT0gXCJlcnJvclwiLFxyXG4gICAgICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm1hcmstcGljdHVyZVwiKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgPEZpbGVJY29uIHN1ZmZpeD17c3VmZml4fSBmaWxlSWQ9e2ZpbGUuZmlsZUlkfSAvPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5hbWVcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgIHtmaWxlLm5hbWUgfHwgZmlsZS5maWxlTmFtZX1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfT5cclxuICAgICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3Quc2hvd1ByZXZpZXdJY29uICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICBmaWxlLnN0YXR1cyA9PSBcImRvbmVcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblByZXZpZXcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vblByZXZpZXcoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2aWV3RG9jdW1lbnQoZmlsZS5maWxlSWQsIHJlcXVlc3RDb25maWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgY3Vyc29yOiBcInBvaW50ZXJcIiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvbiA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RXllT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LnNob3dEb3dubG9hZEljb24gJiZcclxuICAgICAgICAgICAgICAgICAgICAgIGZpbGUuc3RhdHVzID09IFwiZG9uZVwiICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uRG93bmxvYWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vbkRvd25sb2FkKGZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG93bmxvYWQoZmlsZS5maWxlSWQsIHRydWUsIHJlcXVlc3RDb25maWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgY3Vyc29yOiBcInBvaW50ZXJcIiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvbiA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RG93bmxvYWRPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3Quc2hvd1JlbW92ZUljb24gJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMub25SZW1vdmUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMub25SZW1vdmUoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25EZWxldGUoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjdXJzb3I6IFwicG9pbnRlclwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb24gPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPERlbGV0ZU91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAge2ZpbGUuc3RhdHVzID09IFwidXBsb2FkaW5nXCIgJiYgKFxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwicHJvY2Vzc1wiKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJwZXJjZW50XCIpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IGZpbGUucGVyY2VudCArIFwiJVwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZGVmYXVsdFByb3BzID0ge1xyXG4gICAgICAgICAgLi4uZGVmYXVsdFByb3BzLFxyXG4gICAgICAgICAgb25Eb3dubG9hZDogKGZpbGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vbkRvd25sb2FkKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vbkRvd25sb2FkKGZpbGUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGRvd25sb2FkKGZpbGUuZmlsZUlkLCB0cnVlLCByZXF1ZXN0Q29uZmlnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIG9uUmVtb3ZlOiAoZmlsZSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblJlbW92ZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMucHJvcHMub25SZW1vdmUoZmlsZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5vbkRlbGV0ZShmaWxlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIG9uUHJldmlldzogKGZpbGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblByZXZpZXcpIHtcclxuICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uUHJldmlldyhmaWxlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBpZiAoZmlsZT8uZmlsZUlkKSB7XHJcbiAgICAgICAgICAgICAgICBwcmV2aWV3RG9jdW1lbnQoZmlsZS5maWxlSWQsIHJlcXVlc3RDb25maWcpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHNob3dVcGxvYWRMaXN0OiB7IC4uLnNob3dVcGxvYWRMaXN0IH0sXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDw+XHJcbiAgICAgICAgICA8Q29tcG9uZW50XHJcbiAgICAgICAgICAgIHsuLi5kZWZhdWx0UHJvcHN9XHJcbiAgICAgICAgICAgIHsuLi5uZXdwcm9wc31cclxuICAgICAgICAgICAgYmVmb3JlVXBsb2FkPXt0aGlzLmJlZm9yZVVwbG9hZC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBmaWxlTGlzdD17dGhpcy5zdGF0ZS5maWxlTGlzdH1cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC8+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfTtcclxufTtcclxuXHJcbmNvbnN0IE5zY1VwbG9hZDogYW55ID0gd2l0aEN1c3RvbVVwbG9hZChVcGxvYWQpO1xyXG4vLyAvLyDkvb/nlKggd2l0aEN1c3RvbVVwbG9hZCDlsIHoo4UgVXBsb2FkLkRyYWdnZXIg57uE5Lu2XHJcbmNvbnN0IE5zY1VwbG9hZERyYWdnZXIgPSB3aXRoQ3VzdG9tVXBsb2FkKFVwbG9hZC5EcmFnZ2VyKTtcclxuTnNjVXBsb2FkLkRyYWdnZXIgPSBOc2NVcGxvYWREcmFnZ2VyO1xyXG5leHBvcnQgZGVmYXVsdCBOc2NVcGxvYWQ7XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLE9BQU8sS0FBS0EsS0FBSyxNQUFNLE9BQU87QUFFOUIsT0FBT0MsSUFBSSxNQUFNLFVBQVU7QUFDM0IsT0FBT0MsT0FBTyxNQUFNLFlBQVk7QUFDaEMsT0FBT0MsSUFBSSxNQUFNLFNBQVM7QUFDMUIsU0FBU0MsT0FBTyxRQUFRLGFBQWE7QUFDckMsT0FBT0MsTUFBTSxNQUFNLGNBQWM7QUFDakMsT0FBT0MsR0FBRyxNQUFNLFlBQVk7QUFDNUIsT0FBT0MsUUFBUSxNQUFNLG9CQUFvQjtBQUN6QyxTQUNFQyxjQUFjLEVBQ2RDLGdCQUFnQixFQUNoQkMsV0FBVyxRQUNOLG1CQUFtQjtBQUMxQixNQUFNO0VBQUVDLE1BQU07RUFBRUMsUUFBUTtFQUFFQyxl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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","file","message","omit","getLess","styles","cls","FileIcon","DeleteOutlined","DownloadOutlined","EyeOutlined","upload","download","previewDocument","previewImage","withCustomUpload","Component","PureComponent","constructor","arguments","_defineProperty","fileList","viewId","fileListStore","fileNames","options","onComplete","onProcess","sliceSize","newVersion","props","onProgress","totalProgress","percent","res","partSize","requestConfig","uploadIngSize","fileId","ImgRes","code","data","attachId","onSuccess","listType","onError","uploadIngList","push","status","url","uploadSize","e","componentDidMount","convertFileList","list","newFileList","oldList","setState","i","length","item","temp","_objectSpread","name","fileName","type","size","componentDidUpdate","preProps","preState","JSON","stringify","state","getFileList","setFileList","beforeUpload","ofileList","maxSize","allowFileSuffix","checkSameFile","maxCount","showUploadList","propsList","onListChange","checkFileType","error","concat","checkList","map","indexOf","newList","uid","splice","names","split","suffix","_ref","newFile","files","index","window","localStorage","getItem","prefix","onDelete","render","fileCard","showDownloadIcon","showPreviewIcon","showRemoveIcon","downloadIcon","removeIcon","previewIcon","newprops","defaultProps","customRequest","bind","multiple","itemRender","originNode","currFileList","createElement","className","onClick","onPreview","style","cursor","onDownload","onRemove","width","Fragment","_extends","NscUpload","_Upload","NscUploadDragger","Dragger"],"sources":["../../../src/components/base/upload/index.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { Upload, UploadProps } from \"antd\";\r\nimport file from \"nsc-file\";\r\nimport message from \"../message\";\r\nimport omit from \"omit.js\";\r\nimport { getLess } from \"../../utils\";\r\nimport styles from \"./index.less\";\r\nimport cls from \"classnames\";\r\nimport FileIcon from \"../common/FileIcon\";\r\nimport {\r\n DeleteOutlined,\r\n DownloadOutlined,\r\n EyeOutlined,\r\n} from \"@ant-design/icons\";\r\nconst { upload, download, previewDocument, previewImage } = file;\r\n\r\ninterface IUploadProps extends UploadProps {\r\n sliceSize?: number;\r\n maxSize?: number | boolean;\r\n onProcess?: (process) => void;\r\n onComplete?: ({ file, fileId, status }) => void;\r\n allowFileSuffix?: Array<String>; //允许上传扩展名,不带.\r\n useDefaultList?: boolean; //是否使用默认的fileList\r\n fileCard?: boolean;\r\n onListChange?: any;\r\n checkSameFile?: boolean;\r\n requestConfig?: any;\r\n newVersion?: boolean;\r\n}\r\nconst withCustomUpload = (Component) => {\r\n // 返回一个类组件\r\n return class extends React.PureComponent<IUploadProps, any> {\r\n state = {\r\n fileList: [],\r\n viewId: \"\",\r\n fileListStore: [],\r\n fileNames: [],\r\n };\r\n uploadIngSize = 0;\r\n uploadSize = 0;\r\n uploadIngList = [];\r\n previewUrl = {};\r\n componentDidMount() {\r\n if (this.props.fileList) {\r\n this.convertFileList(this.props.fileList);\r\n }\r\n }\r\n convertFileList(list?: Array<Object>) {\r\n const { fileList, listType } = this.props;\r\n const newFileList = [];\r\n let oldList = list ? list : fileList;\r\n this.setState(\r\n {\r\n fileListStore: [...fileList],\r\n },\r\n async () => {\r\n for (let i = 0; i < oldList.length; i++) {\r\n let item: any = oldList[i];\r\n let temp = {\r\n ...item,\r\n status: item.status,\r\n name: item.name || item.fileName,\r\n type: item.type,\r\n size: item.size,\r\n url: item.url,\r\n } as any;\r\n if (listType == \"picture-card\" && !item.url && item.fileId) {\r\n let res: any = await previewImage(\r\n item.fileId,\r\n this.props.requestConfig\r\n );\r\n if (res.code == 200) {\r\n temp.url = res.data;\r\n }\r\n }\r\n newFileList.push(temp);\r\n }\r\n this.setState({\r\n fileList: [...newFileList],\r\n });\r\n }\r\n );\r\n }\r\n componentDidUpdate(preProps, preState) {\r\n if (this.props.fileList) {\r\n if (\r\n JSON.stringify(this.props.fileList) !==\r\n JSON.stringify(this.state.fileListStore)\r\n ) {\r\n this.convertFileList(this.props.fileList);\r\n }\r\n }\r\n }\r\n getFileList() {\r\n return this.state.fileList;\r\n }\r\n setFileList(fileList: Array<Object>) {\r\n this.convertFileList(fileList);\r\n }\r\n async beforeUpload(file, ofileList) {\r\n let {\r\n maxSize = 100,\r\n allowFileSuffix,\r\n checkSameFile = true,\r\n maxCount,\r\n showUploadList,\r\n fileList: propsList,\r\n onListChange,\r\n } = this.props;\r\n let { fileList, fileListStore } = this.state;\r\n let size: number;\r\n if (allowFileSuffix && !this.checkFileType(file)) {\r\n message.error(\r\n `${file.name}文件类型不允许上传,请上传后缀为${allowFileSuffix}的类型文件!`\r\n );\r\n return false;\r\n }\r\n if (maxSize !== false) {\r\n if (maxSize === true) {\r\n maxSize = 100;\r\n }\r\n size = maxSize * 1024 * 1024;\r\n if (size < file.size) {\r\n message.error(`${file.name}文件大小超过${maxSize}M,请重新上传!`);\r\n return false;\r\n }\r\n }\r\n let fileNames = [];\r\n if (checkSameFile) {\r\n const checkList = this.props.fileList ? fileListStore : fileList;\r\n checkList.map((item) => {\r\n fileNames.push(item.name || item.fileName);\r\n });\r\n\r\n if (fileNames.indexOf(file.name) > -1 && showUploadList !== false) {\r\n message.error(`文件${file.name}已在上传列表中,请重新选择文件!`);\r\n return false;\r\n }\r\n }\r\n\r\n if (this.props.beforeUpload) {\r\n const res = await this.props.beforeUpload(file, ofileList);\r\n if (res === false) {\r\n return false;\r\n }\r\n }\r\n const newList = [...fileList];\r\n ofileList.map(async (item) => {\r\n if (\r\n !(\r\n (allowFileSuffix && !this.checkFileType(item)) ||\r\n size < item.size ||\r\n (checkSameFile && fileNames.indexOf(item.name) > -1)\r\n )\r\n ) {\r\n const temp = {\r\n fileName: item.name,\r\n percent: 0,\r\n status: \"uploading\",\r\n uid: item.uid,\r\n name: item.name,\r\n type: item.type,\r\n size: item.size,\r\n };\r\n newList.push(temp);\r\n }\r\n });\r\n\r\n if (maxCount && newList.length > maxCount) {\r\n let length = newList.length - maxCount;\r\n for (let i = 0; i < length; i++) {\r\n newList.splice(0, 1);\r\n }\r\n }\r\n onListChange && onListChange(newList);\r\n this.setState({ fileList: newList });\r\n this.uploadSize = ofileList.length;\r\n }\r\n checkFileType(file) {\r\n const { allowFileSuffix } = this.props;\r\n const names = file.name.split(\".\");\r\n const suffix = names[names.length - 1];\r\n if (allowFileSuffix.indexOf(suffix) > -1) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n onProcess({ percent, file }: any) {\r\n const { fileList } = this.state;\r\n const { onListChange } = this.props;\r\n const newList: any = [];\r\n fileList.map((item: any) => {\r\n const newFile = { ...item };\r\n if (file.uid == item.uid) {\r\n newFile.percent = percent;\r\n }\r\n newList.push(newFile);\r\n });\r\n this.setState({\r\n fileList: newList,\r\n });\r\n onListChange && onListChange(fileList);\r\n }\r\n async onComplete(files) {\r\n this.uploadIngSize = 0;\r\n this.uploadSize = 0;\r\n this.uploadIngList = [];\r\n const { fileList } = this.state;\r\n const { newVersion = true, requestConfig = {} } = this.props;\r\n const newList: any = [];\r\n fileList.map(async (item: any, index) => {\r\n const newFile = { ...item };\r\n files.map(async (file) => {\r\n if (file.file.uid == item.uid) {\r\n newFile.status = file.status == \"success\" ? \"done\" : file.status;\r\n newFile.fileId = file.fileId;\r\n newFile.url = file.url;\r\n if (!newVersion) {\r\n let url = `/jquick-resource/oss/endpoint/download-files?attachId=${\r\n file.fileId\r\n }&_tpk=${window.localStorage.getItem(\"token\")}`;\r\n newFile.url = requestConfig.prefix\r\n ? requestConfig.prefix + url\r\n : \"/api\" + url;\r\n }\r\n }\r\n });\r\n newList.push(newFile);\r\n });\r\n this.setState({\r\n fileList: [...newList],\r\n });\r\n\r\n const { onListChange } = this.props;\r\n onListChange && onListChange(newList);\r\n }\r\n customRequest = async (options) => {\r\n const file = options.file;\r\n const {\r\n onComplete,\r\n onProcess,\r\n sliceSize,\r\n newVersion = true,\r\n } = this.props;\r\n const onProgress = (totalProgress: any) => {\r\n options.onProgress({ percent: totalProgress }, file);\r\n this.onProcess({ percent: totalProgress, file: file });\r\n onProcess && onProcess({ percent: totalProgress, file: file });\r\n };\r\n try {\r\n const res: any = await upload(\r\n {\r\n file: file,\r\n onProgress: onProgress,\r\n partSize: sliceSize,\r\n },\r\n this.props.requestConfig\r\n );\r\n this.uploadIngSize = this.uploadIngSize + 1;\r\n let fileId = null;\r\n let ImgRes = null;\r\n if (res.code == 200) {\r\n fileId = res.data.attachId;\r\n options.onSuccess();\r\n if (this.props.listType == \"picture-card\" && newVersion) {\r\n ImgRes = await previewImage(fileId, this.props.requestConfig);\r\n }\r\n } else {\r\n options.onError();\r\n }\r\n this.uploadIngList.push({\r\n file: options.file,\r\n fileId: fileId,\r\n status: res.code == 200 ? \"success\" : \"error\",\r\n url: ImgRes ? ImgRes.data : null,\r\n });\r\n if (this.uploadSize == this.uploadIngSize) {\r\n this.onComplete(this.uploadIngList);\r\n }\r\n onComplete &&\r\n onComplete({\r\n file: options.file,\r\n fileId: fileId,\r\n status: res.code == 200 ? \"success\" : \"error\",\r\n });\r\n } catch (e) {\r\n if (this.uploadSize == this.uploadIngSize) {\r\n this.onComplete(this.uploadIngList);\r\n options.onError();\r\n }\r\n onComplete &&\r\n onComplete({ file: options.file, fileId: \"\", status: \"error\" });\r\n }\r\n };\r\n onDelete(file) {\r\n const { fileList } = this.state;\r\n const { onListChange } = this.props;\r\n const newList: any = [];\r\n fileList.map((item: any) => {\r\n //通过文件名判断,上传是文件名是唯一的\r\n if (\r\n item.name !== file.name ||\r\n item.fileId !== file.fileId ||\r\n item.uid !== file.uid\r\n ) {\r\n newList.push(item);\r\n }\r\n });\r\n this.setState({\r\n fileList: newList,\r\n });\r\n onListChange && onListChange(newList);\r\n }\r\n render(): React.ReactNode {\r\n let {\r\n fileList,\r\n fileCard,\r\n showUploadList = {\r\n showDownloadIcon: true,\r\n showPreviewIcon: false,\r\n showRemoveIcon: true,\r\n downloadIcon: null,\r\n removeIcon: null,\r\n previewIcon: null,\r\n } as any,\r\n requestConfig = {},\r\n } = this.props;\r\n const newprops = omit(this.props, [\r\n \"sliceSize\",\r\n \"maxSize\",\r\n \"onComplete\",\r\n \"onProcess\",\r\n \"allowFileSuffix\",\r\n \"useDefaultList\",\r\n \"fileCard\",\r\n \"onListChange\",\r\n \"newVersion\",\r\n \"requestConfig\",\r\n ]);\r\n let defaultProps = {\r\n customRequest: this.customRequest.bind(this),\r\n multiple: true,\r\n } as IUploadProps;\r\n if (fileCard) {\r\n defaultProps = {\r\n ...defaultProps,\r\n itemRender: (originNode, file: any, currFileList) => {\r\n const name = file.name || file.fileName;\r\n const names = name?.split(\".\");\r\n const suffix = names ? names[names.length - 1] : \"\";\r\n return (\r\n <div className={getLess(styles, \"file-item\")}>\r\n <div\r\n className={cls(getLess(styles, \"content\"), {\r\n [getLess(styles, \"content_error\")]: file.status == \"error\",\r\n })}\r\n >\r\n <div className={getLess(styles, \"mark-picture\")}>\r\n <FileIcon suffix={suffix} fileId={file.fileId} />\r\n </div>\r\n <div className={getLess(styles, \"name\")}>\r\n {file.name || file.fileName}\r\n </div>\r\n <div className={getLess(styles, \"icon\")}>\r\n {showUploadList.showPreviewIcon &&\r\n file.status == \"done\" && (\r\n <div\r\n onClick={() => {\r\n if (this.props.onPreview) {\r\n this.props.onPreview(file);\r\n } else {\r\n previewDocument(file.fileId, requestConfig);\r\n }\r\n }}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n {showUploadList.downloadIcon ? (\r\n showUploadList.downloadIcon\r\n ) : (\r\n <EyeOutlined />\r\n )}\r\n </div>\r\n )}\r\n {showUploadList.showDownloadIcon &&\r\n file.status == \"done\" && (\r\n <div\r\n onClick={() => {\r\n if (this.props.onDownload) {\r\n this.props.onDownload(file);\r\n } else {\r\n download(file.fileId, true, requestConfig);\r\n }\r\n }}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n {showUploadList.downloadIcon ? (\r\n showUploadList.downloadIcon\r\n ) : (\r\n <DownloadOutlined />\r\n )}\r\n </div>\r\n )}\r\n {showUploadList.showRemoveIcon && (\r\n <div\r\n onClick={() => {\r\n if (this.props.onRemove) {\r\n this.props.onRemove(file);\r\n } else {\r\n this.onDelete(file);\r\n }\r\n }}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n {showUploadList.downloadIcon ? (\r\n showUploadList.downloadIcon\r\n ) : (\r\n <DeleteOutlined />\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n {file.status == \"uploading\" && (\r\n <div className={getLess(styles, \"process\")}>\r\n <div\r\n className={getLess(styles, \"percent\")}\r\n style={{ width: file.percent + \"%\" }}\r\n ></div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n },\r\n };\r\n } else {\r\n defaultProps = {\r\n ...defaultProps,\r\n onDownload: (file: any) => {\r\n if (this.props.onDownload) {\r\n this.props.onDownload(file);\r\n } else {\r\n download(file.fileId, true, requestConfig);\r\n }\r\n },\r\n onRemove: (file) => {\r\n if (this.props.onRemove) {\r\n this.props.onRemove(file);\r\n } else {\r\n this.onDelete(file);\r\n }\r\n },\r\n onPreview: (file: any) => {\r\n if (this.props.onPreview) {\r\n this.props.onPreview(file);\r\n } else {\r\n if (file?.fileId) {\r\n previewDocument(file.fileId, requestConfig);\r\n }\r\n }\r\n },\r\n showUploadList: { ...showUploadList },\r\n };\r\n }\r\n return (\r\n <>\r\n <Component\r\n {...defaultProps}\r\n {...newprops}\r\n beforeUpload={this.beforeUpload.bind(this)}\r\n fileList={this.state.fileList}\r\n />\r\n </>\r\n );\r\n }\r\n };\r\n};\r\n\r\nconst NscUpload: any = withCustomUpload(Upload);\r\n// // 使用 withCustomUpload 封装 Upload.Dragger 组件\r\nconst NscUploadDragger = withCustomUpload(Upload.Dragger);\r\nNscUpload.Dragger = NscUploadDragger;\r\nexport default NscUpload;\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","file","message","omit","getLess","styles","cls","FileIcon","DeleteOutlined","DownloadOutlined","EyeOutlined","upload","download","previewDocument","previewImage","withCustomUpload","Component","PureComponent","constructor","arguments","_defineProperty","fileList","viewId","fileListStore","fileNames","options","onComplete","onProcess","sliceSize","newVersion","props","onProgress","totalProgress","percent","res","partSize","requestConfig","uploadIngSize","fileId","ImgRes","code","data","attachId","onSuccess","listType","onError","uploadIngList","push","status","url","uploadSize","e","componentDidMount","convertFileList","list","newFileList","oldList","setState","i","length","item","temp","_objectSpread","name","fileName","type","size","componentDidUpdate","preProps","preState","JSON","stringify","state","getFileList","setFileList","beforeUpload","ofileList","maxSize","allowFileSuffix","checkSameFile","maxCount","showUploadList","propsList","onListChange","checkFileType","error","concat","checkList","map","indexOf","newList","uid","splice","names","split","suffix","_ref","newFile","files","index","window","localStorage","getItem","prefix","onDelete","render","fileCard","showDownloadIcon","showPreviewIcon","showRemoveIcon","downloadIcon","removeIcon","previewIcon","newprops","defaultProps","customRequest","bind","multiple","itemRender","originNode","currFileList","createElement","className","onClick","onPreview","style","cursor","onDownload","onRemove","width","Fragment","_extends","NscUpload","_Upload","NscUploadDragger","Dragger"],"sources":["../../../src/components/base/upload/index.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { Upload, UploadProps } from \"antd\";\r\nimport file from \"nsc-file\";\r\nimport message from \"../message\";\r\nimport omit from \"omit.js\";\r\nimport { getLess } from \"../../utils\";\r\nimport styles from \"./index.less\";\r\nimport cls from \"classnames\";\r\nimport FileIcon from \"../common/FileIcon\";\r\nimport {\r\n DeleteOutlined,\r\n DownloadOutlined,\r\n EyeOutlined,\r\n} from \"@ant-design/icons\";\r\nconst { upload, download, previewDocument, previewImage } = file;\r\n\r\ninterface IUploadProps extends UploadProps {\r\n sliceSize?: number;\r\n maxSize?: number | boolean;\r\n onProcess?: (process) => void;\r\n onComplete?: ({ file, fileId, status }) => void;\r\n allowFileSuffix?: Array<String>; //允许上传扩展名,不带.\r\n useDefaultList?: boolean; //是否使用默认的fileList\r\n fileCard?: boolean;\r\n onListChange?: any;\r\n checkSameFile?: boolean;\r\n requestConfig?: any;\r\n newVersion?: boolean;\r\n [propsName: string]: any;\r\n}\r\nconst withCustomUpload = (Component) => {\r\n // 返回一个类组件\r\n return class extends React.PureComponent<IUploadProps, any> {\r\n state = {\r\n fileList: [],\r\n viewId: \"\",\r\n fileListStore: [],\r\n fileNames: [],\r\n };\r\n uploadIngSize = 0;\r\n uploadSize = 0;\r\n uploadIngList = [];\r\n previewUrl = {};\r\n componentDidMount() {\r\n if (this.props.fileList) {\r\n this.convertFileList(this.props.fileList);\r\n }\r\n }\r\n convertFileList(list?: Array<Object>) {\r\n const { fileList, listType } = this.props;\r\n const newFileList = [];\r\n let oldList = list ? list : fileList;\r\n this.setState(\r\n {\r\n fileListStore: [...fileList],\r\n },\r\n async () => {\r\n for (let i = 0; i < oldList.length; i++) {\r\n let item: any = oldList[i];\r\n let temp = {\r\n ...item,\r\n status: item.status,\r\n name: item.name || item.fileName,\r\n type: item.type,\r\n size: item.size,\r\n url: item.url,\r\n } as any;\r\n if (listType == \"picture-card\" && !item.url && item.fileId) {\r\n let res: any = await previewImage(\r\n item.fileId,\r\n this.props.requestConfig\r\n );\r\n if (res.code == 200) {\r\n temp.url = res.data;\r\n }\r\n }\r\n newFileList.push(temp);\r\n }\r\n this.setState({\r\n fileList: [...newFileList],\r\n });\r\n }\r\n );\r\n }\r\n componentDidUpdate(preProps, preState) {\r\n if (this.props.fileList) {\r\n if (\r\n JSON.stringify(this.props.fileList) !==\r\n JSON.stringify(this.state.fileListStore)\r\n ) {\r\n this.convertFileList(this.props.fileList);\r\n }\r\n }\r\n }\r\n getFileList() {\r\n return this.state.fileList;\r\n }\r\n setFileList(fileList: Array<Object>) {\r\n this.convertFileList(fileList);\r\n }\r\n async beforeUpload(file, ofileList) {\r\n let {\r\n maxSize = 100,\r\n allowFileSuffix,\r\n checkSameFile = true,\r\n maxCount,\r\n showUploadList,\r\n fileList: propsList,\r\n onListChange,\r\n } = this.props;\r\n let { fileList, fileListStore } = this.state;\r\n let size: number;\r\n if (allowFileSuffix && !this.checkFileType(file)) {\r\n message.error(\r\n `${file.name}文件类型不允许上传,请上传后缀为${allowFileSuffix}的类型文件!`\r\n );\r\n return false;\r\n }\r\n if (maxSize !== false) {\r\n if (maxSize === true) {\r\n maxSize = 100;\r\n }\r\n size = maxSize * 1024 * 1024;\r\n if (size < file.size) {\r\n message.error(`${file.name}文件大小超过${maxSize}M,请重新上传!`);\r\n return false;\r\n }\r\n }\r\n let fileNames = [];\r\n if (checkSameFile) {\r\n const checkList = this.props.fileList ? fileListStore : fileList;\r\n checkList.map((item) => {\r\n fileNames.push(item.name || item.fileName);\r\n });\r\n\r\n if (fileNames.indexOf(file.name) > -1 && showUploadList !== false) {\r\n message.error(`文件${file.name}已在上传列表中,请重新选择文件!`);\r\n return false;\r\n }\r\n }\r\n\r\n if (this.props.beforeUpload) {\r\n const res = await this.props.beforeUpload(file, ofileList);\r\n if (res === false) {\r\n return false;\r\n }\r\n }\r\n const newList = [...fileList];\r\n ofileList.map(async (item) => {\r\n if (\r\n !(\r\n (allowFileSuffix && !this.checkFileType(item)) ||\r\n size < item.size ||\r\n (checkSameFile && fileNames.indexOf(item.name) > -1)\r\n )\r\n ) {\r\n const temp = {\r\n fileName: item.name,\r\n percent: 0,\r\n status: \"uploading\",\r\n uid: item.uid,\r\n name: item.name,\r\n type: item.type,\r\n size: item.size,\r\n };\r\n newList.push(temp);\r\n }\r\n });\r\n\r\n if (maxCount && newList.length > maxCount) {\r\n let length = newList.length - maxCount;\r\n for (let i = 0; i < length; i++) {\r\n newList.splice(0, 1);\r\n }\r\n }\r\n onListChange && onListChange(newList);\r\n this.setState({ fileList: newList });\r\n this.uploadSize = ofileList.length;\r\n }\r\n checkFileType(file) {\r\n const { allowFileSuffix } = this.props;\r\n const names = file.name.split(\".\");\r\n const suffix = names[names.length - 1];\r\n if (allowFileSuffix.indexOf(suffix) > -1) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n onProcess({ percent, file }: any) {\r\n const { fileList } = this.state;\r\n const { onListChange } = this.props;\r\n const newList: any = [];\r\n fileList.map((item: any) => {\r\n const newFile = { ...item };\r\n if (file.uid == item.uid) {\r\n newFile.percent = percent;\r\n }\r\n newList.push(newFile);\r\n });\r\n this.setState({\r\n fileList: newList,\r\n });\r\n onListChange && onListChange(fileList);\r\n }\r\n async onComplete(files) {\r\n this.uploadIngSize = 0;\r\n this.uploadSize = 0;\r\n this.uploadIngList = [];\r\n const { fileList } = this.state;\r\n const { newVersion = true, requestConfig = {} } = this.props;\r\n const newList: any = [];\r\n fileList.map(async (item: any, index) => {\r\n const newFile = { ...item };\r\n files.map(async (file) => {\r\n if (file.file.uid == item.uid) {\r\n newFile.status = file.status == \"success\" ? \"done\" : file.status;\r\n newFile.fileId = file.fileId;\r\n newFile.url = file.url;\r\n if (!newVersion) {\r\n let url = `/jquick-resource/oss/endpoint/download-files?attachId=${\r\n file.fileId\r\n }&_tpk=${window.localStorage.getItem(\"token\")}`;\r\n newFile.url = requestConfig.prefix\r\n ? requestConfig.prefix + url\r\n : \"/api\" + url;\r\n }\r\n }\r\n });\r\n newList.push(newFile);\r\n });\r\n this.setState({\r\n fileList: [...newList],\r\n });\r\n\r\n const { onListChange } = this.props;\r\n onListChange && onListChange(newList);\r\n }\r\n customRequest = async (options) => {\r\n const file = options.file;\r\n const {\r\n onComplete,\r\n onProcess,\r\n sliceSize,\r\n newVersion = true,\r\n } = this.props;\r\n const onProgress = (totalProgress: any) => {\r\n options.onProgress({ percent: totalProgress }, file);\r\n this.onProcess({ percent: totalProgress, file: file });\r\n onProcess && onProcess({ percent: totalProgress, file: file });\r\n };\r\n try {\r\n const res: any = await upload(\r\n {\r\n file: file,\r\n onProgress: onProgress,\r\n partSize: sliceSize,\r\n },\r\n this.props.requestConfig\r\n );\r\n this.uploadIngSize = this.uploadIngSize + 1;\r\n let fileId = null;\r\n let ImgRes = null;\r\n if (res.code == 200) {\r\n fileId = res.data.attachId;\r\n options.onSuccess();\r\n if (this.props.listType == \"picture-card\" && newVersion) {\r\n ImgRes = await previewImage(fileId, this.props.requestConfig);\r\n }\r\n } else {\r\n options.onError();\r\n }\r\n this.uploadIngList.push({\r\n file: options.file,\r\n fileId: fileId,\r\n status: res.code == 200 ? \"success\" : \"error\",\r\n url: ImgRes ? ImgRes.data : null,\r\n });\r\n if (this.uploadSize == this.uploadIngSize) {\r\n this.onComplete(this.uploadIngList);\r\n }\r\n onComplete &&\r\n onComplete({\r\n file: options.file,\r\n fileId: fileId,\r\n status: res.code == 200 ? \"success\" : \"error\",\r\n });\r\n } catch (e) {\r\n if (this.uploadSize == this.uploadIngSize) {\r\n this.onComplete(this.uploadIngList);\r\n options.onError();\r\n }\r\n onComplete &&\r\n onComplete({ file: options.file, fileId: \"\", status: \"error\" });\r\n }\r\n };\r\n onDelete(file) {\r\n const { fileList } = this.state;\r\n const { onListChange } = this.props;\r\n const newList: any = [];\r\n fileList.map((item: any) => {\r\n //通过文件名判断,上传是文件名是唯一的\r\n if (\r\n item.name !== file.name ||\r\n item.fileId !== file.fileId ||\r\n item.uid !== file.uid\r\n ) {\r\n newList.push(item);\r\n }\r\n });\r\n this.setState({\r\n fileList: newList,\r\n });\r\n onListChange && onListChange(newList);\r\n }\r\n render(): React.ReactNode {\r\n let {\r\n fileList,\r\n fileCard,\r\n showUploadList = {\r\n showDownloadIcon: true,\r\n showPreviewIcon: false,\r\n showRemoveIcon: true,\r\n downloadIcon: null,\r\n removeIcon: null,\r\n previewIcon: null,\r\n } as any,\r\n requestConfig = {},\r\n } = this.props;\r\n const newprops = omit(this.props, [\r\n \"sliceSize\",\r\n \"maxSize\",\r\n \"onComplete\",\r\n \"onProcess\",\r\n \"allowFileSuffix\",\r\n \"useDefaultList\",\r\n \"fileCard\",\r\n \"onListChange\",\r\n \"newVersion\",\r\n \"requestConfig\",\r\n ]);\r\n let defaultProps = {\r\n customRequest: this.customRequest.bind(this),\r\n multiple: true,\r\n } as IUploadProps;\r\n if (fileCard) {\r\n defaultProps = {\r\n ...defaultProps,\r\n itemRender: (originNode, file: any, currFileList) => {\r\n const name = file.name || file.fileName;\r\n const names = name?.split(\".\");\r\n const suffix = names ? names[names.length - 1] : \"\";\r\n return (\r\n <div className={getLess(styles, \"file-item\")}>\r\n <div\r\n className={cls(getLess(styles, \"content\"), {\r\n [getLess(styles, \"content_error\")]: file.status == \"error\",\r\n })}\r\n >\r\n <div className={getLess(styles, \"mark-picture\")}>\r\n <FileIcon suffix={suffix} fileId={file.fileId} />\r\n </div>\r\n <div className={getLess(styles, \"name\")}>\r\n {file.name || file.fileName}\r\n </div>\r\n <div className={getLess(styles, \"icon\")}>\r\n {showUploadList.showPreviewIcon &&\r\n file.status == \"done\" && (\r\n <div\r\n onClick={() => {\r\n if (this.props.onPreview) {\r\n this.props.onPreview(file);\r\n } else {\r\n previewDocument(file.fileId, requestConfig);\r\n }\r\n }}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n {showUploadList.downloadIcon ? (\r\n showUploadList.downloadIcon\r\n ) : (\r\n <EyeOutlined />\r\n )}\r\n </div>\r\n )}\r\n {showUploadList.showDownloadIcon &&\r\n file.status == \"done\" && (\r\n <div\r\n onClick={() => {\r\n if (this.props.onDownload) {\r\n this.props.onDownload(file);\r\n } else {\r\n download(file.fileId, true, requestConfig);\r\n }\r\n }}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n {showUploadList.downloadIcon ? (\r\n showUploadList.downloadIcon\r\n ) : (\r\n <DownloadOutlined />\r\n )}\r\n </div>\r\n )}\r\n {showUploadList.showRemoveIcon && (\r\n <div\r\n onClick={() => {\r\n if (this.props.onRemove) {\r\n this.props.onRemove(file);\r\n } else {\r\n this.onDelete(file);\r\n }\r\n }}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n {showUploadList.downloadIcon ? (\r\n showUploadList.downloadIcon\r\n ) : (\r\n <DeleteOutlined />\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n {file.status == \"uploading\" && (\r\n <div className={getLess(styles, \"process\")}>\r\n <div\r\n className={getLess(styles, \"percent\")}\r\n style={{ width: file.percent + \"%\" }}\r\n ></div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n },\r\n };\r\n } else {\r\n defaultProps = {\r\n ...defaultProps,\r\n onDownload: (file: any) => {\r\n if (this.props.onDownload) {\r\n this.props.onDownload(file);\r\n } else {\r\n download(file.fileId, true, requestConfig);\r\n }\r\n },\r\n onRemove: (file) => {\r\n if (this.props.onRemove) {\r\n this.props.onRemove(file);\r\n } else {\r\n this.onDelete(file);\r\n }\r\n },\r\n onPreview: (file: any) => {\r\n if (this.props.onPreview) {\r\n this.props.onPreview(file);\r\n } else {\r\n if (file?.fileId) {\r\n previewDocument(file.fileId, requestConfig);\r\n }\r\n }\r\n },\r\n showUploadList: { ...showUploadList },\r\n };\r\n }\r\n return (\r\n <>\r\n <Component\r\n {...defaultProps}\r\n {...newprops}\r\n beforeUpload={this.beforeUpload.bind(this)}\r\n fileList={this.state.fileList}\r\n />\r\n </>\r\n );\r\n }\r\n };\r\n};\r\n\r\nconst NscUpload: any = withCustomUpload(Upload);\r\n// // 使用 withCustomUpload 封装 Upload.Dragger 组件\r\nconst NscUploadDragger = withCustomUpload(Upload.Dragger);\r\nNscUpload.Dragger = NscUploadDragger;\r\nexport default NscUpload;\r\n"],"mappings":";;;;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAOC,IAAI,MAAM,UAAU;AAC3B,OAAOC,OAAO,MAAM,YAAY;AAChC,OAAOC,IAAI,MAAM,SAAS;AAC1B,SAASC,OAAO,QAAQ,aAAa;AACrC,OAAOC,MAAM,MAAM,cAAc;AACjC,OAAOC,GAAG,MAAM,YAAY;AAC5B,OAAOC,QAAQ,MAAM,oBAAoB;AACzC,SACEC,cAAc,EACdC,gBAAgB,EAChBC,WAAW,QACN,mBAAmB;AAC1B,MAAM;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,eAAe;EAAEC;AAAa,CAAC,GAAGb,IAAI;AAgBhE,MAAMc,gBAAgB,GAAIC,SAAS,IAAK;EACtC;EACA,OAAO,cAAchB,KAAK,CAACiB,aAAa,CAAoB;IAAAC,YAAA;MAAA,SAAAC,SAAA;MAAAC,eAAA,gBAClD;QACNC,QAAQ,EAAE,EAAE;QACZC,MAAM,EAAE,EAAE;QACVC,aAAa,EAAE,EAAE;QACjBC,SAAS,EAAE;MACb,CAAC;MAAAJ,eAAA,wBACe,CAAC;MAAAA,eAAA,qBACJ,CAAC;MAAAA,eAAA,wBACE,EAAE;MAAAA,eAAA,qBACL,CAAC,CAAC;MAAAA,eAAA,wBAmMC,MAAOK,OAAO,IAAK;QACjC,MAAMxB,IAAI,GAAGwB,OAAO,CAACxB,IAAI;QACzB,MAAM;UACJyB,UAAU;UACVC,SAAS;UACTC,SAAS;UACTC,UAAU,GAAG;QACf,CAAC,GAAG,IAAI,CAACC,KAAK;QACd,MAAMC,UAAU,GAAIC,aAAkB,IAAK;UACzCP,OAAO,CAACM,UAAU,CAAC;YAAEE,OAAO,EAAED;UAAc,CAAC,EAAE/B,IAAI,CAAC;UACpD,IAAI,CAAC0B,SAAS,CAAC;YAAEM,OAAO,EAAED,aAAa;YAAE/B,IAAI,EAAEA;UAAK,CAAC,CAAC;UACtD0B,SAAS,IAAIA,SAAS,CAAC;YAAEM,OAAO,EAAED,aAAa;YAAE/B,IAAI,EAAEA;UAAK,CAAC,CAAC;QAChE,CAAC;QACD,IAAI;UACF,MAAMiC,GAAQ,GAAG,MAAMvB,MAAM,CAC3B;YACEV,IAAI,EAAEA,IAAI;YACV8B,UAAU,EAAEA,UAAU;YACtBI,QAAQ,EAAEP;UACZ,CAAC,EACD,IAAI,CAACE,KAAK,CAACM,aACb,CAAC;UACD,IAAI,CAACC,aAAa,GAAG,IAAI,CAACA,aAAa,GAAG,CAAC;UAC3C,IAAIC,MAAM,GAAG,IAAI;UACjB,IAAIC,MAAM,GAAG,IAAI;UACjB,IAAIL,GAAG,CAACM,IAAI,IAAI,GAAG,EAAE;YACnBF,MAAM,GAAGJ,GAAG,CAACO,IAAI,CAACC,QAAQ;YAC1BjB,OAAO,CAACkB,SAAS,CAAC,CAAC;YACnB,IAAI,IAAI,CAACb,KAAK,CAACc,QAAQ,IAAI,cAAc,IAAIf,UAAU,EAAE;cACvDU,MAAM,GAAG,MAAMzB,YAAY,CAACwB,MAAM,EAAE,IAAI,CAACR,KAAK,CAACM,aAAa,CAAC;YAC/D;UACF,CAAC,MAAM;YACLX,OAAO,CAACoB,OAAO,CAAC,CAAC;UACnB;UACA,IAAI,CAACC,aAAa,CAACC,IAAI,CAAC;YACtB9C,IAAI,EAAEwB,OAAO,CAACxB,IAAI;YAClBqC,MAAM,EAAEA,MAAM;YACdU,MAAM,EAAEd,GAAG,CAACM,IAAI,IAAI,GAAG,GAAG,SAAS,GAAG,OAAO;YAC7CS,GAAG,EAAEV,MAAM,GAAGA,MAAM,CAACE,IAAI,GAAG;UAC9B,CAAC,CAAC;UACF,IAAI,IAAI,CAACS,UAAU,IAAI,IAAI,CAACb,aAAa,EAAE;YACzC,IAAI,CAACX,UAAU,CAAC,IAAI,CAACoB,aAAa,CAAC;UACrC;UACApB,UAAU,IACRA,UAAU,CAAC;YACTzB,IAAI,EAAEwB,OAAO,CAACxB,IAAI;YAClBqC,MAAM,EAAEA,MAAM;YACdU,MAAM,EAAEd,GAAG,CAACM,IAAI,IAAI,GAAG,GAAG,SAAS,GAAG;UACxC,CAAC,CAAC;QACN,CAAC,CAAC,OAAOW,CAAC,EAAE;UACV,IAAI,IAAI,CAACD,UAAU,IAAI,IAAI,CAACb,aAAa,EAAE;YACzC,IAAI,CAACX,UAAU,CAAC,IAAI,CAACoB,aAAa,CAAC;YACnCrB,OAAO,CAACoB,OAAO,CAAC,CAAC;UACnB;UACAnB,UAAU,IACRA,UAAU,CAAC;YAAEzB,IAAI,EAAEwB,OAAO,CAACxB,IAAI;YAAEqC,MAAM,EAAE,EAAE;YAAEU,MAAM,EAAE;UAAQ,CAAC,CAAC;QACnE;MACF,CAAC;IAAA;IA3PDI,iBAAiBA,CAAA,EAAG;MAClB,IAAI,IAAI,CAACtB,KAAK,CAACT,QAAQ,EAAE;QACvB,IAAI,CAACgC,eAAe,CAAC,IAAI,CAACvB,KAAK,CAACT,QAAQ,CAAC;MAC3C;IACF;IACAgC,eAAeA,CAACC,IAAoB,EAAE;MACpC,MAAM;QAAEjC,QAAQ;QAAEuB;MAAS,CAAC,GAAG,IAAI,CAACd,KAAK;MACzC,MAAMyB,WAAW,GAAG,EAAE;MACtB,IAAIC,OAAO,GAAGF,IAAI,GAAGA,IAAI,GAAGjC,QAAQ;MACpC,IAAI,CAACoC,QAAQ,CACX;QACElC,aAAa,EAAE,CAAC,GAAGF,QAAQ;MAC7B,CAAC,EACD,YAAY;QACV,KAAK,IAAIqC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,OAAO,CAACG,MAAM,EAAED,CAAC,EAAE,EAAE;UACvC,IAAIE,IAAS,GAAGJ,OAAO,CAACE,CAAC,CAAC;UAC1B,IAAIG,IAAI,GAAAC,aAAA,CAAAA,aAAA,KACHF,IAAI;YACPZ,MAAM,EAAEY,IAAI,CAACZ,MAAM;YACnBe,IAAI,EAAEH,IAAI,CAACG,IAAI,IAAIH,IAAI,CAACI,QAAQ;YAChCC,IAAI,EAAEL,IAAI,CAACK,IAAI;YACfC,IAAI,EAAEN,IAAI,CAACM,IAAI;YACfjB,GAAG,EAAEW,IAAI,CAACX;UAAG,EACP;UACR,IAAIL,QAAQ,IAAI,cAAc,IAAI,CAACgB,IAAI,CAACX,GAAG,IAAIW,IAAI,CAACtB,MAAM,EAAE;YAC1D,IAAIJ,GAAQ,GAAG,MAAMpB,YAAY,CAC/B8C,IAAI,CAACtB,MAAM,EACX,IAAI,CAACR,KAAK,CAACM,aACb,CAAC;YACD,IAAIF,GAAG,CAACM,IAAI,IAAI,GAAG,EAAE;cACnBqB,IAAI,CAACZ,GAAG,GAAGf,GAAG,CAACO,IAAI;YACrB;UACF;UACAc,WAAW,CAACR,IAAI,CAACc,IAAI,CAAC;QACxB;QACA,IAAI,CAACJ,QAAQ,CAAC;UACZpC,QAAQ,EAAE,CAAC,GAAGkC,WAAW;QAC3B,CAAC,CAAC;MACJ,CACF,CAAC;IACH;IACAY,kBAAkBA,CAACC,QAAQ,EAAEC,QAAQ,EAAE;MACrC,IAAI,IAAI,CAACvC,KAAK,CAACT,QAAQ,EAAE;QACvB,IACEiD,IAAI,CAACC,SAAS,CAAC,IAAI,CAACzC,KAAK,CAACT,QAAQ,CAAC,KACnCiD,IAAI,CAACC,SAAS,CAAC,IAAI,CAACC,KAAK,CAACjD,aAAa,CAAC,EACxC;UACA,IAAI,CAAC8B,eAAe,CAAC,IAAI,CAACvB,KAAK,CAACT,QAAQ,CAAC;QAC3C;MACF;IACF;IACAoD,WAAWA,CAAA,EAAG;MACZ,OAAO,IAAI,CAACD,KAAK,CAACnD,QAAQ;IAC5B;IACAqD,WAAWA,CAACrD,QAAuB,EAAE;MACnC,IAAI,CAACgC,eAAe,CAAChC,QAAQ,CAAC;IAChC;IACA,MAAMsD,YAAYA,CAAC1E,IAAI,EAAE2E,SAAS,EAAE;MAClC,IAAI;QACFC,OAAO,GAAG,GAAG;QACbC,eAAe;QACfC,aAAa,GAAG,IAAI;QACpBC,QAAQ;QACRC,cAAc;QACd5D,QAAQ,EAAE6D,SAAS;QACnBC;MACF,CAAC,GAAG,IAAI,CAACrD,KAAK;MACd,IAAI;QAAET,QAAQ;QAAEE;MAAc,CAAC,GAAG,IAAI,CAACiD,KAAK;MAC5C,IAAIN,IAAY;MAChB,IAAIY,eAAe,IAAI,CAAC,IAAI,CAACM,aAAa,CAACnF,IAAI,CAAC,EAAE;QAChDC,OAAO,CAACmF,KAAK,IAAAC,MAAA,CACRrF,IAAI,CAAC8D,IAAI,sGAAAuB,MAAA,CAAmBR,eAAe,yCAChD,CAAC;QACD,OAAO,KAAK;MACd;MACA,IAAID,OAAO,KAAK,KAAK,EAAE;QACrB,IAAIA,OAAO,KAAK,IAAI,EAAE;UACpBA,OAAO,GAAG,GAAG;QACf;QACAX,IAAI,GAAGW,OAAO,GAAG,IAAI,GAAG,IAAI;QAC5B,IAAIX,IAAI,GAAGjE,IAAI,CAACiE,IAAI,EAAE;UACpBhE,OAAO,CAACmF,KAAK,IAAAC,MAAA,CAAIrF,IAAI,CAAC8D,IAAI,0CAAAuB,MAAA,CAAST,OAAO,gDAAU,CAAC;UACrD,OAAO,KAAK;QACd;MACF;MACA,IAAIrD,SAAS,GAAG,EAAE;MAClB,IAAIuD,aAAa,EAAE;QACjB,MAAMQ,SAAS,GAAG,IAAI,CAACzD,KAAK,CAACT,QAAQ,GAAGE,aAAa,GAAGF,QAAQ;QAChEkE,SAAS,CAACC,GAAG,CAAE5B,IAAI,IAAK;UACtBpC,SAAS,CAACuB,IAAI,CAACa,IAAI,CAACG,IAAI,IAAIH,IAAI,CAACI,QAAQ,CAAC;QAC5C,CAAC,CAAC;QAEF,IAAIxC,SAAS,CAACiE,OAAO,CAACxF,IAAI,CAAC8D,IAAI,CAAC,GAAG,CAAC,CAAC,IAAIkB,cAAc,KAAK,KAAK,EAAE;UACjE/E,OAAO,CAACmF,KAAK,gBAAAC,MAAA,CAAMrF,IAAI,CAAC8D,IAAI,qGAAkB,CAAC;UAC/C,OAAO,KAAK;QACd;MACF;MAEA,IAAI,IAAI,CAACjC,KAAK,CAAC6C,YAAY,EAAE;QAC3B,MAAMzC,GAAG,GAAG,MAAM,IAAI,CAACJ,KAAK,CAAC6C,YAAY,CAAC1E,IAAI,EAAE2E,SAAS,CAAC;QAC1D,IAAI1C,GAAG,KAAK,KAAK,EAAE;UACjB,OAAO,KAAK;QACd;MACF;MACA,MAAMwD,OAAO,GAAG,CAAC,GAAGrE,QAAQ,CAAC;MAC7BuD,SAAS,CAACY,GAAG,CAAC,MAAO5B,IAAI,IAAK;QAC5B,IACE,EACGkB,eAAe,IAAI,CAAC,IAAI,CAACM,aAAa,CAACxB,IAAI,CAAC,IAC7CM,IAAI,GAAGN,IAAI,CAACM,IAAI,IACfa,aAAa,IAAIvD,SAAS,CAACiE,OAAO,CAAC7B,IAAI,CAACG,IAAI,CAAC,GAAG,CAAC,CAAE,CACrD,EACD;UACA,MAAMF,IAAI,GAAG;YACXG,QAAQ,EAAEJ,IAAI,CAACG,IAAI;YACnB9B,OAAO,EAAE,CAAC;YACVe,MAAM,EAAE,WAAW;YACnB2C,GAAG,EAAE/B,IAAI,CAAC+B,GAAG;YACb5B,IAAI,EAAEH,IAAI,CAACG,IAAI;YACfE,IAAI,EAAEL,IAAI,CAACK,IAAI;YACfC,IAAI,EAAEN,IAAI,CAACM;UACb,CAAC;UACDwB,OAAO,CAAC3C,IAAI,CAACc,IAAI,CAAC;QACpB;MACF,CAAC,CAAC;MAEF,IAAImB,QAAQ,IAAIU,OAAO,CAAC/B,MAAM,GAAGqB,QAAQ,EAAE;QACzC,IAAIrB,MAAM,GAAG+B,OAAO,CAAC/B,MAAM,GAAGqB,QAAQ;QACtC,KAAK,IAAItB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGC,MAAM,EAAED,CAAC,EAAE,EAAE;UAC/BgC,OAAO,CAACE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QACtB;MACF;MACAT,YAAY,IAAIA,YAAY,CAACO,OAAO,CAAC;MACrC,IAAI,CAACjC,QAAQ,CAAC;QAAEpC,QAAQ,EAAEqE;MAAQ,CAAC,CAAC;MACpC,IAAI,CAACxC,UAAU,GAAG0B,SAAS,CAACjB,MAAM;IACpC;IACAyB,aAAaA,CAACnF,IAAI,EAAE;MAClB,MAAM;QAAE6E;MAAgB,CAAC,GAAG,IAAI,CAAChD,KAAK;MACtC,MAAM+D,KAAK,GAAG5F,IAAI,CAAC8D,IAAI,CAAC+B,KAAK,CAAC,GAAG,CAAC;MAClC,MAAMC,MAAM,GAAGF,KAAK,CAACA,KAAK,CAAClC,MAAM,GAAG,CAAC,CAAC;MACtC,IAAImB,eAAe,CAACW,OAAO,CAACM,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;QACxC,OAAO,IAAI;MACb;MACA,OAAO,KAAK;IACd;IACApE,SAASA,CAAAqE,IAAA,EAAyB;MAAA,IAAxB;QAAE/D,OAAO;QAAEhC;MAAU,CAAC,GAAA+F,IAAA;MAC9B,MAAM;QAAE3E;MAAS,CAAC,GAAG,IAAI,CAACmD,KAAK;MAC/B,MAAM;QAAEW;MAAa,CAAC,GAAG,IAAI,CAACrD,KAAK;MACnC,MAAM4D,OAAY,GAAG,EAAE;MACvBrE,QAAQ,CAACmE,GAAG,CAAE5B,IAAS,IAAK;QAC1B,MAAMqC,OAAO,GAAAnC,aAAA,KAAQF,IAAI,CAAE;QAC3B,IAAI3D,IAAI,CAAC0F,GAAG,IAAI/B,IAAI,CAAC+B,GAAG,EAAE;UACxBM,OAAO,CAAChE,OAAO,GAAGA,OAAO;QAC3B;QACAyD,OAAO,CAAC3C,IAAI,CAACkD,OAAO,CAAC;MACvB,CAAC,CAAC;MACF,IAAI,CAACxC,QAAQ,CAAC;QACZpC,QAAQ,EAAEqE;MACZ,CAAC,CAAC;MACFP,YAAY,IAAIA,YAAY,CAAC9D,QAAQ,CAAC;IACxC;IACA,MAAMK,UAAUA,CAACwE,KAAK,EAAE;MACtB,IAAI,CAAC7D,aAAa,GAAG,CAAC;MACtB,IAAI,CAACa,UAAU,GAAG,CAAC;MACnB,IAAI,CAACJ,aAAa,GAAG,EAAE;MACvB,MAAM;QAAEzB;MAAS,CAAC,GAAG,IAAI,CAACmD,KAAK;MAC/B,MAAM;QAAE3C,UAAU,GAAG,IAAI;QAAEO,aAAa,GAAG,CAAC;MAAE,CAAC,GAAG,IAAI,CAACN,KAAK;MAC5D,MAAM4D,OAAY,GAAG,EAAE;MACvBrE,QAAQ,CAACmE,GAAG,CAAC,OAAO5B,IAAS,EAAEuC,KAAK,KAAK;QACvC,MAAMF,OAAO,GAAAnC,aAAA,KAAQF,IAAI,CAAE;QAC3BsC,KAAK,CAACV,GAAG,CAAC,MAAOvF,IAAI,IAAK;UACxB,IAAIA,IAAI,CAACA,IAAI,CAAC0F,GAAG,IAAI/B,IAAI,CAAC+B,GAAG,EAAE;YAC7BM,OAAO,CAACjD,MAAM,GAAG/C,IAAI,CAAC+C,MAAM,IAAI,SAAS,GAAG,MAAM,GAAG/C,IAAI,CAAC+C,MAAM;YAChEiD,OAAO,CAAC3D,MAAM,GAAGrC,IAAI,CAACqC,MAAM;YAC5B2D,OAAO,CAAChD,GAAG,GAAGhD,IAAI,CAACgD,GAAG;YACtB,IAAI,CAACpB,UAAU,EAAE;cACf,IAAIoB,GAAG,4DAAAqC,MAAA,CACLrF,IAAI,CAACqC,MAAM,YAAAgD,MAAA,CACJc,MAAM,CAACC,YAAY,CAACC,OAAO,CAAC,OAAO,CAAC,CAAE;cAC/CL,OAAO,CAAChD,GAAG,GAAGb,aAAa,CAACmE,MAAM,GAC9BnE,aAAa,CAACmE,MAAM,GAAGtD,GAAG,GAC1B,MAAM,GAAGA,GAAG;YAClB;UACF;QACF,CAAC,CAAC;QACFyC,OAAO,CAAC3C,IAAI,CAACkD,OAAO,CAAC;MACvB,CAAC,CAAC;MACF,IAAI,CAACxC,QAAQ,CAAC;QACZpC,QAAQ,EAAE,CAAC,GAAGqE,OAAO;MACvB,CAAC,CAAC;MAEF,MAAM;QAAEP;MAAa,CAAC,GAAG,IAAI,CAACrD,KAAK;MACnCqD,YAAY,IAAIA,YAAY,CAACO,OAAO,CAAC;IACvC;IA2DAc,QAAQA,CAACvG,IAAI,EAAE;MACb,MAAM;QAAEoB;MAAS,CAAC,GAAG,IAAI,CAACmD,KAAK;MAC/B,MAAM;QAAEW;MAAa,CAAC,GAAG,IAAI,CAACrD,KAAK;MACnC,MAAM4D,OAAY,GAAG,EAAE;MACvBrE,QAAQ,CAACmE,GAAG,CAAE5B,IAAS,IAAK;QAC1B;QACA,IACEA,IAAI,CAACG,IAAI,KAAK9D,IAAI,CAAC8D,IAAI,IACvBH,IAAI,CAACtB,MAAM,KAAKrC,IAAI,CAACqC,MAAM,IAC3BsB,IAAI,CAAC+B,GAAG,KAAK1F,IAAI,CAAC0F,GAAG,EACrB;UACAD,OAAO,CAAC3C,IAAI,CAACa,IAAI,CAAC;QACpB;MACF,CAAC,CAAC;MACF,IAAI,CAACH,QAAQ,CAAC;QACZpC,QAAQ,EAAEqE;MACZ,CAAC,CAAC;MACFP,YAAY,IAAIA,YAAY,CAACO,OAAO,CAAC;IACvC;IACAe,MAAMA,CAAA,EAAoB;MACxB,IAAI;QACFpF,QAAQ;QACRqF,QAAQ;QACRzB,cAAc,GAAG;UACf0B,gBAAgB,EAAE,IAAI;UACtBC,eAAe,EAAE,KAAK;UACtBC,cAAc,EAAE,IAAI;UACpBC,YAAY,EAAE,IAAI;UAClBC,UAAU,EAAE,IAAI;UAChBC,WAAW,EAAE;QACf,CAAQ;QACR5E,aAAa,GAAG,CAAC;MACnB,CAAC,GAAG,IAAI,CAACN,KAAK;MACd,MAAMmF,QAAQ,GAAG9G,IAAI,CAAC,IAAI,CAAC2B,KAAK,EAAE,CAChC,WAAW,EACX,SAAS,EACT,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,YAAY,EACZ,eAAe,CAChB,CAAC;MACF,IAAIoF,YAAY,GAAG;QACjBC,aAAa,EAAE,IAAI,CAACA,aAAa,CAACC,IAAI,CAAC,IAAI,CAAC;QAC5CC,QAAQ,EAAE;MACZ,CAAiB;MACjB,IAAIX,QAAQ,EAAE;QACZQ,YAAY,GAAApD,aAAA,CAAAA,aAAA,KACPoD,YAAY;UACfI,UAAU,EAAEA,CAACC,UAAU,EAAEtH,IAAS,EAAEuH,YAAY,KAAK;YACnD,MAAMzD,IAAI,GAAG9D,IAAI,CAAC8D,IAAI,IAAI9D,IAAI,CAAC+D,QAAQ;YACvC,MAAM6B,KAAK,GAAG9B,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE+B,KAAK,CAAC,GAAG,CAAC;YAC9B,MAAMC,MAAM,GAAGF,KAAK,GAAGA,KAAK,CAACA,KAAK,CAAClC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE;YACnD,oBACE3D,KAAA,CAAAyH,aAAA;cAAKC,SAAS,EAAEtH,OAAO,CAACC,MAAM,EAAE,WAAW;YAAE,gBAC3CL,KAAA,CAAAyH,aAAA;cACEC,SAAS,EAAEpH,GAAG,CAACF,OAAO,CAACC,MAAM,EAAE,SAAS,CAAC,EAAE;gBACzC,CAACD,OAAO,CAACC,MAAM,EAAE,eAAe,CAAC,GAAGJ,IAAI,CAAC+C,MAAM,IAAI;cACrD,CAAC;YAAE,gBAEHhD,KAAA,CAAAyH,aAAA;cAAKC,SAAS,EAAEtH,OAAO,CAACC,MAAM,EAAE,cAAc;YAAE,gBAC9CL,KAAA,CAAAyH,aAAA,CAAClH,QAAQ;cAACwF,MAAM,EAAEA,MAAO;cAACzD,MAAM,EAAErC,IAAI,CAACqC;YAAO,CAAE,CAC7C,CAAC,eACNtC,KAAA,CAAAyH,aAAA;cAAKC,SAAS,EAAEtH,OAAO,CAACC,MAAM,EAAE,MAAM;YAAE,GACrCJ,IAAI,CAAC8D,IAAI,IAAI9D,IAAI,CAAC+D,QAChB,CAAC,eACNhE,KAAA,CAAAyH,aAAA;cAAKC,SAAS,EAAEtH,OAAO,CAACC,MAAM,EAAE,MAAM;YAAE,GACrC4E,cAAc,CAAC2B,eAAe,IAC7B3G,IAAI,CAAC+C,MAAM,IAAI,MAAM,iBACnBhD,KAAA,CAAAyH,aAAA;cACEE,OAAO,EAAEA,CAAA,KAAM;gBACb,IAAI,IAAI,CAAC7F,KAAK,CAAC8F,SAAS,EAAE;kBACxB,IAAI,CAAC9F,KAAK,CAAC8F,SAAS,CAAC3H,IAAI,CAAC;gBAC5B,CAAC,MAAM;kBACLY,eAAe,CAACZ,IAAI,CAACqC,MAAM,EAAEF,aAAa,CAAC;gBAC7C;cACF,CAAE;cACFyF,KAAK,EAAE;gBAAEC,MAAM,EAAE;cAAU;YAAE,GAE5B7C,cAAc,CAAC6B,YAAY,GAC1B7B,cAAc,CAAC6B,YAAY,gBAE3B9G,KAAA,CAAAyH,aAAA,CAAC/G,WAAW,MAAE,CAEb,CACN,EACFuE,cAAc,CAAC0B,gBAAgB,IAC9B1G,IAAI,CAAC+C,MAAM,IAAI,MAAM,iBACnBhD,KAAA,CAAAyH,aAAA;cACEE,OAAO,EAAEA,CAAA,KAAM;gBACb,IAAI,IAAI,CAAC7F,KAAK,CAACiG,UAAU,EAAE;kBACzB,IAAI,CAACjG,KAAK,CAACiG,UAAU,CAAC9H,IAAI,CAAC;gBAC7B,CAAC,MAAM;kBACLW,QAAQ,CAACX,IAAI,CAACqC,MAAM,EAAE,IAAI,EAAEF,aAAa,CAAC;gBAC5C;cACF,CAAE;cACFyF,KAAK,EAAE;gBAAEC,MAAM,EAAE;cAAU;YAAE,GAE5B7C,cAAc,CAAC6B,YAAY,GAC1B7B,cAAc,CAAC6B,YAAY,gBAE3B9G,KAAA,CAAAyH,aAAA,CAAChH,gBAAgB,MAAE,CAElB,CACN,EACFwE,cAAc,CAAC4B,cAAc,iBAC5B7G,KAAA,CAAAyH,aAAA;cACEE,OAAO,EAAEA,CAAA,KAAM;gBACb,IAAI,IAAI,CAAC7F,KAAK,CAACkG,QAAQ,EAAE;kBACvB,IAAI,CAAClG,KAAK,CAACkG,QAAQ,CAAC/H,IAAI,CAAC;gBAC3B,CAAC,MAAM;kBACL,IAAI,CAACuG,QAAQ,CAACvG,IAAI,CAAC;gBACrB;cACF,CAAE;cACF4H,KAAK,EAAE;gBAAEC,MAAM,EAAE;cAAU;YAAE,GAE5B7C,cAAc,CAAC6B,YAAY,GAC1B7B,cAAc,CAAC6B,YAAY,gBAE3B9G,KAAA,CAAAyH,aAAA,CAACjH,cAAc,MAAE,CAEhB,CAEJ,CACF,CAAC,EACLP,IAAI,CAAC+C,MAAM,IAAI,WAAW,iBACzBhD,KAAA,CAAAyH,aAAA;cAAKC,SAAS,EAAEtH,OAAO,CAACC,MAAM,EAAE,SAAS;YAAE,gBACzCL,KAAA,CAAAyH,aAAA;cACEC,SAAS,EAAEtH,OAAO,CAACC,MAAM,EAAE,SAAS,CAAE;cACtCwH,KAAK,EAAE;gBAAEI,KAAK,EAAEhI,IAAI,CAACgC,OAAO,GAAG;cAAI;YAAE,CACjC,CACH,CAEJ,CAAC;UAEV;QAAC,EACF;MACH,CAAC,MAAM;QACLiF,YAAY,GAAApD,aAAA,CAAAA,aAAA,KACPoD,YAAY;UACfa,UAAU,EAAG9H,IAAS,IAAK;YACzB,IAAI,IAAI,CAAC6B,KAAK,CAACiG,UAAU,EAAE;cACzB,IAAI,CAACjG,KAAK,CAACiG,UAAU,CAAC9H,IAAI,CAAC;YAC7B,CAAC,MAAM;cACLW,QAAQ,CAACX,IAAI,CAACqC,MAAM,EAAE,IAAI,EAAEF,aAAa,CAAC;YAC5C;UACF,CAAC;UACD4F,QAAQ,EAAG/H,IAAI,IAAK;YAClB,IAAI,IAAI,CAAC6B,KAAK,CAACkG,QAAQ,EAAE;cACvB,IAAI,CAAClG,KAAK,CAACkG,QAAQ,CAAC/H,IAAI,CAAC;YAC3B,CAAC,MAAM;cACL,IAAI,CAACuG,QAAQ,CAACvG,IAAI,CAAC;YACrB;UACF,CAAC;UACD2H,SAAS,EAAG3H,IAAS,IAAK;YACxB,IAAI,IAAI,CAAC6B,KAAK,CAAC8F,SAAS,EAAE;cACxB,IAAI,CAAC9F,KAAK,CAAC8F,SAAS,CAAC3H,IAAI,CAAC;YAC5B,CAAC,MAAM;cACL,IAAIA,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEqC,MAAM,EAAE;gBAChBzB,eAAe,CAACZ,IAAI,CAACqC,MAAM,EAAEF,aAAa,CAAC;cAC7C;YACF;UACF,CAAC;UACD6C,cAAc,EAAAnB,aAAA,KAAOmB,cAAc;QAAE,EACtC;MACH;MACA,oBACEjF,KAAA,CAAAyH,aAAA,CAAAzH,KAAA,CAAAkI,QAAA,qBACElI,KAAA,CAAAyH,aAAA,CAACzG,SAAS,EAAAmH,QAAA,KACJjB,YAAY,EACZD,QAAQ;QACZtC,YAAY,EAAE,IAAI,CAACA,YAAY,CAACyC,IAAI,CAAC,IAAI,CAAE;QAC3C/F,QAAQ,EAAE,IAAI,CAACmD,KAAK,CAACnD;MAAS,EAC/B,CACD,CAAC;IAEP;EACF,CAAC;AACH,CAAC;AAED,MAAM+G,SAAc,GAAGrH,gBAAgB,CAAAsH,OAAO,CAAC;AAC/C;AACA,MAAMC,gBAAgB,GAAGvH,gBAAgB,CAACsH,OAAA,CAAOE,OAAO,CAAC;AACzDH,SAAS,CAACG,OAAO,GAAGD,gBAAgB;AACpC,eAAeF,SAAS"}
|