nsc-react-component 1.3.21 → 1.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/common/TreePanel.d.ts +1 -0
- package/lib/common/TreePanel.js +34 -5
- package/lib/form/Form.js +3 -3
- package/package.json +1 -1
|
@@ -36,6 +36,7 @@ declare class TreePanel<P> extends Component<ITreePanelProps & TreeCommonProps &
|
|
|
36
36
|
};
|
|
37
37
|
componentDidUpdate(prevProps: any): void;
|
|
38
38
|
constructor(props: any);
|
|
39
|
+
getTitle(data: any): string;
|
|
39
40
|
dataChangeBefore: (data: any) => any;
|
|
40
41
|
_iterator: (data: any) => any;
|
|
41
42
|
/**
|
package/lib/common/TreePanel.js
CHANGED
|
@@ -83,7 +83,7 @@ var TreePanel = /*#__PURE__*/function (_Component) {
|
|
|
83
83
|
|
|
84
84
|
return newData;
|
|
85
85
|
} else if (originData && _typeof(originData) === "object") {
|
|
86
|
-
originData.title =
|
|
86
|
+
originData.title = _this2.getTitle(originData);
|
|
87
87
|
if (originData.children) _this2._iterator(originData.children);
|
|
88
88
|
}
|
|
89
89
|
|
|
@@ -91,11 +91,11 @@ var TreePanel = /*#__PURE__*/function (_Component) {
|
|
|
91
91
|
});
|
|
92
92
|
|
|
93
93
|
_defineProperty(_assertThisInitialized(_this2), "_iterator", function (data) {
|
|
94
|
-
|
|
94
|
+
// const titleAlias = this.props.titleAlias;
|
|
95
|
+
// 如果传入的data是dva中model数据是不允许修改的,所以先转换一下
|
|
95
96
|
// const newData = data.map((item) => ({ ...item }));
|
|
96
|
-
|
|
97
97
|
data.forEach(function (item) {
|
|
98
|
-
item.title = item
|
|
98
|
+
item.title = _this2.getTitle(item);
|
|
99
99
|
|
|
100
100
|
if (item.children) {
|
|
101
101
|
_this2._iterator(item.children);
|
|
@@ -177,6 +177,35 @@ var TreePanel = /*#__PURE__*/function (_Component) {
|
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
|
+
}, {
|
|
181
|
+
key: "getTitle",
|
|
182
|
+
value: function getTitle(data) {
|
|
183
|
+
var title = "";
|
|
184
|
+
|
|
185
|
+
if (this.props.titleAlias) {
|
|
186
|
+
var titlesLables = this.props.titleAlias.split(",");
|
|
187
|
+
|
|
188
|
+
if (titlesLables.length == 0) {
|
|
189
|
+
title = data[this.props.titleAlias];
|
|
190
|
+
} else {
|
|
191
|
+
for (var i = 1; i < titlesLables.length; i++) {
|
|
192
|
+
if (data[titlesLables[i]]) {
|
|
193
|
+
title = i === 1 ? data[titlesLables[i]] : title + "-" + data[titlesLables[i]];
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
if (title) {
|
|
198
|
+
title = "(" + title + ")";
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
title = data[titlesLables[0]] + title;
|
|
202
|
+
}
|
|
203
|
+
} else {
|
|
204
|
+
title = data.title;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
return title;
|
|
208
|
+
}
|
|
180
209
|
}, {
|
|
181
210
|
key: "_dataToCheckedKeys",
|
|
182
211
|
value:
|
|
@@ -271,4 +300,4 @@ var TreePanel = /*#__PURE__*/function (_Component) {
|
|
|
271
300
|
_defineProperty(TreePanel, "defaultProps", void 0);
|
|
272
301
|
|
|
273
302
|
export default TreePanel;
|
|
274
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9UcmVlUGFuZWwudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiQ29tcG9uZW50IiwidHJlZXV0aWxzIiwiVHJlZVN0b3JlIiwidXRpbHMiLCJjbG9uZURlZXAiLCJUcmVlUGFuZWwiLCJwcm9wcyIsInNlYXJjaFRleHQiLCJmaWVsZE9wdGlvbiIsImtleUZpZWxkIiwidGl0bGVGaWVsZCIsInBhdGhzRmllbGQiLCJzZWFyY2hDb2xvciIsImxvYWRpbmciLCJ0cmVlRGF0YXMiLCJjaGVja2VkS2V5cyIsImV4cGFuZGVkS2V5cyIsInNlbGVjdGVkS2V5cyIsInNlbGVjdE5vZGUiLCJkYXRhIiwib3JpZ2luRGF0YSIsInRpdGxlQWxpYXMiLCJBcnJheSIsImlzQXJyYXkiLCJuZXdEYXRhIiwiX2l0ZXJhdG9yIiwidGl0bGUiLCJjaGlsZHJlbiIsImZvckVhY2giLCJpdGVtIiwiX3RoaXMiLCJ0cmVlRGF0YSIsIm5vZGVQcm9wcyIsInN0b3JlIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUHJvcHMiLCJyZXN0U3RvcmUiLCJzdG9yZU9wdGlvbiIsImNvbXBvbmVudCIsIm1vZGVsIiwidHJlZVByaW1hcnlLZXkiLCJrZXkiLCJvbkJlZm9yZUxvYWQiLCJvcHRpb25zIiwibGF6eWxvYWQiLCJzZXRTdGF0ZSIsInN0YXRlIiwiY2FsbGJhY2siLCJkYXRhQ2hhbmdlQmVmb3JlIiwiZGF0YUNoYW5nZWQiLCJtb2RlbERhdGEiLCJfZGF0YVRvQ2hlY2tlZEtleXMiLCJsb2FkIiwib25FcnJvckxvYWQiLCJlcnIiLCJyZXNwb25zZSIsImxlbmd0aCIsImF1dG9Mb2FkIiwicHJldlByb3BzIiwib2xkVHJlZURhdGEiLCJKU09OIiwic3RyaW5naWZ5Iiwic2V0RGF0YSIsInRyZWVQcm9wcyIsIm5ld1RyZWVEYXRhcyIsIm9taXQiLCJnZXRTZWFyY2hNZW51RGF0YXMiLCJvcGVuS2V5cyIsInJlbmRlclRlbXBsYXRlIiwiZ2V0TW9k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QixFQUErQkMsWUFBL0IsQ0FBUDtBQUNEO0FBRUQ7QUFDRjtBQUNBOzs7O1dBQ0Usb0JBQVc7QUFDVCxhQUFPLEtBQUsvQixLQUFaO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7Ozs7V0FDRSxvQkFBVztBQUNULGFBQU8sS0FBS0EsS0FBTCxDQUFXb0MsUUFBWCxFQUFQO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTs7OztXQUNFLGdCQUFPMUIsT0FBUCxFQUFnQjtBQUNkLFdBQUtWLEtBQUwsQ0FBV3FDLE1BQVgsQ0FBa0IzQixPQUFsQjtBQUNBLGFBQU8sSUFBUDtBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7Ozs7V0FDRSxzQkFBYTRCLEdBQWIsRUFBa0IvRCxXQUFsQixFQUFnQ0ksV0FBaEMsRUFBOEM7QUFDNUMsV0FBS2lDLFFBQUwsQ0FBYztBQUNadEMsUUFBQUEsVUFBVSxFQUFFZ0UsR0FEQTtBQUVaL0QsUUFBQUEsV0FBVyxFQUFFQSxXQUZEO0FBR1pJLFFBQUFBLFdBQVcsRUFBRUE7QUFIRCxPQUFkO0FBS0Q7Ozs7RUFoTXdCWixTOztnQkFBckJLLFM7O0FBbU1OLGVBQWVBLFNBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB0cmVldXRpbHMgZnJvbSBcIi4uL3RyZWVVdGlsc1wiO1xyXG5pbXBvcnQgU3RvcmUsIHsgVHJlZVN0b3JlIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgXCJhbnRkL2VzL3RyZWUvc3R5bGVcIjtcclxuLy8gaW1wb3J0IHsgU3RvcmVDb25maWdUeXBlIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi90eXBlcy9TdG9yZS9UcmVlU3RvcmUuZFwiO1xyXG5pbXBvcnQgeyBTdG9yZUNvbmZpZ1R5cGUgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgVHJlZVByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IHsgZmxhdHRlbkRlZXAgfSBmcm9tIFwibG9kYXNoXCI7XHJcbmltcG9ydCBjbG9uZURlZXAgZnJvbSBcImNsb25lLWRlZXBcIjtcclxuZXhwb3J0IGludGVyZmFjZSBUcmVlQ29tbW9uUHJvcHMge1xyXG4gIHRpdGxlQWxpYXM/OiBzdHJpbmc7XHJcbiAgaGFuZGxlQWRkPzogKHBhcmFtczogYW55KSA9PiB2b2lkO1xyXG4gIGhhbmRsZURlbGV0ZT86IChwYXJhbXM6IGFueSkgPT4gdm9pZDtcclxuICBoYW5kbGVFZGl0PzogKHBhcmFtczogYW55KSA9PiB2b2lkO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRyZWVQYW5lbFByb3BzIGV4dGVuZHMgVHJlZVByb3BzIHtcclxuICBzdG9yZTogU3RvcmVDb25maWdUeXBlPGFueT47XHJcbiAgY2hlY2tQcm9wYWdhdGlvbj86IGJvb2xlYW47XHJcbiAgcmVuZGVyVHJlZU5vZGU/OiAocHJvcHM6IElUcmVlUGFuZWxQcm9wcywgaXRlbTogYW55KSA9PiBSZWFjdC5SZWFjdEVsZW1lbnQ7XHJcbiAgb3BlbktleXM/OiBzdHJpbmdbXSB8IG51bGw7XHJcbn1cclxuXHJcbmNsYXNzIFRyZWVQYW5lbDxQPiBleHRlbmRzIENvbXBvbmVudDxcclxuICBJVHJlZVBhbmVsUHJvcHMgJiBUcmVlQ29tbW9uUHJvcHMgJiBQLFxyXG4gIGFueVxyXG4+IHtcclxuICBzdGF0ZSA9IHtcclxuICAgIC8v5pCc57Si5paH5pysXHJcbiAgICBzZWFyY2hUZXh0OiBudWxsLFxyXG4gICAgZmllbGRPcHRpb246IHtcclxuICAgICAga2V5RmllbGQ6IFwia2V5XCIsXHJcbiAgICAgIHRpdGxlRmllbGQ6IFwidGl0bGVcIixcclxuICAgICAgcGF0aHNGaWVsZDogXCJjaGlsZHJlblwiLFxyXG4gICAgfSxcclxuICAgIHNlYXJjaENvbG9yOiBudWxsLFxyXG5cclxuICAgIGxvYWRpbmc6IGZhbHNlLFxyXG4gICAgdHJlZURhdGFzOiBbXSxcclxuICAgIGNoZWNrZWRLZXlzOiBbXSxcclxuICAgIGV4cGFuZGVkS2V5czogW10sXHJcbiAgICBzZWxlY3RlZEtleXM6IFtdLFxyXG4gICAgc2VsZWN0Tm9kZTogbnVsbCxcclxuICB9O1xyXG5cclxuICBzdG9yZSA9IHt9IGFzIHR5cGVvZiBTdG9yZTtcclxuXHJcbiAgc3RhdGljIGRlZmF1bHRQcm9wczogeyBzdG9yZToge30gfTtcclxuXHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcykge1xyXG4gICAgY29uc3Qgb2xkVHJlZURhdGEgPSBwcmV2UHJvcHMudHJlZURhdGEgfHwgW107XHJcbiAgICBjb25zdCB0cmVlRGF0YSA9IHRoaXMucHJvcHMudHJlZURhdGE7XHJcbiAgICBpZiAoXHJcbiAgICAgIEFycmF5LmlzQXJyYXkodHJlZURhdGEpICYmXHJcbiAgICAgIEpTT04uc3RyaW5naWZ5KHRyZWVEYXRhKSAhPT0gSlNPTi5zdHJpbmdpZnkob2xkVHJlZURhdGEpXHJcbiAgICApIHtcclxuICAgICAgaWYgKHRoaXMuc3RvcmUpIHtcclxuICAgICAgICB0aGlzLnN0b3JlLnNldERhdGEodHJlZURhdGEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3QgdHJlZURhdGEgPSBwcm9wcy50cmVlRGF0YSB8fCBbXTtcclxuICAgIGNvbnN0IG5vZGVQcm9wcyA9IHByb3BzLm5vZGVQcm9wcyB8fCB7fTtcclxuICAgIGlmIChwcm9wcy5zdG9yZSBpbnN0YW5jZW9mIFRyZWVTdG9yZSkge1xyXG4gICAgICB0aGlzLnN0b3JlID0gcHJvcHMuc3RvcmU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCB7IGxpc3RlbmVyczogbGlzdGVuZXJzUHJvcHMgPSB7fSwgLi4ucmVzdFN0b3JlIH0gPSBwcm9wcy5zdG9yZTtcclxuICAgICAgY29uc3Qgc3RvcmVPcHRpb24gPSB7XHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIG1vZGVsOiBcInRyZWVtb2RlbFwiLFxyXG4gICAgICAgIHRyZWVQcmltYXJ5S2V5OiBub2RlUHJvcHMua2V5IHx8IFwiaWRcIiwgLy8g5qCR6IqC54K55ZSv5LiAa2V5XHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICBsZXQgbG9hZGluZyA9IHByb3BzLmxhenlsb2FkICE9IHRydWU7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgLi4uX3RoaXMuc3RhdGUsIC4uLnsgbG9hZGluZzogbG9hZGluZyB9IH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQcm9wcy5vbkJlZm9yZUxvYWQsIHRoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VCZWZvcmU6IF90aGlzLmRhdGFDaGFuZ2VCZWZvcmUsXHJcbiAgICAgICAgICBkYXRhQ2hhbmdlZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgIHRyZWVEYXRhczogbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIGNoZWNrZWRLZXlzOiBfdGhpcy5fZGF0YVRvQ2hlY2tlZEtleXMobW9kZWxEYXRhKSxcclxuICAgICAgICAgICAgICBsb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1Byb3BzLmRhdGFDaGFuZ2VkLCB0aGlzLCBbXHJcbiAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgc3RvcmUsXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSA9PiB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1Byb3BzLmxvYWQsIHRoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgb25FcnJvckxvYWQ6IChlcnIsIHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUHJvcHMub25FcnJvckxvYWQsIHRoaXMsIFtlcnIsIHJlc3BvbnNlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGF0YTogdHJlZURhdGEubGVuZ3RoID4gMCA/IHRyZWVEYXRhIDogbnVsbCxcclxuICAgICAgICBhdXRvTG9hZDogcmVzdFN0b3JlLmF1dG9Mb2FkICE9PSBmYWxzZSA/IHRydWUgOiBmYWxzZSxcclxuICAgICAgICAuLi5yZXN0U3RvcmUsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgVHJlZVN0b3JlKHN0b3JlT3B0aW9uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRhdGFDaGFuZ2VCZWZvcmUgPSAoZGF0YSkgPT4ge1xyXG4gICAgY29uc3Qgb3JpZ2luRGF0YSA9IGNsb25lRGVlcChkYXRhKTtcclxuICAgIGlmICghdGhpcy5wcm9wcy50aXRsZUFsaWFzKSB7XHJcbiAgICAgIHJldHVybiBvcmlnaW5EYXRhO1xyXG4gICAgfVxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkob3JpZ2luRGF0YSkpIHtcclxuICAgICAgY29uc3QgbmV3RGF0YSA9IHRoaXMuX2l0ZXJhdG9yKG9yaWdpbkRhdGEpO1xyXG4gICAgICByZXR1cm4gbmV3RGF0YTtcclxuICAgIH0gZWxzZSBpZiAob3JpZ2luRGF0YSAmJiB0eXBlb2Ygb3JpZ2luRGF0YSA9PT0gXCJvYmplY3RcIikge1xyXG4gICAgICBvcmlnaW5EYXRhLnRpdGxlID0gb3JpZ2luRGF0YVt0aGlzLnByb3BzLnRpdGxlQWxpYXNdO1xyXG4gICAgICBpZiAob3JpZ2luRGF0YS5jaGlsZHJlbikgdGhpcy5faXRlcmF0b3Iob3JpZ2luRGF0YS5jaGlsZHJlbik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb3JpZ2luRGF0YTtcclxuICB9O1xyXG5cclxuICBfaXRlcmF0b3IgPSAoZGF0YSkgPT4ge1xyXG4gICAgY29uc3QgdGl0bGVBbGlhcyA9IHRoaXMucHJvcHMudGl0bGVBbGlhcztcclxuXHJcbiAgICAvLyDlpoLmnpzkvKDlhaXnmoRkYXRh5pivZHZh5LitbW9kZWzmlbDmja7mmK/kuI3lhYHorrjkv67mlLnnmoQs5omA5Lul5YWI6L2s5o2i5LiA5LiLXHJcbiAgICAvLyBjb25zdCBuZXdEYXRhID0gZGF0YS5tYXAoKGl0ZW0pID0+ICh7IC4uLml0ZW0gfSkpO1xyXG4gICAgZGF0YS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgIGl0ZW0udGl0bGUgPSBpdGVtW3RpdGxlQWxpYXNdO1xyXG4gICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xyXG4gICAgICAgIHRoaXMuX2l0ZXJhdG9yKGl0ZW0uY2hpbGRyZW4pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIOS/ruaUueaVsOaNrlxyXG4gICAqL1xyXG4gIG1hcERhdGEgPSAoKSA9PiB7fTtcclxuXHJcbiAgLyoqXHJcbiAgICog5Yid5aeL5YyW6IqC54K56YCJ5LitXHJcbiAgICogQHBhcmFtIHsqfSBtb2RlbERhdGEgIOaVsOaNrlxyXG4gICAqL1xyXG4gIF9kYXRhVG9DaGVja2VkS2V5cyhtb2RlbERhdGEpIHtcclxuICAgIHJldHVybiBbXTtcclxuICAgIC8vIHJldHVybiB7IGNoZWNrZWQ6IFtdLCBoYWxmQ2hlY2tlZDogW10gfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOeVjOmdoua4suafk1xyXG4gICAqL1xyXG4gIHJlbmRlclRlbXBsYXRlKHRyZWVQcm9wczogSVRyZWVQYW5lbFByb3BzLCBuZXdUcmVlRGF0YXMpIHtcclxuICAgIHJldHVybiA8PjwvPjtcclxuICB9XHJcblxyXG4gIHJlbmRlcigpOiBSZWFjdC5SZWFjdE5vZGUge1xyXG4gICAgY29uc3QgeyBzZWFyY2hUZXh0LCB0cmVlRGF0YXMsIGNoZWNrZWRLZXlzLCBmaWVsZE9wdGlvbiwgc2VhcmNoQ29sb3IgfSA9XHJcbiAgICAgICAgdGhpcy5zdGF0ZSxcclxuICAgICAgdHJlZVByb3BzID0gdXRpbHMub21pdCh0aGlzLnByb3BzLCBbXCJzdG9yZVwiXSwge1xyXG4gICAgICAgIGNoZWNrZWRLZXlzOiBjaGVja2VkS2V5cyxcclxuICAgICAgfSk7XHJcbiAgICBsZXQgbmV3VHJlZURhdGFzID0gW107XHJcbiAgICBpZiAoc2VhcmNoVGV4dCkge1xyXG4gICAgICBjb25zdCBkYXRhID0gdHJlZXV0aWxzLmdldFNlYXJjaE1lbnVEYXRhcyhcclxuICAgICAgICB0aGlzLFxyXG4gICAgICAgIHNlYXJjaFRleHQsXHJcbiAgICAgICAgZmllbGRPcHRpb24sXHJcbiAgICAgICAgc2VhcmNoQ29sb3JcclxuICAgICAgKTtcclxuICAgICAgbmV3VHJlZURhdGFzID0gZGF0YS50cmVlRGF0YXM7XHJcbiAgICAgIHRyZWVQcm9wcy5vcGVuS2V5cyA9IGRhdGEub3BlbktleXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdUcmVlRGF0YXMgPSB0cmVlRGF0YXM7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5yZW5kZXJUZW1wbGF0ZSh0cmVlUHJvcHMsIG5ld1RyZWVEYXRhcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDojrflj5bmlbDmja7lr7nosaFcclxuICAgKi9cclxuICBnZXRTdG9yZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W5pWw5o2u5qih5Z6L5a+56LGhXHJcbiAgICovXHJcbiAgZ2V0TW9kZWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5nZXRNb2RlbCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogIOWIt+aWsOeVjOmdolxyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIOWPguaVsFxyXG4gICAqL1xyXG4gIHJlbG9hZChvcHRpb25zKSB7XHJcbiAgICB0aGlzLnN0b3JlLnJlbG9hZChvcHRpb25zKTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I+c5Y2V5pCc57Si6L+H5ruk5pi+56S6XHJcbiAgICogQHBhcmFtIHtTdHJpbmd9IHZhbFxyXG4gICAqL1xyXG4gIGhhbmRsZVNlYXJjaCh2YWwsIGZpZWxkT3B0aW9uPywgc2VhcmNoQ29sb3I/KSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VhcmNoVGV4dDogdmFsLFxyXG4gICAgICBmaWVsZE9wdGlvbjogZmllbGRPcHRpb24sXHJcbiAgICAgIHNlYXJjaENvbG9yOiBzZWFyY2hDb2xvcixcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgVHJlZVBhbmVsO1xyXG4iXX0=
|
|
303
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9UcmVlUGFuZWwudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiQ29tcG9uZW50IiwidHJlZXV0aWxzIiwiVHJlZVN0b3JlIiwidXRpbHMiLCJjbG9uZURlZXAiLCJUcmVlUGFuZWwiLCJwcm9wcyIsInNlYXJjaFRleHQiLCJmaWVsZE9wdGlvbiIsImtleUZpZWxkIiwidGl0bGVGaWVsZCIsInBhdGhzRmllbGQiLCJzZWFyY2hDb2xvciIsImxvYWRpbmciLCJ0cmVlRGF0YXMiLCJjaGVja2VkS2V5cyIsImV4cGFuZGVkS2V5cyIsInNlbGVjdGVkS2V5cyIsInNlbGVjdE5vZGUiLCJkYXRhIiwib3JpZ2luRGF0YSIsInRpdGxlQWxpYXMiLCJBcnJheSIsImlzQXJyYXkiLCJuZXdEYXRhIiwiX2l0ZXJhdG9yIiwidGl0bGUiLCJnZXRUaXRsZSIsImNoaWxkcmVuIiwiZm9yRWFjaCIsIml0ZW0iLCJfdGhpcyIsInRyZWVEYXRhIiwibm9kZVByb3BzIiwic3RvcmUiLCJsaXN0ZW5lcnMiLCJsaXN0ZW5lcnNQcm9wcyIsInJlc3RTdG9yZSIsInN0b3JlT3B0aW9uIiwiY29tcG9uZW50IiwibW9kZWwiLCJ0cmVlUHJpbWFyeUtleSIsImtleSIsIm9uQmVmb3JlTG9hZCIsIm9wdGlvbnMiLCJsYXp5bG9hZCIsInNldFN0YXRlIiwic3RhdGUiLCJjYWxsYmFjayIsImRhdGFDaGFuZ2VCZWZvcmUiLCJkYXRhQ2hhbmdlZCIsIm1vZGVsRGF0YSIsIl9kYXRhVG9DaGVja2VkS2V5cyIsImxvYWQiLCJvbkVycm9yTG9hZCIsImVyciIsInJlc3BvbnNlIiwibGVuZ3RoIiwiYXV0b0xvYWQiLCJwcmV2UHJvcHMiLCJvbGRUcmVlRGF0YSIsIkpTT04iLCJzdHJpbmdpZnkiLCJzZXREYXRhIiwidGl0bGVzTGFibGVzIiwic3BsaXQiLCJpIiwidHJlZVByb3BzIiwibmV3VHJlZURhdGFzIiwib21pdCIsImdldFNlYXJjaE1lbnVEYXRh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O0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7Ozs7V0FDRSxvQkFBVztBQUNULGFBQU8sS0FBS0EsS0FBTCxDQUFXdUMsUUFBWCxFQUFQO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTs7OztXQUNFLGdCQUFPN0IsT0FBUCxFQUFnQjtBQUNkLFdBQUtWLEtBQUwsQ0FBV3dDLE1BQVgsQ0FBa0I5QixPQUFsQjtBQUNBLGFBQU8sSUFBUDtBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7Ozs7V0FDRSxzQkFBYStCLEdBQWIsRUFBa0JuRSxXQUFsQixFQUFnQ0ksV0FBaEMsRUFBOEM7QUFDNUMsV0FBS2tDLFFBQUwsQ0FBYztBQUNadkMsUUFBQUEsVUFBVSxFQUFFb0UsR0FEQTtBQUVabkUsUUFBQUEsV0FBVyxFQUFFQSxXQUZEO0FBR1pJLFFBQUFBLFdBQVcsRUFBRUE7QUFIRCxPQUFkO0FBS0Q7Ozs7RUF6TndCWixTOztnQkFBckJLLFM7O0FBNE5OLGVBQWVBLFNBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB0cmVldXRpbHMgZnJvbSBcIi4uL3RyZWVVdGlsc1wiO1xyXG5pbXBvcnQgU3RvcmUsIHsgVHJlZVN0b3JlIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgXCJhbnRkL2VzL3RyZWUvc3R5bGVcIjtcclxuLy8gaW1wb3J0IHsgU3RvcmVDb25maWdUeXBlIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi90eXBlcy9TdG9yZS9UcmVlU3RvcmUuZFwiO1xyXG5pbXBvcnQgeyBTdG9yZUNvbmZpZ1R5cGUgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgVHJlZVByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IHsgZmxhdHRlbkRlZXAgfSBmcm9tIFwibG9kYXNoXCI7XHJcbmltcG9ydCBjbG9uZURlZXAgZnJvbSBcImNsb25lLWRlZXBcIjtcclxuZXhwb3J0IGludGVyZmFjZSBUcmVlQ29tbW9uUHJvcHMge1xyXG4gIHRpdGxlQWxpYXM/OiBzdHJpbmc7XHJcbiAgaGFuZGxlQWRkPzogKHBhcmFtczogYW55KSA9PiB2b2lkO1xyXG4gIGhhbmRsZURlbGV0ZT86IChwYXJhbXM6IGFueSkgPT4gdm9pZDtcclxuICBoYW5kbGVFZGl0PzogKHBhcmFtczogYW55KSA9PiB2b2lkO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRyZWVQYW5lbFByb3BzIGV4dGVuZHMgVHJlZVByb3BzIHtcclxuICBzdG9yZTogU3RvcmVDb25maWdUeXBlPGFueT47XHJcbiAgY2hlY2tQcm9wYWdhdGlvbj86IGJvb2xlYW47XHJcbiAgcmVuZGVyVHJlZU5vZGU/OiAocHJvcHM6IElUcmVlUGFuZWxQcm9wcywgaXRlbTogYW55KSA9PiBSZWFjdC5SZWFjdEVsZW1lbnQ7XHJcbiAgb3BlbktleXM/OiBzdHJpbmdbXSB8IG51bGw7XHJcbn1cclxuXHJcbmNsYXNzIFRyZWVQYW5lbDxQPiBleHRlbmRzIENvbXBvbmVudDxcclxuICBJVHJlZVBhbmVsUHJvcHMgJiBUcmVlQ29tbW9uUHJvcHMgJiBQLFxyXG4gIGFueVxyXG4+IHtcclxuICBzdGF0ZSA9IHtcclxuICAgIC8v5pCc57Si5paH5pysXHJcbiAgICBzZWFyY2hUZXh0OiBudWxsLFxyXG4gICAgZmllbGRPcHRpb246IHtcclxuICAgICAga2V5RmllbGQ6IFwia2V5XCIsXHJcbiAgICAgIHRpdGxlRmllbGQ6IFwidGl0bGVcIixcclxuICAgICAgcGF0aHNGaWVsZDogXCJjaGlsZHJlblwiLFxyXG4gICAgfSxcclxuICAgIHNlYXJjaENvbG9yOiBudWxsLFxyXG5cclxuICAgIGxvYWRpbmc6IGZhbHNlLFxyXG4gICAgdHJlZURhdGFzOiBbXSxcclxuICAgIGNoZWNrZWRLZXlzOiBbXSxcclxuICAgIGV4cGFuZGVkS2V5czogW10sXHJcbiAgICBzZWxlY3RlZEtleXM6IFtdLFxyXG4gICAgc2VsZWN0Tm9kZTogbnVsbCxcclxuICB9O1xyXG5cclxuICBzdG9yZSA9IHt9IGFzIHR5cGVvZiBTdG9yZTtcclxuXHJcbiAgc3RhdGljIGRlZmF1bHRQcm9wczogeyBzdG9yZToge30gfTtcclxuXHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcykge1xyXG4gICAgY29uc3Qgb2xkVHJlZURhdGEgPSBwcmV2UHJvcHMudHJlZURhdGEgfHwgW107XHJcbiAgICBjb25zdCB0cmVlRGF0YSA9IHRoaXMucHJvcHMudHJlZURhdGE7XHJcbiAgICBpZiAoXHJcbiAgICAgIEFycmF5LmlzQXJyYXkodHJlZURhdGEpICYmXHJcbiAgICAgIEpTT04uc3RyaW5naWZ5KHRyZWVEYXRhKSAhPT0gSlNPTi5zdHJpbmdpZnkob2xkVHJlZURhdGEpXHJcbiAgICApIHtcclxuICAgICAgaWYgKHRoaXMuc3RvcmUpIHtcclxuICAgICAgICB0aGlzLnN0b3JlLnNldERhdGEodHJlZURhdGEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3QgdHJlZURhdGEgPSBwcm9wcy50cmVlRGF0YSB8fCBbXTtcclxuICAgIGNvbnN0IG5vZGVQcm9wcyA9IHByb3BzLm5vZGVQcm9wcyB8fCB7fTtcclxuICAgIGlmIChwcm9wcy5zdG9yZSBpbnN0YW5jZW9mIFRyZWVTdG9yZSkge1xyXG4gICAgICB0aGlzLnN0b3JlID0gcHJvcHMuc3RvcmU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCB7IGxpc3RlbmVyczogbGlzdGVuZXJzUHJvcHMgPSB7fSwgLi4ucmVzdFN0b3JlIH0gPSBwcm9wcy5zdG9yZTtcclxuICAgICAgY29uc3Qgc3RvcmVPcHRpb24gPSB7XHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIG1vZGVsOiBcInRyZWVtb2RlbFwiLFxyXG4gICAgICAgIHRyZWVQcmltYXJ5S2V5OiBub2RlUHJvcHMua2V5IHx8IFwiaWRcIiwgLy8g5qCR6IqC54K55ZSv5LiAa2V5XHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICBsZXQgbG9hZGluZyA9IHByb3BzLmxhenlsb2FkICE9IHRydWU7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgLi4uX3RoaXMuc3RhdGUsIC4uLnsgbG9hZGluZzogbG9hZGluZyB9IH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQcm9wcy5vbkJlZm9yZUxvYWQsIHRoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VCZWZvcmU6IF90aGlzLmRhdGFDaGFuZ2VCZWZvcmUsXHJcbiAgICAgICAgICBkYXRhQ2hhbmdlZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgIHRyZWVEYXRhczogbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIGNoZWNrZWRLZXlzOiBfdGhpcy5fZGF0YVRvQ2hlY2tlZEtleXMobW9kZWxEYXRhKSxcclxuICAgICAgICAgICAgICBsb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1Byb3BzLmRhdGFDaGFuZ2VkLCB0aGlzLCBbXHJcbiAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgc3RvcmUsXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSA9PiB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1Byb3BzLmxvYWQsIHRoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgb25FcnJvckxvYWQ6IChlcnIsIHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUHJvcHMub25FcnJvckxvYWQsIHRoaXMsIFtlcnIsIHJlc3BvbnNlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGF0YTogdHJlZURhdGEubGVuZ3RoID4gMCA/IHRyZWVEYXRhIDogbnVsbCxcclxuICAgICAgICBhdXRvTG9hZDogcmVzdFN0b3JlLmF1dG9Mb2FkICE9PSBmYWxzZSA/IHRydWUgOiBmYWxzZSxcclxuICAgICAgICAuLi5yZXN0U3RvcmUsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgVHJlZVN0b3JlKHN0b3JlT3B0aW9uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFRpdGxlKGRhdGEpIHtcclxuICAgIGxldCB0aXRsZSA9IFwiXCI7XHJcbiAgICBpZiAodGhpcy5wcm9wcy50aXRsZUFsaWFzKSB7XHJcbiAgICAgIGNvbnN0IHRpdGxlc0xhYmxlcyA9IHRoaXMucHJvcHMudGl0bGVBbGlhcy5zcGxpdChcIixcIik7XHJcbiAgICAgIGlmICh0aXRsZXNMYWJsZXMubGVuZ3RoID09IDApIHtcclxuICAgICAgICB0aXRsZSA9IGRhdGFbdGhpcy5wcm9wcy50aXRsZUFsaWFzXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IHRpdGxlc0xhYmxlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgaWYgKGRhdGFbdGl0bGVzTGFibGVzW2ldXSkge1xyXG4gICAgICAgICAgICB0aXRsZSA9XHJcbiAgICAgICAgICAgICAgaSA9PT0gMVxyXG4gICAgICAgICAgICAgICAgPyBkYXRhW3RpdGxlc0xhYmxlc1tpXV1cclxuICAgICAgICAgICAgICAgIDogdGl0bGUgKyBcIi1cIiArIGRhdGFbdGl0bGVzTGFibGVzW2ldXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRpdGxlKSB7XHJcbiAgICAgICAgICB0aXRsZSA9IFwiKFwiICsgdGl0bGUgKyBcIilcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGl0bGUgPSBkYXRhW3RpdGxlc0xhYmxlc1swXV0gKyB0aXRsZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGl0bGUgPSBkYXRhLnRpdGxlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRpdGxlO1xyXG4gIH1cclxuXHJcbiAgZGF0YUNoYW5nZUJlZm9yZSA9IChkYXRhKSA9PiB7XHJcbiAgICBjb25zdCBvcmlnaW5EYXRhID0gY2xvbmVEZWVwKGRhdGEpO1xyXG4gICAgaWYgKCF0aGlzLnByb3BzLnRpdGxlQWxpYXMpIHtcclxuICAgICAgcmV0dXJuIG9yaWdpbkRhdGE7XHJcbiAgICB9XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShvcmlnaW5EYXRhKSkge1xyXG4gICAgICBjb25zdCBuZXdEYXRhID0gdGhpcy5faXRlcmF0b3Iob3JpZ2luRGF0YSk7XHJcbiAgICAgIHJldHVybiBuZXdEYXRhO1xyXG4gICAgfSBlbHNlIGlmIChvcmlnaW5EYXRhICYmIHR5cGVvZiBvcmlnaW5EYXRhID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgIG9yaWdpbkRhdGEudGl0bGUgPSB0aGlzLmdldFRpdGxlKG9yaWdpbkRhdGEpO1xyXG4gICAgICBpZiAob3JpZ2luRGF0YS5jaGlsZHJlbikgdGhpcy5faXRlcmF0b3Iob3JpZ2luRGF0YS5jaGlsZHJlbik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb3JpZ2luRGF0YTtcclxuICB9O1xyXG5cclxuICBfaXRlcmF0b3IgPSAoZGF0YSkgPT4ge1xyXG4gICAgLy8gY29uc3QgdGl0bGVBbGlhcyA9IHRoaXMucHJvcHMudGl0bGVBbGlhcztcclxuICAgIC8vIOWmguaenOS8oOWFpeeahGRhdGHmmK9kdmHkuK1tb2RlbOaVsOaNruaYr+S4jeWFgeiuuOS/ruaUueeahCzmiYDku6XlhYjovazmjaLkuIDkuItcclxuICAgIC8vIGNvbnN0IG5ld0RhdGEgPSBkYXRhLm1hcCgoaXRlbSkgPT4gKHsgLi4uaXRlbSB9KSk7XHJcbiAgICBkYXRhLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgaXRlbS50aXRsZSA9IHRoaXMuZ2V0VGl0bGUoaXRlbSk7XHJcbiAgICAgIGlmIChpdGVtLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgdGhpcy5faXRlcmF0b3IoaXRlbS5jaGlsZHJlbik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGRhdGE7XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICog5L+u5pS55pWw5o2uXHJcbiAgICovXHJcbiAgbWFwRGF0YSA9ICgpID0+IHt9O1xyXG5cclxuICAvKipcclxuICAgKiDliJ3lp4vljJboioLngrnpgInkuK1cclxuICAgKiBAcGFyYW0geyp9IG1vZGVsRGF0YSAg5pWw5o2uXHJcbiAgICovXHJcbiAgX2RhdGFUb0NoZWNrZWRLZXlzKG1vZGVsRGF0YSkge1xyXG4gICAgcmV0dXJuIFtdO1xyXG4gICAgLy8gcmV0dXJuIHsgY2hlY2tlZDogW10sIGhhbGZDaGVja2VkOiBbXSB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog55WM6Z2i5riy5p+TXHJcbiAgICovXHJcbiAgcmVuZGVyVGVtcGxhdGUodHJlZVByb3BzOiBJVHJlZVBhbmVsUHJvcHMsIG5ld1RyZWVEYXRhcykge1xyXG4gICAgcmV0dXJuIDw+PC8+O1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyKCk6IFJlYWN0LlJlYWN0Tm9kZSB7XHJcbiAgICBjb25zdCB7IHNlYXJjaFRleHQsIHRyZWVEYXRhcywgY2hlY2tlZEtleXMsIGZpZWxkT3B0aW9uLCBzZWFyY2hDb2xvciB9ID1cclxuICAgICAgICB0aGlzLnN0YXRlLFxyXG4gICAgICB0cmVlUHJvcHMgPSB1dGlscy5vbWl0KHRoaXMucHJvcHMsIFtcInN0b3JlXCJdLCB7XHJcbiAgICAgICAgY2hlY2tlZEtleXM6IGNoZWNrZWRLZXlzLFxyXG4gICAgICB9KTtcclxuICAgIGxldCBuZXdUcmVlRGF0YXMgPSBbXTtcclxuICAgIGlmIChzZWFyY2hUZXh0KSB7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSB0cmVldXRpbHMuZ2V0U2VhcmNoTWVudURhdGFzKFxyXG4gICAgICAgIHRoaXMsXHJcbiAgICAgICAgc2VhcmNoVGV4dCxcclxuICAgICAgICBmaWVsZE9wdGlvbixcclxuICAgICAgICBzZWFyY2hDb2xvclxyXG4gICAgICApO1xyXG4gICAgICBuZXdUcmVlRGF0YXMgPSBkYXRhLnRyZWVEYXRhcztcclxuICAgICAgdHJlZVByb3BzLm9wZW5LZXlzID0gZGF0YS5vcGVuS2V5cztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG5ld1RyZWVEYXRhcyA9IHRyZWVEYXRhcztcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnJlbmRlclRlbXBsYXRlKHRyZWVQcm9wcywgbmV3VHJlZURhdGFzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPluaVsOaNruWvueixoVxyXG4gICAqL1xyXG4gIGdldFN0b3JlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDojrflj5bmlbDmja7mqKHlnovlr7nosaFcclxuICAgKi9cclxuICBnZXRNb2RlbCgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLmdldE1vZGVsKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiAg5Yi35paw55WM6Z2iXHJcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMg5Y+C5pWwXHJcbiAgICovXHJcbiAgcmVsb2FkKG9wdGlvbnMpIHtcclxuICAgIHRoaXMuc3RvcmUucmVsb2FkKG9wdGlvbnMpO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDoj5zljZXmkJzntKLov4fmu6TmmL7npLpcclxuICAgKiBAcGFyYW0ge1N0cmluZ30gdmFsXHJcbiAgICovXHJcbiAgaGFuZGxlU2VhcmNoKHZhbCwgZmllbGRPcHRpb24/LCBzZWFyY2hDb2xvcj8pIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWFyY2hUZXh0OiB2YWwsXHJcbiAgICAgIGZpZWxkT3B0aW9uOiBmaWVsZE9wdGlvbixcclxuICAgICAgc2VhcmNoQ29sb3I6IHNlYXJjaENvbG9yLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBUcmVlUGFuZWw7XHJcbiJdfQ==
|
package/lib/form/Form.js
CHANGED
|
@@ -384,7 +384,7 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
384
384
|
formDrawerProps: modalProps
|
|
385
385
|
};
|
|
386
386
|
|
|
387
|
-
if ((modalProps === null || modalProps === void 0 ? void 0 : modalProps.visible) !== null
|
|
387
|
+
if ((modalProps === null || modalProps === void 0 ? void 0 : modalProps.visible) !== null && (modalProps === null || modalProps === void 0 ? void 0 : modalProps.visible) !== undefined) {
|
|
388
388
|
newState.formVisible = modalProps === null || modalProps === void 0 ? void 0 : modalProps.visible;
|
|
389
389
|
}
|
|
390
390
|
|
|
@@ -396,7 +396,7 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
396
396
|
formDrawerProps: drawerProps
|
|
397
397
|
};
|
|
398
398
|
|
|
399
|
-
if ((drawerProps === null || drawerProps === void 0 ? void 0 : drawerProps.visible) !== null
|
|
399
|
+
if ((drawerProps === null || drawerProps === void 0 ? void 0 : drawerProps.visible) !== null && (drawerProps === null || drawerProps === void 0 ? void 0 : drawerProps.visible) !== undefined) {
|
|
400
400
|
_newState.formVisible = drawerProps === null || drawerProps === void 0 ? void 0 : drawerProps.visible;
|
|
401
401
|
}
|
|
402
402
|
|
|
@@ -412,4 +412,4 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
412
412
|
}(PureComponent);
|
|
413
413
|
|
|
414
414
|
export default NscForm;
|
|
415
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2Zvcm0vRm9ybS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwicmVxdWVzdCIsIm9taXQiLCJOc2NGb3JtIiwicHJvcHMiLCJjcmVhdGVSZWYiLCJmb3JtVmlzaWJsZSIsImZvcm1Nb2RhbFByb3BzIiwiZm9ybURyYXdlclByb3BzIiwibmFtZSIsImZvcm1SZWYiLCJjdXJyZW50IiwiZ2V0RmllbGRFcnJvciIsImdldEZpZWxkSW5zdGFuY2UiLCJnZXRGaWVsZHNFcnJvciIsImdldEZpZWxkc1ZhbHVlIiwiZ2V0RmllbGRWYWx1ZSIsImlzRmllbGRzVG91Y2hlZCIsImlzRmllbGRUb3VjaGVkIiwiaXNGaWVsZFZhbGlkYXRpbmciLCJyZXNldEZpZWxkcyIsIm9wdGlvbnMiLCJzY3JvbGxUb0ZpZWxkIiwiZmlsZHMiLCJzZXRGaWVsZHMiLCJ2YWx1ZXMiLCJzZXRGaWVsZHNWYWx1ZSIsInN1Ym1pdCIsInVybCIsImNhbGxiYWNrIiwibXNnIiwicHJvcHNVcmwiLCJlbmNyeXB0RmllbGRzIiwiZW5jcnlwdFByb3BwcyIsIkVycm9yIiwibWV0aG9kIiwicmVxdWVzdFVybCIsInJlcXVlc3REYXRhIiwicmVxdWVzdEVuY3J5cHQiLCJyZXF1ZXN0UGFyYW0iLCJkYXRhIiwicGFyYW1zIiwidG9Mb3dlckNhc2UiLCJ0aGVuIiwicmVzIiwiY29kZSIsInN1Y2Nlc3MiLCJlcnJvciIsImNhdGNoIiwiY29uc29sZSIsImxvZyIsInZhbGlkYXRlRmllbGRzIiwicmVzZXRWYWx1ZSIsInNldFN0YXRlIiwidmFsdWUiLCJpdGVtIiwiaW5kZXgiLCJfdGhpcyIsImtleSIsImNoaWxkcmVuIiwiQXJyYXkiLCJpc0FycmF5IiwiQ2hpbGRyZW4iLCJtYXAiLCJjaGlsZCIsImNsb25lRWxlbWVudCIsImUiLCJuZXdDaGlsZHJlbiIsInNob3dNb2RlbCIsImRyYXdlclByb3BzIiwibW9kYWxQcm9wcyIsInN0YXRlIiwibGF5b3V0IiwibGFiZWxDb2wiLCJzcGFuIiwid3JhcHBlckNvbCIsIm5ld01vZGFsUHJvcHMiLCJjZW50ZXJlZCIsImhpZGVGb3JtIiwiYmluZCIsIm5ld0RyYXdlclByb3BzIiwicmVuZGVyUGFuZWwiLCJuZXh0UHJvcHMiLCJwcmV2U3RhdGUiLCJKU09OIiwic3RyaW5naWZ5IiwibmV3U3RhdGUiLCJ2aXNpYmxlIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQVdBLFNBQVNDLE9BQVQsUUFBd0IsdUJBQXhCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjs7SUFVTUMsTzs7Ozs7QUFRSixtQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQiwrQkFBTUEsS0FBTjs7QUFEaUIsNEVBUFRMLEtBQUssQ0FBQ00sU0FBTixFQU9TOztBQUFBLDZEQU5YO0FBQ05DLE1BQUFBLFdBQVcsRUFBRSxLQURQO0FBRU5DLE1BQUFBLGNBQWMsRUFBRSxFQUZWO0FBR05DLE1BQUFBLGVBQWUsRUFBRTtBQUhYLEtBTVc7O0FBQUE7QUFFbEI7Ozs7V0FpQ0Q7QUFDQSwyQkFBY0MsSUFBZCxFQUFvQjtBQUFBOztBQUNsQixzQ0FBTyxLQUFLQyxPQUFMLENBQWFDLE9BQXBCLDBEQUFPLHNCQUFzQkMsYUFBdEIsQ0FBb0NILElBQXBDLENBQVA7QUFDRCxLLENBRUQ7Ozs7V0FDQSwwQkFBaUJBLElBQWpCLEVBQXVCO0FBQUE7O0FBQ3JCLHVDQUFPLEtBQUtDLE9BQUwsQ0FBYUMsT0FBcEIsMkRBQU8sdUJBQXNCRSxnQkFBdEIsQ0FBdUNKLElBQXZDLENBQVA7QUFDRCxLLENBRUQ7Ozs7V0FDQSwwQkFBaUI7QUFBQTs7QUFDZix1Q0FBTyxLQUFLQyxPQUFMLENBQWFDLE9BQXBCLDJEQUFPLHVCQUFzQkcsY0FBdEIsRUFBUDtBQUNELEssQ0FFRDs7OztXQUNBLDBCQUFpQjtBQUFBOztBQUNmLHVDQUFPLEtBQUtKLE9BQUwsQ0FBYUMsT0FBcEIsMkRBQU8sdUJBQXNCSSxjQUF0QixFQUFQO0FBQ0QsSyxDQUVEOzs7O1dBQ0EsdUJBQWNOLElBQWQsRUFBb0I7QUFBQTs7QUFDbEIsdUNBQU8sS0FBS0MsT0FBTCxDQUFhQyxPQUFwQiwyREFBTyx1QkFBc0JLLGFBQXRCLENBQW9DUCxJQUFwQyxDQUFQO0FBQ0QsSyxDQUVEOzs7O1dBQ0EsMkJBQWtCO0FBQUE7O0FBQ2hCLHVDQUFPLEtBQUtDLE9BQUwsQ0FBYUMsT0FBcEIsMkRBQU8sdUJBQXNCTSxlQUF0QixFQUFQO0FBQ0QsSyxDQUVEOzs7O1dBQ0Esd0JBQWVSLElBQWYsRUFBcUI7QUFBQTs7QUFDbkIsdUNBQU8sS0FBS0MsT0FBTCxDQUFhQyxPQUFwQiwyREFBTyx1QkFBc0JPLGNBQXRCLENBQXFDVCxJQUFyQyxDQUFQO0FBQ0QsSyxDQUVEOzs7O1dBQ0EsMkJBQWtCQSxJQUFsQixFQUF3QjtBQUFBOztBQUN0Qix1Q0FBTyxLQUFLQyxPQUFMLENBQWFDLE9BQXBCLDJEQUFPLHVCQUFzQlEsaUJBQXRCLENBQXdDVixJQUF4QyxDQUFQO0FBQ0QsSyxDQUVEOzs7O1dBQ0EsdUJBQWM7QUFBQTs7QUFDWixxQ0FBS0MsT0FBTCxDQUFhQyxPQUFiLGtGQUFzQlMsV0FBdEI7QUFDRDs7O1dBRUQsdUJBQWNYLElBQWQsRUFBb0JZLE9BQXBCLEVBQTZCO0FBQUE7O0FBQzNCLHNDQUFLWCxPQUFMLENBQWFDLE9BQWIsb0ZBQXNCVyxhQUF0QixDQUFvQ2IsSUFBcEMsRUFBMENZLE9BQTFDO0FBQ0Q7OztXQUVELG1CQUFVRSxLQUFWLEVBQWlCO0FBQUE7O0FBQ2Ysc0NBQUtiLE9BQUwsQ0FBYUMsT0FBYixvRkFBc0JhLFNBQXRCLENBQWdDRCxLQUFoQztBQUNEOzs7V0FFRCx3QkFBZUUsTUFBZixFQUF1QjtBQUFBOztBQUNyQixzQ0FBS2YsT0FBTCxDQUFhQyxPQUFiLG9GQUFzQmUsY0FBdEIsQ0FBcUNELE1BQXJDO0FBQ0Q7OztXQUVELGtCQUFTO0FBQUE7O0FBQ1Asc0NBQUtmLE9BQUwsQ0FBYUMsT0FBYixvRkFBc0JnQixNQUF0QjtBQUNEOzs7V0FFRCxrQkFDRUMsR0FERixFQUVFUCxPQUZGLEVBR0VRLFFBSEYsRUFJRUMsR0FKRixFQUtFO0FBQ0Esd0JBQTZELEtBQUsxQixLQUFsRTtBQUFBLFVBQWEyQixRQUFiLGVBQVFILEdBQVI7QUFBQSw4Q0FBdUJJLGFBQXZCO0FBQUEsVUFBc0NDLGFBQXRDLHNDQUFzRCxFQUF0RDs7QUFDQSxVQUFJLENBQUNMLEdBQUQsSUFBUSxDQUFDRyxRQUFiLEVBQXVCO0FBQ3JCLGNBQU0sSUFBSUcsS0FBSixDQUFVLFdBQVYsQ0FBTjtBQUNEOztBQUNELDRCQUE0QmIsT0FBNUIsQ0FBUWMsTUFBUjtBQUFBLFVBQVFBLE1BQVIsZ0NBQWlCLE1BQWpCO0FBQ0EsVUFBSUMsVUFBVSxHQUFHUixHQUFHLEdBQUdBLEdBQUgsR0FBU0csUUFBN0I7QUFDQSxVQUFJTSxXQUFXLEdBQUcsS0FBSzNCLE9BQUwsQ0FBYUMsT0FBYixDQUFxQkksY0FBckIsRUFBbEI7QUFDQSxVQUFJdUIsY0FBYyxHQUFHTCxhQUFyQjtBQUNBLFVBQUlNLFlBQVksR0FBRztBQUFFSixRQUFBQSxNQUFNLEVBQUVBLE1BQVY7QUFBa0JLLFFBQUFBLElBQUksRUFBRUg7QUFBeEIsT0FBbkI7O0FBQ0EsVUFBSWhCLE9BQUosRUFBYTtBQUNYLFlBQVFtQixJQUFSLEdBQTJDbkIsT0FBM0MsQ0FBUW1CLElBQVI7QUFBQSxZQUFjUixhQUFkLEdBQTJDWCxPQUEzQyxDQUFjVyxhQUFkO0FBQUEsWUFBZ0NTLE1BQWhDLDRCQUEyQ3BCLE9BQTNDOztBQUNBa0IsUUFBQUEsWUFBWSxtQ0FBUUEsWUFBUixHQUF5QkUsTUFBekIsQ0FBWjs7QUFDQSxZQUFJRCxJQUFKLEVBQVU7QUFDUixpQkFBT0QsWUFBWSxDQUFDQyxJQUFwQjs7QUFDQSxjQUFJTCxNQUFNLENBQUNPLFdBQVAsTUFBd0IsS0FBNUIsRUFBbUM7QUFDakNILFlBQUFBLFlBQVksaURBQVFBLFlBQVIsR0FBeUJFLE1BQXpCO0FBQWlDQSxjQUFBQSxNQUFNLEVBQUVEO0FBQXpDLGNBQVo7QUFDRCxXQUZELE1BRU87QUFDTEQsWUFBQUEsWUFBWSxpREFBUUEsWUFBUixHQUF5QkUsTUFBekI7QUFBaUNELGNBQUFBLElBQUksRUFBRUE7QUFBdkMsY0FBWjtBQUNEO0FBQ0Y7O0FBQ0QsWUFBSVIsYUFBSixFQUFtQjtBQUNqQk0sVUFBQUEsY0FBYyxHQUFHTixhQUFqQjtBQUNEO0FBQ0Y7O0FBRUQvQixNQUFBQSxPQUFPLENBQUNtQyxVQUFELGtDQUNGRyxZQURFO0FBRUxQLFFBQUFBLGFBQWEsRUFBRU07QUFGVixTQUFQLENBSUdLLElBSkgsQ0FJUSxVQUFVQyxHQUFWLEVBQW9CO0FBQ3hCLFlBQVFDLElBQVIsR0FBaUJELEdBQWpCLENBQVFDLElBQVI7O0FBQ0EsWUFBSWYsR0FBSixFQUFTO0FBQ1AsY0FBSWUsSUFBSSxLQUFLLEdBQWIsRUFBa0I7QUFDaEIscUJBQVFDLE9BQVIsQ0FBZ0IsTUFBaEI7QUFDRCxXQUZELE1BRU87QUFDTCxxQkFBUUMsS0FBUixDQUFjLE1BQWQ7QUFDRDtBQUNGOztBQUNEbEIsUUFBQUEsUUFBUSxJQUFJQSxRQUFRLENBQUNlLEdBQUQsQ0FBcEI7QUFDRCxPQWRILEVBZUdJLEtBZkgsQ0FlUyxVQUFVRCxLQUFWLEVBQXNCO0FBQzNCRSxRQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWSxPQUFaLEVBQXFCSCxLQUFyQjtBQUNELE9BakJIO0FBa0JEOzs7V0FFRCx3QkFBZXRDLElBQWYsRUFBcUI7QUFDbkIsYUFBTyxLQUFLQyxPQUFMLENBQWFDLE9BQWIsQ0FBcUJ3QyxjQUFyQixDQUFvQzFDLElBQXBDLENBQVA7QUFDRDs7O1dBRUQsb0JBQTRCO0FBQUE7O0FBQUEsVUFBbkIyQyxVQUFtQix1RUFBTixJQUFNO0FBQzFCLFdBQUtDLFFBQUwsQ0FDRTtBQUNFL0MsUUFBQUEsV0FBVyxFQUFFO0FBRGYsT0FERixFQUlFLFlBQU07QUFDSixZQUFJOEMsVUFBSixFQUFnQjtBQUFBOztBQUNkLG1DQUFBLE1BQUksQ0FBQzFDLE9BQUwsQ0FBYUMsT0FBYixnRkFBc0JTLFdBQXRCO0FBQ0Q7QUFDRixPQVJIO0FBVUQ7OztXQUVELGtCQUFTa0MsS0FBVCxFQUF5QztBQUFBOztBQUFBLFVBQW5CRixVQUFtQix1RUFBTixJQUFNO0FBQ3ZDLFdBQUtDLFFBQUwsQ0FDRTtBQUNFL0MsUUFBQUEsV0FBVyxFQUFFO0FBRGYsT0FERixFQUlFLFlBQU07QUFDSixZQUFJZ0QsS0FBSixFQUFXO0FBQUE7O0FBQ1QsbUNBQUEsTUFBSSxDQUFDNUMsT0FBTCxDQUFhQyxPQUFiLGdGQUFzQmUsY0FBdEIsQ0FBcUM0QixLQUFyQztBQUNELFNBRkQsTUFFTztBQUFBOztBQUNMLGNBQUlGLFVBQUosRUFBZ0IsMEJBQUEsTUFBSSxDQUFDMUMsT0FBTCxDQUFhQyxPQUFiLGtGQUFzQlMsV0FBdEI7QUFDakI7QUFDRixPQVZIO0FBWUQ7OztXQUVELHNCQUFhbUMsSUFBYixFQUE4QjtBQUFBLFVBQVhDLEtBQVcsdUVBQUgsQ0FBRzs7QUFDNUIsVUFBSUMsS0FBSyxHQUFHLElBQVo7O0FBQ0EsVUFBSSxPQUFPRixJQUFQLElBQWUsUUFBbkIsRUFBNkIsT0FBT0EsSUFBUDtBQUM3QixVQUFJbkQsS0FBSyxHQUFHLEVBQVo7QUFDQUEsTUFBQUEsS0FBSyxDQUFDc0QsR0FBTixHQUFZRixLQUFaOztBQUNBLFVBQUk7QUFDRixZQUFJRCxJQUFJLENBQUNuRCxLQUFMLElBQWNtRCxJQUFJLENBQUNuRCxLQUFMLENBQVd1RCxRQUE3QixFQUF1QztBQUNyQyxjQUFJQyxLQUFLLENBQUNDLE9BQU4sQ0FBY04sSUFBSSxDQUFDbkQsS0FBTCxDQUFXdUQsUUFBekIsQ0FBSixFQUF3QztBQUN0Q3ZELFlBQUFBLEtBQUssQ0FBQ3VELFFBQU4sR0FBaUI1RCxLQUFLLENBQUMrRCxRQUFOLENBQWVDLEdBQWYsQ0FDZlIsSUFBSSxDQUFDbkQsS0FBTCxDQUFXdUQsUUFESSxFQUVmLFVBQVVLLEtBQVYsRUFBaUJSLEtBQWpCLEVBQXdCO0FBQ3RCLHFCQUFPQyxLQUFLLENBQUNRLFlBQU4sQ0FBbUJELEtBQW5CLEVBQTBCUixLQUExQixDQUFQO0FBQ0QsYUFKYyxDQUFqQjtBQU1ELFdBUEQsTUFPTztBQUNMcEQsWUFBQUEsS0FBSyxDQUFDdUQsUUFBTixHQUFpQixLQUFLTSxZQUFMLENBQWtCVixJQUFJLENBQUNuRCxLQUFMLENBQVd1RCxRQUE3QixFQUF1QyxDQUF2QyxDQUFqQjtBQUNEO0FBQ0Y7O0FBQ0QsNEJBQU81RCxLQUFLLENBQUNrRSxZQUFOLENBQW1CVixJQUFuQixFQUF5Qm5ELEtBQXpCLENBQVA7QUFDRCxPQWRELENBY0UsT0FBTzhELENBQVAsRUFBVTtBQUNWLGVBQU8sSUFBUDtBQUNEO0FBQ0Y7OztXQUNELHFCQUFZQyxXQUFaLEVBQXlCL0QsS0FBekIsRUFBZ0M7QUFDOUIseUJBQStDLEtBQUtBLEtBQXBEO0FBQUEsVUFBUWdFLFNBQVIsZ0JBQVFBLFNBQVI7QUFBQSxVQUFtQkMsV0FBbkIsZ0JBQW1CQSxXQUFuQjtBQUFBLFVBQWdDQyxVQUFoQyxnQkFBZ0NBLFVBQWhDO0FBQ0EsVUFBUWhFLFdBQVIsR0FBd0IsS0FBS2lFLEtBQTdCLENBQVFqRSxXQUFSO0FBQ0EsVUFBTWtFLE1BQU0sR0FBRztBQUNiQyxRQUFBQSxRQUFRLEVBQUU7QUFBRUMsVUFBQUEsSUFBSSxFQUFFO0FBQVIsU0FERztBQUViQyxRQUFBQSxVQUFVLEVBQUU7QUFBRUQsVUFBQUEsSUFBSSxFQUFFO0FBQVI7QUFGQyxPQUFmOztBQUlBLFVBQUlOLFNBQVMsSUFBSUEsU0FBUyxJQUFJLE9BQTlCLEVBQXVDO0FBQ3JDLFlBQUlRLGFBQWEsR0FBRzFFLElBQUksQ0FBQ29FLFVBQUQsRUFBYSxDQUFDLFNBQUQsQ0FBYixDQUF4QjtBQUNBTSxRQUFBQSxhQUFhO0FBQUtDLFVBQUFBLFFBQVEsRUFBRTtBQUFmLFdBQXdCRCxhQUF4QixDQUFiO0FBQ0EsNEJBQ0U7QUFDRSxVQUFBLFFBQVEsRUFBRSxLQUFLRSxRQUFMLENBQWNDLElBQWQsQ0FBbUIsSUFBbkIsQ0FEWjtBQUVFLFVBQUEsT0FBTyxFQUFFekU7QUFGWCxXQUdNc0UsYUFITixnQkFLRTtBQUFNLFVBQUEsR0FBRyxFQUFFLEtBQUtsRTtBQUFoQixXQUE2QjhELE1BQTdCLEVBQXlDcEUsS0FBekM7QUFBZ0QsVUFBQSxRQUFRLEVBQUU7QUFBMUQsWUFDRytELFdBREgsQ0FMRixDQURGO0FBV0QsT0FkRCxNQWNPLElBQUlDLFNBQVMsSUFBSUEsU0FBUyxJQUFJLFFBQTlCLEVBQXdDO0FBQzdDLFlBQUlZLGNBQWMsR0FBRzlFLElBQUksQ0FBQ21FLFdBQUQsRUFBYyxDQUFDLFNBQUQsQ0FBZCxDQUF6QjtBQUNBLDRCQUNFO0FBQ0UsVUFBQSxPQUFPLEVBQUUsS0FBS1MsUUFBTCxDQUFjQyxJQUFkLENBQW1CLElBQW5CLENBRFg7QUFFRSxVQUFBLE9BQU8sRUFBRXpFO0FBRlgsV0FHTTBFLGNBSE4sZ0JBS0U7QUFBTSxVQUFBLEdBQUcsRUFBRSxLQUFLdEU7QUFBaEIsV0FBNkI4RCxNQUE3QixFQUF5Q3BFLEtBQXpDLEdBQ0crRCxXQURILENBTEYsQ0FERjtBQVdELE9BYk0sTUFhQTtBQUNMLDRCQUNFO0FBQU0sVUFBQSxHQUFHLEVBQUUsS0FBS3pEO0FBQWhCLFdBQTZCOEQsTUFBN0IsRUFBeUNwRSxLQUF6QyxHQUNHK0QsV0FESCxDQURGO0FBS0Q7QUFDRjs7O1dBQ0Qsa0JBQVM7QUFDRCxVQUFBVixLQUFLLEdBQUcsSUFBUjtBQUFBLHlCQUNzQixLQUFLckQsS0FEM0I7QUFBQSxVQUNGdUQsUUFERSxnQkFDRkEsUUFERTtBQUFBLFVBQ1FTLFNBRFIsZ0JBQ1FBLFNBRFI7O0FBRU4sVUFBTUQsV0FBVyxHQUFHcEUsS0FBSyxDQUFDK0QsUUFBTixDQUFlQyxHQUFmLENBQW1CSixRQUFuQixFQUE2QixVQUFVSyxLQUFWLEVBQWlCUixLQUFqQixFQUF3QjtBQUN2RSxlQUFPQyxLQUFLLENBQUNRLFlBQU4sQ0FBbUJELEtBQW5CLEVBQTBCUixLQUExQixDQUFQO0FBQ0QsT0FGbUIsQ0FBcEI7QUFHQSxVQUFNcEQsS0FBSyxHQUFHRixJQUFJLENBQUMsS0FBS0UsS0FBTixFQUFhLENBQzdCLE1BRDZCLEVBRTdCLFdBRjZCLEVBRzdCLFlBSDZCLEVBSTdCLGFBSjZCLEVBSzdCLEtBTDZCLEVBTTdCLGVBTjZCLENBQWIsQ0FBbEI7QUFTQSwwQkFBTywwQ0FBRyxLQUFLNkUsV0FBTCxDQUFpQmQsV0FBakIsRUFBOEIvRCxLQUE5QixDQUFILENBQVA7QUFDRDs7O1dBaFFELGtDQUFnQzhFLFNBQWhDLEVBQTJDQyxTQUEzQyxFQUFzRDtBQUNwRCxVQUFRYixVQUFSLEdBQStDWSxTQUEvQyxDQUFRWixVQUFSO0FBQUEsVUFBb0JELFdBQXBCLEdBQStDYSxTQUEvQyxDQUFvQmIsV0FBcEI7QUFBQSxVQUFpQ0QsU0FBakMsR0FBK0NjLFNBQS9DLENBQWlDZCxTQUFqQztBQUNBLFVBQVE3RCxjQUFSLEdBQTRDNEUsU0FBNUMsQ0FBUTVFLGNBQVI7QUFBQSxVQUF3QkMsZUFBeEIsR0FBNEMyRSxTQUE1QyxDQUF3QjNFLGVBQXhCOztBQUNBLFVBQUk0RCxTQUFTLElBQUksT0FBakIsRUFBMEI7QUFDeEIsWUFBSWdCLElBQUksQ0FBQ0MsU0FBTCxDQUFlOUUsY0FBZixNQUFtQzZFLElBQUksQ0FBQ0MsU0FBTCxDQUFlZixVQUFmLENBQXZDLEVBQW1FO0FBQ2pFLGNBQUlnQixRQUFRLEdBQUc7QUFDYjlFLFlBQUFBLGVBQWUsRUFBRThEO0FBREosV0FBZjs7QUFHQSxjQUFJLENBQUFBLFVBQVUsU0FBVixJQUFBQSxVQUFVLFdBQVYsWUFBQUEsVUFBVSxDQUFFaUIsT0FBWixNQUF3QixJQUF4QixJQUFnQyxDQUFBakIsVUFBVSxTQUFWLElBQUFBLFVBQVUsV0FBVixZQUFBQSxVQUFVLENBQUVpQixPQUFaLE1BQXdCQyxTQUE1RCxFQUF1RTtBQUNyRUYsWUFBQUEsUUFBUSxDQUFDaEYsV0FBVCxHQUF1QmdFLFVBQXZCLGFBQXVCQSxVQUF2Qix1QkFBdUJBLFVBQVUsQ0FBRWlCLE9BQW5DO0FBQ0Q7O0FBQ0QsaUJBQU9ELFFBQVA7QUFDRDtBQUNGLE9BVkQsTUFVTyxJQUFJbEIsU0FBUyxJQUFJLFFBQWpCLEVBQTJCO0FBQ2hDLFlBQUlnQixJQUFJLENBQUNDLFNBQUwsQ0FBZTdFLGVBQWYsTUFBb0M0RSxJQUFJLENBQUNDLFNBQUwsQ0FBZWhCLFdBQWYsQ0FBeEMsRUFBcUU7QUFDbkUsY0FBSWlCLFNBQVEsR0FBRztBQUNiOUUsWUFBQUEsZUFBZSxFQUFFNkQ7QUFESixXQUFmOztBQUdBLGNBQ0UsQ0FBQUEsV0FBVyxTQUFYLElBQUFBLFdBQVcsV0FBWCxZQUFBQSxXQUFXLENBQUVrQixPQUFiLE1BQXlCLElBQXpCLElBQ0EsQ0FBQWxCLFdBQVcsU0FBWCxJQUFBQSxXQUFXLFdBQVgsWUFBQUEsV0FBVyxDQUFFa0IsT0FBYixNQUF5QkMsU0FGM0IsRUFHRTtBQUNBRixZQUFBQSxTQUFRLENBQUNoRixXQUFULEdBQXVCK0QsV0FBdkIsYUFBdUJBLFdBQXZCLHVCQUF1QkEsV0FBVyxDQUFFa0IsT0FBcEM7QUFDRDs7QUFFRCxpQkFBT0QsU0FBUDtBQUNEO0FBQ0Y7O0FBQ0QsYUFBTyxJQUFQO0FBQ0Q7Ozs7RUF6Q21CdEYsYTs7QUE4UXRCLGVBQWVHLE9BQWYiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOuihqOWNlee7hOS7tlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDQtMDkgMDk6MTg6MzRcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIzIDE1OjIzOjU0XHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQge1xyXG4gIEZvcm0sXHJcbiAgRm9ybVByb3BzLFxyXG4gIE1vZGFsLFxyXG4gIERyYXdlcixcclxuICBNb2RhbFByb3BzLFxyXG4gIERyYXdlclByb3BzLFxyXG4gIG1lc3NhZ2UsXHJcbn0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IHsgRm9ybUluc3RhbmNlIH0gZnJvbSBcImFudGQvbGliL2Zvcm1cIjtcclxuaW1wb3J0IHsgcmVxdWVzdCB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuXHJcbmludGVyZmFjZSBJRm9ybVByb3BzIGV4dGVuZHMgRm9ybVByb3BzIHtcclxuICBzaG93TW9kZWw/OiBcIm1vZGFsXCIgfCBcImRyYXdlclwiO1xyXG4gIG1vZGFsUHJvcHM/OiBNb2RhbFByb3BzO1xyXG4gIGRyYXdlclByb3BzPzogRHJhd2VyUHJvcHM7XHJcbiAgdXJsPzogc3RyaW5nO1xyXG4gIGVuY3J5cHRGaWVsZHM/OiBBcnJheTxTdHJpbmc+O1xyXG59XHJcblxyXG5jbGFzcyBOc2NGb3JtIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJRm9ybVByb3BzPiB7XHJcbiAgZm9ybVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxGb3JtSW5zdGFuY2U+KCk7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBmb3JtVmlzaWJsZTogZmFsc2UsXHJcbiAgICBmb3JtTW9kYWxQcm9wczoge30sXHJcbiAgICBmb3JtRHJhd2VyUHJvcHM6IHt9LFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wcywgcHJldlN0YXRlKSB7XHJcbiAgICBjb25zdCB7IG1vZGFsUHJvcHMsIGRyYXdlclByb3BzLCBzaG93TW9kZWwgfSA9IG5leHRQcm9wcztcclxuICAgIGNvbnN0IHsgZm9ybU1vZGFsUHJvcHMsIGZvcm1EcmF3ZXJQcm9wcyB9ID0gcHJldlN0YXRlO1xyXG4gICAgaWYgKHNob3dNb2RlbCA9PSBcIm1vZGFsXCIpIHtcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGZvcm1Nb2RhbFByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkobW9kYWxQcm9wcykpIHtcclxuICAgICAgICBsZXQgbmV3U3RhdGUgPSB7XHJcbiAgICAgICAgICBmb3JtRHJhd2VyUHJvcHM6IG1vZGFsUHJvcHMsXHJcbiAgICAgICAgfSBhcyBhbnk7XHJcbiAgICAgICAgaWYgKG1vZGFsUHJvcHM/LnZpc2libGUgIT09IG51bGwgfHwgbW9kYWxQcm9wcz8udmlzaWJsZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBuZXdTdGF0ZS5mb3JtVmlzaWJsZSA9IG1vZGFsUHJvcHM/LnZpc2libGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXdTdGF0ZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZm9ybURyYXdlclByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkoZHJhd2VyUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBkcmF3ZXJQcm9wcyxcclxuICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBkcmF3ZXJQcm9wcz8udmlzaWJsZSAhPT0gbnVsbCB8fFxyXG4gICAgICAgICAgZHJhd2VyUHJvcHM/LnZpc2libGUgIT09IHVuZGVmaW5lZFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgbmV3U3RhdGUuZm9ybVZpc2libGUgPSBkcmF3ZXJQcm9wcz8udmlzaWJsZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBuZXdTdGF0ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWQjeeahOmUmeivr+S/oeaBr1xyXG4gIGdldEZpZWxkRXJyb3IobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZEVycm9yKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5blr7nlupTlrZfmrrXlrp7kvotcclxuICBnZXRGaWVsZEluc3RhbmNlKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRJbnN0YW5jZShuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5LiA57uE5a2X5q615ZCN5a+55bqU55qE6ZSZ6K+v5L+h5oGv77yM6L+U5Zue5Li65pWw57uE5b2i5byPXHJcbiAgZ2V0RmllbGRzRXJyb3IoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkc0Vycm9yKCk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluS4gOe7hOWtl+auteWQjeWvueW6lOeahOWAvO+8jOS8muaMieeFp+WvueW6lOe7k+aehOi/lOWbnlxyXG4gIGdldEZpZWxkc1ZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5blr7nlupTlrZfmrrXlkI3nmoTlgLxcclxuICBnZXRGaWVsZFZhbHVlKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRWYWx1ZShuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5LiA57uE5a2X5q615piv5ZCm6KKr55So5oi35pON5L2c6L+HXHJcbiAgaXNGaWVsZHNUb3VjaGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5pc0ZpZWxkc1RvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5a+55bqU5a2X5q615piv5ZCm6KKr55So5oi35pON5L2c6L+HXHJcbiAgaXNGaWVsZFRvdWNoZWQobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5pc0ZpZWxkVG91Y2hlZChuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5LiA57uE5a2X5q615piv5ZCm5q2j5Zyo5qCh6aqMXHJcbiAgaXNGaWVsZFZhbGlkYXRpbmcobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5pc0ZpZWxkVmFsaWRhdGluZyhuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v6YeN572u5LiA57uE5a2X5q615YiwXHJcbiAgcmVzZXRGaWVsZHMoKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICB9XHJcblxyXG4gIHNjcm9sbFRvRmllbGQobmFtZSwgb3B0aW9ucykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNjcm9sbFRvRmllbGQobmFtZSwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBzZXRGaWVsZHMoZmlsZHMpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zZXRGaWVsZHMoZmlsZHMpO1xyXG4gIH1cclxuXHJcbiAgc2V0RmllbGRzVmFsdWUodmFsdWVzKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2V0RmllbGRzVmFsdWUodmFsdWVzKTtcclxuICB9XHJcblxyXG4gIHN1Ym1pdCgpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zdWJtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KFxyXG4gICAgdXJsPzogc3RyaW5nLFxyXG4gICAgb3B0aW9ucz86IGFueSxcclxuICAgIGNhbGxiYWNrPzogKHJlcz86IGFueSkgPT4gdm9pZCxcclxuICAgIG1zZz86IGJvb2xlYW5cclxuICApIHtcclxuICAgIGNvbnN0IHsgdXJsOiBwcm9wc1VybCwgZW5jcnlwdEZpZWxkczogZW5jcnlwdFByb3BwcyA9IFtdIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCF1cmwgJiYgIXByb3BzVXJsKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIuayoeacieS4iuS8oOeahHVybCFcIik7XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IG1ldGhvZCA9IFwicG9zdFwiIH0gPSBvcHRpb25zO1xyXG4gICAgbGV0IHJlcXVlc3RVcmwgPSB1cmwgPyB1cmwgOiBwcm9wc1VybDtcclxuICAgIGxldCByZXF1ZXN0RGF0YSA9IHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBsZXQgcmVxdWVzdEVuY3J5cHQgPSBlbmNyeXB0UHJvcHBzO1xyXG4gICAgbGV0IHJlcXVlc3RQYXJhbSA9IHsgbWV0aG9kOiBtZXRob2QsIGRhdGE6IHJlcXVlc3REYXRhIH0gYXMgeyBkYXRhOiBhbnkgfTtcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHsgZGF0YSwgZW5jcnlwdEZpZWxkcywgLi4ucGFyYW1zIH0gPSBvcHRpb25zO1xyXG4gICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zIH07XHJcbiAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgZGVsZXRlIHJlcXVlc3RQYXJhbS5kYXRhO1xyXG4gICAgICAgIGlmIChtZXRob2QudG9Mb3dlckNhc2UoKSA9PSBcImdldFwiKSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zLCBwYXJhbXM6IGRhdGEgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcywgZGF0YTogZGF0YSB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoZW5jcnlwdEZpZWxkcykge1xyXG4gICAgICAgIHJlcXVlc3RFbmNyeXB0ID0gZW5jcnlwdEZpZWxkcztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlcXVlc3QocmVxdWVzdFVybCwge1xyXG4gICAgICAuLi5yZXF1ZXN0UGFyYW0sXHJcbiAgICAgIGVuY3J5cHRGaWVsZHM6IHJlcXVlc3RFbmNyeXB0LFxyXG4gICAgfSlcclxuICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlczogYW55KSB7XHJcbiAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgaWYgKG1zZykge1xyXG4gICAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoXCLmj5DkuqTmiJDlip9cIik7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBtZXNzYWdlLmVycm9yKFwi5o+Q5Lqk5aSx6LSlXCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYWxsYmFjayAmJiBjYWxsYmFjayhyZXMpO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZUZpZWxkcyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQudmFsaWRhdGVGaWVsZHMobmFtZSk7XHJcbiAgfVxyXG5cclxuICBoaWRlRm9ybShyZXNldFZhbHVlID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAge1xyXG4gICAgICAgIGZvcm1WaXNpYmxlOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXNldFZhbHVlKSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzaG93Rm9ybSh2YWx1ZT86IGFueSwgcmVzZXRWYWx1ZSA9IHRydWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgIHtcclxuICAgICAgICBmb3JtVmlzaWJsZTogdHJ1ZSxcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKHJlc2V0VmFsdWUpIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5yZXNldEZpZWxkcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNsb25lRWxlbWVudChpdGVtLCBpbmRleCA9IDApIHtcclxuICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICBpZiAodHlwZW9mIGl0ZW0gPT0gXCJzdHJpbmdcIikgcmV0dXJuIGl0ZW07XHJcbiAgICBsZXQgcHJvcHMgPSB7fSBhcyB7IGtleTogbnVtYmVyOyBjaGlsZHJlbjogYW55IH07XHJcbiAgICBwcm9wcy5rZXkgPSBpbmRleDtcclxuICAgIHRyeSB7XHJcbiAgICAgIGlmIChpdGVtLnByb3BzICYmIGl0ZW0ucHJvcHMuY2hpbGRyZW4pIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtLnByb3BzLmNoaWxkcmVuKSkge1xyXG4gICAgICAgICAgcHJvcHMuY2hpbGRyZW4gPSBSZWFjdC5DaGlsZHJlbi5tYXAoXHJcbiAgICAgICAgICAgIGl0ZW0ucHJvcHMuY2hpbGRyZW4sXHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIChjaGlsZCwgaW5kZXgpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gX3RoaXMuY2xvbmVFbGVtZW50KGNoaWxkLCBpbmRleCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHByb3BzLmNoaWxkcmVuID0gdGhpcy5jbG9uZUVsZW1lbnQoaXRlbS5wcm9wcy5jaGlsZHJlbiwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoaXRlbSwgcHJvcHMpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyUGFuZWwobmV3Q2hpbGRyZW4sIHByb3BzKSB7XHJcbiAgICBjb25zdCB7IHNob3dNb2RlbCwgZHJhd2VyUHJvcHMsIG1vZGFsUHJvcHMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1WaXNpYmxlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgbGF5b3V0ID0ge1xyXG4gICAgICBsYWJlbENvbDogeyBzcGFuOiA0IH0sXHJcbiAgICAgIHdyYXBwZXJDb2w6IHsgc3BhbjogMjAgfSxcclxuICAgIH07XHJcbiAgICBpZiAoc2hvd01vZGVsICYmIHNob3dNb2RlbCA9PSBcIm1vZGFsXCIpIHtcclxuICAgICAgbGV0IG5ld01vZGFsUHJvcHMgPSBvbWl0KG1vZGFsUHJvcHMsIFtcInZpc2libGVcIl0pO1xyXG4gICAgICBuZXdNb2RhbFByb3BzID0geyBjZW50ZXJlZDogdHJ1ZSwgLi4ubmV3TW9kYWxQcm9wcyB9O1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxNb2RhbFxyXG4gICAgICAgICAgb25DYW5jZWw9e3RoaXMuaGlkZUZvcm0uYmluZCh0aGlzKX1cclxuICAgICAgICAgIHZpc2libGU9e2Zvcm1WaXNpYmxlfVxyXG4gICAgICAgICAgey4uLm5ld01vZGFsUHJvcHN9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPEZvcm0gcmVmPXt0aGlzLmZvcm1SZWZ9IHsuLi5sYXlvdXR9IHsuLi5wcm9wc30gcHJlc2VydmU9e2ZhbHNlfT5cclxuICAgICAgICAgICAge25ld0NoaWxkcmVufVxyXG4gICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgIDwvTW9kYWw+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2UgaWYgKHNob3dNb2RlbCAmJiBzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICBsZXQgbmV3RHJhd2VyUHJvcHMgPSBvbWl0KGRyYXdlclByb3BzLCBbXCJ2aXNpYmxlXCJdKTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8RHJhd2VyXHJcbiAgICAgICAgICBvbkNsb3NlPXt0aGlzLmhpZGVGb3JtLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICB2aXNpYmxlPXtmb3JtVmlzaWJsZX1cclxuICAgICAgICAgIHsuLi5uZXdEcmF3ZXJQcm9wc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICA8Rm9ybSByZWY9e3RoaXMuZm9ybVJlZn0gey4uLmxheW91dH0gey4uLnByb3BzfT5cclxuICAgICAgICAgICAge25ld0NoaWxkcmVufVxyXG4gICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgIDwvRHJhd2VyPlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8Rm9ybSByZWY9e3RoaXMuZm9ybVJlZn0gey4uLmxheW91dH0gey4uLnByb3BzfT5cclxuICAgICAgICAgIHtuZXdDaGlsZHJlbn1cclxuICAgICAgICA8L0Zvcm0+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcyxcclxuICAgICAgeyBjaGlsZHJlbiwgc2hvd01vZGVsIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3Q2hpbGRyZW4gPSBSZWFjdC5DaGlsZHJlbi5tYXAoY2hpbGRyZW4sIGZ1bmN0aW9uIChjaGlsZCwgaW5kZXgpIHtcclxuICAgICAgcmV0dXJuIF90aGlzLmNsb25lRWxlbWVudChjaGlsZCwgaW5kZXgpO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBwcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICBcImZvcm1cIixcclxuICAgICAgXCJzaG93TW9kZWxcIixcclxuICAgICAgXCJtb2RhbFByb3BzXCIsXHJcbiAgICAgIFwiZHJhd2VyUHJvcHNcIixcclxuICAgICAgXCJ1cmxcIixcclxuICAgICAgXCJlbmNyeXB0RmllbGRzXCIsXHJcbiAgICBdKTtcclxuXHJcbiAgICByZXR1cm4gPD57dGhpcy5yZW5kZXJQYW5lbChuZXdDaGlsZHJlbiwgcHJvcHMpfTwvPjtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgTnNjRm9ybTtcclxuIl19
|
|
415
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2Zvcm0vRm9ybS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwicmVxdWVzdCIsIm9taXQiLCJOc2NGb3JtIiwicHJvcHMiLCJjcmVhdGVSZWYiLCJmb3JtVmlzaWJsZSIsImZvcm1Nb2RhbFByb3BzIiwiZm9ybURyYXdlclByb3BzIiwibmFtZSIsImZvcm1SZWYiLCJjdXJyZW50IiwiZ2V0RmllbGRFcnJvciIsImdldEZpZWxkSW5zdGFuY2UiLCJnZXRGaWVsZHNFcnJvciIsImdldEZpZWxkc1ZhbHVlIiwiZ2V0RmllbGRWYWx1ZSIsImlzRmllbGRzVG91Y2hlZCIsImlzRmllbGRUb3VjaGVkIiwiaXNGaWVsZFZhbGlkYXRpbmciLCJyZXNldEZpZWxkcyIsIm9wdGlvbnMiLCJzY3JvbGxUb0ZpZWxkIiwiZmlsZHMiLCJzZXRGaWVsZHMiLCJ2YWx1ZXMiLCJzZXRGaWVsZHNWYWx1ZSIsInN1Ym1pdCIsInVybCIsImNhbGxiYWNrIiwibXNnIiwicHJvcHNVcmwiLCJlbmNyeXB0RmllbGRzIiwiZW5jcnlwdFByb3BwcyIsIkVycm9yIiwibWV0aG9kIiwicmVxdWVzdFVybCIsInJlcXVlc3REYXRhIiwicmVxdWVzdEVuY3J5cHQiLCJyZXF1ZXN0UGFyYW0iLCJkYXRhIiwicGFyYW1zIiwidG9Mb3dlckNhc2UiLCJ0aGVuIiwicmVzIiwiY29kZSIsInN1Y2Nlc3MiLCJlcnJvciIsImNhdGNoIiwiY29uc29sZSIsImxvZyIsInZhbGlkYXRlRmllbGRzIiwicmVzZXRWYWx1ZSIsInNldFN0YXRlIiwidmFsdWUiLCJpdGVtIiwiaW5kZXgiLCJfdGhpcyIsImtleSIsImNoaWxkcmVuIiwiQXJyYXkiLCJpc0FycmF5IiwiQ2hpbGRyZW4iLCJtYXAiLCJjaGlsZCIsImNsb25lRWxlbWVudCIsImUiLCJuZXdDaGlsZHJlbiIsInNob3dNb2RlbCIsImRyYXdlclByb3BzIiwibW9kYWxQcm9wcyIsInN0YXRlIiwibGF5b3V0IiwibGFiZWxDb2wiLCJzcGFuIiwid3JhcHBlckNvbCIsIm5ld01vZGFsUHJvcHMiLCJjZW50ZXJlZCIsImhpZGVGb3JtIiwiYmluZCIsIm5ld0RyYXdlclByb3BzIiwicmVuZGVyUGFuZWwiLCJuZXh0UHJvcHMiLCJwcmV2U3RhdGUiLCJKU09OIiwic3RyaW5naWZ5IiwibmV3U3RhdGUiLCJ2aXNpYmxlIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQVdBLFNBQVNDLE9BQVQsUUFBd0IsdUJBQXhCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjs7SUFVTUMsTzs7Ozs7QUFRSixtQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQiwrQkFBTUEsS0FBTjs7QUFEaUIsNEVBUFRMLEtBQUssQ0FBQ00sU0FBTixFQU9TOztBQUFBLDZEQU5YO0FBQ05DLE1BQUFBLFdBQVcsRUFBRSxLQURQO0FBRU5DLE1BQUFBLGNBQWMsRUFBRSxFQUZWO0FBR05DLE1BQUFBLGVBQWUsRUFBRTtBQUhYLEtBTVc7O0FBQUE7QUFFbEI7Ozs7V0FpQ0Q7QUFDQSwyQkFBY0MsSUFBZCxFQUFvQjtBQUFBOztBQUNsQixzQ0FBTyxLQUFLQyxPQUFMLENBQWFDLE9BQXBCLDBEQUFPLHNCQUFzQkMsYUFBdEIsQ0FBb0NILElBQXBDLENBQVA7QUFDRCxLLENBRUQ7Ozs7V0FDQSwwQkFBaUJBLElBQWpCLEVBQXVCO0FBQUE7O0FBQ3JCLHVDQUFPLEtBQUtDLE9BQUwsQ0FBYUMsT0FBcEIsMkRBQU8sdUJBQXNCRSxnQkFBdEIsQ0FBdUNKLElBQXZDLENBQVA7QUFDRCxLLENBRUQ7Ozs7V0FDQSwwQkFBaUI7QUFBQTs7QUFDZix1Q0FBTyxLQUFLQyxPQUFMLENBQWFDLE9BQXBCLDJEQUFP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QUF2Qix1QkFBdUJBLFVBQVUsQ0FBRWlCLE9BQW5DO0FBQ0Q7O0FBQ0QsaUJBQU9ELFFBQVA7QUFDRDtBQUNGLE9BVkQsTUFVTyxJQUFJbEIsU0FBUyxJQUFJLFFBQWpCLEVBQTJCO0FBQ2hDLFlBQUlnQixJQUFJLENBQUNDLFNBQUwsQ0FBZTdFLGVBQWYsTUFBb0M0RSxJQUFJLENBQUNDLFNBQUwsQ0FBZWhCLFdBQWYsQ0FBeEMsRUFBcUU7QUFDbkUsY0FBSWlCLFNBQVEsR0FBRztBQUNiOUUsWUFBQUEsZUFBZSxFQUFFNkQ7QUFESixXQUFmOztBQUdBLGNBQ0UsQ0FBQUEsV0FBVyxTQUFYLElBQUFBLFdBQVcsV0FBWCxZQUFBQSxXQUFXLENBQUVrQixPQUFiLE1BQXlCLElBQXpCLElBQ0EsQ0FBQWxCLFdBQVcsU0FBWCxJQUFBQSxXQUFXLFdBQVgsWUFBQUEsV0FBVyxDQUFFa0IsT0FBYixNQUF5QkMsU0FGM0IsRUFHRTtBQUNBRixZQUFBQSxTQUFRLENBQUNoRixXQUFULEdBQXVCK0QsV0FBdkIsYUFBdUJBLFdBQXZCLHVCQUF1QkEsV0FBVyxDQUFFa0IsT0FBcEM7QUFDRDs7QUFFRCxpQkFBT0QsU0FBUDtBQUNEO0FBQ0Y7O0FBQ0QsYUFBTyxJQUFQO0FBQ0Q7Ozs7RUF6Q21CdEYsYTs7QUE4UXRCLGVBQWVHLE9BQWYiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOuihqOWNlee7hOS7tlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDQtMDkgMDk6MTg6MzRcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIzIDE1OjIzOjU0XHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQge1xyXG4gIEZvcm0sXHJcbiAgRm9ybVByb3BzLFxyXG4gIE1vZGFsLFxyXG4gIERyYXdlcixcclxuICBNb2RhbFByb3BzLFxyXG4gIERyYXdlclByb3BzLFxyXG4gIG1lc3NhZ2UsXHJcbn0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IHsgRm9ybUluc3RhbmNlIH0gZnJvbSBcImFudGQvbGliL2Zvcm1cIjtcclxuaW1wb3J0IHsgcmVxdWVzdCB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuXHJcbmludGVyZmFjZSBJRm9ybVByb3BzIGV4dGVuZHMgRm9ybVByb3BzIHtcclxuICBzaG93TW9kZWw/OiBcIm1vZGFsXCIgfCBcImRyYXdlclwiO1xyXG4gIG1vZGFsUHJvcHM/OiBNb2RhbFByb3BzO1xyXG4gIGRyYXdlclByb3BzPzogRHJhd2VyUHJvcHM7XHJcbiAgdXJsPzogc3RyaW5nO1xyXG4gIGVuY3J5cHRGaWVsZHM/OiBBcnJheTxTdHJpbmc+O1xyXG59XHJcblxyXG5jbGFzcyBOc2NGb3JtIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJRm9ybVByb3BzPiB7XHJcbiAgZm9ybVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxGb3JtSW5zdGFuY2U+KCk7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBmb3JtVmlzaWJsZTogZmFsc2UsXHJcbiAgICBmb3JtTW9kYWxQcm9wczoge30sXHJcbiAgICBmb3JtRHJhd2VyUHJvcHM6IHt9LFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wcywgcHJldlN0YXRlKSB7XHJcbiAgICBjb25zdCB7IG1vZGFsUHJvcHMsIGRyYXdlclByb3BzLCBzaG93TW9kZWwgfSA9IG5leHRQcm9wcztcclxuICAgIGNvbnN0IHsgZm9ybU1vZGFsUHJvcHMsIGZvcm1EcmF3ZXJQcm9wcyB9ID0gcHJldlN0YXRlO1xyXG4gICAgaWYgKHNob3dNb2RlbCA9PSBcIm1vZGFsXCIpIHtcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGZvcm1Nb2RhbFByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkobW9kYWxQcm9wcykpIHtcclxuICAgICAgICBsZXQgbmV3U3RhdGUgPSB7XHJcbiAgICAgICAgICBmb3JtRHJhd2VyUHJvcHM6IG1vZGFsUHJvcHMsXHJcbiAgICAgICAgfSBhcyBhbnk7XHJcbiAgICAgICAgaWYgKG1vZGFsUHJvcHM/LnZpc2libGUgIT09IG51bGwgJiYgbW9kYWxQcm9wcz8udmlzaWJsZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBuZXdTdGF0ZS5mb3JtVmlzaWJsZSA9IG1vZGFsUHJvcHM/LnZpc2libGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXdTdGF0ZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZm9ybURyYXdlclByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkoZHJhd2VyUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBkcmF3ZXJQcm9wcyxcclxuICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBkcmF3ZXJQcm9wcz8udmlzaWJsZSAhPT0gbnVsbCAmJlxyXG4gICAgICAgICAgZHJhd2VyUHJvcHM/LnZpc2libGUgIT09IHVuZGVmaW5lZFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgbmV3U3RhdGUuZm9ybVZpc2libGUgPSBkcmF3ZXJQcm9wcz8udmlzaWJsZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBuZXdTdGF0ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWQjeeahOmUmeivr+S/oeaBr1xyXG4gIGdldEZpZWxkRXJyb3IobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZEVycm9yKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5blr7nlupTlrZfmrrXlrp7kvotcclxuICBnZXRGaWVsZEluc3RhbmNlKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRJbnN0YW5jZShuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5LiA57uE5a2X5q615ZCN5a+55bqU55qE6ZSZ6K+v5L+h5oGv77yM6L+U5Zue5Li65pWw57uE5b2i5byPXHJcbiAgZ2V0RmllbGRzRXJyb3IoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkc0Vycm9yKCk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluS4gOe7hOWtl+auteWQjeWvueW6lOeahOWAvO+8jOS8muaMieeFp+WvueW6lOe7k+aehOi/lOWbnlxyXG4gIGdldEZpZWxkc1ZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5blr7nlupTlrZfmrrXlkI3nmoTlgLxcclxuICBnZXRGaWVsZFZhbHVlKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRWYWx1ZShuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5LiA57uE5a2X5q615piv5ZCm6KKr55So5oi35pON5L2c6L+HXHJcbiAgaXNGaWVsZHNUb3VjaGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5pc0ZpZWxkc1RvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5a+55bqU5a2X5q615piv5ZCm6KKr55So5oi35pON5L2c6L+HXHJcbiAgaXNGaWVsZFRvdWNoZWQobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5pc0ZpZWxkVG91Y2hlZChuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5LiA57uE5a2X5q615piv5ZCm5q2j5Zyo5qCh6aqMXHJcbiAgaXNGaWVsZFZhbGlkYXRpbmcobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5pc0ZpZWxkVmFsaWRhdGluZyhuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v6YeN572u5LiA57uE5a2X5q615YiwXHJcbiAgcmVzZXRGaWVsZHMoKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICB9XHJcblxyXG4gIHNjcm9sbFRvRmllbGQobmFtZSwgb3B0aW9ucykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNjcm9sbFRvRmllbGQobmFtZSwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBzZXRGaWVsZHMoZmlsZHMpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zZXRGaWVsZHMoZmlsZHMpO1xyXG4gIH1cclxuXHJcbiAgc2V0RmllbGRzVmFsdWUodmFsdWVzKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2V0RmllbGRzVmFsdWUodmFsdWVzKTtcclxuICB9XHJcblxyXG4gIHN1Ym1pdCgpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zdWJtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KFxyXG4gICAgdXJsPzogc3RyaW5nLFxyXG4gICAgb3B0aW9ucz86IGFueSxcclxuICAgIGNhbGxiYWNrPzogKHJlcz86IGFueSkgPT4gdm9pZCxcclxuICAgIG1zZz86IGJvb2xlYW5cclxuICApIHtcclxuICAgIGNvbnN0IHsgdXJsOiBwcm9wc1VybCwgZW5jcnlwdEZpZWxkczogZW5jcnlwdFByb3BwcyA9IFtdIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCF1cmwgJiYgIXByb3BzVXJsKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIuayoeacieS4iuS8oOeahHVybCFcIik7XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IG1ldGhvZCA9IFwicG9zdFwiIH0gPSBvcHRpb25zO1xyXG4gICAgbGV0IHJlcXVlc3RVcmwgPSB1cmwgPyB1cmwgOiBwcm9wc1VybDtcclxuICAgIGxldCByZXF1ZXN0RGF0YSA9IHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBsZXQgcmVxdWVzdEVuY3J5cHQgPSBlbmNyeXB0UHJvcHBzO1xyXG4gICAgbGV0IHJlcXVlc3RQYXJhbSA9IHsgbWV0aG9kOiBtZXRob2QsIGRhdGE6IHJlcXVlc3REYXRhIH0gYXMgeyBkYXRhOiBhbnkgfTtcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHsgZGF0YSwgZW5jcnlwdEZpZWxkcywgLi4ucGFyYW1zIH0gPSBvcHRpb25zO1xyXG4gICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zIH07XHJcbiAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgZGVsZXRlIHJlcXVlc3RQYXJhbS5kYXRhO1xyXG4gICAgICAgIGlmIChtZXRob2QudG9Mb3dlckNhc2UoKSA9PSBcImdldFwiKSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zLCBwYXJhbXM6IGRhdGEgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcywgZGF0YTogZGF0YSB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoZW5jcnlwdEZpZWxkcykge1xyXG4gICAgICAgIHJlcXVlc3RFbmNyeXB0ID0gZW5jcnlwdEZpZWxkcztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlcXVlc3QocmVxdWVzdFVybCwge1xyXG4gICAgICAuLi5yZXF1ZXN0UGFyYW0sXHJcbiAgICAgIGVuY3J5cHRGaWVsZHM6IHJlcXVlc3RFbmNyeXB0LFxyXG4gICAgfSlcclxuICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlczogYW55KSB7XHJcbiAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgaWYgKG1zZykge1xyXG4gICAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoXCLmj5DkuqTmiJDlip9cIik7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBtZXNzYWdlLmVycm9yKFwi5o+Q5Lqk5aSx6LSlXCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYWxsYmFjayAmJiBjYWxsYmFjayhyZXMpO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZUZpZWxkcyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQudmFsaWRhdGVGaWVsZHMobmFtZSk7XHJcbiAgfVxyXG5cclxuICBoaWRlRm9ybShyZXNldFZhbHVlID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAge1xyXG4gICAgICAgIGZvcm1WaXNpYmxlOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXNldFZhbHVlKSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzaG93Rm9ybSh2YWx1ZT86IGFueSwgcmVzZXRWYWx1ZSA9IHRydWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgIHtcclxuICAgICAgICBmb3JtVmlzaWJsZTogdHJ1ZSxcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKHJlc2V0VmFsdWUpIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5yZXNldEZpZWxkcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNsb25lRWxlbWVudChpdGVtLCBpbmRleCA9IDApIHtcclxuICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICBpZiAodHlwZW9mIGl0ZW0gPT0gXCJzdHJpbmdcIikgcmV0dXJuIGl0ZW07XHJcbiAgICBsZXQgcHJvcHMgPSB7fSBhcyB7IGtleTogbnVtYmVyOyBjaGlsZHJlbjogYW55IH07XHJcbiAgICBwcm9wcy5rZXkgPSBpbmRleDtcclxuICAgIHRyeSB7XHJcbiAgICAgIGlmIChpdGVtLnByb3BzICYmIGl0ZW0ucHJvcHMuY2hpbGRyZW4pIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtLnByb3BzLmNoaWxkcmVuKSkge1xyXG4gICAgICAgICAgcHJvcHMuY2hpbGRyZW4gPSBSZWFjdC5DaGlsZHJlbi5tYXAoXHJcbiAgICAgICAgICAgIGl0ZW0ucHJvcHMuY2hpbGRyZW4sXHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIChjaGlsZCwgaW5kZXgpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gX3RoaXMuY2xvbmVFbGVtZW50KGNoaWxkLCBpbmRleCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHByb3BzLmNoaWxkcmVuID0gdGhpcy5jbG9uZUVsZW1lbnQoaXRlbS5wcm9wcy5jaGlsZHJlbiwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoaXRlbSwgcHJvcHMpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyUGFuZWwobmV3Q2hpbGRyZW4sIHByb3BzKSB7XHJcbiAgICBjb25zdCB7IHNob3dNb2RlbCwgZHJhd2VyUHJvcHMsIG1vZGFsUHJvcHMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1WaXNpYmxlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgbGF5b3V0ID0ge1xyXG4gICAgICBsYWJlbENvbDogeyBzcGFuOiA0IH0sXHJcbiAgICAgIHdyYXBwZXJDb2w6IHsgc3BhbjogMjAgfSxcclxuICAgIH07XHJcbiAgICBpZiAoc2hvd01vZGVsICYmIHNob3dNb2RlbCA9PSBcIm1vZGFsXCIpIHtcclxuICAgICAgbGV0IG5ld01vZGFsUHJvcHMgPSBvbWl0KG1vZGFsUHJvcHMsIFtcInZpc2libGVcIl0pO1xyXG4gICAgICBuZXdNb2RhbFByb3BzID0geyBjZW50ZXJlZDogdHJ1ZSwgLi4ubmV3TW9kYWxQcm9wcyB9O1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxNb2RhbFxyXG4gICAgICAgICAgb25DYW5jZWw9e3RoaXMuaGlkZUZvcm0uYmluZCh0aGlzKX1cclxuICAgICAgICAgIHZpc2libGU9e2Zvcm1WaXNpYmxlfVxyXG4gICAgICAgICAgey4uLm5ld01vZGFsUHJvcHN9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPEZvcm0gcmVmPXt0aGlzLmZvcm1SZWZ9IHsuLi5sYXlvdXR9IHsuLi5wcm9wc30gcHJlc2VydmU9e2ZhbHNlfT5cclxuICAgICAgICAgICAge25ld0NoaWxkcmVufVxyXG4gICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgIDwvTW9kYWw+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2UgaWYgKHNob3dNb2RlbCAmJiBzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICBsZXQgbmV3RHJhd2VyUHJvcHMgPSBvbWl0KGRyYXdlclByb3BzLCBbXCJ2aXNpYmxlXCJdKTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8RHJhd2VyXHJcbiAgICAgICAgICBvbkNsb3NlPXt0aGlzLmhpZGVGb3JtLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICB2aXNpYmxlPXtmb3JtVmlzaWJsZX1cclxuICAgICAgICAgIHsuLi5uZXdEcmF3ZXJQcm9wc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICA8Rm9ybSByZWY9e3RoaXMuZm9ybVJlZn0gey4uLmxheW91dH0gey4uLnByb3BzfT5cclxuICAgICAgICAgICAge25ld0NoaWxkcmVufVxyXG4gICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgIDwvRHJhd2VyPlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8Rm9ybSByZWY9e3RoaXMuZm9ybVJlZn0gey4uLmxheW91dH0gey4uLnByb3BzfT5cclxuICAgICAgICAgIHtuZXdDaGlsZHJlbn1cclxuICAgICAgICA8L0Zvcm0+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcyxcclxuICAgICAgeyBjaGlsZHJlbiwgc2hvd01vZGVsIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3Q2hpbGRyZW4gPSBSZWFjdC5DaGlsZHJlbi5tYXAoY2hpbGRyZW4sIGZ1bmN0aW9uIChjaGlsZCwgaW5kZXgpIHtcclxuICAgICAgcmV0dXJuIF90aGlzLmNsb25lRWxlbWVudChjaGlsZCwgaW5kZXgpO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBwcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICBcImZvcm1cIixcclxuICAgICAgXCJzaG93TW9kZWxcIixcclxuICAgICAgXCJtb2RhbFByb3BzXCIsXHJcbiAgICAgIFwiZHJhd2VyUHJvcHNcIixcclxuICAgICAgXCJ1cmxcIixcclxuICAgICAgXCJlbmNyeXB0RmllbGRzXCIsXHJcbiAgICBdKTtcclxuXHJcbiAgICByZXR1cm4gPD57dGhpcy5yZW5kZXJQYW5lbChuZXdDaGlsZHJlbiwgcHJvcHMpfTwvPjtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgTnNjRm9ybTtcclxuIl19
|