nsc-react-component 4.1.20 → 4.1.22
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/base/checkbox/CheckboxGroup.js +4 -4
- package/lib/base/checkbox/CheckboxGroup.js.map +1 -1
- package/lib/base/importData/index.d.ts +3 -0
- package/lib/base/importData/index.js +35 -16
- package/lib/base/importData/index.js.map +1 -1
- package/lib/base/radio/RadioGroup.js +3 -3
- package/lib/base/radio/RadioGroup.js.map +1 -1
- package/lib/page/BasePage/index.js +1 -4
- package/lib/page/BasePage/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -38,11 +38,11 @@ class NSCCheckboxGroup extends PureComponent {
|
|
|
38
38
|
data,
|
|
39
39
|
children,
|
|
40
40
|
addData = [],
|
|
41
|
-
deleteData = []
|
|
42
|
-
viewtype = "sys"
|
|
41
|
+
deleteData = []
|
|
43
42
|
} = props;
|
|
44
43
|
const {
|
|
45
|
-
viewname
|
|
44
|
+
viewname,
|
|
45
|
+
viewtype = "sys"
|
|
46
46
|
} = store;
|
|
47
47
|
let {
|
|
48
48
|
valueField
|
|
@@ -247,4 +247,4 @@ class NSCCheckboxGroup extends PureComponent {
|
|
|
247
247
|
}
|
|
248
248
|
}
|
|
249
249
|
export default NSCCheckboxGroup;
|
|
250
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJTdG9yZSIsInV0aWxzIiwib21pdCIsImNvbmZpZyIsIk5TQ0NoZWNrYm94R3JvdXAiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiX2RlZmluZVByb3BlcnR5IiwiZGF0YVNvdXJjZSIsImRhdGFTdG9yZSIsInZhbHVlIiwiX3RoaXMiLCJzdG9yZSIsIm9wdGlvbnMiLCJkYXRhIiwiY2hpbGRyZW4iLCJhZGREYXRhIiwiZGVsZXRlRGF0YSIsInZpZXd0eXBlIiwidmlld25hbWUiLCJ2YWx1ZUZpZWxkIiwidmlld1VybCIsInZpZXdCaXpVcmwiLCJyZXF1ZXN0Vmlld1VybCIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJjYWNoZWQiLCJjYWNoZUtleSIsInN0b3JlcyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsIl9leGNsdWRlZCIsIkVycm9yIiwiZ2V0QWxsRGF0YSIsIkFycmF5IiwiaXNBcnJheSIsIm5ld0RhdGEiLCJsZW5ndGgiLCJ2YWx1ZUZpZWxkcyIsInNwbGl0IiwibWFwIiwiaXRlbSIsImkiLCJ2IiwiaW5kZXgiLCJpbmRleE9mIiwic3BsaWNlIiwic3RvcmVQcm9wcyIsIl9vYmplY3RTcHJlYWQiLCJtb2RlbCIsImNvbXBvbmVudCIsIm9uQmVmb3JlTG9hZCIsImNhbGxiYWNrIiwibG9hZCIsIm1vZGVsRGF0YSIsImNvbnZlcnREYXRhIiwic2V0U3RhdGUiLCJkYXRhQ2hhbmdlZCIsImlzQ2FjaGVkIiwiaXNDYWNoZUtleSIsImF1dG9Mb2FkIiwibGFiZWxGaWVsZCIsImRhdGFTb3VyZSIsIm9iaiIsImxhYmVsIiwibGFiZWxGaWVsZHMiLCJsIiwiZGlzYWJsZWQiLCJwdXNoIiwib25DaGFuZ2UiLCJjaGVja2VkVmFsdWUiLCJnZXRWYWx1ZSIsInN0YXRlIiwic2V0VmFsdWUiLCJjb21wb25lbnREaWRNb3VudCIsImNvbXBvbmVudERpZFVwZGF0ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJyZW5kZXIiLCJfdGhpcyRwcm9wcyIsInBhcmFtcyIsIl9leGNsdWRlZDIiLCJDaGVja0JveFByb3BzIiwiY3JlYXRlRWxlbWVudCIsIl9DaGVja2JveCIsIkdyb3VwIiwiX2V4dGVuZHMiLCJiaW5kIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFzZS9jaGVja2JveC9DaGVja2JveEdyb3VwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDQtMTQgMDg6NTk6MTlcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIzIDE2OjQ2OjMzXHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBDaGVja2JveCwgQ2hlY2tib3hQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuLi8uLi9jb25maWdcIjtcclxuXHJcbmludGVyZmFjZSBJQ2hlY2tib3hHcm91cFByb3BzIGV4dGVuZHMgQ2hlY2tib3hQcm9wcyB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGRhdGE/OiBBcnJheTxzdHJpbmcgfCBPYmplY3Q+OyAvL+m7mOiupOaVsOaNrlxyXG4gIGxhYmVsRmllbGQ/OiBzdHJpbmc7XHJcbiAgdmFsdWVGaWVsZD86IHN0cmluZztcclxuICBhZGREYXRhPzogQXJyYXk8c3RyaW5nIHwgT2JqZWN0PjtcclxuICBkZWxldGVEYXRhPzogQXJyYXk8c3RyaW5nPjtcclxuICBbcHJvcE5hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuY2xhc3MgTlNDQ2hlY2tib3hHcm91cCBleHRlbmRzIFB1cmVDb21wb25lbnQ8SUNoZWNrYm94R3JvdXBQcm9wcz4ge1xyXG4gIHN0YXRlID0ge1xyXG4gICAgZGF0YVNvdXJjZTogW10sXHJcbiAgICBkYXRhU3RvcmU6IFtdLFxyXG4gICAgdmFsdWU6IFtdLFxyXG4gIH07XHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBhZGREYXRhID0gW10sXHJcbiAgICAgIGRlbGV0ZURhdGEgPSBbXSxcclxuICAgICAgdmlld3R5cGUgPSBcInN5c1wiLFxyXG4gICAgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgeyB2aWV3bmFtZSB9ID0gc3RvcmU7XHJcbiAgICBsZXQgeyB2YWx1ZUZpZWxkIH0gPSBwcm9wcztcclxuICAgIHZhbHVlRmllbGQgPSB2YWx1ZUZpZWxkID8gdmFsdWVGaWVsZCA6IHZpZXduYW1lID8gXCJkaWN0S2V5XCIgOiBcInZhbHVlXCI7XHJcbiAgICBsZXQgeyB2aWV3VXJsLCB2aWV3Qml6VXJsIH0gPSBjb25maWcoKTtcclxuICAgIGxldCByZXF1ZXN0Vmlld1VybCA9IHZpZXd0eXBlID09IFwic3lzXCIgPyB2aWV3VXJsIDogdmlld0JpelVybDtcclxuICAgIGlmICghY2hpbGRyZW4pIHtcclxuICAgICAgY29uc3Qge1xyXG4gICAgICAgIHVybCxcclxuICAgICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1BvcHMgPSB7fSxcclxuICAgICAgICB2aWV3bmFtZSxcclxuICAgICAgICBjYWNoZWQsXHJcbiAgICAgICAgY2FjaGVLZXksXHJcblxyXG4gICAgICAgIC4uLnN0b3Jlc1xyXG4gICAgICB9ID0gc3RvcmU7XHJcbiAgICAgIGlmICghdXJsICYmICFvcHRpb25zICYmICFkYXRhICYmICF2aWV3bmFtZSlcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzjgIF2aWV3bmFtZeOAgWRhdGHlkoxvcHRpb25z5LiN6IO96YO95Li656m677yBXCIpO1xyXG4gICAgICBjb25zdCBnZXRBbGxEYXRhID0gKGRhdGEpID0+IHtcclxuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoZGF0YSkpIHtcclxuICAgICAgICAgIHJldHVybiBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IG5ld0RhdGEgPSBbLi4uZGF0YV07XHJcbiAgICAgICAgaWYgKGFkZERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgbmV3RGF0YSA9IFsuLi5hZGREYXRhLCAuLi5uZXdEYXRhXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRlbGV0ZURhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgICAgbmV3RGF0YS5tYXAoKGl0ZW0sIGkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgICAgICAgbGV0IHZhbHVlID0gXCJcIjtcclxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGl0ZW1bdl0gOiB2YWx1ZSArIFwiLFwiICsgaXRlbVt2XTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICBpZiAoZGVsZXRlRGF0YS5pbmRleE9mKHZhbHVlKSA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICBuZXdEYXRhLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGl0ZW0gPT09IFwic3RyaW5nXCIpIHtcclxuICAgICAgICAgICAgICBpZiAoZGVsZXRlRGF0YS5pbmRleE9mKGl0ZW0pID4gLTEpIHtcclxuICAgICAgICAgICAgICAgIG5ld0RhdGEuc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXdEYXRhO1xyXG4gICAgICB9O1xyXG4gICAgICB2YXIgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICBtb2RlbDogXCJtb2RlbFwiLFxyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBsaXN0ZW5lcnM6IHtcclxuICAgICAgICAgIG9uQmVmb3JlTG9hZDogZnVuY3Rpb24gKHN0b3JlLCBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMub25CZWZvcmVMb2FkLCBfdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgbGV0IGRhdGFTb3VyY2UgPSBfdGhpcy5jb252ZXJ0RGF0YShnZXRBbGxEYXRhKGRhdGEpKTtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBkYXRhU291cmNlIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmxvYWQsIF90aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IF90aGlzLmNvbnZlcnREYXRhKGdldEFsbERhdGEoZGF0YSkpIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmRhdGFDaGFuZ2VkLCBfdGhpcywgW1xyXG4gICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIHN0b3JlLFxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5zdG9yZXMsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgU3RvcmUoc3RvcmVQcm9wcyk7XHJcbiAgICAgIGlmICgodmlld25hbWUgfHwgdXJsKSAmJiBkYXRhID09IG51bGwgJiYgb3B0aW9ucyA9PSBudWxsKSB7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVkID0gY2FjaGVkO1xyXG4gICAgICAgIGxldCBpc0NhY2hlS2V5ID0gY2FjaGVLZXk7XHJcbiAgICAgICAgaWYgKHZpZXduYW1lKSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIGNhY2hlZCAhPT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgICAgICAgaXNDYWNoZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBpc0NhY2hlS2V5ID0gaXNDYWNoZUtleSA/IGlzQ2FjaGVLZXkgOiB2aWV3bmFtZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgYXV0b0xvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHVybDogdXJsIHx8IHJlcXVlc3RWaWV3VXJsICsgdmlld25hbWUsIC8v6K+75a2X5YW477yMdXJs5Zu65a6a77yMdmlld25hbWVcclxuICAgICAgICAgICAgY2FjaGVkOiBpc0NhY2hlZCxcclxuICAgICAgICAgICAgY2FjaGVLZXk6IGlzQ2FjaGVLZXksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgLi4uc3RvcmVQcm9wcyxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgU3RvcmUoc3RvcmVQcm9wcyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbnZlcnREYXRhKGRhdGEpIHtcclxuICAgIGxldCB7IHN0b3JlID0ge30sIHZhbHVlRmllbGQsIGxhYmVsRmllbGQgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IHZpZXduYW1lIH0gPSBzdG9yZTtcclxuICAgIHZhbHVlRmllbGQgPSB2YWx1ZUZpZWxkID8gdmFsdWVGaWVsZCA6IHZpZXduYW1lID8gXCJkaWN0S2V5XCIgOiBcInZhbHVlXCI7XHJcbiAgICBsYWJlbEZpZWxkID0gbGFiZWxGaWVsZCA/IGxhYmVsRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdFZhbHVlXCIgOiBcImxhYmVsXCI7XHJcbiAgICBsZXQgZGF0YVNvdXJlID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKHR5cGVvZiBkYXRhW2ldID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgbGV0IG9iaiA9IHsgLi4uZGF0YVtpXSB9O1xyXG4gICAgICAgIGxldCB2YWx1ZSA9IFwiXCI7XHJcbiAgICAgICAgaWYgKHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgICB2YWx1ZSA9IGRhdGFbaV1bdmFsdWVGaWVsZF07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IHZhbHVlRmllbGRzOiBhbnkgPSB2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICAgIHZhbHVlRmllbGRzLm1hcCgodiwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgdmFsdWUgPSBpbmRleCA9PSAwID8gdmFsdWUgKyBkYXRhW2ldW3ZdIDogdmFsdWUgKyBcIixcIiArIGRhdGFbaV1bdl07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGxhYmVsID0gXCJcIjtcclxuICAgICAgICBpZiAobGFiZWxGaWVsZC5zcGxpdChcIixcIikubGVuZ3RoID09IDEpIHtcclxuICAgICAgICAgIGxhYmVsID0gZGF0YVtpXVtsYWJlbEZpZWxkXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgbGFiZWxGaWVsZHM6IGFueSA9IGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBsYWJlbCA9IGluZGV4ID09IDAgPyBsYWJlbCArIGRhdGFbaV1bbF0gOiBsYWJlbCArIFwiLVwiICsgZGF0YVtpXVtsXTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBvYmoubGFiZWwgPSBsYWJlbDtcclxuICAgICAgICBvYmoudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICBvYmouZGlzYWJsZWQgPSBkYXRhW2ldLmRpc2FibGVkID8gZGF0YVtpXS5kaXNhYmxlZCA6IGZhbHNlO1xyXG4gICAgICAgIGRhdGFTb3VyZS5wdXNoKG9iaik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbGV0IG9iaiA9IHt9IGFzIHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IGFueTsgZGlzYWJsZWQ/OiBib29sZWFuIH07XHJcbiAgICAgICAgb2JqLmxhYmVsID0gZGF0YVtpXTtcclxuICAgICAgICBvYmoudmFsdWUgPSBkYXRhW2ldO1xyXG4gICAgICAgIG9iai5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIGRhdGFTb3VyZS5wdXNoKG9iaik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBkYXRhU291cmU7XHJcbiAgfVxyXG4gIG9uQ2hhbmdlKGNoZWNrZWRWYWx1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHZhbHVlOiBjaGVja2VkVmFsdWUsXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAob25DaGFuZ2UpIHtcclxuICAgICAgb25DaGFuZ2UoY2hlY2tlZFZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0VmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS52YWx1ZTtcclxuICB9XHJcbiAgc2V0VmFsdWUodmFsdWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICB2YWx1ZTogdmFsdWUsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFjaGlsZHJlbiAmJiAoZGF0YSB8fCBvcHRpb25zKSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiB0aGlzLmNvbnZlcnREYXRhKGRhdGEgPyBkYXRhIDogb3B0aW9ucyksXHJcbiAgICAgICAgZGF0YVN0b3JlOiBkYXRhID8gZGF0YSA6IG9wdGlvbnMsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XHJcbiAgICBjb25zdCB7IGRhdGFTdG9yZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IG5ld0RhdGEgPSBkYXRhID8gZGF0YSA6IG9wdGlvbnM7XHJcbiAgICBpZiAoZGF0YSB8fCBvcHRpb25zKSB7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShkYXRhU3RvcmUpICE9PSBKU09OLnN0cmluZ2lmeShuZXdEYXRhKSkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5jb252ZXJ0RGF0YShuZXdEYXRhKSxcclxuICAgICAgICAgIGRhdGFTdG9yZTogbmV3RGF0YSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBkYXRhLCBvcHRpb25zLCAuLi5wYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBDaGVja0JveFByb3BzID0gb21pdCh7IC4uLnBhcmFtcyB9LCBbXHJcbiAgICAgIFwic3RvcmVcIixcclxuICAgICAgXCJ2YWx1ZUZpZWxkXCIsXHJcbiAgICAgIFwibGFiZWxGaWVsZFwiLFxyXG4gICAgICBcImRhdGFcIixcclxuICAgICAgXCJvbkNoYW5nZVwiLFxyXG4gICAgICBcImFkZERhdGFcIixcclxuICAgICAgXCJkZWxldGVEYXRhXCIsXHJcbiAgICBdKTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxDaGVja2JveC5Hcm91cFxyXG4gICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnZhbHVlfVxyXG4gICAgICAgIG9wdGlvbnM9e3RoaXMuc3RhdGUuZGF0YVNvdXJjZX1cclxuICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgIHsuLi5DaGVja0JveFByb3BzfVxyXG4gICAgICAvPlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IE5TQ0NoZWNrYm94R3JvdXA7XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBT0EsS0FBSyxJQUFJQyxhQUFhLFFBQVEsT0FBTztBQUU1QyxPQUFPQyxLQUFLLE1BQXNCLGFBQWE7QUFDL0MsU0FBU0MsS0FBSyxRQUFRLHVCQUF1QjtBQUM3QyxP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
|
|
250
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJTdG9yZSIsInV0aWxzIiwib21pdCIsImNvbmZpZyIsIk5TQ0NoZWNrYm94R3JvdXAiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiX2RlZmluZVByb3BlcnR5IiwiZGF0YVNvdXJjZSIsImRhdGFTdG9yZSIsInZhbHVlIiwiX3RoaXMiLCJzdG9yZSIsIm9wdGlvbnMiLCJkYXRhIiwiY2hpbGRyZW4iLCJhZGREYXRhIiwiZGVsZXRlRGF0YSIsInZpZXduYW1lIiwidmlld3R5cGUiLCJ2YWx1ZUZpZWxkIiwidmlld1VybCIsInZpZXdCaXpVcmwiLCJyZXF1ZXN0Vmlld1VybCIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJjYWNoZWQiLCJjYWNoZUtleSIsInN0b3JlcyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsIl9leGNsdWRlZCIsIkVycm9yIiwiZ2V0QWxsRGF0YSIsIkFycmF5IiwiaXNBcnJheSIsIm5ld0RhdGEiLCJsZW5ndGgiLCJ2YWx1ZUZpZWxkcyIsInNwbGl0IiwibWFwIiwiaXRlbSIsImkiLCJ2IiwiaW5kZXgiLCJpbmRleE9mIiwic3BsaWNlIiwic3RvcmVQcm9wcyIsIl9vYmplY3RTcHJlYWQiLCJtb2RlbCIsImNvbXBvbmVudCIsIm9uQmVmb3JlTG9hZCIsImNhbGxiYWNrIiwibG9hZCIsIm1vZGVsRGF0YSIsImNvbnZlcnREYXRhIiwic2V0U3RhdGUiLCJkYXRhQ2hhbmdlZCIsImlzQ2FjaGVkIiwiaXNDYWNoZUtleSIsImF1dG9Mb2FkIiwibGFiZWxGaWVsZCIsImRhdGFTb3VyZSIsIm9iaiIsImxhYmVsIiwibGFiZWxGaWVsZHMiLCJsIiwiZGlzYWJsZWQiLCJwdXNoIiwib25DaGFuZ2UiLCJjaGVja2VkVmFsdWUiLCJnZXRWYWx1ZSIsInN0YXRlIiwic2V0VmFsdWUiLCJjb21wb25lbnREaWRNb3VudCIsImNvbXBvbmVudERpZFVwZGF0ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJyZW5kZXIiLCJfdGhpcyRwcm9wcyIsInBhcmFtcyIsIl9leGNsdWRlZDIiLCJDaGVja0JveFByb3BzIiwiY3JlYXRlRWxlbWVudCIsIl9DaGVja2JveCIsIkdyb3VwIiwiX2V4dGVuZHMiLCJiaW5kIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFzZS9jaGVja2JveC9DaGVja2JveEdyb3VwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDQtMTQgMDg6NTk6MTlcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIzIDE2OjQ2OjMzXHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBDaGVja2JveCwgQ2hlY2tib3hQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuLi8uLi9jb25maWdcIjtcclxuXHJcbmludGVyZmFjZSBJQ2hlY2tib3hHcm91cFByb3BzIGV4dGVuZHMgQ2hlY2tib3hQcm9wcyB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGRhdGE/OiBBcnJheTxzdHJpbmcgfCBPYmplY3Q+OyAvL+m7mOiupOaVsOaNrlxyXG4gIGxhYmVsRmllbGQ/OiBzdHJpbmc7XHJcbiAgdmFsdWVGaWVsZD86IHN0cmluZztcclxuICBhZGREYXRhPzogQXJyYXk8c3RyaW5nIHwgT2JqZWN0PjtcclxuICBkZWxldGVEYXRhPzogQXJyYXk8c3RyaW5nPjtcclxuICBbcHJvcE5hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuY2xhc3MgTlNDQ2hlY2tib3hHcm91cCBleHRlbmRzIFB1cmVDb21wb25lbnQ8SUNoZWNrYm94R3JvdXBQcm9wcz4ge1xyXG4gIHN0YXRlID0ge1xyXG4gICAgZGF0YVNvdXJjZTogW10sXHJcbiAgICBkYXRhU3RvcmU6IFtdLFxyXG4gICAgdmFsdWU6IFtdLFxyXG4gIH07XHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBhZGREYXRhID0gW10sXHJcbiAgICAgIGRlbGV0ZURhdGEgPSBbXSxcclxuICAgIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHsgdmlld25hbWUsIHZpZXd0eXBlID0gXCJzeXNcIiB9ID0gc3RvcmU7XHJcbiAgICBsZXQgeyB2YWx1ZUZpZWxkIH0gPSBwcm9wcztcclxuICAgIHZhbHVlRmllbGQgPSB2YWx1ZUZpZWxkID8gdmFsdWVGaWVsZCA6IHZpZXduYW1lID8gXCJkaWN0S2V5XCIgOiBcInZhbHVlXCI7XHJcbiAgICBsZXQgeyB2aWV3VXJsLCB2aWV3Qml6VXJsIH0gPSBjb25maWcoKTtcclxuICAgIGxldCByZXF1ZXN0Vmlld1VybCA9IHZpZXd0eXBlID09IFwic3lzXCIgPyB2aWV3VXJsIDogdmlld0JpelVybDtcclxuICAgIGlmICghY2hpbGRyZW4pIHtcclxuICAgICAgY29uc3Qge1xyXG4gICAgICAgIHVybCxcclxuICAgICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1BvcHMgPSB7fSxcclxuICAgICAgICB2aWV3bmFtZSxcclxuICAgICAgICBjYWNoZWQsXHJcbiAgICAgICAgY2FjaGVLZXksXHJcblxyXG4gICAgICAgIC4uLnN0b3Jlc1xyXG4gICAgICB9ID0gc3RvcmU7XHJcbiAgICAgIGlmICghdXJsICYmICFvcHRpb25zICYmICFkYXRhICYmICF2aWV3bmFtZSlcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzjgIF2aWV3bmFtZeOAgWRhdGHlkoxvcHRpb25z5LiN6IO96YO95Li656m677yBXCIpO1xyXG4gICAgICBjb25zdCBnZXRBbGxEYXRhID0gKGRhdGEpID0+IHtcclxuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoZGF0YSkpIHtcclxuICAgICAgICAgIHJldHVybiBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IG5ld0RhdGEgPSBbLi4uZGF0YV07XHJcbiAgICAgICAgaWYgKGFkZERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgbmV3RGF0YSA9IFsuLi5hZGREYXRhLCAuLi5uZXdEYXRhXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRlbGV0ZURhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgICAgbmV3RGF0YS5tYXAoKGl0ZW0sIGkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgICAgICAgbGV0IHZhbHVlID0gXCJcIjtcclxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGl0ZW1bdl0gOiB2YWx1ZSArIFwiLFwiICsgaXRlbVt2XTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICBpZiAoZGVsZXRlRGF0YS5pbmRleE9mKHZhbHVlKSA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICBuZXdEYXRhLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGl0ZW0gPT09IFwic3RyaW5nXCIpIHtcclxuICAgICAgICAgICAgICBpZiAoZGVsZXRlRGF0YS5pbmRleE9mKGl0ZW0pID4gLTEpIHtcclxuICAgICAgICAgICAgICAgIG5ld0RhdGEuc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXdEYXRhO1xyXG4gICAgICB9O1xyXG4gICAgICB2YXIgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICBtb2RlbDogXCJtb2RlbFwiLFxyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBsaXN0ZW5lcnM6IHtcclxuICAgICAgICAgIG9uQmVmb3JlTG9hZDogZnVuY3Rpb24gKHN0b3JlLCBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMub25CZWZvcmVMb2FkLCBfdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgbGV0IGRhdGFTb3VyY2UgPSBfdGhpcy5jb252ZXJ0RGF0YShnZXRBbGxEYXRhKGRhdGEpKTtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBkYXRhU291cmNlIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmxvYWQsIF90aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IF90aGlzLmNvbnZlcnREYXRhKGdldEFsbERhdGEoZGF0YSkpIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmRhdGFDaGFuZ2VkLCBfdGhpcywgW1xyXG4gICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIHN0b3JlLFxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5zdG9yZXMsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgU3RvcmUoc3RvcmVQcm9wcyk7XHJcbiAgICAgIGlmICgodmlld25hbWUgfHwgdXJsKSAmJiBkYXRhID09IG51bGwgJiYgb3B0aW9ucyA9PSBudWxsKSB7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVkID0gY2FjaGVkO1xyXG4gICAgICAgIGxldCBpc0NhY2hlS2V5ID0gY2FjaGVLZXk7XHJcbiAgICAgICAgaWYgKHZpZXduYW1lKSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIGNhY2hlZCAhPT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgICAgICAgaXNDYWNoZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBpc0NhY2hlS2V5ID0gaXNDYWNoZUtleSA/IGlzQ2FjaGVLZXkgOiB2aWV3bmFtZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgYXV0b0xvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHVybDogdXJsIHx8IHJlcXVlc3RWaWV3VXJsICsgdmlld25hbWUsIC8v6K+75a2X5YW477yMdXJs5Zu65a6a77yMdmlld25hbWVcclxuICAgICAgICAgICAgY2FjaGVkOiBpc0NhY2hlZCxcclxuICAgICAgICAgICAgY2FjaGVLZXk6IGlzQ2FjaGVLZXksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgLi4uc3RvcmVQcm9wcyxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgU3RvcmUoc3RvcmVQcm9wcyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbnZlcnREYXRhKGRhdGEpIHtcclxuICAgIGxldCB7IHN0b3JlID0ge30sIHZhbHVlRmllbGQsIGxhYmVsRmllbGQgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IHZpZXduYW1lIH0gPSBzdG9yZTtcclxuICAgIHZhbHVlRmllbGQgPSB2YWx1ZUZpZWxkID8gdmFsdWVGaWVsZCA6IHZpZXduYW1lID8gXCJkaWN0S2V5XCIgOiBcInZhbHVlXCI7XHJcbiAgICBsYWJlbEZpZWxkID0gbGFiZWxGaWVsZCA/IGxhYmVsRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdFZhbHVlXCIgOiBcImxhYmVsXCI7XHJcbiAgICBsZXQgZGF0YVNvdXJlID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKHR5cGVvZiBkYXRhW2ldID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgbGV0IG9iaiA9IHsgLi4uZGF0YVtpXSB9O1xyXG4gICAgICAgIGxldCB2YWx1ZSA9IFwiXCI7XHJcbiAgICAgICAgaWYgKHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgICB2YWx1ZSA9IGRhdGFbaV1bdmFsdWVGaWVsZF07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IHZhbHVlRmllbGRzOiBhbnkgPSB2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICAgIHZhbHVlRmllbGRzLm1hcCgodiwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgdmFsdWUgPSBpbmRleCA9PSAwID8gdmFsdWUgKyBkYXRhW2ldW3ZdIDogdmFsdWUgKyBcIixcIiArIGRhdGFbaV1bdl07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGxhYmVsID0gXCJcIjtcclxuICAgICAgICBpZiAobGFiZWxGaWVsZC5zcGxpdChcIixcIikubGVuZ3RoID09IDEpIHtcclxuICAgICAgICAgIGxhYmVsID0gZGF0YVtpXVtsYWJlbEZpZWxkXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgbGFiZWxGaWVsZHM6IGFueSA9IGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBsYWJlbCA9IGluZGV4ID09IDAgPyBsYWJlbCArIGRhdGFbaV1bbF0gOiBsYWJlbCArIFwiLVwiICsgZGF0YVtpXVtsXTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBvYmoubGFiZWwgPSBsYWJlbDtcclxuICAgICAgICBvYmoudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICBvYmouZGlzYWJsZWQgPSBkYXRhW2ldLmRpc2FibGVkID8gZGF0YVtpXS5kaXNhYmxlZCA6IGZhbHNlO1xyXG4gICAgICAgIGRhdGFTb3VyZS5wdXNoKG9iaik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbGV0IG9iaiA9IHt9IGFzIHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IGFueTsgZGlzYWJsZWQ/OiBib29sZWFuIH07XHJcbiAgICAgICAgb2JqLmxhYmVsID0gZGF0YVtpXTtcclxuICAgICAgICBvYmoudmFsdWUgPSBkYXRhW2ldO1xyXG4gICAgICAgIG9iai5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIGRhdGFTb3VyZS5wdXNoKG9iaik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBkYXRhU291cmU7XHJcbiAgfVxyXG4gIG9uQ2hhbmdlKGNoZWNrZWRWYWx1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHZhbHVlOiBjaGVja2VkVmFsdWUsXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAob25DaGFuZ2UpIHtcclxuICAgICAgb25DaGFuZ2UoY2hlY2tlZFZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0VmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS52YWx1ZTtcclxuICB9XHJcbiAgc2V0VmFsdWUodmFsdWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICB2YWx1ZTogdmFsdWUsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFjaGlsZHJlbiAmJiAoZGF0YSB8fCBvcHRpb25zKSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiB0aGlzLmNvbnZlcnREYXRhKGRhdGEgPyBkYXRhIDogb3B0aW9ucyksXHJcbiAgICAgICAgZGF0YVN0b3JlOiBkYXRhID8gZGF0YSA6IG9wdGlvbnMsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XHJcbiAgICBjb25zdCB7IGRhdGFTdG9yZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IG5ld0RhdGEgPSBkYXRhID8gZGF0YSA6IG9wdGlvbnM7XHJcbiAgICBpZiAoZGF0YSB8fCBvcHRpb25zKSB7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShkYXRhU3RvcmUpICE9PSBKU09OLnN0cmluZ2lmeShuZXdEYXRhKSkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5jb252ZXJ0RGF0YShuZXdEYXRhKSxcclxuICAgICAgICAgIGRhdGFTdG9yZTogbmV3RGF0YSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBkYXRhLCBvcHRpb25zLCAuLi5wYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBDaGVja0JveFByb3BzID0gb21pdCh7IC4uLnBhcmFtcyB9LCBbXHJcbiAgICAgIFwic3RvcmVcIixcclxuICAgICAgXCJ2YWx1ZUZpZWxkXCIsXHJcbiAgICAgIFwibGFiZWxGaWVsZFwiLFxyXG4gICAgICBcImRhdGFcIixcclxuICAgICAgXCJvbkNoYW5nZVwiLFxyXG4gICAgICBcImFkZERhdGFcIixcclxuICAgICAgXCJkZWxldGVEYXRhXCIsXHJcbiAgICBdKTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxDaGVja2JveC5Hcm91cFxyXG4gICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnZhbHVlfVxyXG4gICAgICAgIG9wdGlvbnM9e3RoaXMuc3RhdGUuZGF0YVNvdXJjZX1cclxuICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgIHsuLi5DaGVja0JveFByb3BzfVxyXG4gICAgICAvPlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IE5TQ0NoZWNrYm94R3JvdXA7XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBT0EsS0FBSyxJQUFJQyxhQUFhLFFBQVEsT0FBTztBQUU1QyxPQUFPQyxLQUFLLE1BQXNCLGFBQWE7QUFDL0MsU0FBU0MsS0FBSyxRQUFRLHVCQUF1QjtBQUM3QyxPQUFPQyxJQUFJ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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxGroup.js","names":["React","PureComponent","Store","utils","omit","config","NSCCheckboxGroup","constructor","props","_defineProperty","dataSource","dataStore","value","_this","store","options","data","children","addData","deleteData","viewtype","viewname","valueField","viewUrl","viewBizUrl","requestViewUrl","url","listeners","listenersPops","cached","cacheKey","stores","_objectWithoutProperties","_excluded","Error","getAllData","Array","isArray","newData","length","valueFields","split","map","item","i","v","index","indexOf","splice","storeProps","_objectSpread","model","component","onBeforeLoad","callback","load","modelData","convertData","setState","dataChanged","isCached","isCacheKey","autoLoad","labelField","dataSoure","obj","label","labelFields","l","disabled","push","onChange","checkedValue","getValue","state","setValue","componentDidMount","componentDidUpdate","JSON","stringify","render","_this$props","params","_excluded2","CheckBoxProps","createElement","_Checkbox","Group","_extends","bind"],"sources":["../../../src/components/base/checkbox/CheckboxGroup.tsx"],"sourcesContent":["/*\r\n * @Descripttion:\r\n * @version:\r\n * @Author: rxzhu\r\n * @Date: 2021-04-14 08:59:19\r\n * @LastEditors: rxzhu\r\n * @LastEditTime: 2021-04-23 16:46:33\r\n */\r\nimport React, { PureComponent } from \"react\";\r\nimport { Checkbox, CheckboxProps } from \"antd\";\r\nimport Store, { StoreProps } from \"@bj-nsc/msn\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport omit from \"omit.js\";\r\nimport config from \"../../config\";\r\n\r\ninterface ICheckboxGroupProps extends CheckboxProps {\r\n store?: StoreProps;\r\n data?: Array<string | Object>; //默认数据\r\n labelField?: string;\r\n valueField?: string;\r\n addData?: Array<string | Object>;\r\n deleteData?: Array<string>;\r\n [propName: string]: any;\r\n}\r\n\r\nclass NSCCheckboxGroup extends PureComponent<ICheckboxGroupProps> {\r\n state = {\r\n dataSource: [],\r\n dataStore: [],\r\n value: [],\r\n };\r\n store = {} as StoreProps;\r\n constructor(props) {\r\n super(props);\r\n const _this = this;\r\n const {\r\n store = {},\r\n options,\r\n data,\r\n children,\r\n addData = [],\r\n deleteData = [],\r\n viewtype = \"sys\",\r\n } = props;\r\n const { viewname } = store;\r\n let { valueField } = props;\r\n valueField = valueField ? valueField : viewname ? \"dictKey\" : \"value\";\r\n let { viewUrl, viewBizUrl } = config();\r\n let requestViewUrl = viewtype == \"sys\" ? viewUrl : viewBizUrl;\r\n if (!children) {\r\n const {\r\n url,\r\n listeners: listenersPops = {},\r\n viewname,\r\n cached,\r\n cacheKey,\r\n\r\n ...stores\r\n } = store;\r\n if (!url && !options && !data && !viewname)\r\n throw new Error(\"url、viewname、data和options不能都为空!\");\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 const valueFields: any = valueField.split(\",\");\r\n newData.map((item, i) => {\r\n if (typeof item === \"object\") {\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 newData.splice(i, 1);\r\n }\r\n } else if (typeof item === \"string\") {\r\n if (deleteData.indexOf(item) > -1) {\r\n newData.splice(i, 1);\r\n }\r\n }\r\n });\r\n }\r\n return newData;\r\n };\r\n var 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 let dataSource = _this.convertData(getAllData(data));\r\n _this.setState({ dataSource: dataSource });\r\n utils.callback(listenersPops.load, _this, [data, modelData, store]);\r\n },\r\n dataChanged: function (data, modelData, store) {\r\n _this.setState({ dataSource: _this.convertData(getAllData(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 this.store = new Store(storeProps);\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 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 convertData(data) {\r\n let { store = {}, valueField, labelField } = 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 let dataSoure = [];\r\n for (let i = 0; i < data.length; i++) {\r\n if (typeof data[i] === \"object\") {\r\n let obj = { ...data[i] };\r\n let value = \"\";\r\n if (valueField.split(\",\").length == 1) {\r\n value = data[i][valueField];\r\n } else {\r\n const valueFields: any = valueField.split(\",\");\r\n valueFields.map((v, index) => {\r\n value = index == 0 ? value + data[i][v] : value + \",\" + data[i][v];\r\n });\r\n }\r\n let label = \"\";\r\n if (labelField.split(\",\").length == 1) {\r\n label = data[i][labelField];\r\n } else {\r\n const labelFields: any = labelField.split(\",\");\r\n labelFields.map((l, index) => {\r\n label = index == 0 ? label + data[i][l] : label + \"-\" + data[i][l];\r\n });\r\n }\r\n obj.label = label;\r\n obj.value = value;\r\n obj.disabled = data[i].disabled ? data[i].disabled : false;\r\n dataSoure.push(obj);\r\n } else {\r\n let obj = {} as { label: string; value: any; disabled?: boolean };\r\n obj.label = data[i];\r\n obj.value = data[i];\r\n obj.disabled = false;\r\n dataSoure.push(obj);\r\n }\r\n }\r\n return dataSoure;\r\n }\r\n onChange(checkedValue) {\r\n this.setState({\r\n value: checkedValue,\r\n });\r\n const { onChange } = this.props;\r\n if (onChange) {\r\n onChange(checkedValue);\r\n }\r\n }\r\n getValue() {\r\n return this.state.value;\r\n }\r\n setValue(value) {\r\n this.setState({\r\n value: value,\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: this.convertData(data ? data : options),\r\n dataStore: data ? data : options,\r\n });\r\n }\r\n }\r\n componentDidUpdate() {\r\n const { dataStore } = this.state;\r\n const { data, options } = this.props;\r\n const newData = data ? data : options;\r\n if (data || options) {\r\n if (JSON.stringify(dataStore) !== JSON.stringify(newData)) {\r\n this.setState({\r\n dataSource: this.convertData(newData),\r\n dataStore: newData,\r\n });\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const { data, options, ...params } = this.props;\r\n const CheckBoxProps = omit({ ...params }, [\r\n \"store\",\r\n \"valueField\",\r\n \"labelField\",\r\n \"data\",\r\n \"onChange\",\r\n \"addData\",\r\n \"deleteData\",\r\n ]);\r\n return (\r\n <Checkbox.Group\r\n value={this.state.value}\r\n options={this.state.dataSource}\r\n onChange={this.onChange.bind(this)}\r\n {...CheckBoxProps}\r\n />\r\n );\r\n }\r\n}\r\n\r\nexport default NSCCheckboxGroup;\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CheckboxGroup.js","names":["React","PureComponent","Store","utils","omit","config","NSCCheckboxGroup","constructor","props","_defineProperty","dataSource","dataStore","value","_this","store","options","data","children","addData","deleteData","viewname","viewtype","valueField","viewUrl","viewBizUrl","requestViewUrl","url","listeners","listenersPops","cached","cacheKey","stores","_objectWithoutProperties","_excluded","Error","getAllData","Array","isArray","newData","length","valueFields","split","map","item","i","v","index","indexOf","splice","storeProps","_objectSpread","model","component","onBeforeLoad","callback","load","modelData","convertData","setState","dataChanged","isCached","isCacheKey","autoLoad","labelField","dataSoure","obj","label","labelFields","l","disabled","push","onChange","checkedValue","getValue","state","setValue","componentDidMount","componentDidUpdate","JSON","stringify","render","_this$props","params","_excluded2","CheckBoxProps","createElement","_Checkbox","Group","_extends","bind"],"sources":["../../../src/components/base/checkbox/CheckboxGroup.tsx"],"sourcesContent":["/*\r\n * @Descripttion:\r\n * @version:\r\n * @Author: rxzhu\r\n * @Date: 2021-04-14 08:59:19\r\n * @LastEditors: rxzhu\r\n * @LastEditTime: 2021-04-23 16:46:33\r\n */\r\nimport React, { PureComponent } from \"react\";\r\nimport { Checkbox, CheckboxProps } from \"antd\";\r\nimport Store, { StoreProps } from \"@bj-nsc/msn\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport omit from \"omit.js\";\r\nimport config from \"../../config\";\r\n\r\ninterface ICheckboxGroupProps extends CheckboxProps {\r\n store?: StoreProps;\r\n data?: Array<string | Object>; //默认数据\r\n labelField?: string;\r\n valueField?: string;\r\n addData?: Array<string | Object>;\r\n deleteData?: Array<string>;\r\n [propName: string]: any;\r\n}\r\n\r\nclass NSCCheckboxGroup extends PureComponent<ICheckboxGroupProps> {\r\n state = {\r\n dataSource: [],\r\n dataStore: [],\r\n value: [],\r\n };\r\n store = {} as StoreProps;\r\n constructor(props) {\r\n super(props);\r\n const _this = this;\r\n const {\r\n store = {},\r\n options,\r\n data,\r\n children,\r\n addData = [],\r\n deleteData = [],\r\n } = props;\r\n const { viewname, viewtype = \"sys\" } = store;\r\n let { valueField } = props;\r\n valueField = valueField ? valueField : viewname ? \"dictKey\" : \"value\";\r\n let { viewUrl, viewBizUrl } = config();\r\n let requestViewUrl = viewtype == \"sys\" ? viewUrl : viewBizUrl;\r\n if (!children) {\r\n const {\r\n url,\r\n listeners: listenersPops = {},\r\n viewname,\r\n cached,\r\n cacheKey,\r\n\r\n ...stores\r\n } = store;\r\n if (!url && !options && !data && !viewname)\r\n throw new Error(\"url、viewname、data和options不能都为空!\");\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 const valueFields: any = valueField.split(\",\");\r\n newData.map((item, i) => {\r\n if (typeof item === \"object\") {\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 newData.splice(i, 1);\r\n }\r\n } else if (typeof item === \"string\") {\r\n if (deleteData.indexOf(item) > -1) {\r\n newData.splice(i, 1);\r\n }\r\n }\r\n });\r\n }\r\n return newData;\r\n };\r\n var 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 let dataSource = _this.convertData(getAllData(data));\r\n _this.setState({ dataSource: dataSource });\r\n utils.callback(listenersPops.load, _this, [data, modelData, store]);\r\n },\r\n dataChanged: function (data, modelData, store) {\r\n _this.setState({ dataSource: _this.convertData(getAllData(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 this.store = new Store(storeProps);\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 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 convertData(data) {\r\n let { store = {}, valueField, labelField } = 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 let dataSoure = [];\r\n for (let i = 0; i < data.length; i++) {\r\n if (typeof data[i] === \"object\") {\r\n let obj = { ...data[i] };\r\n let value = \"\";\r\n if (valueField.split(\",\").length == 1) {\r\n value = data[i][valueField];\r\n } else {\r\n const valueFields: any = valueField.split(\",\");\r\n valueFields.map((v, index) => {\r\n value = index == 0 ? value + data[i][v] : value + \",\" + data[i][v];\r\n });\r\n }\r\n let label = \"\";\r\n if (labelField.split(\",\").length == 1) {\r\n label = data[i][labelField];\r\n } else {\r\n const labelFields: any = labelField.split(\",\");\r\n labelFields.map((l, index) => {\r\n label = index == 0 ? label + data[i][l] : label + \"-\" + data[i][l];\r\n });\r\n }\r\n obj.label = label;\r\n obj.value = value;\r\n obj.disabled = data[i].disabled ? data[i].disabled : false;\r\n dataSoure.push(obj);\r\n } else {\r\n let obj = {} as { label: string; value: any; disabled?: boolean };\r\n obj.label = data[i];\r\n obj.value = data[i];\r\n obj.disabled = false;\r\n dataSoure.push(obj);\r\n }\r\n }\r\n return dataSoure;\r\n }\r\n onChange(checkedValue) {\r\n this.setState({\r\n value: checkedValue,\r\n });\r\n const { onChange } = this.props;\r\n if (onChange) {\r\n onChange(checkedValue);\r\n }\r\n }\r\n getValue() {\r\n return this.state.value;\r\n }\r\n setValue(value) {\r\n this.setState({\r\n value: value,\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: this.convertData(data ? data : options),\r\n dataStore: data ? data : options,\r\n });\r\n }\r\n }\r\n componentDidUpdate() {\r\n const { dataStore } = this.state;\r\n const { data, options } = this.props;\r\n const newData = data ? data : options;\r\n if (data || options) {\r\n if (JSON.stringify(dataStore) !== JSON.stringify(newData)) {\r\n this.setState({\r\n dataSource: this.convertData(newData),\r\n dataStore: newData,\r\n });\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const { data, options, ...params } = this.props;\r\n const CheckBoxProps = omit({ ...params }, [\r\n \"store\",\r\n \"valueField\",\r\n \"labelField\",\r\n \"data\",\r\n \"onChange\",\r\n \"addData\",\r\n \"deleteData\",\r\n ]);\r\n return (\r\n <Checkbox.Group\r\n value={this.state.value}\r\n options={this.state.dataSource}\r\n onChange={this.onChange.bind(this)}\r\n {...CheckBoxProps}\r\n />\r\n );\r\n }\r\n}\r\n\r\nexport default NSCCheckboxGroup;\r\n"],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ interface ImportPropos {
|
|
|
12
12
|
importCallBack?: any;
|
|
13
13
|
closeCallBack?: any;
|
|
14
14
|
};
|
|
15
|
+
showButton?: boolean;
|
|
15
16
|
[propsName: string]: any;
|
|
16
17
|
}
|
|
17
18
|
declare class NscImportData extends React.PureComponent<ImportPropos, any> {
|
|
@@ -26,6 +27,8 @@ declare class NscImportData extends React.PureComponent<ImportPropos, any> {
|
|
|
26
27
|
};
|
|
27
28
|
modalRef: React.RefObject<any>;
|
|
28
29
|
fileSizeKb(number?: number): string;
|
|
30
|
+
show(): void;
|
|
31
|
+
hide(): void;
|
|
29
32
|
importData(file: any, isOverwrite: any): void;
|
|
30
33
|
renderErrorContent(list: any): any;
|
|
31
34
|
renderResult(): React.JSX.Element;
|
|
@@ -37,6 +37,15 @@ class NscImportData extends React.PureComponent {
|
|
|
37
37
|
let number = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
38
38
|
return (number / 1024).toFixed(2);
|
|
39
39
|
}
|
|
40
|
+
show() {
|
|
41
|
+
var _this$modalRef$curren;
|
|
42
|
+
(_this$modalRef$curren = this.modalRef.current) === null || _this$modalRef$curren === void 0 || _this$modalRef$curren.show();
|
|
43
|
+
}
|
|
44
|
+
hide() {
|
|
45
|
+
var _this$modalRef$curren2;
|
|
46
|
+
(_this$modalRef$curren2 = this.modalRef.current) === null || _this$modalRef$curren2 === void 0 || _this$modalRef$curren2.hide();
|
|
47
|
+
this.resetData();
|
|
48
|
+
}
|
|
40
49
|
importData(file, isOverwrite) {
|
|
41
50
|
const {
|
|
42
51
|
requestConfig = {},
|
|
@@ -50,25 +59,36 @@ class NscImportData extends React.PureComponent {
|
|
|
50
59
|
this.setState({
|
|
51
60
|
buttonLoading: true
|
|
52
61
|
});
|
|
62
|
+
// let formData = {...data}
|
|
63
|
+
|
|
53
64
|
nscFile.importFile({
|
|
54
65
|
url: importUrl,
|
|
55
66
|
data: _objectSpread(_objectSpread({}, data), {}, {
|
|
56
67
|
isOverwrite: isOverwrite
|
|
57
68
|
}),
|
|
58
69
|
file: file
|
|
59
|
-
},
|
|
70
|
+
}, config).then(res => {
|
|
60
71
|
this.setState({
|
|
61
72
|
buttonLoading: false
|
|
62
73
|
});
|
|
63
74
|
if (res.code == 200) {
|
|
64
|
-
var _this$modalRef$curren;
|
|
65
75
|
_message.success("导入成功!");
|
|
66
76
|
this.setState({
|
|
67
77
|
requestStatus: "success"
|
|
68
78
|
});
|
|
69
|
-
(
|
|
70
|
-
|
|
79
|
+
if (res.data.warnings.length > 0) {
|
|
80
|
+
this.setState({
|
|
81
|
+
requestStatus: "warning",
|
|
82
|
+
warnList: res.data.warnings
|
|
83
|
+
});
|
|
84
|
+
}
|
|
71
85
|
(onCallBacks === null || onCallBacks === void 0 ? void 0 : onCallBacks.importCallBack) && (onCallBacks === null || onCallBacks === void 0 ? void 0 : onCallBacks.importCallBack(res));
|
|
86
|
+
// this.hide();
|
|
87
|
+
} else {
|
|
88
|
+
_message.success("导入失败!");
|
|
89
|
+
this.setState({
|
|
90
|
+
requestStatus: "error"
|
|
91
|
+
});
|
|
72
92
|
}
|
|
73
93
|
});
|
|
74
94
|
}
|
|
@@ -96,15 +116,17 @@ class NscImportData extends React.PureComponent {
|
|
|
96
116
|
error: "导入失败",
|
|
97
117
|
warning: "告警提示"
|
|
98
118
|
};
|
|
119
|
+
console.log('requestStatus--renderResult', requestStatus);
|
|
99
120
|
if (requestStatus) {
|
|
100
121
|
if (requestStatus == "success") {
|
|
101
122
|
var _alert_msg_map$reques;
|
|
123
|
+
console.log('111111111111');
|
|
102
124
|
return /*#__PURE__*/React.createElement(Alert, {
|
|
103
125
|
style: {
|
|
104
126
|
marginTop: "8px"
|
|
105
127
|
},
|
|
106
128
|
message: (_alert_msg_map$reques = alert_msg_map[requestStatus]) !== null && _alert_msg_map$reques !== void 0 ? _alert_msg_map$reques : "提示",
|
|
107
|
-
type:
|
|
129
|
+
type: "success",
|
|
108
130
|
showIcon: true
|
|
109
131
|
});
|
|
110
132
|
} else {
|
|
@@ -166,9 +188,7 @@ class NscImportData extends React.PureComponent {
|
|
|
166
188
|
className: "footer"
|
|
167
189
|
}, /*#__PURE__*/React.createElement(NSCButton, {
|
|
168
190
|
onClick: () => {
|
|
169
|
-
|
|
170
|
-
(_this$modalRef$curren2 = this.modalRef.current) === null || _this$modalRef$curren2 === void 0 || _this$modalRef$curren2.hide();
|
|
171
|
-
this.resetData();
|
|
191
|
+
this.hide();
|
|
172
192
|
}
|
|
173
193
|
}, "\u53D6\u6D88"), status == 1 && this.state.file && /*#__PURE__*/React.createElement(NSCButton, {
|
|
174
194
|
onClick: () => {
|
|
@@ -207,6 +227,8 @@ class NscImportData extends React.PureComponent {
|
|
|
207
227
|
}
|
|
208
228
|
}
|
|
209
229
|
});
|
|
230
|
+
} else {
|
|
231
|
+
this.importData(file, false);
|
|
210
232
|
}
|
|
211
233
|
},
|
|
212
234
|
disabled: file ? false : true,
|
|
@@ -233,22 +255,19 @@ class NscImportData extends React.PureComponent {
|
|
|
233
255
|
},
|
|
234
256
|
disabled: this.state.buttonLoading
|
|
235
257
|
}, "\u8986\u76D6\u6570\u636E"));
|
|
236
|
-
return /*#__PURE__*/React.createElement("div", null, this.props.children ? this.props.children : /*#__PURE__*/React.createElement(NSCButton, {
|
|
258
|
+
return /*#__PURE__*/React.createElement("div", null, this.props.children ? this.props.children : /*#__PURE__*/React.createElement(React.Fragment, null, this.props.showButton && /*#__PURE__*/React.createElement(NSCButton, {
|
|
237
259
|
type: "primary",
|
|
238
260
|
onClick: () => {
|
|
239
|
-
|
|
240
|
-
(_this$modalRef$curren3 = this.modalRef.current) === null || _this$modalRef$curren3 === void 0 || _this$modalRef$curren3.show();
|
|
261
|
+
this.show();
|
|
241
262
|
}
|
|
242
|
-
}, "\u6570\u636E\u5BFC\u5165"), /*#__PURE__*/React.createElement(NscModal, {
|
|
263
|
+
}, "\u6570\u636E\u5BFC\u5165")), /*#__PURE__*/React.createElement(NscModal, {
|
|
243
264
|
title: "\u6570\u636E\u5BFC\u5165",
|
|
244
265
|
width: 800,
|
|
245
266
|
wrapClassName: "import-modal",
|
|
246
267
|
ref: this.modalRef,
|
|
247
268
|
footer: footer,
|
|
248
269
|
onCancel: () => {
|
|
249
|
-
|
|
250
|
-
(_this$modalRef$curren4 = this.modalRef.current) === null || _this$modalRef$curren4 === void 0 || _this$modalRef$curren4.hide();
|
|
251
|
-
this.resetData();
|
|
270
|
+
this.hide();
|
|
252
271
|
}
|
|
253
272
|
}, /*#__PURE__*/React.createElement("div", {
|
|
254
273
|
className: "content"
|
|
@@ -308,4 +327,4 @@ class NscImportData extends React.PureComponent {
|
|
|
308
327
|
}
|
|
309
328
|
}
|
|
310
329
|
export default NscImportData;
|
|
311
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIk5zY1VwbG9hZCIsIk5TQ0J1dHRvbiIsIk5zY0Rvd25Mb2FkIiwiTnNjTW9kYWwiLCJGaWxlSWNvbiIsIlVwbG9hZE91dGxpbmVkIiwiRm9sZGVyT3V0bGluZWQiLCJDbG9zZUNpcmNsZU91dGxpbmVkIiwiRXhjbGFtYXRpb25DaXJjbGVPdXRsaW5lZCIsIlN0ZXBzIiwibnNjRmlsZSIsIkFsZXJ0IiwiQ29sbGFwc2UiLCJOc2NJbXBvcnREYXRhIiwiUHVyZUNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwiYXJndW1lbnRzIiwiX2RlZmluZVByb3BlcnR5Iiwic3RhdHVzIiwiZmlsZSIsImN1cnJlbnRTdGVwIiwicmVxdWVzdFN0YXR1cyIsImVycm9yTGlzdCIsIndhcm5MaXN0IiwiYnV0dG9uTG9hZGluZyIsImNyZWF0ZVJlZiIsImZpbGVTaXplS2IiLCJudW1iZXIiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJ0b0ZpeGVkIiwiaW1wb3J0RGF0YSIsImlzT3ZlcndyaXRlIiwicmVxdWVzdENvbmZpZyIsImltcG9ydFVybCIsIm9uQ2FsbEJhY2tzIiwicHJvcHMiLCJkYXRhIiwiY29uZmlnIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwic2V0U3RhdGUiLCJpbXBvcnRGaWxlIiwidXJsIiwiX29iamVjdFNwcmVhZCIsInRoZW4iLCJyZXMiLCJjb2RlIiwiX3RoaXMkbW9kYWxSZWYkY3VycmVuIiwiX21lc3NhZ2UiLCJzdWNjZXNzIiwibW9kYWxSZWYiLCJjdXJyZW50IiwiaGlkZSIsInJlc2V0RGF0YSIsImltcG9ydENhbGxCYWNrIiwicmVuZGVyRXJyb3JDb250ZW50IiwibGlzdCIsIm1hcCIsIml0ZW0iLCJpbmRleCIsInN0YXRlIiwiY3JlYXRlRWxlbWVudCIsImtleSIsInJvd051bSIsImVycm9yTXNnIiwicmVuZGVyUmVzdWx0IiwiYWxlcnRfbXNnX21hcCIsImVycm9yIiwid2FybmluZyIsIl9hbGVydF9tc2dfbWFwJHJlcXVlcyIsInN0eWxlIiwibWFyZ2luVG9wIiwibWVzc2FnZSIsInR5cGUiLCJzaG93SWNvbiIsImV4cGFuZEljb25Qb3NpdGlvbiIsImNsYXNzTmFtZSIsImJhY2tncm91bmRDb2xvciIsImJvcmRlciIsImJvcmRlclJhZGl1cyIsImRlZmF1bHRBY3RpdmVLZXkiLCJQYW5lbCIsImhlYWRlciIsImNvbG9yIiwiZXh0cmEiLCJiYWNrZ3JvdW5kIiwicmVuZGVyIiwiZG93bkxvYWRUZW1wbGV0IiwiZG93blRlbXBsZXRVcmwiLCJjaGVja0RhdGEiLCJjaGVja1VybCIsImZvb3RlciIsIm9uQ2xpY2siLCJfdGhpcyRtb2RhbFJlZiRjdXJyZW4yIiwiZXJyb3JDb3VudCIsImR1cGxpY2F0ZUNvdW50IiwiZHVwbGljYXRlTGlzdCIsImRpc2FibGVkIiwiaWNvbiIsIm1hcmdpbkxlZnQiLCJjaGlsZHJlbiIsIl90aGlzJG1vZGFsUmVmJGN1cnJlbjMiLCJzaG93IiwidGl0bGUiLCJ3aWR0aCIsIndyYXBDbGFzc05hbWUiLCJyZWYiLCJvbkNhbmNlbCIsIl90aGlzJG1vZGFsUmVmJGN1cnJlbjQiLCJkaXNwbGF5IiwiYmVmb3JlVXBsb2FkIiwiYWxsb3dGaWxlU3VmZml4IiwiYWNjZXB0Iiwic2hvd1VwbG9hZExpc3QiLCJuYW1lIiwic2l6ZSIsIml0ZW1zIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFzZS9pbXBvcnREYXRhL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgTnNjVXBsb2FkIGZyb20gXCIuLi91cGxvYWRcIjtcclxuaW1wb3J0IE5TQ0J1dHRvbiBmcm9tIFwiLi4vYnV0dG9uXCI7XHJcbmltcG9ydCBOc2NEb3duTG9hZCBmcm9tIFwiLi4vZG93bmxvYWRcIjtcclxuaW1wb3J0IE5zY01vZGFsIGZyb20gXCIuLi9tb2RhbFwiO1xyXG5pbXBvcnQgRmlsZUljb24gZnJvbSBcIi4uL2NvbW1vbi9GaWxlSWNvblwiO1xyXG5pbXBvcnQge1xyXG4gIFVwbG9hZE91dGxpbmVkLFxyXG4gIEZvbGRlck91dGxpbmVkLFxyXG4gIENsb3NlQ2lyY2xlT3V0bGluZWQsXHJcbiAgRXhjbGFtYXRpb25DaXJjbGVPdXRsaW5lZCxcclxufSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuaW1wb3J0IFN0ZXBzIGZyb20gXCIuLi9zdGVwc1wiO1xyXG5pbXBvcnQgbnNjRmlsZSBmcm9tIFwibnNjLWZpbGVcIjtcclxuaW1wb3J0IHsgbWVzc2FnZSB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBBbGVydCBmcm9tIFwiLi4vYWxlcnRcIjtcclxuaW1wb3J0IENvbGxhcHNlIGZyb20gXCIuLi9jb2xsYXBzZVwiO1xyXG5pbXBvcnQgSWNvbiBmcm9tIFwiLi4vY29tbW9uL0ljb25cIjtcclxuXHJcbmludGVyZmFjZSBJbXBvcnRQcm9wb3Mge1xyXG4gIGNoZWNrRGF0YT86IGJvb2xlYW47IC8v5piv5ZCm6L+b6KGM5pWw5o2u5qCh6aqM77yM6buY6K6kZmFsc2VcclxuICBjaGVja1VybD86IHN0cmluZzsgLy/mlbDmja7moKHpqozmjqXlj6PlnLDlnYBcclxuICBpbXBvcnRVcmw6IHN0cmluZzsgLy/mlbDmja7lr7zlhaXlnLDlnYBcclxuICByZXF1ZXN0Q29uZmlnPzogYW55O1xyXG4gIGRvd25Mb2FkVGVtcGxldD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65LiL6L295qih5p2/5oyJ6ZKuXHJcbiAgZG93blRlbXBsZXRVcmw/OiBzdHJpbmc7IC8v5LiL6L295qih5p2/5Zyw5Z2AXHJcbiAgb25DYWxsQmFja3M/OiB7XHJcbiAgICBjaGVja0NhbGxCYWNrPzogYW55OyAvL+aVsOaNruagoemqjOWbnuiwg1xyXG4gICAgaW1wb3J0Q2FsbEJhY2s/OiBhbnk7IC8v5pWw5o2u5a+85YWl5Zue6LCDXHJcbiAgICBjbG9zZUNhbGxCYWNrPzogYW55O1xyXG4gIH07XHJcbiAgW3Byb3BzTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcbmNsYXNzIE5zY0ltcG9ydERhdGEgZXh0ZW5kcyBSZWFjdC5QdXJlQ29tcG9uZW50PEltcG9ydFByb3BvcywgYW55PiB7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBzdGF0dXM6IDEsXHJcbiAgICBmaWxlOiBudWxsLFxyXG4gICAgY3VycmVudFN0ZXA6IDEsXHJcbiAgICByZXF1ZXN0U3RhdHVzOiBcIlwiLFxyXG4gICAgZXJyb3JMaXN0OiBbXSxcclxuICAgIHdhcm5MaXN0OiBbXSxcclxuICAgIGJ1dHRvbkxvYWRpbmc6IGZhbHNlLFxyXG4gIH07XHJcbiAgbW9kYWxSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIGZpbGVTaXplS2IobnVtYmVyID0gMCkge1xyXG4gICAgcmV0dXJuIChudW1iZXIgLyAxMDI0KS50b0ZpeGVkKDIpO1xyXG4gIH1cclxuICBpbXBvcnREYXRhKGZpbGUsIGlzT3ZlcndyaXRlKSB7XHJcbiAgICBjb25zdCB7IHJlcXVlc3RDb25maWcgPSB7fSwgaW1wb3J0VXJsLCBvbkNhbGxCYWNrcyA9IHt9IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IHsgZGF0YSA9IHt9LCAuLi5jb25maWcgfSA9IHJlcXVlc3RDb25maWc7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgYnV0dG9uTG9hZGluZzogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgbnNjRmlsZVxyXG4gICAgICAuaW1wb3J0RmlsZShcclxuICAgICAgICB7XHJcbiAgICAgICAgICB1cmw6IGltcG9ydFVybCxcclxuICAgICAgICAgIGRhdGE6IHsgLi4uZGF0YSwgaXNPdmVyd3JpdGU6IGlzT3ZlcndyaXRlIH0sXHJcbiAgICAgICAgICBmaWxlOiBmaWxlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcmVxdWVzdENvbmZpZ1xyXG4gICAgICApXHJcbiAgICAgIC50aGVuKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgYnV0dG9uTG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKFwi5a+85YWl5oiQ5Yqf77yBXCIpO1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHJlcXVlc3RTdGF0dXM6IFwic3VjY2Vzc1wiLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLm1vZGFsUmVmLmN1cnJlbnQ/LmhpZGUoKTtcclxuICAgICAgICAgIHRoaXMucmVzZXREYXRhKCk7XHJcbiAgICAgICAgICBvbkNhbGxCYWNrcz8uaW1wb3J0Q2FsbEJhY2sgJiYgb25DYWxsQmFja3M/LmltcG9ydENhbGxCYWNrKHJlcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgcmVuZGVyRXJyb3JDb250ZW50KGxpc3QpIHtcclxuICAgIHJldHVybiBsaXN0Lm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuc3RhdGUucmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIikge1xyXG4gICAgICAgIHJldHVybiA8ZGl2IGtleT17aW5kZXh9PntcIuesrFwiICsgaXRlbS5yb3dOdW0gKyBcIuihjOaVsOaNrumHjeWkje+8m1wifTwvZGl2PjtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gPGRpdiBrZXk9e2luZGV4fT57aXRlbS5lcnJvck1zZ308L2Rpdj47XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXJSZXN1bHQoKSB7XHJcbiAgICBjb25zdCB7IHJlcXVlc3RTdGF0dXMsIGVycm9yTGlzdCwgd2Fybkxpc3QgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCBhbGVydF9tc2dfbWFwID0ge1xyXG4gICAgICBzdWNjZXNzOiBcIuWvvOWFpeaIkOWKn1wiLFxyXG4gICAgICBlcnJvcjogXCLlr7zlhaXlpLHotKVcIixcclxuICAgICAgd2FybmluZzogXCLlkYrorabmj5DnpLpcIixcclxuICAgIH07XHJcbiAgICBpZiAocmVxdWVzdFN0YXR1cykge1xyXG4gICAgICBpZiAocmVxdWVzdFN0YXR1cyA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8QWxlcnRcclxuICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luVG9wOiBcIjhweFwiIH19XHJcbiAgICAgICAgICAgIG1lc3NhZ2U9e2FsZXJ0X21zZ19tYXBbcmVxdWVzdFN0YXR1c10gPz8gXCLmj5DnpLpcIn1cclxuICAgICAgICAgICAgdHlwZT17cmVxdWVzdFN0YXR1c31cclxuICAgICAgICAgICAgc2hvd0ljb25cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPENvbGxhcHNlXHJcbiAgICAgICAgICAgIGV4cGFuZEljb25Qb3NpdGlvbj1cInJpZ2h0XCJcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtcclxuICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCJjb250ZW50LXdhcm5pbmdcIiA6IFwiY29udGVudC1lcnJvclwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6XHJcbiAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCIjRkNFMUFCXCIgOiBcIiNmZmYyZjBcIixcclxuICAgICAgICAgICAgICBib3JkZXI6XHJcbiAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiXHJcbiAgICAgICAgICAgICAgICAgID8gXCIxcHggc29saWQgI0ZDRTFBQlwiXHJcbiAgICAgICAgICAgICAgICAgIDogXCIxcHggc29saWQgI0ZGQ0NDN1wiLFxyXG4gICAgICAgICAgICAgIGJvcmRlclJhZGl1czogXCIycHhcIixcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgZGVmYXVsdEFjdGl2ZUtleT17W1wiMVwiXX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPENvbGxhcHNlLlBhbmVsXHJcbiAgICAgICAgICAgICAga2V5PVwiMVwiXHJcbiAgICAgICAgICAgICAgaGVhZGVyPXtcclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCIjRkFBRDE0XCIgOiBcIiNmNjBcIixcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAge3JlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCIgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICA8RXhjbGFtYXRpb25DaXJjbGVPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICA8Q2xvc2VDaXJjbGVPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAge2FsZXJ0X21zZ19tYXBbcmVxdWVzdFN0YXR1c119XHJcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBleHRyYT17XHJcbiAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCIjRkFBRDE0XCIgOiBcIiNmNjBcIixcclxuICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3JlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCIgPyBcIuafpeeci1wiIDogXCLmn6XnnIvplJnor69cIn1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOlxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCIgPyBcIiNGRkZERjZcIiA6IFwiI2ZmZjlmOVwiLFxyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNvbnRlbnQtZXJyb3JfX21zZ1wiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXJyb3JDb250ZW50KFxyXG4gICAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gd2Fybkxpc3QgOiBlcnJvckxpc3RcclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvQ29sbGFwc2UuUGFuZWw+XHJcbiAgICAgICAgICA8L0NvbGxhcHNlPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgcmVzZXREYXRhKCkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHN0YXR1czogMSxcclxuICAgICAgZmlsZTogbnVsbCxcclxuICAgICAgY3VycmVudFN0ZXA6IDEsXHJcbiAgICAgIHJlcXVlc3RTdGF0dXM6IFwiXCIsXHJcbiAgICAgIGVycm9yTGlzdDogW10sXHJcbiAgICAgIHdhcm5MaXN0OiBbXSxcclxuICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IGZpbGUsIHN0YXR1cywgY3VycmVudFN0ZXAsIHJlcXVlc3RTdGF0dXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGRvd25Mb2FkVGVtcGxldCxcclxuICAgICAgZG93blRlbXBsZXRVcmwsXHJcbiAgICAgIGNoZWNrRGF0YSxcclxuICAgICAgY2hlY2tVcmwsXHJcbiAgICAgIHJlcXVlc3RDb25maWcsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGZvb3RlciA9IChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb290ZXJcIj5cclxuICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubW9kYWxSZWYuY3VycmVudD8uaGlkZSgpO1xyXG4gICAgICAgICAgICB0aGlzLnJlc2V0RGF0YSgpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICDlj5bmtohcclxuICAgICAgICA8L05TQ0J1dHRvbj5cclxuXHJcbiAgICAgICAge3N0YXR1cyA9PSAxICYmIHRoaXMuc3RhdGUuZmlsZSAmJiAoXHJcbiAgICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgIHN0YXR1czogMixcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRTdGVwOiAxLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIGlmIChjaGVja0RhdGEpIHtcclxuICAgICAgICAgICAgICAgIG5zY0ZpbGVcclxuICAgICAgICAgICAgICAgICAgLmltcG9ydEZpbGUoe1xyXG4gICAgICAgICAgICAgICAgICAgIHVybDogY2hlY2tVcmwsXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsZTogZmlsZSxcclxuICAgICAgICAgICAgICAgICAgICBkYXRhOiByZXF1ZXN0Q29uZmlnPy5kYXRhIHx8IHt9LFxyXG4gICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAudGhlbigocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcy5kYXRhLmVycm9yQ291bnQgPT0gMCAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXMuZGF0YS5kdXBsaWNhdGVDb3VudCA9PSAwXHJcbiAgICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFN0ZXA6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1czogXCJzdWNjZXNzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmltcG9ydERhdGEoZmlsZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmRhdGEuZXJyb3JDb3VudCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1czogXCJlcnJvclwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yTGlzdDogcmVzLmRhdGEuZXJyb3JMaXN0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5kYXRhLmR1cGxpY2F0ZUNvdW50ID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzOiBcIndhcm5pbmdcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuTGlzdDogcmVzLmRhdGEuZHVwbGljYXRlTGlzdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgZGlzYWJsZWQ9e2ZpbGUgPyBmYWxzZSA6IHRydWV9XHJcbiAgICAgICAgICAgIGljb249ezxVcGxvYWRPdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luTGVmdDogMjAgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAg5byA5aeL5LiK5LygXHJcbiAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICApfVxyXG4gICAgICAgIHtyZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiICYmIHN0YXR1cyA9PSAyICYmIChcclxuICAgICAgICAgIDxOU0NCdXR0b25cclxuICAgICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5MZWZ0OiAyMCB9fVxyXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5pbXBvcnREYXRhKHRoaXMuc3RhdGUuZmlsZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICBkaXNhYmxlZD17dGhpcy5zdGF0ZS5idXR0b25Mb2FkaW5nfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICDkuI3opobnm5bmlbDmja5cclxuICAgICAgICAgIDwvTlNDQnV0dG9uPlxyXG4gICAgICAgICl9XHJcbiAgICAgICAge3JlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCIgJiYgc3RhdHVzID09IDIgJiYgKFxyXG4gICAgICAgICAgPE5TQ0J1dHRvblxyXG4gICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDIwIH19XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmltcG9ydERhdGEodGhpcy5zdGF0ZS5maWxlLCB0cnVlKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgZGlzYWJsZWQ9e3RoaXMuc3RhdGUuYnV0dG9uTG9hZGluZ31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAg6KaG55uW5pWw5o2uXHJcbiAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICApfVxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGRpdj5cclxuICAgICAgICB7dGhpcy5wcm9wcy5jaGlsZHJlbiA/IChcclxuICAgICAgICAgIHRoaXMucHJvcHMuY2hpbGRyZW5cclxuICAgICAgICApIDogKFxyXG4gICAgICAgICAgPE5TQ0J1dHRvblxyXG4gICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLm1vZGFsUmVmLmN1cnJlbnQ/LnNob3coKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAg5pWw5o2u5a+85YWlXHJcbiAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICApfVxyXG5cclxuICAgICAgICA8TnNjTW9kYWxcclxuICAgICAgICAgIHRpdGxlPVwi5pWw5o2u5a+85YWlXCJcclxuICAgICAgICAgIHdpZHRoPXs4MDB9XHJcbiAgICAgICAgICB3cmFwQ2xhc3NOYW1lPXtcImltcG9ydC1tb2RhbFwifVxyXG4gICAgICAgICAgcmVmPXt0aGlzLm1vZGFsUmVmfVxyXG4gICAgICAgICAgZm9vdGVyPXtmb290ZXJ9XHJcbiAgICAgICAgICBvbkNhbmNlbD17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGFsUmVmLmN1cnJlbnQ/LmhpZGUoKTtcclxuICAgICAgICAgICAgdGhpcy5yZXNldERhdGEoKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250ZW50XCI+XHJcbiAgICAgICAgICAgIHtzdGF0dXMgPT0gMSA/IChcclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiBcImZsZXhcIiB9fT5cclxuICAgICAgICAgICAgICAgICAgPE5zY1VwbG9hZFxyXG4gICAgICAgICAgICAgICAgICAgIGJlZm9yZVVwbG9hZD17KGZpbGUpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICBhbGxvd0ZpbGVTdWZmaXg9e1tcInhsc1wiLCBcInhseHNcIl19XHJcbiAgICAgICAgICAgICAgICAgICAgYWNjZXB0PXtcIi54bHMsLnhseHNcIn1cclxuICAgICAgICAgICAgICAgICAgICBzaG93VXBsb2FkTGlzdD17ZmFsc2V9XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtmaWxlID8gdHJ1ZSA6IGZhbHNlfVxyXG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17PEZvbGRlck91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIOmAieaLqeaWh+S7tlxyXG4gICAgICAgICAgICAgICAgICAgIDwvTlNDQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L05zY1VwbG9hZD5cclxuXHJcbiAgICAgICAgICAgICAgICAgIHtkb3duTG9hZFRlbXBsZXQgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgIDxOc2NEb3duTG9hZCB1cmw9e2Rvd25UZW1wbGV0VXJsfT5cclxuICAgICAgICAgICAgICAgICAgICAgIDxOU0NCdXR0b24gdHlwZT1cInByaW1hcnlcIiBzdHlsZT17eyBtYXJnaW5MZWZ0OiAyMCB9fT5cclxuICAgICAgICAgICAgICAgICAgICAgICAg5qih5p2/5LiL6L29XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L05zY0Rvd25Mb2FkPlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInVwbG9hZC10aXBcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1cGxvYWQtdGlwLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8RXhjbGFtYXRpb25DaXJjbGVPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1cGxvYWQtdGlwLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgMeOAgeaUr+aMgUV4Y2VsIDIwMDflj4rku6XkuIrniYjmnKzvvIzkuJTmr4/mrKHlj6rog73kuIrkvKDkuIDkuKrmlofku7bvvJtcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PjLjgIHlr7zlhaXliY3lhYjkuIvovb3mqKHmnb/vvIzlubbmoLnmja7mqKHmnb/loavlhpnmlbDmja7vvJs8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICB7ZmlsZSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidXBsb2FkLWZpbGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbGUtaWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPEZpbGVJY29uIHR5cGU9XCJleGNlbFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWxlLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsZS10aXRsZVwiPntmaWxlLm5hbWV9PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbGUtZGVzY1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICDmlofku7blpKflsI/vvJp7dGhpcy5maWxlU2l6ZUtiKGZpbGUuc2l6ZSkgKyBcIktCXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxTdGVwc1xyXG4gICAgICAgICAgICAgICAgICBjdXJyZW50PXtjdXJyZW50U3RlcH1cclxuICAgICAgICAgICAgICAgICAgaXRlbXM9e1tcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLmlbDmja7liIbmnpBcIixcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuaVsOaNruaPkuWFpVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgIF19XHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1wicmVzdWx0LWNvbnRlbnRcIn0+e3RoaXMucmVuZGVyUmVzdWx0KCl9PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICl9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L05zY01vZGFsPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IE5zY0ltcG9ydERhdGE7XHJcbiJdLCJt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
|
|
330
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIk5zY1VwbG9hZCIsIk5TQ0J1dHRvbiIsIk5zY0Rvd25Mb2FkIiwiTnNjTW9kYWwiLCJGaWxlSWNvbiIsIlVwbG9hZE91dGxpbmVkIiwiRm9sZGVyT3V0bGluZWQiLCJDbG9zZUNpcmNsZU91dGxpbmVkIiwiRXhjbGFtYXRpb25DaXJjbGVPdXRsaW5lZCIsIlN0ZXBzIiwibnNjRmlsZSIsIkFsZXJ0IiwiQ29sbGFwc2UiLCJOc2NJbXBvcnREYXRhIiwiUHVyZUNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwiYXJndW1lbnRzIiwiX2RlZmluZVByb3BlcnR5Iiwic3RhdHVzIiwiZmlsZSIsImN1cnJlbnRTdGVwIiwicmVxdWVzdFN0YXR1cyIsImVycm9yTGlzdCIsIndhcm5MaXN0IiwiYnV0dG9uTG9hZGluZyIsImNyZWF0ZVJlZiIsImZpbGVTaXplS2IiLCJudW1iZXIiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJ0b0ZpeGVkIiwic2hvdyIsIl90aGlzJG1vZGFsUmVmJGN1cnJlbiIsIm1vZGFsUmVmIiwiY3VycmVudCIsImhpZGUiLCJfdGhpcyRtb2RhbFJlZiRjdXJyZW4yIiwicmVzZXREYXRhIiwiaW1wb3J0RGF0YSIsImlzT3ZlcndyaXRlIiwicmVxdWVzdENvbmZpZyIsImltcG9ydFVybCIsIm9uQ2FsbEJhY2tzIiwicHJvcHMiLCJkYXRhIiwiY29uZmlnIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwic2V0U3RhdGUiLCJpbXBvcnRGaWxlIiwidXJsIiwiX29iamVjdFNwcmVhZCIsInRoZW4iLCJyZXMiLCJjb2RlIiwiX21lc3NhZ2UiLCJzdWNjZXNzIiwid2FybmluZ3MiLCJpbXBvcnRDYWxsQmFjayIsInJlbmRlckVycm9yQ29udGVudCIsImxpc3QiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJzdGF0ZSIsImNyZWF0ZUVsZW1lbnQiLCJrZXkiLCJyb3dOdW0iLCJlcnJvck1zZyIsInJlbmRlclJlc3VsdCIsImFsZXJ0X21zZ19tYXAiLCJlcnJvciIsIndhcm5pbmciLCJjb25zb2xlIiwibG9nIiwiX2FsZXJ0X21zZ19tYXAkcmVxdWVzIiwic3R5bGUiLCJtYXJnaW5Ub3AiLCJtZXNzYWdlIiwidHlwZSIsInNob3dJY29uIiwiZXhwYW5kSWNvblBvc2l0aW9uIiwiY2xhc3NOYW1lIiwiYmFja2dyb3VuZENvbG9yIiwiYm9yZGVyIiwiYm9yZGVyUmFkaXVzIiwiZGVmYXVsdEFjdGl2ZUtleSIsIlBhbmVsIiwiaGVhZGVyIiwiY29sb3IiLCJleHRyYSIsImJhY2tncm91bmQiLCJyZW5kZXIiLCJkb3duTG9hZFRlbXBsZXQiLCJkb3duVGVtcGxldFVybCIsImNoZWNrRGF0YSIsImNoZWNrVXJsIiwiZm9vdGVyIiwib25DbGljayIsImVycm9yQ291bnQiLCJkdXBsaWNhdGVDb3VudCIsImR1cGxpY2F0ZUxpc3QiLCJkaXNhYmxlZCIsImljb24iLCJtYXJnaW5MZWZ0IiwiY2hpbGRyZW4iLCJGcmFnbWVudCIsInNob3dCdXR0b24iLCJ0aXRsZSIsIndpZHRoIiwid3JhcENsYXNzTmFtZSIsInJlZiIsIm9uQ2FuY2VsIiwiZGlzcGxheSIsImJlZm9yZVVwbG9hZCIsImFsbG93RmlsZVN1ZmZpeCIsImFjY2VwdCIsInNob3dVcGxvYWRMaXN0IiwibmFtZSIsInNpemUiLCJpdGVtcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvaW1wb3J0RGF0YS9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IE5zY1VwbG9hZCBmcm9tIFwiLi4vdXBsb2FkXCI7XHJcbmltcG9ydCBOU0NCdXR0b24gZnJvbSBcIi4uL2J1dHRvblwiO1xyXG5pbXBvcnQgTnNjRG93bkxvYWQgZnJvbSBcIi4uL2Rvd25sb2FkXCI7XHJcbmltcG9ydCBOc2NNb2RhbCBmcm9tIFwiLi4vbW9kYWxcIjtcclxuaW1wb3J0IEZpbGVJY29uIGZyb20gXCIuLi9jb21tb24vRmlsZUljb25cIjtcclxuaW1wb3J0IHtcclxuICBVcGxvYWRPdXRsaW5lZCxcclxuICBGb2xkZXJPdXRsaW5lZCxcclxuICBDbG9zZUNpcmNsZU91dGxpbmVkLFxyXG4gIEV4Y2xhbWF0aW9uQ2lyY2xlT3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCBTdGVwcyBmcm9tIFwiLi4vc3RlcHNcIjtcclxuaW1wb3J0IG5zY0ZpbGUgZnJvbSBcIm5zYy1maWxlXCI7XHJcbmltcG9ydCB7IG1lc3NhZ2UgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgQWxlcnQgZnJvbSBcIi4uL2FsZXJ0XCI7XHJcbmltcG9ydCBDb2xsYXBzZSBmcm9tIFwiLi4vY29sbGFwc2VcIjtcclxuaW1wb3J0IEljb24gZnJvbSBcIi4uL2NvbW1vbi9JY29uXCI7XHJcblxyXG5pbnRlcmZhY2UgSW1wb3J0UHJvcG9zIHtcclxuICBjaGVja0RhdGE/OiBib29sZWFuOyAvL+aYr+WQpui/m+ihjOaVsOaNruagoemqjO+8jOm7mOiupGZhbHNlXHJcbiAgY2hlY2tVcmw/OiBzdHJpbmc7IC8v5pWw5o2u5qCh6aqM5o6l5Y+j5Zyw5Z2AXHJcbiAgaW1wb3J0VXJsOiBzdHJpbmc7IC8v5pWw5o2u5a+85YWl5Zyw5Z2AXHJcbiAgcmVxdWVzdENvbmZpZz86IGFueTtcclxuICBkb3duTG9hZFRlbXBsZXQ/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuS4i+i9veaooeadv+aMiemSrlxyXG4gIGRvd25UZW1wbGV0VXJsPzogc3RyaW5nOyAvL+S4i+i9veaooeadv+WcsOWdgFxyXG4gIG9uQ2FsbEJhY2tzPzoge1xyXG4gICAgY2hlY2tDYWxsQmFjaz86IGFueTsgLy/mlbDmja7moKHpqozlm57osINcclxuICAgIGltcG9ydENhbGxCYWNrPzogYW55OyAvL+aVsOaNruWvvOWFpeWbnuiwg1xyXG4gICAgY2xvc2VDYWxsQmFjaz86IGFueTtcclxuICB9O1xyXG4gIHNob3dCdXR0b24/OiBib29sZWFuO1xyXG4gIFtwcm9wc05hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5jbGFzcyBOc2NJbXBvcnREYXRhIGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudDxJbXBvcnRQcm9wb3MsIGFueT4ge1xyXG4gIHN0YXRlID0ge1xyXG4gICAgc3RhdHVzOiAxLFxyXG4gICAgZmlsZTogbnVsbCxcclxuICAgIGN1cnJlbnRTdGVwOiAxLFxyXG4gICAgcmVxdWVzdFN0YXR1czogXCJcIixcclxuICAgIGVycm9yTGlzdDogW10sXHJcbiAgICB3YXJuTGlzdDogW10sXHJcbiAgICBidXR0b25Mb2FkaW5nOiBmYWxzZSxcclxuICB9O1xyXG4gIG1vZGFsUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBmaWxlU2l6ZUtiKG51bWJlciA9IDApIHtcclxuICAgIHJldHVybiAobnVtYmVyIC8gMTAyNCkudG9GaXhlZCgyKTtcclxuICB9XHJcbiAgc2hvdygpIHtcclxuICAgIHRoaXMubW9kYWxSZWYuY3VycmVudD8uc2hvdygpO1xyXG4gIH1cclxuICBoaWRlKCkge1xyXG4gICAgdGhpcy5tb2RhbFJlZi5jdXJyZW50Py5oaWRlKCk7XHJcbiAgICB0aGlzLnJlc2V0RGF0YSgpO1xyXG4gIH1cclxuICBpbXBvcnREYXRhKGZpbGUsIGlzT3ZlcndyaXRlKSB7XHJcbiAgICBjb25zdCB7IHJlcXVlc3RDb25maWcgPSB7fSwgaW1wb3J0VXJsLCBvbkNhbGxCYWNrcyA9IHt9IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IHsgZGF0YSA9IHt9LCAuLi5jb25maWcgfSA9IHJlcXVlc3RDb25maWc7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgYnV0dG9uTG9hZGluZzogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgLy8gbGV0IGZvcm1EYXRhID0gey4uLmRhdGF9XHJcblxyXG4gICAgbnNjRmlsZVxyXG4gICAgICAuaW1wb3J0RmlsZShcclxuICAgICAgICB7XHJcbiAgICAgICAgICB1cmw6IGltcG9ydFVybCxcclxuICAgICAgICAgIGRhdGE6IHsgLi4uZGF0YSwgaXNPdmVyd3JpdGU6IGlzT3ZlcndyaXRlIH0sXHJcbiAgICAgICAgICBmaWxlOiBmaWxlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgIClcclxuICAgICAgLnRoZW4oKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBidXR0b25Mb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAocmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoXCLlr7zlhaXmiJDlip/vvIFcIik7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgcmVxdWVzdFN0YXR1czogXCJzdWNjZXNzXCIsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGlmIChyZXMuZGF0YS53YXJuaW5ncy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgIHJlcXVlc3RTdGF0dXM6IFwid2FybmluZ1wiLFxyXG4gICAgICAgICAgICAgIHdhcm5MaXN0OiByZXMuZGF0YS53YXJuaW5ncyxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBvbkNhbGxCYWNrcz8uaW1wb3J0Q2FsbEJhY2sgJiYgb25DYWxsQmFja3M/LmltcG9ydENhbGxCYWNrKHJlcyk7XHJcbiAgICAgICAgICAvLyB0aGlzLmhpZGUoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKFwi5a+85YWl5aSx6LSl77yBXCIpO1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHJlcXVlc3RTdGF0dXM6IFwiZXJyb3JcIixcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIHJlbmRlckVycm9yQ29udGVudChsaXN0KSB7XHJcbiAgICByZXR1cm4gbGlzdC5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnN0YXRlLnJlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCIpIHtcclxuICAgICAgICByZXR1cm4gPGRpdiBrZXk9e2luZGV4fT57XCLnrKxcIiArIGl0ZW0ucm93TnVtICsgXCLooYzmlbDmja7ph43lpI3vvJtcIn08L2Rpdj47XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIDxkaXYga2V5PXtpbmRleH0+e2l0ZW0uZXJyb3JNc2d9PC9kaXY+O1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcmVuZGVyUmVzdWx0KCkge1xyXG4gICAgY29uc3QgeyByZXF1ZXN0U3RhdHVzLCBlcnJvckxpc3QsIHdhcm5MaXN0IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgYWxlcnRfbXNnX21hcCA9IHtcclxuICAgICAgc3VjY2VzczogXCLlr7zlhaXmiJDlip9cIixcclxuICAgICAgZXJyb3I6IFwi5a+85YWl5aSx6LSlXCIsXHJcbiAgICAgIHdhcm5pbmc6IFwi5ZGK6K2m5o+Q56S6XCIsXHJcbiAgICB9O1xyXG4gICAgY29uc29sZS5sb2coJ3JlcXVlc3RTdGF0dXMtLXJlbmRlclJlc3VsdCcscmVxdWVzdFN0YXR1cylcclxuICAgIGlmIChyZXF1ZXN0U3RhdHVzKSB7XHJcbiAgICAgIGlmIChyZXF1ZXN0U3RhdHVzID09IFwic3VjY2Vzc1wiKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJzExMTExMTExMTExMScpXHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxBbGVydFxyXG4gICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5Ub3A6IFwiOHB4XCIgfX1cclxuICAgICAgICAgICAgbWVzc2FnZT17YWxlcnRfbXNnX21hcFtyZXF1ZXN0U3RhdHVzXSA/PyBcIuaPkOekulwifVxyXG4gICAgICAgICAgICB0eXBlPXtcInN1Y2Nlc3NcIn1cclxuICAgICAgICAgICAgc2hvd0ljb25cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPENvbGxhcHNlXHJcbiAgICAgICAgICAgIGV4cGFuZEljb25Qb3NpdGlvbj1cInJpZ2h0XCJcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtcclxuICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCJjb250ZW50LXdhcm5pbmdcIiA6IFwiY29udGVudC1lcnJvclwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6XHJcbiAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCIjRkNFMUFCXCIgOiBcIiNmZmYyZjBcIixcclxuICAgICAgICAgICAgICBib3JkZXI6XHJcbiAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiXHJcbiAgICAgICAgICAgICAgICAgID8gXCIxcHggc29saWQgI0ZDRTFBQlwiXHJcbiAgICAgICAgICAgICAgICAgIDogXCIxcHggc29saWQgI0ZGQ0NDN1wiLFxyXG4gICAgICAgICAgICAgIGJvcmRlclJhZGl1czogXCIycHhcIixcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgZGVmYXVsdEFjdGl2ZUtleT17W1wiMVwiXX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPENvbGxhcHNlLlBhbmVsXHJcbiAgICAgICAgICAgICAga2V5PVwiMVwiXHJcbiAgICAgICAgICAgICAgaGVhZGVyPXtcclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCIjRkFBRDE0XCIgOiBcIiNmNjBcIixcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAge3JlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCIgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICA8RXhjbGFtYXRpb25DaXJjbGVPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICA8Q2xvc2VDaXJjbGVPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAge2FsZXJ0X21zZ19tYXBbcmVxdWVzdFN0YXR1c119XHJcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBleHRyYT17XHJcbiAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCIjRkFBRDE0XCIgOiBcIiNmNjBcIixcclxuICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3JlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCIgPyBcIuafpeeci1wiIDogXCLmn6XnnIvplJnor69cIn1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOlxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCIgPyBcIiNGRkZERjZcIiA6IFwiI2ZmZjlmOVwiLFxyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNvbnRlbnQtZXJyb3JfX21zZ1wiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXJyb3JDb250ZW50KFxyXG4gICAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gd2Fybkxpc3QgOiBlcnJvckxpc3RcclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvQ29sbGFwc2UuUGFuZWw+XHJcbiAgICAgICAgICA8L0NvbGxhcHNlPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgcmVzZXREYXRhKCkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHN0YXR1czogMSxcclxuICAgICAgZmlsZTogbnVsbCxcclxuICAgICAgY3VycmVudFN0ZXA6IDEsXHJcbiAgICAgIHJlcXVlc3RTdGF0dXM6IFwiXCIsXHJcbiAgICAgIGVycm9yTGlzdDogW10sXHJcbiAgICAgIHdhcm5MaXN0OiBbXSxcclxuICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IGZpbGUsIHN0YXR1cywgY3VycmVudFN0ZXAsIHJlcXVlc3RTdGF0dXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGRvd25Mb2FkVGVtcGxldCxcclxuICAgICAgZG93blRlbXBsZXRVcmwsXHJcbiAgICAgIGNoZWNrRGF0YSxcclxuICAgICAgY2hlY2tVcmwsXHJcbiAgICAgIHJlcXVlc3RDb25maWcsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGZvb3RlciA9IChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb290ZXJcIj5cclxuICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICDlj5bmtohcclxuICAgICAgICA8L05TQ0J1dHRvbj5cclxuXHJcbiAgICAgICAge3N0YXR1cyA9PSAxICYmIHRoaXMuc3RhdGUuZmlsZSAmJiAoXHJcbiAgICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgIHN0YXR1czogMixcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRTdGVwOiAxLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIGlmIChjaGVja0RhdGEpIHtcclxuICAgICAgICAgICAgICAgIG5zY0ZpbGVcclxuICAgICAgICAgICAgICAgICAgLmltcG9ydEZpbGUoe1xyXG4gICAgICAgICAgICAgICAgICAgIHVybDogY2hlY2tVcmwsXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsZTogZmlsZSxcclxuICAgICAgICAgICAgICAgICAgICBkYXRhOiByZXF1ZXN0Q29uZmlnPy5kYXRhIHx8IHt9LFxyXG4gICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAudGhlbigocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcy5kYXRhLmVycm9yQ291bnQgPT0gMCAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXMuZGF0YS5kdXBsaWNhdGVDb3VudCA9PSAwXHJcbiAgICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFN0ZXA6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1czogXCJzdWNjZXNzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmltcG9ydERhdGEoZmlsZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmRhdGEuZXJyb3JDb3VudCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1czogXCJlcnJvclwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yTGlzdDogcmVzLmRhdGEuZXJyb3JMaXN0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5kYXRhLmR1cGxpY2F0ZUNvdW50ID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzOiBcIndhcm5pbmdcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuTGlzdDogcmVzLmRhdGEuZHVwbGljYXRlTGlzdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmltcG9ydERhdGEoZmlsZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgZGlzYWJsZWQ9e2ZpbGUgPyBmYWxzZSA6IHRydWV9XHJcbiAgICAgICAgICAgIGljb249ezxVcGxvYWRPdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luTGVmdDogMjAgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAg5byA5aeL5LiK5LygXHJcbiAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICApfVxyXG4gICAgICAgIHtyZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiICYmIHN0YXR1cyA9PSAyICYmIChcclxuICAgICAgICAgIDxOU0NCdXR0b25cclxuICAgICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5MZWZ0OiAyMCB9fVxyXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5pbXBvcnREYXRhKHRoaXMuc3RhdGUuZmlsZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICBkaXNhYmxlZD17dGhpcy5zdGF0ZS5idXR0b25Mb2FkaW5nfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICDkuI3opobnm5bmlbDmja5cclxuICAgICAgICAgIDwvTlNDQnV0dG9uPlxyXG4gICAgICAgICl9XHJcbiAgICAgICAge3JlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCIgJiYgc3RhdHVzID09IDIgJiYgKFxyXG4gICAgICAgICAgPE5TQ0J1dHRvblxyXG4gICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDIwIH19XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmltcG9ydERhdGEodGhpcy5zdGF0ZS5maWxlLCB0cnVlKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgZGlzYWJsZWQ9e3RoaXMuc3RhdGUuYnV0dG9uTG9hZGluZ31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAg6KaG55uW5pWw5o2uXHJcbiAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICApfVxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGRpdj5cclxuICAgICAgICB7dGhpcy5wcm9wcy5jaGlsZHJlbiA/IChcclxuICAgICAgICAgIHRoaXMucHJvcHMuY2hpbGRyZW5cclxuICAgICAgICApIDogKFxyXG4gICAgICAgICAgPD5cclxuICAgICAgICAgICAge3RoaXMucHJvcHMuc2hvd0J1dHRvbiAmJiAoXHJcbiAgICAgICAgICAgICAgPE5TQ0J1dHRvblxyXG4gICAgICAgICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnNob3coKTtcclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAg5pWw5o2u5a+85YWlXHJcbiAgICAgICAgICAgICAgPC9OU0NCdXR0b24+XHJcbiAgICAgICAgICAgICl9XHJcbiAgICAgICAgICA8Lz5cclxuICAgICAgICApfVxyXG5cclxuICAgICAgICA8TnNjTW9kYWxcclxuICAgICAgICAgIHRpdGxlPVwi5pWw5o2u5a+85YWlXCJcclxuICAgICAgICAgIHdpZHRoPXs4MDB9XHJcbiAgICAgICAgICB3cmFwQ2xhc3NOYW1lPXtcImltcG9ydC1tb2RhbFwifVxyXG4gICAgICAgICAgcmVmPXt0aGlzLm1vZGFsUmVmfVxyXG4gICAgICAgICAgZm9vdGVyPXtmb290ZXJ9XHJcbiAgICAgICAgICBvbkNhbmNlbD17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250ZW50XCI+XHJcbiAgICAgICAgICAgIHtzdGF0dXMgPT0gMSA/IChcclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiBcImZsZXhcIiB9fT5cclxuICAgICAgICAgICAgICAgICAgPE5zY1VwbG9hZFxyXG4gICAgICAgICAgICAgICAgICAgIGJlZm9yZVVwbG9hZD17KGZpbGUpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICBhbGxvd0ZpbGVTdWZmaXg9e1tcInhsc1wiLCBcInhseHNcIl19XHJcbiAgICAgICAgICAgICAgICAgICAgYWNjZXB0PXtcIi54bHMsLnhseHNcIn1cclxuICAgICAgICAgICAgICAgICAgICBzaG93VXBsb2FkTGlzdD17ZmFsc2V9XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtmaWxlID8gdHJ1ZSA6IGZhbHNlfVxyXG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17PEZvbGRlck91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIOmAieaLqeaWh+S7tlxyXG4gICAgICAgICAgICAgICAgICAgIDwvTlNDQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L05zY1VwbG9hZD5cclxuXHJcbiAgICAgICAgICAgICAgICAgIHtkb3duTG9hZFRlbXBsZXQgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgIDxOc2NEb3duTG9hZCB1cmw9e2Rvd25UZW1wbGV0VXJsfT5cclxuICAgICAgICAgICAgICAgICAgICAgIDxOU0NCdXR0b24gdHlwZT1cInByaW1hcnlcIiBzdHlsZT17eyBtYXJnaW5MZWZ0OiAyMCB9fT5cclxuICAgICAgICAgICAgICAgICAgICAgICAg5qih5p2/5LiL6L29XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L05zY0Rvd25Mb2FkPlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInVwbG9hZC10aXBcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1cGxvYWQtdGlwLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8RXhjbGFtYXRpb25DaXJjbGVPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1cGxvYWQtdGlwLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgMeOAgeaUr+aMgUV4Y2VsIDIwMDflj4rku6XkuIrniYjmnKzvvIzkuJTmr4/mrKHlj6rog73kuIrkvKDkuIDkuKrmlofku7bvvJtcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PjLjgIHlr7zlhaXliY3lhYjkuIvovb3mqKHmnb/vvIzlubbmoLnmja7mqKHmnb/loavlhpnmlbDmja7vvJs8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICB7ZmlsZSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidXBsb2FkLWZpbGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbGUtaWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPEZpbGVJY29uIHR5cGU9XCJleGNlbFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWxlLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsZS10aXRsZVwiPntmaWxlLm5hbWV9PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbGUtZGVzY1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICDmlofku7blpKflsI/vvJp7dGhpcy5maWxlU2l6ZUtiKGZpbGUuc2l6ZSkgKyBcIktCXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxTdGVwc1xyXG4gICAgICAgICAgICAgICAgICBjdXJyZW50PXtjdXJyZW50U3RlcH1cclxuICAgICAgICAgICAgICAgICAgaXRlbXM9e1tcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLmlbDmja7liIbmnpBcIixcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuaVsOaNruaPkuWFpVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgIF19XHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1wicmVzdWx0LWNvbnRlbnRcIn0+e3RoaXMucmVuZGVyUmVzdWx0KCl9PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICl9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L05zY01vZGFsPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IE5zY0ltcG9ydERhdGE7XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBSyxNQUFNLE9BQU87QUFDekIsT0FBTyxjQUFjO0FBQ3JCLE9BQU9DLFNBQVMsTUFBTSxXQUFXO0FBQ2pDLE9BQU9DLFNBQVMsTUFBTSxXQUFXO0FBQ2pDLE9BQU9DLFdBQVcsTUFBTSxhQUFhO0FBQ3JDLE9BQU9DLFFBQVEsTUFBTSxVQUFVO0FBQy9CLE9BQU9DLFFBQVEsTUFBTSxvQkFBb0I7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
|