nsc-react-component 4.2.4 → 4.2.5

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.
@@ -307,8 +307,8 @@ class NscForm extends PureComponent {
307
307
  const Pane = () => {
308
308
  return /*#__PURE__*/React.createElement(_Form, _extends({
309
309
  ref: this.formRef,
310
- validateTrigger: ["onBlur", "onChange"],
311
- draggable: true
310
+ validateTrigger: ["onBlur", "onChange"]
311
+ // draggable={true}
312
312
  }, layout, props, {
313
313
  onValuesChange: this.onValuesChange.bind(this),
314
314
  preserve: false
@@ -349,4 +349,4 @@ class NscForm extends PureComponent {
349
349
  }
350
350
  }
351
351
  export default NscForm;
352
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJNb2RhbCIsInJlcXVlc3QiLCJvbWl0IiwiU3BpbiIsInV0aWxzIiwiTnNjRm9ybSIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkiLCJjcmVhdGVSZWYiLCJmb3JtVmlzaWJsZSIsImZvcm1Nb2RhbFByb3BzIiwiZm9ybURyYXdlclByb3BzIiwiaXNDaGFuZ2UiLCJleHBhbmQiLCJzY29wZSIsInBhcmFtcyIsImJlZm9yZVJlbmRlciIsImNhbGxiYWNrQmVmb3JlQ2xvc2UiLCJjYWxsYmFjayIsImFmdGVyUmVuZGVyIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzIiwibmV4dFByb3BzIiwicHJldlN0YXRlIiwibW9kYWxQcm9wcyIsImRyYXdlclByb3BzIiwic2hvd01vZGVsIiwiT2JqZWN0IiwiaXMiLCJuZXdTdGF0ZSIsInZpc2libGUiLCJ1bmRlZmluZWQiLCJnZXRGaWVsZEVycm9yIiwibmFtZSIsIl90aGlzJGZvcm1SZWYkY3VycmVudCIsImZvcm1SZWYiLCJjdXJyZW50IiwiZ2V0RmllbGRJbnN0YW5jZSIsIl90aGlzJGZvcm1SZWYkY3VycmVudDIiLCJnZXRGaWVsZHNFcnJvciIsImdldEZpZWxkc1ZhbHVlIiwiX3RoaXMkZm9ybVJlZiIsImdldEZpZWxkVmFsdWUiLCJpc0ZpZWxkc1RvdWNoZWQiLCJpc0ZpZWxkVG91Y2hlZCIsImlzRmllbGRWYWxpZGF0aW5nIiwicmVzZXRGaWVsZHMiLCJzY3JvbGxUb0ZpZWxkIiwib3B0aW9ucyIsInNldEZpZWxkcyIsImZpbGRzIiwic2V0RmllbGRzVmFsdWUiLCJ2YWx1ZXMiLCJfdGhpcyRmb3JtUmVmJGN1cnJlbnQzIiwic3VibWl0Iiwib25TdWJtaXQiLCJ1cmwiLCJtc2ciLCJwcm9wc1VybCIsImVuY3J5cHRGaWVsZHMiLCJlbmNyeXB0UHJvcHBzIiwiRXJyb3IiLCJtZXRob2QiLCJyZXF1ZXN0VXJsIiwicmVxdWVzdERhdGEiLCJyZXF1ZXN0RW5jcnlwdCIsInJlcXVlc3RQYXJhbSIsImRhdGEiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJfb2JqZWN0U3ByZWFkIiwidG9Mb3dlckNhc2UiLCJhdXRvUHJlZml4IiwidGhlbiIsInJlcyIsImNvZGUiLCJfbWVzc2FnZSIsInN1Y2Nlc3MiLCJlcnJvciIsImNhdGNoIiwiY29uc29sZSIsImxvZyIsInZhbGlkYXRlRmllbGRzIiwiaGlkZSIsImUiLCJfdGhpcyIsIm9uQ2FuY2VsIiwib25DbG9zZSIsImhpZGVGb3JtIiwicmVzZXRWYWx1ZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInNldFN0YXRlIiwic2hvd0Zvcm0iLCJ2YWx1ZSIsIm9wdGlvbiIsIl90aGlzJGZvcm1SZWYkY3VycmVudDQiLCJjbG9uZUVsZW1lbnQiLCJpdGVtIiwiaW5kZXgiLCJrZXkiLCJjaGlsZHJlbiIsIkFycmF5IiwiaXNBcnJheSIsIkNoaWxkcmVuIiwibWFwIiwiY2hpbGQiLCJvblZhbHVlc0NoYW5nZSIsInZhbCIsImFsbFZhbCIsInJlbmRlclBhbmVsIiwibmV3Q2hpbGRyZW4iLCJsb2FkaW5nIiwiY2hhbmdlVmFsaWQiLCJzdGF0ZSIsImxheW91dCIsImxhYmVsQ29sIiwic3BhbiIsIndyYXBwZXJDb2wiLCJQYW5lIiwiY3JlYXRlRWxlbWVudCIsIl9Gb3JtIiwiX2V4dGVuZHMiLCJyZWYiLCJ2YWxpZGF0ZVRyaWdnZXIiLCJkcmFnZ2FibGUiLCJiaW5kIiwicHJlc2VydmUiLCJuZXdNb2RhbFByb3BzIiwibmV3RHJhd2VyUHJvcHMiLCJkZWZhdWx0cHJvcHMiLCJtYXNrQ2xvc2FibGUiLCJmb3JtRXhwYW5kIiwidmFsaWQiLCJjaGFuZ2UiLCJ0eXBlIiwibW9kYWxwcm9wcyIsIm9wZW4iLCJzcGlubmluZyIsIkZyYWdtZW50IiwicmVuZGVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFzZS9mb3JtL0Zvcm0udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb2466KGo5Y2V57uE5Lu2XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wNC0wOSAwOToxODozNFxyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjMgMTU6MjM6NTRcclxuICovXHJcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IEZvcm0sIEZvcm1Qcm9wcywgRHJhd2VyLCBEcmF3ZXJQcm9wcywgbWVzc2FnZSB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBNb2RhbCBmcm9tIFwiLi4vbW9kYWxcIjtcclxuaW1wb3J0IHsgRm9ybUluc3RhbmNlIH0gZnJvbSBcImFudGQvbGliL2Zvcm1cIjtcclxuaW1wb3J0IHsgcmVxdWVzdCB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IHsgTnNjTW9kYWxQb3JwcyB9IGZyb20gXCIuLi9tb2RhbFwiO1xyXG5pbXBvcnQgU3BpbiBmcm9tIFwiLi4vc3BpblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuZXhwb3J0IGludGVyZmFjZSBJRm9ybVByb3BzIGV4dGVuZHMgRm9ybVByb3BzIHtcclxuICBzaG93TW9kZWw/OiBcIm1vZGFsXCIgfCBcImRyYXdlclwiIHwgXCJhdXRvXCI7XHJcbiAgbW9kYWxQcm9wcz86IE5zY01vZGFsUG9ycHM7XHJcbiAgZHJhd2VyUHJvcHM/OiBEcmF3ZXJQcm9wcyAmIHtcclxuICAgIG9uT2s/OiBhbnk7XHJcbiAgICBva0J1dHRvblByb3BzPzogT2JqZWN0O1xyXG4gICAgZm9ybUV4cGFuZD86IE9iamVjdDtcclxuICB9O1xyXG4gIHVybD86IHN0cmluZztcclxuICBlbmNyeXB0RmllbGRzPzogQXJyYXk8U3RyaW5nPjtcclxuICBjaGFuZ2VWYWxpZD86IGJvb2xlYW47IC8v5pWw5o2u5L+u5pS55YWz6Zet5qCh6aqMXHJcbiAgbG9hZGluZz86IGJvb2xlYW47IC8v6KGo5Y2V5Yqg6L2954q25oCBXHJcbn1cclxuXHJcbmNsYXNzIE5zY0Zvcm0gZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElGb3JtUHJvcHM+IHtcclxuICBmb3JtUmVmID0gUmVhY3QuY3JlYXRlUmVmPEZvcm1JbnN0YW5jZT4oKTtcclxuICBzdGF0ZSA9IHtcclxuICAgIGZvcm1WaXNpYmxlOiBmYWxzZSxcclxuICAgIGZvcm1Nb2RhbFByb3BzOiB7fSxcclxuICAgIGZvcm1EcmF3ZXJQcm9wczoge30sXHJcbiAgICBpc0NoYW5nZTogZmFsc2UsXHJcbiAgICBleHBhbmQ6IGZhbHNlLFxyXG4gIH07XHJcbiAgb3B0aW9uOiBhbnkgPSB7XHJcbiAgICAvL+Wbnuiwg+S9nOeUqOWfn1xyXG4gICAgc2NvcGU6IHRoaXMsXHJcbiAgICAvL29wZW7kvKDpgJLov4fmnaXnmoTpobXpnaLlj4LmlbBcclxuICAgIHBhcmFtczoge30sXHJcbiAgICAvL+aYvuekuuS5i+WJjeWbnuiwg1xyXG4gICAgYmVmb3JlUmVuZGVyOiBudWxsLFxyXG4gICAgLy/lhbPpl63kuYvliY3lm57osIPvvIzlpoLmnpxyZXR1cm4gZmFsc2XvvIzkuJTnqpflj6PkuI3lhbPpl61cclxuICAgIGNhbGxiYWNrQmVmb3JlQ2xvc2U6IG51bGwsXHJcbiAgICAvL+WFs+mXreWQjuWbnuiwg++8jOW8guatpeaTjeS9nFxyXG4gICAgY2FsbGJhY2s6IG51bGwsXHJcbiAgICAvL+aYvuekuuS5i+WQjuWbnuiwg1xyXG4gICAgYWZ0ZXJSZW5kZXI6IG51bGwsXHJcbiAgfTtcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZSkge1xyXG4gICAgY29uc3QgeyBtb2RhbFByb3BzLCBkcmF3ZXJQcm9wcywgc2hvd01vZGVsIH0gPSBuZXh0UHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1Nb2RhbFByb3BzLCBmb3JtRHJhd2VyUHJvcHMgfSA9IHByZXZTdGF0ZTtcclxuICAgIGlmIChzaG93TW9kZWwgPT0gXCJtb2RhbFwiKSB7XHJcbiAgICAgIC8vIEpTT04uc3RyaW5naWZ5KGZvcm1Nb2RhbFByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkobW9kYWxQcm9wcylcclxuICAgICAgaWYgKCFPYmplY3QuaXMoZm9ybU1vZGFsUHJvcHMsIG1vZGFsUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBtb2RhbFByb3BzLFxyXG4gICAgICAgIH0gYXMgYW55O1xyXG4gICAgICAgIGlmIChtb2RhbFByb3BzLnZpc2libGUgIT09IG51bGwgJiYgbW9kYWxQcm9wcy52aXNpYmxlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIG5ld1N0YXRlLmZvcm1WaXNpYmxlID0gbW9kYWxQcm9wcy52aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3U3RhdGU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoc2hvd01vZGVsID09IFwiZHJhd2VyXCIpIHtcclxuICAgICAgLy8gSlNPTi5zdHJpbmdpZnkoZm9ybURyYXdlclByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkoZHJhd2VyUHJvcHMpXHJcbiAgICAgIGlmICghT2JqZWN0LmlzKGZvcm1EcmF3ZXJQcm9wcywgZHJhd2VyUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBkcmF3ZXJQcm9wcyxcclxuICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICBpZiAoZHJhd2VyUHJvcHMudmlzaWJsZSAhPT0gbnVsbCAmJiBkcmF3ZXJQcm9wcy52aXNpYmxlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIG5ld1N0YXRlLmZvcm1WaXNpYmxlID0gZHJhd2VyUHJvcHMudmlzaWJsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld1N0YXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5a+55bqU5a2X5q615ZCN55qE6ZSZ6K+v5L+h5oGvXHJcbiAgZ2V0RmllbGRFcnJvcihuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkRXJyb3IobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWunuS+i1xyXG4gIGdldEZpZWxkSW5zdGFuY2UobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZEluc3RhbmNlKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTplJnor6/kv6Hmga/vvIzov5Tlm57kuLrmlbDnu4TlvaLlvI9cclxuICBnZXRGaWVsZHNFcnJvcigpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC5nZXRGaWVsZHNFcnJvcigpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTlgLzvvIzkvJrmjInnhaflr7nlupTnu5PmnoTov5Tlm55cclxuICBnZXRGaWVsZHNWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWY/LmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWQjeeahOWAvFxyXG4gIGdldEZpZWxkVmFsdWUobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkVmFsdWUobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeS4gOe7hOWtl+auteaYr+WQpuiiq+eUqOaIt+aTjeS9nOi/h1xyXG4gIGlzRmllbGRzVG91Y2hlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC5pc0ZpZWxkc1RvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5a+55bqU5a2X5q615piv5ZCm6KKr55So5oi35pON5L2c6L+HXHJcbiAgaXNGaWVsZFRvdWNoZWQobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmlzRmllbGRUb3VjaGVkKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/mo4Dmn6XkuIDnu4TlrZfmrrXmmK/lkKbmraPlnKjmoKHpqoxcclxuICBpc0ZpZWxkVmFsaWRhdGluZyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQuaXNGaWVsZFZhbGlkYXRpbmcobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+mHjee9ruS4gOe7hOWtl+auteWIsFxyXG4gIHJlc2V0RmllbGRzKCkge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQucmVzZXRGaWVsZHMoKTtcclxuICB9XHJcblxyXG4gIHNjcm9sbFRvRmllbGQobmFtZSwgb3B0aW9ucykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQuc2Nyb2xsVG9GaWVsZChuYW1lLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkcyhmaWxkcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQuc2V0RmllbGRzKGZpbGRzKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkc1ZhbHVlKHZhbHVlcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlcyk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudC5zdWJtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KFxyXG4gICAgdXJsPzogc3RyaW5nLFxyXG4gICAgb3B0aW9ucz86IGFueSxcclxuICAgIGNhbGxiYWNrPzogKHJlcz86IGFueSkgPT4gdm9pZCxcclxuICAgIG1zZz86IGJvb2xlYW5cclxuICApIHtcclxuICAgIGNvbnN0IHsgdXJsOiBwcm9wc1VybCwgZW5jcnlwdEZpZWxkczogZW5jcnlwdFByb3BwcyA9IFtdIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCF1cmwgJiYgIXByb3BzVXJsKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIuayoeacieS4iuS8oOeahHVybCFcIik7XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IG1ldGhvZCA9IFwicG9zdFwiIH0gPSBvcHRpb25zO1xyXG4gICAgbGV0IHJlcXVlc3RVcmwgPSB1cmwgPyB1cmwgOiBwcm9wc1VybDtcclxuICAgIGxldCByZXF1ZXN0RGF0YSA9IHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBsZXQgcmVxdWVzdEVuY3J5cHQgPSBlbmNyeXB0UHJvcHBzO1xyXG4gICAgbGV0IHJlcXVlc3RQYXJhbSA9IHsgbWV0aG9kOiBtZXRob2QsIGRhdGE6IHJlcXVlc3REYXRhIH0gYXMgeyBkYXRhOiBhbnkgfTtcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHsgZGF0YSwgZW5jcnlwdEZpZWxkcywgLi4ucGFyYW1zIH0gPSBvcHRpb25zO1xyXG4gICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zIH07XHJcbiAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgZGVsZXRlIHJlcXVlc3RQYXJhbS5kYXRhO1xyXG4gICAgICAgIGlmIChtZXRob2QudG9Mb3dlckNhc2UoKSA9PSBcImdldFwiKSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zLCBwYXJhbXM6IGRhdGEgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcywgZGF0YTogZGF0YSB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoZW5jcnlwdEZpZWxkcykge1xyXG4gICAgICAgIHJlcXVlc3RFbmNyeXB0ID0gZW5jcnlwdEZpZWxkcztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlcXVlc3QocmVxdWVzdFVybCwge1xyXG4gICAgICBhdXRvUHJlZml4OiB0cnVlLFxyXG4gICAgICAuLi5yZXF1ZXN0UGFyYW0sXHJcbiAgICAgIGVuY3J5cHRGaWVsZHM6IHJlcXVlc3RFbmNyeXB0LFxyXG4gICAgfSlcclxuICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlczogYW55KSB7XHJcbiAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgaWYgKG1zZykge1xyXG4gICAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoXCLmj5DkuqTmiJDlip9cIik7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBtZXNzYWdlLmVycm9yKFwi5o+Q5Lqk5aSx6LSlXCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYWxsYmFjayAmJiBjYWxsYmFjayhyZXMpO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZUZpZWxkcyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQudmFsaWRhdGVGaWVsZHMobmFtZSk7XHJcbiAgfVxyXG5cclxuICBoaWRlKGUpIHtcclxuICAgIGNvbnN0IHsgc2hvd01vZGVsLCBtb2RhbFByb3BzID0ge30sIGRyYXdlclByb3BzID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3QgeyBvbkNhbmNlbCB9ID0gbW9kYWxQcm9wcztcclxuICAgIGNvbnN0IHsgb25DbG9zZSB9ID0gZHJhd2VyUHJvcHM7XHJcbiAgICBpZiAoc2hvd01vZGVsID09IFwiZHJhd2VyXCIgJiYgb25DbG9zZSkge1xyXG4gICAgICBvbkNsb3NlKGUpO1xyXG4gICAgfSBlbHNlIGlmIChzaG93TW9kZWwgPT0gXCJtb2RhbFwiICYmIG9uQ2FuY2VsKSB7XHJcbiAgICAgIG9uQ2FuY2VsKGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX3RoaXMuaGlkZUZvcm0oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhpZGVGb3JtKHJlc2V0VmFsdWUgPSB0cnVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZm9ybVZpc2libGU6IGZhbHNlLFxyXG4gICAgICAgIGlzQ2hhbmdlOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXNldFZhbHVlKSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudC5yZXNldEZpZWxkcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNob3dGb3JtKHZhbHVlPzogYW55LCBvcHRpb246IGFueSA9IHt9KSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZm9ybVZpc2libGU6IHRydWUsXHJcbiAgICAgICAgaXNDaGFuZ2U6IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlKTtcclxuICAgICAgICBjb25zdCB7IGFmdGVyUmVuZGVyIH0gPSBvcHRpb247XHJcbiAgICAgICAgdXRpbHMuY2FsbGJhY2soYWZ0ZXJSZW5kZXIsIHRoaXMpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY2xvbmVFbGVtZW50KGl0ZW0sIGluZGV4ID0gMCkge1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIGlmICh0eXBlb2YgaXRlbSA9PSBcInN0cmluZ1wiKSByZXR1cm4gaXRlbTtcclxuICAgIGxldCBwcm9wcyA9IHt9IGFzIHsga2V5OiBudW1iZXI7IGNoaWxkcmVuOiBhbnkgfTtcclxuICAgIHByb3BzLmtleSA9IGluZGV4O1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKGl0ZW0ucHJvcHMgJiYgaXRlbS5wcm9wcy5jaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0ucHJvcHMuY2hpbGRyZW4pKSB7XHJcbiAgICAgICAgICBwcm9wcy5jaGlsZHJlbiA9IFJlYWN0LkNoaWxkcmVuLm1hcChcclxuICAgICAgICAgICAgaXRlbS5wcm9wcy5jaGlsZHJlbixcclxuICAgICAgICAgICAgZnVuY3Rpb24gKGNoaWxkLCBpbmRleCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiBfdGhpcy5jbG9uZUVsZW1lbnQoY2hpbGQsIGluZGV4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcHJvcHMuY2hpbGRyZW4gPSB0aGlzLmNsb25lRWxlbWVudChpdGVtLnByb3BzLmNoaWxkcmVuLCAwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChpdGVtLCBwcm9wcyk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuICBvblZhbHVlc0NoYW5nZSh2YWwsIGFsbFZhbCkge1xyXG4gICAgY29uc3QgeyBvblZhbHVlc0NoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBpc0NoYW5nZTogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgb25WYWx1ZXNDaGFuZ2UgJiYgb25WYWx1ZXNDaGFuZ2UodmFsLCBhbGxWYWwpO1xyXG4gIH1cclxuICByZW5kZXJQYW5lbChuZXdDaGlsZHJlbiwgcHJvcHMpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgc2hvd01vZGVsLFxyXG4gICAgICBkcmF3ZXJQcm9wcyA9IHt9LFxyXG4gICAgICBtb2RhbFByb3BzID0ge30sXHJcbiAgICAgIGxvYWRpbmcgPSBmYWxzZSxcclxuICAgICAgY2hhbmdlVmFsaWQgPSB0cnVlLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1WaXNpYmxlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgbGF5b3V0ID0ge1xyXG4gICAgICBsYWJlbENvbDogeyBzcGFuOiB0aGlzLnByb3BzLmxheW91dCA9PSBcInZlcnRpY2FsXCIgPyAyNCA6IDQgfSxcclxuICAgICAgd3JhcHBlckNvbDogeyBzcGFuOiB0aGlzLnByb3BzLmxheW91dCA9PSBcInZlcnRpY2FsXCIgPyAyNCA6IDIwIH0sXHJcbiAgICB9O1xyXG4gICAgY29uc3QgUGFuZSA9ICgpID0+IHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8Rm9ybVxyXG4gICAgICAgICAgcmVmPXt0aGlzLmZvcm1SZWZ9XHJcbiAgICAgICAgICB2YWxpZGF0ZVRyaWdnZXI9e1tcIm9uQmx1clwiLCBcIm9uQ2hhbmdlXCJdfVxyXG4gICAgICAgICAgZHJhZ2dhYmxlPXt0cnVlfVxyXG4gICAgICAgICAgey4uLmxheW91dH1cclxuICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgIG9uVmFsdWVzQ2hhbmdlPXt0aGlzLm9uVmFsdWVzQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBwcmVzZXJ2ZT17ZmFsc2V9XHJcbiAgICAgICAgLz5cclxuICAgICAgKTtcclxuICAgIH07XHJcbiAgICBpZiAoc2hvd01vZGVsKSB7XHJcbiAgICAgIGxldCBuZXdNb2RhbFByb3BzID0gb21pdChtb2RhbFByb3BzLCBbXCJ2aXNpYmxlXCJdKTtcclxuICAgICAgbmV3TW9kYWxQcm9wcyA9IHsgLi4ubmV3TW9kYWxQcm9wcyB9O1xyXG4gICAgICBsZXQgbmV3RHJhd2VyUHJvcHMgPSBvbWl0KGRyYXdlclByb3BzLCBbXCJ2aXNpYmxlXCJdKTtcclxuICAgICAgbGV0IGRlZmF1bHRwcm9wcyA9IHtcclxuICAgICAgICBtYXNrQ2xvc2FibGU6ICF0aGlzLnN0YXRlLmlzQ2hhbmdlLFxyXG4gICAgICAgIGZvcm1FeHBhbmQ6IHtcclxuICAgICAgICAgIGV4cGFuZDogdHJ1ZSxcclxuICAgICAgICAgIHZhbGlkOiBjaGFuZ2VWYWxpZCxcclxuICAgICAgICAgIGNoYW5nZTogdGhpcy5zdGF0ZS5pc0NoYW5nZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHR5cGU6IHNob3dNb2RlbCxcclxuICAgICAgfSBhcyBhbnk7XHJcbiAgICAgIGxldCBtb2RhbHByb3BzID0geyAuLi5kZWZhdWx0cHJvcHMgfTtcclxuICAgICAgbW9kYWxwcm9wcyA9IHtcclxuICAgICAgICAuLi5kZWZhdWx0cHJvcHMsXHJcbiAgICAgICAgLi4ubmV3TW9kYWxQcm9wcyxcclxuICAgICAgICAuLi5uZXdEcmF3ZXJQcm9wcyxcclxuICAgICAgICBvbkNhbmNlbDogdGhpcy5oaWRlLmJpbmQodGhpcyksXHJcbiAgICAgICAgLy8gb25DbG9zZTogdGhpcy5oaWRlLmJpbmQodGhpcyksXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPE1vZGFsIG9wZW49e2Zvcm1WaXNpYmxlfSB7Li4ubW9kYWxwcm9wc30+XHJcbiAgICAgICAgICB7bG9hZGluZyA/IDxTcGluIHNwaW5uaW5nPXtsb2FkaW5nfT57UGFuZSgpfTwvU3Bpbj4gOiBQYW5lKCl9XHJcbiAgICAgICAgPC9Nb2RhbD5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiA8Pntsb2FkaW5nID8gPFNwaW4gc3Bpbm5pbmc9e2xvYWRpbmd9PntQYW5lKCl9PC9TcGluPiA6IFBhbmUoKX08Lz47XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHByb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXHJcbiAgICAgIFwiZm9ybVwiLFxyXG4gICAgICBcInNob3dNb2RlbFwiLFxyXG4gICAgICBcIm1vZGFsUHJvcHNcIixcclxuICAgICAgXCJkcmF3ZXJQcm9wc1wiLFxyXG4gICAgICBcInVybFwiLFxyXG4gICAgICBcImVuY3J5cHRGaWVsZHNcIixcclxuICAgICAgXCJjaGFuZ2VWYWxpZFwiLFxyXG4gICAgXSk7XHJcbiAgICByZXR1cm4gPD57dGhpcy5yZW5kZXJQYW5lbChwcm9wcy5jaGlsZHJlbiwgcHJvcHMpfTwvPjtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgTnNjRm9ybTtcclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFLLElBQUlDLGFBQWEsUUFBUSxPQUFPO0FBRTVDLE9BQU9DLEtBQUssTUFBTSxVQUFVO0FBRTVCLFNBQVNDLE9BQU8sUUFBUSx1QkFBdUI7QUFDL0MsT0FBT0MsSUFBSSxNQUFNLFNBQVM7QUFFMUIsT0FBT0MsSUFBSSxNQUFNLFNBQVM7QUFDMUIsU0FBU0MsS0FBSyxRQUFRLHVCQUF1QjtBQWU3QyxNQUFNQyxPQUFPLFNBQVNOLGFBQWEsQ0FBYTtFQXVCOUNPLFdBQVdBLENBQUNDLEtBQUssRUFBRTtJQUNqQixLQUFLLENBQUNBLEtBQUssQ0FBQztJQUFDQyxlQUFBLCtCQXZCTFYsS0FBSyxDQUFDVyxTQUFTLENBQWUsQ0FBQztJQUFBRCxlQUFBLGdCQUNqQztNQUNORSxXQUFX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
352
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJNb2RhbCIsInJlcXVlc3QiLCJvbWl0IiwiU3BpbiIsInV0aWxzIiwiTnNjRm9ybSIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkiLCJjcmVhdGVSZWYiLCJmb3JtVmlzaWJsZSIsImZvcm1Nb2RhbFByb3BzIiwiZm9ybURyYXdlclByb3BzIiwiaXNDaGFuZ2UiLCJleHBhbmQiLCJzY29wZSIsInBhcmFtcyIsImJlZm9yZVJlbmRlciIsImNhbGxiYWNrQmVmb3JlQ2xvc2UiLCJjYWxsYmFjayIsImFmdGVyUmVuZGVyIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzIiwibmV4dFByb3BzIiwicHJldlN0YXRlIiwibW9kYWxQcm9wcyIsImRyYXdlclByb3BzIiwic2hvd01vZGVsIiwiT2JqZWN0IiwiaXMiLCJuZXdTdGF0ZSIsInZpc2libGUiLCJ1bmRlZmluZWQiLCJnZXRGaWVsZEVycm9yIiwibmFtZSIsIl90aGlzJGZvcm1SZWYkY3VycmVudCIsImZvcm1SZWYiLCJjdXJyZW50IiwiZ2V0RmllbGRJbnN0YW5jZSIsIl90aGlzJGZvcm1SZWYkY3VycmVudDIiLCJnZXRGaWVsZHNFcnJvciIsImdldEZpZWxkc1ZhbHVlIiwiX3RoaXMkZm9ybVJlZiIsImdldEZpZWxkVmFsdWUiLCJpc0ZpZWxkc1RvdWNoZWQiLCJpc0ZpZWxkVG91Y2hlZCIsImlzRmllbGRWYWxpZGF0aW5nIiwicmVzZXRGaWVsZHMiLCJzY3JvbGxUb0ZpZWxkIiwib3B0aW9ucyIsInNldEZpZWxkcyIsImZpbGRzIiwic2V0RmllbGRzVmFsdWUiLCJ2YWx1ZXMiLCJfdGhpcyRmb3JtUmVmJGN1cnJlbnQzIiwic3VibWl0Iiwib25TdWJtaXQiLCJ1cmwiLCJtc2ciLCJwcm9wc1VybCIsImVuY3J5cHRGaWVsZHMiLCJlbmNyeXB0UHJvcHBzIiwiRXJyb3IiLCJtZXRob2QiLCJyZXF1ZXN0VXJsIiwicmVxdWVzdERhdGEiLCJyZXF1ZXN0RW5jcnlwdCIsInJlcXVlc3RQYXJhbSIsImRhdGEiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJfb2JqZWN0U3ByZWFkIiwidG9Mb3dlckNhc2UiLCJhdXRvUHJlZml4IiwidGhlbiIsInJlcyIsImNvZGUiLCJfbWVzc2FnZSIsInN1Y2Nlc3MiLCJlcnJvciIsImNhdGNoIiwiY29uc29sZSIsImxvZyIsInZhbGlkYXRlRmllbGRzIiwiaGlkZSIsImUiLCJfdGhpcyIsIm9uQ2FuY2VsIiwib25DbG9zZSIsImhpZGVGb3JtIiwicmVzZXRWYWx1ZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInNldFN0YXRlIiwic2hvd0Zvcm0iLCJ2YWx1ZSIsIm9wdGlvbiIsIl90aGlzJGZvcm1SZWYkY3VycmVudDQiLCJjbG9uZUVsZW1lbnQiLCJpdGVtIiwiaW5kZXgiLCJrZXkiLCJjaGlsZHJlbiIsIkFycmF5IiwiaXNBcnJheSIsIkNoaWxkcmVuIiwibWFwIiwiY2hpbGQiLCJvblZhbHVlc0NoYW5nZSIsInZhbCIsImFsbFZhbCIsInJlbmRlclBhbmVsIiwibmV3Q2hpbGRyZW4iLCJsb2FkaW5nIiwiY2hhbmdlVmFsaWQiLCJzdGF0ZSIsImxheW91dCIsImxhYmVsQ29sIiwic3BhbiIsIndyYXBwZXJDb2wiLCJQYW5lIiwiY3JlYXRlRWxlbWVudCIsIl9Gb3JtIiwiX2V4dGVuZHMiLCJyZWYiLCJ2YWxpZGF0ZVRyaWdnZXIiLCJiaW5kIiwicHJlc2VydmUiLCJuZXdNb2RhbFByb3BzIiwibmV3RHJhd2VyUHJvcHMiLCJkZWZhdWx0cHJvcHMiLCJtYXNrQ2xvc2FibGUiLCJmb3JtRXhwYW5kIiwidmFsaWQiLCJjaGFuZ2UiLCJ0eXBlIiwibW9kYWxwcm9wcyIsIm9wZW4iLCJzcGlubmluZyIsIkZyYWdtZW50IiwicmVuZGVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFzZS9mb3JtL0Zvcm0udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb2466KGo5Y2V57uE5Lu2XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wNC0wOSAwOToxODozNFxyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjMgMTU6MjM6NTRcclxuICovXHJcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IEZvcm0sIEZvcm1Qcm9wcywgRHJhd2VyLCBEcmF3ZXJQcm9wcywgbWVzc2FnZSB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBNb2RhbCBmcm9tIFwiLi4vbW9kYWxcIjtcclxuaW1wb3J0IHsgRm9ybUluc3RhbmNlIH0gZnJvbSBcImFudGQvbGliL2Zvcm1cIjtcclxuaW1wb3J0IHsgcmVxdWVzdCB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IHsgTnNjTW9kYWxQb3JwcyB9IGZyb20gXCIuLi9tb2RhbFwiO1xyXG5pbXBvcnQgU3BpbiBmcm9tIFwiLi4vc3BpblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuZXhwb3J0IGludGVyZmFjZSBJRm9ybVByb3BzIGV4dGVuZHMgRm9ybVByb3BzIHtcclxuICBzaG93TW9kZWw/OiBcIm1vZGFsXCIgfCBcImRyYXdlclwiIHwgXCJhdXRvXCI7XHJcbiAgbW9kYWxQcm9wcz86IE5zY01vZGFsUG9ycHM7XHJcbiAgZHJhd2VyUHJvcHM/OiBEcmF3ZXJQcm9wcyAmIHtcclxuICAgIG9uT2s/OiBhbnk7XHJcbiAgICBva0J1dHRvblByb3BzPzogT2JqZWN0O1xyXG4gICAgZm9ybUV4cGFuZD86IE9iamVjdDtcclxuICB9O1xyXG4gIHVybD86IHN0cmluZztcclxuICBlbmNyeXB0RmllbGRzPzogQXJyYXk8U3RyaW5nPjtcclxuICBjaGFuZ2VWYWxpZD86IGJvb2xlYW47IC8v5pWw5o2u5L+u5pS55YWz6Zet5qCh6aqMXHJcbiAgbG9hZGluZz86IGJvb2xlYW47IC8v6KGo5Y2V5Yqg6L2954q25oCBXHJcbn1cclxuXHJcbmNsYXNzIE5zY0Zvcm0gZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElGb3JtUHJvcHM+IHtcclxuICBmb3JtUmVmID0gUmVhY3QuY3JlYXRlUmVmPEZvcm1JbnN0YW5jZT4oKTtcclxuICBzdGF0ZSA9IHtcclxuICAgIGZvcm1WaXNpYmxlOiBmYWxzZSxcclxuICAgIGZvcm1Nb2RhbFByb3BzOiB7fSxcclxuICAgIGZvcm1EcmF3ZXJQcm9wczoge30sXHJcbiAgICBpc0NoYW5nZTogZmFsc2UsXHJcbiAgICBleHBhbmQ6IGZhbHNlLFxyXG4gIH07XHJcbiAgb3B0aW9uOiBhbnkgPSB7XHJcbiAgICAvL+Wbnuiwg+S9nOeUqOWfn1xyXG4gICAgc2NvcGU6IHRoaXMsXHJcbiAgICAvL29wZW7kvKDpgJLov4fmnaXnmoTpobXpnaLlj4LmlbBcclxuICAgIHBhcmFtczoge30sXHJcbiAgICAvL+aYvuekuuS5i+WJjeWbnuiwg1xyXG4gICAgYmVmb3JlUmVuZGVyOiBudWxsLFxyXG4gICAgLy/lhbPpl63kuYvliY3lm57osIPvvIzlpoLmnpxyZXR1cm4gZmFsc2XvvIzkuJTnqpflj6PkuI3lhbPpl61cclxuICAgIGNhbGxiYWNrQmVmb3JlQ2xvc2U6IG51bGwsXHJcbiAgICAvL+WFs+mXreWQjuWbnuiwg++8jOW8guatpeaTjeS9nFxyXG4gICAgY2FsbGJhY2s6IG51bGwsXHJcbiAgICAvL+aYvuekuuS5i+WQjuWbnuiwg1xyXG4gICAgYWZ0ZXJSZW5kZXI6IG51bGwsXHJcbiAgfTtcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZSkge1xyXG4gICAgY29uc3QgeyBtb2RhbFByb3BzLCBkcmF3ZXJQcm9wcywgc2hvd01vZGVsIH0gPSBuZXh0UHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1Nb2RhbFByb3BzLCBmb3JtRHJhd2VyUHJvcHMgfSA9IHByZXZTdGF0ZTtcclxuICAgIGlmIChzaG93TW9kZWwgPT0gXCJtb2RhbFwiKSB7XHJcbiAgICAgIC8vIEpTT04uc3RyaW5naWZ5KGZvcm1Nb2RhbFByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkobW9kYWxQcm9wcylcclxuICAgICAgaWYgKCFPYmplY3QuaXMoZm9ybU1vZGFsUHJvcHMsIG1vZGFsUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBtb2RhbFByb3BzLFxyXG4gICAgICAgIH0gYXMgYW55O1xyXG4gICAgICAgIGlmIChtb2RhbFByb3BzLnZpc2libGUgIT09IG51bGwgJiYgbW9kYWxQcm9wcy52aXNpYmxlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIG5ld1N0YXRlLmZvcm1WaXNpYmxlID0gbW9kYWxQcm9wcy52aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3U3RhdGU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoc2hvd01vZGVsID09IFwiZHJhd2VyXCIpIHtcclxuICAgICAgLy8gSlNPTi5zdHJpbmdpZnkoZm9ybURyYXdlclByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkoZHJhd2VyUHJvcHMpXHJcbiAgICAgIGlmICghT2JqZWN0LmlzKGZvcm1EcmF3ZXJQcm9wcywgZHJhd2VyUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBkcmF3ZXJQcm9wcyxcclxuICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICBpZiAoZHJhd2VyUHJvcHMudmlzaWJsZSAhPT0gbnVsbCAmJiBkcmF3ZXJQcm9wcy52aXNpYmxlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIG5ld1N0YXRlLmZvcm1WaXNpYmxlID0gZHJhd2VyUHJvcHMudmlzaWJsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld1N0YXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5a+55bqU5a2X5q615ZCN55qE6ZSZ6K+v5L+h5oGvXHJcbiAgZ2V0RmllbGRFcnJvcihuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkRXJyb3IobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWunuS+i1xyXG4gIGdldEZpZWxkSW5zdGFuY2UobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZEluc3RhbmNlKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTplJnor6/kv6Hmga/vvIzov5Tlm57kuLrmlbDnu4TlvaLlvI9cclxuICBnZXRGaWVsZHNFcnJvcigpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC5nZXRGaWVsZHNFcnJvcigpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTlgLzvvIzkvJrmjInnhaflr7nlupTnu5PmnoTov5Tlm55cclxuICBnZXRGaWVsZHNWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWY/LmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWQjeeahOWAvFxyXG4gIGdldEZpZWxkVmFsdWUobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkVmFsdWUobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeS4gOe7hOWtl+auteaYr+WQpuiiq+eUqOaIt+aTjeS9nOi/h1xyXG4gIGlzRmllbGRzVG91Y2hlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC5pc0ZpZWxkc1RvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5a+55bqU5a2X5q615piv5ZCm6KKr55So5oi35pON5L2c6L+HXHJcbiAgaXNGaWVsZFRvdWNoZWQobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmlzRmllbGRUb3VjaGVkKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/mo4Dmn6XkuIDnu4TlrZfmrrXmmK/lkKbmraPlnKjmoKHpqoxcclxuICBpc0ZpZWxkVmFsaWRhdGluZyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQuaXNGaWVsZFZhbGlkYXRpbmcobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+mHjee9ruS4gOe7hOWtl+auteWIsFxyXG4gIHJlc2V0RmllbGRzKCkge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQucmVzZXRGaWVsZHMoKTtcclxuICB9XHJcblxyXG4gIHNjcm9sbFRvRmllbGQobmFtZSwgb3B0aW9ucykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQuc2Nyb2xsVG9GaWVsZChuYW1lLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkcyhmaWxkcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQuc2V0RmllbGRzKGZpbGRzKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkc1ZhbHVlKHZhbHVlcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlcyk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudC5zdWJtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KFxyXG4gICAgdXJsPzogc3RyaW5nLFxyXG4gICAgb3B0aW9ucz86IGFueSxcclxuICAgIGNhbGxiYWNrPzogKHJlcz86IGFueSkgPT4gdm9pZCxcclxuICAgIG1zZz86IGJvb2xlYW5cclxuICApIHtcclxuICAgIGNvbnN0IHsgdXJsOiBwcm9wc1VybCwgZW5jcnlwdEZpZWxkczogZW5jcnlwdFByb3BwcyA9IFtdIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCF1cmwgJiYgIXByb3BzVXJsKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIuayoeacieS4iuS8oOeahHVybCFcIik7XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IG1ldGhvZCA9IFwicG9zdFwiIH0gPSBvcHRpb25zO1xyXG4gICAgbGV0IHJlcXVlc3RVcmwgPSB1cmwgPyB1cmwgOiBwcm9wc1VybDtcclxuICAgIGxldCByZXF1ZXN0RGF0YSA9IHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBsZXQgcmVxdWVzdEVuY3J5cHQgPSBlbmNyeXB0UHJvcHBzO1xyXG4gICAgbGV0IHJlcXVlc3RQYXJhbSA9IHsgbWV0aG9kOiBtZXRob2QsIGRhdGE6IHJlcXVlc3REYXRhIH0gYXMgeyBkYXRhOiBhbnkgfTtcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHsgZGF0YSwgZW5jcnlwdEZpZWxkcywgLi4ucGFyYW1zIH0gPSBvcHRpb25zO1xyXG4gICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zIH07XHJcbiAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgZGVsZXRlIHJlcXVlc3RQYXJhbS5kYXRhO1xyXG4gICAgICAgIGlmIChtZXRob2QudG9Mb3dlckNhc2UoKSA9PSBcImdldFwiKSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zLCBwYXJhbXM6IGRhdGEgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcywgZGF0YTogZGF0YSB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoZW5jcnlwdEZpZWxkcykge1xyXG4gICAgICAgIHJlcXVlc3RFbmNyeXB0ID0gZW5jcnlwdEZpZWxkcztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlcXVlc3QocmVxdWVzdFVybCwge1xyXG4gICAgICBhdXRvUHJlZml4OiB0cnVlLFxyXG4gICAgICAuLi5yZXF1ZXN0UGFyYW0sXHJcbiAgICAgIGVuY3J5cHRGaWVsZHM6IHJlcXVlc3RFbmNyeXB0LFxyXG4gICAgfSlcclxuICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlczogYW55KSB7XHJcbiAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgaWYgKG1zZykge1xyXG4gICAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoXCLmj5DkuqTmiJDlip9cIik7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBtZXNzYWdlLmVycm9yKFwi5o+Q5Lqk5aSx6LSlXCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYWxsYmFjayAmJiBjYWxsYmFjayhyZXMpO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZUZpZWxkcyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQudmFsaWRhdGVGaWVsZHMobmFtZSk7XHJcbiAgfVxyXG5cclxuICBoaWRlKGUpIHtcclxuICAgIGNvbnN0IHsgc2hvd01vZGVsLCBtb2RhbFByb3BzID0ge30sIGRyYXdlclByb3BzID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3QgeyBvbkNhbmNlbCB9ID0gbW9kYWxQcm9wcztcclxuICAgIGNvbnN0IHsgb25DbG9zZSB9ID0gZHJhd2VyUHJvcHM7XHJcbiAgICBpZiAoc2hvd01vZGVsID09IFwiZHJhd2VyXCIgJiYgb25DbG9zZSkge1xyXG4gICAgICBvbkNsb3NlKGUpO1xyXG4gICAgfSBlbHNlIGlmIChzaG93TW9kZWwgPT0gXCJtb2RhbFwiICYmIG9uQ2FuY2VsKSB7XHJcbiAgICAgIG9uQ2FuY2VsKGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX3RoaXMuaGlkZUZvcm0oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhpZGVGb3JtKHJlc2V0VmFsdWUgPSB0cnVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZm9ybVZpc2libGU6IGZhbHNlLFxyXG4gICAgICAgIGlzQ2hhbmdlOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXNldFZhbHVlKSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudC5yZXNldEZpZWxkcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNob3dGb3JtKHZhbHVlPzogYW55LCBvcHRpb246IGFueSA9IHt9KSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZm9ybVZpc2libGU6IHRydWUsXHJcbiAgICAgICAgaXNDaGFuZ2U6IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlKTtcclxuICAgICAgICBjb25zdCB7IGFmdGVyUmVuZGVyIH0gPSBvcHRpb247XHJcbiAgICAgICAgdXRpbHMuY2FsbGJhY2soYWZ0ZXJSZW5kZXIsIHRoaXMpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY2xvbmVFbGVtZW50KGl0ZW0sIGluZGV4ID0gMCkge1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIGlmICh0eXBlb2YgaXRlbSA9PSBcInN0cmluZ1wiKSByZXR1cm4gaXRlbTtcclxuICAgIGxldCBwcm9wcyA9IHt9IGFzIHsga2V5OiBudW1iZXI7IGNoaWxkcmVuOiBhbnkgfTtcclxuICAgIHByb3BzLmtleSA9IGluZGV4O1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKGl0ZW0ucHJvcHMgJiYgaXRlbS5wcm9wcy5jaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0ucHJvcHMuY2hpbGRyZW4pKSB7XHJcbiAgICAgICAgICBwcm9wcy5jaGlsZHJlbiA9IFJlYWN0LkNoaWxkcmVuLm1hcChcclxuICAgICAgICAgICAgaXRlbS5wcm9wcy5jaGlsZHJlbixcclxuICAgICAgICAgICAgZnVuY3Rpb24gKGNoaWxkLCBpbmRleCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiBfdGhpcy5jbG9uZUVsZW1lbnQoY2hpbGQsIGluZGV4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcHJvcHMuY2hpbGRyZW4gPSB0aGlzLmNsb25lRWxlbWVudChpdGVtLnByb3BzLmNoaWxkcmVuLCAwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChpdGVtLCBwcm9wcyk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuICBvblZhbHVlc0NoYW5nZSh2YWwsIGFsbFZhbCkge1xyXG4gICAgY29uc3QgeyBvblZhbHVlc0NoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBpc0NoYW5nZTogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgb25WYWx1ZXNDaGFuZ2UgJiYgb25WYWx1ZXNDaGFuZ2UodmFsLCBhbGxWYWwpO1xyXG4gIH1cclxuICByZW5kZXJQYW5lbChuZXdDaGlsZHJlbiwgcHJvcHMpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgc2hvd01vZGVsLFxyXG4gICAgICBkcmF3ZXJQcm9wcyA9IHt9LFxyXG4gICAgICBtb2RhbFByb3BzID0ge30sXHJcbiAgICAgIGxvYWRpbmcgPSBmYWxzZSxcclxuICAgICAgY2hhbmdlVmFsaWQgPSB0cnVlLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1WaXNpYmxlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgbGF5b3V0ID0ge1xyXG4gICAgICBsYWJlbENvbDogeyBzcGFuOiB0aGlzLnByb3BzLmxheW91dCA9PSBcInZlcnRpY2FsXCIgPyAyNCA6IDQgfSxcclxuICAgICAgd3JhcHBlckNvbDogeyBzcGFuOiB0aGlzLnByb3BzLmxheW91dCA9PSBcInZlcnRpY2FsXCIgPyAyNCA6IDIwIH0sXHJcbiAgICB9O1xyXG4gICAgY29uc3QgUGFuZSA9ICgpID0+IHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8Rm9ybVxyXG4gICAgICAgICAgcmVmPXt0aGlzLmZvcm1SZWZ9XHJcbiAgICAgICAgICB2YWxpZGF0ZVRyaWdnZXI9e1tcIm9uQmx1clwiLCBcIm9uQ2hhbmdlXCJdfVxyXG4gICAgICAgICAgLy8gZHJhZ2dhYmxlPXt0cnVlfVxyXG4gICAgICAgICAgey4uLmxheW91dH1cclxuICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgIG9uVmFsdWVzQ2hhbmdlPXt0aGlzLm9uVmFsdWVzQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBwcmVzZXJ2ZT17ZmFsc2V9XHJcbiAgICAgICAgLz5cclxuICAgICAgKTtcclxuICAgIH07XHJcbiAgICBpZiAoc2hvd01vZGVsKSB7XHJcbiAgICAgIGxldCBuZXdNb2RhbFByb3BzID0gb21pdChtb2RhbFByb3BzLCBbXCJ2aXNpYmxlXCJdKTtcclxuICAgICAgbmV3TW9kYWxQcm9wcyA9IHsgLi4ubmV3TW9kYWxQcm9wcyB9O1xyXG4gICAgICBsZXQgbmV3RHJhd2VyUHJvcHMgPSBvbWl0KGRyYXdlclByb3BzLCBbXCJ2aXNpYmxlXCJdKTtcclxuICAgICAgbGV0IGRlZmF1bHRwcm9wcyA9IHtcclxuICAgICAgICBtYXNrQ2xvc2FibGU6ICF0aGlzLnN0YXRlLmlzQ2hhbmdlLFxyXG4gICAgICAgIGZvcm1FeHBhbmQ6IHtcclxuICAgICAgICAgIGV4cGFuZDogdHJ1ZSxcclxuICAgICAgICAgIHZhbGlkOiBjaGFuZ2VWYWxpZCxcclxuICAgICAgICAgIGNoYW5nZTogdGhpcy5zdGF0ZS5pc0NoYW5nZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHR5cGU6IHNob3dNb2RlbCxcclxuICAgICAgfSBhcyBhbnk7XHJcbiAgICAgIGxldCBtb2RhbHByb3BzID0geyAuLi5kZWZhdWx0cHJvcHMgfTtcclxuICAgICAgbW9kYWxwcm9wcyA9IHtcclxuICAgICAgICAuLi5kZWZhdWx0cHJvcHMsXHJcbiAgICAgICAgLi4ubmV3TW9kYWxQcm9wcyxcclxuICAgICAgICAuLi5uZXdEcmF3ZXJQcm9wcyxcclxuICAgICAgICBvbkNhbmNlbDogdGhpcy5oaWRlLmJpbmQodGhpcyksXHJcbiAgICAgICAgLy8gb25DbG9zZTogdGhpcy5oaWRlLmJpbmQodGhpcyksXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPE1vZGFsIG9wZW49e2Zvcm1WaXNpYmxlfSB7Li4ubW9kYWxwcm9wc30+XHJcbiAgICAgICAgICB7bG9hZGluZyA/IDxTcGluIHNwaW5uaW5nPXtsb2FkaW5nfT57UGFuZSgpfTwvU3Bpbj4gOiBQYW5lKCl9XHJcbiAgICAgICAgPC9Nb2RhbD5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiA8Pntsb2FkaW5nID8gPFNwaW4gc3Bpbm5pbmc9e2xvYWRpbmd9PntQYW5lKCl9PC9TcGluPiA6IFBhbmUoKX08Lz47XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHByb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXHJcbiAgICAgIFwiZm9ybVwiLFxyXG4gICAgICBcInNob3dNb2RlbFwiLFxyXG4gICAgICBcIm1vZGFsUHJvcHNcIixcclxuICAgICAgXCJkcmF3ZXJQcm9wc1wiLFxyXG4gICAgICBcInVybFwiLFxyXG4gICAgICBcImVuY3J5cHRGaWVsZHNcIixcclxuICAgICAgXCJjaGFuZ2VWYWxpZFwiLFxyXG4gICAgXSk7XHJcbiAgICByZXR1cm4gPD57dGhpcy5yZW5kZXJQYW5lbChwcm9wcy5jaGlsZHJlbiwgcHJvcHMpfTwvPjtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgTnNjRm9ybTtcclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFLLElBQUlDLGFBQWEsUUFBUSxPQUFPO0FBRTVDLE9BQU9DLEtBQUssTUFBTSxVQUFVO0FBRTVCLFNBQVNDLE9BQU8sUUFBUSx1QkFBdUI7QUFDL0MsT0FBT0MsSUFBSSxNQUFNLFNBQVM7QUFFMUIsT0FBT0MsSUFBSSxNQUFNLFNBQVM7QUFDMUIsU0FBU0MsS0FBSyxRQUFRLHVCQUF1QjtBQWU3QyxNQUFNQyxPQUFPLFNBQVNOLGFBQWEsQ0FBYTtFQXVCOUNPLFdBQVdBLENBQUNDLEtBQUssRUFBRTtJQUNqQixLQUFLLENBQUNBLEtBQUssQ0FBQztJQUFDQyxlQUFBLCtCQXZCTFYsS0FBSyxDQUFDVyxTQUFTLENBQWUsQ0FBQztJQUFBRCxlQUFBLGdCQUNqQztNQUNORSxXQUFXLEVBQUUsS0FB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
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","names":["React","PureComponent","Modal","request","omit","Spin","utils","NscForm","constructor","props","_defineProperty","createRef","formVisible","formModalProps","formDrawerProps","isChange","expand","scope","params","beforeRender","callbackBeforeClose","callback","afterRender","getDerivedStateFromProps","nextProps","prevState","modalProps","drawerProps","showModel","Object","is","newState","visible","undefined","getFieldError","name","_this$formRef$current","formRef","current","getFieldInstance","_this$formRef$current2","getFieldsError","getFieldsValue","_this$formRef","getFieldValue","isFieldsTouched","isFieldTouched","isFieldValidating","resetFields","scrollToField","options","setFields","filds","setFieldsValue","values","_this$formRef$current3","submit","onSubmit","url","msg","propsUrl","encryptFields","encryptPropps","Error","method","requestUrl","requestData","requestEncrypt","requestParam","data","_objectWithoutProperties","_excluded","_objectSpread","toLowerCase","autoPrefix","then","res","code","_message","success","error","catch","console","log","validateFields","hide","e","_this","onCancel","onClose","hideForm","resetValue","arguments","length","setState","showForm","value","option","_this$formRef$current4","cloneElement","item","index","key","children","Array","isArray","Children","map","child","onValuesChange","val","allVal","renderPanel","newChildren","loading","changeValid","state","layout","labelCol","span","wrapperCol","Pane","createElement","_Form","_extends","ref","validateTrigger","draggable","bind","preserve","newModalProps","newDrawerProps","defaultprops","maskClosable","formExpand","valid","change","type","modalprops","open","spinning","Fragment","render"],"sources":["../../../src/components/base/form/Form.tsx"],"sourcesContent":["/*\r\n * @Descripttion:表单组件\r\n * @version:\r\n * @Author: rxzhu\r\n * @Date: 2021-04-09 09:18:34\r\n * @LastEditors: rxzhu\r\n * @LastEditTime: 2021-04-23 15:23:54\r\n */\r\nimport React, { PureComponent } from \"react\";\r\nimport { Form, FormProps, Drawer, DrawerProps, message } from \"antd\";\r\nimport Modal from \"../modal\";\r\nimport { FormInstance } from \"antd/lib/form\";\r\nimport { request } from \"@bj-nsc/msn/lib/utils\";\r\nimport omit from \"omit.js\";\r\nimport { NscModalPorps } from \"../modal\";\r\nimport Spin from \"../spin\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nexport interface IFormProps extends FormProps {\r\n showModel?: \"modal\" | \"drawer\" | \"auto\";\r\n modalProps?: NscModalPorps;\r\n drawerProps?: DrawerProps & {\r\n onOk?: any;\r\n okButtonProps?: Object;\r\n formExpand?: Object;\r\n };\r\n url?: string;\r\n encryptFields?: Array<String>;\r\n changeValid?: boolean; //数据修改关闭校验\r\n loading?: boolean; //表单加载状态\r\n}\r\n\r\nclass NscForm extends PureComponent<IFormProps> {\r\n formRef = React.createRef<FormInstance>();\r\n state = {\r\n formVisible: false,\r\n formModalProps: {},\r\n formDrawerProps: {},\r\n isChange: false,\r\n expand: false,\r\n };\r\n option: any = {\r\n //回调作用域\r\n scope: this,\r\n //open传递过来的页面参数\r\n params: {},\r\n //显示之前回调\r\n beforeRender: null,\r\n //关闭之前回调,如果return false,且窗口不关闭\r\n callbackBeforeClose: null,\r\n //关闭后回调,异步操作\r\n callback: null,\r\n //显示之后回调\r\n afterRender: null,\r\n };\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n const { modalProps, drawerProps, showModel } = nextProps;\r\n const { formModalProps, formDrawerProps } = prevState;\r\n if (showModel == \"modal\") {\r\n // JSON.stringify(formModalProps) !== JSON.stringify(modalProps)\r\n if (!Object.is(formModalProps, modalProps)) {\r\n let newState = {\r\n formDrawerProps: modalProps,\r\n } as any;\r\n if (modalProps.visible !== null && modalProps.visible !== undefined) {\r\n newState.formVisible = modalProps.visible;\r\n }\r\n return newState;\r\n }\r\n } else if (showModel == \"drawer\") {\r\n // JSON.stringify(formDrawerProps) !== JSON.stringify(drawerProps)\r\n if (!Object.is(formDrawerProps, drawerProps)) {\r\n let newState = {\r\n formDrawerProps: drawerProps,\r\n } as any;\r\n if (drawerProps.visible !== null && drawerProps.visible !== undefined) {\r\n newState.formVisible = drawerProps.visible;\r\n }\r\n return newState;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n //获取对应字段名的错误信息\r\n getFieldError(name) {\r\n return this.formRef.current?.getFieldError(name);\r\n }\r\n\r\n //获取对应字段实例\r\n getFieldInstance(name) {\r\n return this.formRef.current?.getFieldInstance(name);\r\n }\r\n\r\n //获取一组字段名对应的错误信息,返回为数组形式\r\n getFieldsError() {\r\n return this.formRef.current.getFieldsError();\r\n }\r\n\r\n //获取一组字段名对应的值,会按照对应结构返回\r\n getFieldsValue() {\r\n return this.formRef?.current?.getFieldsValue();\r\n }\r\n\r\n //获取对应字段名的值\r\n getFieldValue(name) {\r\n return this.formRef.current.getFieldValue(name);\r\n }\r\n\r\n //检查一组字段是否被用户操作过\r\n isFieldsTouched() {\r\n return this.formRef.current.isFieldsTouched();\r\n }\r\n\r\n //检查对应字段是否被用户操作过\r\n isFieldTouched(name) {\r\n return this.formRef.current.isFieldTouched(name);\r\n }\r\n\r\n //检查一组字段是否正在校验\r\n isFieldValidating(name) {\r\n return this.formRef.current.isFieldValidating(name);\r\n }\r\n\r\n //重置一组字段到\r\n resetFields() {\r\n this.formRef.current.resetFields();\r\n }\r\n\r\n scrollToField(name, options) {\r\n this.formRef.current.scrollToField(name, options);\r\n }\r\n\r\n setFields(filds) {\r\n this.formRef.current.setFields(filds);\r\n }\r\n\r\n setFieldsValue(values) {\r\n this.formRef.current?.setFieldsValue(values);\r\n }\r\n\r\n submit() {\r\n this.formRef.current.submit();\r\n }\r\n\r\n onSubmit(\r\n url?: string,\r\n options?: any,\r\n callback?: (res?: any) => void,\r\n msg?: boolean\r\n ) {\r\n const { url: propsUrl, encryptFields: encryptPropps = [] } = this.props;\r\n if (!url && !propsUrl) {\r\n throw new Error(\"没有上传的url!\");\r\n }\r\n const { method = \"post\" } = options;\r\n let requestUrl = url ? url : propsUrl;\r\n let requestData = this.formRef.current.getFieldsValue();\r\n let requestEncrypt = encryptPropps;\r\n let requestParam = { method: method, data: requestData } as { data: any };\r\n if (options) {\r\n const { data, encryptFields, ...params } = options;\r\n requestParam = { ...requestParam, ...params };\r\n if (data) {\r\n delete requestParam.data;\r\n if (method.toLowerCase() == \"get\") {\r\n requestParam = { ...requestParam, ...params, params: data };\r\n } else {\r\n requestParam = { ...requestParam, ...params, data: data };\r\n }\r\n }\r\n if (encryptFields) {\r\n requestEncrypt = encryptFields;\r\n }\r\n }\r\n\r\n request(requestUrl, {\r\n autoPrefix: true,\r\n ...requestParam,\r\n encryptFields: requestEncrypt,\r\n })\r\n .then(function (res: any) {\r\n const { code } = res;\r\n if (msg) {\r\n if (code === 200) {\r\n message.success(\"提交成功\");\r\n } else {\r\n message.error(\"提交失败\");\r\n }\r\n }\r\n callback && callback(res);\r\n })\r\n .catch(function (error: any) {\r\n console.log(\"error\", error);\r\n });\r\n }\r\n\r\n validateFields(name) {\r\n return this.formRef.current.validateFields(name);\r\n }\r\n\r\n hide(e) {\r\n const { showModel, modalProps = {}, drawerProps = {} } = this.props;\r\n let _this = this;\r\n const { onCancel } = modalProps;\r\n const { onClose } = drawerProps;\r\n if (showModel == \"drawer\" && onClose) {\r\n onClose(e);\r\n } else if (showModel == \"modal\" && onCancel) {\r\n onCancel(e);\r\n } else {\r\n _this.hideForm();\r\n }\r\n }\r\n\r\n hideForm(resetValue = true) {\r\n this.setState(\r\n {\r\n formVisible: false,\r\n isChange: false,\r\n },\r\n () => {\r\n if (resetValue) {\r\n this.formRef.current.resetFields();\r\n }\r\n }\r\n );\r\n }\r\n\r\n showForm(value?: any, option: any = {}) {\r\n this.setState(\r\n {\r\n formVisible: true,\r\n isChange: false,\r\n },\r\n () => {\r\n this.formRef.current?.setFieldsValue(value);\r\n const { afterRender } = option;\r\n utils.callback(afterRender, this);\r\n }\r\n );\r\n }\r\n\r\n cloneElement(item, index = 0) {\r\n let _this = this;\r\n if (typeof item == \"string\") return item;\r\n let props = {} as { key: number; children: any };\r\n props.key = index;\r\n try {\r\n if (item.props && item.props.children) {\r\n if (Array.isArray(item.props.children)) {\r\n props.children = React.Children.map(\r\n item.props.children,\r\n function (child, index) {\r\n return _this.cloneElement(child, index);\r\n }\r\n );\r\n } else {\r\n props.children = this.cloneElement(item.props.children, 0);\r\n }\r\n }\r\n return React.cloneElement(item, props);\r\n } catch (e) {\r\n return null;\r\n }\r\n }\r\n onValuesChange(val, allVal) {\r\n const { onValuesChange } = this.props;\r\n this.setState({\r\n isChange: true,\r\n });\r\n onValuesChange && onValuesChange(val, allVal);\r\n }\r\n renderPanel(newChildren, props) {\r\n const {\r\n showModel,\r\n drawerProps = {},\r\n modalProps = {},\r\n loading = false,\r\n changeValid = true,\r\n } = this.props;\r\n const { formVisible } = this.state;\r\n const layout = {\r\n labelCol: { span: this.props.layout == \"vertical\" ? 24 : 4 },\r\n wrapperCol: { span: this.props.layout == \"vertical\" ? 24 : 20 },\r\n };\r\n const Pane = () => {\r\n return (\r\n <Form\r\n ref={this.formRef}\r\n validateTrigger={[\"onBlur\", \"onChange\"]}\r\n draggable={true}\r\n {...layout}\r\n {...props}\r\n onValuesChange={this.onValuesChange.bind(this)}\r\n preserve={false}\r\n />\r\n );\r\n };\r\n if (showModel) {\r\n let newModalProps = omit(modalProps, [\"visible\"]);\r\n newModalProps = { ...newModalProps };\r\n let newDrawerProps = omit(drawerProps, [\"visible\"]);\r\n let defaultprops = {\r\n maskClosable: !this.state.isChange,\r\n formExpand: {\r\n expand: true,\r\n valid: changeValid,\r\n change: this.state.isChange,\r\n },\r\n type: showModel,\r\n } as any;\r\n let modalprops = { ...defaultprops };\r\n modalprops = {\r\n ...defaultprops,\r\n ...newModalProps,\r\n ...newDrawerProps,\r\n onCancel: this.hide.bind(this),\r\n // onClose: this.hide.bind(this),\r\n };\r\n return (\r\n <Modal open={formVisible} {...modalprops}>\r\n {loading ? <Spin spinning={loading}>{Pane()}</Spin> : Pane()}\r\n </Modal>\r\n );\r\n } else {\r\n return <>{loading ? <Spin spinning={loading}>{Pane()}</Spin> : Pane()}</>;\r\n }\r\n }\r\n render() {\r\n const props = omit(this.props, [\r\n \"form\",\r\n \"showModel\",\r\n \"modalProps\",\r\n \"drawerProps\",\r\n \"url\",\r\n \"encryptFields\",\r\n \"changeValid\",\r\n ]);\r\n return <>{this.renderPanel(props.children, props)}</>;\r\n }\r\n}\r\nexport default NscForm;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"Form.js","names":["React","PureComponent","Modal","request","omit","Spin","utils","NscForm","constructor","props","_defineProperty","createRef","formVisible","formModalProps","formDrawerProps","isChange","expand","scope","params","beforeRender","callbackBeforeClose","callback","afterRender","getDerivedStateFromProps","nextProps","prevState","modalProps","drawerProps","showModel","Object","is","newState","visible","undefined","getFieldError","name","_this$formRef$current","formRef","current","getFieldInstance","_this$formRef$current2","getFieldsError","getFieldsValue","_this$formRef","getFieldValue","isFieldsTouched","isFieldTouched","isFieldValidating","resetFields","scrollToField","options","setFields","filds","setFieldsValue","values","_this$formRef$current3","submit","onSubmit","url","msg","propsUrl","encryptFields","encryptPropps","Error","method","requestUrl","requestData","requestEncrypt","requestParam","data","_objectWithoutProperties","_excluded","_objectSpread","toLowerCase","autoPrefix","then","res","code","_message","success","error","catch","console","log","validateFields","hide","e","_this","onCancel","onClose","hideForm","resetValue","arguments","length","setState","showForm","value","option","_this$formRef$current4","cloneElement","item","index","key","children","Array","isArray","Children","map","child","onValuesChange","val","allVal","renderPanel","newChildren","loading","changeValid","state","layout","labelCol","span","wrapperCol","Pane","createElement","_Form","_extends","ref","validateTrigger","bind","preserve","newModalProps","newDrawerProps","defaultprops","maskClosable","formExpand","valid","change","type","modalprops","open","spinning","Fragment","render"],"sources":["../../../src/components/base/form/Form.tsx"],"sourcesContent":["/*\r\n * @Descripttion:表单组件\r\n * @version:\r\n * @Author: rxzhu\r\n * @Date: 2021-04-09 09:18:34\r\n * @LastEditors: rxzhu\r\n * @LastEditTime: 2021-04-23 15:23:54\r\n */\r\nimport React, { PureComponent } from \"react\";\r\nimport { Form, FormProps, Drawer, DrawerProps, message } from \"antd\";\r\nimport Modal from \"../modal\";\r\nimport { FormInstance } from \"antd/lib/form\";\r\nimport { request } from \"@bj-nsc/msn/lib/utils\";\r\nimport omit from \"omit.js\";\r\nimport { NscModalPorps } from \"../modal\";\r\nimport Spin from \"../spin\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nexport interface IFormProps extends FormProps {\r\n showModel?: \"modal\" | \"drawer\" | \"auto\";\r\n modalProps?: NscModalPorps;\r\n drawerProps?: DrawerProps & {\r\n onOk?: any;\r\n okButtonProps?: Object;\r\n formExpand?: Object;\r\n };\r\n url?: string;\r\n encryptFields?: Array<String>;\r\n changeValid?: boolean; //数据修改关闭校验\r\n loading?: boolean; //表单加载状态\r\n}\r\n\r\nclass NscForm extends PureComponent<IFormProps> {\r\n formRef = React.createRef<FormInstance>();\r\n state = {\r\n formVisible: false,\r\n formModalProps: {},\r\n formDrawerProps: {},\r\n isChange: false,\r\n expand: false,\r\n };\r\n option: any = {\r\n //回调作用域\r\n scope: this,\r\n //open传递过来的页面参数\r\n params: {},\r\n //显示之前回调\r\n beforeRender: null,\r\n //关闭之前回调,如果return false,且窗口不关闭\r\n callbackBeforeClose: null,\r\n //关闭后回调,异步操作\r\n callback: null,\r\n //显示之后回调\r\n afterRender: null,\r\n };\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n const { modalProps, drawerProps, showModel } = nextProps;\r\n const { formModalProps, formDrawerProps } = prevState;\r\n if (showModel == \"modal\") {\r\n // JSON.stringify(formModalProps) !== JSON.stringify(modalProps)\r\n if (!Object.is(formModalProps, modalProps)) {\r\n let newState = {\r\n formDrawerProps: modalProps,\r\n } as any;\r\n if (modalProps.visible !== null && modalProps.visible !== undefined) {\r\n newState.formVisible = modalProps.visible;\r\n }\r\n return newState;\r\n }\r\n } else if (showModel == \"drawer\") {\r\n // JSON.stringify(formDrawerProps) !== JSON.stringify(drawerProps)\r\n if (!Object.is(formDrawerProps, drawerProps)) {\r\n let newState = {\r\n formDrawerProps: drawerProps,\r\n } as any;\r\n if (drawerProps.visible !== null && drawerProps.visible !== undefined) {\r\n newState.formVisible = drawerProps.visible;\r\n }\r\n return newState;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n //获取对应字段名的错误信息\r\n getFieldError(name) {\r\n return this.formRef.current?.getFieldError(name);\r\n }\r\n\r\n //获取对应字段实例\r\n getFieldInstance(name) {\r\n return this.formRef.current?.getFieldInstance(name);\r\n }\r\n\r\n //获取一组字段名对应的错误信息,返回为数组形式\r\n getFieldsError() {\r\n return this.formRef.current.getFieldsError();\r\n }\r\n\r\n //获取一组字段名对应的值,会按照对应结构返回\r\n getFieldsValue() {\r\n return this.formRef?.current?.getFieldsValue();\r\n }\r\n\r\n //获取对应字段名的值\r\n getFieldValue(name) {\r\n return this.formRef.current.getFieldValue(name);\r\n }\r\n\r\n //检查一组字段是否被用户操作过\r\n isFieldsTouched() {\r\n return this.formRef.current.isFieldsTouched();\r\n }\r\n\r\n //检查对应字段是否被用户操作过\r\n isFieldTouched(name) {\r\n return this.formRef.current.isFieldTouched(name);\r\n }\r\n\r\n //检查一组字段是否正在校验\r\n isFieldValidating(name) {\r\n return this.formRef.current.isFieldValidating(name);\r\n }\r\n\r\n //重置一组字段到\r\n resetFields() {\r\n this.formRef.current.resetFields();\r\n }\r\n\r\n scrollToField(name, options) {\r\n this.formRef.current.scrollToField(name, options);\r\n }\r\n\r\n setFields(filds) {\r\n this.formRef.current.setFields(filds);\r\n }\r\n\r\n setFieldsValue(values) {\r\n this.formRef.current?.setFieldsValue(values);\r\n }\r\n\r\n submit() {\r\n this.formRef.current.submit();\r\n }\r\n\r\n onSubmit(\r\n url?: string,\r\n options?: any,\r\n callback?: (res?: any) => void,\r\n msg?: boolean\r\n ) {\r\n const { url: propsUrl, encryptFields: encryptPropps = [] } = this.props;\r\n if (!url && !propsUrl) {\r\n throw new Error(\"没有上传的url!\");\r\n }\r\n const { method = \"post\" } = options;\r\n let requestUrl = url ? url : propsUrl;\r\n let requestData = this.formRef.current.getFieldsValue();\r\n let requestEncrypt = encryptPropps;\r\n let requestParam = { method: method, data: requestData } as { data: any };\r\n if (options) {\r\n const { data, encryptFields, ...params } = options;\r\n requestParam = { ...requestParam, ...params };\r\n if (data) {\r\n delete requestParam.data;\r\n if (method.toLowerCase() == \"get\") {\r\n requestParam = { ...requestParam, ...params, params: data };\r\n } else {\r\n requestParam = { ...requestParam, ...params, data: data };\r\n }\r\n }\r\n if (encryptFields) {\r\n requestEncrypt = encryptFields;\r\n }\r\n }\r\n\r\n request(requestUrl, {\r\n autoPrefix: true,\r\n ...requestParam,\r\n encryptFields: requestEncrypt,\r\n })\r\n .then(function (res: any) {\r\n const { code } = res;\r\n if (msg) {\r\n if (code === 200) {\r\n message.success(\"提交成功\");\r\n } else {\r\n message.error(\"提交失败\");\r\n }\r\n }\r\n callback && callback(res);\r\n })\r\n .catch(function (error: any) {\r\n console.log(\"error\", error);\r\n });\r\n }\r\n\r\n validateFields(name) {\r\n return this.formRef.current.validateFields(name);\r\n }\r\n\r\n hide(e) {\r\n const { showModel, modalProps = {}, drawerProps = {} } = this.props;\r\n let _this = this;\r\n const { onCancel } = modalProps;\r\n const { onClose } = drawerProps;\r\n if (showModel == \"drawer\" && onClose) {\r\n onClose(e);\r\n } else if (showModel == \"modal\" && onCancel) {\r\n onCancel(e);\r\n } else {\r\n _this.hideForm();\r\n }\r\n }\r\n\r\n hideForm(resetValue = true) {\r\n this.setState(\r\n {\r\n formVisible: false,\r\n isChange: false,\r\n },\r\n () => {\r\n if (resetValue) {\r\n this.formRef.current.resetFields();\r\n }\r\n }\r\n );\r\n }\r\n\r\n showForm(value?: any, option: any = {}) {\r\n this.setState(\r\n {\r\n formVisible: true,\r\n isChange: false,\r\n },\r\n () => {\r\n this.formRef.current?.setFieldsValue(value);\r\n const { afterRender } = option;\r\n utils.callback(afterRender, this);\r\n }\r\n );\r\n }\r\n\r\n cloneElement(item, index = 0) {\r\n let _this = this;\r\n if (typeof item == \"string\") return item;\r\n let props = {} as { key: number; children: any };\r\n props.key = index;\r\n try {\r\n if (item.props && item.props.children) {\r\n if (Array.isArray(item.props.children)) {\r\n props.children = React.Children.map(\r\n item.props.children,\r\n function (child, index) {\r\n return _this.cloneElement(child, index);\r\n }\r\n );\r\n } else {\r\n props.children = this.cloneElement(item.props.children, 0);\r\n }\r\n }\r\n return React.cloneElement(item, props);\r\n } catch (e) {\r\n return null;\r\n }\r\n }\r\n onValuesChange(val, allVal) {\r\n const { onValuesChange } = this.props;\r\n this.setState({\r\n isChange: true,\r\n });\r\n onValuesChange && onValuesChange(val, allVal);\r\n }\r\n renderPanel(newChildren, props) {\r\n const {\r\n showModel,\r\n drawerProps = {},\r\n modalProps = {},\r\n loading = false,\r\n changeValid = true,\r\n } = this.props;\r\n const { formVisible } = this.state;\r\n const layout = {\r\n labelCol: { span: this.props.layout == \"vertical\" ? 24 : 4 },\r\n wrapperCol: { span: this.props.layout == \"vertical\" ? 24 : 20 },\r\n };\r\n const Pane = () => {\r\n return (\r\n <Form\r\n ref={this.formRef}\r\n validateTrigger={[\"onBlur\", \"onChange\"]}\r\n // draggable={true}\r\n {...layout}\r\n {...props}\r\n onValuesChange={this.onValuesChange.bind(this)}\r\n preserve={false}\r\n />\r\n );\r\n };\r\n if (showModel) {\r\n let newModalProps = omit(modalProps, [\"visible\"]);\r\n newModalProps = { ...newModalProps };\r\n let newDrawerProps = omit(drawerProps, [\"visible\"]);\r\n let defaultprops = {\r\n maskClosable: !this.state.isChange,\r\n formExpand: {\r\n expand: true,\r\n valid: changeValid,\r\n change: this.state.isChange,\r\n },\r\n type: showModel,\r\n } as any;\r\n let modalprops = { ...defaultprops };\r\n modalprops = {\r\n ...defaultprops,\r\n ...newModalProps,\r\n ...newDrawerProps,\r\n onCancel: this.hide.bind(this),\r\n // onClose: this.hide.bind(this),\r\n };\r\n return (\r\n <Modal open={formVisible} {...modalprops}>\r\n {loading ? <Spin spinning={loading}>{Pane()}</Spin> : Pane()}\r\n </Modal>\r\n );\r\n } else {\r\n return <>{loading ? <Spin spinning={loading}>{Pane()}</Spin> : Pane()}</>;\r\n }\r\n }\r\n render() {\r\n const props = omit(this.props, [\r\n \"form\",\r\n \"showModel\",\r\n \"modalProps\",\r\n \"drawerProps\",\r\n \"url\",\r\n \"encryptFields\",\r\n \"changeValid\",\r\n ]);\r\n return <>{this.renderPanel(props.children, props)}</>;\r\n }\r\n}\r\nexport default NscForm;\r\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,KAAK,IAAIC,aAAa,QAAQ,OAAO;AAE5C,OAAOC,KAAK,MAAM,UAAU;AAE5B,SAASC,OAAO,QAAQ,uBAAuB;AAC/C,OAAOC,IAAI,MAAM,SAAS;AAE1B,OAAOC,IAAI,MAAM,SAAS;AAC1B,SAASC,KAAK,QAAQ,uBAAuB;AAe7C,MAAMC,OAAO,SAASN,aAAa,CAAa;EAuB9CO,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA,+BAvBLV,KAAK,CAACW,SAAS,CAAe,CAAC;IAAAD,eAAA,gBACjC;MACNE,WAAW,EAAE,KAAK;MAClBC,cAAc,EAAE,CAAC,CAAC;MAClBC,eAAe,EAAE,CAAC,CAAC;MACnBC,QAAQ,EAAE,KAAK;MACfC,MAAM,EAAE;IACV,CAAC;IAAAN,eAAA,iBACa;MACZ;MACAO,KAAK,EAAE,IAAI;MACX;MACAC,MAAM,EAAE,CAAC,CAAC;MACV;MACAC,YAAY,EAAE,IAAI;MAClB;MACAC,mBAAmB,EAAE,IAAI;MACzB;MACAC,QAAQ,EAAE,IAAI;MACd;MACAC,WAAW,EAAE;IACf,CAAC;EAGD;EAEA,OAAOC,wBAAwBA,CAACC,SAAS,EAAEC,SAAS,EAAE;IACpD,MAAM;MAAEC,UAAU;MAAEC,WAAW;MAAEC;IAAU,CAAC,GAAGJ,SAAS;IACxD,MAAM;MAAEX,cAAc;MAAEC;IAAgB,CAAC,GAAGW,SAAS;IACrD,IAAIG,SAAS,IAAI,OAAO,EAAE;MACxB;MACA,IAAI,CAACC,MAAM,CAACC,EAAE,CAACjB,cAAc,EAAEa,UAAU,CAAC,EAAE;QAC1C,IAAIK,QAAQ,GAAG;UACbjB,eAAe,EAAEY;QACnB,CAAQ;QACR,IAAIA,UAAU,CAACM,OAAO,KAAK,IAAI,IAAIN,UAAU,CAACM,OAAO,KAAKC,SAAS,EAAE;UACnEF,QAAQ,CAACnB,WAAW,GAAGc,UAAU,CAACM,OAAO;QAC3C;QACA,OAAOD,QAAQ;MACjB;IACF,CAAC,MAAM,IAAIH,SAAS,IAAI,QAAQ,EAAE;MAChC;MACA,IAAI,CAACC,MAAM,CAACC,EAAE,CAAChB,eAAe,EAAEa,WAAW,CAAC,EAAE;QAC5C,IAAII,QAAQ,GAAG;UACbjB,eAAe,EAAEa;QACnB,CAAQ;QACR,IAAIA,WAAW,CAACK,OAAO,KAAK,IAAI,IAAIL,WAAW,CAACK,OAAO,KAAKC,SAAS,EAAE;UACrEF,QAAQ,CAACnB,WAAW,GAAGe,WAAW,CAACK,OAAO;QAC5C;QACA,OAAOD,QAAQ;MACjB;IACF;IACA,OAAO,IAAI;EACb;;EAEA;EACAG,aAAaA,CAACC,IAAI,EAAE;IAAA,IAAAC,qBAAA;IAClB,QAAAA,qBAAA,GAAO,IAAI,CAACC,OAAO,CAACC,OAAO,cAAAF,qBAAA,uBAApBA,qBAAA,CAAsBF,aAAa,CAACC,IAAI,CAAC;EAClD;;EAEA;EACAI,gBAAgBA,CAACJ,IAAI,EAAE;IAAA,IAAAK,sBAAA;IACrB,QAAAA,sBAAA,GAAO,IAAI,CAACH,OAAO,CAACC,OAAO,cAAAE,sBAAA,uBAApBA,sBAAA,CAAsBD,gBAAgB,CAACJ,IAAI,CAAC;EACrD;;EAEA;EACAM,cAAcA,CAAA,EAAG;IACf,OAAO,IAAI,CAACJ,OAAO,CAACC,OAAO,CAACG,cAAc,CAAC,CAAC;EAC9C;;EAEA;EACAC,cAAcA,CAAA,EAAG;IAAA,IAAAC,aAAA;IACf,QAAAA,aAAA,GAAO,IAAI,CAACN,OAAO,cAAAM,aAAA,gBAAAA,aAAA,GAAZA,aAAA,CAAcL,OAAO,cAAAK,aAAA,uBAArBA,aAAA,CAAuBD,cAAc,CAAC,CAAC;EAChD;;EAEA;EACAE,aAAaA,CAACT,IAAI,EAAE;IAClB,OAAO,IAAI,CAACE,OAAO,CAACC,OAAO,CAACM,aAAa,CAACT,IAAI,CAAC;EACjD;;EAEA;EACAU,eAAeA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACR,OAAO,CAACC,OAAO,CAACO,eAAe,CAAC,CAAC;EAC/C;;EAEA;EACAC,cAAcA,CAACX,IAAI,EAAE;IACnB,OAAO,IAAI,CAACE,OAAO,CAACC,OAAO,CAACQ,cAAc,CAACX,IAAI,CAAC;EAClD;;EAEA;EACAY,iBAAiBA,CAACZ,IAAI,EAAE;IACtB,OAAO,IAAI,CAACE,OAAO,CAACC,OAAO,CAACS,iBAAiB,CAACZ,IAAI,CAAC;EACrD;;EAEA;EACAa,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACX,OAAO,CAACC,OAAO,CAACU,WAAW,CAAC,CAAC;EACpC;EAEAC,aAAaA,CAACd,IAAI,EAAEe,OAAO,EAAE;IAC3B,IAAI,CAACb,OAAO,CAACC,OAAO,CAACW,aAAa,CAACd,IAAI,EAAEe,OAAO,CAAC;EACnD;EAEAC,SAASA,CAACC,KAAK,EAAE;IACf,IAAI,CAACf,OAAO,CAACC,OAAO,CAACa,SAAS,CAACC,KAAK,CAAC;EACvC;EAEAC,cAAcA,CAACC,MAAM,EAAE;IAAA,IAAAC,sBAAA;IACrB,CAAAA,sBAAA,OAAI,CAAClB,OAAO,CAACC,OAAO,cAAAiB,sBAAA,eAApBA,sBAAA,CAAsBF,cAAc,CAACC,MAAM,CAAC;EAC9C;EAEAE,MAAMA,CAAA,EAAG;IACP,IAAI,CAACnB,OAAO,CAACC,OAAO,CAACkB,MAAM,CAAC,CAAC;EAC/B;EAEAC,QAAQA,CACNC,GAAY,EACZR,OAAa,EACb7B,QAA8B,EAC9BsC,GAAa,EACb;IACA,MAAM;MAAED,GAAG,EAAEE,QAAQ;MAAEC,aAAa,EAAEC,aAAa,GAAG;IAAG,CAAC,GAAG,IAAI,CAACrD,KAAK;IACvE,IAAI,CAACiD,GAAG,IAAI,CAACE,QAAQ,EAAE;MACrB,MAAM,IAAIG,KAAK,CAAC,WAAW,CAAC;IAC9B;IACA,MAAM;MAAEC,MAAM,GAAG;IAAO,CAAC,GAAGd,OAAO;IACnC,IAAIe,UAAU,GAAGP,GAAG,GAAGA,GAAG,GAAGE,QAAQ;IACrC,IAAIM,WAAW,GAAG,IAAI,CAAC7B,OAAO,CAACC,OAAO,CAACI,cAAc,CAAC,CAAC;IACvD,IAAIyB,cAAc,GAAGL,aAAa;IAClC,IAAIM,YAAY,GAAG;MAAEJ,MAAM,EAAEA,MAAM;MAAEK,IAAI,EAAEH;IAAY,CAAkB;IACzE,IAAIhB,OAAO,EAAE;MACX,MAAM;UAAEmB,IAAI;UAAER;QAAyB,CAAC,GAAGX,OAAO;QAAlBhC,MAAM,GAAAoD,wBAAA,CAAKpB,OAAO,EAAAqB,SAAA;MAClDH,YAAY,GAAAI,aAAA,CAAAA,aAAA,KAAQJ,YAAY,GAAKlD,MAAM,CAAE;MAC7C,IAAImD,IAAI,EAAE;QACR,OAAOD,YAAY,CAACC,IAAI;QACxB,IAAIL,MAAM,CAACS,WAAW,CAAC,CAAC,IAAI,KAAK,EAAE;UACjCL,YAAY,GAAAI,aAAA,CAAAA,aAAA,CAAAA,aAAA,KAAQJ,YAAY,GAAKlD,MAAM;YAAEA,MAAM,EAAEmD;UAAI,EAAE;QAC7D,CAAC,MAAM;UACLD,YAAY,GAAAI,aAAA,CAAAA,aAAA,CAAAA,aAAA,KAAQJ,YAAY,GAAKlD,MAAM;YAAEmD,IAAI,EAAEA;UAAI,EAAE;QAC3D;MACF;MACA,IAAIR,aAAa,EAAE;QACjBM,cAAc,GAAGN,aAAa;MAChC;IACF;IAEA1D,OAAO,CAAC8D,UAAU,EAAAO,aAAA,CAAAA,aAAA;MAChBE,UAAU,EAAE;IAAI,GACbN,YAAY;MACfP,aAAa,EAAEM;IAAc,EAC9B,CAAC,CACCQ,IAAI,CAAC,UAAUC,GAAQ,EAAE;MACxB,MAAM;QAAEC;MAAK,CAAC,GAAGD,GAAG;MACpB,IAAIjB,GAAG,EAAE;QACP,IAAIkB,IAAI,KAAK,GAAG,EAAE;UAChBC,QAAA,CAAQC,OAAO,CAAC,MAAM,CAAC;QACzB,CAAC,MAAM;UACLD,QAAA,CAAQE,KAAK,CAAC,MAAM,CAAC;QACvB;MACF;MACA3D,QAAQ,IAAIA,QAAQ,CAACuD,GAAG,CAAC;IAC3B,CAAC,CAAC,CACDK,KAAK,CAAC,UAAUD,KAAU,EAAE;MAC3BE,OAAO,CAACC,GAAG,CAAC,OAAO,EAAEH,KAAK,CAAC;IAC7B,CAAC,CAAC;EACN;EAEAI,cAAcA,CAACjD,IAAI,EAAE;IACnB,OAAO,IAAI,CAACE,OAAO,CAACC,OAAO,CAAC8C,cAAc,CAACjD,IAAI,CAAC;EAClD;EAEAkD,IAAIA,CAACC,CAAC,EAAE;IACN,MAAM;MAAE1D,SAAS;MAAEF,UAAU,GAAG,CAAC,CAAC;MAAEC,WAAW,GAAG,CAAC;IAAE,CAAC,GAAG,IAAI,CAAClB,KAAK;IACnE,IAAI8E,KAAK,GAAG,IAAI;IAChB,MAAM;MAAEC;IAAS,CAAC,GAAG9D,UAAU;IAC/B,MAAM;MAAE+D;IAAQ,CAAC,GAAG9D,WAAW;IAC/B,IAAIC,SAAS,IAAI,QAAQ,IAAI6D,OAAO,EAAE;MACpCA,OAAO,CAACH,CAAC,CAAC;IACZ,CAAC,MAAM,IAAI1D,SAAS,IAAI,OAAO,IAAI4D,QAAQ,EAAE;MAC3CA,QAAQ,CAACF,CAAC,CAAC;IACb,CAAC,MAAM;MACLC,KAAK,CAACG,QAAQ,CAAC,CAAC;IAClB;EACF;EAEAA,QAAQA,CAAA,EAAoB;IAAA,IAAnBC,UAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA3D,SAAA,GAAA2D,SAAA,MAAG,IAAI;IACxB,IAAI,CAACE,QAAQ,CACX;MACElF,WAAW,EAAE,KAAK;MAClBG,QAAQ,EAAE;IACZ,CAAC,EACD,MAAM;MACJ,IAAI4E,UAAU,EAAE;QACd,IAAI,CAACtD,OAAO,CAACC,OAAO,CAACU,WAAW,CAAC,CAAC;MACpC;IACF,CACF,CAAC;EACH;EAEA+C,QAAQA,CAACC,KAAW,EAAoB;IAAA,IAAlBC,MAAW,GAAAL,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA3D,SAAA,GAAA2D,SAAA,MAAG,CAAC,CAAC;IACpC,IAAI,CAACE,QAAQ,CACX;MACElF,WAAW,EAAE,IAAI;MACjBG,QAAQ,EAAE;IACZ,CAAC,EACD,MAAM;MAAA,IAAAmF,sBAAA;MACJ,CAAAA,sBAAA,OAAI,CAAC7D,OAAO,CAACC,OAAO,cAAA4D,sBAAA,eAApBA,sBAAA,CAAsB7C,cAAc,CAAC2C,KAAK,CAAC;MAC3C,MAAM;QAAE1E;MAAY,CAAC,GAAG2E,MAAM;MAC9B3F,KAAK,CAACe,QAAQ,CAACC,WAAW,EAAE,IAAI,CAAC;IACnC,CACF,CAAC;EACH;EAEA6E,YAAYA,CAACC,IAAI,EAAa;IAAA,IAAXC,KAAK,GAAAT,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA3D,SAAA,GAAA2D,SAAA,MAAG,CAAC;IAC1B,IAAIL,KAAK,GAAG,IAAI;IAChB,IAAI,OAAOa,IAAI,IAAI,QAAQ,EAAE,OAAOA,IAAI;IACxC,IAAI3F,KAAK,GAAG,CAAC,CAAmC;IAChDA,KAAK,CAAC6F,GAAG,GAAGD,KAAK;IACjB,IAAI;MACF,IAAID,IAAI,CAAC3F,KAAK,IAAI2F,IAAI,CAAC3F,KAAK,CAAC8F,QAAQ,EAAE;QACrC,IAAIC,KAAK,CAACC,OAAO,CAACL,IAAI,CAAC3F,KAAK,CAAC8F,QAAQ,CAAC,EAAE;UACtC9F,KAAK,CAAC8F,QAAQ,GAAGvG,KAAK,CAAC0G,QAAQ,CAACC,GAAG,CACjCP,IAAI,CAAC3F,KAAK,CAAC8F,QAAQ,EACnB,UAAUK,KAAK,EAAEP,KAAK,EAAE;YACtB,OAAOd,KAAK,CAACY,YAAY,CAACS,KAAK,EAAEP,KAAK,CAAC;UACzC,CACF,CAAC;QACH,CAAC,MAAM;UACL5F,KAAK,CAAC8F,QAAQ,GAAG,IAAI,CAACJ,YAAY,CAACC,IAAI,CAAC3F,KAAK,CAAC8F,QAAQ,EAAE,CAAC,CAAC;QAC5D;MACF;MACA,oBAAOvG,KAAK,CAACmG,YAAY,CAACC,IAAI,EAAE3F,KAAK,CAAC;IACxC,CAAC,CAAC,OAAO6E,CAAC,EAAE;MACV,OAAO,IAAI;IACb;EACF;EACAuB,cAAcA,CAACC,GAAG,EAAEC,MAAM,EAAE;IAC1B,MAAM;MAAEF;IAAe,CAAC,GAAG,IAAI,CAACpG,KAAK;IACrC,IAAI,CAACqF,QAAQ,CAAC;MACZ/E,QAAQ,EAAE;IACZ,CAAC,CAAC;IACF8F,cAAc,IAAIA,cAAc,CAACC,GAAG,EAAEC,MAAM,CAAC;EAC/C;EACAC,WAAWA,CAACC,WAAW,EAAExG,KAAK,EAAE;IAC9B,MAAM;MACJmB,SAAS;MACTD,WAAW,GAAG,CAAC,CAAC;MAChBD,UAAU,GAAG,CAAC,CAAC;MACfwF,OAAO,GAAG,KAAK;MACfC,WAAW,GAAG;IAChB,CAAC,GAAG,IAAI,CAAC1G,KAAK;IACd,MAAM;MAAEG;IAAY,CAAC,GAAG,IAAI,CAACwG,KAAK;IAClC,MAAMC,MAAM,GAAG;MACbC,QAAQ,EAAE;QAAEC,IAAI,EAAE,IAAI,CAAC9G,KAAK,CAAC4G,MAAM,IAAI,UAAU,GAAG,EAAE,GAAG;MAAE,CAAC;MAC5DG,UAAU,EAAE;QAAED,IAAI,EAAE,IAAI,CAAC9G,KAAK,CAAC4G,MAAM,IAAI,UAAU,GAAG,EAAE,GAAG;MAAG;IAChE,CAAC;IACD,MAAMI,IAAI,GAAGA,CAAA,KAAM;MACjB,oBACEzH,KAAA,CAAA0H,aAAA,CAAAC,KAAA,EAAAC,QAAA;QACEC,GAAG,EAAE,IAAI,CAACxF,OAAQ;QAClByF,eAAe,EAAE,CAAC,QAAQ,EAAE,UAAU;QACtC;MAAA,GACIT,MAAM,EACN5G,KAAK;QACToG,cAAc,EAAE,IAAI,CAACA,cAAc,CAACkB,IAAI,CAAC,IAAI,CAAE;QAC/CC,QAAQ,EAAE;MAAM,EACjB,CAAC;IAEN,CAAC;IACD,IAAIpG,SAAS,EAAE;MACb,IAAIqG,aAAa,GAAG7H,IAAI,CAACsB,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC;MACjDuG,aAAa,GAAAzD,aAAA,KAAQyD,aAAa,CAAE;MACpC,IAAIC,cAAc,GAAG9H,IAAI,CAACuB,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC;MACnD,IAAIwG,YAAY,GAAG;QACjBC,YAAY,EAAE,CAAC,IAAI,CAAChB,KAAK,CAACrG,QAAQ;QAClCsH,UAAU,EAAE;UACVrH,MAAM,EAAE,IAAI;UACZsH,KAAK,EAAEnB,WAAW;UAClBoB,MAAM,EAAE,IAAI,CAACnB,KAAK,CAACrG;QACrB,CAAC;QACDyH,IAAI,EAAE5G;MACR,CAAQ;MACR,IAAI6G,UAAU,GAAAjE,aAAA,KAAQ2D,YAAY,CAAE;MACpCM,UAAU,GAAAjE,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACL2D,YAAY,GACZF,aAAa,GACbC,cAAc;QACjB1C,QAAQ,EAAE,IAAI,CAACH,IAAI,CAAC0C,IAAI,CAAC,IAAI;QAC7B;MAAA,EACD;MACD,oBACE/H,KAAA,CAAA0H,aAAA,CAACxH,KAAK,EAAA0H,QAAA;QAACc,IAAI,EAAE9H;MAAY,GAAK6H,UAAU,GACrCvB,OAAO,gBAAGlH,KAAA,CAAA0H,aAAA,CAACrH,IAAI;QAACsI,QAAQ,EAAEzB;MAAQ,GAAEO,IAAI,CAAC,CAAQ,CAAC,GAAGA,IAAI,CAAC,CACtD,CAAC;IAEZ,CAAC,MAAM;MACL,oBAAOzH,KAAA,CAAA0H,aAAA,CAAA1H,KAAA,CAAA4I,QAAA,QAAG1B,OAAO,gBAAGlH,KAAA,CAAA0H,aAAA,CAACrH,IAAI;QAACsI,QAAQ,EAAEzB;MAAQ,GAAEO,IAAI,CAAC,CAAQ,CAAC,GAAGA,IAAI,CAAC,CAAI,CAAC;IAC3E;EACF;EACAoB,MAAMA,CAAA,EAAG;IACP,MAAMpI,KAAK,GAAGL,IAAI,CAAC,IAAI,CAACK,KAAK,EAAE,CAC7B,MAAM,EACN,WAAW,EACX,YAAY,EACZ,aAAa,EACb,KAAK,EACL,eAAe,EACf,aAAa,CACd,CAAC;IACF,oBAAOT,KAAA,CAAA0H,aAAA,CAAA1H,KAAA,CAAA4I,QAAA,QAAG,IAAI,CAAC5B,WAAW,CAACvG,KAAK,CAAC8F,QAAQ,EAAE9F,KAAK,CAAI,CAAC;EACvD;AACF;AACA,eAAeF,OAAO"}