nsc-react-component 4.3.5 → 4.3.7
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/form/Form.js +2 -2
- package/lib/base/form/Form.js.map +1 -1
- package/lib/base/form/filed/FormItem.js +7 -3
- package/lib/base/form/filed/FormItem.js.map +1 -1
- package/lib/base/form/filed/Item.js +7 -3
- package/lib/base/form/filed/Item.js.map +1 -1
- package/lib/base/importData/index.js +8 -6
- package/lib/base/importData/index.js.map +1 -1
- package/lib/base/modal/index.d.ts +1 -0
- package/lib/base/modal/index.js +8 -1
- package/lib/base/modal/index.js.map +1 -1
- package/lib/base/select/index.js +11 -9
- package/lib/base/select/index.js.map +1 -1
- package/lib/base/table/index.js +8 -9
- package/lib/base/table/index.js.map +1 -1
- package/lib/base/tree/index.js +11 -8
- package/lib/base/tree/index.js.map +1 -1
- package/lib/page/BasePage/index.d.ts +1 -0
- package/lib/page/BasePage/index.js +4 -3
- package/lib/page/BasePage/index.js.map +1 -1
- package/lib/page/BasePage/index.module.less +1 -1
- package/lib/page/FormPage/index.js +9 -2
- package/lib/page/FormPage/index.js.map +1 -1
- package/lib/page/HeaderSearch/index.js +1 -1
- package/lib/page/HeaderSearch/index.js.map +1 -1
- package/lib/page/SettingForm/index.d.ts +0 -5
- package/lib/page/SettingForm/index.js +1 -1
- package/lib/page/SettingForm/index.js.map +1 -1
- package/lib/page/SettingTable/index.js +8 -5
- package/lib/page/SettingTable/index.js.map +1 -1
- package/lib/utils.d.ts +1 -0
- package/lib/utils.js +41 -1
- package/lib/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -276,4 +276,4 @@ export default class SettingForm extends React.Component {
|
|
|
276
276
|
}
|
|
277
277
|
}
|
|
278
278
|
}
|
|
279
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTcGluIiwiUmVhY3QiLCJOc2NSZXF1ZXN0IiwiY2xzIiwiRm9ybVBhZ2UiLCJkZWZhdWx0Q29tRnVuY3MiLCJkZWZhdWx0VXRpbCIsInJlbmRlclNlbGZUb29sQnV0dG9uIiwiZ2V0UGFnZURhdGEiLCJwYXJhbXMiLCJzZXR0aW5nU291cmNlIiwidXJsIiwiZ2V0IiwieHNzRmlsdGVyIiwiYXV0b1ByZWZpeCIsInNldEZpZWxkRGlzYWJsZWQiLCJkYXRhIiwia2V5IiwiZGlzYWJsZWQiLCJmb21zIiwibmV3Rm9ybXMiLCJtYXAiLCJpdGVtIiwib2JqIiwiX29iamVjdFNwcmVhZCIsIm5hbWUiLCJpbmRleE9mIiwicHJvcHMiLCJwdXNoIiwic2V0RmllbGRWaXNpYmxlIiwidmlzaWJsZSIsInNob3ciLCJzZXRGaWVsZFByb3BzRGF0YSIsInByb3BzRGF0YSIsImZvcm1zIiwiZGF0YUluZGV4IiwiZGVmYXVsdFN0YXRlVmFsdWUiLCJmb3JtVHlwZSIsInBhZ2VMb2FkaW5nIiwic2VsZkJ1dHRvbiIsIm90aGVyUHJvcHMiLCJidXR0b25Mb2FkaW5nIiwiZ2V0Rm9ybVNldHRpbmciLCJKU09OIiwicGFyc2UiLCJzZWxmRm9ybUJ1dHRvbiIsImZvcm1TZXR0aW5nIiwiU2V0dGluZ0Zvcm0iLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsImFyZ3VtZW50cyIsIl9kZWZpbmVQcm9wZXJ0eSIsImNyZWF0ZVJlZiIsInJlcyIsImNvbXBvbmVudERpZE1vdW50IiwiZ2V0RGF0YSIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsInByZXZTdGF0ZSIsInNuYXBzaG90IiwiZm9ybUNvZGUiLCJzZXRTdGF0ZSIsInB1Ymxpc2hlZCIsIm1lbnVDb2RlIiwiY29kZSIsImlzUHVibGlzaGVkIiwidGhlbiIsImZvcm1Qcm9wcyIsIl9tZXNzYWdlIiwiZXJyb3IiLCJzaG93Rm9ybSIsInZhbHVlIiwiZWRpdG9yZmxhZyIsImNhbGxCYWNrIiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50IiwicGFnZVJlZiIsImN1cnJlbnQiLCJoaWRlRm9ybSIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDIiLCJyZW5kZXIiLCJfdGhpcyRwcm9wcyIsImNsYXNzTmFtZSIsImZ1bmNzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwic3RhdGUiLCJyZXF1ZXN0T2JqZWN0IiwiX3RoaXMiLCJkZWF1bHRGdW5jcyIsIm5ld0RhdGEiLCJzZXRCdXR0b25Mb2FkaW5nIiwibG9hZGluZyIsImNoaWxkcmVuIiwiY29kZUZvcm1CdXR0b25zIiwiQXJyYXkiLCJpc0FycmF5IiwiY2hpbGQiLCJyZW5kZXJGb3JtIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIiwiVXRpbHMiLCJyZWYiLCJlZGl0VHlwZSIsInR5cGUiLCJzdHlsZSIsIndpZHRoIiwiaGVpZ2h0Iiwic3Bpbm5pbmciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wYWdlL1NldHRpbmdGb3JtL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3J3YXJkUmVmLCB1c2VFZmZlY3QsIHVzZUltcGVyYXRpdmVIYW5kbGUsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBCYXNlUGFnZSwgeyBOU0NCYXNlQmFnZVByb3BzIH0gZnJvbSBcIi4uL0Jhc2VQYWdlXCI7XHJcbmltcG9ydCBTcGluIGZyb20gXCIuLi8uLi9iYXNlL3NwaW5cIjtcclxuaW1wb3J0IFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IE5zY1JlcXVlc3QgZnJvbSBcIm5zYy1yZXF1ZXN0XCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IHsgbWVzc2FnZSB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBGb3JtUGFnZSBmcm9tIFwiLi4vRm9ybVBhZ2VcIjtcclxuaW1wb3J0IHtcclxuICBkZWZhdWx0Q29tRnVuY3MsXHJcbiAgZGVmYXVsdFV0aWwsXHJcbiAgcmVuZGVyU2VsZlRvb2xCdXR0b24sXHJcbn0gZnJvbSBcIi4uL1NldHRpbmdVdGlsL3V0aWxzXCI7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0UGFnZURhdGEgPSAocGFyYW1zOiBhbnksIHNldHRpbmdTb3VyY2UpID0+IHtcclxuICBsZXQgdXJsID1cclxuICAgIHNldHRpbmdTb3VyY2UgPT0gXCJ0YWJsZVwiXHJcbiAgICAgID8gXCIvanF1aWNrLXNldHRpbmcvc2V0dGluZy90YWJsZS9pbmZvL1wiXHJcbiAgICAgIDogXCIvanF1aWNrLXNldHRpbmcvc2V0dGluZy9mb3JtL2luZm9cIjtcclxuICByZXR1cm4gTnNjUmVxdWVzdC5nZXQodXJsLCB7XHJcbiAgICBwYXJhbXMsXHJcbiAgICB4c3NGaWx0ZXI6IGZhbHNlLFxyXG4gICAgYXV0b1ByZWZpeDogdHJ1ZSxcclxuICB9KTtcclxufTtcclxuXHJcbi8v6K6+572u6KGo5Y2V5a2X5q615Y+q6K+7XHJcbmNvbnN0IHNldEZpZWxkRGlzYWJsZWQgPSAoZGF0YTogQXJyYXk8YW55Piwga2V5LCBkaXNhYmxlZCkgPT4ge1xyXG4gIGNvbnN0IGZvbXMgPSBbLi4uZGF0YV07XHJcbiAgbGV0IG5ld0Zvcm1zID0gW10gYXMgYW55O1xyXG4gIGZvbXMubWFwKChpdGVtKSA9PiB7XHJcbiAgICBsZXQgb2JqID0geyAuLi5pdGVtIH07XHJcbiAgICBpZiAoaXRlbS5uYW1lID09IGtleSB8fCBrZXkuaW5kZXhPZihpdGVtLm5hbWUpID4gLTEpIHtcclxuICAgICAgbGV0IHByb3BzID0gb2JqLnByb3BzID8geyAuLi5vYmoucHJvcHMgfSA6IHt9O1xyXG4gICAgICBwcm9wcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xyXG4gICAgICBvYmoucHJvcHMgPSBwcm9wcztcclxuICAgIH1cclxuICAgIG5ld0Zvcm1zLnB1c2gob2JqKTtcclxuICB9KTtcclxuICByZXR1cm4gbmV3Rm9ybXM7XHJcbn07XHJcbi8v6K6+572u6KGo5Y2V5a2X5q616ZqQ6JePXHJcbmNvbnN0IHNldEZpZWxkVmlzaWJsZSA9IChkYXRhOiBBcnJheTxhbnk+LCBrZXksIHZpc2libGUpID0+IHtcclxuICBjb25zdCBmb21zID0gWy4uLmRhdGFdO1xyXG4gIGxldCBuZXdGb3JtcyA9IFtdIGFzIGFueTtcclxuICBmb21zLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgbGV0IG9iaiA9IHsgLi4uaXRlbSB9O1xyXG4gICAgaWYgKGl0ZW0ubmFtZSA9PSBrZXkgfHwga2V5LmluZGV4T2YoaXRlbS5uYW1lKSA+IC0xKSB7XHJcbiAgICAgIG9iai5zaG93ID0gdmlzaWJsZTtcclxuICAgIH1cclxuICAgIG5ld0Zvcm1zLnB1c2gob2JqKTtcclxuICB9KTtcclxuICByZXR1cm4gbmV3Rm9ybXM7XHJcbn07XHJcblxyXG5jb25zdCBzZXRGaWVsZFByb3BzRGF0YSA9IChkYXRhOiBBcnJheTxhbnk+LCBrZXksIHByb3BzRGF0YSkgPT4ge1xyXG4gIGNvbnN0IGZvcm1zID0gWy4uLmRhdGFdO1xyXG4gIGxldCBuZXdGb3JtcyA9IFtdIGFzIGFueTtcclxuICBmb3Jtcy5tYXAoKGl0ZW0pID0+IHtcclxuICAgIGxldCBvYmogPSB7IC4uLml0ZW0gfTtcclxuICAgIGlmIChpdGVtLmRhdGFJbmRleCA9PSBrZXkpIHtcclxuICAgICAgbGV0IHByb3BzID0gb2JqLnByb3BzID8geyAuLi5vYmoucHJvcHMgfSA6IHt9O1xyXG4gICAgICBwcm9wcy5kYXRhID0gcHJvcHNEYXRhO1xyXG4gICAgICBvYmoucHJvcHMgPSBwcm9wcztcclxuICAgIH1cclxuICAgIG5ld0Zvcm1zLnB1c2gob2JqKTtcclxuICB9KTtcclxuICByZXR1cm4gbmV3Rm9ybXM7XHJcbn07XHJcbmludGVyZmFjZSBJUHJvcHMge1xyXG4gIGZvcm1Db2RlOiBzdHJpbmc7XHJcbiAgY2xhc3NOYW1lPzogYW55O1xyXG4gIG1lbnVDb2RlPzogc3RyaW5nO1xyXG4gIGZ1bmNzPzogYW55O1xyXG4gIHB1Ymxpc2hlZD86IGJvb2xlYW47XHJcbiAgaW5zdGFuY2VSZWY/OiBhbnk7XHJcbiAgb25DYWxsQmFja3M/OiB7XHJcbiAgICB0cmVlU2VsZWN0Q2FsbEJhY2s/OiBhbnk7IC8v5qCR54K55Ye75p+l6K+i5ZCO5Zue6LCDXHJcbiAgICBvblF1ZXJ5Q2FsbEJhY2s/OiBhbnk7IC8v5p+l6K+i5Zue6LCD77yM5p+l6K+i5pWw5o2u5ZCO5Zue6LCDXHJcbiAgICBvblN1bWJpdENhbGxCYWNrPzogYW55OyAvL+S/neWtmOWbnuiwg++8jOS/neWtmOaVsOaNruaIkOWKn+WQjuWbnuiwg1xyXG4gICAgb25EZWxldGVDYWxsQmFjaz86IGFueTsgLy/liKDpmaTmjInpkq7lm57osIPvvIzliKDpmaTmlbDmja7lkI7miafooYxcclxuICAgIG9uRWRpdG9yQ2FsbEJhY2s/OiBhbnk7IC8v57yW6L6R5oyJ6ZKu5Zue6LCD77yM5omT5byA5by55qGG5ZCO5omn6KGMXHJcbiAgICBvbkFkZENhbGxCYWNrPzogYW55OyAvL+a3u+WKoOaMiemSruWbnuiwg++8jOaJk+W8gOW8ueahhuWQjuaJp+ihjFxyXG4gICAgb25TZWFyY2hDYWxsQmFjaz86IGFueTsgLy/liJfooajmn6Xor6LmjInpkq7lm57osIPvvIzmiZPlvIDlvLnmoYblkI7miafooYxcclxuICB9O1xyXG4gIGZvcm1Qcm9wcz86IGFueTtcclxuICBjaGlsZHJlbj86IGFueTtcclxuICBbcHJvcE5hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5jb25zdCBkZWZhdWx0U3RhdGVWYWx1ZSA9IHtcclxuICBmb3JtVHlwZTogXCJtb2RhbFwiLFxyXG4gIHBhZ2VMb2FkaW5nOiBmYWxzZSxcclxuICBzZWxmQnV0dG9uOiBbXSBhcyBhbnksXHJcbiAgcHJvcHM6IHt9IGFzIGFueSxcclxuICBvdGhlclByb3BzOiB7fSBhcyBhbnksXHJcbiAgZm9ybXM6IFtdIGFzIGFueSxcclxuICBidXR0b25Mb2FkaW5nOiB7fSBhcyBhbnksXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0Rm9ybVNldHRpbmcgPSAoZGF0YSkgPT4ge1xyXG4gIGxldCBmb3JtcyA9IEpTT04ucGFyc2UoZGF0YS5mb3JtcyB8fCBcIltdXCIpIHx8IFtdO1xyXG4gIGxldCBzZWxmRm9ybUJ1dHRvbiA9IEpTT04ucGFyc2UoZGF0YS5zZWxmQnV0dG9uIHx8IFwiW11cIikgfHwgW107XHJcbiAgbGV0IG90aGVyUHJvcHMgPSBKU09OLnBhcnNlKGRhdGEub3RoZXJQcm9wcyB8fCBcInt9XCIpIHx8IHt9O1xyXG4gIGxldCBmb3JtVHlwZSA9IGRhdGEuZm9ybVR5cGU7XHJcbiAgbGV0IHByb3BzID0gSlNPTi5wYXJzZShkYXRhLnByb3BzIHx8IFwie31cIikgfHwge307XHJcbiAgbGV0IGZvcm1TZXR0aW5nID0ge1xyXG4gICAgZm9ybVR5cGU6IGZvcm1UeXBlLFxyXG4gICAgc2VsZkJ1dHRvbjogc2VsZkZvcm1CdXR0b24sXHJcbiAgICBwcm9wczogcHJvcHMsXHJcbiAgICBvdGhlclByb3BzOiBvdGhlclByb3BzLFxyXG4gICAgZm9ybXM6IGZvcm1zLFxyXG4gIH07XHJcbiAgcmV0dXJuIGZvcm1TZXR0aW5nO1xyXG59O1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZXR0aW5nRm9ybSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJUHJvcHMsIGFueT4ge1xyXG4gIHN0YXRlID0ge1xyXG4gICAgLi4uZGVmYXVsdFN0YXRlVmFsdWUsXHJcbiAgfTtcclxuICBwYWdlUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldERhdGEoKTtcclxuICB9XHJcblxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShcclxuICAgIHByZXZQcm9wczogUmVhZG9ubHk8SVByb3BzPixcclxuICAgIHByZXZTdGF0ZTogUmVhZG9ubHk8YW55PixcclxuICAgIHNuYXBzaG90PzogYW55XHJcbiAgKTogdm9pZCB7XHJcbiAgICBpZiAocHJldlByb3BzLmZvcm1Db2RlICE9IHRoaXMucHJvcHMuZm9ybUNvZGUpIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAgICB7XHJcbiAgICAgICAgICAuLi5kZWZhdWx0U3RhdGVWYWx1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuZ2V0RGF0YSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGluaXREYXRhID0gKHJlczogYW55KSA9PiB7fTtcclxuICAvLyDojrflj5bmlbDmja5cclxuICBnZXREYXRhKCkge1xyXG4gICAgLy8g5LuOcHJvcHPkuK3ojrflj5Z0YWJsZUNvZGXjgIFwdWJsaXNoZWTjgIFtZW51Q29kZVxyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHBhZ2VMb2FkaW5nOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGZvcm1Db2RlLFxyXG4gICAgICBwdWJsaXNoZWQgPSB0cnVlLFxyXG4gICAgICBtZW51Q29kZSxcclxuICAgICAgc2V0dGluZ1NvdXJjZSA9IFwiZm9ybVwiLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAvLyDlpoLmnpx0YWJsZUNvZGXlrZjlnKhcclxuICAgIGlmIChmb3JtQ29kZSkge1xyXG4gICAgICAvLyDlrprkuYnlj4LmlbBcclxuICAgICAgbGV0IHBhcmFtcyA9IHsgY29kZTogZm9ybUNvZGUgfSBhcyBhbnk7XHJcbiAgICAgIC8vIOWmguaenHB1Ymxpc2hlZOS4unRydWVcclxuICAgICAgaWYgKHB1Ymxpc2hlZCkge1xyXG4gICAgICAgIC8vIOiuvue9ruWPguaVsGlzUHVibGlzaGVk5Li6MVxyXG4gICAgICAgIHBhcmFtcy5pc1B1Ymxpc2hlZCA9IDE7XHJcbiAgICAgIH1cclxuICAgICAgLy8g6LCD55SoZ2V0UGFnZURhdGHmlrnms5Xojrflj5bmlbDmja5cclxuICAgICAgZ2V0UGFnZURhdGEoeyAuLi5wYXJhbXMgfSwgc2V0dGluZ1NvdXJjZSkudGhlbigocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzLmNvZGUgPT0gMjAwICYmIHJlcy5kYXRhKSB7XHJcbiAgICAgICAgICBpZiAoc2V0dGluZ1NvdXJjZSA9PSBcInRhYmxlXCIpIHtcclxuICAgICAgICAgICAgbGV0IGZvcm1Qcm9wcyA9IEpTT04ucGFyc2UocmVzLmRhdGEuZm9ybVByb3BzIHx8IFwie31cIikgfHwge307XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgLi4uZm9ybVByb3BzLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgIHBhZ2VMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1TZXR0aW5nOiBhbnkgPSBnZXRGb3JtU2V0dGluZyhyZXMuZGF0YSkgfHwge307XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgLi4uZm9ybVNldHRpbmcsXHJcbiAgICAgICAgICAgICAgICBmb3JtVHlwZTogdGhpcy5wcm9wcy5mb3JtVHlwZSB8fCBmb3JtU2V0dGluZy5mb3JtVHlwZSxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICBwYWdlTG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmIChyZXMuY29kZSA9PSAyMDAgJiYgcmVzLmRhdGEgPT0gbnVsbCkge1xyXG4gICAgICAgICAgbWVzc2FnZS5lcnJvcihcIuacquaJvuWIsOmFjee9ruS/oeaBr++8gVwiKTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBwYWdlTG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHBhZ2VMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBwYWdlTG9hZGluZzogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyBvblNlYXJjaCgpIHt9XHJcblxyXG4gIHNob3dGb3JtKHZhbHVlOiBhbnksIGVkaXRvcmZsYWcsIGNhbGxCYWNrKSB7XHJcbiAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8uc2hvd0Zvcm0odmFsdWUsIGVkaXRvcmZsYWcsIGNhbGxCYWNrKTtcclxuICB9XHJcbiAgaGlkZUZvcm0oKSB7XHJcbiAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8uaGlkZUZvcm0oKTtcclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgY2xhc3NOYW1lLCBmdW5jcyA9IHt9LCAuLi5wYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHBhZ2VMb2FkaW5nLFxyXG4gICAgICBmb3JtVHlwZSxcclxuICAgICAgc2VsZkJ1dHRvbixcclxuICAgICAgcHJvcHMgPSB7fSxcclxuICAgICAgb3RoZXJQcm9wcyA9IHt9LFxyXG4gICAgICBmb3JtcyxcclxuICAgICAgYnV0dG9uTG9hZGluZyxcclxuICAgIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgeyByZXF1ZXN0T2JqZWN0ID0ge30gfSA9IG90aGVyUHJvcHM7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3QgZGVhdWx0RnVuY3MgPSB7XHJcbiAgICAgIHNldEZpZWxkRGlzYWJsZWQ6IChrZXksIGRpc2FibGVkKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0YSA9IHNldEZpZWxkRGlzYWJsZWQoZm9ybXMsIGtleSwgZGlzYWJsZWQpO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZm9ybXM6IG5ld0RhdGEsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIHNldEZpZWxkVmlzaWJsZTogKGtleSwgZGlzYWJsZWQpID0+IHtcclxuICAgICAgICBjb25zdCBuZXdEYXRhID0gc2V0RmllbGRWaXNpYmxlKGZvcm1zLCBrZXksIGRpc2FibGVkKTtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGZvcm1zOiBuZXdEYXRhLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICBzZXRGaWVsZFByb3BzRGF0YTogKGtleSwgZGF0YSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5ld0RhdGEgPSBzZXRGaWVsZFByb3BzRGF0YShmb3Jtcywga2V5LCBkYXRhKTtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGZvcm1zOiBuZXdEYXRhLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICBzZXRCdXR0b25Mb2FkaW5nKGNvZGUsIGxvYWRpbmcpIHtcclxuICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBidXR0b25Mb2FkaW5nOiB7IC4uLmJ1dHRvbkxvYWRpbmcsIFtjb2RlXTogbG9hZGluZyB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICAuLi5kZWZhdWx0Q29tRnVuY3MsXHJcbiAgICB9O1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuXHJcbiAgICBsZXQgY29kZUZvcm1CdXR0b25zID0gW107XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcclxuICAgICAgY2hpbGRyZW4ubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtKSkge1xyXG4gICAgICAgICAgaXRlbS5tYXAoKGNoaWxkKSA9PiB7XHJcbiAgICAgICAgICAgIGNvZGVGb3JtQnV0dG9ucy5wdXNoKGNoaWxkKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb2RlRm9ybUJ1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChjaGlsZHJlbikge1xyXG4gICAgICBjb2RlRm9ybUJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICB9XHJcbiAgICBjb25zdCByZW5kZXJGb3JtID0gKCkgPT4ge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxGb3JtUGFnZVxyXG4gICAgICAgICAgZm9ybVR5cGU9e2Zvcm1UeXBlfVxyXG4gICAgICAgICAgZm9ybXM9e2Zvcm1zfVxyXG4gICAgICAgICAgcmVxdWVzdE9iamVjdD17cmVxdWVzdE9iamVjdH1cclxuICAgICAgICAgIFV0aWxzPXtkZWZhdWx0VXRpbH1cclxuICAgICAgICAgIGZ1bmNzPXt7IC4uLmRlYXVsdEZ1bmNzLCAuLi5mdW5jcyB9fVxyXG4gICAgICAgICAgcmVmPXt0aGlzLnBhZ2VSZWZ9XHJcbiAgICAgICAgICBwYWdlUmVmPXt0aGlzLnBhZ2VSZWZ9XHJcbiAgICAgICAgICBwcm9wcz17cHJvcHN9XHJcbiAgICAgICAgICBlZGl0VHlwZT17dGhpcy5wcm9wcy5lZGl0VHlwZX1cclxuICAgICAgICAgIHsuLi5vdGhlclByb3BzfVxyXG4gICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7cmVuZGVyU2VsZlRvb2xCdXR0b24oe1xyXG4gICAgICAgICAgICBzZWxmQnV0dG9uLFxyXG4gICAgICAgICAgICBwYWdlUmVmOiB0aGlzLnBhZ2VSZWYsXHJcbiAgICAgICAgICAgIGZ1bmNzLFxyXG4gICAgICAgICAgICBsb2FkaW5nOiB0aGlzLnN0YXRlLmJ1dHRvbkxvYWRpbmcsXHJcbiAgICAgICAgICAgIHR5cGU6IFwiZm9ybUJ1dHRvblwiLFxyXG4gICAgICAgICAgfSl9XHJcbiAgICAgICAgPC9Gb3JtUGFnZT5cclxuICAgICAgKTtcclxuICAgIH07XHJcbiAgICBpZiAodGhpcy5wcm9wcy5mb3JtVHlwZSA9PSBcInBhZ2VcIikge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbHMoXCJuc2Mtc2V0dGluZy1mb3JtcGFnZVwiLCBjbGFzc05hbWUpfT5cclxuICAgICAgICAgIHtwYWdlTG9hZGluZyA/IChcclxuICAgICAgICAgICAgPGRpdiBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIsIGhlaWdodDogXCIxMDAlXCIgfX0+XHJcbiAgICAgICAgICAgICAgPFNwaW4gc3Bpbm5pbmc9e3BhZ2VMb2FkaW5nfT48L1NwaW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgcmVuZGVyRm9ybSgpXHJcbiAgICAgICAgICApfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHJlbmRlckZvcm0oKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBRUEsT0FBT0EsSUFBSSxNQUFNLGlCQUFpQjtBQUNsQyxPQUFPLGNBQWM7QUFDckIsT0FBT0MsS0FBSyxN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
|
|
279
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTcGluIiwiUmVhY3QiLCJOc2NSZXF1ZXN0IiwiY2xzIiwiRm9ybVBhZ2UiLCJkZWZhdWx0Q29tRnVuY3MiLCJkZWZhdWx0VXRpbCIsInJlbmRlclNlbGZUb29sQnV0dG9uIiwiZ2V0UGFnZURhdGEiLCJwYXJhbXMiLCJzZXR0aW5nU291cmNlIiwidXJsIiwiZ2V0IiwieHNzRmlsdGVyIiwiYXV0b1ByZWZpeCIsInNldEZpZWxkRGlzYWJsZWQiLCJkYXRhIiwia2V5IiwiZGlzYWJsZWQiLCJmb21zIiwibmV3Rm9ybXMiLCJtYXAiLCJpdGVtIiwib2JqIiwiX29iamVjdFNwcmVhZCIsIm5hbWUiLCJpbmRleE9mIiwicHJvcHMiLCJwdXNoIiwic2V0RmllbGRWaXNpYmxlIiwidmlzaWJsZSIsInNob3ciLCJzZXRGaWVsZFByb3BzRGF0YSIsInByb3BzRGF0YSIsImZvcm1zIiwiZGF0YUluZGV4IiwiZGVmYXVsdFN0YXRlVmFsdWUiLCJmb3JtVHlwZSIsInBhZ2VMb2FkaW5nIiwic2VsZkJ1dHRvbiIsIm90aGVyUHJvcHMiLCJidXR0b25Mb2FkaW5nIiwiZ2V0Rm9ybVNldHRpbmciLCJKU09OIiwicGFyc2UiLCJzZWxmRm9ybUJ1dHRvbiIsImZvcm1TZXR0aW5nIiwiU2V0dGluZ0Zvcm0iLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsImFyZ3VtZW50cyIsIl9kZWZpbmVQcm9wZXJ0eSIsImNyZWF0ZVJlZiIsInJlcyIsImNvbXBvbmVudERpZE1vdW50IiwiZ2V0RGF0YSIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsInByZXZTdGF0ZSIsInNuYXBzaG90IiwiZm9ybUNvZGUiLCJzZXRTdGF0ZSIsInB1Ymxpc2hlZCIsIm1lbnVDb2RlIiwiY29kZSIsImlzUHVibGlzaGVkIiwidGhlbiIsImZvcm1Qcm9wcyIsIl9tZXNzYWdlIiwiZXJyb3IiLCJzaG93Rm9ybSIsInZhbHVlIiwiZWRpdG9yZmxhZyIsImNhbGxCYWNrIiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50IiwicGFnZVJlZiIsImN1cnJlbnQiLCJoaWRlRm9ybSIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDIiLCJyZW5kZXIiLCJfdGhpcyRwcm9wcyIsImNsYXNzTmFtZSIsImZ1bmNzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwic3RhdGUiLCJyZXF1ZXN0T2JqZWN0IiwiX3RoaXMiLCJkZWF1bHRGdW5jcyIsIm5ld0RhdGEiLCJzZXRCdXR0b25Mb2FkaW5nIiwibG9hZGluZyIsImNoaWxkcmVuIiwiY29kZUZvcm1CdXR0b25zIiwiQXJyYXkiLCJpc0FycmF5IiwiY2hpbGQiLCJyZW5kZXJGb3JtIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIiwiVXRpbHMiLCJyZWYiLCJlZGl0VHlwZSIsInR5cGUiLCJzdHlsZSIsIndpZHRoIiwiaGVpZ2h0Iiwic3Bpbm5pbmciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wYWdlL1NldHRpbmdGb3JtL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3J3YXJkUmVmLCB1c2VFZmZlY3QsIHVzZUltcGVyYXRpdmVIYW5kbGUsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBCYXNlUGFnZSwgeyBOU0NCYXNlQmFnZVByb3BzIH0gZnJvbSBcIi4uL0Jhc2VQYWdlXCI7XHJcbmltcG9ydCBTcGluIGZyb20gXCIuLi8uLi9iYXNlL3NwaW5cIjtcclxuaW1wb3J0IFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IE5zY1JlcXVlc3QgZnJvbSBcIm5zYy1yZXF1ZXN0XCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IHsgbWVzc2FnZSB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBGb3JtUGFnZSBmcm9tIFwiLi4vRm9ybVBhZ2VcIjtcclxuaW1wb3J0IHtcclxuICBkZWZhdWx0Q29tRnVuY3MsXHJcbiAgZGVmYXVsdFV0aWwsXHJcbiAgcmVuZGVyU2VsZlRvb2xCdXR0b24sXHJcbn0gZnJvbSBcIi4uL1NldHRpbmdVdGlsL3V0aWxzXCI7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0UGFnZURhdGEgPSAocGFyYW1zOiBhbnksIHNldHRpbmdTb3VyY2UpID0+IHtcclxuICBsZXQgdXJsID1cclxuICAgIHNldHRpbmdTb3VyY2UgPT0gXCJ0YWJsZVwiXHJcbiAgICAgID8gXCIvanF1aWNrLXNldHRpbmcvc2V0dGluZy90YWJsZS9pbmZvL1wiXHJcbiAgICAgIDogXCIvanF1aWNrLXNldHRpbmcvc2V0dGluZy9mb3JtL2luZm9cIjtcclxuICByZXR1cm4gTnNjUmVxdWVzdC5nZXQodXJsLCB7XHJcbiAgICBwYXJhbXMsXHJcbiAgICB4c3NGaWx0ZXI6IGZhbHNlLFxyXG4gICAgYXV0b1ByZWZpeDogdHJ1ZSxcclxuICB9KTtcclxufTtcclxuXHJcbi8v6K6+572u6KGo5Y2V5a2X5q615Y+q6K+7XHJcbmNvbnN0IHNldEZpZWxkRGlzYWJsZWQgPSAoZGF0YTogQXJyYXk8YW55Piwga2V5LCBkaXNhYmxlZCkgPT4ge1xyXG4gIGNvbnN0IGZvbXMgPSBbLi4uZGF0YV07XHJcbiAgbGV0IG5ld0Zvcm1zID0gW10gYXMgYW55O1xyXG4gIGZvbXMubWFwKChpdGVtKSA9PiB7XHJcbiAgICBsZXQgb2JqID0geyAuLi5pdGVtIH07XHJcbiAgICBpZiAoaXRlbS5uYW1lID09IGtleSB8fCBrZXkuaW5kZXhPZihpdGVtLm5hbWUpID4gLTEpIHtcclxuICAgICAgbGV0IHByb3BzID0gb2JqLnByb3BzID8geyAuLi5vYmoucHJvcHMgfSA6IHt9O1xyXG4gICAgICBwcm9wcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xyXG4gICAgICBvYmoucHJvcHMgPSBwcm9wcztcclxuICAgIH1cclxuICAgIG5ld0Zvcm1zLnB1c2gob2JqKTtcclxuICB9KTtcclxuICByZXR1cm4gbmV3Rm9ybXM7XHJcbn07XHJcbi8v6K6+572u6KGo5Y2V5a2X5q616ZqQ6JePXHJcbmNvbnN0IHNldEZpZWxkVmlzaWJsZSA9IChkYXRhOiBBcnJheTxhbnk+LCBrZXksIHZpc2libGUpID0+IHtcclxuICBjb25zdCBmb21zID0gWy4uLmRhdGFdO1xyXG4gIGxldCBuZXdGb3JtcyA9IFtdIGFzIGFueTtcclxuICBmb21zLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgbGV0IG9iaiA9IHsgLi4uaXRlbSB9O1xyXG4gICAgaWYgKGl0ZW0ubmFtZSA9PSBrZXkgfHwga2V5LmluZGV4T2YoaXRlbS5uYW1lKSA+IC0xKSB7XHJcbiAgICAgIG9iai5zaG93ID0gdmlzaWJsZTtcclxuICAgIH1cclxuICAgIG5ld0Zvcm1zLnB1c2gob2JqKTtcclxuICB9KTtcclxuICByZXR1cm4gbmV3Rm9ybXM7XHJcbn07XHJcblxyXG5jb25zdCBzZXRGaWVsZFByb3BzRGF0YSA9IChkYXRhOiBBcnJheTxhbnk+LCBrZXksIHByb3BzRGF0YSkgPT4ge1xyXG4gIGNvbnN0IGZvcm1zID0gWy4uLmRhdGFdO1xyXG4gIGxldCBuZXdGb3JtcyA9IFtdIGFzIGFueTtcclxuICBmb3Jtcy5tYXAoKGl0ZW0pID0+IHtcclxuICAgIGxldCBvYmogPSB7IC4uLml0ZW0gfTtcclxuICAgIGlmIChpdGVtLmRhdGFJbmRleCA9PSBrZXkpIHtcclxuICAgICAgbGV0IHByb3BzID0gb2JqLnByb3BzID8geyAuLi5vYmoucHJvcHMgfSA6IHt9O1xyXG4gICAgICBwcm9wcy5kYXRhID0gcHJvcHNEYXRhO1xyXG4gICAgICBvYmoucHJvcHMgPSBwcm9wcztcclxuICAgIH1cclxuICAgIG5ld0Zvcm1zLnB1c2gob2JqKTtcclxuICB9KTtcclxuICByZXR1cm4gbmV3Rm9ybXM7XHJcbn07XHJcbmludGVyZmFjZSBJUHJvcHMge1xyXG4gIGZvcm1Db2RlOiBzdHJpbmc7XHJcbiAgY2xhc3NOYW1lPzogYW55O1xyXG4gIG1lbnVDb2RlPzogc3RyaW5nO1xyXG4gIGZ1bmNzPzogYW55O1xyXG4gIHB1Ymxpc2hlZD86IGJvb2xlYW47XHJcbiAgaW5zdGFuY2VSZWY/OiBhbnk7XHJcbiAgb25DYWxsQmFja3M/OiB7XHJcbiAgICBvblN1bWJpdENhbGxCYWNrPzogYW55OyAvL+S/neWtmOWbnuiwg++8jOS/neWtmOaVsOaNruaIkOWKn+WQjuWbnuiwg1xyXG4gICAgb25BZGRDYWxsQmFjaz86IGFueTsgLy/mt7vliqDmjInpkq7lm57osIPvvIzmiZPlvIDlvLnmoYblkI7miafooYxcclxuICB9O1xyXG4gIGZvcm1Qcm9wcz86IGFueTtcclxuICBjaGlsZHJlbj86IGFueTtcclxuICBbcHJvcE5hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5jb25zdCBkZWZhdWx0U3RhdGVWYWx1ZSA9IHtcclxuICBmb3JtVHlwZTogXCJtb2RhbFwiLFxyXG4gIHBhZ2VMb2FkaW5nOiBmYWxzZSxcclxuICBzZWxmQnV0dG9uOiBbXSBhcyBhbnksXHJcbiAgcHJvcHM6IHt9IGFzIGFueSxcclxuICBvdGhlclByb3BzOiB7fSBhcyBhbnksXHJcbiAgZm9ybXM6IFtdIGFzIGFueSxcclxuICBidXR0b25Mb2FkaW5nOiB7fSBhcyBhbnksXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0Rm9ybVNldHRpbmcgPSAoZGF0YSkgPT4ge1xyXG4gIGxldCBmb3JtcyA9IEpTT04ucGFyc2UoZGF0YS5mb3JtcyB8fCBcIltdXCIpIHx8IFtdO1xyXG4gIGxldCBzZWxmRm9ybUJ1dHRvbiA9IEpTT04ucGFyc2UoZGF0YS5zZWxmQnV0dG9uIHx8IFwiW11cIikgfHwgW107XHJcbiAgbGV0IG90aGVyUHJvcHMgPSBKU09OLnBhcnNlKGRhdGEub3RoZXJQcm9wcyB8fCBcInt9XCIpIHx8IHt9O1xyXG4gIGxldCBmb3JtVHlwZSA9IGRhdGEuZm9ybVR5cGU7XHJcbiAgbGV0IHByb3BzID0gSlNPTi5wYXJzZShkYXRhLnByb3BzIHx8IFwie31cIikgfHwge307XHJcbiAgbGV0IGZvcm1TZXR0aW5nID0ge1xyXG4gICAgZm9ybVR5cGU6IGZvcm1UeXBlLFxyXG4gICAgc2VsZkJ1dHRvbjogc2VsZkZvcm1CdXR0b24sXHJcbiAgICBwcm9wczogcHJvcHMsXHJcbiAgICBvdGhlclByb3BzOiBvdGhlclByb3BzLFxyXG4gICAgZm9ybXM6IGZvcm1zLFxyXG4gIH07XHJcbiAgcmV0dXJuIGZvcm1TZXR0aW5nO1xyXG59O1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZXR0aW5nRm9ybSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJUHJvcHMsIGFueT4ge1xyXG4gIHN0YXRlID0ge1xyXG4gICAgLi4uZGVmYXVsdFN0YXRlVmFsdWUsXHJcbiAgfTtcclxuICBwYWdlUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldERhdGEoKTtcclxuICB9XHJcblxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShcclxuICAgIHByZXZQcm9wczogUmVhZG9ubHk8SVByb3BzPixcclxuICAgIHByZXZTdGF0ZTogUmVhZG9ubHk8YW55PixcclxuICAgIHNuYXBzaG90PzogYW55XHJcbiAgKTogdm9pZCB7XHJcbiAgICBpZiAocHJldlByb3BzLmZvcm1Db2RlICE9IHRoaXMucHJvcHMuZm9ybUNvZGUpIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAgICB7XHJcbiAgICAgICAgICAuLi5kZWZhdWx0U3RhdGVWYWx1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuZ2V0RGF0YSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGluaXREYXRhID0gKHJlczogYW55KSA9PiB7fTtcclxuICAvLyDojrflj5bmlbDmja5cclxuICBnZXREYXRhKCkge1xyXG4gICAgLy8g5LuOcHJvcHPkuK3ojrflj5Z0YWJsZUNvZGXjgIFwdWJsaXNoZWTjgIFtZW51Q29kZVxyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHBhZ2VMb2FkaW5nOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGZvcm1Db2RlLFxyXG4gICAgICBwdWJsaXNoZWQgPSB0cnVlLFxyXG4gICAgICBtZW51Q29kZSxcclxuICAgICAgc2V0dGluZ1NvdXJjZSA9IFwiZm9ybVwiLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAvLyDlpoLmnpx0YWJsZUNvZGXlrZjlnKhcclxuICAgIGlmIChmb3JtQ29kZSkge1xyXG4gICAgICAvLyDlrprkuYnlj4LmlbBcclxuICAgICAgbGV0IHBhcmFtcyA9IHsgY29kZTogZm9ybUNvZGUgfSBhcyBhbnk7XHJcbiAgICAgIC8vIOWmguaenHB1Ymxpc2hlZOS4unRydWVcclxuICAgICAgaWYgKHB1Ymxpc2hlZCkge1xyXG4gICAgICAgIC8vIOiuvue9ruWPguaVsGlzUHVibGlzaGVk5Li6MVxyXG4gICAgICAgIHBhcmFtcy5pc1B1Ymxpc2hlZCA9IDE7XHJcbiAgICAgIH1cclxuICAgICAgLy8g6LCD55SoZ2V0UGFnZURhdGHmlrnms5Xojrflj5bmlbDmja5cclxuICAgICAgZ2V0UGFnZURhdGEoeyAuLi5wYXJhbXMgfSwgc2V0dGluZ1NvdXJjZSkudGhlbigocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzLmNvZGUgPT0gMjAwICYmIHJlcy5kYXRhKSB7XHJcbiAgICAgICAgICBpZiAoc2V0dGluZ1NvdXJjZSA9PSBcInRhYmxlXCIpIHtcclxuICAgICAgICAgICAgbGV0IGZvcm1Qcm9wcyA9IEpTT04ucGFyc2UocmVzLmRhdGEuZm9ybVByb3BzIHx8IFwie31cIikgfHwge307XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgLi4uZm9ybVByb3BzLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgIHBhZ2VMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1TZXR0aW5nOiBhbnkgPSBnZXRGb3JtU2V0dGluZyhyZXMuZGF0YSkgfHwge307XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgLi4uZm9ybVNldHRpbmcsXHJcbiAgICAgICAgICAgICAgICBmb3JtVHlwZTogdGhpcy5wcm9wcy5mb3JtVHlwZSB8fCBmb3JtU2V0dGluZy5mb3JtVHlwZSxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICBwYWdlTG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmIChyZXMuY29kZSA9PSAyMDAgJiYgcmVzLmRhdGEgPT0gbnVsbCkge1xyXG4gICAgICAgICAgbWVzc2FnZS5lcnJvcihcIuacquaJvuWIsOmFjee9ruS/oeaBr++8gVwiKTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBwYWdlTG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHBhZ2VMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBwYWdlTG9hZGluZzogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyBvblNlYXJjaCgpIHt9XHJcblxyXG4gIHNob3dGb3JtKHZhbHVlOiBhbnksIGVkaXRvcmZsYWcsIGNhbGxCYWNrKSB7XHJcbiAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8uc2hvd0Zvcm0odmFsdWUsIGVkaXRvcmZsYWcsIGNhbGxCYWNrKTtcclxuICB9XHJcbiAgaGlkZUZvcm0oKSB7XHJcbiAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8uaGlkZUZvcm0oKTtcclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgY2xhc3NOYW1lLCBmdW5jcyA9IHt9LCAuLi5wYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHBhZ2VMb2FkaW5nLFxyXG4gICAgICBmb3JtVHlwZSxcclxuICAgICAgc2VsZkJ1dHRvbixcclxuICAgICAgcHJvcHMgPSB7fSxcclxuICAgICAgb3RoZXJQcm9wcyA9IHt9LFxyXG4gICAgICBmb3JtcyxcclxuICAgICAgYnV0dG9uTG9hZGluZyxcclxuICAgIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgeyByZXF1ZXN0T2JqZWN0ID0ge30gfSA9IG90aGVyUHJvcHM7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3QgZGVhdWx0RnVuY3MgPSB7XHJcbiAgICAgIHNldEZpZWxkRGlzYWJsZWQ6IChrZXksIGRpc2FibGVkKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0YSA9IHNldEZpZWxkRGlzYWJsZWQoZm9ybXMsIGtleSwgZGlzYWJsZWQpO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZm9ybXM6IG5ld0RhdGEsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIHNldEZpZWxkVmlzaWJsZTogKGtleSwgZGlzYWJsZWQpID0+IHtcclxuICAgICAgICBjb25zdCBuZXdEYXRhID0gc2V0RmllbGRWaXNpYmxlKGZvcm1zLCBrZXksIGRpc2FibGVkKTtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGZvcm1zOiBuZXdEYXRhLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICBzZXRGaWVsZFByb3BzRGF0YTogKGtleSwgZGF0YSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5ld0RhdGEgPSBzZXRGaWVsZFByb3BzRGF0YShmb3Jtcywga2V5LCBkYXRhKTtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGZvcm1zOiBuZXdEYXRhLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICBzZXRCdXR0b25Mb2FkaW5nKGNvZGUsIGxvYWRpbmcpIHtcclxuICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBidXR0b25Mb2FkaW5nOiB7IC4uLmJ1dHRvbkxvYWRpbmcsIFtjb2RlXTogbG9hZGluZyB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICAuLi5kZWZhdWx0Q29tRnVuY3MsXHJcbiAgICB9O1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuXHJcbiAgICBsZXQgY29kZUZvcm1CdXR0b25zID0gW107XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcclxuICAgICAgY2hpbGRyZW4ubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtKSkge1xyXG4gICAgICAgICAgaXRlbS5tYXAoKGNoaWxkKSA9PiB7XHJcbiAgICAgICAgICAgIGNvZGVGb3JtQnV0dG9ucy5wdXNoKGNoaWxkKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb2RlRm9ybUJ1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChjaGlsZHJlbikge1xyXG4gICAgICBjb2RlRm9ybUJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICB9XHJcbiAgICBjb25zdCByZW5kZXJGb3JtID0gKCkgPT4ge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxGb3JtUGFnZVxyXG4gICAgICAgICAgZm9ybVR5cGU9e2Zvcm1UeXBlfVxyXG4gICAgICAgICAgZm9ybXM9e2Zvcm1zfVxyXG4gICAgICAgICAgcmVxdWVzdE9iamVjdD17cmVxdWVzdE9iamVjdH1cclxuICAgICAgICAgIFV0aWxzPXtkZWZhdWx0VXRpbH1cclxuICAgICAgICAgIGZ1bmNzPXt7IC4uLmRlYXVsdEZ1bmNzLCAuLi5mdW5jcyB9fVxyXG4gICAgICAgICAgcmVmPXt0aGlzLnBhZ2VSZWZ9XHJcbiAgICAgICAgICBwYWdlUmVmPXt0aGlzLnBhZ2VSZWZ9XHJcbiAgICAgICAgICBwcm9wcz17cHJvcHN9XHJcbiAgICAgICAgICBlZGl0VHlwZT17dGhpcy5wcm9wcy5lZGl0VHlwZX1cclxuICAgICAgICAgIHsuLi5vdGhlclByb3BzfVxyXG4gICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7cmVuZGVyU2VsZlRvb2xCdXR0b24oe1xyXG4gICAgICAgICAgICBzZWxmQnV0dG9uLFxyXG4gICAgICAgICAgICBwYWdlUmVmOiB0aGlzLnBhZ2VSZWYsXHJcbiAgICAgICAgICAgIGZ1bmNzLFxyXG4gICAgICAgICAgICBsb2FkaW5nOiB0aGlzLnN0YXRlLmJ1dHRvbkxvYWRpbmcsXHJcbiAgICAgICAgICAgIHR5cGU6IFwiZm9ybUJ1dHRvblwiLFxyXG4gICAgICAgICAgfSl9XHJcbiAgICAgICAgPC9Gb3JtUGFnZT5cclxuICAgICAgKTtcclxuICAgIH07XHJcbiAgICBpZiAodGhpcy5wcm9wcy5mb3JtVHlwZSA9PSBcInBhZ2VcIikge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbHMoXCJuc2Mtc2V0dGluZy1mb3JtcGFnZVwiLCBjbGFzc05hbWUpfT5cclxuICAgICAgICAgIHtwYWdlTG9hZGluZyA/IChcclxuICAgICAgICAgICAgPGRpdiBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIsIGhlaWdodDogXCIxMDAlXCIgfX0+XHJcbiAgICAgICAgICAgICAgPFNwaW4gc3Bpbm5pbmc9e3BhZ2VMb2FkaW5nfT48L1NwaW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgcmVuZGVyRm9ybSgpXHJcbiAgICAgICAgICApfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHJlbmRlckZvcm0oKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBRUEsT0FBT0EsSUFBSSxNQUFNLGlCQUFpQjtBQUNsQyxPQUFPLGNBQWM7QUFDckIsT0FBT0MsS0FBSyxNQUFNLE9BQU87QUFDekIsT0FBT0MsVUFBVSxNQUFNLGFBQWE7QUFDcEMsT0FBT0MsR0FBRyxNQUFNLFlBQVk7QUFFNUIsT0FBT0MsUUFBUSxNQUFNLGFBQWE7QUFDbEMsU0FDRUMsZUFBZSxFQUNmQyxXQUFXLEVBQ1hDLG9CQUFvQixRQUNmLHNCQUFzQjtBQUU3QixPQUFPLE1BQU1DLFdBQVcsR0FBR0EsQ0FBQ0MsTUFBVyxFQUFFQyxhQUFhLEtBQUs7RUFDekQsSUFBSUMsR0FBRyxHQUNMRCxhQUFhLElBQUksT0FBTyxHQUNwQixxQ0FBcUMsR0FDckMsbUNBQW1DO0VBQ3pDLE9BQU9SLFVBQVUsQ0FBQ1UsR0FBRyxDQUFDRCxHQUFHLEVBQUU7SUFDekJGLE1BQU07SUFDTkksU0FBUyxFQUFFLEtBQUs7SUFDaEJDLFVBQVUsRUFBRTtFQUNkLENB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Spin","React","NscRequest","cls","FormPage","defaultComFuncs","defaultUtil","renderSelfToolButton","getPageData","params","settingSource","url","get","xssFilter","autoPrefix","setFieldDisabled","data","key","disabled","foms","newForms","map","item","obj","_objectSpread","name","indexOf","props","push","setFieldVisible","visible","show","setFieldPropsData","propsData","forms","dataIndex","defaultStateValue","formType","pageLoading","selfButton","otherProps","buttonLoading","getFormSetting","JSON","parse","selfFormButton","formSetting","SettingForm","Component","constructor","arguments","_defineProperty","createRef","res","componentDidMount","getData","componentDidUpdate","prevProps","prevState","snapshot","formCode","setState","published","menuCode","code","isPublished","then","formProps","_message","error","showForm","value","editorflag","callBack","_this$pageRef$current","pageRef","current","hideForm","_this$pageRef$current2","render","_this$props","className","funcs","_objectWithoutProperties","_excluded","state","requestObject","_this","deaultFuncs","newData","setButtonLoading","loading","children","codeFormButtons","Array","isArray","child","renderForm","createElement","_extends","Utils","ref","editType","type","style","width","height","spinning"],"sources":["../../../src/components/page/SettingForm/index.tsx"],"sourcesContent":["import { forwardRef, useEffect, useImperativeHandle, useState } from \"react\";\r\nimport BasePage, { NSCBaseBageProps } from \"../BasePage\";\r\nimport Spin from \"../../base/spin\";\r\nimport \"./index.less\";\r\nimport React from \"react\";\r\nimport NscRequest from \"nsc-request\";\r\nimport cls from \"classnames\";\r\nimport { message } from \"antd\";\r\nimport FormPage from \"../FormPage\";\r\nimport {\r\n defaultComFuncs,\r\n defaultUtil,\r\n renderSelfToolButton,\r\n} from \"../SettingUtil/utils\";\r\n\r\nexport const getPageData = (params: any, settingSource) => {\r\n let url =\r\n settingSource == \"table\"\r\n ? \"/jquick-setting/setting/table/info/\"\r\n : \"/jquick-setting/setting/form/info\";\r\n return NscRequest.get(url, {\r\n params,\r\n xssFilter: false,\r\n autoPrefix: true,\r\n });\r\n};\r\n\r\n//设置表单字段只读\r\nconst setFieldDisabled = (data: Array<any>, key, disabled) => {\r\n const foms = [...data];\r\n let newForms = [] as any;\r\n foms.map((item) => {\r\n let obj = { ...item };\r\n if (item.name == key || key.indexOf(item.name) > -1) {\r\n let props = obj.props ? { ...obj.props } : {};\r\n props.disabled = disabled;\r\n obj.props = props;\r\n }\r\n newForms.push(obj);\r\n });\r\n return newForms;\r\n};\r\n//设置表单字段隐藏\r\nconst setFieldVisible = (data: Array<any>, key, visible) => {\r\n const foms = [...data];\r\n let newForms = [] as any;\r\n foms.map((item) => {\r\n let obj = { ...item };\r\n if (item.name == key || key.indexOf(item.name) > -1) {\r\n obj.show = visible;\r\n }\r\n newForms.push(obj);\r\n });\r\n return newForms;\r\n};\r\n\r\nconst setFieldPropsData = (data: Array<any>, key, propsData) => {\r\n const forms = [...data];\r\n let newForms = [] as any;\r\n forms.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key) {\r\n let props = obj.props ? { ...obj.props } : {};\r\n props.data = propsData;\r\n obj.props = props;\r\n }\r\n newForms.push(obj);\r\n });\r\n return newForms;\r\n};\r\ninterface IProps {\r\n formCode: string;\r\n className?: any;\r\n menuCode?: string;\r\n funcs?: any;\r\n published?: boolean;\r\n instanceRef?: any;\r\n onCallBacks?: {\r\n treeSelectCallBack?: any; //树点击查询后回调\r\n onQueryCallBack?: any; //查询回调,查询数据后回调\r\n onSumbitCallBack?: any; //保存回调,保存数据成功后回调\r\n onDeleteCallBack?: any; //删除按钮回调,删除数据后执行\r\n onEditorCallBack?: any; //编辑按钮回调,打开弹框后执行\r\n onAddCallBack?: any; //添加按钮回调,打开弹框后执行\r\n onSearchCallBack?: any; //列表查询按钮回调,打开弹框后执行\r\n };\r\n formProps?: any;\r\n children?: any;\r\n [propName: string]: any;\r\n}\r\nconst defaultStateValue = {\r\n formType: \"modal\",\r\n pageLoading: false,\r\n selfButton: [] as any,\r\n props: {} as any,\r\n otherProps: {} as any,\r\n forms: [] as any,\r\n buttonLoading: {} as any,\r\n};\r\n\r\nexport const getFormSetting = (data) => {\r\n let forms = JSON.parse(data.forms || \"[]\") || [];\r\n let selfFormButton = JSON.parse(data.selfButton || \"[]\") || [];\r\n let otherProps = JSON.parse(data.otherProps || \"{}\") || {};\r\n let formType = data.formType;\r\n let props = JSON.parse(data.props || \"{}\") || {};\r\n let formSetting = {\r\n formType: formType,\r\n selfButton: selfFormButton,\r\n props: props,\r\n otherProps: otherProps,\r\n forms: forms,\r\n };\r\n return formSetting;\r\n};\r\nexport default class SettingForm extends React.Component<IProps, any> {\r\n state = {\r\n ...defaultStateValue,\r\n };\r\n pageRef = React.createRef<any>();\r\n\r\n componentDidMount(): void {\r\n this.getData();\r\n }\r\n\r\n componentDidUpdate(\r\n prevProps: Readonly<IProps>,\r\n prevState: Readonly<any>,\r\n snapshot?: any\r\n ): void {\r\n if (prevProps.formCode != this.props.formCode) {\r\n this.setState(\r\n {\r\n ...defaultStateValue,\r\n },\r\n () => {\r\n this.getData();\r\n }\r\n );\r\n }\r\n }\r\n\r\n initData = (res: any) => {};\r\n // 获取数据\r\n getData() {\r\n // 从props中获取tableCode、published、menuCode\r\n this.setState({\r\n pageLoading: true,\r\n });\r\n const {\r\n formCode,\r\n published = true,\r\n menuCode,\r\n settingSource = \"form\",\r\n } = this.props;\r\n // 如果tableCode存在\r\n if (formCode) {\r\n // 定义参数\r\n let params = { code: formCode } as any;\r\n // 如果published为true\r\n if (published) {\r\n // 设置参数isPublished为1\r\n params.isPublished = 1;\r\n }\r\n // 调用getPageData方法获取数据\r\n getPageData({ ...params }, settingSource).then((res: any) => {\r\n if (res.code == 200 && res.data) {\r\n if (settingSource == \"table\") {\r\n let formProps = JSON.parse(res.data.formProps || \"{}\") || {};\r\n this.setState(\r\n {\r\n ...formProps,\r\n },\r\n () => {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n );\r\n } else {\r\n const formSetting: any = getFormSetting(res.data) || {};\r\n this.setState(\r\n {\r\n ...formSetting,\r\n formType: this.props.formType || formSetting.formType,\r\n },\r\n () => {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n );\r\n }\r\n } else if (res.code == 200 && res.data == null) {\r\n message.error(\"未找到配置信息!\");\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n } else {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n });\r\n } else {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n }\r\n // onSearch() {}\r\n\r\n showForm(value: any, editorflag, callBack) {\r\n this.pageRef.current?.showForm(value, editorflag, callBack);\r\n }\r\n hideForm() {\r\n this.pageRef.current?.hideForm();\r\n }\r\n\r\n render() {\r\n const { className, funcs = {}, ...params } = this.props;\r\n const {\r\n pageLoading,\r\n formType,\r\n selfButton,\r\n props = {},\r\n otherProps = {},\r\n forms,\r\n buttonLoading,\r\n } = this.state;\r\n const { requestObject = {} } = otherProps;\r\n let _this = this;\r\n const deaultFuncs = {\r\n setFieldDisabled: (key, disabled) => {\r\n const newData = setFieldDisabled(forms, key, disabled);\r\n this.setState({\r\n forms: newData,\r\n });\r\n },\r\n setFieldVisible: (key, disabled) => {\r\n const newData = setFieldVisible(forms, key, disabled);\r\n this.setState({\r\n forms: newData,\r\n });\r\n },\r\n setFieldPropsData: (key, data) => {\r\n const newData = setFieldPropsData(forms, key, data);\r\n this.setState({\r\n forms: newData,\r\n });\r\n },\r\n setButtonLoading(code, loading) {\r\n _this.setState({\r\n buttonLoading: { ...buttonLoading, [code]: loading },\r\n });\r\n },\r\n ...defaultComFuncs,\r\n };\r\n const { children } = this.props;\r\n\r\n let codeFormButtons = [];\r\n if (Array.isArray(children)) {\r\n children.map((item: any) => {\r\n if (Array.isArray(item)) {\r\n item.map((child) => {\r\n codeFormButtons.push(child);\r\n });\r\n } else {\r\n codeFormButtons.push(item);\r\n }\r\n });\r\n } else if (children) {\r\n codeFormButtons.push(children);\r\n }\r\n const renderForm = () => {\r\n return (\r\n <FormPage\r\n formType={formType}\r\n forms={forms}\r\n requestObject={requestObject}\r\n Utils={defaultUtil}\r\n funcs={{ ...deaultFuncs, ...funcs }}\r\n ref={this.pageRef}\r\n pageRef={this.pageRef}\r\n props={props}\r\n editType={this.props.editType}\r\n {...otherProps}\r\n {...params}\r\n >\r\n {renderSelfToolButton({\r\n selfButton,\r\n pageRef: this.pageRef,\r\n funcs,\r\n loading: this.state.buttonLoading,\r\n type: \"formButton\",\r\n })}\r\n </FormPage>\r\n );\r\n };\r\n if (this.props.formType == \"page\") {\r\n return (\r\n <div className={cls(\"nsc-setting-formpage\", className)}>\r\n {pageLoading ? (\r\n <div style={{ width: \"100%\", height: \"100%\" }}>\r\n <Spin spinning={pageLoading}></Spin>\r\n </div>\r\n ) : (\r\n renderForm()\r\n )}\r\n </div>\r\n );\r\n } else {\r\n return renderForm();\r\n }\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["Spin","React","NscRequest","cls","FormPage","defaultComFuncs","defaultUtil","renderSelfToolButton","getPageData","params","settingSource","url","get","xssFilter","autoPrefix","setFieldDisabled","data","key","disabled","foms","newForms","map","item","obj","_objectSpread","name","indexOf","props","push","setFieldVisible","visible","show","setFieldPropsData","propsData","forms","dataIndex","defaultStateValue","formType","pageLoading","selfButton","otherProps","buttonLoading","getFormSetting","JSON","parse","selfFormButton","formSetting","SettingForm","Component","constructor","arguments","_defineProperty","createRef","res","componentDidMount","getData","componentDidUpdate","prevProps","prevState","snapshot","formCode","setState","published","menuCode","code","isPublished","then","formProps","_message","error","showForm","value","editorflag","callBack","_this$pageRef$current","pageRef","current","hideForm","_this$pageRef$current2","render","_this$props","className","funcs","_objectWithoutProperties","_excluded","state","requestObject","_this","deaultFuncs","newData","setButtonLoading","loading","children","codeFormButtons","Array","isArray","child","renderForm","createElement","_extends","Utils","ref","editType","type","style","width","height","spinning"],"sources":["../../../src/components/page/SettingForm/index.tsx"],"sourcesContent":["import { forwardRef, useEffect, useImperativeHandle, useState } from \"react\";\r\nimport BasePage, { NSCBaseBageProps } from \"../BasePage\";\r\nimport Spin from \"../../base/spin\";\r\nimport \"./index.less\";\r\nimport React from \"react\";\r\nimport NscRequest from \"nsc-request\";\r\nimport cls from \"classnames\";\r\nimport { message } from \"antd\";\r\nimport FormPage from \"../FormPage\";\r\nimport {\r\n defaultComFuncs,\r\n defaultUtil,\r\n renderSelfToolButton,\r\n} from \"../SettingUtil/utils\";\r\n\r\nexport const getPageData = (params: any, settingSource) => {\r\n let url =\r\n settingSource == \"table\"\r\n ? \"/jquick-setting/setting/table/info/\"\r\n : \"/jquick-setting/setting/form/info\";\r\n return NscRequest.get(url, {\r\n params,\r\n xssFilter: false,\r\n autoPrefix: true,\r\n });\r\n};\r\n\r\n//设置表单字段只读\r\nconst setFieldDisabled = (data: Array<any>, key, disabled) => {\r\n const foms = [...data];\r\n let newForms = [] as any;\r\n foms.map((item) => {\r\n let obj = { ...item };\r\n if (item.name == key || key.indexOf(item.name) > -1) {\r\n let props = obj.props ? { ...obj.props } : {};\r\n props.disabled = disabled;\r\n obj.props = props;\r\n }\r\n newForms.push(obj);\r\n });\r\n return newForms;\r\n};\r\n//设置表单字段隐藏\r\nconst setFieldVisible = (data: Array<any>, key, visible) => {\r\n const foms = [...data];\r\n let newForms = [] as any;\r\n foms.map((item) => {\r\n let obj = { ...item };\r\n if (item.name == key || key.indexOf(item.name) > -1) {\r\n obj.show = visible;\r\n }\r\n newForms.push(obj);\r\n });\r\n return newForms;\r\n};\r\n\r\nconst setFieldPropsData = (data: Array<any>, key, propsData) => {\r\n const forms = [...data];\r\n let newForms = [] as any;\r\n forms.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key) {\r\n let props = obj.props ? { ...obj.props } : {};\r\n props.data = propsData;\r\n obj.props = props;\r\n }\r\n newForms.push(obj);\r\n });\r\n return newForms;\r\n};\r\ninterface IProps {\r\n formCode: string;\r\n className?: any;\r\n menuCode?: string;\r\n funcs?: any;\r\n published?: boolean;\r\n instanceRef?: any;\r\n onCallBacks?: {\r\n onSumbitCallBack?: any; //保存回调,保存数据成功后回调\r\n onAddCallBack?: any; //添加按钮回调,打开弹框后执行\r\n };\r\n formProps?: any;\r\n children?: any;\r\n [propName: string]: any;\r\n}\r\nconst defaultStateValue = {\r\n formType: \"modal\",\r\n pageLoading: false,\r\n selfButton: [] as any,\r\n props: {} as any,\r\n otherProps: {} as any,\r\n forms: [] as any,\r\n buttonLoading: {} as any,\r\n};\r\n\r\nexport const getFormSetting = (data) => {\r\n let forms = JSON.parse(data.forms || \"[]\") || [];\r\n let selfFormButton = JSON.parse(data.selfButton || \"[]\") || [];\r\n let otherProps = JSON.parse(data.otherProps || \"{}\") || {};\r\n let formType = data.formType;\r\n let props = JSON.parse(data.props || \"{}\") || {};\r\n let formSetting = {\r\n formType: formType,\r\n selfButton: selfFormButton,\r\n props: props,\r\n otherProps: otherProps,\r\n forms: forms,\r\n };\r\n return formSetting;\r\n};\r\nexport default class SettingForm extends React.Component<IProps, any> {\r\n state = {\r\n ...defaultStateValue,\r\n };\r\n pageRef = React.createRef<any>();\r\n\r\n componentDidMount(): void {\r\n this.getData();\r\n }\r\n\r\n componentDidUpdate(\r\n prevProps: Readonly<IProps>,\r\n prevState: Readonly<any>,\r\n snapshot?: any\r\n ): void {\r\n if (prevProps.formCode != this.props.formCode) {\r\n this.setState(\r\n {\r\n ...defaultStateValue,\r\n },\r\n () => {\r\n this.getData();\r\n }\r\n );\r\n }\r\n }\r\n\r\n initData = (res: any) => {};\r\n // 获取数据\r\n getData() {\r\n // 从props中获取tableCode、published、menuCode\r\n this.setState({\r\n pageLoading: true,\r\n });\r\n const {\r\n formCode,\r\n published = true,\r\n menuCode,\r\n settingSource = \"form\",\r\n } = this.props;\r\n // 如果tableCode存在\r\n if (formCode) {\r\n // 定义参数\r\n let params = { code: formCode } as any;\r\n // 如果published为true\r\n if (published) {\r\n // 设置参数isPublished为1\r\n params.isPublished = 1;\r\n }\r\n // 调用getPageData方法获取数据\r\n getPageData({ ...params }, settingSource).then((res: any) => {\r\n if (res.code == 200 && res.data) {\r\n if (settingSource == \"table\") {\r\n let formProps = JSON.parse(res.data.formProps || \"{}\") || {};\r\n this.setState(\r\n {\r\n ...formProps,\r\n },\r\n () => {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n );\r\n } else {\r\n const formSetting: any = getFormSetting(res.data) || {};\r\n this.setState(\r\n {\r\n ...formSetting,\r\n formType: this.props.formType || formSetting.formType,\r\n },\r\n () => {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n );\r\n }\r\n } else if (res.code == 200 && res.data == null) {\r\n message.error(\"未找到配置信息!\");\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n } else {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n });\r\n } else {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n }\r\n // onSearch() {}\r\n\r\n showForm(value: any, editorflag, callBack) {\r\n this.pageRef.current?.showForm(value, editorflag, callBack);\r\n }\r\n hideForm() {\r\n this.pageRef.current?.hideForm();\r\n }\r\n\r\n render() {\r\n const { className, funcs = {}, ...params } = this.props;\r\n const {\r\n pageLoading,\r\n formType,\r\n selfButton,\r\n props = {},\r\n otherProps = {},\r\n forms,\r\n buttonLoading,\r\n } = this.state;\r\n const { requestObject = {} } = otherProps;\r\n let _this = this;\r\n const deaultFuncs = {\r\n setFieldDisabled: (key, disabled) => {\r\n const newData = setFieldDisabled(forms, key, disabled);\r\n this.setState({\r\n forms: newData,\r\n });\r\n },\r\n setFieldVisible: (key, disabled) => {\r\n const newData = setFieldVisible(forms, key, disabled);\r\n this.setState({\r\n forms: newData,\r\n });\r\n },\r\n setFieldPropsData: (key, data) => {\r\n const newData = setFieldPropsData(forms, key, data);\r\n this.setState({\r\n forms: newData,\r\n });\r\n },\r\n setButtonLoading(code, loading) {\r\n _this.setState({\r\n buttonLoading: { ...buttonLoading, [code]: loading },\r\n });\r\n },\r\n ...defaultComFuncs,\r\n };\r\n const { children } = this.props;\r\n\r\n let codeFormButtons = [];\r\n if (Array.isArray(children)) {\r\n children.map((item: any) => {\r\n if (Array.isArray(item)) {\r\n item.map((child) => {\r\n codeFormButtons.push(child);\r\n });\r\n } else {\r\n codeFormButtons.push(item);\r\n }\r\n });\r\n } else if (children) {\r\n codeFormButtons.push(children);\r\n }\r\n const renderForm = () => {\r\n return (\r\n <FormPage\r\n formType={formType}\r\n forms={forms}\r\n requestObject={requestObject}\r\n Utils={defaultUtil}\r\n funcs={{ ...deaultFuncs, ...funcs }}\r\n ref={this.pageRef}\r\n pageRef={this.pageRef}\r\n props={props}\r\n editType={this.props.editType}\r\n {...otherProps}\r\n {...params}\r\n >\r\n {renderSelfToolButton({\r\n selfButton,\r\n pageRef: this.pageRef,\r\n funcs,\r\n loading: this.state.buttonLoading,\r\n type: \"formButton\",\r\n })}\r\n </FormPage>\r\n );\r\n };\r\n if (this.props.formType == \"page\") {\r\n return (\r\n <div className={cls(\"nsc-setting-formpage\", className)}>\r\n {pageLoading ? (\r\n <div style={{ width: \"100%\", height: \"100%\" }}>\r\n <Spin spinning={pageLoading}></Spin>\r\n </div>\r\n ) : (\r\n renderForm()\r\n )}\r\n </div>\r\n );\r\n } else {\r\n return renderForm();\r\n }\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ import React from "react";
|
|
|
16
16
|
import NscRequest from "nsc-request";
|
|
17
17
|
import cls from "classnames";
|
|
18
18
|
import { defaultComFuncs, defaultUtil, ModalForm, renderSelfColumnButton, renderSelfToolButton, ModalManager } from "../SettingUtil/utils";
|
|
19
|
+
import { deepMerge } from "../../utils";
|
|
19
20
|
const getPageData = params => {
|
|
20
21
|
return NscRequest.get("/jquick-setting/setting/table/info/", {
|
|
21
22
|
params,
|
|
@@ -380,6 +381,8 @@ export default class SettingTable extends React.Component {
|
|
|
380
381
|
codeFormButtons.push(children);
|
|
381
382
|
}
|
|
382
383
|
}
|
|
384
|
+
let newTableProps = deepMerge(_objectSpread({}, tableProps), _objectSpread({}, settingTableProps));
|
|
385
|
+
let newTreeProps = deepMerge(_objectSpread({}, treeProps), _objectSpread({}, settingTreeProps));
|
|
383
386
|
return /*#__PURE__*/React.createElement("div", {
|
|
384
387
|
className: cls("nsc-framework-tablepage", className)
|
|
385
388
|
}, pageLoading ? /*#__PURE__*/React.createElement("div", {
|
|
@@ -390,8 +393,8 @@ export default class SettingTable extends React.Component {
|
|
|
390
393
|
}, /*#__PURE__*/React.createElement(Spin, {
|
|
391
394
|
spinning: pageLoading
|
|
392
395
|
})) : /*#__PURE__*/React.createElement(BasePage, _extends({}, pageProps, {
|
|
393
|
-
treeProps: _objectSpread(
|
|
394
|
-
tableProps: _objectSpread(
|
|
396
|
+
treeProps: _objectSpread({}, newTreeProps),
|
|
397
|
+
tableProps: _objectSpread({}, newTableProps),
|
|
395
398
|
formProps: {},
|
|
396
399
|
Utils: _objectSpread({}, defaultUtil),
|
|
397
400
|
ref: this.pageRef,
|
|
@@ -407,10 +410,10 @@ export default class SettingTable extends React.Component {
|
|
|
407
410
|
},
|
|
408
411
|
funcs: _objectSpread(_objectSpread({}, deaultFuncs), funcs),
|
|
409
412
|
initData: this.initData,
|
|
410
|
-
formPageProps: {
|
|
413
|
+
formPageProps: _objectSpread({
|
|
411
414
|
formType: formPageProps.formType || "modal",
|
|
412
415
|
props: formPageProps === null || formPageProps === void 0 ? void 0 : formPageProps.props
|
|
413
|
-
},
|
|
416
|
+
}, formPageProps === null || formPageProps === void 0 ? void 0 : formPageProps.otherProps),
|
|
414
417
|
tableCode: this.props.tableCode
|
|
415
418
|
}, otherProps), renderSelfToolButton({
|
|
416
419
|
selfButton: selfToolButton,
|
|
@@ -438,4 +441,4 @@ export default class SettingTable extends React.Component {
|
|
|
438
441
|
}));
|
|
439
442
|
}
|
|
440
443
|
}
|
|
441
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlUGFnZSIsIlNwaW4iLCJSZWFjdCIsIk5zY1JlcXVlc3QiLCJjbHMiLCJkZWZhdWx0Q29tRnVuY3MiLCJkZWZhdWx0VXRpbCIsIk1vZGFsRm9ybSIsInJlbmRlclNlbGZDb2x1bW5CdXR0b24iLCJyZW5kZXJTZWxmVG9vbEJ1dHRvbiIsIk1vZGFsTWFuYWdlciIsImdldFBhZ2VEYXRhIiwicGFyYW1zIiwiZ2V0IiwieHNzRmlsdGVyIiwiYXV0b1ByZWZpeCIsInNldEZpZWxkRGlzYWJsZWQiLCJkYXRhIiwia2V5IiwiZGlzYWJsZWQiLCJjb2x1bW5zIiwibmV3Q29sdW1ucyIsIm1hcCIsIml0ZW0iLCJvYmoiLCJfb2JqZWN0U3ByZWFkIiwiZGF0YUluZGV4IiwiaW5kZXhPZiIsInByb3BzIiwicHVzaCIsInNldEZpZWxkVmlzaWJsZSIsInZpc2libGUiLCJlZGl0b3IiLCJzZXRGaWVsZFByb3BzRGF0YSIsInByb3BzRGF0YSIsImRlZmF1bHRTdGF0ZVZhbHVlIiwicGFnZVByb3BzIiwidHJlZVByb3BzIiwic3RvcmUiLCJ1cmwiLCJhdXRvTG9hZCIsInRhYmxlUHJvcHMiLCJzZWxmVG9vbEJ1dHRvbiIsInNlbGZDb2x1bW5CdXR0b24iLCJzZWxmRm9ybUJ1dHRvbiIsInBhZ2VMb2FkaW5nIiwiZGVmYXVsdENvbHVtbnMiLCJvdGhlclByb3BzIiwiYnV0dG9uTG9hZGluZyIsImZvcm1QYWdlUHJvcHMiLCJTZXR0aW5nVGFibGUiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsImFyZ3VtZW50cyIsIl9kZWZpbmVQcm9wZXJ0eSIsImNyZWF0ZVJlZiIsInJlcyIsInN0YXRlIiwic2hvd1NlYXJjaCIsImRlZmF1bHRTZWFyY2giLCJ0YWJsZURhdGFSZXNvdXJjZSIsImZ1bmMiLCJGdW5jdGlvbiIsInBhZ2VSZWYiLCJzZXRUaW1lb3V0IiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50IiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50MiIsImN1cnJlbnQiLCJ0YWJsZUxvYWQiLCJzZXRTZWFyY2hQYXJhbXMiLCJjb21wb25lbnREaWRNb3VudCIsImdldERhdGEiLCJyZWdpc3RlciIsIm1vZGFsUmVmIiwiY29tcG9uZW50RGlkVXBkYXRlIiwicHJldlByb3BzIiwicHJldlN0YXRlIiwic25hcHNob3QiLCJ0YWJsZUNvZGUiLCJzZXRTdGF0ZSIsInB1Ymxpc2hlZCIsIm1lbnVDb2RlIiwidGFiUGFyYW1zIiwiY29kZSIsImlzUHVibGlzaGVkIiwidGhlbiIsIl9wYWdlX3Byb3BzJHBlcm1pc3NpbyIsInRhYmxlX3Byb3BzIiwiSlNPTiIsInBhcnNlIiwidHJlZV9wcm9wcyIsInBhZ2VfcHJvcHMiLCJvdGhlcl9wcm9wcyIsIm90aGVyUGFyYW1zIiwiZm9ybV9wcm9wcyIsImZvcm1Qcm9wcyIsInBlcm1pc3Npb24iLCJoYXMiLCJVdGlscyIsInBhcmFtRnVuYyIsImNvbnZlclRhYlBhcmFtcyIsInJlcXVlc3RQYXJhbXMiLCJuZXdSZXF1ZXN0UGFyYW1zIiwicXVlcnlQYXJhbXMiLCJhZGRQYXJhbXMiLCJlZGl0b3JQYXJhbXMiLCJjb252ZXJQYXJhbXMiLCJvdGhlciIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsIl9leGNsdWRlZCIsIm5ld1BhcmFtcyIsImNvbHVtbkJ1dHRvbnMiLCJ0b29sQnV0dG9ucyIsInNlbGZCdXR0b24iLCJfbWVzc2FnZSIsImVycm9yIiwiZ2V0U2VhcmNoVmFsdWVzIiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50MyIsInZhbHVlIiwiY2FsbEJhY2siLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQ0IiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50NSIsInJlcXVlc3RDb25maWciLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJ0YWJsZVJlbG9hZCIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDYiLCJnZXRTZWxlY3RlZFJvd0tleXMiLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQ3IiwiZ2V0U2VsZWN0ZWRSb3dEYXRhcyIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDgiLCJyZXNldFNlbGVjdGVkUm93S2V5cyIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDkiLCJyZW5kZXIiLCJjbGFzc05hbWUiLCJmdW5jcyIsImJhc2VQcm9wcyIsInNldHRpbmdUcmVlUHJvcHMiLCJzZXR0aW5nVGFibGVQcm9wcyIsIl9leGNsdWRlZDIiLCJfdGhpcyIsImRlYXVsdEZ1bmNzIiwibmV3RGF0YSIsInNldEJ1dHRvbkxvYWRpbmciLCJsb2FkaW5nIiwib3BlbkZvcm1Nb2RhbCIsInNob3dNb2RhbCIsImNoaWxkcmVuIiwiY29kZVNlbGZCdXR0b25zIiwiY29kZWNvbHVtbkJ1dHRvbnMiLCJjb2RlRm9ybUJ1dHRvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJjaGlsZCIsIl9jaGlsZCRwcm9wcyIsIl9jaGlsZCRwcm9wczIiLCJfY2hpbGQkcHJvcHMzIiwicGFnZVR5cGUiLCJfaXRlbSRwcm9wcyIsIl9pdGVtJHByb3BzMiIsIl9pdGVtJHByb3BzMyIsImNyZWF0ZUVsZW1lbnQiLCJzdHlsZSIsIndpZHRoIiwiaGVpZ2h0Iiwic3Bpbm5pbmciLCJfZXh0ZW5kcyIsInJlZiIsIm9uSGlkZUZvcm0iLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQxMCIsImhpZGVGb3JtIiwiaW5pdERhdGEiLCJmb3JtVHlwZSIsInR5cGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wYWdlL1NldHRpbmdUYWJsZS9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9yd2FyZFJlZiwgdXNlRWZmZWN0LCB1c2VJbXBlcmF0aXZlSGFuZGxlLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgQmFzZVBhZ2UsIHsgTlNDQmFzZUJhZ2VQcm9wcyB9IGZyb20gXCIuLi9CYXNlUGFnZVwiO1xyXG5pbXBvcnQgU3BpbiBmcm9tIFwiLi4vLi4vYmFzZS9zcGluXCI7XHJcbmltcG9ydCBCdXR0b24gZnJvbSBcIi4uLy4uL2Jhc2UvYnV0dG9uXCI7XHJcbmltcG9ydCBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBOc2NSZXF1ZXN0IGZyb20gXCJuc2MtcmVxdWVzdFwiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcbmltcG9ydCB7IG1lc3NhZ2UgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQge1xyXG4gIGRlZmF1bHRDb21GdW5jcyxcclxuICBkZWZhdWx0VXRpbCxcclxuICBNb2RhbEZvcm0sXHJcbiAgcmVuZGVyU2VsZkNvbHVtbkJ1dHRvbixcclxuICByZW5kZXJTZWxmVG9vbEJ1dHRvbixcclxuICBNb2RhbE1hbmFnZXIsXHJcbiAgT3BlblBhcm1zLFxyXG59IGZyb20gXCIuLi9TZXR0aW5nVXRpbC91dGlsc1wiO1xyXG5cclxuY29uc3QgZ2V0UGFnZURhdGEgPSAocGFyYW1zOiBhbnkpID0+IHtcclxuICByZXR1cm4gTnNjUmVxdWVzdC5nZXQoYC9qcXVpY2stc2V0dGluZy9zZXR0aW5nL3RhYmxlL2luZm8vYCwge1xyXG4gICAgcGFyYW1zLFxyXG4gICAgeHNzRmlsdGVyOiBmYWxzZSxcclxuICAgIGF1dG9QcmVmaXg6IHRydWUsXHJcbiAgfSk7XHJcbn07XHJcblxyXG4vL+iuvue9ruihqOWNleWtl+auteWPquivu1xyXG5jb25zdCBzZXRGaWVsZERpc2FibGVkID0gKGRhdGE6IEFycmF5PGFueT4sIGtleSwgZGlzYWJsZWQpID0+IHtcclxuICBjb25zdCBjb2x1bW5zID0gWy4uLmRhdGFdO1xyXG4gIGxldCBuZXdDb2x1bW5zID0gW10gYXMgYW55O1xyXG4gIGNvbHVtbnMubWFwKChpdGVtKSA9PiB7XHJcbiAgICBsZXQgb2JqID0geyAuLi5pdGVtIH07XHJcbiAgICBpZiAoaXRlbS5kYXRhSW5kZXggPT0ga2V5IHx8IGtleS5pbmRleE9mKGl0ZW0uZGF0YUluZGV4KSA+IC0xKSB7XHJcbiAgICAgIGxldCBwcm9wcyA9IG9iai5wcm9wcyA/IHsgLi4ub2JqLnByb3BzIH0gOiB7fTtcclxuICAgICAgcHJvcHMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcclxuICAgICAgb2JqLnByb3BzID0gcHJvcHM7XHJcbiAgICB9XHJcbiAgICBuZXdDb2x1bW5zLnB1c2gob2JqKTtcclxuICB9KTtcclxuICByZXR1cm4gbmV3Q29sdW1ucztcclxufTtcclxuLy/orr7nva7ooajljZXlrZfmrrXpmpDol49cclxuY29uc3Qgc2V0RmllbGRWaXNpYmxlID0gKGRhdGE6IEFycmF5PGFueT4sIGtleSwgdmlzaWJsZSkgPT4ge1xyXG4gIGNvbnN0IGNvbHVtbnMgPSBbLi4uZGF0YV07XHJcbiAgbGV0IG5ld0NvbHVtbnMgPSBbXSBhcyBhbnk7XHJcbiAgY29sdW1ucy5tYXAoKGl0ZW0pID0+IHtcclxuICAgIGxldCBvYmogPSB7IC4uLml0ZW0gfTtcclxuICAgIGlmIChpdGVtLmRhdGFJbmRleCA9PSBrZXkgfHwga2V5LmluZGV4T2YoaXRlbS5kYXRhSW5kZXgpID4gLTEpIHtcclxuICAgICAgb2JqLmVkaXRvciA9IHZpc2libGU7XHJcbiAgICB9XHJcbiAgICBuZXdDb2x1bW5zLnB1c2gob2JqKTtcclxuICB9KTtcclxuICByZXR1cm4gbmV3Q29sdW1ucztcclxufTtcclxuXHJcbmNvbnN0IHNldEZpZWxkUHJvcHNEYXRhID0gKGRhdGE6IEFycmF5PGFueT4sIGtleSwgcHJvcHNEYXRhKSA9PiB7XHJcbiAgY29uc3QgY29sdW1ucyA9IFsuLi5kYXRhXTtcclxuICBsZXQgbmV3Q29sdW1ucyA9IFtdIGFzIGFueTtcclxuICBjb2x1bW5zLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgbGV0IG9iaiA9IHsgLi4uaXRlbSB9O1xyXG4gICAgaWYgKGl0ZW0uZGF0YUluZGV4ID09IGtleSkge1xyXG4gICAgICBsZXQgcHJvcHMgPSBvYmoucHJvcHMgPyB7IC4uLm9iai5wcm9wcyB9IDoge307XHJcbiAgICAgIHByb3BzLmRhdGEgPSBwcm9wc0RhdGE7XHJcbiAgICAgIG9iai5wcm9wcyA9IHByb3BzO1xyXG4gICAgfVxyXG4gICAgbmV3Q29sdW1ucy5wdXNoKG9iaik7XHJcbiAgfSk7XHJcbiAgcmV0dXJuIG5ld0NvbHVtbnM7XHJcbn07XHJcbmludGVyZmFjZSBJUHJvcHMge1xyXG4gIHRhYmxlQ29kZTogc3RyaW5nO1xyXG4gIGNsYXNzTmFtZT86IGFueTtcclxuICBtZW51Q29kZT86IHN0cmluZztcclxuICBmdW5jcz86IGFueTtcclxuICBwdWJsaXNoZWQ/OiBib29sZWFuO1xyXG4gIGluc3RhbmNlUmVmPzogYW55O1xyXG4gIHRhYlBhcmFtcz86IGFueTtcclxuICBvbkNhbGxCYWNrcz86IHtcclxuICAgIHRyZWVTZWxlY3RDYWxsQmFjaz86IGFueTsgLy/moJHngrnlh7vmn6Xor6LlkI7lm57osINcclxuICAgIG9uUXVlcnlDYWxsQmFjaz86IGFueTsgLy/mn6Xor6Llm57osIPvvIzmn6Xor6LmlbDmja7lkI7lm57osINcclxuICAgIG9uU3VtYml0Q2FsbEJhY2s/OiBhbnk7IC8v5L+d5a2Y5Zue6LCD77yM5L+d5a2Y5pWw5o2u5oiQ5Yqf5ZCO5Zue6LCDXHJcbiAgICBvbkRlbGV0ZUNhbGxCYWNrPzogYW55OyAvL+WIoOmZpOaMiemSruWbnuiwg++8jOWIoOmZpOaVsOaNruWQjuaJp+ihjFxyXG4gICAgb25FZGl0b3JDYWxsQmFjaz86IGFueTsgLy/nvJbovpHmjInpkq7lm57osIPvvIzmiZPlvIDlvLnmoYblkI7miafooYxcclxuICAgIG9uQWRkQ2FsbEJhY2s/OiBhbnk7IC8v5re75Yqg5oyJ6ZKu5Zue6LCD77yM5omT5byA5by55qGG5ZCO5omn6KGMXHJcbiAgICBvblNlYXJjaENhbGxCYWNrPzogYW55OyAvL+WIl+ihqOafpeivouaMiemSruWbnuiwg++8jOaJk+W8gOW8ueahhuWQjuaJp+ihjFxyXG4gIH07XHJcbiAgYmFzZVByb3BzPzogTlNDQmFzZUJhZ2VQcm9wcztcclxuICBhdXRvTG9hZD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmNvbnN0IGRlZmF1bHRTdGF0ZVZhbHVlID0ge1xyXG4gIHBhZ2VQcm9wczoge30gYXMgYW55LFxyXG4gIHRyZWVQcm9wczogeyBzdG9yZTogeyB1cmw6IFwiXCIsIGF1dG9Mb2FkOiBmYWxzZSB9IH0gYXMgYW55LFxyXG4gIHRhYmxlUHJvcHM6IHt9IGFzIGFueSxcclxuICBzZWxmVG9vbEJ1dHRvbjogW10gYXMgYW55LFxyXG4gIHNlbGZDb2x1bW5CdXR0b246IFtdIGFzIGFueSxcclxuICBzZWxmRm9ybUJ1dHRvbjogW10gYXMgYW55LFxyXG4gIHBhZ2VMb2FkaW5nOiB0cnVlLFxyXG4gIGRlZmF1bHRDb2x1bW5zOiBbXSBhcyBhbnksXHJcbiAgb3RoZXJQcm9wczoge30gYXMgYW55LFxyXG4gIGJ1dHRvbkxvYWRpbmc6IHt9IGFzIGFueSxcclxuICBmb3JtUGFnZVByb3BzOiB7fSBhcyBhbnksXHJcbn07XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNldHRpbmdUYWJsZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJUHJvcHMsIGFueT4ge1xyXG4gIHN0YXRlID0ge1xyXG4gICAgLi4uZGVmYXVsdFN0YXRlVmFsdWUsXHJcbiAgfTtcclxuICBwYWdlUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBtb2RhbFJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcblxyXG4gIGNvbXBvbmVudERpZE1vdW50KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgICBNb2RhbE1hbmFnZXIucmVnaXN0ZXIodGhpcy5tb2RhbFJlZik7XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRVcGRhdGUoXHJcbiAgICBwcmV2UHJvcHM6IFJlYWRvbmx5PElQcm9wcz4sXHJcbiAgICBwcmV2U3RhdGU6IFJlYWRvbmx5PGFueT4sXHJcbiAgICBzbmFwc2hvdD86IGFueVxyXG4gICk6IHZvaWQge1xyXG4gICAgaWYgKHByZXZQcm9wcy50YWJsZUNvZGUgIT0gdGhpcy5wcm9wcy50YWJsZUNvZGUpIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAgICB7XHJcbiAgICAgICAgICAuLi5kZWZhdWx0U3RhdGVWYWx1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuZ2V0RGF0YSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGluaXREYXRhID0gKHJlczogYW55KSA9PiB7XHJcbiAgICBjb25zdCB7IG90aGVyUHJvcHMsIHBhZ2VQcm9wcyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChcclxuICAgICAgcGFnZVByb3BzLnNob3dTZWFyY2ggIT09IGZhbHNlICYmXHJcbiAgICAgIG90aGVyUHJvcHMuZGVmYXVsdFNlYXJjaCAmJlxyXG4gICAgICBvdGhlclByb3BzLnRhYmxlRGF0YVJlc291cmNlID09IFwidXJsXCJcclxuICAgICkge1xyXG4gICAgICBsZXQgZnVuYyA9IG5ldyBGdW5jdGlvbihcIlV0aWxzLGV2ZW50T3B0aW9uXCIsIG90aGVyUHJvcHMuZGVmYXVsdFNlYXJjaCk7XHJcbiAgICAgIGNvbnN0IHBhcmFtcyA9IGZ1bmMoZGVmYXVsdFV0aWwsIHsgcGFnZVJlZjogdGhpcy5wYWdlUmVmIH0pO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8udGFibGVMb2FkKHsgLi4ucGFyYW1zIH0pO1xyXG4gICAgICAgIHRoaXMucGFnZVJlZi5jdXJyZW50Py5zZXRTZWFyY2hQYXJhbXMoeyAuLi5wYXJhbXMgfSk7XHJcbiAgICAgIH0sIDUwKTsgLy/nm7TmjqXorr7nva7vvIxwYWdlUmVm5rKh57uR5a6a77yM5pqC5pe26YCa6L+H5bu26L+f5Ye95pWw6L+b6KGM6Kej5YazXHJcbiAgICB9XHJcbiAgfTtcclxuICAvLyDojrflj5bmlbDmja5cclxuICBnZXREYXRhKCkge1xyXG4gICAgLy8g5LuOcHJvcHPkuK3ojrflj5Z0YWJsZUNvZGXjgIFwdWJsaXNoZWTjgIFtZW51Q29kZVxyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHBhZ2VMb2FkaW5nOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCB7IHRhYmxlQ29kZSwgcHVibGlzaGVkID0gdHJ1ZSwgbWVudUNvZGUsIHRhYlBhcmFtcyB9ID0gdGhpcy5wcm9wcztcclxuICAgIC8vIOWmguaenHRhYmxlQ29kZeWtmOWcqFxyXG4gICAgaWYgKHRhYmxlQ29kZSkge1xyXG4gICAgICAvLyDlrprkuYnlj4LmlbBcclxuICAgICAgbGV0IHBhcmFtcyA9IHsgY29kZTogdGFibGVDb2RlIH0gYXMgYW55O1xyXG4gICAgICAvLyDlpoLmnpxwdWJsaXNoZWTkuLp0cnVlXHJcbiAgICAgIGlmIChwdWJsaXNoZWQpIHtcclxuICAgICAgICAvLyDorr7nva7lj4LmlbBpc1B1Ymxpc2hlZOS4ujFcclxuICAgICAgICBwYXJhbXMuaXNQdWJsaXNoZWQgPSAxO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIOiwg+eUqGdldFBhZ2VEYXRh5pa55rOV6I635Y+W5pWw5o2uXHJcbiAgICAgIGdldFBhZ2VEYXRhKHsgLi4ucGFyYW1zIH0pLnRoZW4oKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcy5jb2RlID09IDIwMCAmJiByZXMuZGF0YSkge1xyXG4gICAgICAgICAgbGV0IHRhYmxlX3Byb3BzID0gSlNPTi5wYXJzZShyZXMuZGF0YS50YWJsZVByb3BzIHx8IFwie31cIikgfHwge307XHJcbiAgICAgICAgICBsZXQgdHJlZV9wcm9wcyA9IEpTT04ucGFyc2UocmVzLmRhdGEudHJlZVByb3BzIHx8IFwie31cIikgfHwge307XHJcbiAgICAgICAgICBsZXQgcGFnZV9wcm9wcyA9IEpTT04ucGFyc2UocmVzLmRhdGEucGFnZVByb3BzIHx8IFwie31cIikgfHwge307XHJcbiAgICAgICAgICBsZXQgb3RoZXJfcHJvcHMgPSBKU09OLnBhcnNlKHJlcy5kYXRhLm90aGVyUGFyYW1zIHx8IFwie31cIikgfHwge307XHJcbiAgICAgICAgICBsZXQgZm9ybV9wcm9wcyA9IEpTT04ucGFyc2UocmVzLmRhdGEuZm9ybVByb3BzIHx8IFwie31cIikgfHwge307XHJcbiAgICAgICAgICBpZiAocGFnZV9wcm9wcy5wZXJtaXNzaW9uPy5oYXMgPT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICBwYWdlX3Byb3BzLnBlcm1pc3Npb24ubWVudUNvZGUgPSBtZW51Q29kZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChwdWJsaXNoZWQgPT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgcGFnZV9wcm9wcy5wZXJtaXNzaW9uID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIChwYWdlX3Byb3BzLnNob3dTZWFyY2ggIT09IGZhbHNlICYmXHJcbiAgICAgICAgICAgICAgb3RoZXJfcHJvcHMuZGVmYXVsdFNlYXJjaCAmJlxyXG4gICAgICAgICAgICAgIG90aGVyX3Byb3BzPy50YWJsZURhdGFSZXNvdXJjZSA9PSBcInVybFwiKSB8fFxyXG4gICAgICAgICAgICB0aGlzLnByb3BzLmF1dG9Mb2FkID09PSBmYWxzZVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHRhYmxlX3Byb3BzLnN0b3JlLmF1dG9Mb2FkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGFiUGFyYW1zKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IFV0aWxzID0gZGVmYXVsdFV0aWwgfHwge307XHJcbiAgICAgICAgICAgIGxldCBwYXJhbUZ1bmMgPSBuZXcgRnVuY3Rpb24oXCJVdGlsc1wiLCB0YWJQYXJhbXMpO1xyXG4gICAgICAgICAgICBsZXQgY29udmVyVGFiUGFyYW1zID0gcGFyYW1GdW5jKFV0aWxzKTtcclxuICAgICAgICAgICAgaWYgKHBhZ2VfcHJvcHMucmVxdWVzdFBhcmFtcykge1xyXG4gICAgICAgICAgICAgIGxldCB7IHJlcXVlc3RQYXJhbXMgPSB7fSB9ID0gcGFnZV9wcm9wcztcclxuICAgICAgICAgICAgICBsZXQgbmV3UmVxdWVzdFBhcmFtcyA9IHtcclxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgYWRkUGFyYW1zOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgZWRpdG9yUGFyYW1zOiBudWxsLFxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgZm9yIChsZXQga2V5IGluIG5ld1JlcXVlc3RQYXJhbXMpIHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXF1ZXN0UGFyYW1zW2tleV0pIHtcclxuICAgICAgICAgICAgICAgICAgbGV0IGZ1bmMgPSBuZXcgRnVuY3Rpb24oXCJVdGlsc1wiLCByZXF1ZXN0UGFyYW1zW2tleV0pO1xyXG4gICAgICAgICAgICAgICAgICBsZXQgY29udmVyUGFyYW1zID0gZnVuYyhVdGlscyk7XHJcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHsgZGF0YSwgLi4ub3RoZXIgfSA9IGNvbnZlclBhcmFtcztcclxuICAgICAgICAgICAgICAgICAgbGV0IG5ld1BhcmFtcyA9IHtcclxuICAgICAgICAgICAgICAgICAgICBkYXRhOiB7IC4uLmNvbnZlclRhYlBhcmFtcywgLi4uZGF0YSB9LFxyXG4gICAgICAgICAgICAgICAgICAgIC4uLm90aGVyLFxyXG4gICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICBuZXdSZXF1ZXN0UGFyYW1zW2tleV0gPSBuZXdQYXJhbXM7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICBuZXdSZXF1ZXN0UGFyYW1zW2tleV0gPSB7IGRhdGE6IHsgLi4uY29udmVyVGFiUGFyYW1zIH0gfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgcGFnZV9wcm9wcy5yZXF1ZXN0UGFyYW1zID0geyAuLi5uZXdSZXF1ZXN0UGFyYW1zIH07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgcGFnZV9wcm9wcy5yZXF1ZXN0UGFyYW1zID0ge1xyXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHsgZGF0YTogeyAuLi5jb252ZXJUYWJQYXJhbXMgfSB9LFxyXG4gICAgICAgICAgICAgICAgYWRkUGFyYW1zOiB7IGRhdGE6IHsgLi4uY29udmVyVGFiUGFyYW1zIH0gfSxcclxuICAgICAgICAgICAgICAgIGVkaXRvclBhcmFtczogeyBkYXRhOiB7IC4uLmNvbnZlclRhYlBhcmFtcyB9IH0sXHJcbiAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHBhZ2VQcm9wczoge1xyXG4gICAgICAgICAgICAgICAgLi4ucGFnZV9wcm9wcyxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHRyZWVQcm9wczoge1xyXG4gICAgICAgICAgICAgICAgLi4udHJlZV9wcm9wcyxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHRhYmxlUHJvcHM6IHtcclxuICAgICAgICAgICAgICAgIC4uLnRhYmxlX3Byb3BzLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgb3RoZXJQcm9wczogeyAuLi5vdGhlcl9wcm9wcyB9LFxyXG4gICAgICAgICAgICAgIHNlbGZDb2x1bW5CdXR0b246IEpTT04ucGFyc2UocmVzLmRhdGEuY29sdW1uQnV0dG9ucykgfHwgW10sXHJcbiAgICAgICAgICAgICAgc2VsZlRvb2xCdXR0b246IEpTT04ucGFyc2UocmVzLmRhdGEudG9vbEJ1dHRvbnMpIHx8IFtdLFxyXG4gICAgICAgICAgICAgIGRlZmF1bHRDb2x1bW5zOiBwYWdlX3Byb3BzLmNvbHVtbnMsXHJcbiAgICAgICAgICAgICAgZm9ybVBhZ2VQcm9wczogZm9ybV9wcm9wcyxcclxuICAgICAgICAgICAgICBzZWxmRm9ybUJ1dHRvbjogZm9ybV9wcm9wcz8uc2VsZkJ1dHRvbiB8fCBbXSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgcGFnZUxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSBpZiAocmVzLmNvZGUgPT0gMjAwICYmIHJlcy5kYXRhID09IG51bGwpIHtcclxuICAgICAgICAgIG1lc3NhZ2UuZXJyb3IoXCLmnKrmib7liLDphY3nva7kv6Hmga/vvIFcIik7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgcGFnZUxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBwYWdlTG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgcGFnZUxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8gb25TZWFyY2goKSB7fVxyXG4gIGdldFNlYXJjaFZhbHVlcygpIHtcclxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LmdldFNlYXJjaFZhbHVlcygpO1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuICBzZXRTZWFyY2hQYXJhbXMocGFyYW1zLCBjYWxsQmFjaykge1xyXG4gICAgdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LnNldFNlYXJjaFBhcmFtcyhwYXJhbXMpO1xyXG4gIH1cclxuICB0YWJsZUxvYWQocGFyYW1zOiBhbnksIHJlcXVlc3RDb25maWcgPSB7fSkge1xyXG4gICAgdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LnRhYmxlTG9hZChwYXJhbXMsIHJlcXVlc3RDb25maWcpO1xyXG4gIH1cclxuICB0YWJsZVJlbG9hZChwYXJhbXMgPSB7fSwgYXV0b0xvYWQgPSB0cnVlKSB7XHJcbiAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8udGFibGVSZWxvYWQocGFyYW1zLCBhdXRvTG9hZCk7XHJcbiAgfVxyXG4gIGdldFNlbGVjdGVkUm93S2V5cygpIHtcclxuICAgIHJldHVybiB0aGlzLnBhZ2VSZWYuY3VycmVudD8uZ2V0U2VsZWN0ZWRSb3dLZXlzKCk7XHJcbiAgfVxyXG4gIGdldFNlbGVjdGVkUm93RGF0YXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LmdldFNlbGVjdGVkUm93RGF0YXMoKTtcclxuICB9XHJcblxyXG4gIHJlc2V0U2VsZWN0ZWRSb3dLZXlzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucGFnZVJlZi5jdXJyZW50Py5yZXNldFNlbGVjdGVkUm93S2V5cygpO1xyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGNsYXNzTmFtZSxcclxuICAgICAgZnVuY3MgPSB7fSxcclxuICAgICAgYmFzZVByb3BzID0ge30gYXMgTlNDQmFzZUJhZ2VQcm9wcyxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBwYWdlUHJvcHMsXHJcbiAgICAgIHRyZWVQcm9wcyxcclxuICAgICAgdGFibGVQcm9wcyxcclxuICAgICAgc2VsZlRvb2xCdXR0b24sXHJcbiAgICAgIHNlbGZDb2x1bW5CdXR0b24sXHJcbiAgICAgIHBhZ2VMb2FkaW5nLFxyXG4gICAgICBkZWZhdWx0Q29sdW1ucyxcclxuICAgICAgYnV0dG9uTG9hZGluZyA9IHt9LFxyXG4gICAgICBmb3JtUGFnZVByb3BzID0ge30sXHJcbiAgICAgIHNlbGZGb3JtQnV0dG9uLFxyXG4gICAgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHRyZWVQcm9wczogc2V0dGluZ1RyZWVQcm9wcyA9IHt9LFxyXG4gICAgICB0YWJsZVByb3BzOiBzZXR0aW5nVGFibGVQcm9wcyA9IHt9LFxyXG4gICAgICAuLi5vdGhlclByb3BzXHJcbiAgICB9ID0gYmFzZVByb3BzO1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIGNvbnN0IGRlYXVsdEZ1bmNzID0ge1xyXG4gICAgICBzZXRGaWVsZERpc2FibGVkOiAoa2V5LCBkaXNhYmxlZCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5ld0RhdGEgPSBzZXRGaWVsZERpc2FibGVkKHBhZ2VQcm9wcy5jb2x1bW5zLCBrZXksIGRpc2FibGVkKTtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIHBhZ2VQcm9wczogeyAuLi5wYWdlUHJvcHMsIGNvbHVtbnM6IG5ld0RhdGEgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgc2V0RmllbGRWaXNpYmxlOiAoa2V5LCBkaXNhYmxlZCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5ld0RhdGEgPSBzZXRGaWVsZFZpc2libGUocGFnZVByb3BzLmNvbHVtbnMsIGtleSwgZGlzYWJsZWQpO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgcGFnZVByb3BzOiB7IC4uLnBhZ2VQcm9wcywgY29sdW1uczogbmV3RGF0YSB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICBzZXRGaWVsZFByb3BzRGF0YTogKGtleSwgZGF0YSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5ld0RhdGEgPSBzZXRGaWVsZFByb3BzRGF0YShwYWdlUHJvcHMuY29sdW1ucywga2V5LCBkYXRhKTtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIHBhZ2VQcm9wczogeyAuLi5wYWdlUHJvcHMsIGNvbHVtbnM6IG5ld0RhdGEgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgLy8gaGlzdG9yeTogKHBhcmFtcywgdHlwZSkgPT4ge1xyXG4gICAgICAvLyAgIGp1bXBQYWdlKHBhcmFtcywgdHlwZSk7XHJcbiAgICAgIC8vIH0sXHJcbiAgICAgIHNldEJ1dHRvbkxvYWRpbmc6IChjb2RlLCBsb2FkaW5nKSA9PiB7XHJcbiAgICAgICAgX3RoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgYnV0dG9uTG9hZGluZzogeyAuLi5idXR0b25Mb2FkaW5nLCBbY29kZV06IGxvYWRpbmcgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgLi4uZGVmYXVsdENvbUZ1bmNzLFxyXG4gICAgICBvcGVuRm9ybU1vZGFsOiAocGFyYW1zOk9wZW5QYXJtcykgPT4ge1xyXG4gICAgICAgIE1vZGFsTWFuYWdlci5zaG93TW9kYWwocGFyYW1zKTtcclxuICAgICAgfSxcclxuICAgICAgLy8gZ2V0Q3VycmVudFByb2plY3Q6ICgpID0+IHtcclxuICAgICAgLy8gICByZXR1cm4gZ2V0UHJvamVjdCgpO1xyXG4gICAgICAvLyB9LFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgY29kZVNlbGZCdXR0b25zID0gW107XHJcbiAgICBsZXQgY29kZWNvbHVtbkJ1dHRvbnMgPSBbXTtcclxuICAgIGxldCBjb2RlRm9ybUJ1dHRvbnMgPSBbXTtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xyXG4gICAgICBjaGlsZHJlbi5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0pKSB7XHJcbiAgICAgICAgICBpdGVtLm1hcCgoY2hpbGQpID0+IHtcclxuICAgICAgICAgICAgaWYgKGNoaWxkPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJ0b29sQnV0dG9uXCIpIHtcclxuICAgICAgICAgICAgICBjb2RlU2VsZkJ1dHRvbnMucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hpbGQ/LnByb3BzPy5wYWdlVHlwZSA9PSBcImNvbHVtbkJ1dHRvblwiKSB7XHJcbiAgICAgICAgICAgICAgY29kZWNvbHVtbkJ1dHRvbnMucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hpbGQ/LnByb3BzPy5wYWdlVHlwZSA9PSBcImZvcm1CdXR0b25cIikge1xyXG4gICAgICAgICAgICAgIGNvZGVGb3JtQnV0dG9ucy5wdXNoKGNoaWxkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmIChpdGVtPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJ0b29sQnV0dG9uXCIpIHtcclxuICAgICAgICAgICAgY29kZVNlbGZCdXR0b25zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0/LnByb3BzPy5wYWdlVHlwZSA9PSBcImNvbHVtbkJ1dHRvblwiKSB7XHJcbiAgICAgICAgICAgIGNvZGVjb2x1bW5CdXR0b25zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0/LnByb3BzPy5wYWdlVHlwZSA9PSBcImZvcm1CdXR0b25cIikge1xyXG4gICAgICAgICAgICBjb2RlRm9ybUJ1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChjaGlsZHJlbikge1xyXG4gICAgICBjb25zdCB7IHByb3BzIH06IGFueSA9IGNoaWxkcmVuO1xyXG4gICAgICBpZiAocHJvcHM/LnBhZ2VUeXBlID09IFwidG9vbEJ1dHRvblwiKSB7XHJcbiAgICAgICAgY29kZVNlbGZCdXR0b25zLnB1c2goY2hpbGRyZW4pO1xyXG4gICAgICB9IGVsc2UgaWYgKHByb3BzPy5wYWdlVHlwZSA9PSBcImNvbHVtbkJ1dHRvblwiKSB7XHJcbiAgICAgICAgY29kZWNvbHVtbkJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICAgIH0gZWxzZSBpZiAocHJvcHM/LnBhZ2VUeXBlID09IFwiZm9ybUJ1dHRvblwiKSB7XHJcbiAgICAgICAgY29kZUZvcm1CdXR0b25zLnB1c2goY2hpbGRyZW4pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKFwibnNjLWZyYW1ld29yay10YWJsZXBhZ2VcIiwgY2xhc3NOYW1lKX0+XHJcbiAgICAgICAge3BhZ2VMb2FkaW5nID8gKFxyXG4gICAgICAgICAgPGRpdiBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIsIGhlaWdodDogXCIxMDAlXCIgfX0+XHJcbiAgICAgICAgICAgIDxTcGluIHNwaW5uaW5nPXtwYWdlTG9hZGluZ30+PC9TcGluPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKSA6IChcclxuICAgICAgICAgIDxCYXNlUGFnZVxyXG4gICAgICAgICAgICB7Li4ucGFnZVByb3BzfVxyXG4gICAgICAgICAgICB0cmVlUHJvcHM9e3sgLi4udHJlZVByb3BzLCAuLi5zZXR0aW5nVHJlZVByb3BzIH19XHJcbiAgICAgICAgICAgIHRhYmxlUHJvcHM9e3sgLi4udGFibGVQcm9wcywgLi4uc2V0dGluZ1RhYmxlUHJvcHMgfX1cclxuICAgICAgICAgICAgZm9ybVByb3BzPXt7fX1cclxuICAgICAgICAgICAgVXRpbHM9e3sgLi4uZGVmYXVsdFV0aWwgfX1cclxuICAgICAgICAgICAgcmVmPXt0aGlzLnBhZ2VSZWZ9XHJcbiAgICAgICAgICAgIHBhZ2VSZWY9e3RoaXMucGFnZVJlZn1cclxuICAgICAgICAgICAgb25IaWRlRm9ybT17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgcGFnZVByb3BzOiB7IC4uLnBhZ2VQcm9wcywgY29sdW1uczogZGVmYXVsdENvbHVtbnMgfSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8uaGlkZUZvcm0oKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgZnVuY3M9e3sgLi4uZGVhdWx0RnVuY3MsIC4uLmZ1bmNzIH19XHJcbiAgICAgICAgICAgIGluaXREYXRhPXt0aGlzLmluaXREYXRhfVxyXG4gICAgICAgICAgICBmb3JtUGFnZVByb3BzPXt7XHJcbiAgICAgICAgICAgICAgZm9ybVR5cGU6IGZvcm1QYWdlUHJvcHMuZm9ybVR5cGUgfHwgXCJtb2RhbFwiLFxyXG4gICAgICAgICAgICAgIHByb3BzOiBmb3JtUGFnZVByb3BzPy5wcm9wcyxcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgdGFibGVDb2RlPXt0aGlzLnByb3BzLnRhYmxlQ29kZX1cclxuICAgICAgICAgICAgey4uLm90aGVyUHJvcHN9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHtyZW5kZXJTZWxmVG9vbEJ1dHRvbih7XHJcbiAgICAgICAgICAgICAgc2VsZkJ1dHRvbjogc2VsZlRvb2xCdXR0b24sXHJcbiAgICAgICAgICAgICAgcGFnZVJlZjogdGhpcy5wYWdlUmVmLFxyXG4gICAgICAgICAgICAgIGZ1bmNzOiB7IC4uLmRlYXVsdEZ1bmNzLCAuLi5mdW5jcyB9LFxyXG4gICAgICAgICAgICAgIGxvYWRpbmc6IHRoaXMuc3RhdGUuYnV0dG9uTG9hZGluZyxcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIHtjb2RlU2VsZkJ1dHRvbnMubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07XHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICB7cmVuZGVyU2VsZkNvbHVtbkJ1dHRvbih7XHJcbiAgICAgICAgICAgICAgc2VsZkNvbHVtbkJ1dHRvbixcclxuICAgICAgICAgICAgICBwYWdlUmVmOiB0aGlzLnBhZ2VSZWYsXHJcbiAgICAgICAgICAgICAgZnVuY3M6IHsgLi4uZGVhdWx0RnVuY3MsIC4uLmZ1bmNzIH0sXHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICB7Y29kZWNvbHVtbkJ1dHRvbnMubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07XHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICB7cmVuZGVyU2VsZlRvb2xCdXR0b24oe1xyXG4gICAgICAgICAgICAgIHNlbGZCdXR0b246IHNlbGZGb3JtQnV0dG9uLFxyXG4gICAgICAgICAgICAgIHBhZ2VSZWY6IHRoaXMucGFnZVJlZixcclxuICAgICAgICAgICAgICBmdW5jczogeyAuLi5kZWF1bHRGdW5jcywgLi4uZnVuY3MgfSxcclxuICAgICAgICAgICAgICBsb2FkaW5nOiB0aGlzLnN0YXRlLmJ1dHRvbkxvYWRpbmcsXHJcbiAgICAgICAgICAgICAgdHlwZTogXCJmb3JtQnV0dG9uXCIsXHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICB7Y29kZUZvcm1CdXR0b25zLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICAgIHJldHVybiBpdGVtO1xyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICAgIDwvQmFzZVBhZ2U+XHJcbiAgICAgICAgKX1cclxuICAgICAgICA8TW9kYWxGb3JtIHJlZj17dGhpcy5tb2RhbFJlZn0gLz5cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQ0EsT0FBT0EsUUFBUSxNQUE0QixhQUFhO0FBQ3hELE9BQU9DLElBQUksTUFBTSxpQkFBaUI7QUFFbEMsT0FBTyxjQUFjO0FBQ3JCLE9BQU9DLEtBQUssTUFBTSxPQUFPO0FBQ3pCLE9BQU9DLFVBQVUsTUFBTSxhQUFhO0FBQ3BDLE9B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
|
|
444
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlUGFnZSIsIlNwaW4iLCJSZWFjdCIsIk5zY1JlcXVlc3QiLCJjbHMiLCJkZWZhdWx0Q29tRnVuY3MiLCJkZWZhdWx0VXRpbCIsIk1vZGFsRm9ybSIsInJlbmRlclNlbGZDb2x1bW5CdXR0b24iLCJyZW5kZXJTZWxmVG9vbEJ1dHRvbiIsIk1vZGFsTWFuYWdlciIsImRlZXBNZXJnZSIsImdldFBhZ2VEYXRhIiwicGFyYW1zIiwiZ2V0IiwieHNzRmlsdGVyIiwiYXV0b1ByZWZpeCIsInNldEZpZWxkRGlzYWJsZWQiLCJkYXRhIiwia2V5IiwiZGlzYWJsZWQiLCJjb2x1bW5zIiwibmV3Q29sdW1ucyIsIm1hcCIsIml0ZW0iLCJvYmoiLCJfb2JqZWN0U3ByZWFkIiwiZGF0YUluZGV4IiwiaW5kZXhPZiIsInByb3BzIiwicHVzaCIsInNldEZpZWxkVmlzaWJsZSIsInZpc2libGUiLCJlZGl0b3IiLCJzZXRGaWVsZFByb3BzRGF0YSIsInByb3BzRGF0YSIsImRlZmF1bHRTdGF0ZVZhbHVlIiwicGFnZVByb3BzIiwidHJlZVByb3BzIiwic3RvcmUiLCJ1cmwiLCJhdXRvTG9hZCIsInRhYmxlUHJvcHMiLCJzZWxmVG9vbEJ1dHRvbiIsInNlbGZDb2x1bW5CdXR0b24iLCJzZWxmRm9ybUJ1dHRvbiIsInBhZ2VMb2FkaW5nIiwiZGVmYXVsdENvbHVtbnMiLCJvdGhlclByb3BzIiwiYnV0dG9uTG9hZGluZyIsImZvcm1QYWdlUHJvcHMiLCJTZXR0aW5nVGFibGUiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsImFyZ3VtZW50cyIsIl9kZWZpbmVQcm9wZXJ0eSIsImNyZWF0ZVJlZiIsInJlcyIsInN0YXRlIiwic2hvd1NlYXJjaCIsImRlZmF1bHRTZWFyY2giLCJ0YWJsZURhdGFSZXNvdXJjZSIsImZ1bmMiLCJGdW5jdGlvbiIsInBhZ2VSZWYiLCJzZXRUaW1lb3V0IiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50IiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50MiIsImN1cnJlbnQiLCJ0YWJsZUxvYWQiLCJzZXRTZWFyY2hQYXJhbXMiLCJjb21wb25lbnREaWRNb3VudCIsImdldERhdGEiLCJyZWdpc3RlciIsIm1vZGFsUmVmIiwiY29tcG9uZW50RGlkVXBkYXRlIiwicHJldlByb3BzIiwicHJldlN0YXRlIiwic25hcHNob3QiLCJ0YWJsZUNvZGUiLCJzZXRTdGF0ZSIsInB1Ymxpc2hlZCIsIm1lbnVDb2RlIiwidGFiUGFyYW1zIiwiY29kZSIsImlzUHVibGlzaGVkIiwidGhlbiIsIl9wYWdlX3Byb3BzJHBlcm1pc3NpbyIsInRhYmxlX3Byb3BzIiwiSlNPTiIsInBhcnNlIiwidHJlZV9wcm9wcyIsInBhZ2VfcHJvcHMiLCJvdGhlcl9wcm9wcyIsIm90aGVyUGFyYW1zIiwiZm9ybV9wcm9wcyIsImZvcm1Qcm9wcyIsInBlcm1pc3Npb24iLCJoYXMiLCJVdGlscyIsInBhcmFtRnVuYyIsImNvbnZlclRhYlBhcmFtcyIsInJlcXVlc3RQYXJhbXMiLCJuZXdSZXF1ZXN0UGFyYW1zIiwicXVlcnlQYXJhbXMiLCJhZGRQYXJhbXMiLCJlZGl0b3JQYXJhbXMiLCJjb252ZXJQYXJhbXMiLCJvdGhlciIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsIl9leGNsdWRlZCIsIm5ld1BhcmFtcyIsImNvbHVtbkJ1dHRvbnMiLCJ0b29sQnV0dG9ucyIsInNlbGZCdXR0b24iLCJfbWVzc2FnZSIsImVycm9yIiwiZ2V0U2VhcmNoVmFsdWVzIiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50MyIsInZhbHVlIiwiY2FsbEJhY2siLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQ0IiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50NSIsInJlcXVlc3RDb25maWciLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJ0YWJsZVJlbG9hZCIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDYiLCJnZXRTZWxlY3RlZFJvd0tleXMiLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQ3IiwiZ2V0U2VsZWN0ZWRSb3dEYXRhcyIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDgiLCJyZXNldFNlbGVjdGVkUm93S2V5cyIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDkiLCJyZW5kZXIiLCJjbGFzc05hbWUiLCJmdW5jcyIsImJhc2VQcm9wcyIsInNldHRpbmdUcmVlUHJvcHMiLCJzZXR0aW5nVGFibGVQcm9wcyIsIl9leGNsdWRlZDIiLCJfdGhpcyIsImRlYXVsdEZ1bmNzIiwibmV3RGF0YSIsInNldEJ1dHRvbkxvYWRpbmciLCJsb2FkaW5nIiwib3BlbkZvcm1Nb2RhbCIsInNob3dNb2RhbCIsImNoaWxkcmVuIiwiY29kZVNlbGZCdXR0b25zIiwiY29kZWNvbHVtbkJ1dHRvbnMiLCJjb2RlRm9ybUJ1dHRvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJjaGlsZCIsIl9jaGlsZCRwcm9wcyIsIl9jaGlsZCRwcm9wczIiLCJfY2hpbGQkcHJvcHMzIiwicGFnZVR5cGUiLCJfaXRlbSRwcm9wcyIsIl9pdGVtJHByb3BzMiIsIl9pdGVtJHByb3BzMyIsIm5ld1RhYmxlUHJvcHMiLCJuZXdUcmVlUHJvcHMiLCJjcmVhdGVFbGVtZW50Iiwic3R5bGUiLCJ3aWR0aCIsImhlaWdodCIsInNwaW5uaW5nIiwiX2V4dGVuZHMiLCJyZWYiLCJvbkhpZGVGb3JtIiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50MTAiLCJoaWRlRm9ybSIsImluaXREYXRhIiwiZm9ybVR5cGUiLCJ0eXBlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcGFnZS9TZXR0aW5nVGFibGUvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcndhcmRSZWYsIHVzZUVmZmVjdCwgdXNlSW1wZXJhdGl2ZUhhbmRsZSwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IEJhc2VQYWdlLCB7IE5TQ0Jhc2VCYWdlUHJvcHMgfSBmcm9tIFwiLi4vQmFzZVBhZ2VcIjtcclxuaW1wb3J0IFNwaW4gZnJvbSBcIi4uLy4uL2Jhc2Uvc3BpblwiO1xyXG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi8uLi9iYXNlL2J1dHRvblwiO1xyXG5pbXBvcnQgXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgTnNjUmVxdWVzdCBmcm9tIFwibnNjLXJlcXVlc3RcIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgeyBtZXNzYWdlIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IHtcclxuICBkZWZhdWx0Q29tRnVuY3MsXHJcbiAgZGVmYXVsdFV0aWwsXHJcbiAgTW9kYWxGb3JtLFxyXG4gIHJlbmRlclNlbGZDb2x1bW5CdXR0b24sXHJcbiAgcmVuZGVyU2VsZlRvb2xCdXR0b24sXHJcbiAgTW9kYWxNYW5hZ2VyLFxyXG4gIE9wZW5QYXJtcyxcclxufSBmcm9tIFwiLi4vU2V0dGluZ1V0aWwvdXRpbHNcIjtcclxuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcblxyXG5jb25zdCBnZXRQYWdlRGF0YSA9IChwYXJhbXM6IGFueSkgPT4ge1xyXG4gIHJldHVybiBOc2NSZXF1ZXN0LmdldChgL2pxdWljay1zZXR0aW5nL3NldHRpbmcvdGFibGUvaW5mby9gLCB7XHJcbiAgICBwYXJhbXMsXHJcbiAgICB4c3NGaWx0ZXI6IGZhbHNlLFxyXG4gICAgYXV0b1ByZWZpeDogdHJ1ZSxcclxuICB9KTtcclxufTtcclxuXHJcbi8v6K6+572u6KGo5Y2V5a2X5q615Y+q6K+7XHJcbmNvbnN0IHNldEZpZWxkRGlzYWJsZWQgPSAoZGF0YTogQXJyYXk8YW55Piwga2V5LCBkaXNhYmxlZCkgPT4ge1xyXG4gIGNvbnN0IGNvbHVtbnMgPSBbLi4uZGF0YV07XHJcbiAgbGV0IG5ld0NvbHVtbnMgPSBbXSBhcyBhbnk7XHJcbiAgY29sdW1ucy5tYXAoKGl0ZW0pID0+IHtcclxuICAgIGxldCBvYmogPSB7IC4uLml0ZW0gfTtcclxuICAgIGlmIChpdGVtLmRhdGFJbmRleCA9PSBrZXkgfHwga2V5LmluZGV4T2YoaXRlbS5kYXRhSW5kZXgpID4gLTEpIHtcclxuICAgICAgbGV0IHByb3BzID0gb2JqLnByb3BzID8geyAuLi5vYmoucHJvcHMgfSA6IHt9O1xyXG4gICAgICBwcm9wcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xyXG4gICAgICBvYmoucHJvcHMgPSBwcm9wcztcclxuICAgIH1cclxuICAgIG5ld0NvbHVtbnMucHVzaChvYmopO1xyXG4gIH0pO1xyXG4gIHJldHVybiBuZXdDb2x1bW5zO1xyXG59O1xyXG4vL+iuvue9ruihqOWNleWtl+autemakOiXj1xyXG5jb25zdCBzZXRGaWVsZFZpc2libGUgPSAoZGF0YTogQXJyYXk8YW55Piwga2V5LCB2aXNpYmxlKSA9PiB7XHJcbiAgY29uc3QgY29sdW1ucyA9IFsuLi5kYXRhXTtcclxuICBsZXQgbmV3Q29sdW1ucyA9IFtdIGFzIGFueTtcclxuICBjb2x1bW5zLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgbGV0IG9iaiA9IHsgLi4uaXRlbSB9O1xyXG4gICAgaWYgKGl0ZW0uZGF0YUluZGV4ID09IGtleSB8fCBrZXkuaW5kZXhPZihpdGVtLmRhdGFJbmRleCkgPiAtMSkge1xyXG4gICAgICBvYmouZWRpdG9yID0gdmlzaWJsZTtcclxuICAgIH1cclxuICAgIG5ld0NvbHVtbnMucHVzaChvYmopO1xyXG4gIH0pO1xyXG4gIHJldHVybiBuZXdDb2x1bW5zO1xyXG59O1xyXG5cclxuY29uc3Qgc2V0RmllbGRQcm9wc0RhdGEgPSAoZGF0YTogQXJyYXk8YW55Piwga2V5LCBwcm9wc0RhdGEpID0+IHtcclxuICBjb25zdCBjb2x1bW5zID0gWy4uLmRhdGFdO1xyXG4gIGxldCBuZXdDb2x1bW5zID0gW10gYXMgYW55O1xyXG4gIGNvbHVtbnMubWFwKChpdGVtKSA9PiB7XHJcbiAgICBsZXQgb2JqID0geyAuLi5pdGVtIH07XHJcbiAgICBpZiAoaXRlbS5kYXRhSW5kZXggPT0ga2V5KSB7XHJcbiAgICAgIGxldCBwcm9wcyA9IG9iai5wcm9wcyA/IHsgLi4ub2JqLnByb3BzIH0gOiB7fTtcclxuICAgICAgcHJvcHMuZGF0YSA9IHByb3BzRGF0YTtcclxuICAgICAgb2JqLnByb3BzID0gcHJvcHM7XHJcbiAgICB9XHJcbiAgICBuZXdDb2x1bW5zLnB1c2gob2JqKTtcclxuICB9KTtcclxuICByZXR1cm4gbmV3Q29sdW1ucztcclxufTtcclxuaW50ZXJmYWNlIElQcm9wcyB7XHJcbiAgdGFibGVDb2RlOiBzdHJpbmc7XHJcbiAgY2xhc3NOYW1lPzogYW55O1xyXG4gIG1lbnVDb2RlPzogc3RyaW5nO1xyXG4gIGZ1bmNzPzogYW55O1xyXG4gIHB1Ymxpc2hlZD86IGJvb2xlYW47XHJcbiAgaW5zdGFuY2VSZWY/OiBhbnk7XHJcbiAgdGFiUGFyYW1zPzogYW55O1xyXG4gIG9uQ2FsbEJhY2tzPzoge1xyXG4gICAgdHJlZVNlbGVjdENhbGxCYWNrPzogYW55OyAvL+agkeeCueWHu+afpeivouWQjuWbnuiwg1xyXG4gICAgb25RdWVyeUNhbGxCYWNrPzogYW55OyAvL+afpeivouWbnuiwg++8jOafpeivouaVsOaNruWQjuWbnuiwg1xyXG4gICAgb25TdW1iaXRDYWxsQmFjaz86IGFueTsgLy/kv53lrZjlm57osIPvvIzkv53lrZjmlbDmja7miJDlip/lkI7lm57osINcclxuICAgIG9uRGVsZXRlQ2FsbEJhY2s/OiBhbnk7IC8v5Yig6Zmk5oyJ6ZKu5Zue6LCD77yM5Yig6Zmk5pWw5o2u5ZCO5omn6KGMXHJcbiAgICBvbkVkaXRvckNhbGxCYWNrPzogYW55OyAvL+e8lui+keaMiemSruWbnuiwg++8jOaJk+W8gOW8ueahhuWQjuaJp+ihjFxyXG4gICAgb25BZGRDYWxsQmFjaz86IGFueTsgLy/mt7vliqDmjInpkq7lm57osIPvvIzmiZPlvIDlvLnmoYblkI7miafooYxcclxuICAgIG9uU2VhcmNoQ2FsbEJhY2s/OiBhbnk7IC8v5YiX6KGo5p+l6K+i5oyJ6ZKu5Zue6LCD77yM5omT5byA5by55qGG5ZCO5omn6KGMXHJcbiAgfTtcclxuICBiYXNlUHJvcHM/OiBOU0NCYXNlQmFnZVByb3BzO1xyXG4gIGF1dG9Mb2FkPzogYm9vbGVhbjtcclxufVxyXG5cclxuY29uc3QgZGVmYXVsdFN0YXRlVmFsdWUgPSB7XHJcbiAgcGFnZVByb3BzOiB7fSBhcyBhbnksXHJcbiAgdHJlZVByb3BzOiB7IHN0b3JlOiB7IHVybDogXCJcIiwgYXV0b0xvYWQ6IGZhbHNlIH0gfSBhcyBhbnksXHJcbiAgdGFibGVQcm9wczoge30gYXMgYW55LFxyXG4gIHNlbGZUb29sQnV0dG9uOiBbXSBhcyBhbnksXHJcbiAgc2VsZkNvbHVtbkJ1dHRvbjogW10gYXMgYW55LFxyXG4gIHNlbGZGb3JtQnV0dG9uOiBbXSBhcyBhbnksXHJcbiAgcGFnZUxvYWRpbmc6IHRydWUsXHJcbiAgZGVmYXVsdENvbHVtbnM6IFtdIGFzIGFueSxcclxuICBvdGhlclByb3BzOiB7fSBhcyBhbnksXHJcbiAgYnV0dG9uTG9hZGluZzoge30gYXMgYW55LFxyXG4gIGZvcm1QYWdlUHJvcHM6IHt9IGFzIGFueSxcclxufTtcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2V0dGluZ1RhYmxlIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PElQcm9wcywgYW55PiB7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICAuLi5kZWZhdWx0U3RhdGVWYWx1ZSxcclxuICB9O1xyXG4gIHBhZ2VSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIG1vZGFsUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldERhdGEoKTtcclxuICAgIE1vZGFsTWFuYWdlci5yZWdpc3Rlcih0aGlzLm1vZGFsUmVmKTtcclxuICB9XHJcblxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShcclxuICAgIHByZXZQcm9wczogUmVhZG9ubHk8SVByb3BzPixcclxuICAgIHByZXZTdGF0ZTogUmVhZG9ubHk8YW55PixcclxuICAgIHNuYXBzaG90PzogYW55XHJcbiAgKTogdm9pZCB7XHJcbiAgICBpZiAocHJldlByb3BzLnRhYmxlQ29kZSAhPSB0aGlzLnByb3BzLnRhYmxlQ29kZSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIC4uLmRlZmF1bHRTdGF0ZVZhbHVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5pdERhdGEgPSAocmVzOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IHsgb3RoZXJQcm9wcywgcGFnZVByb3BzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKFxyXG4gICAgICBwYWdlUHJvcHMuc2hvd1NlYXJjaCAhPT0gZmFsc2UgJiZcclxuICAgICAgb3RoZXJQcm9wcy5kZWZhdWx0U2VhcmNoICYmXHJcbiAgICAgIG90aGVyUHJvcHMudGFibGVEYXRhUmVzb3VyY2UgPT0gXCJ1cmxcIlxyXG4gICAgKSB7XHJcbiAgICAgIGxldCBmdW5jID0gbmV3IEZ1bmN0aW9uKFwiVXRpbHMsZXZlbnRPcHRpb25cIiwgb3RoZXJQcm9wcy5kZWZhdWx0U2VhcmNoKTtcclxuICAgICAgY29uc3QgcGFyYW1zID0gZnVuYyhkZWZhdWx0VXRpbCwgeyBwYWdlUmVmOiB0aGlzLnBhZ2VSZWYgfSk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucGFnZVJlZi5jdXJyZW50Py50YWJsZUxvYWQoeyAuLi5wYXJhbXMgfSk7XHJcbiAgICAgICAgdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LnNldFNlYXJjaFBhcmFtcyh7IC4uLnBhcmFtcyB9KTtcclxuICAgICAgfSwgNTApOyAvL+ebtOaOpeiuvue9ru+8jHBhZ2VSZWbmsqHnu5HlrprvvIzmmoLml7bpgJrov4flu7bov5/lh73mlbDov5vooYzop6PlhrNcclxuICAgIH1cclxuICB9O1xyXG4gIC8vIOiOt+WPluaVsOaNrlxyXG4gIGdldERhdGEoKSB7XHJcbiAgICAvLyDku45wcm9wc+S4reiOt+WPlnRhYmxlQ29kZeOAgXB1Ymxpc2hlZOOAgW1lbnVDb2RlXHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgcGFnZUxvYWRpbmc6IHRydWUsXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHsgdGFibGVDb2RlLCBwdWJsaXNoZWQgPSB0cnVlLCBtZW51Q29kZSwgdGFiUGFyYW1zIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgLy8g5aaC5p6cdGFibGVDb2Rl5a2Y5ZyoXHJcbiAgICBpZiAodGFibGVDb2RlKSB7XHJcbiAgICAgIC8vIOWumuS5ieWPguaVsFxyXG4gICAgICBsZXQgcGFyYW1zID0geyBjb2RlOiB0YWJsZUNvZGUgfSBhcyBhbnk7XHJcbiAgICAgIC8vIOWmguaenHB1Ymxpc2hlZOS4unRydWVcclxuICAgICAgaWYgKHB1Ymxpc2hlZCkge1xyXG4gICAgICAgIC8vIOiuvue9ruWPguaVsGlzUHVibGlzaGVk5Li6MVxyXG4gICAgICAgIHBhcmFtcy5pc1B1Ymxpc2hlZCA9IDE7XHJcbiAgICAgIH1cclxuICAgICAgLy8g6LCD55SoZ2V0UGFnZURhdGHmlrnms5Xojrflj5bmlbDmja5cclxuICAgICAgZ2V0UGFnZURhdGEoeyAuLi5wYXJhbXMgfSkudGhlbigocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzLmNvZGUgPT0gMjAwICYmIHJlcy5kYXRhKSB7XHJcbiAgICAgICAgICBsZXQgdGFibGVfcHJvcHMgPSBKU09OLnBhcnNlKHJlcy5kYXRhLnRhYmxlUHJvcHMgfHwgXCJ7fVwiKSB8fCB7fTtcclxuICAgICAgICAgIGxldCB0cmVlX3Byb3BzID0gSlNPTi5wYXJzZShyZXMuZGF0YS50cmVlUHJvcHMgfHwgXCJ7fVwiKSB8fCB7fTtcclxuICAgICAgICAgIGxldCBwYWdlX3Byb3BzID0gSlNPTi5wYXJzZShyZXMuZGF0YS5wYWdlUHJvcHMgfHwgXCJ7fVwiKSB8fCB7fTtcclxuICAgICAgICAgIGxldCBvdGhlcl9wcm9wcyA9IEpTT04ucGFyc2UocmVzLmRhdGEub3RoZXJQYXJhbXMgfHwgXCJ7fVwiKSB8fCB7fTtcclxuICAgICAgICAgIGxldCBmb3JtX3Byb3BzID0gSlNPTi5wYXJzZShyZXMuZGF0YS5mb3JtUHJvcHMgfHwgXCJ7fVwiKSB8fCB7fTtcclxuICAgICAgICAgIGlmIChwYWdlX3Byb3BzLnBlcm1pc3Npb24/LmhhcyA9PSB0cnVlKSB7XHJcbiAgICAgICAgICAgIHBhZ2VfcHJvcHMucGVybWlzc2lvbi5tZW51Q29kZSA9IG1lbnVDb2RlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHB1Ymxpc2hlZCA9PSBmYWxzZSkge1xyXG4gICAgICAgICAgICBwYWdlX3Byb3BzLnBlcm1pc3Npb24gPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgKHBhZ2VfcHJvcHMuc2hvd1NlYXJjaCAhPT0gZmFsc2UgJiZcclxuICAgICAgICAgICAgICBvdGhlcl9wcm9wcy5kZWZhdWx0U2VhcmNoICYmXHJcbiAgICAgICAgICAgICAgb3RoZXJfcHJvcHM/LnRhYmxlRGF0YVJlc291cmNlID09IFwidXJsXCIpIHx8XHJcbiAgICAgICAgICAgIHRoaXMucHJvcHMuYXV0b0xvYWQgPT09IGZhbHNlXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgdGFibGVfcHJvcHMuc3RvcmUuYXV0b0xvYWQgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0YWJQYXJhbXMpIHtcclxuICAgICAgICAgICAgY29uc3QgVXRpbHMgPSBkZWZhdWx0VXRpbCB8fCB7fTtcclxuICAgICAgICAgICAgbGV0IHBhcmFtRnVuYyA9IG5ldyBGdW5jdGlvbihcIlV0aWxzXCIsIHRhYlBhcmFtcyk7XHJcbiAgICAgICAgICAgIGxldCBjb252ZXJUYWJQYXJhbXMgPSBwYXJhbUZ1bmMoVXRpbHMpO1xyXG4gICAgICAgICAgICBpZiAocGFnZV9wcm9wcy5yZXF1ZXN0UGFyYW1zKSB7XHJcbiAgICAgICAgICAgICAgbGV0IHsgcmVxdWVzdFBhcmFtcyA9IHt9IH0gPSBwYWdlX3Byb3BzO1xyXG4gICAgICAgICAgICAgIGxldCBuZXdSZXF1ZXN0UGFyYW1zID0ge1xyXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IG51bGwsXHJcbiAgICAgICAgICAgICAgICBhZGRQYXJhbXM6IG51bGwsXHJcbiAgICAgICAgICAgICAgICBlZGl0b3JQYXJhbXM6IG51bGwsXHJcbiAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICBmb3IgKGxldCBrZXkgaW4gbmV3UmVxdWVzdFBhcmFtcykge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlcXVlc3RQYXJhbXNba2V5XSkge1xyXG4gICAgICAgICAgICAgICAgICBsZXQgZnVuYyA9IG5ldyBGdW5jdGlvbihcIlV0aWxzXCIsIHJlcXVlc3RQYXJhbXNba2V5XSk7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBjb252ZXJQYXJhbXMgPSBmdW5jKFV0aWxzKTtcclxuICAgICAgICAgICAgICAgICAgY29uc3QgeyBkYXRhLCAuLi5vdGhlciB9ID0gY29udmVyUGFyYW1zO1xyXG4gICAgICAgICAgICAgICAgICBsZXQgbmV3UGFyYW1zID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IHsgLi4uY29udmVyVGFiUGFyYW1zLCAuLi5kYXRhIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgLi4ub3RoZXIsXHJcbiAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgIG5ld1JlcXVlc3RQYXJhbXNba2V5XSA9IG5ld1BhcmFtcztcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIG5ld1JlcXVlc3RQYXJhbXNba2V5XSA9IHsgZGF0YTogeyAuLi5jb252ZXJUYWJQYXJhbXMgfSB9O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBwYWdlX3Byb3BzLnJlcXVlc3RQYXJhbXMgPSB7IC4uLm5ld1JlcXVlc3RQYXJhbXMgfTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBwYWdlX3Byb3BzLnJlcXVlc3RQYXJhbXMgPSB7XHJcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczogeyBkYXRhOiB7IC4uLmNvbnZlclRhYlBhcmFtcyB9IH0sXHJcbiAgICAgICAgICAgICAgICBhZGRQYXJhbXM6IHsgZGF0YTogeyAuLi5jb252ZXJUYWJQYXJhbXMgfSB9LFxyXG4gICAgICAgICAgICAgICAgZWRpdG9yUGFyYW1zOiB7IGRhdGE6IHsgLi4uY29udmVyVGFiUGFyYW1zIH0gfSxcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgcGFnZVByb3BzOiB7XHJcbiAgICAgICAgICAgICAgICAuLi5wYWdlX3Byb3BzLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgdHJlZVByb3BzOiB7XHJcbiAgICAgICAgICAgICAgICAuLi50cmVlX3Byb3BzLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgdGFibGVQcm9wczoge1xyXG4gICAgICAgICAgICAgICAgLi4udGFibGVfcHJvcHMsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBvdGhlclByb3BzOiB7IC4uLm90aGVyX3Byb3BzIH0sXHJcbiAgICAgICAgICAgICAgc2VsZkNvbHVtbkJ1dHRvbjogSlNPTi5wYXJzZShyZXMuZGF0YS5jb2x1bW5CdXR0b25zKSB8fCBbXSxcclxuICAgICAgICAgICAgICBzZWxmVG9vbEJ1dHRvbjogSlNPTi5wYXJzZShyZXMuZGF0YS50b29sQnV0dG9ucykgfHwgW10sXHJcbiAgICAgICAgICAgICAgZGVmYXVsdENvbHVtbnM6IHBhZ2VfcHJvcHMuY29sdW1ucyxcclxuICAgICAgICAgICAgICBmb3JtUGFnZVByb3BzOiBmb3JtX3Byb3BzLFxyXG4gICAgICAgICAgICAgIHNlbGZGb3JtQnV0dG9uOiBmb3JtX3Byb3BzPy5zZWxmQnV0dG9uIHx8IFtdLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICBwYWdlTG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChyZXMuY29kZSA9PSAyMDAgJiYgcmVzLmRhdGEgPT0gbnVsbCkge1xyXG4gICAgICAgICAgbWVzc2FnZS5lcnJvcihcIuacquaJvuWIsOmFjee9ruS/oeaBr++8gVwiKTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBwYWdlTG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHBhZ2VMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBwYWdlTG9hZGluZzogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyBvblNlYXJjaCgpIHt9XHJcbiAgZ2V0U2VhcmNoVmFsdWVzKCkge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnBhZ2VSZWYuY3VycmVudD8uZ2V0U2VhcmNoVmFsdWVzKCk7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG4gIHNldFNlYXJjaFBhcmFtcyhwYXJhbXMsIGNhbGxCYWNrKSB7XHJcbiAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8uc2V0U2VhcmNoUGFyYW1zKHBhcmFtcyk7XHJcbiAgfVxyXG4gIHRhYmxlTG9hZChwYXJhbXM6IGFueSwgcmVxdWVzdENvbmZpZyA9IHt9KSB7XHJcbiAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8udGFibGVMb2FkKHBhcmFtcywgcmVxdWVzdENvbmZpZyk7XHJcbiAgfVxyXG4gIHRhYmxlUmVsb2FkKHBhcmFtcyA9IHt9LCBhdXRvTG9hZCA9IHRydWUpIHtcclxuICAgIHRoaXMucGFnZVJlZi5jdXJyZW50Py50YWJsZVJlbG9hZChwYXJhbXMsIGF1dG9Mb2FkKTtcclxuICB9XHJcbiAgZ2V0U2VsZWN0ZWRSb3dLZXlzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucGFnZVJlZi5jdXJyZW50Py5nZXRTZWxlY3RlZFJvd0tleXMoKTtcclxuICB9XHJcbiAgZ2V0U2VsZWN0ZWRSb3dEYXRhcygpIHtcclxuICAgIHJldHVybiB0aGlzLnBhZ2VSZWYuY3VycmVudD8uZ2V0U2VsZWN0ZWRSb3dEYXRhcygpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRTZWxlY3RlZFJvd0tleXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LnJlc2V0U2VsZWN0ZWRSb3dLZXlzKCk7XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgY2xhc3NOYW1lLFxyXG4gICAgICBmdW5jcyA9IHt9LFxyXG4gICAgICBiYXNlUHJvcHMgPSB7fSBhcyBOU0NCYXNlQmFnZVByb3BzLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHBhZ2VQcm9wcyxcclxuICAgICAgdHJlZVByb3BzLFxyXG4gICAgICB0YWJsZVByb3BzLFxyXG4gICAgICBzZWxmVG9vbEJ1dHRvbixcclxuICAgICAgc2VsZkNvbHVtbkJ1dHRvbixcclxuICAgICAgcGFnZUxvYWRpbmcsXHJcbiAgICAgIGRlZmF1bHRDb2x1bW5zLFxyXG4gICAgICBidXR0b25Mb2FkaW5nID0ge30sXHJcbiAgICAgIGZvcm1QYWdlUHJvcHMgPSB7fSxcclxuICAgICAgc2VsZkZvcm1CdXR0b24sXHJcbiAgICB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHtcclxuICAgICAgdHJlZVByb3BzOiBzZXR0aW5nVHJlZVByb3BzID0ge30sXHJcbiAgICAgIHRhYmxlUHJvcHM6IHNldHRpbmdUYWJsZVByb3BzID0ge30sXHJcbiAgICAgIC4uLm90aGVyUHJvcHNcclxuICAgIH0gPSBiYXNlUHJvcHM7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3QgZGVhdWx0RnVuY3MgPSB7XHJcbiAgICAgIHNldEZpZWxkRGlzYWJsZWQ6IChrZXksIGRpc2FibGVkKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0YSA9IHNldEZpZWxkRGlzYWJsZWQocGFnZVByb3BzLmNvbHVtbnMsIGtleSwgZGlzYWJsZWQpO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgcGFnZVByb3BzOiB7IC4uLnBhZ2VQcm9wcywgY29sdW1uczogbmV3RGF0YSB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICBzZXRGaWVsZFZpc2libGU6IChrZXksIGRpc2FibGVkKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0YSA9IHNldEZpZWxkVmlzaWJsZShwYWdlUHJvcHMuY29sdW1ucywga2V5LCBkaXNhYmxlZCk7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBwYWdlUHJvcHM6IHsgLi4ucGFnZVByb3BzLCBjb2x1bW5zOiBuZXdEYXRhIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIHNldEZpZWxkUHJvcHNEYXRhOiAoa2V5LCBkYXRhKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0YSA9IHNldEZpZWxkUHJvcHNEYXRhKHBhZ2VQcm9wcy5jb2x1bW5zLCBrZXksIGRhdGEpO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgcGFnZVByb3BzOiB7IC4uLnBhZ2VQcm9wcywgY29sdW1uczogbmV3RGF0YSB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICAvLyBoaXN0b3J5OiAocGFyYW1zLCB0eXBlKSA9PiB7XHJcbiAgICAgIC8vICAganVtcFBhZ2UocGFyYW1zLCB0eXBlKTtcclxuICAgICAgLy8gfSxcclxuICAgICAgc2V0QnV0dG9uTG9hZGluZzogKGNvZGUsIGxvYWRpbmcpID0+IHtcclxuICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBidXR0b25Mb2FkaW5nOiB7IC4uLmJ1dHRvbkxvYWRpbmcsIFtjb2RlXTogbG9hZGluZyB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICAuLi5kZWZhdWx0Q29tRnVuY3MsXHJcbiAgICAgIG9wZW5Gb3JtTW9kYWw6IChwYXJhbXM6IE9wZW5QYXJtcykgPT4ge1xyXG4gICAgICAgIE1vZGFsTWFuYWdlci5zaG93TW9kYWwocGFyYW1zKTtcclxuICAgICAgfSxcclxuICAgICAgLy8gZ2V0Q3VycmVudFByb2plY3Q6ICgpID0+IHtcclxuICAgICAgLy8gICByZXR1cm4gZ2V0UHJvamVjdCgpO1xyXG4gICAgICAvLyB9LFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgY29kZVNlbGZCdXR0b25zID0gW107XHJcbiAgICBsZXQgY29kZWNvbHVtbkJ1dHRvbnMgPSBbXTtcclxuICAgIGxldCBjb2RlRm9ybUJ1dHRvbnMgPSBbXTtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xyXG4gICAgICBjaGlsZHJlbi5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0pKSB7XHJcbiAgICAgICAgICBpdGVtLm1hcCgoY2hpbGQpID0+IHtcclxuICAgICAgICAgICAgaWYgKGNoaWxkPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJ0b29sQnV0dG9uXCIpIHtcclxuICAgICAgICAgICAgICBjb2RlU2VsZkJ1dHRvbnMucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hpbGQ/LnByb3BzPy5wYWdlVHlwZSA9PSBcImNvbHVtbkJ1dHRvblwiKSB7XHJcbiAgICAgICAgICAgICAgY29kZWNvbHVtbkJ1dHRvbnMucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hpbGQ/LnByb3BzPy5wYWdlVHlwZSA9PSBcImZvcm1CdXR0b25cIikge1xyXG4gICAgICAgICAgICAgIGNvZGVGb3JtQnV0dG9ucy5wdXNoKGNoaWxkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmIChpdGVtPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJ0b29sQnV0dG9uXCIpIHtcclxuICAgICAgICAgICAgY29kZVNlbGZCdXR0b25zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0/LnByb3BzPy5wYWdlVHlwZSA9PSBcImNvbHVtbkJ1dHRvblwiKSB7XHJcbiAgICAgICAgICAgIGNvZGVjb2x1bW5CdXR0b25zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0/LnByb3BzPy5wYWdlVHlwZSA9PSBcImZvcm1CdXR0b25cIikge1xyXG4gICAgICAgICAgICBjb2RlRm9ybUJ1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChjaGlsZHJlbikge1xyXG4gICAgICBjb25zdCB7IHByb3BzIH06IGFueSA9IGNoaWxkcmVuO1xyXG4gICAgICBpZiAocHJvcHM/LnBhZ2VUeXBlID09IFwidG9vbEJ1dHRvblwiKSB7XHJcbiAgICAgICAgY29kZVNlbGZCdXR0b25zLnB1c2goY2hpbGRyZW4pO1xyXG4gICAgICB9IGVsc2UgaWYgKHByb3BzPy5wYWdlVHlwZSA9PSBcImNvbHVtbkJ1dHRvblwiKSB7XHJcbiAgICAgICAgY29kZWNvbHVtbkJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICAgIH0gZWxzZSBpZiAocHJvcHM/LnBhZ2VUeXBlID09IFwiZm9ybUJ1dHRvblwiKSB7XHJcbiAgICAgICAgY29kZUZvcm1CdXR0b25zLnB1c2goY2hpbGRyZW4pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgbmV3VGFibGVQcm9wcyA9IGRlZXBNZXJnZSh7IC4uLnRhYmxlUHJvcHMgfSwgeyAuLi5zZXR0aW5nVGFibGVQcm9wcyB9KTtcclxuICAgIGxldCBuZXdUcmVlUHJvcHMgPSBkZWVwTWVyZ2UoeyAuLi50cmVlUHJvcHMgfSwgeyAuLi5zZXR0aW5nVHJlZVByb3BzIH0pO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NscyhcIm5zYy1mcmFtZXdvcmstdGFibGVwYWdlXCIsIGNsYXNzTmFtZSl9PlxyXG4gICAgICAgIHtwYWdlTG9hZGluZyA/IChcclxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiLCBoZWlnaHQ6IFwiMTAwJVwiIH19PlxyXG4gICAgICAgICAgICA8U3BpbiBzcGlubmluZz17cGFnZUxvYWRpbmd9PjwvU3Bpbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICkgOiAoXHJcbiAgICAgICAgICA8QmFzZVBhZ2VcclxuICAgICAgICAgICAgey4uLnBhZ2VQcm9wc31cclxuICAgICAgICAgICAgdHJlZVByb3BzPXt7IC4uLm5ld1RyZWVQcm9wcyB9fVxyXG4gICAgICAgICAgICB0YWJsZVByb3BzPXt7IC4uLm5ld1RhYmxlUHJvcHMgfX1cclxuICAgICAgICAgICAgZm9ybVByb3BzPXt7fX1cclxuICAgICAgICAgICAgVXRpbHM9e3sgLi4uZGVmYXVsdFV0aWwgfX1cclxuICAgICAgICAgICAgcmVmPXt0aGlzLnBhZ2VSZWZ9XHJcbiAgICAgICAgICAgIHBhZ2VSZWY9e3RoaXMucGFnZVJlZn1cclxuICAgICAgICAgICAgb25IaWRlRm9ybT17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgcGFnZVByb3BzOiB7IC4uLnBhZ2VQcm9wcywgY29sdW1uczogZGVmYXVsdENvbHVtbnMgfSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8uaGlkZUZvcm0oKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgZnVuY3M9e3sgLi4uZGVhdWx0RnVuY3MsIC4uLmZ1bmNzIH19XHJcbiAgICAgICAgICAgIGluaXREYXRhPXt0aGlzLmluaXREYXRhfVxyXG4gICAgICAgICAgICBmb3JtUGFnZVByb3BzPXt7XHJcbiAgICAgICAgICAgICAgZm9ybVR5cGU6IGZvcm1QYWdlUHJvcHMuZm9ybVR5cGUgfHwgXCJtb2RhbFwiLFxyXG4gICAgICAgICAgICAgIHByb3BzOiBmb3JtUGFnZVByb3BzPy5wcm9wcyxcclxuICAgICAgICAgICAgICAuLi5mb3JtUGFnZVByb3BzPy5vdGhlclByb3BzLFxyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICB0YWJsZUNvZGU9e3RoaXMucHJvcHMudGFibGVDb2RlfVxyXG4gICAgICAgICAgICB7Li4ub3RoZXJQcm9wc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3JlbmRlclNlbGZUb29sQnV0dG9uKHtcclxuICAgICAgICAgICAgICBzZWxmQnV0dG9uOiBzZWxmVG9vbEJ1dHRvbixcclxuICAgICAgICAgICAgICBwYWdlUmVmOiB0aGlzLnBhZ2VSZWYsXHJcbiAgICAgICAgICAgICAgZnVuY3M6IHsgLi4uZGVhdWx0RnVuY3MsIC4uLmZ1bmNzIH0sXHJcbiAgICAgICAgICAgICAgbG9hZGluZzogdGhpcy5zdGF0ZS5idXR0b25Mb2FkaW5nLFxyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAge2NvZGVTZWxmQnV0dG9ucy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gaXRlbTtcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIHtyZW5kZXJTZWxmQ29sdW1uQnV0dG9uKHtcclxuICAgICAgICAgICAgICBzZWxmQ29sdW1uQnV0dG9uLFxyXG4gICAgICAgICAgICAgIHBhZ2VSZWY6IHRoaXMucGFnZVJlZixcclxuICAgICAgICAgICAgICBmdW5jczogeyAuLi5kZWF1bHRGdW5jcywgLi4uZnVuY3MgfSxcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIHtjb2RlY29sdW1uQnV0dG9ucy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gaXRlbTtcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIHtyZW5kZXJTZWxmVG9vbEJ1dHRvbih7XHJcbiAgICAgICAgICAgICAgc2VsZkJ1dHRvbjogc2VsZkZvcm1CdXR0b24sXHJcbiAgICAgICAgICAgICAgcGFnZVJlZjogdGhpcy5wYWdlUmVmLFxyXG4gICAgICAgICAgICAgIGZ1bmNzOiB7IC4uLmRlYXVsdEZ1bmNzLCAuLi5mdW5jcyB9LFxyXG4gICAgICAgICAgICAgIGxvYWRpbmc6IHRoaXMuc3RhdGUuYnV0dG9uTG9hZGluZyxcclxuICAgICAgICAgICAgICB0eXBlOiBcImZvcm1CdXR0b25cIixcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIHtjb2RlRm9ybUJ1dHRvbnMubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07XHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgPC9CYXNlUGFnZT5cclxuICAgICAgICApfVxyXG4gICAgICAgIDxNb2RhbEZvcm0gcmVmPXt0aGlzLm1vZGFsUmVmfSAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDQSxPQUFPQSxRQUFRLE1BQTRCLGFBQWE7QUFDeEQsT0FBT0MsSUFBSSxNQUFNLGlCQUFpQjtBQUVsQyxPQUFPLGNBQWM7QUFDckIsT0FBT0MsS0FBSyxNQUFNLE9BQU87QUFDekIsT0FBT0MsVUFBVSxNQUFNLGFBQWE7QUFDcEMsT0FBT0MsR0FBRyxNQUFNLFlBQVk7QUFFNUIsU0FDRUMsZUFBZSxFQUNmQyxXQUFXLEVBQ1hDLFNBQVMsRUFDVEMsc0JBQXNCLEVBQ3RCQyxvQkFBb0IsRUFDcEJDLFlBQVksUUFFUCxzQkFBc0I7QUFDN0IsU0FBU0MsU0FBUyxRQUFRLGFBQWE7QUFFdkMsTUFBTUMsV0FBVyxHQUFJQyxNQUFXLElBQUs7RUFDbkMsT0FBT1YsVUFBVSxDQUFDVyxHQUFHLHdDQUF3QztJQUMzREQsTUFBTTtJQUNORSxTQUFTLEVBQUUsS0FBSztJQUNoQkMsVUFBVSxFQUFFO0VBQ2QsQ0FBQyxDQUFDO0FBQ0osQ0FBQzs7QUFFRDtBQUNBLE1BQU1DLGdCQUFnQixHQUFHQSxDQUFDQyxJQUFnQixFQUFFQyxHQUFHLEVBQUVDLFFBQVEsS0FBSztFQUM1RCxNQUFNQyxPQUFPLEdBQUcsQ0FBQyxHQUFHSCxJQUFJLENBQUM7RUFDekIsSUFBSUksVUFBVSxHQUFHLEVBQVM7RUFDMUJELE9BQU8sQ0FBQ0UsR0FBRyxDQUFFQyxJQUFJLElBQUs7SUFDcEIsSUFBSUMsR0FBRyxHQUFBQyxhQUFBLEtBQVFGLElBQUksQ0FBRTtJQUNyQixJQUFJQSxJQUFJLENBQUNHLFNBQVMsSUFBSVIsR0FBRyxJQUFJQSxHQUFHLENBQUNTLE9BQU8sQ0FBQ0osSUFBSSxDQUFDRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtNQUM3RCxJQUFJRSxLQUFLLEdBQUdKLEdBQUcs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
|