nsc-react-component 2.8.1 → 2.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/base/common/IconFont.js +2 -2
- package/lib/base/common/NoData.js +3 -2
- package/lib/base/form/Form.js +5 -5
- package/lib/base/form/filed/FormItem.js +2 -2
- package/lib/base/form/filed/Item.js +2 -2
- package/lib/base/modal/Confirm.d.ts +6 -0
- package/lib/base/modal/Confirm.js +48 -0
- package/lib/base/modal/Confirm.less +33 -0
- package/lib/base/modal/index.d.ts +4 -1
- package/lib/base/modal/index.js +3 -2
- package/lib/base/table/index.js +4 -2
- package/lib/base/table/index.module.less +4 -0
- package/lib/page/BasePage/index.js +1 -3
- package/lib/page/BasePage/index.module.less +1 -7
- package/lib/page/HeaderSearch/index.js +2 -3
- package/lib/page/HeaderSearch/index.less +9 -7
- package/package.json +1 -1
|
@@ -958,8 +958,6 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
958
958
|
}
|
|
959
959
|
}, expandable),
|
|
960
960
|
columnOrder: true,
|
|
961
|
-
bordered: true // size={this.state.tableSize}
|
|
962
|
-
,
|
|
963
961
|
onChange: function onChange(pagination) {
|
|
964
962
|
var currentPage = _this4.state.currentPage;
|
|
965
963
|
|
|
@@ -999,4 +997,4 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
999
997
|
}(PureComponent);
|
|
1000
998
|
|
|
1001
999
|
export default BasePage;
|
|
1002
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIlRhYmxlIiwiVHJlZSIsIkJ1dHRvbiIsIk1vZGFsIiwiUG9wb3ZlciIsIm1lc3NhZ2UiLCJJY29uIiwiaWNvblR5cGUiLCJFZGl0b3JGb3JtIiwiY2xzIiwic3R5bGVzIiwiRG93bk91dGxpbmVkIiwiRXllT3V0bGluZWQiLCJFZGl0T3V0bGluZWQiLCJSaWdodE91dGxpbmVkIiwiUGx1c091dGxpbmVkIiwiRWxsaXBzaXNPdXRsaW5lZCIsImdldExlc3MiLCJyZXF1ZXN0Iiwib21pdCIsImNvbmZpZyIsImdldFN0b3JhZ2UiLCJIZWFkZXJTZWFyY2giLCJCYXNlUGFnZSIsInByb3BzIiwiY3JlYXRlUmVmIiwiY2hlY2tlZFRyZWVLZXlzIiwic3RhdGUiLCJuYW1lIiwidXNlclR5cGUiLCJhY2NvdW50IiwidmFsdWUiLCJkZXB0SWQiLCJ0YWJsZUxvYWQiLCJzZWxlY3RlZCIsInJlcyIsImtleSIsImtleXMiLCJsZW5ndGgiLCJzdG9yZVByZWZpeCIsInR5cGUiLCJjb250ZW50Iiwic2l6ZSIsInNlbGVjdGVkUm93S2V5cyIsInNlbGVjdGVkUm93RGF0YXMiLCJ0cmVlU2VsZWN0ZWRLZXkiLCJleHBhbmQiLCJmb3JtVHlwZSIsInRhYmxlU2l6ZSIsInNlbGVjdGVkUm93S2V5c1N0b3JlIiwic2VsZWN0ZWRSb3dEYXRhc1N0b3JlIiwiY3VycmVudFBhZ2UiLCJpbml0RGF0YSIsInBhcmFtcyIsImNhbGxCYWNrIiwic2VhcmNoUmVmIiwiY3VycmVudCIsInNldFNlYXJjaFBhcmFtcyIsImVkaXRvcmZsYWciLCJlZGl0b3JSZWYiLCJzaG93IiwiaGlkZUZvcm0iLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsImRlbGV0ZVVybCIsIm9uRGVsZXRlIiwiZGVsZXRlUGFyYW1zIiwid2FybmluZyIsIkVycm9yIiwiY29uZmlybSIsInRpdGxlIiwib2tUZXh0IiwiY2FuY2VsVGV4dCIsImNlbnRlcmVkIiwib25PayIsImRlZmF1bHRQYXJhbXMiLCJtZXRob2QiLCJpZHMiLCJqb2luIiwicmVxdWVzdFBhcmFtcyIsInRoZW4iLCJjb2RlIiwic3VjY2VzcyIsImVycm9yIiwiY2F0Y2giLCJjb25zb2xlIiwibG9nIiwidGFibGVSZWYiLCJzdG9yZSIsImxvYWQiLCJvblNlYXJjaCIsImF1dG9Mb2FkIiwicmVsb2FkIiwiY2FsbGJhY2siLCJkYXRhIiwicmVjb3JkcyIsInNldFN0YXRlIiwiZnJvbVZhbHVlIiwiZ2V0U2VhcmNoVmFsdWVzIiwidGFibGVQcm9wcyIsInJvd0tleSIsInJlc0tleSIsImNoaWxkTm9kZXMiLCJjaGlsZHJlbiIsIm1hcCIsIml0ZW0iLCJpbmRleCIsImdldENoaWxkcmVuRGF0YSIsInRvb2xidXR0b25zIiwibWFyZ2luZmxhZyIsImZsYWciLCJzaG93U2VhcmNoIiwicGFnZVR5cGUiLCJvbkNsaWNrIiwiaWNvbiIsIm1hcmdpbkxlZnQiLCJjb2x1bW5CdXR0b25zIiwicmVjb3JkIiwiZWRpdG9yRm9ybSIsImJ1dHRvbnMiLCJhY3Rpb25Qb3JwcyIsImJhc2VBY3Rpb25Db2x1bW4iLCJuZXdCdXR0b25zIiwic2hvd0ljb24iLCJyZWNvcmRTaG93IiwiZXZhbCIsInB1c2giLCJzZWxlY3RlZEtleXMiLCJzZWxlY3RlZE5vZGVzIiwia2V5d29yZCIsInRyZWVQcm9wcyIsInNlYXJjaEtleSIsInNlYXJjaEZpZWxkIiwiaXNMZWFmIiwiZGF0YXJlZiIsImF0dHJpYnV0ZSIsImdldEZpZWxkc1ZhbHVlIiwicmVzZXRGaWVsZHMiLCJ0ZXh0IiwibmV3VGV4dCIsImkiLCJsYWJlbCIsInNldERhdGEiLCJ0cmVlUmVmIiwiY29sdW1ucyIsInN1Ym1pdFVybCIsImZvcm1Qcm9wcyIsInNob3dMZWZ0Iiwic3VibWl0UGFyYW1zIiwic2hvd1Rvb2xCdXR0b24iLCJvblNob3dGb3JtIiwiZm9ybUNoYW5nZVZhbGlkIiwiY2xhc3NOYW1lIiwidG9vbEJ1dHRvblBvc2l0aW9uIiwiZmlsdGVyQ29sdW1uIiwiYWN0aW9uQ29sdW1uIiwic2hvd1Jvd1NlbGVjdGlvbiIsImNvbHVtbk9yZGVyIiwicm93U2VsZWN0aW9uIiwiZXhwYW5kYWJsZSIsIm90aGVydGFibGVQYXJhbXMiLCJ0cmVlU3RvcmUiLCJ0cmVlU2VhcmNoIiwidGl0bGVBbGlhcyIsIm90aGVydHJlZVBhcmFtcyIsInRhYmxlUGFyYW1zIiwib25DaGFuZ2UiLCJzZWxlY3RlZFJvd3MiLCJuZXdSb3dLZXlzU3RvcmUiLCJuZXdSb3dEYXRhc1N0b3JlIiwiZ2V0U2VsZWN0ZWRLZXkiLCJjb2x1bW5XaWR0aCIsImNoZWNrU3RyaWN0bHkiLCJ0YWJsZUNvbHVtbiIsInNlYXJjaEZvcm1zIiwiZWRpdG9yRm9ybXMiLCJkZWZhdWx0VmFsdWUiLCJ0ZW1wIiwic2VhcmNoIiwiZmllbGQiLCJkYXRhSW5kZXgiLCJlZGl0b3IiLCJydWxlcyIsInNwYW4iLCJkaWN0TmFtZSIsInVuZGVmaW5lZCIsImNvbHVtblNlYXJjaCIsImZpbHRlclByb3BzIiwidGVtcFByb3AiLCJzdHlsZSIsInJlbmRlciIsImdldFRleHQiLCJlbGxpcHNpcyIsImNvbHVtblNob3ciLCJzZWxmQnV0dG9ucyIsImluZGV4T2YiLCJzaG93Rm9ybSIsImJpbmQiLCJkZWxldGUzIiwiQXJyYXkiLCJpc0FycmF5IiwiYWxpZ24iLCJ0ZXh0QWxpZ24iLCJ3aWR0aCIsImZpeGVkIiwicmVuZGVyQ2xvdW1uQnV0dG9uIiwicmVhY29yZCIsInBhZ2luYXRpb24iLCJ0YWJsZUhlaWdodCIsImRvY3VtZW50IiwiYm9keSIsInNjcm9sbEhlaWdodCIsInBhZ2VUaXRsZSIsInNjcm9sbCIsIngiLCJ5IiwiZGlzcGxheSIsInRyZWVTZWxlY3QiLCJyZW5kZXJUb29sQnV0dG9ucyIsImV4cGFuZEljb24iLCJleHBhbmRlZCIsIm9uRXhwYW5kIiwiZSIsIm9uVG9vbENsaWNrIiwib25SZWZyZXNoIiwidG9vbGJhciIs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QUVFLFFBQUEsUUFBUSxFQUFFLEtBQUt1SyxXQUFMLENBQWlCN0IsSUFBakIsQ0FBc0IsSUFBdEIsQ0FGWjtBQUdFLFFBQUEsU0FBUyxFQUFFdEIsV0FIYjtBQUlFLFFBQUEsU0FBUyxFQUFFOUIsU0FKYjtBQUtFLFFBQUEsWUFBWSxFQUFFRyxZQUxoQjtBQU1FLFFBQUEsUUFBUSxFQUFFLEtBQUs1SCxLQUFMLENBQVcyTSxRQU52QjtBQU9FLFFBQUEsWUFBWSxFQUFFbkQsWUFQaEI7QUFRRSxRQUFBLFVBQVUsRUFBRSxLQUFLeEosS0FBTCxDQUFXNE0sVUFSekI7QUFTRSxRQUFBLFlBQVksRUFBRSxLQUFLNU0sS0FBTCxDQUFXNk0sWUFUM0I7QUFVRSxRQUFBLFFBQVEsRUFBRSxLQUFLN00sS0FBTCxDQUFXdUIsUUFBWCxJQUF1QixNQVZuQztBQVdFLFFBQUEsV0FBVyxFQUFFd0csZUFYZjtBQVlFLFFBQUEsVUFBVSxvQkFBT0wsU0FBUDtBQVpaLFFBdEZKLENBTkYsQ0FERjtBQStHRDs7OztFQXZ5Qm9CbkosYTs7QUF5eUJ2QixlQUFld0IsUUFBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50LCBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IFRhYmxlIGZyb20gXCIuLi8uLi9iYXNlL3RhYmxlXCI7XHJcbmltcG9ydCBUcmVlIGZyb20gXCIuLi8uLi9iYXNlL3RyZWVcIjtcclxuaW1wb3J0IEZvcm0gZnJvbSBcIi4uLy4uL2Jhc2UvZm9ybVwiO1xyXG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi8uLi9iYXNlL2J1dHRvblwiO1xyXG5pbXBvcnQgTW9kYWwgZnJvbSBcIi4uLy4uL2Jhc2UvbW9kYWxcIjtcclxuaW1wb3J0IFBvcG92ZXIgZnJvbSBcIi4uLy4uL2Jhc2UvcG9wb3ZlclwiO1xyXG5pbXBvcnQgbWVzc2FnZSBmcm9tIFwiLi4vLi4vYmFzZS9tZXNzYWdlXCI7XHJcbmltcG9ydCBJY29uIGZyb20gXCIuLi8uLi9iYXNlL2NvbW1vbi9JY29uRm9udFwiO1xyXG5pbXBvcnQgeyBpY29uVHlwZSB9IGZyb20gXCIuLi8uLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IEVkaXRvckZvcm0gZnJvbSBcIi4vRm9ybVwiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubW9kdWxlLmxlc3NcIjtcclxuaW1wb3J0IFN0b3JlLCB7IFBhZ2VTdG9yZSwgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgUm93IGZyb20gXCIuLi8uLi9iYXNlL2dyaWQvUm93XCI7XHJcbmltcG9ydCB7XHJcbiAgRG93bk91dGxpbmVkLFxyXG4gIEV5ZU91dGxpbmVkLFxyXG4gIEVkaXRPdXRsaW5lZCxcclxuICBSaWdodE91dGxpbmVkLFxyXG4gIFBsdXNPdXRsaW5lZCxcclxuICBFbGxpcHNpc091dGxpbmVkLFxyXG59IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgeyBnZXRMZXNzLCBnZXROb2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCByZXF1ZXN0IGZyb20gXCJuc2MtcmVxdWVzdFwiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuLi8uLi9jb25maWdcIjtcclxuaW1wb3J0IHsgZ2V0U3RvcmFnZSB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgeyBJRm9ybVByb3BzIH0gZnJvbSBcIi4uLy4uL2Jhc2UvZm9ybS9Gb3JtXCI7XHJcbmltcG9ydCBIZWFkZXJTZWFyY2ggZnJvbSBcIi4uL0hlYWRlclNlYXJjaFwiO1xyXG5pbnRlcmZhY2UgVGFibGVQcm9wcyB7XHJcbiAgYWN0aW9uQ29sdW1uPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrmk43kvZzliJdcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgZmlsdGVyQ29sdW1uPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrov4fmu6TmjInpkq5cclxuICBzaG93Um93U2VsZWN0aW9uPzogYm9vbGVhbjsgLy/mmK/lkKbooajmoLzli77pgInliJdcclxuICBwYWdpbmF0aW9uPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrliIbpobVcclxuICBjb2x1bW5PcmRlcj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S66KGo5qC85bqP5YiXXHJcbiAgW3Byb3BzTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcbmludGVyZmFjZSBUcmVlUHJvcHMge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBzaG93U2VhcmNoPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrmkJzntKLmoYZcclxuICBzZWFyY2hLZXk/OiBzdHJpbmc7IC8v5pCc57SidmFsdWXlr7nlupTnmoRrZXlcclxuICBzZWFyY2hGaWVsZD86IHN0cmluZzsgLy/mn6Xor6Llr7nlupTnmoRrZXlcclxuICB0aXRsZUFsaWFzPzogc3RyaW5nOyAvL+agkXRpdGxl5a+55bqU55qEa2V5LOm7mOiupHRpdGxlXHJcbiAgbm9kZVBvcnBzPzogb2JqZWN0O1xyXG4gIFtwcm9wc05hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5pbnRlcmZhY2UgRm9ybVByb3BzIGV4dGVuZHMgSUZvcm1Qcm9wcyB7fVxyXG5pbnRlcmZhY2UgTlNDQmFzZUJhZ2VQcm9wcyB7XHJcbiAgc2hvd1NlYXJjaD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65aS06YOo5pCc57Si5qCPXHJcbiAgdGFibGVQcm9wcz86IFRhYmxlUHJvcHM7IC8v6KGo5qC85Y+C5pWwXHJcbiAgdHJlZVByb3BzPzogVHJlZVByb3BzOyAvL+W3puS+p+agkeWPguaVsFxyXG4gIHN1Ym1pdFBhcmFtcz86IE9iamVjdDsgLy/mt7vliqDlj4LmlbDvvIzpu5jorqRtb3Rob2Q6cG9zdO+8jCDlj4LmlbDpgJrov4dkYXRh5Lyg6YCSXHJcbiAgc3VibWl0VXJsPzogc3RyaW5nO1xyXG4gIG9uU3VibWl0PzogKHZhbHVlPzogYW55LCBsYWJlbD86IGFueSkgPT4gdm9pZDtcclxuICBjb2x1bW5zOiBBcnJheTxPYmplY3Q+O1xyXG4gIHNob3dMZWZ0PzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrlt6bkvqfnm67lvZXmoJFcclxuICBzaG93VG9vbEJ1dHRvbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65oyJ6ZKu5qCPXHJcbiAgZWRpdG9yRm9ybT86IGJvb2xlYW47IC8v5piv5ZCm6ZyA6KaB6KGo5Y2V5Yqf6IO9ICwg5Li6ZmFsc2Ug57yW6L6R77yM5p+l55yL77yM5paw5aKe5Yqf6IO95Z2H5LiN5Y+v55SoXHJcbiAgZGVsZXRlVXJsPzogc3RyaW5nOyAvL+WIoOmZpHVybFxyXG4gIG9uRGVsZXRlPzogKHNlbGVjdGVkS2V5cz86IEFycmF5PGFueT4pID0+IHZvaWQ7IC8v5Yig6Zmk5Y+C5pWw77yM6buY6K6kbW90aG9kOnBvc3TvvIwg5Y+C5pWw6YCa6L+HaWRz5ou85o6l5Lyg6YCS57uZ5ZCO5Y+wXHJcbiAgZGVsZXRlUGFyYW1zPzogT2JqZWN0O1xyXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xyXG4gIG9uU2VhcmNoPzogKHZhbHVlPzogYW55KSA9PiB2b2lkO1xyXG4gIGluaXREYXRhPzogYW55OyAvL+WIneWni+WMluWbnuiwg+WHveaVsO+8jOWcqGNvbXBvbmVudERpZE1vdW505Lit6LCD55SoXHJcbiAgYnV0dG9ucz86IEFycmF5PHN0cmluZz47IC8v5oyJ6ZKu6ZuG5ZCIICBbJ2FkZCcsJ2RlbGV0ZScsJ3NlYXJjaCcsJ2VkaXRvciddXHJcbiAgb25TaG93Rm9ybT86ICh2YWx1ZT86IGFueSwgZWRpdG9yRmxhZz86IHN0cmluZykgPT4gdm9pZDsgLy/miZPlvIDooajljZXlm57osINcclxuICBvbkhpZGVGb3JtPzogKCkgPT4gdm9pZDsgLy/miZPlvIDooajljZXlm57osINcclxuICBvbkZvcm1DaGFuZ2U/OiAoY2hhbmdlZFZhbHVlcz86IGFueSwgYWxsVmFsdWVzPzogYW55KSA9PiB2b2lkOyAvL+ihqOWNlW9uQ2hhbmdl5Zue6LCDXHJcbiAgZm9ybVR5cGU/OiBcIm1vZGFsXCIgfCBcImRyYXdlclwiO1xyXG4gIGZvcm1DaGFuZ2VWYWxpZD86IGJvb2xlYW47IC8v6KGo5Y2V5qCh6aqMXHJcbiAgY2xhc3NOYW1lPzogYW55O1xyXG4gIHRvb2xCdXR0b25Qb3NpdGlvbj86IFwicmlnaHRcIiB8IFwiYnV0dG9tXCI7XHJcbiAgcGFnZVRpdGxlPzogc3RyaW5nIHwgUmVhY3ROb2RlO1xyXG4gIGZvcm1Qcm9wcz86IEZvcm1Qcm9wcztcclxuICBhY3Rpb25Qb3Jwcz86IHsgdGV4dEFsaWduPzogc3RyaW5nOyBzaG93SWNvbj86IGJvb2xlYW47IHdpZHRoPzogbnVtYmVyIH07XHJcbn1cclxuXHJcbmNsYXNzIEJhc2VQYWdlIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxOU0NCYXNlQmFnZVByb3BzLCBhbnk+IHtcclxuICB0YWJsZVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgdHJlZVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgc2VhcmNoUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBlZGl0b3JSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIGRhdGVGb3JtYXQgPSB7fSBhcyBhbnk7XHJcbiAgY29uc3RydWN0b3IocHJvcHM6IGFueSkge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgbGV0IHsgc3RvcmVQcmVmaXggfSA9IGNvbmZpZygpO1xyXG4gICAgbGV0IHR5cGUgPSBnZXRTdG9yYWdlKFxyXG4gICAgICBzdG9yZVByZWZpeCA/IHN0b3JlUHJlZml4ICsgXCItXCIgKyBcImZvcm1UeXBlXCIgOiBcImZvcm1UeXBlXCJcclxuICAgICk7XHJcbiAgICB0eXBlID0gdHlwZT8uY29udGVudDtcclxuICAgIGxldCBzaXplID0gZ2V0U3RvcmFnZShcclxuICAgICAgc3RvcmVQcmVmaXggPyBzdG9yZVByZWZpeCArIFwiLVwiICsgXCJ0YWJsZVNpemVcIiA6IFwidGFibGVTaXplXCJcclxuICAgICk7XHJcbiAgICBzaXplID0gc2l6ZT8uY29udGVudDtcclxuICAgIHRoaXMuc3RhdGUgPSB7XHJcbiAgICAgIHR5cGU6IFwiYWRkXCIsXHJcbiAgICAgIHNlbGVjdGVkUm93S2V5czogW10sXHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXM6IFtdLFxyXG4gICAgICB0cmVlU2VsZWN0ZWRLZXk6IFwiXCIsXHJcbiAgICAgIGV4cGFuZDogZmFsc2UsXHJcbiAgICAgIGZvcm1UeXBlOiB0eXBlIHx8IFwibW9kYWxcIixcclxuICAgICAgdGFibGVTaXplOiBzaXplIHx8IFwiZGVmYXVsdFwiLFxyXG4gICAgICBzZWxlY3RlZFJvd0tleXNTdG9yZToge30sXHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXNTdG9yZToge30sXHJcbiAgICAgIGN1cnJlbnRQYWdlOiAxLFxyXG4gICAgfTtcclxuICB9XHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGluaXREYXRhIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaW5pdERhdGEgJiYgaW5pdERhdGEoKTtcclxuICB9XHJcblxyXG4gIHNldFNlYXJjaFBhcmFtcyhwYXJhbXMsIGNhbGxCYWNrKSB7XHJcbiAgICB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5zZXRTZWFyY2hQYXJhbXMocGFyYW1zKTtcclxuICAgIGNhbGxCYWNrICYmIGNhbGxCYWNrKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdCA9IChjaGVja2VkVHJlZUtleXM6IGFueSkgPT4ge1xyXG4gICAgY29uc3QgeyBuYW1lLCB1c2VyVHlwZSwgYWNjb3VudCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHZhbHVlID0geyBuYW1lLCB1c2VyVHlwZSwgYWNjb3VudCwgZGVwdElkOiBjaGVja2VkVHJlZUtleXNbMF0gfTtcclxuICAgIHRoaXMudGFibGVMb2FkKHZhbHVlKTtcclxuICB9O1xyXG5cclxuICAvL+aYvuekuuihqOWNlVxyXG4gIHNob3dGb3JtKHZhbHVlPzogYW55LCBlZGl0b3JmbGFnID0gXCJhZGRcIikge1xyXG4gICAgdGhpcy5lZGl0b3JSZWYuY3VycmVudD8uc2hvdyh2YWx1ZSwgZWRpdG9yZmxhZyk7XHJcbiAgfVxyXG5cclxuICAvL+WFs+mXreihqOWNlVxyXG4gIGhpZGVGb3JtKCkge1xyXG4gICAgdGhpcy5lZGl0b3JSZWYuY3VycmVudD8uaGlkZUZvcm0oKTtcclxuICB9XHJcblxyXG4gIHNldExvYWRpbmcobG9hZGluZzogYm9vbGVhbikge1xyXG4gICAgdGhpcy5lZGl0b3JSZWYuY3VycmVudD8uc2V0TG9hZGluZyhsb2FkaW5nKTtcclxuICB9XHJcblxyXG4gIC8v5om56YeP5Yig6ZmkXHJcbiAgb25EZWxldGUoKSB7XHJcbiAgICBjb25zdCB7IGRlbGV0ZVVybCwgb25EZWxldGUsIGRlbGV0ZVBhcmFtcyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dLZXlzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKHNlbGVjdGVkUm93S2V5cy5sZW5ndGggPT0gMCkge1xyXG4gICAgICBtZXNzYWdlLndhcm5pbmcoXCLor7fpgInmi6nopoHliKDpmaTnmoTmlbDmja7vvIFcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChvbkRlbGV0ZSkge1xyXG4gICAgICBvbkRlbGV0ZSAmJiBvbkRlbGV0ZShzZWxlY3RlZFJvd0tleXMpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoIWRlbGV0ZVVybCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzkuI3og73kuLrnqbrvvIFcIik7XHJcbiAgICB9XHJcbiAgICBNb2RhbC5jb25maXJtKHtcclxuICAgICAgdGl0bGU6IFwi5piv5ZCm56Gu6K6k5Yig6Zmk5omA6YCJ6aG577yfXCIsXHJcbiAgICAgIG9rVGV4dDogXCLnoa7orqRcIixcclxuICAgICAgY2FuY2VsVGV4dDogXCLlj5bmtohcIixcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIG9uT2s6ICgpID0+IHtcclxuICAgICAgICBjb25zdCBkZWZhdWx0UGFyYW1zID0ge1xyXG4gICAgICAgICAgbWV0aG9kOiBcInBvc3RcIixcclxuICAgICAgICAgIHBhcmFtczogeyBpZHM6IHNlbGVjdGVkUm93S2V5cy5qb2luKCkgfSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIGxldCByZXF1ZXN0UGFyYW1zID0ge30gYXMgYW55O1xyXG4gICAgICAgIGlmIChkZWZhdWx0UGFyYW1zKSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW1zID0geyAuLi5kZWxldGVQYXJhbXMgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVxdWVzdFBhcmFtcyA9IHsgLi4uZGVmYXVsdFBhcmFtcyB9O1xyXG4gICAgICAgIHJlcXVlc3QoZGVsZXRlVXJsLCB7XHJcbiAgICAgICAgICAuLi5yZXF1ZXN0UGFyYW1zLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgICAudGhlbihmdW5jdGlvbiAocmVzOiBhbnkpIHtcclxuICAgICAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgICAgIGlmIChjb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoXCLliKDpmaTmiJDlip/vvIFcIik7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgbWVzc2FnZS5lcnJvcihcIuWIoOmZpOWksei0pe+8gVwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIC5jYXRjaChmdW5jdGlvbiAoZXJyb3I6IGFueSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycm9yKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHRhYmxlTG9hZChwYXJhbXM6IGFueSkge1xyXG4gICAgdGhpcy50YWJsZVJlZi5jdXJyZW50Py5zdG9yZS5sb2FkKHtcclxuICAgICAgcGFyYW1zOiBwYXJhbXMsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgLy/mn6Xor6JcclxuICBvblNlYXJjaChwYXJhbXMpIHtcclxuICAgIGNvbnN0IHsgb25TZWFyY2ggfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAob25TZWFyY2gpIHtcclxuICAgICAgb25TZWFyY2gocGFyYW1zKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy50YWJsZUxvYWQocGFyYW1zKTtcclxuICB9XHJcbiAgLy/ooajmoLzph43mlrDliqDovb1cclxuICB0YWJsZVJlbG9hZChwYXJhbXMgPSB7fSwgYXV0b0xvYWQgPSB0cnVlKSB7XHJcbiAgICB0aGlzLnRhYmxlUmVmLmN1cnJlbnQ/LnN0b3JlLnJlbG9hZCh7XHJcbiAgICAgIGNhbGxiYWNrOiAocmVzKSA9PiB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgYXV0b0xvYWQgJiZcclxuICAgICAgICAgIHJlcz8uZGF0YT8ucmVjb3Jkcz8ubGVuZ3RoID09IDAgJiZcclxuICAgICAgICAgIHRoaXMuc3RhdGUuY3VycmVudFBhZ2UgIT09IDFcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMudGFibGVSZWYuY3VycmVudD8uc3RvcmUucmVsb2FkKHtcclxuICAgICAgICAgICAgcGFyYW1zOiB7IGN1cnJlbnQ6IDEsIC4uLnBhcmFtcyB9LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGdldFNlbGVjdGVkUm93S2V5cygpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnNlbGVjdGVkUm93S2V5cztcclxuICB9XHJcbiAgZ2V0U2VsZWN0ZWRSb3dEYXRhcygpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnNlbGVjdGVkUm93RGF0YXM7XHJcbiAgfVxyXG4gIHJlc2V0U2VsZWN0ZWRSb3dLZXlzKCkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHNlbGVjdGVkUm93S2V5czogW10sXHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXM6IFtdLFxyXG4gICAgICBzZWxlY3RlZFJvd0tleXNTdG9yZToge30sXHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXNTdG9yZToge30sXHJcbiAgICAgIGN1cnJlbnRQYWdlOiAxLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNldFNlbGVjdGVkUm93S2V5cyhkYXRhKSB7XHJcbiAgICBjb25zdCB7IGN1cnJlbnRQYWdlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHNlbGVjdGVkUm93S2V5czogZGF0YSxcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzU3RvcmU6IHsgW2N1cnJlbnRQYWdlXTogZGF0YSB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNldFNlbGVjdGVkUm93RGF0YXMoZGF0YSkge1xyXG4gICAgY29uc3QgeyBjdXJyZW50UGFnZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RlZFJvd0RhdGFzOiBkYXRhLFxyXG4gICAgICBzZWxlY3RlZFJvd0RhdGFzU3RvcmU6IHsgW2N1cnJlbnRQYWdlXTogZGF0YSB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGdldFNlYXJjaFZhbHVlcygpIHtcclxuICAgIGNvbnN0IGZyb21WYWx1ZSA9IHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LmdldFNlYXJjaFZhbHVlcygpO1xyXG4gICAgcmV0dXJuIGZyb21WYWx1ZTtcclxuICB9XHJcblxyXG4gIGdldENoaWxkcmVuRGF0YShkYXRhLCBrZXlzID0gW10pIHtcclxuICAgIGNvbnN0IHsgdGFibGVQcm9wcyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgcm93S2V5ID0gXCJpZFwiIH0gPSB0YWJsZVByb3BzO1xyXG4gICAgbGV0IHJlc0tleSA9IFtdO1xyXG4gICAgaWYgKGRhdGEuY2hpbGROb2Rlcykge1xyXG4gICAgICBjb25zdCBjaGlsZHJlbiA9IGRhdGEuY2hpbGROb2RlcztcclxuICAgICAgY2hpbGRyZW4ubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtLmNoaWxkTm9kZXMpIHtcclxuICAgICAgICAgIHRoaXMuZ2V0Q2hpbGRyZW5EYXRhKGl0ZW0uY2hpbGROb2Rlcywga2V5cyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlc0tleSA9IFsuLi5rZXlzLCBpdGVtW3Jvd0tleV1dO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXNLZXkgPSBbLi4ua2V5cywgZGF0YVtyb3dLZXldXTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXNLZXk7XHJcbiAgfVxyXG5cclxuICByZW5kZXJUb29sQnV0dG9ucyh0b29sYnV0dG9uczogYW55LCBtYXJnaW5mbGFnID0gZmFsc2UpIHtcclxuICAgIGNvbnN0IGZsYWcgPSB0b29sYnV0dG9ucy5sZW5ndGggPiA1O1xyXG4gICAgY29uc3QgeyBzaG93U2VhcmNoID0gdHJ1ZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGNvbnRlbnQgPSB0b29sYnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNoaWxkcmVuLCBwYWdlVHlwZSwgb25DbGljaywgaWNvbiwgc2hvdywgLi4ucGFyYW1zIH0gPSBpdGVtLnByb3BzO1xyXG4gICAgICBpZiAoaW5kZXggPiA0KSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHMoXHJcbiAgICAgICAgICAgICAgZ2V0TGVzcyhzdHlsZXMsIFwiZWRpdG9yXCIpLFxyXG4gICAgICAgICAgICAgIGdldExlc3Moc3R5bGVzLCBcImNvbnRlbnQtaXRlbVwiKVxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgb25DbGljayAmJiBvbkNsaWNrKCk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX0+e2ljb259PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRleHRcIil9PntjaGlsZHJlbn08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJ0b29sLWJ1dHRvbnNcIiksIHtcclxuICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJ0b29sLWJ1dHRvbnMtbWFyZ2luXCIpXTogIXNob3dTZWFyY2ggfHwgbWFyZ2luZmxhZyxcclxuICAgICAgICB9KX1cclxuICAgICAgICBzdHlsZT17eyBtYXJnaW5MZWZ0OiAwIH19XHJcbiAgICAgID5cclxuICAgICAgICB7dG9vbGJ1dHRvbnMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgICAgIGlmIChpbmRleCA8IDQpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gPGRpdiBrZXk9e2luZGV4fT57aXRlbX08L2Rpdj47XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5kZXggPT0gNCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICA8UG9wb3ZlclxyXG4gICAgICAgICAgICAgICAgICBjb250ZW50PXtjb250ZW50fVxyXG4gICAgICAgICAgICAgICAgICB0aXRsZT17bnVsbH1cclxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcclxuICAgICAgICAgICAgICAgICAgdHJpZ2dlcj17W1wiY2xpY2tcIl19XHJcbiAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgICAgICAgIC8vIG92ZXJsYXlDbGFzc05hbWU9e3N0eWxlc1sncG9wLWJveCddfVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8QnV0dG9uIHR5cGU9XCJwcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAg5pu05aSaIDxEb3duT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L1BvcG92ZXI+XHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIDxkaXYga2V5PXtpbmRleH0+e2l0ZW19PC9kaXY+O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pfVxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgfVxyXG4gIHJlbmRlckNsb3VtbkJ1dHRvbihjb2x1bW5CdXR0b25zOiBhbnksIHJlY29yZDogYW55KSB7XHJcbiAgICBjb25zdCB7IGVkaXRvckZvcm0gPSB0cnVlLCBidXR0b25zID0gW10sIGFjdGlvblBvcnBzIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBiYXNlQWN0aW9uQ29sdW1uIH0gPSBjb25maWcoKTtcclxuICAgIGNvbnN0IG5ld0J1dHRvbnMgPSBbXTtcclxuICAgIGxldCBzaG93SWNvbiA9IHRydWU7XHJcbiAgICBpZiAoYWN0aW9uUG9ycHM/LnNob3dJY29uID09PSBmYWxzZSkgc2hvd0ljb24gPSBmYWxzZTtcclxuICAgIGVsc2UgaWYgKGJhc2VBY3Rpb25Db2x1bW4uc2hvd0ljb24gPT09IGZhbHNlKSBzaG93SWNvbiA9IGZhbHNlO1xyXG4gICAgY29sdW1uQnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNoaWxkcmVuLCBwYWdlVHlwZSwgb25DbGljaywgaWNvbiwgcmVjb3JkU2hvdywgLi4ucGFyYW1zIH0gPVxyXG4gICAgICAgIGl0ZW0ucHJvcHM7XHJcbiAgICAgIGlmIChyZWNvcmRTaG93KSB7XHJcbiAgICAgICAgaWYgKGV2YWwocmVjb3JkU2hvdykpIHtcclxuICAgICAgICAgIG5ld0J1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbmV3QnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGZsYWcgPSBuZXdCdXR0b25zLmxlbmd0aCA+IDM7XHJcblxyXG4gICAgY29uc3QgY29udGVudCA9IG5ld0J1dHRvbnMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgeyBjaGlsZHJlbiwgcGFnZVR5cGUsIG9uQ2xpY2ssIHJlY29yZFNob3csIGljb24sIHNob3csIC4uLnBhcmFtcyB9ID1cclxuICAgICAgICBpdGVtLnByb3BzO1xyXG4gICAgICBpZiAoaW5kZXggPiAyKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHMoXHJcbiAgICAgICAgICAgICAgZ2V0TGVzcyhzdHlsZXMsIFwiZWRpdG9yXCIpLFxyXG4gICAgICAgICAgICAgIGdldExlc3Moc3R5bGVzLCBcImNvbnRlbnQtaXRlbVwiKVxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgb25DbGljayAmJiBvbkNsaWNrKHJlY29yZCk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHtzaG93SWNvbiAhPT0gZmFsc2UgJiYgKFxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX0+e2ljb259PC9zcGFuPlxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRleHRcIil9PntjaGlsZHJlbn08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbmV3QnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNoaWxkcmVuLCBwYWdlVHlwZSwgb25DbGljaywgcmVjb3JkU2hvdywgaWNvbiwgLi4ucGFyYW1zIH0gPVxyXG4gICAgICAgIGl0ZW0ucHJvcHM7XHJcbiAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgaWYgKGluZGV4IDwgMykge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKSwge1xyXG4gICAgICAgICAgICAgICAgW2dldExlc3Moc3R5bGVzLCBcImVkaXRvcl9maXJzdFwiKV06IGluZGV4ID09PSAwLFxyXG4gICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgb25DbGljayAmJiBvbkNsaWNrKHJlY29yZCk7XHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge3Nob3dJY29uICE9PSBmYWxzZSAmJiAoXHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9PntpY29ufTwvc3Bhbj5cclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwidGV4dFwiKX0+e2NoaWxkcmVufTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaW5kZXggPT0gMykge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPFBvcG92ZXJcclxuICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxyXG4gICAgICAgICAgICAgIHRpdGxlPXtudWxsfVxyXG4gICAgICAgICAgICAgIGNvbnRlbnQ9e2NvbnRlbnR9XHJcbiAgICAgICAgICAgICAgdHJpZ2dlcj17W1wiY2xpY2tcIl19XHJcbiAgICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgICAvLyBvdmVybGF5Q2xhc3NOYW1lPXtzdHlsZXNbJ3BvcCddfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKX0+XHJcbiAgICAgICAgICAgICAgICA8RWxsaXBzaXNPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L1BvcG92ZXI+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHMoZ2V0TGVzcyhzdHlsZXMsIFwiZWRpdG9yXCIpLCB7XHJcbiAgICAgICAgICAgICAgW2dldExlc3Moc3R5bGVzLCBcImVkaXRvcl9maXJzdFwiKV06IGluZGV4ID09PSAwLFxyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIG9uQ2xpY2sgJiYgb25DbGljayhyZWNvcmQpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7c2hvd0ljb24gIT09IGZhbHNlICYmIChcclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9PntpY29ufTwvc3Bhbj5cclxuICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJ0ZXh0XCIpfT57Y2hpbGRyZW59PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG4gIC8v5qCR54K55Ye75LqL5Lu2XHJcbiAgdHJlZVNlbGVjdChzZWxlY3RlZEtleXM6IGFueSwgeyBzZWxlY3RlZCwgc2VsZWN0ZWROb2RlcyB9OiBhbnkpIHtcclxuICAgIGxldCBrZXl3b3JkID0gXCJcIjtcclxuICAgIGNvbnN0IHsgc2VhcmNoS2V5ID0gXCJrZXlcIiwgc2VhcmNoRmllbGQgPSBcIlwiIH0gPSB0aGlzLnByb3BzLnRyZWVQcm9wcztcclxuICAgIGNvbnN0IHsgdHJlZVNlbGVjdGVkS2V5IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgIGlmIChzZWxlY3RlZE5vZGVzWzBdLmlzTGVhZiB8fCAhc2VsZWN0ZWROb2Rlc1swXS5jaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChzZWxlY3RlZEtleXNbMF0gIT09IHRyZWVTZWxlY3RlZEtleSkge1xyXG4gICAgICAgICAga2V5d29yZCA9IHNlbGVjdGVkTm9kZXNbMF0uZGF0YXJlZi5hdHRyaWJ1dGVbc2VhcmNoS2V5XTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICB0cmVlU2VsZWN0ZWRLZXk6IHNlbGVjdGVkS2V5c1swXSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgdHJlZVNlbGVjdGVkS2V5OiBrZXl3b3JkLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGNvbnN0IGZyb21WYWx1ZSA9IHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBzZWFyY2hGaWVsZCAmJiB0aGlzLnRhYmxlTG9hZCh7IC4uLmZyb21WYWx1ZSwgW3NlYXJjaEZpZWxkXToga2V5d29yZCB9KTtcclxuICB9XHJcbiAgcmVzZXRTZWFyY2goKSB7XHJcbiAgICB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5yZXNldEZpZWxkcygpO1xyXG4gIH1cclxuICBnZXRUZXh0KHByb3BzLCB0ZXh0KSB7XHJcbiAgICBsZXQgbmV3VGV4dCA9IHRleHQ7XHJcbiAgICBpZiAocHJvcHM/LmRhdGEgJiYgcHJvcHM/LmRhdGE/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IGRhdGEgPSBwcm9wcy5kYXRhO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGE/Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKGRhdGFbaV0udmFsdWUgPT0gdGV4dCkge1xyXG4gICAgICAgICAgbmV3VGV4dCA9IGRhdGFbaV0ubGFiZWw7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3VGV4dDtcclxuICB9XHJcbiAgc2V0VGFibGVEYXRhKGRhdGEpIHtcclxuICAgIHRoaXMudGFibGVSZWYuY3VycmVudD8uc3RvcmUuc2V0RGF0YShkYXRhKTtcclxuICB9XHJcbiAgc2V0VHJlZURhdGEoZGF0YSkge1xyXG4gICAgdGhpcy50cmVlUmVmLmN1cnJlbnQ/LnN0b3JlLnNldERhdGEoZGF0YSk7XHJcbiAgfVxyXG4gIGdldFNlbGVjdGVkS2V5ID0gKHNlbGVjdGVkKSA9PiB7XHJcbiAgICBsZXQgcmVzID0gW107XHJcbiAgICBmb3IgKGxldCBrZXkgaW4gc2VsZWN0ZWQpIHtcclxuICAgICAgY29uc3Qga2V5cyA9IHNlbGVjdGVkW2tleV07XHJcbiAgICAgIGlmIChrZXlzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICByZXMgPSBbLi4ucmVzLCAuLi5rZXlzXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlcztcclxuICB9O1xyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgY29sdW1ucyA9IFtdLFxyXG4gICAgICBzaG93U2VhcmNoID0gdHJ1ZSxcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICAgIHN1Ym1pdFVybCA9IFwiXCIsXHJcbiAgICAgIHRhYmxlUHJvcHMgPSB7fSxcclxuICAgICAgdHJlZVByb3BzID0ge30sXHJcbiAgICAgIGZvcm1Qcm9wcyA9IHt9LFxyXG4gICAgICBzaG93TGVmdCA9IGZhbHNlLFxyXG4gICAgICBzdWJtaXRQYXJhbXMgPSB7fSxcclxuICAgICAgc2hvd1Rvb2xCdXR0b24gPSB0cnVlLFxyXG4gICAgICBidXR0b25zID0gW10sXHJcbiAgICAgIGVkaXRvckZvcm0gPSB0cnVlLFxyXG4gICAgICBvblNob3dGb3JtLFxyXG4gICAgICBmb3JtQ2hhbmdlVmFsaWQgPSB0cnVlLFxyXG4gICAgICBjbGFzc05hbWUsXHJcbiAgICAgIHRvb2xCdXR0b25Qb3NpdGlvbiA9IFwiYnV0dG9tXCIsXHJcbiAgICAgIGFjdGlvblBvcnBzLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIGZpbHRlckNvbHVtbiA9IHRydWUsXHJcbiAgICAgIGFjdGlvbkNvbHVtbiA9IHRydWUsXHJcbiAgICAgIHNob3dSb3dTZWxlY3Rpb24gPSB0cnVlLFxyXG4gICAgICBjb2x1bW5PcmRlciA9IHRydWUsXHJcbiAgICAgIHJvd1NlbGVjdGlvbiA9IHt9LFxyXG4gICAgICBleHBhbmRhYmxlID0ge30sXHJcbiAgICAgIC4uLm90aGVydGFibGVQYXJhbXNcclxuICAgIH0gPSB0YWJsZVByb3BzO1xyXG5cclxuICAgIGNvbnN0IHtcclxuICAgICAgc3RvcmU6IHRyZWVTdG9yZSA9IHt9LFxyXG4gICAgICBzaG93U2VhcmNoOiB0cmVlU2VhcmNoID0gdHJ1ZSxcclxuICAgICAgdGl0bGVBbGlhcyA9IFwidGl0bGVcIixcclxuICAgICAgLi4ub3RoZXJ0cmVlUGFyYW1zXHJcbiAgICB9ID0gdHJlZVByb3BzO1xyXG5cclxuICAgIGxldCB0YWJsZVBhcmFtcyA9IHsgZmlsdGVyQ29sdW1uLCBzdG9yZSwgLi4ub3RoZXJ0YWJsZVBhcmFtcyB9IGFzIGFueTtcclxuICAgIGlmIChzaG93Um93U2VsZWN0aW9uKSB7XHJcbiAgICAgIHRhYmxlUGFyYW1zID0ge1xyXG4gICAgICAgIC4uLnRhYmxlUGFyYW1zLFxyXG4gICAgICAgIHJvd1NlbGVjdGlvbjoge1xyXG4gICAgICAgICAgc2VsZWN0ZWRSb3dLZXlzOiB0aGlzLnN0YXRlLnNlbGVjdGVkUm93S2V5cyxcclxuICAgICAgICAgIG9uQ2hhbmdlOiAoc2VsZWN0ZWRSb3dLZXlzLCBzZWxlY3RlZFJvd3MpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXNTdG9yZSwgc2VsZWN0ZWRSb3dEYXRhc1N0b3JlLCBjdXJyZW50UGFnZSB9ID1cclxuICAgICAgICAgICAgICB0aGlzLnN0YXRlO1xyXG4gICAgICAgICAgICBjb25zdCBuZXdSb3dLZXlzU3RvcmUgPSB7XHJcbiAgICAgICAgICAgICAgLi4uc2VsZWN0ZWRSb3dLZXlzU3RvcmUsXHJcbiAgICAgICAgICAgICAgW2N1cnJlbnRQYWdlXTogc2VsZWN0ZWRSb3dLZXlzLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBjb25zdCBuZXdSb3dEYXRhc1N0b3JlID0ge1xyXG4gICAgICAgICAgICAgIC4uLnNlbGVjdGVkUm93RGF0YXNTdG9yZSxcclxuICAgICAgICAgICAgICBbY3VycmVudFBhZ2VdOiBzZWxlY3RlZFJvd3MsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgIHNlbGVjdGVkUm93S2V5czogdGhpcy5nZXRTZWxlY3RlZEtleShuZXdSb3dLZXlzU3RvcmUpLFxyXG4gICAgICAgICAgICAgIHNlbGVjdGVkUm93RGF0YXM6IHRoaXMuZ2V0U2VsZWN0ZWRLZXkobmV3Um93RGF0YXNTdG9yZSksXHJcbiAgICAgICAgICAgICAgc2VsZWN0ZWRSb3dLZXlzU3RvcmU6IHtcclxuICAgICAgICAgICAgICAgIC4uLm5ld1Jvd0tleXNTdG9yZSxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHNlbGVjdGVkUm93RGF0YXNTdG9yZToge1xyXG4gICAgICAgICAgICAgICAgLi4ubmV3Um93RGF0YXNTdG9yZSxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBjb2x1bW5XaWR0aDogNDAsXHJcbiAgICAgICAgICBjaGVja1N0cmljdGx5OiBmYWxzZSxcclxuICAgICAgICAgIC4uLnJvd1NlbGVjdGlvbixcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgbGV0IHRhYmxlQ29sdW1uOiBhbnlbXSA9IFtdO1xyXG4gICAgY29uc3Qgc2VhcmNoRm9ybXM6IGFueSA9IFtdO1xyXG4gICAgY29uc3QgZWRpdG9yRm9ybXM6IGFueSA9IFtdO1xyXG4gICAgY29uc3QgZGVmYXVsdFZhbHVlOiBhbnkgPSB7fTtcclxuICAgIGNvbnN0IGNvbHVtbkJ1dHRvbnM6IGFueSA9IFtdO1xyXG4gICAgY29sdW1ucy5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBsZXQgdGVtcCA9IHsgLi4uaXRlbSB9O1xyXG4gICAgICBpZiAodGVtcC5zZWFyY2gpIHtcclxuICAgICAgICBzZWFyY2hGb3Jtcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IHRlbXAuZmllbGQgfHwgdGVtcC5kYXRhSW5kZXgsXHJcbiAgICAgICAgICBsYWJlbDogdGVtcC50aXRsZSxcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHByb3BzOiB0ZW1wLnByb3BzLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnNlYXJjaDtcclxuICAgICAgdGVtcC5lZGl0b3IgIT09IGZhbHNlICYmXHJcbiAgICAgICAgZWRpdG9yRm9ybXMucHVzaCh7XHJcbiAgICAgICAgICBuYW1lOiB0ZW1wLmZpZWxkIHx8IHRlbXAuZGF0YUluZGV4LFxyXG4gICAgICAgICAgbGFiZWw6IHRlbXAudGl0bGUsXHJcbiAgICAgICAgICBydWxlczogdGVtcC5ydWxlcyA/IHRlbXAucnVsZXMgOiBbXSxcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHNwYW46IHRlbXAuc3BhbixcclxuICAgICAgICAgIGRpY3ROYW1lOiB0ZW1wLmRpY3ROYW1lLFxyXG4gICAgICAgICAgcHJvcHM6IG9taXQoeyAuLi50ZW1wLnByb3BzIH0sIFtcImRlZmF1bHRWYWx1ZVwiLCBcInZhbHVlXCJdKSxcclxuICAgICAgICB9KTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRlbXAucHJvcHM/LmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgICAgdGVtcC5wcm9wcz8uZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICkge1xyXG4gICAgICAgIGNvbnN0IG5hbWUgPSB0ZW1wLmZpZWxkIHx8IHRlbXAuZGF0YUluZGV4O1xyXG4gICAgICAgIGRlZmF1bHRWYWx1ZVtuYW1lXSA9IHRlbXAucHJvcHM/LmRlZmF1bHRWYWx1ZTtcclxuICAgICAgfVxyXG4gICAgICBkZWxldGUgdGVtcC5ydWxlcztcclxuICAgICAgZGVsZXRlIHRlbXAuc3BhbjtcclxuICAgICAgaWYgKHRlbXAuY29sdW1uU2VhcmNoKSB7XHJcbiAgICAgICAgdGVtcC5maWx0ZXJQcm9wcyA9IHtcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHByb3BzOiB0ZW1wLnByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgZGVsZXRlIHRlbXAudHlwZTtcclxuICAgICAgbGV0IHRlbXBQcm9wID0geyAuLi50ZW1wLnByb3BzIH07XHJcbiAgICAgIGlmICh0ZW1wLnN0eWxlKSB7XHJcbiAgICAgICAgdGVtcCA9IHtcclxuICAgICAgICAgIHJlbmRlcjogKHRleHQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgIDw+XHJcbiAgICAgICAgICAgICAgICB7dGV4dCAhPT0gXCJcIiAmJiB0ZXh0ICE9PSBudWxsICYmIHRleHQgIT09IHVuZGVmaW5lZCAmJiAoXHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiY29sLWJhY2tcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiY29sLXRleHRcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgICAge3RoaXMuZ2V0VGV4dCh0ZW1wUHJvcCwgdGV4dCl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvPlxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVsbGlwc2lzOiB0cnVlLFxyXG4gICAgICAgICAgLi4udGVtcCxcclxuICAgICAgICB9O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRlbXAgPSB7XHJcbiAgICAgICAgICByZW5kZXI6ICh0ZXh0OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIDw+e3RoaXMuZ2V0VGV4dCh0ZW1wUHJvcCwgdGV4dCl9PC8+O1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnRlbXAsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICBkZWxldGUgdGVtcC5wcm9wcztcclxuICAgICAgaWYgKHRlbXA/LmNvbHVtblNob3cgIT09IGZhbHNlKSB0YWJsZUNvbHVtbi5wdXNoKHRlbXApO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBzZWxmQnV0dG9uczogYW55ID0gW107XHJcbiAgICBjb25zdCB7IGJhc2VBY3Rpb25Db2x1bW4gfSA9IGNvbmZpZygpO1xyXG4gICAgbGV0IHNob3dJY29uID0gdHJ1ZTtcclxuICAgIGlmIChhY3Rpb25Qb3Jwcz8uc2hvd0ljb24gPT09IGZhbHNlKSBzaG93SWNvbiA9IGZhbHNlO1xyXG4gICAgZWxzZSBpZiAoYmFzZUFjdGlvbkNvbHVtbi5zaG93SWNvbiA9PT0gZmFsc2UpIHNob3dJY29uID0gZmFsc2U7XHJcbiAgICBpZiAoZWRpdG9yRm9ybSA9PSB0cnVlKSB7XHJcbiAgICAgIGlmIChidXR0b25zLmluZGV4T2YoXCJzZWFyY2hcIikgPiAtMSkge1xyXG4gICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChcclxuICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgb25DbGljaz17KHJlY29yZDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKG9uU2hvd0Zvcm0pIHtcclxuICAgICAgICAgICAgICAgIG9uU2hvd0Zvcm0ocmVjb3JkLmF0dHJpYnV0ZSB8fCByZWNvcmQsIFwiZGV0YWlsXCIpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLnNob3dGb3JtKHJlY29yZC5hdHRyaWJ1dGUgfHwgcmVjb3JkLCBcImRldGFpbFwiKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgaWNvbj17PEV5ZU91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICDmn6XnnItcclxuICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGJ1dHRvbnMuaW5kZXhPZihcImVkaXRvclwiKSA+IC0xKSB7XHJcbiAgICAgICAgY29sdW1uQnV0dG9ucy5wdXNoKFxyXG4gICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICBvbkNsaWNrPXsocmVjb3JkOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBpZiAob25TaG93Rm9ybSkge1xyXG4gICAgICAgICAgICAgICAgb25TaG93Rm9ybShyZWNvcmQuYXR0cmlidXRlIHx8IHJlY29yZCwgXCJlZGl0b3JcIik7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0Zvcm0ocmVjb3JkLmF0dHJpYnV0ZSB8fCByZWNvcmQsIFwiZWRpdG9yXCIpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICBpY29uPXs8RWRpdE91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICDnvJbovpFcclxuICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChidXR0b25zLmluZGV4T2YoXCJhZGRcIikgPiAtMSkge1xyXG4gICAgICBzZWxmQnV0dG9ucy5wdXNoKFxyXG4gICAgICAgIDxCdXR0b25cclxuICAgICAgICAgIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB7IG9uU2hvd0Zvcm0gfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgICAgICAgIGlmIChvblNob3dGb3JtKSB7XHJcbiAgICAgICAgICAgICAgb25TaG93Rm9ybSgpO1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNob3dGb3JtKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgaWNvbj17PFBsdXNPdXRsaW5lZCAvPn1cclxuICAgICAgICA+XHJcbiAgICAgICAgICDmt7vliqBcclxuICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmIChidXR0b25zLmluZGV4T2YoXCJkZWxldGVcIikgPiAtMSkge1xyXG4gICAgICBzZWxmQnV0dG9ucy5wdXNoKFxyXG4gICAgICAgIDxCdXR0b25cclxuICAgICAgICAgIC8vIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgb25DbGljaz17dGhpcy5vbkRlbGV0ZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUuZGVsZXRlM30gLz59XHJcbiAgICAgICAgICBkYW5nZXJcclxuICAgICAgICA+XHJcbiAgICAgICAgICDliKDpmaRcclxuICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xyXG4gICAgICBjaGlsZHJlbi5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJ0b29sQnV0dG9uXCIpIHtcclxuICAgICAgICAgIHNlbGZCdXR0b25zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJjbG91bW5CdXR0b25cIikge1xyXG4gICAgICAgICAgY29sdW1uQnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIGNvbnN0IHsgcHJvcHMgfTogYW55ID0gY2hpbGRyZW47XHJcbiAgICAgIGlmIChwcm9wcz8ucGFnZVR5cGUgPT0gXCJ0b29sQnV0dG9uXCIpIHtcclxuICAgICAgICBzZWxmQnV0dG9ucy5wdXNoKGNoaWxkcmVuKTtcclxuICAgICAgfSBlbHNlIGlmIChwcm9wcz8ucGFnZVR5cGUgPT0gXCJjbG91bW5CdXR0b25cIikge1xyXG4gICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGFjdGlvbkNvbHVtbiAmJlxyXG4gICAgICB0YWJsZUNvbHVtbi5wdXNoKHtcclxuICAgICAgICB0aXRsZTogXCLmk43kvZxcIixcclxuICAgICAgICBkYXRhSW5kZXg6IFwiYWN0aW9uXCIsXHJcbiAgICAgICAgYWxpZ246IGFjdGlvblBvcnBzPy50ZXh0QWxpZ25cclxuICAgICAgICAgID8gYWN0aW9uUG9ycHM/LnRleHRBbGlnblxyXG4gICAgICAgICAgOiBiYXNlQWN0aW9uQ29sdW1uLnRleHRBbGlnblxyXG4gICAgICAgICAgPyBiYXNlQWN0aW9uQ29sdW1uLnRleHRBbGlnblxyXG4gICAgICAgICAgOiBcImNlbnRlclwiLFxyXG4gICAgICAgIHdpZHRoOiBhY3Rpb25Qb3Jwcz8ud2lkdGhcclxuICAgICAgICAgID8gYWN0aW9uUG9ycHM/LndpZHRoXHJcbiAgICAgICAgICA6IGJhc2VBY3Rpb25Db2x1bW4ud2lkdGhcclxuICAgICAgICAgID8gYmFzZUFjdGlvbkNvbHVtbi53aWR0aFxyXG4gICAgICAgICAgOiAyMDAsXHJcbiAgICAgICAgZml4ZWQ6IFwicmlnaHRcIixcclxuICAgICAgICBlbGxpcHNpczogdHJ1ZSxcclxuICAgICAgICByZW5kZXI6ICh0ZXh0OiBhbnksIHJlY29yZDogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiYWN0aW9uXCIpfT5cclxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJDbG91bW5CdXR0b24oY29sdW1uQnV0dG9ucywgcmVjb3JkKX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgaWYgKGNvbHVtbk9yZGVyKVxyXG4gICAgICB0YWJsZUNvbHVtbiA9IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICB0aXRsZTogXCLluo/lj7dcIixcclxuICAgICAgICAgIHdpZHRoOiA4MCxcclxuICAgICAgICAgIGFsaWduOiBcImNlbnRlclwiLFxyXG4gICAgICAgICAgcmVuZGVyOiAodGV4dCwgcmVhY29yZCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIDw+e2luZGV4ICsgMX08Lz47XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLi4udGFibGVDb2x1bW4sXHJcbiAgICAgIF07XHJcblxyXG4gICAgaWYgKHRhYmxlUHJvcHMucGFnaW5hdGlvbiAhPT0gZmFsc2UpIHtcclxuICAgICAgLy8gc2Nyb2xsPXt7IHg6IFwibWF4LWNvbnRlbnRcIiwgeTogXCIyNXZ3XCIgfX1cclxuICAgICAgLy/orqHnrpfooajmoLzpq5jluqZcclxuICAgICAgbGV0IHRhYmxlSGVpZ2h0ID0gZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHQgLSAxNjA7IC8v5pW05L2T6aG16Z2i6auY5bqmLGxheW91dOWktOmDqO+8jHBhZGRpbmdcclxuICAgICAgaWYgKHRoaXMucHJvcHMucGFnZVRpdGxlKSB7XHJcbiAgICAgICAgdGFibGVIZWlnaHQgPSB0YWJsZUhlaWdodCAtIDU4OyAvL+WHj+WOu+mhtemdouagh+mimOmrmOW6plxyXG4gICAgICB9XHJcbiAgICAgIGlmIChzaG93U2VhcmNoKSB7XHJcbiAgICAgICAgdGFibGVIZWlnaHQgPSB0YWJsZUhlaWdodCAtIDY4OyAvL+WHj+WOu+aQnOe0ouagj+mrmOW6plxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnByb3BzLnNob3dUb29sQnV0dG9uKSB7XHJcbiAgICAgICAgLy/lh4/ljrvlt6XlhbfmoI/pq5jluqZcclxuICAgICAgICB0YWJsZUhlaWdodCA9IHRhYmxlSGVpZ2h0IC0gNDI7XHJcbiAgICAgIH1cclxuICAgICAgdGFibGVIZWlnaHQgPSB0YWJsZUhlaWdodCAtIDU1IC0gNzU7IC8v5YeP5Y676KGo5aS05ZKM5YiG6aCB6auY5bqmXHJcbiAgICAgIHRhYmxlUGFyYW1zID0ge1xyXG4gICAgICAgIHNjcm9sbDogeyB4OiBcIm1heC1jb250ZW50XCIsIHk6IHRhYmxlSGVpZ2h0IH0sXHJcbiAgICAgICAgLi4udGFibGVQYXJhbXMsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcInBhZ2VcIiksIGNsYXNzTmFtZSl9PlxyXG4gICAgICAgIHt0aGlzLnByb3BzLnBhZ2VUaXRsZSAmJiAoXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcInBhZ2UtdGl0bGVcIikpfT5cclxuICAgICAgICAgICAge3RoaXMucHJvcHMucGFnZVRpdGxlfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKX1cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJwYWdlLXBhbmVcIikpfVxyXG4gICAgICAgICAgc3R5bGU9e3sgZGlzcGxheTogXCJmbGV4XCIgfX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7c2hvd0xlZnQgJiYgKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwibGVmdFwiKX0+XHJcbiAgICAgICAgICAgICAgPFRyZWVcclxuICAgICAgICAgICAgICAgIHN0b3JlPXt7IC4uLnRyZWVTdG9yZSB9fVxyXG4gICAgICAgICAgICAgICAgc2hvd0ljb249e2ZhbHNlfVxyXG4gICAgICAgICAgICAgICAgY2hlY2thYmxlPXtmYWxzZX1cclxuICAgICAgICAgICAgICAgIHNlYXJjaGFibGU9e3RyZWVTZWFyY2h9XHJcbiAgICAgICAgICAgICAgICBvblNlbGVjdD17dGhpcy50cmVlU2VsZWN0LmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICBzZWxlY3RlZEtleXM9e1t0aGlzLnN0YXRlLnRyZWVTZWxlY3RlZEtleV19XHJcbiAgICAgICAgICAgICAgICB0aXRsZUFsaWFzPXt0aXRsZUFsaWFzfVxyXG4gICAgICAgICAgICAgICAgey4uLm90aGVydHJlZVBhcmFtc31cclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcInJpZ2h0XCIpLCB7XHJcbiAgICAgICAgICAgICAgW2dldExlc3Moc3R5bGVzLCBcIm5vLWxlZnQtcmlnaHRcIildOiAhc2hvd0xlZnQsXHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7c2hvd1NlYXJjaCAmJiAoXHJcbiAgICAgICAgICAgICAgPEhlYWRlclNlYXJjaFxyXG4gICAgICAgICAgICAgICAgc2VhcmNoRm9ybXM9e3NlYXJjaEZvcm1zfVxyXG4gICAgICAgICAgICAgICAgdG9vbEJ1dHRvblBvc2l0aW9uPXt0b29sQnV0dG9uUG9zaXRpb259XHJcbiAgICAgICAgICAgICAgICBvblNlYXJjaD17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgICAgcmVmPXt0aGlzLnNlYXJjaFJlZn1cclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICApfVxyXG5cclxuICAgICAgICAgICAge3Nob3dUb29sQnV0dG9uICYmXHJcbiAgICAgICAgICAgICAgdG9vbEJ1dHRvblBvc2l0aW9uID09IFwiYnV0dG9tXCIgJiZcclxuICAgICAgICAgICAgICB0aGlzLnJlbmRlclRvb2xCdXR0b25zKHNlbGZCdXR0b25zLCBzZWFyY2hGb3Jtcy5sZW5ndGggPT0gMCl9XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbHMoZ2V0TGVzcyhzdHlsZXMsIFwidGFibGVcIikpfT5cclxuICAgICAgICAgICAgICA8VGFibGVcclxuICAgICAgICAgICAgICAgIHJlZj17dGhpcy50YWJsZVJlZn1cclxuICAgICAgICAgICAgICAgIGNvbHVtbnM9e3RhYmxlQ29sdW1ufVxyXG4gICAgICAgICAgICAgICAgZXhwYW5kYWJsZT17e1xyXG4gICAgICAgICAgICAgICAgICBleHBhbmRJY29uOiAoeyBleHBhbmRlZCwgb25FeHBhbmQsIHJlY29yZCB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgICAgICAgIDw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtleHBhbmRlZCA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8RG93bk91dGxpbmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4gb25FeHBhbmQocmVjb3JkLCBlKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZXhwYW5kLWljb25cIil9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2hpbGROb2RlcyAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmlnaHRPdXRsaW5lZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4gb25FeHBhbmQocmVjb3JkLCBlKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJleHBhbmQtaWNvblwiKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC8+XHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgLi4uZXhwYW5kYWJsZSxcclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICBjb2x1bW5PcmRlcj17dHJ1ZX1cclxuICAgICAgICAgICAgICAgIGJvcmRlcmVkPXt0cnVlfVxyXG4gICAgICAgICAgICAgICAgLy8gc2l6ZT17dGhpcy5zdGF0ZS50YWJsZVNpemV9XHJcbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KHBhZ2luYXRpb24pID0+IHtcclxuICAgICAgICAgICAgICAgICAgY29uc3QgeyBjdXJyZW50UGFnZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRQYWdlICE9PSBwYWdpbmF0aW9uLmN1cnJlbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRQYWdlOiBwYWdpbmF0aW9uLmN1cnJlbnQsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICB0b29sYmFyPXt7XHJcbiAgICAgICAgICAgICAgICAgIG9uVG9vbENsaWNrOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgb25SZWZyZXNoOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmdldFNlYXJjaFZhbHVlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZUxvYWQocGFyYW1zKTtcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAuLi50YWJsZVByb3BzLnRvb2xiYXIsXHJcbiAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgey4uLnRhYmxlUGFyYW1zfVxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB7ZWRpdG9yRm9ybSAmJiAoXHJcbiAgICAgICAgICAgIDxFZGl0b3JGb3JtXHJcbiAgICAgICAgICAgICAgcmVmPXt0aGlzLmVkaXRvclJlZn1cclxuICAgICAgICAgICAgICBjYWxsQmFjaz17dGhpcy50YWJsZVJlbG9hZC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgIGZvcm1Qcm9wcz17ZWRpdG9yRm9ybXN9XHJcbiAgICAgICAgICAgICAgc3VibWl0VXJsPXtzdWJtaXRVcmx9XHJcbiAgICAgICAgICAgICAgc3VibWl0UGFyYW1zPXtzdWJtaXRQYXJhbXN9XHJcbiAgICAgICAgICAgICAgb25TdWJtaXQ9e3RoaXMucHJvcHMub25TdWJtaXR9XHJcbiAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XHJcbiAgICAgICAgICAgICAgb25IaWRlRm9ybT17dGhpcy5wcm9wcy5vbkhpZGVGb3JtfVxyXG4gICAgICAgICAgICAgIG9uRm9ybUNoYW5nZT17dGhpcy5wcm9wcy5vbkZvcm1DaGFuZ2V9XHJcbiAgICAgICAgICAgICAgZm9ybVR5cGU9e3RoaXMucHJvcHMuZm9ybVR5cGUgfHwgXCJhdXRvXCJ9XHJcbiAgICAgICAgICAgICAgY2hhbmdlVmFsaWQ9e2Zvcm1DaGFuZ2VWYWxpZH1cclxuICAgICAgICAgICAgICBvdGhlclByb3BzPXt7IC4uLmZvcm1Qcm9wcyB9fVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5leHBvcnQgZGVmYXVsdCBCYXNlUGFnZTtcclxuIl19
|
|
1000
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIlRhYmxlIiwiVHJlZSIsIkJ1dHRvbiIsIk1vZGFsIiwiUG9wb3ZlciIsIm1lc3NhZ2UiLCJJY29uIiwiaWNvblR5cGUiLCJFZGl0b3JGb3JtIiwiY2xzIiwic3R5bGVzIiwiRG93bk91dGxpbmVkIiwiRXllT3V0bGluZWQiLCJFZGl0T3V0bGluZWQiLCJSaWdodE91dGxpbmVkIiwiUGx1c091dGxpbmVkIiwiRWxsaXBzaXNPdXRsaW5lZCIsImdldExlc3MiLCJyZXF1ZXN0Iiwib21pdCIsImNvbmZpZyIsImdldFN0b3JhZ2UiLCJIZWFkZXJTZWFyY2giLCJCYXNlUGFnZSIsInByb3BzIiwiY3JlYXRlUmVmIiwiY2hlY2tlZFRyZWVLZXlzIiwic3RhdGUiLCJuYW1lIiwidXNlclR5cGUiLCJhY2NvdW50IiwidmFsdWUiLCJkZXB0SWQiLCJ0YWJsZUxvYWQiLCJzZWxlY3RlZCIsInJlcyIsImtleSIsImtleXMiLCJsZW5ndGgiLCJzdG9yZVByZWZpeCIsInR5cGUiLCJjb250ZW50Iiwic2l6ZSIsInNlbGVjdGVkUm93S2V5cyIsInNlbGVjdGVkUm93RGF0YXMiLCJ0cmVlU2VsZWN0ZWRLZXkiLCJleHBhbmQiLCJmb3JtVHlwZSIsInRhYmxlU2l6ZSIsInNlbGVjdGVkUm93S2V5c1N0b3JlIiwic2VsZWN0ZWRSb3dEYXRhc1N0b3JlIiwiY3VycmVudFBhZ2UiLCJpbml0RGF0YSIsInBhcmFtcyIsImNhbGxCYWNrIiwic2VhcmNoUmVmIiwiY3VycmVudCIsInNldFNlYXJjaFBhcmFtcyIsImVkaXRvcmZsYWciLCJlZGl0b3JSZWYiLCJzaG93IiwiaGlkZUZvcm0iLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsImRlbGV0ZVVybCIsIm9uRGVsZXRlIiwiZGVsZXRlUGFyYW1zIiwid2FybmluZyIsIkVycm9yIiwiY29uZmlybSIsInRpdGxlIiwib2tUZXh0IiwiY2FuY2VsVGV4dCIsImNlbnRlcmVkIiwib25PayIsImRlZmF1bHRQYXJhbXMiLCJtZXRob2QiLCJpZHMiLCJqb2luIiwicmVxdWVzdFBhcmFtcyIsInRoZW4iLCJjb2RlIiwic3VjY2VzcyIsImVycm9yIiwiY2F0Y2giLCJjb25zb2xlIiwibG9nIiwidGFibGVSZWYiLCJzdG9yZSIsImxvYWQiLCJvblNlYXJjaCIsImF1dG9Mb2FkIiwicmVsb2FkIiwiY2FsbGJhY2siLCJkYXRhIiwicmVjb3JkcyIsInNldFN0YXRlIiwiZnJvbVZhbHVlIiwiZ2V0U2VhcmNoVmFsdWVzIiwidGFibGVQcm9wcyIsInJvd0tleSIsInJlc0tleSIsImNoaWxkTm9kZXMiLCJjaGlsZHJlbiIsIm1hcCIsIml0ZW0iLCJpbmRleCIsImdldENoaWxkcmVuRGF0YSIsInRvb2xidXR0b25zIiwibWFyZ2luZmxhZyIsImZsYWciLCJzaG93U2VhcmNoIiwicGFnZVR5cGUiLCJvbkNsaWNrIiwiaWNvbiIsIm1hcmdpbkxlZnQiLCJjb2x1bW5CdXR0b25zIiwicmVjb3JkIiwiZWRpdG9yRm9ybSIsImJ1dHRvbnMiLCJhY3Rpb25Qb3JwcyIsImJhc2VBY3Rpb25Db2x1bW4iLCJuZXdCdXR0b25zIiwic2hvd0ljb24iLCJyZWNvcmRTaG93IiwiZXZhbCIsInB1c2giLCJzZWxlY3RlZEtleXMiLCJzZWxlY3RlZE5vZGVzIiwia2V5d29yZCIsInRyZWVQcm9wcyIsInNlYXJjaEtleSIsInNlYXJjaEZpZWxkIiwiaXNMZWFmIiwiZGF0YXJlZiIsImF0dHJpYnV0ZSIsImdldEZpZWxkc1ZhbHVlIiwicmVzZXRGaWVsZHMiLCJ0ZXh0IiwibmV3VGV4dCIsImkiLCJsYWJlbCIsInNldERhdGEiLCJ0cmVlUmVmIiwiY29sdW1ucyIsInN1Ym1pdFVybCIsImZvcm1Qcm9wcyIsInNob3dMZWZ0Iiwic3VibWl0UGFyYW1zIiwic2hvd1Rvb2xCdXR0b24iLCJvblNob3dGb3JtIiwiZm9ybUNoYW5nZVZhbGlkIiwiY2xhc3NOYW1lIiwidG9vbEJ1dHRvblBvc2l0aW9uIiwiZmlsdGVyQ29sdW1uIiwiYWN0aW9uQ29sdW1uIiwic2hvd1Jvd1NlbGVjdGlvbiIsImNvbHVtbk9yZGVyIiwicm93U2VsZWN0aW9uIiwiZXhwYW5kYWJsZSIsIm90aGVydGFibGVQYXJhbXMiLCJ0cmVlU3RvcmUiLCJ0cmVlU2VhcmNoIiwidGl0bGVBbGlhcyIsIm90aGVydHJlZVBhcmFtcyIsInRhYmxlUGFyYW1zIiwib25DaGFuZ2UiLCJzZWxlY3RlZFJvd3MiLCJuZXdSb3dLZXlzU3RvcmUiLCJuZXdSb3dEYXRhc1N0b3JlIiwiZ2V0U2VsZWN0ZWRLZXkiLCJjb2x1bW5XaWR0aCIsImNoZWNrU3RyaWN0bHkiLCJ0YWJsZUNvbHVtbiIsInNlYXJjaEZvcm1zIiwiZWRpdG9yRm9ybXMiLCJkZWZhdWx0VmFsdWUiLCJ0ZW1wIiwic2VhcmNoIiwiZmllbGQiLCJkYXRhSW5kZXgiLCJlZGl0b3IiLCJydWxlcyIsInNwYW4iLCJkaWN0TmFtZSIsInVuZGVmaW5lZCIsImNvbHVtblNlYXJjaCIsImZpbHRlclByb3BzIiwidGVtcFByb3AiLCJzdHlsZSIsInJlbmRlciIsImdldFRleHQiLCJlbGxpcHNpcyIsImNvbHVtblNob3ciLCJzZWxmQnV0dG9ucyIsImluZGV4T2YiLCJzaG93Rm9ybSIsImJpbmQiLCJkZWxldGUzIiwiQXJyYXkiLCJpc0FycmF5IiwiYWxpZ24iLCJ0ZXh0QWxpZ24iLCJ3aWR0aCIsImZpeGVkIiwicmVuZGVyQ2xvdW1uQnV0dG9uIiwicmVhY29yZCIsInBhZ2luYXRpb24iLCJ0YWJsZUhlaWdodCIsImRvY3VtZW50IiwiYm9keSIsInNjcm9sbEhlaWdodCIsInBhZ2VUaXRsZSIsInNjcm9sbCIsIngiLCJ5IiwiZGlzcGxheSIsInRyZWVTZWxlY3QiLCJyZW5kZXJUb29sQnV0dG9ucyIsImV4cGFuZEljb24iLCJleHBhbmRlZCIsIm9uRXhwYW5kIiwiZSIsIm9uVG9vbENsaWNrIiwib25SZWZyZXNoIiwidG9vbGJhciIs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SUFBakIsQ0FBc0IsSUFBdEIsQ0FGWjtBQUdFLFFBQUEsU0FBUyxFQUFFdEIsV0FIYjtBQUlFLFFBQUEsU0FBUyxFQUFFOUIsU0FKYjtBQUtFLFFBQUEsWUFBWSxFQUFFRyxZQUxoQjtBQU1FLFFBQUEsUUFBUSxFQUFFLEtBQUs1SCxLQUFMLENBQVcyTSxRQU52QjtBQU9FLFFBQUEsWUFBWSxFQUFFbkQsWUFQaEI7QUFRRSxRQUFBLFVBQVUsRUFBRSxLQUFLeEosS0FBTCxDQUFXNE0sVUFSekI7QUFTRSxRQUFBLFlBQVksRUFBRSxLQUFLNU0sS0FBTCxDQUFXNk0sWUFUM0I7QUFVRSxRQUFBLFFBQVEsRUFBRSxLQUFLN00sS0FBTCxDQUFXdUIsUUFBWCxJQUF1QixNQVZuQztBQVdFLFFBQUEsV0FBVyxFQUFFd0csZUFYZjtBQVlFLFFBQUEsVUFBVSxvQkFBT0wsU0FBUDtBQVpaLFFBcEZKLENBTkYsQ0FERjtBQTZHRDs7OztFQXJ5Qm9CbkosYTs7QUF1eUJ2QixlQUFld0IsUUFBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50LCBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IFRhYmxlIGZyb20gXCIuLi8uLi9iYXNlL3RhYmxlXCI7XHJcbmltcG9ydCBUcmVlIGZyb20gXCIuLi8uLi9iYXNlL3RyZWVcIjtcclxuaW1wb3J0IEZvcm0gZnJvbSBcIi4uLy4uL2Jhc2UvZm9ybVwiO1xyXG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi8uLi9iYXNlL2J1dHRvblwiO1xyXG5pbXBvcnQgTW9kYWwgZnJvbSBcIi4uLy4uL2Jhc2UvbW9kYWxcIjtcclxuaW1wb3J0IFBvcG92ZXIgZnJvbSBcIi4uLy4uL2Jhc2UvcG9wb3ZlclwiO1xyXG5pbXBvcnQgbWVzc2FnZSBmcm9tIFwiLi4vLi4vYmFzZS9tZXNzYWdlXCI7XHJcbmltcG9ydCBJY29uIGZyb20gXCIuLi8uLi9iYXNlL2NvbW1vbi9JY29uRm9udFwiO1xyXG5pbXBvcnQgeyBpY29uVHlwZSB9IGZyb20gXCIuLi8uLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IEVkaXRvckZvcm0gZnJvbSBcIi4vRm9ybVwiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubW9kdWxlLmxlc3NcIjtcclxuaW1wb3J0IFN0b3JlLCB7IFBhZ2VTdG9yZSwgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgUm93IGZyb20gXCIuLi8uLi9iYXNlL2dyaWQvUm93XCI7XHJcbmltcG9ydCB7XHJcbiAgRG93bk91dGxpbmVkLFxyXG4gIEV5ZU91dGxpbmVkLFxyXG4gIEVkaXRPdXRsaW5lZCxcclxuICBSaWdodE91dGxpbmVkLFxyXG4gIFBsdXNPdXRsaW5lZCxcclxuICBFbGxpcHNpc091dGxpbmVkLFxyXG59IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgeyBnZXRMZXNzLCBnZXROb2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCByZXF1ZXN0IGZyb20gXCJuc2MtcmVxdWVzdFwiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuLi8uLi9jb25maWdcIjtcclxuaW1wb3J0IHsgZ2V0U3RvcmFnZSB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgeyBJRm9ybVByb3BzIH0gZnJvbSBcIi4uLy4uL2Jhc2UvZm9ybS9Gb3JtXCI7XHJcbmltcG9ydCBIZWFkZXJTZWFyY2ggZnJvbSBcIi4uL0hlYWRlclNlYXJjaFwiO1xyXG5pbnRlcmZhY2UgVGFibGVQcm9wcyB7XHJcbiAgYWN0aW9uQ29sdW1uPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrmk43kvZzliJdcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgZmlsdGVyQ29sdW1uPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrov4fmu6TmjInpkq5cclxuICBzaG93Um93U2VsZWN0aW9uPzogYm9vbGVhbjsgLy/mmK/lkKbooajmoLzli77pgInliJdcclxuICBwYWdpbmF0aW9uPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrliIbpobVcclxuICBjb2x1bW5PcmRlcj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S66KGo5qC85bqP5YiXXHJcbiAgW3Byb3BzTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcbmludGVyZmFjZSBUcmVlUHJvcHMge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBzaG93U2VhcmNoPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrmkJzntKLmoYZcclxuICBzZWFyY2hLZXk/OiBzdHJpbmc7IC8v5pCc57SidmFsdWXlr7nlupTnmoRrZXlcclxuICBzZWFyY2hGaWVsZD86IHN0cmluZzsgLy/mn6Xor6Llr7nlupTnmoRrZXlcclxuICB0aXRsZUFsaWFzPzogc3RyaW5nOyAvL+agkXRpdGxl5a+55bqU55qEa2V5LOm7mOiupHRpdGxlXHJcbiAgbm9kZVBvcnBzPzogb2JqZWN0O1xyXG4gIFtwcm9wc05hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5pbnRlcmZhY2UgRm9ybVByb3BzIGV4dGVuZHMgSUZvcm1Qcm9wcyB7fVxyXG5pbnRlcmZhY2UgTlNDQmFzZUJhZ2VQcm9wcyB7XHJcbiAgc2hvd1NlYXJjaD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65aS06YOo5pCc57Si5qCPXHJcbiAgdGFibGVQcm9wcz86IFRhYmxlUHJvcHM7IC8v6KGo5qC85Y+C5pWwXHJcbiAgdHJlZVByb3BzPzogVHJlZVByb3BzOyAvL+W3puS+p+agkeWPguaVsFxyXG4gIHN1Ym1pdFBhcmFtcz86IE9iamVjdDsgLy/mt7vliqDlj4LmlbDvvIzpu5jorqRtb3Rob2Q6cG9zdO+8jCDlj4LmlbDpgJrov4dkYXRh5Lyg6YCSXHJcbiAgc3VibWl0VXJsPzogc3RyaW5nO1xyXG4gIG9uU3VibWl0PzogKHZhbHVlPzogYW55LCBsYWJlbD86IGFueSkgPT4gdm9pZDtcclxuICBjb2x1bW5zOiBBcnJheTxPYmplY3Q+O1xyXG4gIHNob3dMZWZ0PzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrlt6bkvqfnm67lvZXmoJFcclxuICBzaG93VG9vbEJ1dHRvbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65oyJ6ZKu5qCPXHJcbiAgZWRpdG9yRm9ybT86IGJvb2xlYW47IC8v5piv5ZCm6ZyA6KaB6KGo5Y2V5Yqf6IO9ICwg5Li6ZmFsc2Ug57yW6L6R77yM5p+l55yL77yM5paw5aKe5Yqf6IO95Z2H5LiN5Y+v55SoXHJcbiAgZGVsZXRlVXJsPzogc3RyaW5nOyAvL+WIoOmZpHVybFxyXG4gIG9uRGVsZXRlPzogKHNlbGVjdGVkS2V5cz86IEFycmF5PGFueT4pID0+IHZvaWQ7IC8v5Yig6Zmk5Y+C5pWw77yM6buY6K6kbW90aG9kOnBvc3TvvIwg5Y+C5pWw6YCa6L+HaWRz5ou85o6l5Lyg6YCS57uZ5ZCO5Y+wXHJcbiAgZGVsZXRlUGFyYW1zPzogT2JqZWN0O1xyXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xyXG4gIG9uU2VhcmNoPzogKHZhbHVlPzogYW55KSA9PiB2b2lkO1xyXG4gIGluaXREYXRhPzogYW55OyAvL+WIneWni+WMluWbnuiwg+WHveaVsO+8jOWcqGNvbXBvbmVudERpZE1vdW505Lit6LCD55SoXHJcbiAgYnV0dG9ucz86IEFycmF5PHN0cmluZz47IC8v5oyJ6ZKu6ZuG5ZCIICBbJ2FkZCcsJ2RlbGV0ZScsJ3NlYXJjaCcsJ2VkaXRvciddXHJcbiAgb25TaG93Rm9ybT86ICh2YWx1ZT86IGFueSwgZWRpdG9yRmxhZz86IHN0cmluZykgPT4gdm9pZDsgLy/miZPlvIDooajljZXlm57osINcclxuICBvbkhpZGVGb3JtPzogKCkgPT4gdm9pZDsgLy/miZPlvIDooajljZXlm57osINcclxuICBvbkZvcm1DaGFuZ2U/OiAoY2hhbmdlZFZhbHVlcz86IGFueSwgYWxsVmFsdWVzPzogYW55KSA9PiB2b2lkOyAvL+ihqOWNlW9uQ2hhbmdl5Zue6LCDXHJcbiAgZm9ybVR5cGU/OiBcIm1vZGFsXCIgfCBcImRyYXdlclwiO1xyXG4gIGZvcm1DaGFuZ2VWYWxpZD86IGJvb2xlYW47IC8v6KGo5Y2V5qCh6aqMXHJcbiAgY2xhc3NOYW1lPzogYW55O1xyXG4gIHRvb2xCdXR0b25Qb3NpdGlvbj86IFwicmlnaHRcIiB8IFwiYnV0dG9tXCI7XHJcbiAgcGFnZVRpdGxlPzogc3RyaW5nIHwgUmVhY3ROb2RlO1xyXG4gIGZvcm1Qcm9wcz86IEZvcm1Qcm9wcztcclxuICBhY3Rpb25Qb3Jwcz86IHsgdGV4dEFsaWduPzogc3RyaW5nOyBzaG93SWNvbj86IGJvb2xlYW47IHdpZHRoPzogbnVtYmVyIH07XHJcbn1cclxuXHJcbmNsYXNzIEJhc2VQYWdlIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxOU0NCYXNlQmFnZVByb3BzLCBhbnk+IHtcclxuICB0YWJsZVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgdHJlZVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgc2VhcmNoUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBlZGl0b3JSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIGRhdGVGb3JtYXQgPSB7fSBhcyBhbnk7XHJcbiAgY29uc3RydWN0b3IocHJvcHM6IGFueSkge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgbGV0IHsgc3RvcmVQcmVmaXggfSA9IGNvbmZpZygpO1xyXG4gICAgbGV0IHR5cGUgPSBnZXRTdG9yYWdlKFxyXG4gICAgICBzdG9yZVByZWZpeCA/IHN0b3JlUHJlZml4ICsgXCItXCIgKyBcImZvcm1UeXBlXCIgOiBcImZvcm1UeXBlXCJcclxuICAgICk7XHJcbiAgICB0eXBlID0gdHlwZT8uY29udGVudDtcclxuICAgIGxldCBzaXplID0gZ2V0U3RvcmFnZShcclxuICAgICAgc3RvcmVQcmVmaXggPyBzdG9yZVByZWZpeCArIFwiLVwiICsgXCJ0YWJsZVNpemVcIiA6IFwidGFibGVTaXplXCJcclxuICAgICk7XHJcbiAgICBzaXplID0gc2l6ZT8uY29udGVudDtcclxuICAgIHRoaXMuc3RhdGUgPSB7XHJcbiAgICAgIHR5cGU6IFwiYWRkXCIsXHJcbiAgICAgIHNlbGVjdGVkUm93S2V5czogW10sXHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXM6IFtdLFxyXG4gICAgICB0cmVlU2VsZWN0ZWRLZXk6IFwiXCIsXHJcbiAgICAgIGV4cGFuZDogZmFsc2UsXHJcbiAgICAgIGZvcm1UeXBlOiB0eXBlIHx8IFwibW9kYWxcIixcclxuICAgICAgdGFibGVTaXplOiBzaXplIHx8IFwiZGVmYXVsdFwiLFxyXG4gICAgICBzZWxlY3RlZFJvd0tleXNTdG9yZToge30sXHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXNTdG9yZToge30sXHJcbiAgICAgIGN1cnJlbnRQYWdlOiAxLFxyXG4gICAgfTtcclxuICB9XHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGluaXREYXRhIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaW5pdERhdGEgJiYgaW5pdERhdGEoKTtcclxuICB9XHJcblxyXG4gIHNldFNlYXJjaFBhcmFtcyhwYXJhbXMsIGNhbGxCYWNrKSB7XHJcbiAgICB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5zZXRTZWFyY2hQYXJhbXMocGFyYW1zKTtcclxuICAgIGNhbGxCYWNrICYmIGNhbGxCYWNrKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdCA9IChjaGVja2VkVHJlZUtleXM6IGFueSkgPT4ge1xyXG4gICAgY29uc3QgeyBuYW1lLCB1c2VyVHlwZSwgYWNjb3VudCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHZhbHVlID0geyBuYW1lLCB1c2VyVHlwZSwgYWNjb3VudCwgZGVwdElkOiBjaGVja2VkVHJlZUtleXNbMF0gfTtcclxuICAgIHRoaXMudGFibGVMb2FkKHZhbHVlKTtcclxuICB9O1xyXG5cclxuICAvL+aYvuekuuihqOWNlVxyXG4gIHNob3dGb3JtKHZhbHVlPzogYW55LCBlZGl0b3JmbGFnID0gXCJhZGRcIikge1xyXG4gICAgdGhpcy5lZGl0b3JSZWYuY3VycmVudD8uc2hvdyh2YWx1ZSwgZWRpdG9yZmxhZyk7XHJcbiAgfVxyXG5cclxuICAvL+WFs+mXreihqOWNlVxyXG4gIGhpZGVGb3JtKCkge1xyXG4gICAgdGhpcy5lZGl0b3JSZWYuY3VycmVudD8uaGlkZUZvcm0oKTtcclxuICB9XHJcblxyXG4gIHNldExvYWRpbmcobG9hZGluZzogYm9vbGVhbikge1xyXG4gICAgdGhpcy5lZGl0b3JSZWYuY3VycmVudD8uc2V0TG9hZGluZyhsb2FkaW5nKTtcclxuICB9XHJcblxyXG4gIC8v5om56YeP5Yig6ZmkXHJcbiAgb25EZWxldGUoKSB7XHJcbiAgICBjb25zdCB7IGRlbGV0ZVVybCwgb25EZWxldGUsIGRlbGV0ZVBhcmFtcyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dLZXlzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKHNlbGVjdGVkUm93S2V5cy5sZW5ndGggPT0gMCkge1xyXG4gICAgICBtZXNzYWdlLndhcm5pbmcoXCLor7fpgInmi6nopoHliKDpmaTnmoTmlbDmja7vvIFcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChvbkRlbGV0ZSkge1xyXG4gICAgICBvbkRlbGV0ZSAmJiBvbkRlbGV0ZShzZWxlY3RlZFJvd0tleXMpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoIWRlbGV0ZVVybCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzkuI3og73kuLrnqbrvvIFcIik7XHJcbiAgICB9XHJcbiAgICBNb2RhbC5jb25maXJtKHtcclxuICAgICAgdGl0bGU6IFwi5piv5ZCm56Gu6K6k5Yig6Zmk5omA6YCJ6aG577yfXCIsXHJcbiAgICAgIG9rVGV4dDogXCLnoa7orqRcIixcclxuICAgICAgY2FuY2VsVGV4dDogXCLlj5bmtohcIixcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIG9uT2s6ICgpID0+IHtcclxuICAgICAgICBjb25zdCBkZWZhdWx0UGFyYW1zID0ge1xyXG4gICAgICAgICAgbWV0aG9kOiBcInBvc3RcIixcclxuICAgICAgICAgIHBhcmFtczogeyBpZHM6IHNlbGVjdGVkUm93S2V5cy5qb2luKCkgfSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIGxldCByZXF1ZXN0UGFyYW1zID0ge30gYXMgYW55O1xyXG4gICAgICAgIGlmIChkZWZhdWx0UGFyYW1zKSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW1zID0geyAuLi5kZWxldGVQYXJhbXMgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVxdWVzdFBhcmFtcyA9IHsgLi4uZGVmYXVsdFBhcmFtcyB9O1xyXG4gICAgICAgIHJlcXVlc3QoZGVsZXRlVXJsLCB7XHJcbiAgICAgICAgICAuLi5yZXF1ZXN0UGFyYW1zLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgICAudGhlbihmdW5jdGlvbiAocmVzOiBhbnkpIHtcclxuICAgICAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgICAgIGlmIChjb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoXCLliKDpmaTmiJDlip/vvIFcIik7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgbWVzc2FnZS5lcnJvcihcIuWIoOmZpOWksei0pe+8gVwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIC5jYXRjaChmdW5jdGlvbiAoZXJyb3I6IGFueSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycm9yKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHRhYmxlTG9hZChwYXJhbXM6IGFueSkge1xyXG4gICAgdGhpcy50YWJsZVJlZi5jdXJyZW50Py5zdG9yZS5sb2FkKHtcclxuICAgICAgcGFyYW1zOiBwYXJhbXMsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgLy/mn6Xor6JcclxuICBvblNlYXJjaChwYXJhbXMpIHtcclxuICAgIGNvbnN0IHsgb25TZWFyY2ggfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAob25TZWFyY2gpIHtcclxuICAgICAgb25TZWFyY2gocGFyYW1zKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy50YWJsZUxvYWQocGFyYW1zKTtcclxuICB9XHJcbiAgLy/ooajmoLzph43mlrDliqDovb1cclxuICB0YWJsZVJlbG9hZChwYXJhbXMgPSB7fSwgYXV0b0xvYWQgPSB0cnVlKSB7XHJcbiAgICB0aGlzLnRhYmxlUmVmLmN1cnJlbnQ/LnN0b3JlLnJlbG9hZCh7XHJcbiAgICAgIGNhbGxiYWNrOiAocmVzKSA9PiB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgYXV0b0xvYWQgJiZcclxuICAgICAgICAgIHJlcz8uZGF0YT8ucmVjb3Jkcz8ubGVuZ3RoID09IDAgJiZcclxuICAgICAgICAgIHRoaXMuc3RhdGUuY3VycmVudFBhZ2UgIT09IDFcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMudGFibGVSZWYuY3VycmVudD8uc3RvcmUucmVsb2FkKHtcclxuICAgICAgICAgICAgcGFyYW1zOiB7IGN1cnJlbnQ6IDEsIC4uLnBhcmFtcyB9LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGdldFNlbGVjdGVkUm93S2V5cygpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnNlbGVjdGVkUm93S2V5cztcclxuICB9XHJcbiAgZ2V0U2VsZWN0ZWRSb3dEYXRhcygpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnNlbGVjdGVkUm93RGF0YXM7XHJcbiAgfVxyXG4gIHJlc2V0U2VsZWN0ZWRSb3dLZXlzKCkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHNlbGVjdGVkUm93S2V5czogW10sXHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXM6IFtdLFxyXG4gICAgICBzZWxlY3RlZFJvd0tleXNTdG9yZToge30sXHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXNTdG9yZToge30sXHJcbiAgICAgIGN1cnJlbnRQYWdlOiAxLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNldFNlbGVjdGVkUm93S2V5cyhkYXRhKSB7XHJcbiAgICBjb25zdCB7IGN1cnJlbnRQYWdlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHNlbGVjdGVkUm93S2V5czogZGF0YSxcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzU3RvcmU6IHsgW2N1cnJlbnRQYWdlXTogZGF0YSB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNldFNlbGVjdGVkUm93RGF0YXMoZGF0YSkge1xyXG4gICAgY29uc3QgeyBjdXJyZW50UGFnZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RlZFJvd0RhdGFzOiBkYXRhLFxyXG4gICAgICBzZWxlY3RlZFJvd0RhdGFzU3RvcmU6IHsgW2N1cnJlbnRQYWdlXTogZGF0YSB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGdldFNlYXJjaFZhbHVlcygpIHtcclxuICAgIGNvbnN0IGZyb21WYWx1ZSA9IHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LmdldFNlYXJjaFZhbHVlcygpO1xyXG4gICAgcmV0dXJuIGZyb21WYWx1ZTtcclxuICB9XHJcblxyXG4gIGdldENoaWxkcmVuRGF0YShkYXRhLCBrZXlzID0gW10pIHtcclxuICAgIGNvbnN0IHsgdGFibGVQcm9wcyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgcm93S2V5ID0gXCJpZFwiIH0gPSB0YWJsZVByb3BzO1xyXG4gICAgbGV0IHJlc0tleSA9IFtdO1xyXG4gICAgaWYgKGRhdGEuY2hpbGROb2Rlcykge1xyXG4gICAgICBjb25zdCBjaGlsZHJlbiA9IGRhdGEuY2hpbGROb2RlcztcclxuICAgICAgY2hpbGRyZW4ubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtLmNoaWxkTm9kZXMpIHtcclxuICAgICAgICAgIHRoaXMuZ2V0Q2hpbGRyZW5EYXRhKGl0ZW0uY2hpbGROb2Rlcywga2V5cyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlc0tleSA9IFsuLi5rZXlzLCBpdGVtW3Jvd0tleV1dO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXNLZXkgPSBbLi4ua2V5cywgZGF0YVtyb3dLZXldXTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXNLZXk7XHJcbiAgfVxyXG5cclxuICByZW5kZXJUb29sQnV0dG9ucyh0b29sYnV0dG9uczogYW55LCBtYXJnaW5mbGFnID0gZmFsc2UpIHtcclxuICAgIGNvbnN0IGZsYWcgPSB0b29sYnV0dG9ucy5sZW5ndGggPiA1O1xyXG4gICAgY29uc3QgeyBzaG93U2VhcmNoID0gdHJ1ZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGNvbnRlbnQgPSB0b29sYnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNoaWxkcmVuLCBwYWdlVHlwZSwgb25DbGljaywgaWNvbiwgc2hvdywgLi4ucGFyYW1zIH0gPSBpdGVtLnByb3BzO1xyXG4gICAgICBpZiAoaW5kZXggPiA0KSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHMoXHJcbiAgICAgICAgICAgICAgZ2V0TGVzcyhzdHlsZXMsIFwiZWRpdG9yXCIpLFxyXG4gICAgICAgICAgICAgIGdldExlc3Moc3R5bGVzLCBcImNvbnRlbnQtaXRlbVwiKVxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgb25DbGljayAmJiBvbkNsaWNrKCk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX0+e2ljb259PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRleHRcIil9PntjaGlsZHJlbn08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJ0b29sLWJ1dHRvbnNcIiksIHtcclxuICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJ0b29sLWJ1dHRvbnMtbWFyZ2luXCIpXTogIXNob3dTZWFyY2ggfHwgbWFyZ2luZmxhZyxcclxuICAgICAgICB9KX1cclxuICAgICAgICBzdHlsZT17eyBtYXJnaW5MZWZ0OiAwIH19XHJcbiAgICAgID5cclxuICAgICAgICB7dG9vbGJ1dHRvbnMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgICAgIGlmIChpbmRleCA8IDQpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gPGRpdiBrZXk9e2luZGV4fT57aXRlbX08L2Rpdj47XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5kZXggPT0gNCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICA8UG9wb3ZlclxyXG4gICAgICAgICAgICAgICAgICBjb250ZW50PXtjb250ZW50fVxyXG4gICAgICAgICAgICAgICAgICB0aXRsZT17bnVsbH1cclxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcclxuICAgICAgICAgICAgICAgICAgdHJpZ2dlcj17W1wiY2xpY2tcIl19XHJcbiAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgICAgICAgIC8vIG92ZXJsYXlDbGFzc05hbWU9e3N0eWxlc1sncG9wLWJveCddfVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8QnV0dG9uIHR5cGU9XCJwcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAg5pu05aSaIDxEb3duT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L1BvcG92ZXI+XHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIDxkaXYga2V5PXtpbmRleH0+e2l0ZW19PC9kaXY+O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pfVxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgfVxyXG4gIHJlbmRlckNsb3VtbkJ1dHRvbihjb2x1bW5CdXR0b25zOiBhbnksIHJlY29yZDogYW55KSB7XHJcbiAgICBjb25zdCB7IGVkaXRvckZvcm0gPSB0cnVlLCBidXR0b25zID0gW10sIGFjdGlvblBvcnBzIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBiYXNlQWN0aW9uQ29sdW1uIH0gPSBjb25maWcoKTtcclxuICAgIGNvbnN0IG5ld0J1dHRvbnMgPSBbXTtcclxuICAgIGxldCBzaG93SWNvbiA9IHRydWU7XHJcbiAgICBpZiAoYWN0aW9uUG9ycHM/LnNob3dJY29uID09PSBmYWxzZSkgc2hvd0ljb24gPSBmYWxzZTtcclxuICAgIGVsc2UgaWYgKGJhc2VBY3Rpb25Db2x1bW4uc2hvd0ljb24gPT09IGZhbHNlKSBzaG93SWNvbiA9IGZhbHNlO1xyXG4gICAgY29sdW1uQnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNoaWxkcmVuLCBwYWdlVHlwZSwgb25DbGljaywgaWNvbiwgcmVjb3JkU2hvdywgLi4ucGFyYW1zIH0gPVxyXG4gICAgICAgIGl0ZW0ucHJvcHM7XHJcbiAgICAgIGlmIChyZWNvcmRTaG93KSB7XHJcbiAgICAgICAgaWYgKGV2YWwocmVjb3JkU2hvdykpIHtcclxuICAgICAgICAgIG5ld0J1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbmV3QnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGZsYWcgPSBuZXdCdXR0b25zLmxlbmd0aCA+IDM7XHJcblxyXG4gICAgY29uc3QgY29udGVudCA9IG5ld0J1dHRvbnMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgeyBjaGlsZHJlbiwgcGFnZVR5cGUsIG9uQ2xpY2ssIHJlY29yZFNob3csIGljb24sIHNob3csIC4uLnBhcmFtcyB9ID1cclxuICAgICAgICBpdGVtLnByb3BzO1xyXG4gICAgICBpZiAoaW5kZXggPiAyKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHMoXHJcbiAgICAgICAgICAgICAgZ2V0TGVzcyhzdHlsZXMsIFwiZWRpdG9yXCIpLFxyXG4gICAgICAgICAgICAgIGdldExlc3Moc3R5bGVzLCBcImNvbnRlbnQtaXRlbVwiKVxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgb25DbGljayAmJiBvbkNsaWNrKHJlY29yZCk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHtzaG93SWNvbiAhPT0gZmFsc2UgJiYgKFxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX0+e2ljb259PC9zcGFuPlxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRleHRcIil9PntjaGlsZHJlbn08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbmV3QnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNoaWxkcmVuLCBwYWdlVHlwZSwgb25DbGljaywgcmVjb3JkU2hvdywgaWNvbiwgLi4ucGFyYW1zIH0gPVxyXG4gICAgICAgIGl0ZW0ucHJvcHM7XHJcbiAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgaWYgKGluZGV4IDwgMykge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKSwge1xyXG4gICAgICAgICAgICAgICAgW2dldExlc3Moc3R5bGVzLCBcImVkaXRvcl9maXJzdFwiKV06IGluZGV4ID09PSAwLFxyXG4gICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgb25DbGljayAmJiBvbkNsaWNrKHJlY29yZCk7XHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge3Nob3dJY29uICE9PSBmYWxzZSAmJiAoXHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9PntpY29ufTwvc3Bhbj5cclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwidGV4dFwiKX0+e2NoaWxkcmVufTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaW5kZXggPT0gMykge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPFBvcG92ZXJcclxuICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxyXG4gICAgICAgICAgICAgIHRpdGxlPXtudWxsfVxyXG4gICAgICAgICAgICAgIGNvbnRlbnQ9e2NvbnRlbnR9XHJcbiAgICAgICAgICAgICAgdHJpZ2dlcj17W1wiY2xpY2tcIl19XHJcbiAgICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgICAvLyBvdmVybGF5Q2xhc3NOYW1lPXtzdHlsZXNbJ3BvcCddfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKX0+XHJcbiAgICAgICAgICAgICAgICA8RWxsaXBzaXNPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L1BvcG92ZXI+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHMoZ2V0TGVzcyhzdHlsZXMsIFwiZWRpdG9yXCIpLCB7XHJcbiAgICAgICAgICAgICAgW2dldExlc3Moc3R5bGVzLCBcImVkaXRvcl9maXJzdFwiKV06IGluZGV4ID09PSAwLFxyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIG9uQ2xpY2sgJiYgb25DbGljayhyZWNvcmQpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7c2hvd0ljb24gIT09IGZhbHNlICYmIChcclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9PntpY29ufTwvc3Bhbj5cclxuICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJ0ZXh0XCIpfT57Y2hpbGRyZW59PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG4gIC8v5qCR54K55Ye75LqL5Lu2XHJcbiAgdHJlZVNlbGVjdChzZWxlY3RlZEtleXM6IGFueSwgeyBzZWxlY3RlZCwgc2VsZWN0ZWROb2RlcyB9OiBhbnkpIHtcclxuICAgIGxldCBrZXl3b3JkID0gXCJcIjtcclxuICAgIGNvbnN0IHsgc2VhcmNoS2V5ID0gXCJrZXlcIiwgc2VhcmNoRmllbGQgPSBcIlwiIH0gPSB0aGlzLnByb3BzLnRyZWVQcm9wcztcclxuICAgIGNvbnN0IHsgdHJlZVNlbGVjdGVkS2V5IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgIGlmIChzZWxlY3RlZE5vZGVzWzBdLmlzTGVhZiB8fCAhc2VsZWN0ZWROb2Rlc1swXS5jaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChzZWxlY3RlZEtleXNbMF0gIT09IHRyZWVTZWxlY3RlZEtleSkge1xyXG4gICAgICAgICAga2V5d29yZCA9IHNlbGVjdGVkTm9kZXNbMF0uZGF0YXJlZi5hdHRyaWJ1dGVbc2VhcmNoS2V5XTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICB0cmVlU2VsZWN0ZWRLZXk6IHNlbGVjdGVkS2V5c1swXSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgdHJlZVNlbGVjdGVkS2V5OiBrZXl3b3JkLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGNvbnN0IGZyb21WYWx1ZSA9IHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBzZWFyY2hGaWVsZCAmJiB0aGlzLnRhYmxlTG9hZCh7IC4uLmZyb21WYWx1ZSwgW3NlYXJjaEZpZWxkXToga2V5d29yZCB9KTtcclxuICB9XHJcbiAgcmVzZXRTZWFyY2goKSB7XHJcbiAgICB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5yZXNldEZpZWxkcygpO1xyXG4gIH1cclxuICBnZXRUZXh0KHByb3BzLCB0ZXh0KSB7XHJcbiAgICBsZXQgbmV3VGV4dCA9IHRleHQ7XHJcbiAgICBpZiAocHJvcHM/LmRhdGEgJiYgcHJvcHM/LmRhdGE/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IGRhdGEgPSBwcm9wcy5kYXRhO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGE/Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKGRhdGFbaV0udmFsdWUgPT0gdGV4dCkge1xyXG4gICAgICAgICAgbmV3VGV4dCA9IGRhdGFbaV0ubGFiZWw7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3VGV4dDtcclxuICB9XHJcbiAgc2V0VGFibGVEYXRhKGRhdGEpIHtcclxuICAgIHRoaXMudGFibGVSZWYuY3VycmVudD8uc3RvcmUuc2V0RGF0YShkYXRhKTtcclxuICB9XHJcbiAgc2V0VHJlZURhdGEoZGF0YSkge1xyXG4gICAgdGhpcy50cmVlUmVmLmN1cnJlbnQ/LnN0b3JlLnNldERhdGEoZGF0YSk7XHJcbiAgfVxyXG4gIGdldFNlbGVjdGVkS2V5ID0gKHNlbGVjdGVkKSA9PiB7XHJcbiAgICBsZXQgcmVzID0gW107XHJcbiAgICBmb3IgKGxldCBrZXkgaW4gc2VsZWN0ZWQpIHtcclxuICAgICAgY29uc3Qga2V5cyA9IHNlbGVjdGVkW2tleV07XHJcbiAgICAgIGlmIChrZXlzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICByZXMgPSBbLi4ucmVzLCAuLi5rZXlzXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlcztcclxuICB9O1xyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgY29sdW1ucyA9IFtdLFxyXG4gICAgICBzaG93U2VhcmNoID0gdHJ1ZSxcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICAgIHN1Ym1pdFVybCA9IFwiXCIsXHJcbiAgICAgIHRhYmxlUHJvcHMgPSB7fSxcclxuICAgICAgdHJlZVByb3BzID0ge30sXHJcbiAgICAgIGZvcm1Qcm9wcyA9IHt9LFxyXG4gICAgICBzaG93TGVmdCA9IGZhbHNlLFxyXG4gICAgICBzdWJtaXRQYXJhbXMgPSB7fSxcclxuICAgICAgc2hvd1Rvb2xCdXR0b24gPSB0cnVlLFxyXG4gICAgICBidXR0b25zID0gW10sXHJcbiAgICAgIGVkaXRvckZvcm0gPSB0cnVlLFxyXG4gICAgICBvblNob3dGb3JtLFxyXG4gICAgICBmb3JtQ2hhbmdlVmFsaWQgPSB0cnVlLFxyXG4gICAgICBjbGFzc05hbWUsXHJcbiAgICAgIHRvb2xCdXR0b25Qb3NpdGlvbiA9IFwiYnV0dG9tXCIsXHJcbiAgICAgIGFjdGlvblBvcnBzLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIGZpbHRlckNvbHVtbiA9IHRydWUsXHJcbiAgICAgIGFjdGlvbkNvbHVtbiA9IHRydWUsXHJcbiAgICAgIHNob3dSb3dTZWxlY3Rpb24gPSB0cnVlLFxyXG4gICAgICBjb2x1bW5PcmRlciA9IHRydWUsXHJcbiAgICAgIHJvd1NlbGVjdGlvbiA9IHt9LFxyXG4gICAgICBleHBhbmRhYmxlID0ge30sXHJcbiAgICAgIC4uLm90aGVydGFibGVQYXJhbXNcclxuICAgIH0gPSB0YWJsZVByb3BzO1xyXG5cclxuICAgIGNvbnN0IHtcclxuICAgICAgc3RvcmU6IHRyZWVTdG9yZSA9IHt9LFxyXG4gICAgICBzaG93U2VhcmNoOiB0cmVlU2VhcmNoID0gdHJ1ZSxcclxuICAgICAgdGl0bGVBbGlhcyA9IFwidGl0bGVcIixcclxuICAgICAgLi4ub3RoZXJ0cmVlUGFyYW1zXHJcbiAgICB9ID0gdHJlZVByb3BzO1xyXG5cclxuICAgIGxldCB0YWJsZVBhcmFtcyA9IHsgZmlsdGVyQ29sdW1uLCBzdG9yZSwgLi4ub3RoZXJ0YWJsZVBhcmFtcyB9IGFzIGFueTtcclxuICAgIGlmIChzaG93Um93U2VsZWN0aW9uKSB7XHJcbiAgICAgIHRhYmxlUGFyYW1zID0ge1xyXG4gICAgICAgIC4uLnRhYmxlUGFyYW1zLFxyXG4gICAgICAgIHJvd1NlbGVjdGlvbjoge1xyXG4gICAgICAgICAgc2VsZWN0ZWRSb3dLZXlzOiB0aGlzLnN0YXRlLnNlbGVjdGVkUm93S2V5cyxcclxuICAgICAgICAgIG9uQ2hhbmdlOiAoc2VsZWN0ZWRSb3dLZXlzLCBzZWxlY3RlZFJvd3MpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXNTdG9yZSwgc2VsZWN0ZWRSb3dEYXRhc1N0b3JlLCBjdXJyZW50UGFnZSB9ID1cclxuICAgICAgICAgICAgICB0aGlzLnN0YXRlO1xyXG4gICAgICAgICAgICBjb25zdCBuZXdSb3dLZXlzU3RvcmUgPSB7XHJcbiAgICAgICAgICAgICAgLi4uc2VsZWN0ZWRSb3dLZXlzU3RvcmUsXHJcbiAgICAgICAgICAgICAgW2N1cnJlbnRQYWdlXTogc2VsZWN0ZWRSb3dLZXlzLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBjb25zdCBuZXdSb3dEYXRhc1N0b3JlID0ge1xyXG4gICAgICAgICAgICAgIC4uLnNlbGVjdGVkUm93RGF0YXNTdG9yZSxcclxuICAgICAgICAgICAgICBbY3VycmVudFBhZ2VdOiBzZWxlY3RlZFJvd3MsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgIHNlbGVjdGVkUm93S2V5czogdGhpcy5nZXRTZWxlY3RlZEtleShuZXdSb3dLZXlzU3RvcmUpLFxyXG4gICAgICAgICAgICAgIHNlbGVjdGVkUm93RGF0YXM6IHRoaXMuZ2V0U2VsZWN0ZWRLZXkobmV3Um93RGF0YXNTdG9yZSksXHJcbiAgICAgICAgICAgICAgc2VsZWN0ZWRSb3dLZXlzU3RvcmU6IHtcclxuICAgICAgICAgICAgICAgIC4uLm5ld1Jvd0tleXNTdG9yZSxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHNlbGVjdGVkUm93RGF0YXNTdG9yZToge1xyXG4gICAgICAgICAgICAgICAgLi4ubmV3Um93RGF0YXNTdG9yZSxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBjb2x1bW5XaWR0aDogNDAsXHJcbiAgICAgICAgICBjaGVja1N0cmljdGx5OiBmYWxzZSxcclxuICAgICAgICAgIC4uLnJvd1NlbGVjdGlvbixcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgbGV0IHRhYmxlQ29sdW1uOiBhbnlbXSA9IFtdO1xyXG4gICAgY29uc3Qgc2VhcmNoRm9ybXM6IGFueSA9IFtdO1xyXG4gICAgY29uc3QgZWRpdG9yRm9ybXM6IGFueSA9IFtdO1xyXG4gICAgY29uc3QgZGVmYXVsdFZhbHVlOiBhbnkgPSB7fTtcclxuICAgIGNvbnN0IGNvbHVtbkJ1dHRvbnM6IGFueSA9IFtdO1xyXG4gICAgY29sdW1ucy5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBsZXQgdGVtcCA9IHsgLi4uaXRlbSB9O1xyXG4gICAgICBpZiAodGVtcC5zZWFyY2gpIHtcclxuICAgICAgICBzZWFyY2hGb3Jtcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IHRlbXAuZmllbGQgfHwgdGVtcC5kYXRhSW5kZXgsXHJcbiAgICAgICAgICBsYWJlbDogdGVtcC50aXRsZSxcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHByb3BzOiB0ZW1wLnByb3BzLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnNlYXJjaDtcclxuICAgICAgdGVtcC5lZGl0b3IgIT09IGZhbHNlICYmXHJcbiAgICAgICAgZWRpdG9yRm9ybXMucHVzaCh7XHJcbiAgICAgICAgICBuYW1lOiB0ZW1wLmZpZWxkIHx8IHRlbXAuZGF0YUluZGV4LFxyXG4gICAgICAgICAgbGFiZWw6IHRlbXAudGl0bGUsXHJcbiAgICAgICAgICBydWxlczogdGVtcC5ydWxlcyA/IHRlbXAucnVsZXMgOiBbXSxcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHNwYW46IHRlbXAuc3BhbixcclxuICAgICAgICAgIGRpY3ROYW1lOiB0ZW1wLmRpY3ROYW1lLFxyXG4gICAgICAgICAgcHJvcHM6IG9taXQoeyAuLi50ZW1wLnByb3BzIH0sIFtcImRlZmF1bHRWYWx1ZVwiLCBcInZhbHVlXCJdKSxcclxuICAgICAgICB9KTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRlbXAucHJvcHM/LmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgICAgdGVtcC5wcm9wcz8uZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICkge1xyXG4gICAgICAgIGNvbnN0IG5hbWUgPSB0ZW1wLmZpZWxkIHx8IHRlbXAuZGF0YUluZGV4O1xyXG4gICAgICAgIGRlZmF1bHRWYWx1ZVtuYW1lXSA9IHRlbXAucHJvcHM/LmRlZmF1bHRWYWx1ZTtcclxuICAgICAgfVxyXG4gICAgICBkZWxldGUgdGVtcC5ydWxlcztcclxuICAgICAgZGVsZXRlIHRlbXAuc3BhbjtcclxuICAgICAgaWYgKHRlbXAuY29sdW1uU2VhcmNoKSB7XHJcbiAgICAgICAgdGVtcC5maWx0ZXJQcm9wcyA9IHtcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHByb3BzOiB0ZW1wLnByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgZGVsZXRlIHRlbXAudHlwZTtcclxuICAgICAgbGV0IHRlbXBQcm9wID0geyAuLi50ZW1wLnByb3BzIH07XHJcbiAgICAgIGlmICh0ZW1wLnN0eWxlKSB7XHJcbiAgICAgICAgdGVtcCA9IHtcclxuICAgICAgICAgIHJlbmRlcjogKHRleHQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgIDw+XHJcbiAgICAgICAgICAgICAgICB7dGV4dCAhPT0gXCJcIiAmJiB0ZXh0ICE9PSBudWxsICYmIHRleHQgIT09IHVuZGVmaW5lZCAmJiAoXHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiY29sLWJhY2tcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiY29sLXRleHRcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgICAge3RoaXMuZ2V0VGV4dCh0ZW1wUHJvcCwgdGV4dCl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvPlxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVsbGlwc2lzOiB0cnVlLFxyXG4gICAgICAgICAgLi4udGVtcCxcclxuICAgICAgICB9O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRlbXAgPSB7XHJcbiAgICAgICAgICByZW5kZXI6ICh0ZXh0OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIDw+e3RoaXMuZ2V0VGV4dCh0ZW1wUHJvcCwgdGV4dCl9PC8+O1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnRlbXAsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICBkZWxldGUgdGVtcC5wcm9wcztcclxuICAgICAgaWYgKHRlbXA/LmNvbHVtblNob3cgIT09IGZhbHNlKSB0YWJsZUNvbHVtbi5wdXNoKHRlbXApO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBzZWxmQnV0dG9uczogYW55ID0gW107XHJcbiAgICBjb25zdCB7IGJhc2VBY3Rpb25Db2x1bW4gfSA9IGNvbmZpZygpO1xyXG4gICAgbGV0IHNob3dJY29uID0gdHJ1ZTtcclxuICAgIGlmIChhY3Rpb25Qb3Jwcz8uc2hvd0ljb24gPT09IGZhbHNlKSBzaG93SWNvbiA9IGZhbHNlO1xyXG4gICAgZWxzZSBpZiAoYmFzZUFjdGlvbkNvbHVtbi5zaG93SWNvbiA9PT0gZmFsc2UpIHNob3dJY29uID0gZmFsc2U7XHJcbiAgICBpZiAoZWRpdG9yRm9ybSA9PSB0cnVlKSB7XHJcbiAgICAgIGlmIChidXR0b25zLmluZGV4T2YoXCJzZWFyY2hcIikgPiAtMSkge1xyXG4gICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChcclxuICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgb25DbGljaz17KHJlY29yZDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKG9uU2hvd0Zvcm0pIHtcclxuICAgICAgICAgICAgICAgIG9uU2hvd0Zvcm0ocmVjb3JkLmF0dHJpYnV0ZSB8fCByZWNvcmQsIFwiZGV0YWlsXCIpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLnNob3dGb3JtKHJlY29yZC5hdHRyaWJ1dGUgfHwgcmVjb3JkLCBcImRldGFpbFwiKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgaWNvbj17PEV5ZU91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICDmn6XnnItcclxuICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGJ1dHRvbnMuaW5kZXhPZihcImVkaXRvclwiKSA+IC0xKSB7XHJcbiAgICAgICAgY29sdW1uQnV0dG9ucy5wdXNoKFxyXG4gICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICBvbkNsaWNrPXsocmVjb3JkOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBpZiAob25TaG93Rm9ybSkge1xyXG4gICAgICAgICAgICAgICAgb25TaG93Rm9ybShyZWNvcmQuYXR0cmlidXRlIHx8IHJlY29yZCwgXCJlZGl0b3JcIik7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0Zvcm0ocmVjb3JkLmF0dHJpYnV0ZSB8fCByZWNvcmQsIFwiZWRpdG9yXCIpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICBpY29uPXs8RWRpdE91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICDnvJbovpFcclxuICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChidXR0b25zLmluZGV4T2YoXCJhZGRcIikgPiAtMSkge1xyXG4gICAgICBzZWxmQnV0dG9ucy5wdXNoKFxyXG4gICAgICAgIDxCdXR0b25cclxuICAgICAgICAgIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB7IG9uU2hvd0Zvcm0gfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgICAgICAgIGlmIChvblNob3dGb3JtKSB7XHJcbiAgICAgICAgICAgICAgb25TaG93Rm9ybSgpO1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNob3dGb3JtKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgaWNvbj17PFBsdXNPdXRsaW5lZCAvPn1cclxuICAgICAgICA+XHJcbiAgICAgICAgICDmt7vliqBcclxuICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmIChidXR0b25zLmluZGV4T2YoXCJkZWxldGVcIikgPiAtMSkge1xyXG4gICAgICBzZWxmQnV0dG9ucy5wdXNoKFxyXG4gICAgICAgIDxCdXR0b25cclxuICAgICAgICAgIC8vIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgb25DbGljaz17dGhpcy5vbkRlbGV0ZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUuZGVsZXRlM30gLz59XHJcbiAgICAgICAgICBkYW5nZXJcclxuICAgICAgICA+XHJcbiAgICAgICAgICDliKDpmaRcclxuICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xyXG4gICAgICBjaGlsZHJlbi5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJ0b29sQnV0dG9uXCIpIHtcclxuICAgICAgICAgIHNlbGZCdXR0b25zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJjbG91bW5CdXR0b25cIikge1xyXG4gICAgICAgICAgY29sdW1uQnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIGNvbnN0IHsgcHJvcHMgfTogYW55ID0gY2hpbGRyZW47XHJcbiAgICAgIGlmIChwcm9wcz8ucGFnZVR5cGUgPT0gXCJ0b29sQnV0dG9uXCIpIHtcclxuICAgICAgICBzZWxmQnV0dG9ucy5wdXNoKGNoaWxkcmVuKTtcclxuICAgICAgfSBlbHNlIGlmIChwcm9wcz8ucGFnZVR5cGUgPT0gXCJjbG91bW5CdXR0b25cIikge1xyXG4gICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGFjdGlvbkNvbHVtbiAmJlxyXG4gICAgICB0YWJsZUNvbHVtbi5wdXNoKHtcclxuICAgICAgICB0aXRsZTogXCLmk43kvZxcIixcclxuICAgICAgICBkYXRhSW5kZXg6IFwiYWN0aW9uXCIsXHJcbiAgICAgICAgYWxpZ246IGFjdGlvblBvcnBzPy50ZXh0QWxpZ25cclxuICAgICAgICAgID8gYWN0aW9uUG9ycHM/LnRleHRBbGlnblxyXG4gICAgICAgICAgOiBiYXNlQWN0aW9uQ29sdW1uLnRleHRBbGlnblxyXG4gICAgICAgICAgPyBiYXNlQWN0aW9uQ29sdW1uLnRleHRBbGlnblxyXG4gICAgICAgICAgOiBcImNlbnRlclwiLFxyXG4gICAgICAgIHdpZHRoOiBhY3Rpb25Qb3Jwcz8ud2lkdGhcclxuICAgICAgICAgID8gYWN0aW9uUG9ycHM/LndpZHRoXHJcbiAgICAgICAgICA6IGJhc2VBY3Rpb25Db2x1bW4ud2lkdGhcclxuICAgICAgICAgID8gYmFzZUFjdGlvbkNvbHVtbi53aWR0aFxyXG4gICAgICAgICAgOiAyMDAsXHJcbiAgICAgICAgZml4ZWQ6IFwicmlnaHRcIixcclxuICAgICAgICBlbGxpcHNpczogdHJ1ZSxcclxuICAgICAgICByZW5kZXI6ICh0ZXh0OiBhbnksIHJlY29yZDogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiYWN0aW9uXCIpfT5cclxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJDbG91bW5CdXR0b24oY29sdW1uQnV0dG9ucywgcmVjb3JkKX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgaWYgKGNvbHVtbk9yZGVyKVxyXG4gICAgICB0YWJsZUNvbHVtbiA9IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICB0aXRsZTogXCLluo/lj7dcIixcclxuICAgICAgICAgIHdpZHRoOiA4MCxcclxuICAgICAgICAgIGFsaWduOiBcImNlbnRlclwiLFxyXG4gICAgICAgICAgcmVuZGVyOiAodGV4dCwgcmVhY29yZCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIDw+e2luZGV4ICsgMX08Lz47XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLi4udGFibGVDb2x1bW4sXHJcbiAgICAgIF07XHJcblxyXG4gICAgaWYgKHRhYmxlUHJvcHMucGFnaW5hdGlvbiAhPT0gZmFsc2UpIHtcclxuICAgICAgLy8gc2Nyb2xsPXt7IHg6IFwibWF4LWNvbnRlbnRcIiwgeTogXCIyNXZ3XCIgfX1cclxuICAgICAgLy/orqHnrpfooajmoLzpq5jluqZcclxuICAgICAgbGV0IHRhYmxlSGVpZ2h0ID0gZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHQgLSAxNjA7IC8v5pW05L2T6aG16Z2i6auY5bqmLGxheW91dOWktOmDqO+8jHBhZGRpbmdcclxuICAgICAgaWYgKHRoaXMucHJvcHMucGFnZVRpdGxlKSB7XHJcbiAgICAgICAgdGFibGVIZWlnaHQgPSB0YWJsZUhlaWdodCAtIDU4OyAvL+WHj+WOu+mhtemdouagh+mimOmrmOW6plxyXG4gICAgICB9XHJcbiAgICAgIGlmIChzaG93U2VhcmNoKSB7XHJcbiAgICAgICAgdGFibGVIZWlnaHQgPSB0YWJsZUhlaWdodCAtIDY4OyAvL+WHj+WOu+aQnOe0ouagj+mrmOW6plxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnByb3BzLnNob3dUb29sQnV0dG9uKSB7XHJcbiAgICAgICAgLy/lh4/ljrvlt6XlhbfmoI/pq5jluqZcclxuICAgICAgICB0YWJsZUhlaWdodCA9IHRhYmxlSGVpZ2h0IC0gNDI7XHJcbiAgICAgIH1cclxuICAgICAgdGFibGVIZWlnaHQgPSB0YWJsZUhlaWdodCAtIDU1IC0gNzU7IC8v5YeP5Y676KGo5aS05ZKM5YiG6aCB6auY5bqmXHJcbiAgICAgIHRhYmxlUGFyYW1zID0ge1xyXG4gICAgICAgIHNjcm9sbDogeyB4OiBcIm1heC1jb250ZW50XCIsIHk6IHRhYmxlSGVpZ2h0IH0sXHJcbiAgICAgICAgLi4udGFibGVQYXJhbXMsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcInBhZ2VcIiksIGNsYXNzTmFtZSl9PlxyXG4gICAgICAgIHt0aGlzLnByb3BzLnBhZ2VUaXRsZSAmJiAoXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcInBhZ2UtdGl0bGVcIikpfT5cclxuICAgICAgICAgICAge3RoaXMucHJvcHMucGFnZVRpdGxlfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKX1cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJwYWdlLXBhbmVcIikpfVxyXG4gICAgICAgICAgc3R5bGU9e3sgZGlzcGxheTogXCJmbGV4XCIgfX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7c2hvd0xlZnQgJiYgKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwibGVmdFwiKX0+XHJcbiAgICAgICAgICAgICAgPFRyZWVcclxuICAgICAgICAgICAgICAgIHN0b3JlPXt7IC4uLnRyZWVTdG9yZSB9fVxyXG4gICAgICAgICAgICAgICAgc2hvd0ljb249e2ZhbHNlfVxyXG4gICAgICAgICAgICAgICAgY2hlY2thYmxlPXtmYWxzZX1cclxuICAgICAgICAgICAgICAgIHNlYXJjaGFibGU9e3RyZWVTZWFyY2h9XHJcbiAgICAgICAgICAgICAgICBvblNlbGVjdD17dGhpcy50cmVlU2VsZWN0LmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICBzZWxlY3RlZEtleXM9e1t0aGlzLnN0YXRlLnRyZWVTZWxlY3RlZEtleV19XHJcbiAgICAgICAgICAgICAgICB0aXRsZUFsaWFzPXt0aXRsZUFsaWFzfVxyXG4gICAgICAgICAgICAgICAgey4uLm90aGVydHJlZVBhcmFtc31cclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcInJpZ2h0XCIpLCB7XHJcbiAgICAgICAgICAgICAgW2dldExlc3Moc3R5bGVzLCBcIm5vLWxlZnQtcmlnaHRcIildOiAhc2hvd0xlZnQsXHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7c2hvd1NlYXJjaCAmJiAoXHJcbiAgICAgICAgICAgICAgPEhlYWRlclNlYXJjaFxyXG4gICAgICAgICAgICAgICAgc2VhcmNoRm9ybXM9e3NlYXJjaEZvcm1zfVxyXG4gICAgICAgICAgICAgICAgdG9vbEJ1dHRvblBvc2l0aW9uPXt0b29sQnV0dG9uUG9zaXRpb259XHJcbiAgICAgICAgICAgICAgICBvblNlYXJjaD17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgICAgcmVmPXt0aGlzLnNlYXJjaFJlZn1cclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICApfVxyXG5cclxuICAgICAgICAgICAge3Nob3dUb29sQnV0dG9uICYmXHJcbiAgICAgICAgICAgICAgdG9vbEJ1dHRvblBvc2l0aW9uID09IFwiYnV0dG9tXCIgJiZcclxuICAgICAgICAgICAgICB0aGlzLnJlbmRlclRvb2xCdXR0b25zKHNlbGZCdXR0b25zLCBzZWFyY2hGb3Jtcy5sZW5ndGggPT0gMCl9XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbHMoZ2V0TGVzcyhzdHlsZXMsIFwidGFibGVcIikpfT5cclxuICAgICAgICAgICAgICA8VGFibGVcclxuICAgICAgICAgICAgICAgIHJlZj17dGhpcy50YWJsZVJlZn1cclxuICAgICAgICAgICAgICAgIGNvbHVtbnM9e3RhYmxlQ29sdW1ufVxyXG4gICAgICAgICAgICAgICAgZXhwYW5kYWJsZT17e1xyXG4gICAgICAgICAgICAgICAgICBleHBhbmRJY29uOiAoeyBleHBhbmRlZCwgb25FeHBhbmQsIHJlY29yZCB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgICAgICAgIDw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtleHBhbmRlZCA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8RG93bk91dGxpbmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4gb25FeHBhbmQocmVjb3JkLCBlKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZXhwYW5kLWljb25cIil9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2hpbGROb2RlcyAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmlnaHRPdXRsaW5lZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4gb25FeHBhbmQocmVjb3JkLCBlKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJleHBhbmQtaWNvblwiKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC8+XHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgLi4uZXhwYW5kYWJsZSxcclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICBjb2x1bW5PcmRlcj17dHJ1ZX1cclxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsocGFnaW5hdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCB7IGN1cnJlbnRQYWdlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICAgICAgICAgICAgICBpZiAoY3VycmVudFBhZ2UgIT09IHBhZ2luYXRpb24uY3VycmVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgY3VycmVudFBhZ2U6IHBhZ2luYXRpb24uY3VycmVudCxcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgIHRvb2xiYXI9e3tcclxuICAgICAgICAgICAgICAgICAgb25Ub29sQ2xpY2s6IHtcclxuICAgICAgICAgICAgICAgICAgICBvblJlZnJlc2g6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuZ2V0U2VhcmNoVmFsdWVzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlTG9hZChwYXJhbXMpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgIC4uLnRhYmxlUHJvcHMudG9vbGJhcixcclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICB7Li4udGFibGVQYXJhbXN9XHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIHtlZGl0b3JGb3JtICYmIChcclxuICAgICAgICAgICAgPEVkaXRvckZvcm1cclxuICAgICAgICAgICAgICByZWY9e3RoaXMuZWRpdG9yUmVmfVxyXG4gICAgICAgICAgICAgIGNhbGxCYWNrPXt0aGlzLnRhYmxlUmVsb2FkLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgZm9ybVByb3BzPXtlZGl0b3JGb3Jtc31cclxuICAgICAgICAgICAgICBzdWJtaXRVcmw9e3N1Ym1pdFVybH1cclxuICAgICAgICAgICAgICBzdWJtaXRQYXJhbXM9e3N1Ym1pdFBhcmFtc31cclxuICAgICAgICAgICAgICBvblN1Ym1pdD17dGhpcy5wcm9wcy5vblN1Ym1pdH1cclxuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cclxuICAgICAgICAgICAgICBvbkhpZGVGb3JtPXt0aGlzLnByb3BzLm9uSGlkZUZvcm19XHJcbiAgICAgICAgICAgICAgb25Gb3JtQ2hhbmdlPXt0aGlzLnByb3BzLm9uRm9ybUNoYW5nZX1cclxuICAgICAgICAgICAgICBmb3JtVHlwZT17dGhpcy5wcm9wcy5mb3JtVHlwZSB8fCBcImF1dG9cIn1cclxuICAgICAgICAgICAgICBjaGFuZ2VWYWxpZD17Zm9ybUNoYW5nZVZhbGlkfVxyXG4gICAgICAgICAgICAgIG90aGVyUHJvcHM9e3sgLi4uZm9ybVByb3BzIH19XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IEJhc2VQYWdlO1xyXG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
.page {
|
|
2
|
-
min-height: 540px;
|
|
2
|
+
// min-height: 540px;
|
|
3
3
|
height: 100%;
|
|
4
4
|
background: #fff;
|
|
5
5
|
border-radius: 10px;
|
|
@@ -109,12 +109,6 @@
|
|
|
109
109
|
margin-left: 0;
|
|
110
110
|
}
|
|
111
111
|
|
|
112
|
-
.a_style {
|
|
113
|
-
line-height: 35px;
|
|
114
|
-
color: var(--ant-primary-color);
|
|
115
|
-
// width: 60px;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
112
|
.col-back {
|
|
119
113
|
border-radius: 4px;
|
|
120
114
|
padding: 5px 15px 5px 15px;
|
|
@@ -71,7 +71,6 @@ var HeaderSearch = /*#__PURE__*/function (_PureComponent) {
|
|
|
71
71
|
var _this$searchRef$curre;
|
|
72
72
|
|
|
73
73
|
(_this$searchRef$curre = this.searchRef.current) === null || _this$searchRef$curre === void 0 ? void 0 : _this$searchRef$curre.setFieldsValue(params);
|
|
74
|
-
callBack && callBack(params);
|
|
75
74
|
}
|
|
76
75
|
}, {
|
|
77
76
|
key: "getSearchValues",
|
|
@@ -225,7 +224,7 @@ var HeaderSearch = /*#__PURE__*/function (_PureComponent) {
|
|
|
225
224
|
onClick: this.resetSearch.bind(this),
|
|
226
225
|
icon: /*#__PURE__*/React.createElement(ReloadOutlined, null)
|
|
227
226
|
}, "\u91CD\u7F6E"), searchForms.length > 3 && /*#__PURE__*/React.createElement("div", {
|
|
228
|
-
className: getLess(styles, "
|
|
227
|
+
className: getLess(styles, "expand_style"),
|
|
229
228
|
onClick: function onClick() {
|
|
230
229
|
var expand = _this2.state.expand;
|
|
231
230
|
|
|
@@ -241,4 +240,4 @@ var HeaderSearch = /*#__PURE__*/function (_PureComponent) {
|
|
|
241
240
|
}(PureComponent);
|
|
242
241
|
|
|
243
242
|
export default HeaderSearch;
|
|
244
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvSGVhZGVyU2VhcmNoL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJGb3JtIiwiQnV0dG9uIiwiY2xzIiwic3R5bGVzIiwiQ29sIiwiUm93IiwibW9tZW50IiwiaXNFbXB0eU9iaiIsIkRvd25PdXRsaW5lZCIsIlVwT3V0bGluZWQiLCJSZWxvYWRPdXRsaW5lZCIsIlNlYXJjaE91dGxpbmVkIiwiZ2V0TGVzcyIsImdldE5vZGUiLCJIZWFkZXJTZWFyY2giLCJjcmVhdGVSZWYiLCJleHBhbmQiLCJwYXJhbXMiLCJjYWxsQmFjayIsInNlYXJjaFJlZiIsImN1cnJlbnQiLCJzZXRGaWVsZHNWYWx1ZSIsImZyb21WYWx1ZSIsImdldEZpZWxkc1ZhbHVlIiwib25TZWFyY2giLCJwcm9wcyIsImRhdGVGb3JtYXQiLCJrZXkiLCJvbGRkYXRhIiwiQXJyYXkiLCJpc0FycmF5IiwiZm9ybWF0IiwicmVzZXRGaWVsZHMiLCJzZWFyY2hGb3JtcyIsInRvb2xCdXR0b25Qb3NpdGlvbiIsImNvbFNwYW4iLCJoZWFkZXJDb3VudCIsImhlYWRlclJvdXQiLCJsZW5ndGgiLCJ3aWR0aCIsImJpbmQiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJpdGVtUHJvcHMiLCJ2YWx1ZUZvcm1hdCIsIm5hbWUiLCJzdGF0ZSIsImFsbG93Q2hhcnMiLCJ0eXBlIiwic3BhbiIsInBhZGRpbmdSaWdodCIsImxhYmVsIiwicGxhY2Vob2xkZXIiLCJtYXJnaW5Ub3AiLCJtYXJnaW5MZWZ0IiwicmVzZXRTZWFyY2giLCJzZXRTdGF0ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQWdELE9BQWhEO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixpQkFBakI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLG1CQUFuQjtBQUNBLE9BQU9DLEdBQVAs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LEVBeUJHUCxXQUFXLENBQUNLLE1BQVosR0FBcUIsQ0FBckIsaUJBQ0M7QUFDRSxRQUFBLFNBQVMsRUFBRTFCLE9BQU8sQ0FBQ1QsTUFBRCxFQUFTLFNBQVQsQ0FEcEI7QUFFRSxRQUFBLE9BQU8sRUFBRSxtQkFBTTtBQUNiLGNBQVFhLE1BQVIsR0FBbUIsTUFBSSxDQUFDK0IsS0FBeEIsQ0FBUS9CLE1BQVI7O0FBQ0EsVUFBQSxNQUFJLENBQUN5QyxRQUFMLENBQWM7QUFDWnpDLFlBQUFBLE1BQU0sRUFBRSxDQUFDQTtBQURHLFdBQWQ7QUFHRDtBQVBILFNBU0csS0FBSytCLEtBQUwsQ0FBVy9CLE1BQVgsR0FBb0IsSUFBcEIsR0FBMkIsSUFUOUIsRUFVRyxLQUFLK0IsS0FBTCxDQUFXL0IsTUFBWCxnQkFBb0Isb0JBQUMsVUFBRCxPQUFwQixnQkFBcUMsb0JBQUMsWUFBRCxPQVZ4QyxDQTFCSixDQVpGLENBMUNGLENBREYsQ0FERixDQURGLENBREY7QUF3R0Q7Ozs7RUExSndCakIsYTs7QUE0SjNCLGVBQWVlLFlBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCwgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBGb3JtIGZyb20gXCIuLi8uLi9iYXNlL2Zvcm1cIjtcclxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vLi4vYmFzZS9idXR0b25cIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IENvbCBmcm9tIFwiLi4vLi4vYmFzZS9ncmlkL0NvbFwiO1xyXG5pbXBvcnQgUm93IGZyb20gXCIuLi8uLi9iYXNlL2dyaWQvUm93XCI7XHJcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xyXG5pbXBvcnQgeyBpc0VtcHR5T2JqIH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCB7XHJcbiAgRG93bk91dGxpbmVkLFxyXG4gIFVwT3V0bGluZWQsXHJcbiAgUmVsb2FkT3V0bGluZWQsXHJcbiAgU2VhcmNoT3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCB7IGdldExlc3MsIGdldE5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuXHJcbmludGVyZmFjZSBTZWFyY2hQcm9wcyB7XHJcbiAgc2VhcmNoRm9ybXM6IEFycmF5PGFueT47IC8v5piv5ZCm5pi+56S65pON5L2c5YiXXHJcbiAgdG9vbEJ1dHRvblBvc2l0aW9uPzogc3RyaW5nO1xyXG4gIG9uU2VhcmNoPzogYW55O1xyXG59XHJcblxyXG5jbGFzcyBIZWFkZXJTZWFyY2ggZXh0ZW5kcyBQdXJlQ29tcG9uZW50PFNlYXJjaFByb3BzLCBhbnk+IHtcclxuICBzZWFyY2hSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIGRhdGVGb3JtYXQgPSB7fSBhcyBhbnk7XHJcbiAgc3RhdGUgPSB7IGV4cGFuZDogZmFsc2UgfTtcclxuICBzZXRTZWFyY2hQYXJhbXMocGFyYW1zLCBjYWxsQmFjaykge1xyXG4gICAgdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uc2V0RmllbGRzVmFsdWUocGFyYW1zKTtcclxuICAgIGNhbGxCYWNrICYmIGNhbGxCYWNrKHBhcmFtcyk7XHJcbiAgfVxyXG4gIGdldFNlYXJjaFZhbHVlcygpIHtcclxuICAgIGNvbnN0IGZyb21WYWx1ZSA9IHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICByZXR1cm4gZnJvbVZhbHVlO1xyXG4gIH1cclxuICBvblNlYXJjaCgpIHtcclxuICAgIGNvbnN0IHsgb25TZWFyY2ggfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBmcm9tVmFsdWUgPSB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgaWYgKG9uU2VhcmNoKSB7XHJcbiAgICAgIG9uU2VhcmNoKGZyb21WYWx1ZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICghaXNFbXB0eU9iaih0aGlzLmRhdGVGb3JtYXQpKSB7XHJcbiAgICAgIGZvciAobGV0IGtleSBpbiB0aGlzLmRhdGVGb3JtYXQpIHtcclxuICAgICAgICBsZXQgb2xkZGF0YSA9IGZyb21WYWx1ZVtrZXldO1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9sZGRhdGEpKSB7XHJcbiAgICAgICAgICBmcm9tVmFsdWVba2V5XSA9IFtcclxuICAgICAgICAgICAgbW9tZW50KG9sZGRhdGFbMF0pLmZvcm1hdCh0aGlzLmRhdGVGb3JtYXRba2V5XSksXHJcbiAgICAgICAgICAgIG1vbWVudChvbGRkYXRhWzFdKS5mb3JtYXQodGhpcy5kYXRlRm9ybWF0W2tleV0pLFxyXG4gICAgICAgICAgXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgZnJvbVZhbHVlW2tleV0gPSBtb21lbnQob2xkZGF0YSkuZm9ybWF0KHRoaXMuZGF0ZUZvcm1hdFtrZXldKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgcmVzZXRTZWFyY2goKSB7XHJcbiAgICB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5yZXNldEZpZWxkcygpO1xyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IHNlYXJjaEZvcm1zID0gW10sIHRvb2xCdXR0b25Qb3NpdGlvbiwgb25TZWFyY2ggfSA9IHRoaXMucHJvcHM7XHJcblxyXG4gICAgbGV0IGNvbFNwYW4gPSAwO1xyXG4gICAgY29uc3QgaGVhZGVyQ291bnQgPSB0b29sQnV0dG9uUG9zaXRpb24gPT0gXCJyaWdodFwiID8gMSA6IDI7XHJcbiAgICBjb25zdCBoZWFkZXJSb3V0ID0gc2VhcmNoRm9ybXMubGVuZ3RoICUgNDtcclxuICAgIGlmIChoZWFkZXJSb3V0ID09IDApIHtcclxuICAgICAgY29sU3BhbiA9IDE4O1xyXG4gICAgfSBlbHNlIGlmIChoZWFkZXJSb3V0ID09IDEpIHtcclxuICAgICAgY29sU3BhbiA9IDEyO1xyXG4gICAgfSBlbHNlIGlmIChoZWFkZXJSb3V0ID09IDIpIHtcclxuICAgICAgY29sU3BhbiA9IDY7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPFJvdyBndXR0ZXI9ezI0fSB3cmFwPlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJoZWFkZXJcIil9PlxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJmb3JtXCIpKX0+XHJcbiAgICAgICAgICAgIDxGb3JtXHJcbiAgICAgICAgICAgICAgcmVmPXt0aGlzLnNlYXJjaFJlZn1cclxuICAgICAgICAgICAgICBsYWJlbENvbD17e319XHJcbiAgICAgICAgICAgICAgd3JhcHBlckNvbD17e319XHJcbiAgICAgICAgICAgICAgbGF5b3V0PVwiaW5saW5lXCJcclxuICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIgfX1cclxuICAgICAgICAgICAgICBvbkZpbmlzaD17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge3NlYXJjaEZvcm1zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtUHJvcHMgPSBpdGVtLnByb3BzIHx8IHt9O1xyXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1Qcm9wcy52YWx1ZUZvcm1hdCkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmRhdGVGb3JtYXRbaXRlbS5uYW1lXSA9IGl0ZW1Qcm9wcy52YWx1ZUZvcm1hdDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmIChpbmRleCA+IGhlYWRlckNvdW50ICYmICF0aGlzLnN0YXRlLmV4cGFuZCkge1xyXG4gICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsZXQgYWxsb3dDaGFycyA9IGl0ZW0/LnByb3BzPy5hbGxvd0NoYXJzIHx8IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgbGV0IHByb3BzID0geyAuLi5pdGVtUHJvcHMgfTtcclxuICAgICAgICAgICAgICAgIGlmICghaXRlbS50eXBlIHx8IGl0ZW0udHlwZSA9PSBcIklucHV0XCIpIHtcclxuICAgICAgICAgICAgICAgICAgcHJvcHMuYWxsb3dDaGFycyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgICAgICA8Q29sXHJcbiAgICAgICAgICAgICAgICAgICAgbWQ9e3sgc3BhbjogMTIgfX1cclxuICAgICAgICAgICAgICAgICAgICBzbT17eyBzcGFuOiAyNCB9fVxyXG4gICAgICAgICAgICAgICAgICAgIGxnPXt7IHNwYW46IDYgfX1cclxuICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IHBhZGRpbmdSaWdodDogMCB9fVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPEZvcm0uSXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2l0ZW0ubGFiZWx9XHJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtpdGVtLm5hbWV9XHJcbiAgICAgICAgICAgICAgICAgICAgICBhbGxvd0NoYXJzPXthbGxvd0NoYXJzfVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHtnZXROb2RlKGl0ZW0udHlwZSwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogYOivt+i+k+WFpSR7aXRlbS5sYWJlbH1gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5wcm9wcyxcclxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxyXG4gICAgICAgICAgICAgICAgICA8L0NvbD5cclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgPENvbFxyXG4gICAgICAgICAgICAgICAgbWQ9e3sgc3BhbjogMTIgfX1cclxuICAgICAgICAgICAgICAgIHNtPXt7IHNwYW46IDI0IH19XHJcbiAgICAgICAgICAgICAgICBsZz17eyBzcGFuOiB0b29sQnV0dG9uUG9zaXRpb24gPT0gXCJyaWdodFwiID8gMTIgOiA2IH19XHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBwYWRkaW5nUmlnaHQ6IDAgfX1cclxuICAgICAgICAgICAgICAgIG9mZnNldD17XHJcbiAgICAgICAgICAgICAgICAgICh0aGlzLnN0YXRlLmV4cGFuZCB8fCBzZWFyY2hGb3Jtcy5sZW5ndGggPCA0KSAmJlxyXG4gICAgICAgICAgICAgICAgICBzZWFyY2hGb3Jtcy5sZW5ndGggPiAxXHJcbiAgICAgICAgICAgICAgICAgICAgPyBjb2xTcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgOiAwXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJzZWFyY2gtYnV0dG9uc1wiKSwge1xyXG4gICAgICAgICAgICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJzZWFyY2gtYnV0dG9ucy1mbGV4XCIpXTpcclxuICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaEZvcm1zLmxlbmd0aCA+IDEsXHJcbiAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5Ub3A6IDAgfX1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgICBpY29uPXs8U2VhcmNoT3V0bGluZWQgLz59XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luTGVmdDogMCB9fVxyXG4gICAgICAgICAgICAgICAgICAgIGh0bWxUeXBlPVwic3VibWl0XCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIOafpeivolxyXG4gICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAge3NlYXJjaEZvcm1zLmxlbmd0aCA+IDEgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIC8vIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5yZXNldFNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17PFJlbG9hZE91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIOmHjee9rlxyXG4gICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICB7c2VhcmNoRm9ybXMubGVuZ3RoID4gMyAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJhX3N0eWxlXCIpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGV4cGFuZCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kOiAhZXhwYW5kLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUuZXhwYW5kID8gXCLmlLbotbdcIiA6IFwi5bGV5byAXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICB7dGhpcy5zdGF0ZS5leHBhbmQgPyA8VXBPdXRsaW5lZCAvPiA6IDxEb3duT3V0bGluZWQgLz59XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L0NvbD5cclxuICAgICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvUm93PlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgSGVhZGVyU2VhcmNoO1xyXG4iXX0=
|
|
243
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvSGVhZGVyU2VhcmNoL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJGb3JtIiwiQnV0dG9uIiwiY2xzIiwic3R5bGVzIiwiQ29sIiwiUm93IiwibW9tZW50IiwiaXNFbXB0eU9iaiIsIkRvd25PdXRsaW5lZCIsIlVwT3V0bGluZWQiLCJSZWxvYWRPdXRsaW5lZCIsIlNlYXJjaE91dGxpbmVkIiwiZ2V0TGVzcyIsImdldE5vZGUiLCJIZWFkZXJTZWFyY2giLCJjcmVhdGVSZWYiLCJleHBhbmQiLCJwYXJhbXMiLCJjYWxsQmFjayIsInNlYXJjaFJlZiIsImN1cnJlbnQiLCJzZXRGaWVsZHNWYWx1ZSIsImZyb21WYWx1ZSIsImdldEZpZWxkc1ZhbHVlIiwib25TZWFyY2giLCJwcm9wcyIsImRhdGVGb3JtYXQiLCJrZXkiLCJvbGRkYXRhIiwiQXJyYXkiLCJpc0FycmF5IiwiZm9ybWF0IiwicmVzZXRGaWVsZHMiLCJzZWFyY2hGb3JtcyIsInRvb2xCdXR0b25Qb3NpdGlvbiIsImNvbFNwYW4iLCJoZWFkZXJDb3VudCIsImhlYWRlclJvdXQiLCJsZW5ndGgiLCJ3aWR0aCIsImJpbmQiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJpdGVtUHJvcHMiLCJ2YWx1ZUZvcm1hdCIsIm5hbWUiLCJzdGF0ZSIsImFsbG93Q2hhcnMiLCJ0eXBlIiwic3BhbiIsInBhZGRpbmdSaWdodCIsImxhYmVsIiwicGxhY2Vob2xkZXIiLCJtYXJnaW5Ub3AiLCJtYXJnaW5MZWZ0IiwicmVzZXRTZWFyY2giLCJzZXRTdGF0ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQWdELE9BQWhEO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixpQkFBakI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLG1CQUFuQjtBQUNBLE9BQU9DLEdBQVAs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RSxRQUFBLFNBQVMsRUFBRTFCLE9BQU8sQ0FBQ1QsTUFBRCxFQUFTLGNBQVQsQ0FEcEI7QUFFRSxRQUFBLE9BQU8sRUFBRSxtQkFBTTtBQUNiLGNBQVFhLE1BQVIsR0FBbUIsTUFBSSxDQUFDK0IsS0FBeEIsQ0FBUS9CLE1BQVI7O0FBQ0EsVUFBQSxNQUFJLENBQUN5QyxRQUFMLENBQWM7QUFDWnpDLFlBQUFBLE1BQU0sRUFBRSxDQUFDQTtBQURHLFdBQWQ7QUFHRDtBQVBILFNBU0csS0FBSytCLEtBQUwsQ0FBVy9CLE1BQVgsR0FBb0IsSUFBcEIsR0FBMkIsSUFUOUIsRUFVRyxLQUFLK0IsS0FBTCxDQUFXL0IsTUFBWCxnQkFBb0Isb0JBQUMsVUFBRCxPQUFwQixnQkFBcUMsb0JBQUMsWUFBRCxPQVZ4QyxDQTFCSixDQVpGLENBMUNGLENBREYsQ0FERixDQURGLENBREY7QUF3R0Q7Ozs7RUF6SndCakIsYTs7QUEySjNCLGVBQWVlLFlBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCwgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBGb3JtIGZyb20gXCIuLi8uLi9iYXNlL2Zvcm1cIjtcclxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vLi4vYmFzZS9idXR0b25cIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IENvbCBmcm9tIFwiLi4vLi4vYmFzZS9ncmlkL0NvbFwiO1xyXG5pbXBvcnQgUm93IGZyb20gXCIuLi8uLi9iYXNlL2dyaWQvUm93XCI7XHJcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xyXG5pbXBvcnQgeyBpc0VtcHR5T2JqIH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCB7XHJcbiAgRG93bk91dGxpbmVkLFxyXG4gIFVwT3V0bGluZWQsXHJcbiAgUmVsb2FkT3V0bGluZWQsXHJcbiAgU2VhcmNoT3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCB7IGdldExlc3MsIGdldE5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuXHJcbmludGVyZmFjZSBTZWFyY2hQcm9wcyB7XHJcbiAgc2VhcmNoRm9ybXM6IEFycmF5PGFueT47IC8v5piv5ZCm5pi+56S65pON5L2c5YiXXHJcbiAgdG9vbEJ1dHRvblBvc2l0aW9uPzogc3RyaW5nO1xyXG4gIG9uU2VhcmNoPzogYW55O1xyXG59XHJcblxyXG5jbGFzcyBIZWFkZXJTZWFyY2ggZXh0ZW5kcyBQdXJlQ29tcG9uZW50PFNlYXJjaFByb3BzLCBhbnk+IHtcclxuICBzZWFyY2hSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIGRhdGVGb3JtYXQgPSB7fSBhcyBhbnk7XHJcbiAgc3RhdGUgPSB7IGV4cGFuZDogZmFsc2UgfTtcclxuICBzZXRTZWFyY2hQYXJhbXMocGFyYW1zLCBjYWxsQmFjaykge1xyXG4gICAgdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uc2V0RmllbGRzVmFsdWUocGFyYW1zKTtcclxuICB9XHJcbiAgZ2V0U2VhcmNoVmFsdWVzKCkge1xyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIHJldHVybiBmcm9tVmFsdWU7XHJcbiAgfVxyXG4gIG9uU2VhcmNoKCkge1xyXG4gICAgY29uc3QgeyBvblNlYXJjaCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGZyb21WYWx1ZSA9IHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBpZiAob25TZWFyY2gpIHtcclxuICAgICAgb25TZWFyY2goZnJvbVZhbHVlKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKCFpc0VtcHR5T2JqKHRoaXMuZGF0ZUZvcm1hdCkpIHtcclxuICAgICAgZm9yIChsZXQga2V5IGluIHRoaXMuZGF0ZUZvcm1hdCkge1xyXG4gICAgICAgIGxldCBvbGRkYXRhID0gZnJvbVZhbHVlW2tleV07XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkob2xkZGF0YSkpIHtcclxuICAgICAgICAgIGZyb21WYWx1ZVtrZXldID0gW1xyXG4gICAgICAgICAgICBtb21lbnQob2xkZGF0YVswXSkuZm9ybWF0KHRoaXMuZGF0ZUZvcm1hdFtrZXldKSxcclxuICAgICAgICAgICAgbW9tZW50KG9sZGRhdGFbMV0pLmZvcm1hdCh0aGlzLmRhdGVGb3JtYXRba2V5XSksXHJcbiAgICAgICAgICBdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBmcm9tVmFsdWVba2V5XSA9IG1vbWVudChvbGRkYXRhKS5mb3JtYXQodGhpcy5kYXRlRm9ybWF0W2tleV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICByZXNldFNlYXJjaCgpIHtcclxuICAgIHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgc2VhcmNoRm9ybXMgPSBbXSwgdG9vbEJ1dHRvblBvc2l0aW9uLCBvblNlYXJjaCB9ID0gdGhpcy5wcm9wcztcclxuXHJcbiAgICBsZXQgY29sU3BhbiA9IDA7XHJcbiAgICBjb25zdCBoZWFkZXJDb3VudCA9IHRvb2xCdXR0b25Qb3NpdGlvbiA9PSBcInJpZ2h0XCIgPyAxIDogMjtcclxuICAgIGNvbnN0IGhlYWRlclJvdXQgPSBzZWFyY2hGb3Jtcy5sZW5ndGggJSA0O1xyXG4gICAgaWYgKGhlYWRlclJvdXQgPT0gMCkge1xyXG4gICAgICBjb2xTcGFuID0gMTg7XHJcbiAgICB9IGVsc2UgaWYgKGhlYWRlclJvdXQgPT0gMSkge1xyXG4gICAgICBjb2xTcGFuID0gMTI7XHJcbiAgICB9IGVsc2UgaWYgKGhlYWRlclJvdXQgPT0gMikge1xyXG4gICAgICBjb2xTcGFuID0gNjtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8Um93IGd1dHRlcj17MjR9IHdyYXA+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImhlYWRlclwiKX0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcImZvcm1cIikpfT5cclxuICAgICAgICAgICAgPEZvcm1cclxuICAgICAgICAgICAgICByZWY9e3RoaXMuc2VhcmNoUmVmfVxyXG4gICAgICAgICAgICAgIGxhYmVsQ29sPXt7fX1cclxuICAgICAgICAgICAgICB3cmFwcGVyQ29sPXt7fX1cclxuICAgICAgICAgICAgICBsYXlvdXQ9XCJpbmxpbmVcIlxyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiB9fVxyXG4gICAgICAgICAgICAgIG9uRmluaXNoPXt0aGlzLm9uU2VhcmNoLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7c2VhcmNoRm9ybXMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1Qcm9wcyA9IGl0ZW0ucHJvcHMgfHwge307XHJcbiAgICAgICAgICAgICAgICBpZiAoaXRlbVByb3BzLnZhbHVlRm9ybWF0KSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuZGF0ZUZvcm1hdFtpdGVtLm5hbWVdID0gaXRlbVByb3BzLnZhbHVlRm9ybWF0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKGluZGV4ID4gaGVhZGVyQ291bnQgJiYgIXRoaXMuc3RhdGUuZXhwYW5kKSB7XHJcbiAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxldCBhbGxvd0NoYXJzID0gaXRlbT8ucHJvcHM/LmFsbG93Q2hhcnMgfHwgZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBsZXQgcHJvcHMgPSB7IC4uLml0ZW1Qcm9wcyB9O1xyXG4gICAgICAgICAgICAgICAgaWYgKCFpdGVtLnR5cGUgfHwgaXRlbS50eXBlID09IFwiSW5wdXRcIikge1xyXG4gICAgICAgICAgICAgICAgICBwcm9wcy5hbGxvd0NoYXJzID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICAgIDxDb2xcclxuICAgICAgICAgICAgICAgICAgICBtZD17eyBzcGFuOiAxMiB9fVxyXG4gICAgICAgICAgICAgICAgICAgIHNtPXt7IHNwYW46IDI0IH19XHJcbiAgICAgICAgICAgICAgICAgICAgbGc9e3sgc3BhbjogNiB9fVxyXG4gICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgcGFkZGluZ1JpZ2h0OiAwIH19XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8Rm9ybS5JdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17aXRlbS5sYWJlbH1cclxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2l0ZW0ubmFtZX1cclxuICAgICAgICAgICAgICAgICAgICAgIGFsbG93Q2hhcnM9e2FsbG93Q2hhcnN9XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAge2dldE5vZGUoaXRlbS50eXBlLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBg6K+36L6T5YWlJHtpdGVtLmxhYmVsfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnByb3BzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgIDwvQ29sPlxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICA8Q29sXHJcbiAgICAgICAgICAgICAgICBtZD17eyBzcGFuOiAxMiB9fVxyXG4gICAgICAgICAgICAgICAgc209e3sgc3BhbjogMjQgfX1cclxuICAgICAgICAgICAgICAgIGxnPXt7IHNwYW46IHRvb2xCdXR0b25Qb3NpdGlvbiA9PSBcInJpZ2h0XCIgPyAxMiA6IDYgfX1cclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IHBhZGRpbmdSaWdodDogMCB9fVxyXG4gICAgICAgICAgICAgICAgb2Zmc2V0PXtcclxuICAgICAgICAgICAgICAgICAgKHRoaXMuc3RhdGUuZXhwYW5kIHx8IHNlYXJjaEZvcm1zLmxlbmd0aCA8IDQpICYmXHJcbiAgICAgICAgICAgICAgICAgIHNlYXJjaEZvcm1zLmxlbmd0aCA+IDFcclxuICAgICAgICAgICAgICAgICAgICA/IGNvbFNwYW5cclxuICAgICAgICAgICAgICAgICAgICA6IDBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcInNlYXJjaC1idXR0b25zXCIpLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgW2dldExlc3Moc3R5bGVzLCBcInNlYXJjaC1idXR0b25zLWZsZXhcIildOlxyXG4gICAgICAgICAgICAgICAgICAgICAgc2VhcmNoRm9ybXMubGVuZ3RoID4gMSxcclxuICAgICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpblRvcDogMCB9fVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgICAgICAgIGljb249ezxTZWFyY2hPdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5MZWZ0OiAwIH19XHJcbiAgICAgICAgICAgICAgICAgICAgaHRtbFR5cGU9XCJzdWJtaXRcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAg5p+l6K+iXHJcbiAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICB7c2VhcmNoRm9ybXMubGVuZ3RoID4gMSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLnJlc2V0U2VhcmNoLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICAgICAgICBpY29uPXs8UmVsb2FkT3V0bGluZWQgLz59XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAg6YeN572uXHJcbiAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgIHtzZWFyY2hGb3Jtcy5sZW5ndGggPiAzICYmIChcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImV4cGFuZF9zdHlsZVwiKX1cclxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBleHBhbmQgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuZDogIWV4cGFuZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmV4cGFuZCA/IFwi5pS26LW3XCIgOiBcIuWxleW8gFwifVxyXG4gICAgICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUuZXhwYW5kID8gPFVwT3V0bGluZWQgLz4gOiA8RG93bk91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9Db2w+XHJcbiAgICAgICAgICAgIDwvRm9ybT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L1Jvdz5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IEhlYWRlclNlYXJjaDtcclxuIl19
|
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
display: flex;
|
|
3
3
|
margin-top: 20px;
|
|
4
4
|
width: 100%;
|
|
5
|
+
padding-right: 24px;
|
|
5
6
|
.form {
|
|
6
7
|
width: 100%;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
.expand_style {
|
|
9
|
+
line-height: 32px;
|
|
10
|
+
color: var(--ant-primary-color);
|
|
11
|
+
margin-left: 16px;
|
|
12
|
+
// margin-right: 16px;
|
|
13
|
+
}
|
|
12
14
|
}
|
|
13
15
|
:global {
|
|
14
16
|
// .ant-form-inline {
|
|
@@ -17,7 +19,7 @@
|
|
|
17
19
|
.ant-form-inline .ant-form-item {
|
|
18
20
|
margin-right: 0px;
|
|
19
21
|
margin-bottom: 16px;
|
|
20
|
-
margin-right: 24px;
|
|
22
|
+
// margin-right: 24px;
|
|
21
23
|
// width: 200px;
|
|
22
24
|
}
|
|
23
25
|
// .ant-select {
|
|
@@ -30,7 +32,7 @@
|
|
|
30
32
|
margin-bottom: 16px;
|
|
31
33
|
// margin-top: 20px;
|
|
32
34
|
|
|
33
|
-
margin-right: 24px;
|
|
35
|
+
// margin-right: 24px;
|
|
34
36
|
.margin {
|
|
35
37
|
margin-left: 20px;
|
|
36
38
|
}
|