nsc-react-component 3.2.18 → 3.2.20

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.
@@ -1,6 +1,6 @@
1
1
  import _Modal from "antd/es/modal";
2
2
  import _Drawer from "antd/es/drawer";
3
- const _excluded = ["type", "closable", "okButtonProps", "cancelButtonProps", "formExpand"];
3
+ const _excluded = ["type", "closable", "okButtonProps", "cancelButtonProps", "formExpand", "dragable"];
4
4
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
5
5
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
6
6
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
@@ -204,7 +204,8 @@ export default class NscModal extends PureComponent {
204
204
  // title: orgtitle,
205
205
  okButtonProps = {},
206
206
  cancelButtonProps = {},
207
- formExpand = {}
207
+ formExpand = {},
208
+ dragable = true
208
209
  } = _this$props,
209
210
  params = _objectWithoutProperties(_this$props, _excluded);
210
211
  let props = _objectSpread({}, params);
@@ -216,7 +217,7 @@ export default class NscModal extends PureComponent {
216
217
  getContainer: () => document.getElementById(mountElementId)
217
218
  }, props);
218
219
  }
219
- if (props.dragable || type == "modal") {
220
+ if (dragable && type == "modal") {
220
221
  props = _objectSpread({
221
222
  modalRender: modal => {
222
223
  return /*#__PURE__*/React.createElement(Draggable, {
@@ -233,7 +234,7 @@ export default class NscModal extends PureComponent {
233
234
  }
234
235
  const title = /*#__PURE__*/React.createElement("div", {
235
236
  className: cls(getLess(styles, "nsc-modal-title"), {
236
- [getLess(styles, "nsc-modal-title-dragger")]: this.props.dragable && type == "modal"
237
+ [getLess(styles, "nsc-modal-title-dragger")]: dragable && type == "modal"
237
238
  }),
238
239
  onMouseOver: () => {
239
240
  if (this.state.dragger) {
@@ -348,4 +349,4 @@ _defineProperty(NscModal, "info", _Modal.info);
348
349
  _defineProperty(NscModal, "success", _Modal.success);
349
350
  _defineProperty(NscModal, "error", _Modal.error);
350
351
  _defineProperty(NscModal, "warning", _Modal.warning);
351
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImNyZWF0ZVJlZiIsIlB1cmVDb21wb25lbnQiLCJ1dGlscyIsImNvbmZpZyIsIlBsdXNDaXJjbGVPdXRsaW5lZCIsIkNsb3NlQ2lyY2xlT3V0bGluZWQiLCJDbG9zZU91dGxpbmVkIiwiRXhwYW5kT3V0bGluZWQiLCJDb21wcmVzc091dGxpbmVkIiwiQnV0dG9uIiwiZ2V0TGVzcyIsInN0eWxlcyIsImdldFN0b3JhZ2UiLCJDb25maXJtIiwib21pdCIsIkRyYWdnYWJsZSIsImNscyIsIk5zY01vZGFsIiwiY29uc3RydWN0b3IiLCJwcm9wcyIsIl9kZWZpbmVQcm9wZXJ0eSIsInNjb3BlIiwicGFyYW1zIiwiYmVmb3JlUmVuZGVyIiwiY2FsbGJhY2tCZWZvcmVDbG9zZSIsImNhbGxiYWNrIiwiYWZ0ZXJSZW5kZXIiLCJldiIsImRhdGEiLCJKU09OIiwicGFyc2UiLCJfdGhpcyIsImV2ZW50VHlwZSIsInBheWxvYWQiLCJ0eXBlIiwic2V0U3RhdGUiLCJtb2RhbFR5cGUiLCJtb2RhbCIsInN0b3JlUHJlZml4IiwiYXV0b1R5cGUiLCJjb250ZW50Iiwic3RhdGUiLCJ2aXNpYmxlIiwiZXhwYW5kIiwiYm91bmRzIiwibGVmdCIsInRvcCIsImJvdHRvbSIsInJpZ2h0IiwiZHJhZ2dlciIsImNvbXBvbmVudERpZE1vdW50Iiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsImxpc3Rlbk1lc3NhZ2UiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJzaG93Iiwib3B0aW9uIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiX29iamVjdFNwcmVhZCIsImhpZGUiLCJnZXRSZXR1cm5WYWx1ZSIsInJldHVyblZhbHVlIiwiY2xvc2UiLCJyZXN1bHQiLCJidXR0b25DbG9zZSIsImZvcm1FeHBhbmQiLCJvbkNhbmNlbCIsIm9uQnV0dG9uQ2FuY2VsIiwib25DbG9zZSIsInZhbGlkIiwiY2hhbmdlIiwib25PayIsImdldFBhcmFtcyIsImtleSIsIm9uU3RhcnQiLCJfZXZlbnQiLCJ1aURhdGEiLCJfdGhpcyRkcmFnZ2xlUmVmJGN1cnIiLCJjbGllbnRXaWR0aCIsImNsaWVudEhlaWdodCIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwidGFyZ2V0UmVjdCIsImRyYWdnbGVSZWYiLCJjdXJyZW50IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwieCIsInkiLCJyZW5kZXIiLCJfdGhpcyRwcm9wcyIsImNsb3NhYmxlIiwib2tCdXR0b25Qcm9wcyIsImNhbmNlbEJ1dHRvblByb3BzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwibW91bnRFbGVtZW50SWQiLCJnZXRDb250YWluZXIiLCJnZXRFbGVtZW50QnlJZCIsImRyYWdhYmxlIiwibW9kYWxSZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiZGlzYWJsZWQiLCJldmVudCIsInJlZiIsInRpdGxlIiwiY2xhc3NOYW1lIiwib25Nb3VzZU92ZXIiLCJvbk1vdXNlT3V0Iiwib25DbGljayIsInN0eWxlIiwibWFyZ2luUmlnaHQiLCJtb2RhbEJ1dHRvbiIsImZvb3RlciIsIl9leHRlbmRzIiwiaWNvbiIsIm9rVGV4dCIsImJpbmQiLCJjYW5jbGVCdXR0b25Qcm9wcyIsImNhbmNlbFRleHQiLCJtYXhXaWR0aCIsIndpZHRoIiwib2xkUHJvcHMiLCJuZXdEcmF3ZXJQcm9wcyIsIl9EcmF3ZXIiLCJvcGVuIiwiX01vZGFsIiwiY2VudGVyZWQiLCJhZnRlckNsb3NlIiwiaW5mbyIsInN1Y2Nlc3MiLCJlcnJvciIsIndhcm5pbmciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9iYXNlL21vZGFsL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlUmVmLCBQdXJlQ29tcG9uZW50LCBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgTW9kYWwsIE1vZGFsUHJvcHMsIERyYXdlciwgRHJhd2VyUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XHJcbmltcG9ydCB7XHJcbiAgUGx1c0NpcmNsZU91dGxpbmVkLFxyXG4gIENsb3NlQ2lyY2xlT3V0bGluZWQsXHJcbiAgQ2xvc2VPdXRsaW5lZCxcclxuICBFeHBhbmRPdXRsaW5lZCxcclxuICBDb21wcmVzc091dGxpbmVkLFxyXG59IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi9idXR0b25cIjtcclxuaW1wb3J0IHsgZ2V0TGVzcyB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IHsgZ2V0U3RvcmFnZSB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgQ29uZmlybSBmcm9tIFwiLi9Db25maXJtXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCB0eXBlIHsgRHJhZ2dhYmxlRGF0YSwgRHJhZ2dhYmxlRXZlbnQgfSBmcm9tIFwicmVhY3QtZHJhZ2dhYmxlXCI7XHJcbmltcG9ydCBEcmFnZ2FibGUgZnJvbSBcInJlYWN0LWRyYWdnYWJsZVwiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcblxyXG5pbnRlcmZhY2UgZm9ybUV4cGFuZCB7XHJcbiAgY2hhbmdlPzogYm9vbGVhbjtcclxuICB2YWxpZD86IGJvb2xlYW47XHJcbiAgZXhwYW5kPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOc2NNb2RhbFBvcnBzIGV4dGVuZHMgTW9kYWxQcm9wcyB7XHJcbiAgdHlwZT86IFwibW9kYWxcIiB8IFwiZHJhd2VyXCIgfCBcImF1dG9cIjtcclxuICBmb3JtRXhwYW5kPzogZm9ybUV4cGFuZDtcclxuICBvbkJ1dHRvbkNhbmNlbD86IGFueTsgLy/lupXpg6jlj5bmtojmjInpkq7lm57osINcclxuICBkcmFnYWJsZT86IGJvb2xlYW47IC8v5by55qGG5piv5ZCm55yL5ouW5YqoXHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5zY01vZGFsIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxcclxuICBOc2NNb2RhbFBvcnBzICYgRHJhd2VyUHJvcHMsXHJcbiAgYW55XHJcbj4ge1xyXG4gIHN0YXRpYyBjb25maXJtID0gQ29uZmlybTtcclxuICAvLyBzdGF0aWMgY29uZmlybSA9IE1vZGFsLmNvbmZpcm07XHJcbiAgc3RhdGljIGluZm8gPSBNb2RhbC5pbmZvO1xyXG4gIHN0YXRpYyBzdWNjZXNzID0gTW9kYWwuc3VjY2VzcztcclxuICBzdGF0aWMgZXJyb3IgPSBNb2RhbC5lcnJvcjtcclxuICBzdGF0aWMgd2FybmluZyA9IE1vZGFsLndhcm5pbmc7XHJcbiAgLy/ov5Tlm57lgLxcclxuICByZXR1cm5WYWx1ZSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBsZXQgbW9kYWwgPSBwcm9wcy50eXBlIHx8IFwiYXV0b1wiO1xyXG4gICAgbGV0IHN0b3JlUHJlZml4ID0gZ2V0U3RvcmFnZShcInN0b3JlLXByZS1rZXlcIik7XHJcbiAgICBsZXQgYXV0b1R5cGUgPSBnZXRTdG9yYWdlKFxyXG4gICAgICBzdG9yZVByZWZpeCA/IHN0b3JlUHJlZml4ICsgXCJmb3JtVHlwZVwiIDogXCJmb3JtVHlwZVwiXHJcbiAgICApO1xyXG4gICAgYXV0b1R5cGUgPSBhdXRvVHlwZSA/IGF1dG9UeXBlLmNvbnRlbnQgOiBudWxsO1xyXG4gICAgdGhpcy5zdGF0ZSA9IHtcclxuICAgICAgdmlzaWJsZTogZmFsc2UsXHJcbiAgICAgIGV4cGFuZDogZmFsc2UsXHJcbiAgICAgIG1vZGFsVHlwZTogbW9kYWwgPT0gXCJhdXRvXCIgPyBhdXRvVHlwZSA6IG1vZGFsLFxyXG4gICAgICBib3VuZHM6IHsgbGVmdDogMCwgdG9wOiAwLCBib3R0b206IDAsIHJpZ2h0OiAwIH0sXHJcbiAgICAgIGRyYWdnZXI6IHRydWUsXHJcbiAgICB9O1xyXG4gIH1cclxuICBkcmFnZ2xlUmVmID0gY3JlYXRlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xyXG5cclxuICBvcHRpb246IGFueSA9IHtcclxuICAgIC8v5Zue6LCD5L2c55So5Z+fXHJcbiAgICBzY29wZTogdGhpcyxcclxuICAgIC8vb3BlbuS8oOmAkui/h+adpeeahOmhtemdouWPguaVsFxyXG4gICAgcGFyYW1zOiB7fSxcclxuICAgIC8v5pi+56S65LmL5YmN5Zue6LCDXHJcbiAgICBiZWZvcmVSZW5kZXI6IG51bGwsXHJcbiAgICAvL+WFs+mXreS5i+WJjeWbnuiwg++8jOWmguaenHJldHVybiBmYWxzZe+8jOS4lOeql+WPo+S4jeWFs+mXrVxyXG4gICAgY2FsbGJhY2tCZWZvcmVDbG9zZTogbnVsbCxcclxuICAgIC8v5YWz6Zet5ZCO5Zue6LCD77yM5byC5q2l5pON5L2cXHJcbiAgICBjYWxsYmFjazogbnVsbCxcclxuICAgIC8v5pi+56S65LmL5ZCO5Zue6LCDXHJcbiAgICBhZnRlclJlbmRlcjogbnVsbCxcclxuICB9O1xyXG4gIC8qKlxyXG4gICAqIOa4suafk+WujOaIkFxyXG4gICAqIEBwYXJhbSB7Kn0gb3B0aW9uICDmlbTmlLnkvKDpgJLlr7nosaFcclxuICAgKi9cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCB0aGlzLmxpc3Rlbk1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XHJcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgdGhpcy5saXN0ZW5NZXNzYWdlKTtcclxuICB9XHJcbiAgbGlzdGVuTWVzc2FnZSA9IChldikgPT4ge1xyXG4gICAgY29uc3QgZGF0YSA9IHR5cGVvZiBldi5kYXRhID09PSBcInN0cmluZ1wiID8gSlNPTi5wYXJzZShldi5kYXRhKSA6IGV2LmRhdGE7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgaWYgKGRhdGEuZXZlbnRUeXBlID09IFwiY2hhbmdlRm9ybVR5cGVcIikge1xyXG4gICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGRhdGE7XHJcbiAgICAgIGlmIChwYXlsb2FkLnR5cGUgPT0gXCJtb2RhbFwiIHx8IHBheWxvYWQudHlwZSA9PSBcImRyYXdlclwiKSB7XHJcbiAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBtb2RhbFR5cGU6IHBheWxvYWQudHlwZSB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH07XHJcbiAgLy/mmL7npLpcclxuICBzaG93KG9wdGlvbjogYW55ID0ge30pIHtcclxuICAgIGNvbnN0IHsgc2NvcGUgfSA9IHRoaXMub3B0aW9uO1xyXG4gICAgY29uc3QgeyBiZWZvcmVSZW5kZXIsIGFmdGVyUmVuZGVyIH0gPSBvcHRpb247XHJcbiAgICB0aGlzLm9wdGlvbiA9IHsgLi4udGhpcy5vcHRpb24sIC4uLm9wdGlvbiB9O1xyXG4gICAgdXRpbHMuY2FsbGJhY2soYmVmb3JlUmVuZGVyLCBzY29wZSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHsgdmlzaWJsZTogdHJ1ZSB9LCAoKSA9PiB7XHJcbiAgICAgIHV0aWxzLmNhbGxiYWNrKGFmdGVyUmVuZGVyLCBzY29wZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8v6ZqQ6JePXHJcbiAgaGlkZShvcHRpb246IGFueSA9IHt9KSB7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgX3RoaXMuc2V0U3RhdGUoeyB2aXNpYmxlOiBmYWxzZSB9KTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W6ZyA6KaB6L+U5Zue55qE5YC8XHJcbiAgZ2V0UmV0dXJuVmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yZXR1cm5WYWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOWFs+mXreW4puWbnuiwg1xyXG4gICAqL1xyXG4gIGNsb3NlKHJlc3VsdD86IGFueSwgYnV0dG9uQ2xvc2UgPSBmYWxzZSkge1xyXG4gICAgdmFyIF90aGlzID0gdGhpcztcclxuICAgIC8vIGNvbnN0IHsgY2FsbGJhY2ssIHNjb3BlLCBjYWxsYmFja0JlZm9yZUNsb3NlIH0gPSB0aGlzLm9wdGlvbjtcclxuICAgIGNvbnN0IHsgZm9ybUV4cGFuZCA9IHt9LCBvbkNhbmNlbCwgb25CdXR0b25DYW5jZWwsIG9uQ2xvc2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAvLyBjb25zdCByID0gdXRpbHMuY2FsbGJhY2soY2FsbGJhY2tCZWZvcmVDbG9zZSwgc2NvcGUsIFt0aGlzLnJldHVyblZhbHVlXSk7XHJcbiAgICAvLyBpZiAociAhPT0gZmFsc2UpIHtcclxuICAgIGNvbnN0IHsgZXhwYW5kID0gZmFsc2UgfSA9IGZvcm1FeHBhbmQ7XHJcbiAgICBpZiAoZXhwYW5kICYmIGZvcm1FeHBhbmQudmFsaWQgJiYgZm9ybUV4cGFuZC5jaGFuZ2UpIHtcclxuICAgICAgQ29uZmlybSh7XHJcbiAgICAgICAgY29udGVudDogXCLlvZPliY3orrDlvZXlt7Lkv67mlLnlsJrmnKrkv53lrZjvvIznoa7lrpropoHmlL7lvIPkv67mlLnlkJfvvJ9cIixcclxuICAgICAgICBvbk9rKCkge1xyXG4gICAgICAgICAgaWYgKG9uQ2FuY2VsIHx8IG9uQ2xvc2UpIHtcclxuICAgICAgICAgICAgaWYgKGJ1dHRvbkNsb3NlICYmIG9uQnV0dG9uQ2FuY2VsKSB7XHJcbiAgICAgICAgICAgICAgb25CdXR0b25DYW5jZWwocmVzdWx0KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBvbkNhbmNlbCAmJiBvbkNhbmNlbChyZXN1bHQpO1xyXG4gICAgICAgICAgICAgIG9uQ2xvc2UgJiYgb25DbG9zZShyZXN1bHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IHZpc2libGU6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKG9uQ2FuY2VsIHx8IG9uQ2xvc2UpIHtcclxuICAgICAgICBpZiAoYnV0dG9uQ2xvc2UgJiYgb25CdXR0b25DYW5jZWwpIHtcclxuICAgICAgICAgIG9uQnV0dG9uQ2FuY2VsKHJlc3VsdCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG9uQ2FuY2VsICYmIG9uQ2FuY2VsKHJlc3VsdCk7XHJcbiAgICAgICAgICBvbkNsb3NlICYmIG9uQ2xvc2UocmVzdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyB2aXNpYmxlOiBmYWxzZSB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gfVxyXG4gICAgLy8gdXRpbHMuY2FsbGJhY2soY2FsbGJhY2ssIHNjb3BlLCBbX3RoaXMucmV0dXJuVmFsdWVdKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPluWPguaVsO+8jOWmguaenGtleeS4jeS8oOmAku+8jOS4lOiOt+WPluWFqOmDqFxyXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBrZXlcclxuICAgKi9cclxuICBnZXRQYXJhbXMoa2V5KSB7XHJcbiAgICBpZiAoa2V5KSByZXR1cm4gdGhpcy5vcHRpb24ucGFyYW1zW2tleV07XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb24ucGFyYW1zO1xyXG4gIH1cclxuICBvblN0YXJ0KF9ldmVudDogRHJhZ2dhYmxlRXZlbnQsIHVpRGF0YTogRHJhZ2dhYmxlRGF0YSkge1xyXG4gICAgY29uc3QgeyBjbGllbnRXaWR0aCwgY2xpZW50SGVpZ2h0IH0gPSB3aW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xyXG4gICAgY29uc3QgdGFyZ2V0UmVjdCA9IHRoaXMuZHJhZ2dsZVJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGlmICghdGFyZ2V0UmVjdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgYm91bmRzOiB7XHJcbiAgICAgICAgbGVmdDogLXRhcmdldFJlY3QubGVmdCArIHVpRGF0YS54LFxyXG4gICAgICAgIHJpZ2h0OiBjbGllbnRXaWR0aCAtICh0YXJnZXRSZWN0LnJpZ2h0IC0gdWlEYXRhLngpLFxyXG4gICAgICAgIHRvcDogLXRhcmdldFJlY3QudG9wICsgdWlEYXRhLnksXHJcbiAgICAgICAgYm90dG9tOiBjbGllbnRIZWlnaHQgLSAodGFyZ2V0UmVjdC5ib3R0b20gLSB1aURhdGEueSksXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgdHlwZSA9IFwibW9kYWxcIixcclxuICAgICAgY2xvc2FibGUsXHJcbiAgICAgIC8vIHRpdGxlOiBvcmd0aXRsZSxcclxuICAgICAgb2tCdXR0b25Qcm9wcyA9IHt9LFxyXG4gICAgICBjYW5jZWxCdXR0b25Qcm9wcyA9IHt9LFxyXG4gICAgICBmb3JtRXhwYW5kID0ge30sXHJcbiAgICAgIC4uLnBhcmFtc1xyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgcHJvcHM6IGFueSA9IHsgLi4ucGFyYW1zIH07XHJcbiAgICBsZXQgeyBtb3VudEVsZW1lbnRJZCB9ID0gY29uZmlnKCk7XHJcbiAgICBpZiAobW91bnRFbGVtZW50SWQpIHtcclxuICAgICAgcHJvcHMgPSB7XHJcbiAgICAgICAgZ2V0Q29udGFpbmVyOiAoKSA9PiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChtb3VudEVsZW1lbnRJZCksXHJcbiAgICAgICAgLi4ucHJvcHMsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcHMuZHJhZ2FibGUgfHwgdHlwZSA9PSBcIm1vZGFsXCIpIHtcclxuICAgICAgcHJvcHMgPSB7XHJcbiAgICAgICAgbW9kYWxSZW5kZXI6IChtb2RhbCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPERyYWdnYWJsZVxyXG4gICAgICAgICAgICAgIGRpc2FibGVkPXt0aGlzLnN0YXRlLmRyYWdnZXJ9XHJcbiAgICAgICAgICAgICAgYm91bmRzPXt0aGlzLnN0YXRlLmJvdW5kc31cclxuICAgICAgICAgICAgICBvblN0YXJ0PXsoZXZlbnQsIHVpRGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vblN0YXJ0KGV2ZW50LCB1aURhdGEpO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8ZGl2IHJlZj17dGhpcy5kcmFnZ2xlUmVmfT57bW9kYWx9PC9kaXY+XHJcbiAgICAgICAgICAgIDwvRHJhZ2dhYmxlPlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLnByb3BzLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHRpdGxlID0gKFxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbHMoZ2V0TGVzcyhzdHlsZXMsIFwibnNjLW1vZGFsLXRpdGxlXCIpLCB7XHJcbiAgICAgICAgICBbZ2V0TGVzcyhzdHlsZXMsIFwibnNjLW1vZGFsLXRpdGxlLWRyYWdnZXJcIildOlxyXG4gICAgICAgICAgICB0aGlzLnByb3BzLmRyYWdhYmxlICYmIHR5cGUgPT0gXCJtb2RhbFwiLFxyXG4gICAgICAgIH0pfVxyXG4gICAgICAgIG9uTW91c2VPdmVyPXsoKSA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcy5zdGF0ZS5kcmFnZ2VyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgIGRyYWdnZXI6IGZhbHNlLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9fVxyXG4gICAgICAgIG9uTW91c2VPdXQ9eygpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBkcmFnZ2VyOiB0cnVlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfX1cclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJuc2MtbW9kYWwtdGl0bGUtaWNvbnNcIil9PlxyXG4gICAgICAgICAgeyF0aGlzLnN0YXRlLmV4cGFuZCAmJiBmb3JtRXhwYW5kLmV4cGFuZCAmJiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgZXhwYW5kOiB0cnVlIH0pO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJuc2MtbW9kYWwtdGl0bGUtaWNvblwiKX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxFeHBhbmRPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7dGhpcy5zdGF0ZS5leHBhbmQgJiYgZm9ybUV4cGFuZC5leHBhbmQgJiYgKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGV4cGFuZDogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5zYy1tb2RhbC10aXRsZS1pY29uXCIpfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPENvbXByZXNzT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAge2Nsb3NhYmxlICE9PSBmYWxzZSAmJiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5zYy1tb2RhbC10aXRsZS1pY29uXCIpfVxyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpblJpZ2h0OiAwIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8Q2xvc2VPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5zYy1tb2RhbC10aXRsZS1jb250ZW50XCIpfT5cclxuICAgICAgICAgIHt0aGlzLnByb3BzLnRpdGxlfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgICBjb25zdCB7IG1vZGFsQnV0dG9uIH0gPSBjb25maWcoKTtcclxuICAgIGNvbnN0IGZvb3RlciA9IChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5zYy1tb2RhbC1mb290ZXJcIil9PlxyXG4gICAgICAgIDxCdXR0b25cclxuICAgICAgICAgIHR5cGU9XCJwcmltYXJ5XCJcclxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgcHJvcHMub25PayAmJiBwcm9wcy5vbk9rKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgaWNvbj17PFBsdXNDaXJjbGVPdXRsaW5lZCAvPn1cclxuICAgICAgICAgIHsuLi5tb2RhbEJ1dHRvbi5va0J1dHRvblByb3BzfVxyXG4gICAgICAgICAgey4uLm9rQnV0dG9uUHJvcHN9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3RoaXMucHJvcHMub2tUZXh0ID8gdGhpcy5wcm9wcy5va1RleHQgOiBcIuS/neWtmFwifVxyXG4gICAgICAgIDwvQnV0dG9uPlxyXG5cclxuICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICBvbkNsaWNrPXt0aGlzLmNsb3NlLmJpbmQodGhpcywge30sIHRydWUpfVxyXG4gICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJuc2MtbW9kYWwtZm9vdGVyLWJ1dHRvbi1tYXJnaW5cIil9XHJcbiAgICAgICAgICBpY29uPXs8Q2xvc2VDaXJjbGVPdXRsaW5lZCAvPn1cclxuICAgICAgICAgIHsuLi5tb2RhbEJ1dHRvbi5jYW5jbGVCdXR0b25Qcm9wc31cclxuICAgICAgICAgIHsuLi5jYW5jZWxCdXR0b25Qcm9wc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7dGhpcy5wcm9wcy5jYW5jZWxUZXh0ID8gdGhpcy5wcm9wcy5jYW5jZWxUZXh0IDogXCLlj5bmtohcIn1cclxuICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gICAgaWYgKGZvcm1FeHBhbmQuZXhwYW5kKSB7XHJcbiAgICAgIHByb3BzID0ge1xyXG4gICAgICAgIGZvb3RlcjogZm9vdGVyLFxyXG4gICAgICAgIC4uLnByb3BzLFxyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICBjbG9zYWJsZTogZmFsc2UsXHJcbiAgICAgICAgc3R5bGU6IHsgbWF4V2lkdGg6IFwiMTAwdndcIiB9LFxyXG5cclxuICAgICAgICB3aWR0aDogdGhpcy5zdGF0ZS5leHBhbmQgPyBcIjEwMHZ3XCIgOiBwcm9wcy53aWR0aCxcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHByb3BzID0ge1xyXG4gICAgICAgIGZvb3RlcjogZm9vdGVyLFxyXG4gICAgICAgIC4uLnByb3BzLFxyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICBjbG9zYWJsZTogZmFsc2UsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zdGF0ZS5tb2RhbFR5cGUgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICBsZXQgb2xkUHJvcHMgPSB7IC4uLnByb3BzIH07XHJcbiAgICAgIGxldCBuZXdEcmF3ZXJQcm9wcyA9IG9taXQob2xkUHJvcHMsIFtcIm9uT2tcIiwgXCJva0J1dHRvblByb3BzXCJdKTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8RHJhd2VyXHJcbiAgICAgICAgICBvcGVuPXt0aGlzLnN0YXRlLnZpc2libGV9XHJcbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICB7Li4ubmV3RHJhd2VyUHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPE1vZGFsXHJcbiAgICAgICAgICBvcGVuPXt0aGlzLnN0YXRlLnZpc2libGV9XHJcbiAgICAgICAgICBvbkNhbmNlbD17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgb25Paz17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgb2tUZXh0PXtcIuehruWumlwifVxyXG4gICAgICAgICAgY2FuY2VsVGV4dD17XCLlj5bmtohcIn1cclxuICAgICAgICAgIGNlbnRlcmVkPXt0cnVlfVxyXG4gICAgICAgICAgY2xhc3NOYW1lPXtcclxuICAgICAgICAgICAgdGhpcy5zdGF0ZS5leHBhbmRcclxuICAgICAgICAgICAgICA/IGdldExlc3Moc3R5bGVzLCBcIm5zYy1tb2RhbC1hbGxzcmVlblwiKVxyXG4gICAgICAgICAgICAgIDogZ2V0TGVzcyhzdHlsZXMsIFwibnNjLW1vZGFsXCIpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAvLyB0aXRsZT17Zm9ybUV4cGFuZCA/IHRpdGxlIDogdGhpcy5wcm9wcy50aXRsZX1cclxuICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgIGFmdGVyQ2xvc2U9eygpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgZXhwYW5kOiBmYWxzZSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgIC8+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFLLElBQUlDLFNBQVMsRUFBRUMsYUFBYSxRQUFtQixPQUFPO0FBRWxFLFNBQVNDLEtBQUssUUFBUSx1QkFBdUI7QUFDN0MsT0FBT0MsTUFBTSxNQUFNLGNBQWM7QUFDakMsU0FDRUMsa0JBQWtCLEVBQ2xCQyxtQkFBbUIsRUFDbkJDLGFBQWEsRUFDYkMsY0FBYyxFQUNkQyxnQkFBZ0IsUUFDWCxtQkFBbUI7QUFDMUIsT0FBT0MsTUFBTSxNQUFNLFdBQVc7QUFDOUIsU0FBU0MsT0FBTyxRQUFRLGFBQWE7QUFDckMsT0FBT0MsTUFBTSxNQUFNLGNBQWM7QUFDakMsU0FBU0MsVUFBVSxRQUFRLG1CQUFtQjtBQUM5QyxPQUFPQyxPQUFPLE1BQU0sV0FBVztBQUMvQixPQUFPQyxJQUFJLE1BQU0sU0FBUztBQUUxQixPQUFPQyxTQUFTLE1BQU0saUJBQWlCO0FBQ3ZDLE9BQU9DLEdBQUcsTUFBTSxZQUFZO0FBZTVCLGVBQWUsTUFBTUMsUUFBUSxTQUFTaEIsYUFBYSxDQUdqRDtFQVVBaUIsV0FBV0EsQ0FBQ0MsS0FBSyxFQUFF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
352
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImNyZWF0ZVJlZiIsIlB1cmVDb21wb25lbnQiLCJ1dGlscyIsImNvbmZpZyIsIlBsdXNDaXJjbGVPdXRsaW5lZCIsIkNsb3NlQ2lyY2xlT3V0bGluZWQiLCJDbG9zZU91dGxpbmVkIiwiRXhwYW5kT3V0bGluZWQiLCJDb21wcmVzc091dGxpbmVkIiwiQnV0dG9uIiwiZ2V0TGVzcyIsInN0eWxlcyIsImdldFN0b3JhZ2UiLCJDb25maXJtIiwib21pdCIsIkRyYWdnYWJsZSIsImNscyIsIk5zY01vZGFsIiwiY29uc3RydWN0b3IiLCJwcm9wcyIsIl9kZWZpbmVQcm9wZXJ0eSIsInNjb3BlIiwicGFyYW1zIiwiYmVmb3JlUmVuZGVyIiwiY2FsbGJhY2tCZWZvcmVDbG9zZSIsImNhbGxiYWNrIiwiYWZ0ZXJSZW5kZXIiLCJldiIsImRhdGEiLCJKU09OIiwicGFyc2UiLCJfdGhpcyIsImV2ZW50VHlwZSIsInBheWxvYWQiLCJ0eXBlIiwic2V0U3RhdGUiLCJtb2RhbFR5cGUiLCJtb2RhbCIsInN0b3JlUHJlZml4IiwiYXV0b1R5cGUiLCJjb250ZW50Iiwic3RhdGUiLCJ2aXNpYmxlIiwiZXhwYW5kIiwiYm91bmRzIiwibGVmdCIsInRvcCIsImJvdHRvbSIsInJpZ2h0IiwiZHJhZ2dlciIsImNvbXBvbmVudERpZE1vdW50Iiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsImxpc3Rlbk1lc3NhZ2UiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJzaG93Iiwib3B0aW9uIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiX29iamVjdFNwcmVhZCIsImhpZGUiLCJnZXRSZXR1cm5WYWx1ZSIsInJldHVyblZhbHVlIiwiY2xvc2UiLCJyZXN1bHQiLCJidXR0b25DbG9zZSIsImZvcm1FeHBhbmQiLCJvbkNhbmNlbCIsIm9uQnV0dG9uQ2FuY2VsIiwib25DbG9zZSIsInZhbGlkIiwiY2hhbmdlIiwib25PayIsImdldFBhcmFtcyIsImtleSIsIm9uU3RhcnQiLCJfZXZlbnQiLCJ1aURhdGEiLCJfdGhpcyRkcmFnZ2xlUmVmJGN1cnIiLCJjbGllbnRXaWR0aCIsImNsaWVudEhlaWdodCIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwidGFyZ2V0UmVjdCIsImRyYWdnbGVSZWYiLCJjdXJyZW50IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwieCIsInkiLCJyZW5kZXIiLCJfdGhpcyRwcm9wcyIsImNsb3NhYmxlIiwib2tCdXR0b25Qcm9wcyIsImNhbmNlbEJ1dHRvblByb3BzIiwiZHJhZ2FibGUiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJtb3VudEVsZW1lbnRJZCIsImdldENvbnRhaW5lciIsImdldEVsZW1lbnRCeUlkIiwibW9kYWxSZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiZGlzYWJsZWQiLCJldmVudCIsInJlZiIsInRpdGxlIiwiY2xhc3NOYW1lIiwib25Nb3VzZU92ZXIiLCJvbk1vdXNlT3V0Iiwib25DbGljayIsInN0eWxlIiwibWFyZ2luUmlnaHQiLCJtb2RhbEJ1dHRvbiIsImZvb3RlciIsIl9leHRlbmRzIiwiaWNvbiIsIm9rVGV4dCIsImJpbmQiLCJjYW5jbGVCdXR0b25Qcm9wcyIsImNhbmNlbFRleHQiLCJtYXhXaWR0aCIsIndpZHRoIiwib2xkUHJvcHMiLCJuZXdEcmF3ZXJQcm9wcyIsIl9EcmF3ZXIiLCJvcGVuIiwiX01vZGFsIiwiY2VudGVyZWQiLCJhZnRlckNsb3NlIiwiaW5mbyIsInN1Y2Nlc3MiLCJlcnJvciIsIndhcm5pbmciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9iYXNlL21vZGFsL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlUmVmLCBQdXJlQ29tcG9uZW50LCBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgTW9kYWwsIE1vZGFsUHJvcHMsIERyYXdlciwgRHJhd2VyUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XHJcbmltcG9ydCB7XHJcbiAgUGx1c0NpcmNsZU91dGxpbmVkLFxyXG4gIENsb3NlQ2lyY2xlT3V0bGluZWQsXHJcbiAgQ2xvc2VPdXRsaW5lZCxcclxuICBFeHBhbmRPdXRsaW5lZCxcclxuICBDb21wcmVzc091dGxpbmVkLFxyXG59IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi9idXR0b25cIjtcclxuaW1wb3J0IHsgZ2V0TGVzcyB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IHsgZ2V0U3RvcmFnZSB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgQ29uZmlybSBmcm9tIFwiLi9Db25maXJtXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCB0eXBlIHsgRHJhZ2dhYmxlRGF0YSwgRHJhZ2dhYmxlRXZlbnQgfSBmcm9tIFwicmVhY3QtZHJhZ2dhYmxlXCI7XHJcbmltcG9ydCBEcmFnZ2FibGUgZnJvbSBcInJlYWN0LWRyYWdnYWJsZVwiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcblxyXG5pbnRlcmZhY2UgZm9ybUV4cGFuZCB7XHJcbiAgY2hhbmdlPzogYm9vbGVhbjtcclxuICB2YWxpZD86IGJvb2xlYW47XHJcbiAgZXhwYW5kPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOc2NNb2RhbFBvcnBzIGV4dGVuZHMgTW9kYWxQcm9wcyB7XHJcbiAgdHlwZT86IFwibW9kYWxcIiB8IFwiZHJhd2VyXCIgfCBcImF1dG9cIjtcclxuICBmb3JtRXhwYW5kPzogZm9ybUV4cGFuZDtcclxuICBvbkJ1dHRvbkNhbmNlbD86IGFueTsgLy/lupXpg6jlj5bmtojmjInpkq7lm57osINcclxuICBkcmFnYWJsZT86IGJvb2xlYW47IC8v5by55qGG5piv5ZCm55yL5ouW5YqoXHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5zY01vZGFsIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxcclxuICBOc2NNb2RhbFBvcnBzICYgRHJhd2VyUHJvcHMsXHJcbiAgYW55XHJcbj4ge1xyXG4gIHN0YXRpYyBjb25maXJtID0gQ29uZmlybTtcclxuICAvLyBzdGF0aWMgY29uZmlybSA9IE1vZGFsLmNvbmZpcm07XHJcbiAgc3RhdGljIGluZm8gPSBNb2RhbC5pbmZvO1xyXG4gIHN0YXRpYyBzdWNjZXNzID0gTW9kYWwuc3VjY2VzcztcclxuICBzdGF0aWMgZXJyb3IgPSBNb2RhbC5lcnJvcjtcclxuICBzdGF0aWMgd2FybmluZyA9IE1vZGFsLndhcm5pbmc7XHJcbiAgLy/ov5Tlm57lgLxcclxuICByZXR1cm5WYWx1ZSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBsZXQgbW9kYWwgPSBwcm9wcy50eXBlIHx8IFwiYXV0b1wiO1xyXG4gICAgbGV0IHN0b3JlUHJlZml4ID0gZ2V0U3RvcmFnZShcInN0b3JlLXByZS1rZXlcIik7XHJcbiAgICBsZXQgYXV0b1R5cGUgPSBnZXRTdG9yYWdlKFxyXG4gICAgICBzdG9yZVByZWZpeCA/IHN0b3JlUHJlZml4ICsgXCJmb3JtVHlwZVwiIDogXCJmb3JtVHlwZVwiXHJcbiAgICApO1xyXG4gICAgYXV0b1R5cGUgPSBhdXRvVHlwZSA/IGF1dG9UeXBlLmNvbnRlbnQgOiBudWxsO1xyXG4gICAgdGhpcy5zdGF0ZSA9IHtcclxuICAgICAgdmlzaWJsZTogZmFsc2UsXHJcbiAgICAgIGV4cGFuZDogZmFsc2UsXHJcbiAgICAgIG1vZGFsVHlwZTogbW9kYWwgPT0gXCJhdXRvXCIgPyBhdXRvVHlwZSA6IG1vZGFsLFxyXG4gICAgICBib3VuZHM6IHsgbGVmdDogMCwgdG9wOiAwLCBib3R0b206IDAsIHJpZ2h0OiAwIH0sXHJcbiAgICAgIGRyYWdnZXI6IHRydWUsXHJcbiAgICB9O1xyXG4gIH1cclxuICBkcmFnZ2xlUmVmID0gY3JlYXRlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xyXG5cclxuICBvcHRpb246IGFueSA9IHtcclxuICAgIC8v5Zue6LCD5L2c55So5Z+fXHJcbiAgICBzY29wZTogdGhpcyxcclxuICAgIC8vb3BlbuS8oOmAkui/h+adpeeahOmhtemdouWPguaVsFxyXG4gICAgcGFyYW1zOiB7fSxcclxuICAgIC8v5pi+56S65LmL5YmN5Zue6LCDXHJcbiAgICBiZWZvcmVSZW5kZXI6IG51bGwsXHJcbiAgICAvL+WFs+mXreS5i+WJjeWbnuiwg++8jOWmguaenHJldHVybiBmYWxzZe+8jOS4lOeql+WPo+S4jeWFs+mXrVxyXG4gICAgY2FsbGJhY2tCZWZvcmVDbG9zZTogbnVsbCxcclxuICAgIC8v5YWz6Zet5ZCO5Zue6LCD77yM5byC5q2l5pON5L2cXHJcbiAgICBjYWxsYmFjazogbnVsbCxcclxuICAgIC8v5pi+56S65LmL5ZCO5Zue6LCDXHJcbiAgICBhZnRlclJlbmRlcjogbnVsbCxcclxuICB9O1xyXG4gIC8qKlxyXG4gICAqIOa4suafk+WujOaIkFxyXG4gICAqIEBwYXJhbSB7Kn0gb3B0aW9uICDmlbTmlLnkvKDpgJLlr7nosaFcclxuICAgKi9cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCB0aGlzLmxpc3Rlbk1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XHJcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgdGhpcy5saXN0ZW5NZXNzYWdlKTtcclxuICB9XHJcbiAgbGlzdGVuTWVzc2FnZSA9IChldikgPT4ge1xyXG4gICAgY29uc3QgZGF0YSA9IHR5cGVvZiBldi5kYXRhID09PSBcInN0cmluZ1wiID8gSlNPTi5wYXJzZShldi5kYXRhKSA6IGV2LmRhdGE7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgaWYgKGRhdGEuZXZlbnRUeXBlID09IFwiY2hhbmdlRm9ybVR5cGVcIikge1xyXG4gICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGRhdGE7XHJcbiAgICAgIGlmIChwYXlsb2FkLnR5cGUgPT0gXCJtb2RhbFwiIHx8IHBheWxvYWQudHlwZSA9PSBcImRyYXdlclwiKSB7XHJcbiAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBtb2RhbFR5cGU6IHBheWxvYWQudHlwZSB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH07XHJcbiAgLy/mmL7npLpcclxuICBzaG93KG9wdGlvbjogYW55ID0ge30pIHtcclxuICAgIGNvbnN0IHsgc2NvcGUgfSA9IHRoaXMub3B0aW9uO1xyXG4gICAgY29uc3QgeyBiZWZvcmVSZW5kZXIsIGFmdGVyUmVuZGVyIH0gPSBvcHRpb247XHJcbiAgICB0aGlzLm9wdGlvbiA9IHsgLi4udGhpcy5vcHRpb24sIC4uLm9wdGlvbiB9O1xyXG4gICAgdXRpbHMuY2FsbGJhY2soYmVmb3JlUmVuZGVyLCBzY29wZSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHsgdmlzaWJsZTogdHJ1ZSB9LCAoKSA9PiB7XHJcbiAgICAgIHV0aWxzLmNhbGxiYWNrKGFmdGVyUmVuZGVyLCBzY29wZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8v6ZqQ6JePXHJcbiAgaGlkZShvcHRpb246IGFueSA9IHt9KSB7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgX3RoaXMuc2V0U3RhdGUoeyB2aXNpYmxlOiBmYWxzZSB9KTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W6ZyA6KaB6L+U5Zue55qE5YC8XHJcbiAgZ2V0UmV0dXJuVmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yZXR1cm5WYWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOWFs+mXreW4puWbnuiwg1xyXG4gICAqL1xyXG4gIGNsb3NlKHJlc3VsdD86IGFueSwgYnV0dG9uQ2xvc2UgPSBmYWxzZSkge1xyXG4gICAgdmFyIF90aGlzID0gdGhpcztcclxuICAgIC8vIGNvbnN0IHsgY2FsbGJhY2ssIHNjb3BlLCBjYWxsYmFja0JlZm9yZUNsb3NlIH0gPSB0aGlzLm9wdGlvbjtcclxuICAgIGNvbnN0IHsgZm9ybUV4cGFuZCA9IHt9LCBvbkNhbmNlbCwgb25CdXR0b25DYW5jZWwsIG9uQ2xvc2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAvLyBjb25zdCByID0gdXRpbHMuY2FsbGJhY2soY2FsbGJhY2tCZWZvcmVDbG9zZSwgc2NvcGUsIFt0aGlzLnJldHVyblZhbHVlXSk7XHJcbiAgICAvLyBpZiAociAhPT0gZmFsc2UpIHtcclxuICAgIGNvbnN0IHsgZXhwYW5kID0gZmFsc2UgfSA9IGZvcm1FeHBhbmQ7XHJcbiAgICBpZiAoZXhwYW5kICYmIGZvcm1FeHBhbmQudmFsaWQgJiYgZm9ybUV4cGFuZC5jaGFuZ2UpIHtcclxuICAgICAgQ29uZmlybSh7XHJcbiAgICAgICAgY29udGVudDogXCLlvZPliY3orrDlvZXlt7Lkv67mlLnlsJrmnKrkv53lrZjvvIznoa7lrpropoHmlL7lvIPkv67mlLnlkJfvvJ9cIixcclxuICAgICAgICBvbk9rKCkge1xyXG4gICAgICAgICAgaWYgKG9uQ2FuY2VsIHx8IG9uQ2xvc2UpIHtcclxuICAgICAgICAgICAgaWYgKGJ1dHRvbkNsb3NlICYmIG9uQnV0dG9uQ2FuY2VsKSB7XHJcbiAgICAgICAgICAgICAgb25CdXR0b25DYW5jZWwocmVzdWx0KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBvbkNhbmNlbCAmJiBvbkNhbmNlbChyZXN1bHQpO1xyXG4gICAgICAgICAgICAgIG9uQ2xvc2UgJiYgb25DbG9zZShyZXN1bHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IHZpc2libGU6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKG9uQ2FuY2VsIHx8IG9uQ2xvc2UpIHtcclxuICAgICAgICBpZiAoYnV0dG9uQ2xvc2UgJiYgb25CdXR0b25DYW5jZWwpIHtcclxuICAgICAgICAgIG9uQnV0dG9uQ2FuY2VsKHJlc3VsdCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG9uQ2FuY2VsICYmIG9uQ2FuY2VsKHJlc3VsdCk7XHJcbiAgICAgICAgICBvbkNsb3NlICYmIG9uQ2xvc2UocmVzdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyB2aXNpYmxlOiBmYWxzZSB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gfVxyXG4gICAgLy8gdXRpbHMuY2FsbGJhY2soY2FsbGJhY2ssIHNjb3BlLCBbX3RoaXMucmV0dXJuVmFsdWVdKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPluWPguaVsO+8jOWmguaenGtleeS4jeS8oOmAku+8jOS4lOiOt+WPluWFqOmDqFxyXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBrZXlcclxuICAgKi9cclxuICBnZXRQYXJhbXMoa2V5KSB7XHJcbiAgICBpZiAoa2V5KSByZXR1cm4gdGhpcy5vcHRpb24ucGFyYW1zW2tleV07XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb24ucGFyYW1zO1xyXG4gIH1cclxuICBvblN0YXJ0KF9ldmVudDogRHJhZ2dhYmxlRXZlbnQsIHVpRGF0YTogRHJhZ2dhYmxlRGF0YSkge1xyXG4gICAgY29uc3QgeyBjbGllbnRXaWR0aCwgY2xpZW50SGVpZ2h0IH0gPSB3aW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xyXG4gICAgY29uc3QgdGFyZ2V0UmVjdCA9IHRoaXMuZHJhZ2dsZVJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGlmICghdGFyZ2V0UmVjdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgYm91bmRzOiB7XHJcbiAgICAgICAgbGVmdDogLXRhcmdldFJlY3QubGVmdCArIHVpRGF0YS54LFxyXG4gICAgICAgIHJpZ2h0OiBjbGllbnRXaWR0aCAtICh0YXJnZXRSZWN0LnJpZ2h0IC0gdWlEYXRhLngpLFxyXG4gICAgICAgIHRvcDogLXRhcmdldFJlY3QudG9wICsgdWlEYXRhLnksXHJcbiAgICAgICAgYm90dG9tOiBjbGllbnRIZWlnaHQgLSAodGFyZ2V0UmVjdC5ib3R0b20gLSB1aURhdGEueSksXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgdHlwZSA9IFwibW9kYWxcIixcclxuICAgICAgY2xvc2FibGUsXHJcbiAgICAgIC8vIHRpdGxlOiBvcmd0aXRsZSxcclxuICAgICAgb2tCdXR0b25Qcm9wcyA9IHt9LFxyXG4gICAgICBjYW5jZWxCdXR0b25Qcm9wcyA9IHt9LFxyXG4gICAgICBmb3JtRXhwYW5kID0ge30sXHJcbiAgICAgIGRyYWdhYmxlPXRydWUsXHJcbiAgICAgIC4uLnBhcmFtc1xyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgcHJvcHM6IGFueSA9IHsgLi4ucGFyYW1zIH07XHJcbiAgICBsZXQgeyBtb3VudEVsZW1lbnRJZCB9ID0gY29uZmlnKCk7XHJcbiAgICBpZiAobW91bnRFbGVtZW50SWQpIHtcclxuICAgICAgcHJvcHMgPSB7XHJcbiAgICAgICAgZ2V0Q29udGFpbmVyOiAoKSA9PiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChtb3VudEVsZW1lbnRJZCksXHJcbiAgICAgICAgLi4ucHJvcHMsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBpZiAoZHJhZ2FibGUgJiYgdHlwZSA9PSBcIm1vZGFsXCIpIHtcclxuICAgICAgcHJvcHMgPSB7XHJcbiAgICAgICAgbW9kYWxSZW5kZXI6IChtb2RhbCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPERyYWdnYWJsZVxyXG4gICAgICAgICAgICAgIGRpc2FibGVkPXt0aGlzLnN0YXRlLmRyYWdnZXJ9XHJcbiAgICAgICAgICAgICAgYm91bmRzPXt0aGlzLnN0YXRlLmJvdW5kc31cclxuICAgICAgICAgICAgICBvblN0YXJ0PXsoZXZlbnQsIHVpRGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vblN0YXJ0KGV2ZW50LCB1aURhdGEpO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8ZGl2IHJlZj17dGhpcy5kcmFnZ2xlUmVmfT57bW9kYWx9PC9kaXY+XHJcbiAgICAgICAgICAgIDwvRHJhZ2dhYmxlPlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLnByb3BzLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHRpdGxlID0gKFxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbHMoZ2V0TGVzcyhzdHlsZXMsIFwibnNjLW1vZGFsLXRpdGxlXCIpLCB7XHJcbiAgICAgICAgICBbZ2V0TGVzcyhzdHlsZXMsIFwibnNjLW1vZGFsLXRpdGxlLWRyYWdnZXJcIildOlxyXG4gICAgICAgICAgICBkcmFnYWJsZSAmJiB0eXBlID09IFwibW9kYWxcIixcclxuICAgICAgICB9KX1cclxuICAgICAgICBvbk1vdXNlT3Zlcj17KCkgPT4ge1xyXG4gICAgICAgICAgaWYgKHRoaXMuc3RhdGUuZHJhZ2dlcikge1xyXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICBkcmFnZ2VyOiBmYWxzZSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfX1cclxuICAgICAgICBvbk1vdXNlT3V0PXsoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgZHJhZ2dlcjogdHJ1ZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH19XHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwibnNjLW1vZGFsLXRpdGxlLWljb25zXCIpfT5cclxuICAgICAgICAgIHshdGhpcy5zdGF0ZS5leHBhbmQgJiYgZm9ybUV4cGFuZC5leHBhbmQgJiYgKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGV4cGFuZDogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwibnNjLW1vZGFsLXRpdGxlLWljb25cIil9XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8RXhwYW5kT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAge3RoaXMuc3RhdGUuZXhwYW5kICYmIGZvcm1FeHBhbmQuZXhwYW5kICYmIChcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBleHBhbmQ6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJuc2MtbW9kYWwtdGl0bGUtaWNvblwiKX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxDb21wcmVzc091dGxpbmVkIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICAgIHtjbG9zYWJsZSAhPT0gZmFsc2UgJiYgKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJuc2MtbW9kYWwtdGl0bGUtaWNvblwiKX1cclxuICAgICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5SaWdodDogMCB9fVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPENsb3NlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJuc2MtbW9kYWwtdGl0bGUtY29udGVudFwiKX0+XHJcbiAgICAgICAgICB7dGhpcy5wcm9wcy50aXRsZX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gICAgY29uc3QgeyBtb2RhbEJ1dHRvbiB9ID0gY29uZmlnKCk7XHJcbiAgICBjb25zdCBmb290ZXIgPSAoXHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJuc2MtbW9kYWwtZm9vdGVyXCIpfT5cclxuICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIHByb3BzLm9uT2sgJiYgcHJvcHMub25PaygpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIGljb249ezxQbHVzQ2lyY2xlT3V0bGluZWQgLz59XHJcbiAgICAgICAgICB7Li4ubW9kYWxCdXR0b24ub2tCdXR0b25Qcm9wc31cclxuICAgICAgICAgIHsuLi5va0J1dHRvblByb3BzfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt0aGlzLnByb3BzLm9rVGV4dCA/IHRoaXMucHJvcHMub2tUZXh0IDogXCLkv53lrZhcIn1cclxuICAgICAgICA8L0J1dHRvbj5cclxuXHJcbiAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgb25DbGljaz17dGhpcy5jbG9zZS5iaW5kKHRoaXMsIHt9LCB0cnVlKX1cclxuICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwibnNjLW1vZGFsLWZvb3Rlci1idXR0b24tbWFyZ2luXCIpfVxyXG4gICAgICAgICAgaWNvbj17PENsb3NlQ2lyY2xlT3V0bGluZWQgLz59XHJcbiAgICAgICAgICB7Li4ubW9kYWxCdXR0b24uY2FuY2xlQnV0dG9uUHJvcHN9XHJcbiAgICAgICAgICB7Li4uY2FuY2VsQnV0dG9uUHJvcHN9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3RoaXMucHJvcHMuY2FuY2VsVGV4dCA/IHRoaXMucHJvcHMuY2FuY2VsVGV4dCA6IFwi5Y+W5raIXCJ9XHJcbiAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICAgIGlmIChmb3JtRXhwYW5kLmV4cGFuZCkge1xyXG4gICAgICBwcm9wcyA9IHtcclxuICAgICAgICBmb290ZXI6IGZvb3RlcixcclxuICAgICAgICAuLi5wcm9wcyxcclxuICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgY2xvc2FibGU6IGZhbHNlLFxyXG4gICAgICAgIHN0eWxlOiB7IG1heFdpZHRoOiBcIjEwMHZ3XCIgfSxcclxuXHJcbiAgICAgICAgd2lkdGg6IHRoaXMuc3RhdGUuZXhwYW5kID8gXCIxMDB2d1wiIDogcHJvcHMud2lkdGgsXHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBwcm9wcyA9IHtcclxuICAgICAgICBmb290ZXI6IGZvb3RlcixcclxuICAgICAgICAuLi5wcm9wcyxcclxuICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgY2xvc2FibGU6IGZhbHNlLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc3RhdGUubW9kYWxUeXBlID09IFwiZHJhd2VyXCIpIHtcclxuICAgICAgbGV0IG9sZFByb3BzID0geyAuLi5wcm9wcyB9O1xyXG4gICAgICBsZXQgbmV3RHJhd2VyUHJvcHMgPSBvbWl0KG9sZFByb3BzLCBbXCJvbk9rXCIsIFwib2tCdXR0b25Qcm9wc1wiXSk7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPERyYXdlclxyXG4gICAgICAgICAgb3Blbj17dGhpcy5zdGF0ZS52aXNpYmxlfVxyXG4gICAgICAgICAgb25DbG9zZT17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgey4uLm5ld0RyYXdlclByb3BzfVxyXG4gICAgICAgIC8+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxNb2RhbFxyXG4gICAgICAgICAgb3Blbj17dGhpcy5zdGF0ZS52aXNpYmxlfVxyXG4gICAgICAgICAgb25DYW5jZWw9eygpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIG9uT2s9eygpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIG9rVGV4dD17XCLnoa7lrppcIn1cclxuICAgICAgICAgIGNhbmNlbFRleHQ9e1wi5Y+W5raIXCJ9XHJcbiAgICAgICAgICBjZW50ZXJlZD17dHJ1ZX1cclxuICAgICAgICAgIGNsYXNzTmFtZT17XHJcbiAgICAgICAgICAgIHRoaXMuc3RhdGUuZXhwYW5kXHJcbiAgICAgICAgICAgICAgPyBnZXRMZXNzKHN0eWxlcywgXCJuc2MtbW9kYWwtYWxsc3JlZW5cIilcclxuICAgICAgICAgICAgICA6IGdldExlc3Moc3R5bGVzLCBcIm5zYy1tb2RhbFwiKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLy8gdGl0bGU9e2Zvcm1FeHBhbmQgPyB0aXRsZSA6IHRoaXMucHJvcHMudGl0bGV9XHJcbiAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICBhZnRlckNsb3NlPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgIGV4cGFuZDogZmFsc2UsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAvPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBSyxJQUFJQyxTQUFTLEVBQUVDLGFBQWEsUUFBbUIsT0FBTztBQUVsRSxTQUFTQyxLQUFLLFFBQVEsdUJBQXVCO0FBQzdDLE9BQU9DLE1BQU0sTUFBTSxjQUFjO0FBQ2pDLFNBQ0VDLGtCQUFrQixFQUNsQkMsbUJBQW1CLEVBQ25CQyxhQUFhLEVBQ2JDLGNBQWMsRUFDZEMsZ0JBQWdCLFFBQ1gsbUJBQW1CO0FBQzFCLE9BQU9DLE1BQU0sTUFBTSxXQUFXO0FBQzlCLFNBQVNDLE9BQU8sUUFBUSxhQUFhO0FBQ3JDLE9BQU9DLE1BQU0sTUFBTSxjQUFjO0FBQ2pDLFNBQVNDLFVBQVUsUUFBUSxtQkFBbUI7QUFDOUMsT0FBT0MsT0FBTyxNQUFNLFdBQVc7QUFDL0IsT0FBT0MsSUFBSSxNQUFNLFNBQVM7QUFFMUIsT0FBT0MsU0FBUyxNQUFNLGlCQUFpQjtBQUN2QyxPQUFPQyxHQUFHLE1BQU0sWUFBWTtBQWU1QixlQUFlLE1BQU1DLFFBQVEsU0FBU2hCLGFBQWEsQ0FHakQ7RUFVQWlCLFdBQVdBLENBQUNDLEtB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
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","createRef","PureComponent","utils","config","PlusCircleOutlined","CloseCircleOutlined","CloseOutlined","ExpandOutlined","CompressOutlined","Button","getLess","styles","getStorage","Confirm","omit","Draggable","cls","NscModal","constructor","props","_defineProperty","scope","params","beforeRender","callbackBeforeClose","callback","afterRender","ev","data","JSON","parse","_this","eventType","payload","type","setState","modalType","modal","storePrefix","autoType","content","state","visible","expand","bounds","left","top","bottom","right","dragger","componentDidMount","window","addEventListener","listenMessage","componentWillUnmount","removeEventListener","show","option","arguments","length","undefined","_objectSpread","hide","getReturnValue","returnValue","close","result","buttonClose","formExpand","onCancel","onButtonCancel","onClose","valid","change","onOk","getParams","key","onStart","_event","uiData","_this$draggleRef$curr","clientWidth","clientHeight","document","documentElement","targetRect","draggleRef","current","getBoundingClientRect","x","y","render","_this$props","closable","okButtonProps","cancelButtonProps","_objectWithoutProperties","_excluded","mountElementId","getContainer","getElementById","dragable","modalRender","createElement","disabled","event","ref","title","className","onMouseOver","onMouseOut","onClick","style","marginRight","modalButton","footer","_extends","icon","okText","bind","cancleButtonProps","cancelText","maxWidth","width","oldProps","newDrawerProps","_Drawer","open","_Modal","centered","afterClose","info","success","error","warning"],"sources":["../../../src/components/base/modal/index.tsx"],"sourcesContent":["import React, { createRef, PureComponent, ReactNode } from \"react\";\r\nimport { Modal, ModalProps, Drawer, DrawerProps } from \"antd\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport config from \"../../config\";\r\nimport {\r\n PlusCircleOutlined,\r\n CloseCircleOutlined,\r\n CloseOutlined,\r\n ExpandOutlined,\r\n CompressOutlined,\r\n} from \"@ant-design/icons\";\r\nimport Button from \"../button\";\r\nimport { getLess } from \"../../utils\";\r\nimport styles from \"./index.less\";\r\nimport { getStorage } from \"@bj-nsc/functions\";\r\nimport Confirm from \"./Confirm\";\r\nimport omit from \"omit.js\";\r\nimport type { DraggableData, DraggableEvent } from \"react-draggable\";\r\nimport Draggable from \"react-draggable\";\r\nimport cls from \"classnames\";\r\n\r\ninterface formExpand {\r\n change?: boolean;\r\n valid?: boolean;\r\n expand?: boolean;\r\n}\r\n\r\nexport interface NscModalPorps extends ModalProps {\r\n type?: \"modal\" | \"drawer\" | \"auto\";\r\n formExpand?: formExpand;\r\n onButtonCancel?: any; //底部取消按钮回调\r\n dragable?: boolean; //弹框是否看拖动\r\n}\r\n\r\nexport default class NscModal extends PureComponent<\r\n NscModalPorps & DrawerProps,\r\n any\r\n> {\r\n static confirm = Confirm;\r\n // static confirm = Modal.confirm;\r\n static info = Modal.info;\r\n static success = Modal.success;\r\n static error = Modal.error;\r\n static warning = Modal.warning;\r\n //返回值\r\n returnValue = null;\r\n\r\n constructor(props) {\r\n super(props);\r\n let modal = props.type || \"auto\";\r\n let storePrefix = getStorage(\"store-pre-key\");\r\n let autoType = getStorage(\r\n storePrefix ? storePrefix + \"formType\" : \"formType\"\r\n );\r\n autoType = autoType ? autoType.content : null;\r\n this.state = {\r\n visible: false,\r\n expand: false,\r\n modalType: modal == \"auto\" ? autoType : modal,\r\n bounds: { left: 0, top: 0, bottom: 0, right: 0 },\r\n dragger: true,\r\n };\r\n }\r\n draggleRef = createRef<HTMLDivElement>();\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 /**\r\n * 渲染完成\r\n * @param {*} option 整改传递对象\r\n */\r\n componentDidMount() {\r\n window.addEventListener(\"message\", this.listenMessage);\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener(\"message\", this.listenMessage);\r\n }\r\n listenMessage = (ev) => {\r\n const data = typeof ev.data === \"string\" ? JSON.parse(ev.data) : ev.data;\r\n let _this = this;\r\n if (data.eventType == \"changeFormType\") {\r\n const { payload } = data;\r\n if (payload.type == \"modal\" || payload.type == \"drawer\") {\r\n _this.setState({ modalType: payload.type });\r\n }\r\n }\r\n };\r\n //显示\r\n show(option: any = {}) {\r\n const { scope } = this.option;\r\n const { beforeRender, afterRender } = option;\r\n this.option = { ...this.option, ...option };\r\n utils.callback(beforeRender, scope);\r\n this.setState({ visible: true }, () => {\r\n utils.callback(afterRender, scope);\r\n });\r\n }\r\n\r\n //隐藏\r\n hide(option: any = {}) {\r\n let _this = this;\r\n _this.setState({ visible: false });\r\n }\r\n\r\n //获取需要返回的值\r\n getReturnValue() {\r\n return this.returnValue;\r\n }\r\n\r\n /**\r\n * 关闭带回调\r\n */\r\n close(result?: any, buttonClose = false) {\r\n var _this = this;\r\n // const { callback, scope, callbackBeforeClose } = this.option;\r\n const { formExpand = {}, onCancel, onButtonCancel, onClose } = this.props;\r\n // const r = utils.callback(callbackBeforeClose, scope, [this.returnValue]);\r\n // if (r !== false) {\r\n const { expand = false } = formExpand;\r\n if (expand && formExpand.valid && formExpand.change) {\r\n Confirm({\r\n content: \"当前记录已修改尚未保存,确定要放弃修改吗?\",\r\n onOk() {\r\n if (onCancel || onClose) {\r\n if (buttonClose && onButtonCancel) {\r\n onButtonCancel(result);\r\n } else {\r\n onCancel && onCancel(result);\r\n onClose && onClose(result);\r\n }\r\n } else {\r\n _this.setState({ visible: false });\r\n }\r\n },\r\n });\r\n } else {\r\n if (onCancel || onClose) {\r\n if (buttonClose && onButtonCancel) {\r\n onButtonCancel(result);\r\n } else {\r\n onCancel && onCancel(result);\r\n onClose && onClose(result);\r\n }\r\n } else {\r\n _this.setState({ visible: false });\r\n }\r\n }\r\n // }\r\n // utils.callback(callback, scope, [_this.returnValue]);\r\n }\r\n\r\n /**\r\n * 获取参数,如果key不传递,且获取全部\r\n * @param {String} key\r\n */\r\n getParams(key) {\r\n if (key) return this.option.params[key];\r\n return this.option.params;\r\n }\r\n onStart(_event: DraggableEvent, uiData: DraggableData) {\r\n const { clientWidth, clientHeight } = window.document.documentElement;\r\n const targetRect = this.draggleRef.current?.getBoundingClientRect();\r\n if (!targetRect) {\r\n return;\r\n }\r\n this.setState({\r\n bounds: {\r\n left: -targetRect.left + uiData.x,\r\n right: clientWidth - (targetRect.right - uiData.x),\r\n top: -targetRect.top + uiData.y,\r\n bottom: clientHeight - (targetRect.bottom - uiData.y),\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n const {\r\n type = \"modal\",\r\n closable,\r\n // title: orgtitle,\r\n okButtonProps = {},\r\n cancelButtonProps = {},\r\n formExpand = {},\r\n ...params\r\n } = this.props;\r\n let props: any = { ...params };\r\n let { mountElementId } = config();\r\n if (mountElementId) {\r\n props = {\r\n getContainer: () => document.getElementById(mountElementId),\r\n ...props,\r\n };\r\n }\r\n if (props.dragable || type == \"modal\") {\r\n props = {\r\n modalRender: (modal) => {\r\n return (\r\n <Draggable\r\n disabled={this.state.dragger}\r\n bounds={this.state.bounds}\r\n onStart={(event, uiData) => {\r\n this.onStart(event, uiData);\r\n }}\r\n >\r\n <div ref={this.draggleRef}>{modal}</div>\r\n </Draggable>\r\n );\r\n },\r\n ...props,\r\n };\r\n }\r\n\r\n const title = (\r\n <div\r\n className={cls(getLess(styles, \"nsc-modal-title\"), {\r\n [getLess(styles, \"nsc-modal-title-dragger\")]:\r\n this.props.dragable && type == \"modal\",\r\n })}\r\n onMouseOver={() => {\r\n if (this.state.dragger) {\r\n this.setState({\r\n dragger: false,\r\n });\r\n }\r\n }}\r\n onMouseOut={() => {\r\n this.setState({\r\n dragger: true,\r\n });\r\n }}\r\n >\r\n <div className={getLess(styles, \"nsc-modal-title-icons\")}>\r\n {!this.state.expand && formExpand.expand && (\r\n <div\r\n onClick={() => {\r\n this.setState({ expand: true });\r\n }}\r\n className={getLess(styles, \"nsc-modal-title-icon\")}\r\n >\r\n <ExpandOutlined />\r\n </div>\r\n )}\r\n {this.state.expand && formExpand.expand && (\r\n <div\r\n onClick={() => {\r\n this.setState({ expand: false });\r\n }}\r\n className={getLess(styles, \"nsc-modal-title-icon\")}\r\n >\r\n <CompressOutlined />\r\n </div>\r\n )}\r\n {closable !== false && (\r\n <div\r\n onClick={() => {\r\n this.close();\r\n }}\r\n className={getLess(styles, \"nsc-modal-title-icon\")}\r\n style={{ marginRight: 0 }}\r\n >\r\n <CloseOutlined />\r\n </div>\r\n )}\r\n </div>\r\n <div className={getLess(styles, \"nsc-modal-title-content\")}>\r\n {this.props.title}\r\n </div>\r\n </div>\r\n );\r\n const { modalButton } = config();\r\n const footer = (\r\n <div className={getLess(styles, \"nsc-modal-footer\")}>\r\n <Button\r\n type=\"primary\"\r\n onClick={() => {\r\n props.onOk && props.onOk();\r\n }}\r\n icon={<PlusCircleOutlined />}\r\n {...modalButton.okButtonProps}\r\n {...okButtonProps}\r\n >\r\n {this.props.okText ? this.props.okText : \"保存\"}\r\n </Button>\r\n\r\n <Button\r\n onClick={this.close.bind(this, {}, true)}\r\n className={getLess(styles, \"nsc-modal-footer-button-margin\")}\r\n icon={<CloseCircleOutlined />}\r\n {...modalButton.cancleButtonProps}\r\n {...cancelButtonProps}\r\n >\r\n {this.props.cancelText ? this.props.cancelText : \"取消\"}\r\n </Button>\r\n </div>\r\n );\r\n if (formExpand.expand) {\r\n props = {\r\n footer: footer,\r\n ...props,\r\n title: title,\r\n closable: false,\r\n style: { maxWidth: \"100vw\" },\r\n\r\n width: this.state.expand ? \"100vw\" : props.width,\r\n };\r\n } else {\r\n props = {\r\n footer: footer,\r\n ...props,\r\n title: title,\r\n closable: false,\r\n };\r\n }\r\n if (this.state.modalType == \"drawer\") {\r\n let oldProps = { ...props };\r\n let newDrawerProps = omit(oldProps, [\"onOk\", \"okButtonProps\"]);\r\n return (\r\n <Drawer\r\n open={this.state.visible}\r\n onClose={() => {\r\n this.close();\r\n }}\r\n {...newDrawerProps}\r\n />\r\n );\r\n } else {\r\n return (\r\n <Modal\r\n open={this.state.visible}\r\n onCancel={() => {\r\n this.close();\r\n }}\r\n onOk={() => {\r\n this.close();\r\n }}\r\n okText={\"确定\"}\r\n cancelText={\"取消\"}\r\n centered={true}\r\n className={\r\n this.state.expand\r\n ? getLess(styles, \"nsc-modal-allsreen\")\r\n : getLess(styles, \"nsc-modal\")\r\n }\r\n // title={formExpand ? title : this.props.title}\r\n {...props}\r\n afterClose={() => {\r\n this.setState({\r\n expand: false,\r\n });\r\n }}\r\n />\r\n );\r\n }\r\n }\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","createRef","PureComponent","utils","config","PlusCircleOutlined","CloseCircleOutlined","CloseOutlined","ExpandOutlined","CompressOutlined","Button","getLess","styles","getStorage","Confirm","omit","Draggable","cls","NscModal","constructor","props","_defineProperty","scope","params","beforeRender","callbackBeforeClose","callback","afterRender","ev","data","JSON","parse","_this","eventType","payload","type","setState","modalType","modal","storePrefix","autoType","content","state","visible","expand","bounds","left","top","bottom","right","dragger","componentDidMount","window","addEventListener","listenMessage","componentWillUnmount","removeEventListener","show","option","arguments","length","undefined","_objectSpread","hide","getReturnValue","returnValue","close","result","buttonClose","formExpand","onCancel","onButtonCancel","onClose","valid","change","onOk","getParams","key","onStart","_event","uiData","_this$draggleRef$curr","clientWidth","clientHeight","document","documentElement","targetRect","draggleRef","current","getBoundingClientRect","x","y","render","_this$props","closable","okButtonProps","cancelButtonProps","dragable","_objectWithoutProperties","_excluded","mountElementId","getContainer","getElementById","modalRender","createElement","disabled","event","ref","title","className","onMouseOver","onMouseOut","onClick","style","marginRight","modalButton","footer","_extends","icon","okText","bind","cancleButtonProps","cancelText","maxWidth","width","oldProps","newDrawerProps","_Drawer","open","_Modal","centered","afterClose","info","success","error","warning"],"sources":["../../../src/components/base/modal/index.tsx"],"sourcesContent":["import React, { createRef, PureComponent, ReactNode } from \"react\";\r\nimport { Modal, ModalProps, Drawer, DrawerProps } from \"antd\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport config from \"../../config\";\r\nimport {\r\n PlusCircleOutlined,\r\n CloseCircleOutlined,\r\n CloseOutlined,\r\n ExpandOutlined,\r\n CompressOutlined,\r\n} from \"@ant-design/icons\";\r\nimport Button from \"../button\";\r\nimport { getLess } from \"../../utils\";\r\nimport styles from \"./index.less\";\r\nimport { getStorage } from \"@bj-nsc/functions\";\r\nimport Confirm from \"./Confirm\";\r\nimport omit from \"omit.js\";\r\nimport type { DraggableData, DraggableEvent } from \"react-draggable\";\r\nimport Draggable from \"react-draggable\";\r\nimport cls from \"classnames\";\r\n\r\ninterface formExpand {\r\n change?: boolean;\r\n valid?: boolean;\r\n expand?: boolean;\r\n}\r\n\r\nexport interface NscModalPorps extends ModalProps {\r\n type?: \"modal\" | \"drawer\" | \"auto\";\r\n formExpand?: formExpand;\r\n onButtonCancel?: any; //底部取消按钮回调\r\n dragable?: boolean; //弹框是否看拖动\r\n}\r\n\r\nexport default class NscModal extends PureComponent<\r\n NscModalPorps & DrawerProps,\r\n any\r\n> {\r\n static confirm = Confirm;\r\n // static confirm = Modal.confirm;\r\n static info = Modal.info;\r\n static success = Modal.success;\r\n static error = Modal.error;\r\n static warning = Modal.warning;\r\n //返回值\r\n returnValue = null;\r\n\r\n constructor(props) {\r\n super(props);\r\n let modal = props.type || \"auto\";\r\n let storePrefix = getStorage(\"store-pre-key\");\r\n let autoType = getStorage(\r\n storePrefix ? storePrefix + \"formType\" : \"formType\"\r\n );\r\n autoType = autoType ? autoType.content : null;\r\n this.state = {\r\n visible: false,\r\n expand: false,\r\n modalType: modal == \"auto\" ? autoType : modal,\r\n bounds: { left: 0, top: 0, bottom: 0, right: 0 },\r\n dragger: true,\r\n };\r\n }\r\n draggleRef = createRef<HTMLDivElement>();\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 /**\r\n * 渲染完成\r\n * @param {*} option 整改传递对象\r\n */\r\n componentDidMount() {\r\n window.addEventListener(\"message\", this.listenMessage);\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener(\"message\", this.listenMessage);\r\n }\r\n listenMessage = (ev) => {\r\n const data = typeof ev.data === \"string\" ? JSON.parse(ev.data) : ev.data;\r\n let _this = this;\r\n if (data.eventType == \"changeFormType\") {\r\n const { payload } = data;\r\n if (payload.type == \"modal\" || payload.type == \"drawer\") {\r\n _this.setState({ modalType: payload.type });\r\n }\r\n }\r\n };\r\n //显示\r\n show(option: any = {}) {\r\n const { scope } = this.option;\r\n const { beforeRender, afterRender } = option;\r\n this.option = { ...this.option, ...option };\r\n utils.callback(beforeRender, scope);\r\n this.setState({ visible: true }, () => {\r\n utils.callback(afterRender, scope);\r\n });\r\n }\r\n\r\n //隐藏\r\n hide(option: any = {}) {\r\n let _this = this;\r\n _this.setState({ visible: false });\r\n }\r\n\r\n //获取需要返回的值\r\n getReturnValue() {\r\n return this.returnValue;\r\n }\r\n\r\n /**\r\n * 关闭带回调\r\n */\r\n close(result?: any, buttonClose = false) {\r\n var _this = this;\r\n // const { callback, scope, callbackBeforeClose } = this.option;\r\n const { formExpand = {}, onCancel, onButtonCancel, onClose } = this.props;\r\n // const r = utils.callback(callbackBeforeClose, scope, [this.returnValue]);\r\n // if (r !== false) {\r\n const { expand = false } = formExpand;\r\n if (expand && formExpand.valid && formExpand.change) {\r\n Confirm({\r\n content: \"当前记录已修改尚未保存,确定要放弃修改吗?\",\r\n onOk() {\r\n if (onCancel || onClose) {\r\n if (buttonClose && onButtonCancel) {\r\n onButtonCancel(result);\r\n } else {\r\n onCancel && onCancel(result);\r\n onClose && onClose(result);\r\n }\r\n } else {\r\n _this.setState({ visible: false });\r\n }\r\n },\r\n });\r\n } else {\r\n if (onCancel || onClose) {\r\n if (buttonClose && onButtonCancel) {\r\n onButtonCancel(result);\r\n } else {\r\n onCancel && onCancel(result);\r\n onClose && onClose(result);\r\n }\r\n } else {\r\n _this.setState({ visible: false });\r\n }\r\n }\r\n // }\r\n // utils.callback(callback, scope, [_this.returnValue]);\r\n }\r\n\r\n /**\r\n * 获取参数,如果key不传递,且获取全部\r\n * @param {String} key\r\n */\r\n getParams(key) {\r\n if (key) return this.option.params[key];\r\n return this.option.params;\r\n }\r\n onStart(_event: DraggableEvent, uiData: DraggableData) {\r\n const { clientWidth, clientHeight } = window.document.documentElement;\r\n const targetRect = this.draggleRef.current?.getBoundingClientRect();\r\n if (!targetRect) {\r\n return;\r\n }\r\n this.setState({\r\n bounds: {\r\n left: -targetRect.left + uiData.x,\r\n right: clientWidth - (targetRect.right - uiData.x),\r\n top: -targetRect.top + uiData.y,\r\n bottom: clientHeight - (targetRect.bottom - uiData.y),\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n const {\r\n type = \"modal\",\r\n closable,\r\n // title: orgtitle,\r\n okButtonProps = {},\r\n cancelButtonProps = {},\r\n formExpand = {},\r\n dragable=true,\r\n ...params\r\n } = this.props;\r\n let props: any = { ...params };\r\n let { mountElementId } = config();\r\n if (mountElementId) {\r\n props = {\r\n getContainer: () => document.getElementById(mountElementId),\r\n ...props,\r\n };\r\n }\r\n if (dragable && type == \"modal\") {\r\n props = {\r\n modalRender: (modal) => {\r\n return (\r\n <Draggable\r\n disabled={this.state.dragger}\r\n bounds={this.state.bounds}\r\n onStart={(event, uiData) => {\r\n this.onStart(event, uiData);\r\n }}\r\n >\r\n <div ref={this.draggleRef}>{modal}</div>\r\n </Draggable>\r\n );\r\n },\r\n ...props,\r\n };\r\n }\r\n\r\n const title = (\r\n <div\r\n className={cls(getLess(styles, \"nsc-modal-title\"), {\r\n [getLess(styles, \"nsc-modal-title-dragger\")]:\r\n dragable && type == \"modal\",\r\n })}\r\n onMouseOver={() => {\r\n if (this.state.dragger) {\r\n this.setState({\r\n dragger: false,\r\n });\r\n }\r\n }}\r\n onMouseOut={() => {\r\n this.setState({\r\n dragger: true,\r\n });\r\n }}\r\n >\r\n <div className={getLess(styles, \"nsc-modal-title-icons\")}>\r\n {!this.state.expand && formExpand.expand && (\r\n <div\r\n onClick={() => {\r\n this.setState({ expand: true });\r\n }}\r\n className={getLess(styles, \"nsc-modal-title-icon\")}\r\n >\r\n <ExpandOutlined />\r\n </div>\r\n )}\r\n {this.state.expand && formExpand.expand && (\r\n <div\r\n onClick={() => {\r\n this.setState({ expand: false });\r\n }}\r\n className={getLess(styles, \"nsc-modal-title-icon\")}\r\n >\r\n <CompressOutlined />\r\n </div>\r\n )}\r\n {closable !== false && (\r\n <div\r\n onClick={() => {\r\n this.close();\r\n }}\r\n className={getLess(styles, \"nsc-modal-title-icon\")}\r\n style={{ marginRight: 0 }}\r\n >\r\n <CloseOutlined />\r\n </div>\r\n )}\r\n </div>\r\n <div className={getLess(styles, \"nsc-modal-title-content\")}>\r\n {this.props.title}\r\n </div>\r\n </div>\r\n );\r\n const { modalButton } = config();\r\n const footer = (\r\n <div className={getLess(styles, \"nsc-modal-footer\")}>\r\n <Button\r\n type=\"primary\"\r\n onClick={() => {\r\n props.onOk && props.onOk();\r\n }}\r\n icon={<PlusCircleOutlined />}\r\n {...modalButton.okButtonProps}\r\n {...okButtonProps}\r\n >\r\n {this.props.okText ? this.props.okText : \"保存\"}\r\n </Button>\r\n\r\n <Button\r\n onClick={this.close.bind(this, {}, true)}\r\n className={getLess(styles, \"nsc-modal-footer-button-margin\")}\r\n icon={<CloseCircleOutlined />}\r\n {...modalButton.cancleButtonProps}\r\n {...cancelButtonProps}\r\n >\r\n {this.props.cancelText ? this.props.cancelText : \"取消\"}\r\n </Button>\r\n </div>\r\n );\r\n if (formExpand.expand) {\r\n props = {\r\n footer: footer,\r\n ...props,\r\n title: title,\r\n closable: false,\r\n style: { maxWidth: \"100vw\" },\r\n\r\n width: this.state.expand ? \"100vw\" : props.width,\r\n };\r\n } else {\r\n props = {\r\n footer: footer,\r\n ...props,\r\n title: title,\r\n closable: false,\r\n };\r\n }\r\n if (this.state.modalType == \"drawer\") {\r\n let oldProps = { ...props };\r\n let newDrawerProps = omit(oldProps, [\"onOk\", \"okButtonProps\"]);\r\n return (\r\n <Drawer\r\n open={this.state.visible}\r\n onClose={() => {\r\n this.close();\r\n }}\r\n {...newDrawerProps}\r\n />\r\n );\r\n } else {\r\n return (\r\n <Modal\r\n open={this.state.visible}\r\n onCancel={() => {\r\n this.close();\r\n }}\r\n onOk={() => {\r\n this.close();\r\n }}\r\n okText={\"确定\"}\r\n cancelText={\"取消\"}\r\n centered={true}\r\n className={\r\n this.state.expand\r\n ? getLess(styles, \"nsc-modal-allsreen\")\r\n : getLess(styles, \"nsc-modal\")\r\n }\r\n // title={formExpand ? title : this.props.title}\r\n {...props}\r\n afterClose={() => {\r\n this.setState({\r\n expand: false,\r\n });\r\n }}\r\n />\r\n );\r\n }\r\n }\r\n}\r\n"],"mappings":"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"}
@@ -18,7 +18,8 @@ const {
18
18
  upload,
19
19
  download,
20
20
  previewDocument,
21
- previewImage
21
+ previewImage,
22
+ cancleUpload
22
23
  } = file;
23
24
  const withCustomUpload = Component => {
24
25
  // 返回一个类组件
@@ -37,6 +38,7 @@ const withCustomUpload = Component => {
37
38
  _defineProperty(this, "previewUrl", {});
38
39
  _defineProperty(this, "customRequest", async options => {
39
40
  const file = options.file;
41
+ let uploadingKey = '';
40
42
  const {
41
43
  onComplete,
42
44
  onProcess,
@@ -60,7 +62,27 @@ const withCustomUpload = Component => {
60
62
  const res = await upload({
61
63
  file: file,
62
64
  onProgress: onProgress,
63
- partSize: sliceSize
65
+ partSize: sliceSize,
66
+ uploadKeyCallback: key => {
67
+ uploadingKey = key;
68
+ const {
69
+ fileList
70
+ } = this.state;
71
+ let newList = [];
72
+ fileList.map(item => {
73
+ //通过文件名判断,上传是文件名是唯一的
74
+ if (item.name !== file.name || item.fileId !== file.fileId || item.uid !== file.uid) {
75
+ newList.push(_objectSpread(_objectSpread({}, item), {}, {
76
+ uploadingKey: item.uploadingKey || uploadingKey
77
+ }));
78
+ } else {
79
+ newList.push(_objectSpread({}, item));
80
+ }
81
+ });
82
+ this.setState({
83
+ fileList: [...newList]
84
+ });
85
+ }
64
86
  }, this.props.requestConfig);
65
87
  this.uploadIngSize = this.uploadIngSize + 1;
66
88
  let fileId = null;
@@ -309,6 +331,8 @@ const withCustomUpload = Component => {
309
331
  //通过文件名判断,上传是文件名是唯一的
310
332
  if (item.name !== file.name || item.fileId !== file.fileId || item.uid !== file.uid) {
311
333
  newList.push(item);
334
+ } else {
335
+ cancleUpload(item.uploadingKey);
312
336
  }
313
337
  });
314
338
  this.setState({
@@ -440,4 +464,4 @@ const NscUpload = withCustomUpload(_Upload);
440
464
  const NscUploadDragger = withCustomUpload(_Upload.Dragger);
441
465
  NscUpload.Dragger = NscUploadDragger;
442
466
  export default NscUpload;
443
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImZpbGUiLCJtZXNzYWdlIiwib21pdCIsImdldExlc3MiLCJzdHlsZXMiLCJjbHMiLCJGaWxlSWNvbiIsIkRlbGV0ZU91dGxpbmVkIiwiRG93bmxvYWRPdXRsaW5lZCIsIkV5ZU91dGxpbmVkIiwidXBsb2FkIiwiZG93bmxvYWQiLCJwcmV2aWV3RG9jdW1lbnQiLCJwcmV2aWV3SW1hZ2UiLCJ3aXRoQ3VzdG9tVXBsb2FkIiwiQ29tcG9uZW50IiwiUHVyZUNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwiYXJndW1lbnRzIiwiX2RlZmluZVByb3BlcnR5IiwiZmlsZUxpc3QiLCJ2aWV3SWQiLCJmaWxlTGlzdFN0b3JlIiwiZmlsZU5hbWVzIiwib3B0aW9ucyIsIm9uQ29tcGxldGUiLCJvblByb2Nlc3MiLCJzbGljZVNpemUiLCJuZXdWZXJzaW9uIiwicHJvcHMiLCJvblByb2dyZXNzIiwidG90YWxQcm9ncmVzcyIsInBlcmNlbnQiLCJyZXMiLCJwYXJ0U2l6ZSIsInJlcXVlc3RDb25maWciLCJ1cGxvYWRJbmdTaXplIiwiZmlsZUlkIiwiSW1nUmVzIiwiY29kZSIsImRhdGEiLCJhdHRhY2hJZCIsIm9uU3VjY2VzcyIsImxpc3RUeXBlIiwib25FcnJvciIsInVwbG9hZEluZ0xpc3QiLCJwdXNoIiwic3RhdHVzIiwidXJsIiwiZSIsImNvbXBvbmVudERpZE1vdW50IiwiY29udmVydEZpbGVMaXN0IiwibGlzdCIsIm5ld0ZpbGVMaXN0Iiwib2xkTGlzdCIsInNldFN0YXRlIiwiaSIsImxlbmd0aCIsIml0ZW0iLCJ0ZW1wIiwiX29iamVjdFNwcmVhZCIsIm5hbWUiLCJmaWxlTmFtZSIsInR5cGUiLCJzaXplIiwiY29tcG9uZW50RGlkVXBkYXRlIiwicHJlUHJvcHMiLCJwcmVTdGF0ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGF0ZSIsImdldEZpbGVMaXN0Iiwic2V0RmlsZUxpc3QiLCJiZWZvcmVVcGxvYWQiLCJvZmlsZUxpc3QiLCJtYXhTaXplIiwiYWxsb3dGaWxlU3VmZml4IiwiY2hlY2tTYW1lRmlsZSIsIm1heENvdW50Iiwic2hvd1VwbG9hZExpc3QiLCJwcm9wc0xpc3QiLCJvbkxpc3RDaGFuZ2UiLCJjaGVja0ZpbGVUeXBlIiwiZXJyb3IiLCJjb25jYXQiLCJjaGVja0xpc3QiLCJtYXAiLCJpbmRleE9mIiwibmV3TGlzdCIsInVpZCIsInNwbGljZSIsInVwbG9hZFNpemUiLCJuYW1lcyIsInNwbGl0Iiwic3VmZml4IiwiX3JlZiIsIm5ld0ZpbGUiLCJmaWxlcyIsImluZGV4Iiwid2luZG93IiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsInByZWZpeCIsIm9uRGVsZXRlIiwicmVuZGVyIiwiZmlsZUNhcmQiLCJzaG93RG93bmxvYWRJY29uIiwic2hvd1ByZXZpZXdJY29uIiwic2hvd1JlbW92ZUljb24iLCJkb3dubG9hZEljb24iLCJyZW1vdmVJY29uIiwicHJldmlld0ljb24iLCJuZXdwcm9wcyIsImRlZmF1bHRQcm9wcyIsImN1c3RvbVJlcXVlc3QiLCJiaW5kIiwibXVsdGlwbGUiLCJpdGVtUmVuZGVyIiwib3JpZ2luTm9kZSIsImN1cnJGaWxlTGlzdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJvbkNsaWNrIiwib25QcmV2aWV3Iiwic3R5bGUiLCJjdXJzb3IiLCJvbkRvd25sb2FkIiwib25SZW1vdmUiLCJ3aWR0aCIsIkZyYWdtZW50IiwiX2V4dGVuZHMiLCJOc2NVcGxvYWQiLCJfVXBsb2FkIiwiTnNjVXBsb2FkRHJhZ2dlciIsIkRyYWdnZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9iYXNlL3VwbG9hZC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFVwbG9hZCwgVXBsb2FkUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgZmlsZSBmcm9tIFwibnNjLWZpbGVcIjtcclxuaW1wb3J0IG1lc3NhZ2UgZnJvbSBcIi4uL21lc3NhZ2VcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IHsgZ2V0TGVzcyB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgRmlsZUljb24gZnJvbSBcIi4uL2NvbW1vbi9GaWxlSWNvblwiO1xyXG5pbXBvcnQge1xyXG4gIERlbGV0ZU91dGxpbmVkLFxyXG4gIERvd25sb2FkT3V0bGluZWQsXHJcbiAgRXllT3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmNvbnN0IHsgdXBsb2FkLCBkb3dubG9hZCwgcHJldmlld0RvY3VtZW50LCBwcmV2aWV3SW1hZ2UgfSA9IGZpbGU7XHJcblxyXG5pbnRlcmZhY2UgSVVwbG9hZFByb3BzIGV4dGVuZHMgVXBsb2FkUHJvcHMge1xyXG4gIHNsaWNlU2l6ZT86IG51bWJlcjtcclxuICBtYXhTaXplPzogbnVtYmVyIHwgYm9vbGVhbjtcclxuICBvblByb2Nlc3M/OiAocHJvY2VzcykgPT4gdm9pZDtcclxuICBvbkNvbXBsZXRlPzogKHsgZmlsZSwgZmlsZUlkLCBzdGF0dXMgfSkgPT4gdm9pZDtcclxuICBhbGxvd0ZpbGVTdWZmaXg/OiBBcnJheTxTdHJpbmc+OyAvL+WFgeiuuOS4iuS8oOaJqeWxleWQjSzkuI3luKYuXHJcbiAgdXNlRGVmYXVsdExpc3Q/OiBib29sZWFuOyAvL+aYr+WQpuS9v+eUqOm7mOiupOeahGZpbGVMaXN0XHJcbiAgZmlsZUNhcmQ/OiBib29sZWFuO1xyXG4gIG9uTGlzdENoYW5nZT86IGFueTtcclxuICBjaGVja1NhbWVGaWxlPzogYm9vbGVhbjtcclxuICByZXF1ZXN0Q29uZmlnPzogYW55O1xyXG4gIG5ld1ZlcnNpb24/OiBib29sZWFuO1xyXG4gIFtwcm9wc05hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5jb25zdCB3aXRoQ3VzdG9tVXBsb2FkID0gKENvbXBvbmVudCkgPT4ge1xyXG4gIC8vIOi/lOWbnuS4gOS4quexu+e7hOS7tlxyXG4gIHJldHVybiBjbGFzcyBleHRlbmRzIFJlYWN0LlB1cmVDb21wb25lbnQ8SVVwbG9hZFByb3BzLCBhbnk+IHtcclxuICAgIHN0YXRlID0ge1xyXG4gICAgICBmaWxlTGlzdDogW10sXHJcbiAgICAgIHZpZXdJZDogXCJcIixcclxuICAgICAgZmlsZUxpc3RTdG9yZTogW10sXHJcbiAgICAgIGZpbGVOYW1lczogW10sXHJcbiAgICB9O1xyXG4gICAgdXBsb2FkSW5nU2l6ZSA9IDA7XHJcbiAgICB1cGxvYWRTaXplID0gMDtcclxuICAgIHVwbG9hZEluZ0xpc3QgPSBbXTtcclxuICAgIHByZXZpZXdVcmwgPSB7fTtcclxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgICBpZiAodGhpcy5wcm9wcy5maWxlTGlzdCkge1xyXG4gICAgICAgIHRoaXMuY29udmVydEZpbGVMaXN0KHRoaXMucHJvcHMuZmlsZUxpc3QpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb252ZXJ0RmlsZUxpc3QobGlzdD86IEFycmF5PE9iamVjdD4pIHtcclxuICAgICAgY29uc3QgeyBmaWxlTGlzdCwgbGlzdFR5cGUgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgIGNvbnN0IG5ld0ZpbGVMaXN0ID0gW107XHJcbiAgICAgIGxldCBvbGRMaXN0ID0gbGlzdCA/IGxpc3QgOiBmaWxlTGlzdDtcclxuICAgICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAgICB7XHJcbiAgICAgICAgICBmaWxlTGlzdFN0b3JlOiBbLi4uZmlsZUxpc3RdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvbGRMaXN0Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBpdGVtOiBhbnkgPSBvbGRMaXN0W2ldO1xyXG4gICAgICAgICAgICBsZXQgdGVtcCA9IHtcclxuICAgICAgICAgICAgICAuLi5pdGVtLFxyXG4gICAgICAgICAgICAgIHN0YXR1czogaXRlbS5zdGF0dXMsXHJcbiAgICAgICAgICAgICAgbmFtZTogaXRlbS5uYW1lIHx8IGl0ZW0uZmlsZU5hbWUsXHJcbiAgICAgICAgICAgICAgdHlwZTogaXRlbS50eXBlLFxyXG4gICAgICAgICAgICAgIHNpemU6IGl0ZW0uc2l6ZSxcclxuICAgICAgICAgICAgICB1cmw6IGl0ZW0udXJsLFxyXG4gICAgICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICAgICAgaWYgKGxpc3RUeXBlID09IFwicGljdHVyZS1jYXJkXCIgJiYgIWl0ZW0udXJsICYmIGl0ZW0uZmlsZUlkKSB7XHJcbiAgICAgICAgICAgICAgbGV0IHJlczogYW55ID0gYXdhaXQgcHJldmlld0ltYWdlKFxyXG4gICAgICAgICAgICAgICAgaXRlbS5maWxlSWQsXHJcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnJlcXVlc3RDb25maWdcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIGlmIChyZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgICAgICAgIHRlbXAudXJsID0gcmVzLmRhdGE7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG5ld0ZpbGVMaXN0LnB1c2godGVtcCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgZmlsZUxpc3Q6IFsuLi5uZXdGaWxlTGlzdF0sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBjb21wb25lbnREaWRVcGRhdGUocHJlUHJvcHMsIHByZVN0YXRlKSB7XHJcbiAgICAgIGlmICh0aGlzLnByb3BzLmZpbGVMaXN0KSB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5wcm9wcy5maWxlTGlzdCkgIT09XHJcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnN0YXRlLmZpbGVMaXN0U3RvcmUpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLmNvbnZlcnRGaWxlTGlzdCh0aGlzLnByb3BzLmZpbGVMaXN0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGdldEZpbGVMaXN0KCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zdGF0ZS5maWxlTGlzdDtcclxuICAgIH1cclxuICAgIHNldEZpbGVMaXN0KGZpbGVMaXN0OiBBcnJheTxPYmplY3Q+KSB7XHJcbiAgICAgIHRoaXMuY29udmVydEZpbGVMaXN0KGZpbGVMaXN0KTtcclxuICAgIH1cclxuICAgIGFzeW5jIGJlZm9yZVVwbG9hZChmaWxlLCBvZmlsZUxpc3QpIHtcclxuICAgICAgbGV0IHtcclxuICAgICAgICBtYXhTaXplID0gMTAwLFxyXG4gICAgICAgIGFsbG93RmlsZVN1ZmZpeCxcclxuICAgICAgICBjaGVja1NhbWVGaWxlID0gdHJ1ZSxcclxuICAgICAgICBtYXhDb3VudCxcclxuICAgICAgICBzaG93VXBsb2FkTGlzdCxcclxuICAgICAgICBmaWxlTGlzdDogcHJvcHNMaXN0LFxyXG4gICAgICAgIG9uTGlzdENoYW5nZSxcclxuICAgICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgIGxldCB7IGZpbGVMaXN0LCBmaWxlTGlzdFN0b3JlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICBsZXQgc2l6ZTogbnVtYmVyO1xyXG4gICAgICBpZiAoYWxsb3dGaWxlU3VmZml4ICYmICF0aGlzLmNoZWNrRmlsZVR5cGUoZmlsZSkpIHtcclxuICAgICAgICBtZXNzYWdlLmVycm9yKFxyXG4gICAgICAgICAgYCR7ZmlsZS5uYW1lfeaWh+S7tuexu+Wei+S4jeWFgeiuuOS4iuS8oO+8jOivt+S4iuS8oOWQjue8gOS4uiR7YWxsb3dGaWxlU3VmZml4feeahOexu+Wei+aWh+S7tu+8gWBcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAobWF4U2l6ZSAhPT0gZmFsc2UpIHtcclxuICAgICAgICBpZiAobWF4U2l6ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgbWF4U2l6ZSA9IDEwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2l6ZSA9IG1heFNpemUgKiAxMDI0ICogMTAyNDtcclxuICAgICAgICBpZiAoc2l6ZSA8IGZpbGUuc2l6ZSkge1xyXG4gICAgICAgICAgbWVzc2FnZS5lcnJvcihgJHtmaWxlLm5hbWV95paH5Lu25aSn5bCP6LaF6L+HJHttYXhTaXplfU3vvIzor7fph43mlrDkuIrkvKDvvIFgKTtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgbGV0IGZpbGVOYW1lcyA9IFtdO1xyXG4gICAgICBpZiAoY2hlY2tTYW1lRmlsZSkge1xyXG4gICAgICAgIGNvbnN0IGNoZWNrTGlzdCA9IHRoaXMucHJvcHMuZmlsZUxpc3QgPyBmaWxlTGlzdFN0b3JlIDogZmlsZUxpc3Q7XHJcbiAgICAgICAgY2hlY2tMaXN0Lm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgZmlsZU5hbWVzLnB1c2goaXRlbS5uYW1lIHx8IGl0ZW0uZmlsZU5hbWUpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAoZmlsZU5hbWVzLmluZGV4T2YoZmlsZS5uYW1lKSA+IC0xICYmIHNob3dVcGxvYWRMaXN0ICE9PSBmYWxzZSkge1xyXG4gICAgICAgICAgbWVzc2FnZS5lcnJvcihg5paH5Lu2JHtmaWxlLm5hbWV95bey5Zyo5LiK5Lyg5YiX6KGo5Lit77yM6K+36YeN5paw6YCJ5oup5paH5Lu277yBYCk7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy5wcm9wcy5iZWZvcmVVcGxvYWQpIHtcclxuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnByb3BzLmJlZm9yZVVwbG9hZChmaWxlLCBvZmlsZUxpc3QpO1xyXG4gICAgICAgIGlmIChyZXMgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG5ld0xpc3QgPSBbLi4uZmlsZUxpc3RdO1xyXG4gICAgICBvZmlsZUxpc3QubWFwKGFzeW5jIChpdGVtKSA9PiB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgIShcclxuICAgICAgICAgICAgKGFsbG93RmlsZVN1ZmZpeCAmJiAhdGhpcy5jaGVja0ZpbGVUeXBlKGl0ZW0pKSB8fFxyXG4gICAgICAgICAgICBzaXplIDwgaXRlbS5zaXplIHx8XHJcbiAgICAgICAgICAgIChjaGVja1NhbWVGaWxlICYmIGZpbGVOYW1lcy5pbmRleE9mKGl0ZW0ubmFtZSkgPiAtMSlcclxuICAgICAgICAgIClcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGNvbnN0IHRlbXAgPSB7XHJcbiAgICAgICAgICAgIGZpbGVOYW1lOiBpdGVtLm5hbWUsXHJcbiAgICAgICAgICAgIHBlcmNlbnQ6IDAsXHJcbiAgICAgICAgICAgIHN0YXR1czogXCJ1cGxvYWRpbmdcIixcclxuICAgICAgICAgICAgdWlkOiBpdGVtLnVpZCxcclxuICAgICAgICAgICAgbmFtZTogaXRlbS5uYW1lLFxyXG4gICAgICAgICAgICB0eXBlOiBpdGVtLnR5cGUsXHJcbiAgICAgICAgICAgIHNpemU6IGl0ZW0uc2l6ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICBuZXdMaXN0LnB1c2godGVtcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGlmIChtYXhDb3VudCAmJiBuZXdMaXN0Lmxlbmd0aCA+IG1heENvdW50KSB7XHJcbiAgICAgICAgbGV0IGxlbmd0aCA9IG5ld0xpc3QubGVuZ3RoIC0gbWF4Q291bnQ7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgbmV3TGlzdC5zcGxpY2UoMCwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBmaWxlTGlzdDogbmV3TGlzdCB9LCgpPT57XHJcbiAgICAgICAgb25MaXN0Q2hhbmdlICYmIG9uTGlzdENoYW5nZShuZXdMaXN0KTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMudXBsb2FkU2l6ZSA9IG9maWxlTGlzdC5sZW5ndGg7XHJcbiAgICB9XHJcbiAgICBjaGVja0ZpbGVUeXBlKGZpbGUpIHtcclxuICAgICAgY29uc3QgeyBhbGxvd0ZpbGVTdWZmaXggfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgIGNvbnN0IG5hbWVzID0gZmlsZS5uYW1lLnNwbGl0KFwiLlwiKTtcclxuICAgICAgY29uc3Qgc3VmZml4ID0gbmFtZXNbbmFtZXMubGVuZ3RoIC0gMV07XHJcbiAgICAgIGlmIChhbGxvd0ZpbGVTdWZmaXguaW5kZXhPZihzdWZmaXgpID4gLTEpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBvblByb2Nlc3MoeyBwZXJjZW50LCBmaWxlIH06IGFueSkge1xyXG4gICAgICBjb25zdCB7IGZpbGVMaXN0IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICBjb25zdCB7IG9uTGlzdENoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgY29uc3QgbmV3TGlzdDogYW55ID0gW107XHJcbiAgICAgIGZpbGVMaXN0Lm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3RmlsZSA9IHsgLi4uaXRlbSB9O1xyXG4gICAgICAgIGlmIChmaWxlLnVpZCA9PSBpdGVtLnVpZCkge1xyXG4gICAgICAgICAgbmV3RmlsZS5wZXJjZW50ID0gcGVyY2VudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgbmV3TGlzdC5wdXNoKG5ld0ZpbGUpO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZmlsZUxpc3Q6IG5ld0xpc3QsXHJcbiAgICAgIH0sKCk9PntcclxuICAgICAgICBvbkxpc3RDaGFuZ2UgJiYgb25MaXN0Q2hhbmdlKGZpbGVMaXN0KTtcclxuICAgICAgfSk7XHJcbiAgIFxyXG4gICAgfVxyXG4gICAgYXN5bmMgb25Db21wbGV0ZShmaWxlcykge1xyXG4gICAgICB0aGlzLnVwbG9hZEluZ1NpemUgPSAwO1xyXG4gICAgICB0aGlzLnVwbG9hZFNpemUgPSAwO1xyXG4gICAgICB0aGlzLnVwbG9hZEluZ0xpc3QgPSBbXTtcclxuICAgICAgY29uc3QgeyBmaWxlTGlzdCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgICAgY29uc3QgeyBuZXdWZXJzaW9uID0gdHJ1ZSwgcmVxdWVzdENvbmZpZyA9IHt9IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICBjb25zdCBuZXdMaXN0OiBhbnkgPSBbXTtcclxuICAgICAgZmlsZUxpc3QubWFwKGFzeW5jIChpdGVtOiBhbnksIGluZGV4KSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3RmlsZSA9IHsgLi4uaXRlbSB9O1xyXG4gICAgICAgIGZpbGVzLm1hcChhc3luYyAoZmlsZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGZpbGUuZmlsZS51aWQgPT0gaXRlbS51aWQpIHtcclxuICAgICAgICAgICAgbmV3RmlsZS5zdGF0dXMgPSBmaWxlLnN0YXR1cyA9PSBcInN1Y2Nlc3NcIiA/IFwiZG9uZVwiIDogZmlsZS5zdGF0dXM7XHJcbiAgICAgICAgICAgIG5ld0ZpbGUuZmlsZUlkID0gZmlsZS5maWxlSWQ7XHJcbiAgICAgICAgICAgIG5ld0ZpbGUudXJsID0gZmlsZS51cmw7XHJcbiAgICAgICAgICAgIGlmICghbmV3VmVyc2lvbikge1xyXG4gICAgICAgICAgICAgIGxldCB1cmwgPSBgL2pxdWljay1yZXNvdXJjZS9vc3MvZW5kcG9pbnQvZG93bmxvYWQtZmlsZXM/YXR0YWNoSWQ9JHtcclxuICAgICAgICAgICAgICAgIGZpbGUuZmlsZUlkXHJcbiAgICAgICAgICAgICAgfSZfdHBrPSR7d2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidG9rZW5cIil9YDtcclxuICAgICAgICAgICAgICBuZXdGaWxlLnVybCA9IHJlcXVlc3RDb25maWcucHJlZml4XHJcbiAgICAgICAgICAgICAgICA/IHJlcXVlc3RDb25maWcucHJlZml4ICsgdXJsXHJcbiAgICAgICAgICAgICAgICA6IFwiL2FwaVwiICsgdXJsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgbmV3TGlzdC5wdXNoKG5ld0ZpbGUpO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZmlsZUxpc3Q6IFsuLi5uZXdMaXN0XSxcclxuICAgICAgfSwoKT0+e1xyXG4gICAgICAgIGNvbnN0IHsgb25MaXN0Q2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UobmV3TGlzdCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgY3VzdG9tUmVxdWVzdCA9IGFzeW5jIChvcHRpb25zKSA9PiB7XHJcbiAgICAgIGNvbnN0IGZpbGUgPSBvcHRpb25zLmZpbGU7XHJcbiAgICAgIGNvbnN0IHtcclxuICAgICAgICBvbkNvbXBsZXRlLFxyXG4gICAgICAgIG9uUHJvY2VzcyxcclxuICAgICAgICBzbGljZVNpemUsXHJcbiAgICAgICAgbmV3VmVyc2lvbiA9IHRydWUsXHJcbiAgICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICBjb25zdCBvblByb2dyZXNzID0gKHRvdGFsUHJvZ3Jlc3M6IGFueSkgPT4ge1xyXG4gICAgICAgIG9wdGlvbnMub25Qcm9ncmVzcyh7IHBlcmNlbnQ6IHRvdGFsUHJvZ3Jlc3MgfSwgZmlsZSk7XHJcbiAgICAgICAgdGhpcy5vblByb2Nlc3MoeyBwZXJjZW50OiB0b3RhbFByb2dyZXNzLCBmaWxlOiBmaWxlIH0pO1xyXG4gICAgICAgIG9uUHJvY2VzcyAmJiBvblByb2Nlc3MoeyBwZXJjZW50OiB0b3RhbFByb2dyZXNzLCBmaWxlOiBmaWxlIH0pO1xyXG4gICAgICB9O1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IHJlczogYW55ID0gYXdhaXQgdXBsb2FkKFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBmaWxlOiBmaWxlLFxyXG4gICAgICAgICAgICBvblByb2dyZXNzOiBvblByb2dyZXNzLFxyXG4gICAgICAgICAgICBwYXJ0U2l6ZTogc2xpY2VTaXplLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHRoaXMucHJvcHMucmVxdWVzdENvbmZpZ1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy51cGxvYWRJbmdTaXplID0gdGhpcy51cGxvYWRJbmdTaXplICsgMTtcclxuICAgICAgICBsZXQgZmlsZUlkID0gbnVsbDtcclxuICAgICAgICBsZXQgSW1nUmVzID0gbnVsbDtcclxuICAgICAgICBpZiAocmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICBmaWxlSWQgPSByZXMuZGF0YS5hdHRhY2hJZDtcclxuICAgICAgICAgIG9wdGlvbnMub25TdWNjZXNzKCk7XHJcbiAgICAgICAgICBpZiAodGhpcy5wcm9wcy5saXN0VHlwZSA9PSBcInBpY3R1cmUtY2FyZFwiICYmIG5ld1ZlcnNpb24pIHtcclxuICAgICAgICAgICAgSW1nUmVzID0gYXdhaXQgcHJldmlld0ltYWdlKGZpbGVJZCwgdGhpcy5wcm9wcy5yZXF1ZXN0Q29uZmlnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb3B0aW9ucy5vbkVycm9yKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudXBsb2FkSW5nTGlzdC5wdXNoKHtcclxuICAgICAgICAgIGZpbGU6IG9wdGlvbnMuZmlsZSxcclxuICAgICAgICAgIGZpbGVJZDogZmlsZUlkLFxyXG4gICAgICAgICAgc3RhdHVzOiByZXMuY29kZSA9PSAyMDAgPyBcInN1Y2Nlc3NcIiA6IFwiZXJyb3JcIixcclxuICAgICAgICAgIHVybDogSW1nUmVzID8gSW1nUmVzLmRhdGEgOiBudWxsLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC8vIGlmICh0aGlzLnVwbG9hZFNpemUgPT0gdGhpcy51cGxvYWRJbmdTaXplKSB7XHJcbiAgICAgICAgICB0aGlzLm9uQ29tcGxldGUodGhpcy51cGxvYWRJbmdMaXN0KTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgb25Db21wbGV0ZSAmJlxyXG4gICAgICAgICAgb25Db21wbGV0ZSh7XHJcbiAgICAgICAgICAgIGZpbGU6IG9wdGlvbnMuZmlsZSxcclxuICAgICAgICAgICAgZmlsZUlkOiBmaWxlSWQsXHJcbiAgICAgICAgICAgIHN0YXR1czogcmVzLmNvZGUgPT0gMjAwID8gXCJzdWNjZXNzXCIgOiBcImVycm9yXCIsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgIC8vIGlmICh0aGlzLnVwbG9hZFNpemUgPT0gdGhpcy51cGxvYWRJbmdTaXplKSB7XHJcbiAgICAgICAgICB0aGlzLm9uQ29tcGxldGUodGhpcy51cGxvYWRJbmdMaXN0KTtcclxuICAgICAgICAgIG9wdGlvbnMub25FcnJvcigpO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBvbkNvbXBsZXRlICYmXHJcbiAgICAgICAgICBvbkNvbXBsZXRlKHsgZmlsZTogb3B0aW9ucy5maWxlLCBmaWxlSWQ6IFwiXCIsIHN0YXR1czogXCJlcnJvclwiIH0pO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgb25EZWxldGUoZmlsZSkge1xyXG4gICAgICBjb25zdCB7IGZpbGVMaXN0IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICBjb25zdCB7IG9uTGlzdENoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgY29uc3QgbmV3TGlzdDogYW55ID0gW107XHJcbiAgICAgIGZpbGVMaXN0Lm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgLy/pgJrov4fmlofku7blkI3liKTmlq3vvIzkuIrkvKDmmK/mlofku7blkI3mmK/llK/kuIDnmoRcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBpdGVtLm5hbWUgIT09IGZpbGUubmFtZSB8fFxyXG4gICAgICAgICAgaXRlbS5maWxlSWQgIT09IGZpbGUuZmlsZUlkIHx8XHJcbiAgICAgICAgICBpdGVtLnVpZCAhPT0gZmlsZS51aWRcclxuICAgICAgICApIHtcclxuICAgICAgICAgIG5ld0xpc3QucHVzaChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBmaWxlTGlzdDogbmV3TGlzdCxcclxuICAgICAgfSwoKT0+e1xyXG4gICAgICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UobmV3TGlzdCk7XHJcbiAgICAgIH0pO1xyXG4gICAgIFxyXG4gICAgfVxyXG4gICAgcmVuZGVyKCk6IFJlYWN0LlJlYWN0Tm9kZSB7XHJcbiAgICAgIGxldCB7XHJcbiAgICAgICAgZmlsZUxpc3QsXHJcbiAgICAgICAgZmlsZUNhcmQsXHJcbiAgICAgICAgc2hvd1VwbG9hZExpc3QgPSB7XHJcbiAgICAgICAgICBzaG93RG93bmxvYWRJY29uOiB0cnVlLFxyXG4gICAgICAgICAgc2hvd1ByZXZpZXdJY29uOiBmYWxzZSxcclxuICAgICAgICAgIHNob3dSZW1vdmVJY29uOiB0cnVlLFxyXG4gICAgICAgICAgZG93bmxvYWRJY29uOiBudWxsLFxyXG4gICAgICAgICAgcmVtb3ZlSWNvbjogbnVsbCxcclxuICAgICAgICAgIHByZXZpZXdJY29uOiBudWxsLFxyXG4gICAgICAgIH0gYXMgYW55LFxyXG4gICAgICAgIHJlcXVlc3RDb25maWcgPSB7fSxcclxuICAgICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgIGNvbnN0IG5ld3Byb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXHJcbiAgICAgICAgXCJzbGljZVNpemVcIixcclxuICAgICAgICBcIm1heFNpemVcIixcclxuICAgICAgICBcIm9uQ29tcGxldGVcIixcclxuICAgICAgICBcIm9uUHJvY2Vzc1wiLFxyXG4gICAgICAgIFwiYWxsb3dGaWxlU3VmZml4XCIsXHJcbiAgICAgICAgXCJ1c2VEZWZhdWx0TGlzdFwiLFxyXG4gICAgICAgIFwiZmlsZUNhcmRcIixcclxuICAgICAgICBcIm9uTGlzdENoYW5nZVwiLFxyXG4gICAgICAgIFwibmV3VmVyc2lvblwiLFxyXG4gICAgICAgIFwicmVxdWVzdENvbmZpZ1wiLFxyXG4gICAgICBdKTtcclxuICAgICAgbGV0IGRlZmF1bHRQcm9wcyA9IHtcclxuICAgICAgICBjdXN0b21SZXF1ZXN0OiB0aGlzLmN1c3RvbVJlcXVlc3QuYmluZCh0aGlzKSxcclxuICAgICAgICBtdWx0aXBsZTogdHJ1ZSxcclxuICAgICAgfSBhcyBJVXBsb2FkUHJvcHM7XHJcbiAgICAgIGlmIChmaWxlQ2FyZCkge1xyXG4gICAgICAgIGRlZmF1bHRQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLmRlZmF1bHRQcm9wcyxcclxuICAgICAgICAgIGl0ZW1SZW5kZXI6IChvcmlnaW5Ob2RlLCBmaWxlOiBhbnksIGN1cnJGaWxlTGlzdCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBuYW1lID0gZmlsZS5uYW1lIHx8IGZpbGUuZmlsZU5hbWU7XHJcbiAgICAgICAgICAgIGNvbnN0IG5hbWVzID0gbmFtZT8uc3BsaXQoXCIuXCIpO1xyXG4gICAgICAgICAgICBjb25zdCBzdWZmaXggPSBuYW1lcyA/IG5hbWVzW25hbWVzLmxlbmd0aCAtIDFdIDogXCJcIjtcclxuICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZmlsZS1pdGVtXCIpfT5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHMoZ2V0TGVzcyhzdHlsZXMsIFwiY29udGVudFwiKSwge1xyXG4gICAgICAgICAgICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJjb250ZW50X2Vycm9yXCIpXTogZmlsZS5zdGF0dXMgPT0gXCJlcnJvclwiLFxyXG4gICAgICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm1hcmstcGljdHVyZVwiKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgPEZpbGVJY29uIHN1ZmZpeD17c3VmZml4fSBmaWxlSWQ9e2ZpbGUuZmlsZUlkfSAvPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5hbWVcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgIHtmaWxlLm5hbWUgfHwgZmlsZS5maWxlTmFtZX1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfT5cclxuICAgICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3Quc2hvd1ByZXZpZXdJY29uICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICBmaWxlLnN0YXR1cyA9PSBcImRvbmVcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblByZXZpZXcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vblByZXZpZXcoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2aWV3RG9jdW1lbnQoZmlsZS5maWxlSWQsIHJlcXVlc3RDb25maWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgY3Vyc29yOiBcInBvaW50ZXJcIiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvbiA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RXllT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LnNob3dEb3dubG9hZEljb24gJiZcclxuICAgICAgICAgICAgICAgICAgICAgIGZpbGUuc3RhdHVzID09IFwiZG9uZVwiICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uRG93bmxvYWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vbkRvd25sb2FkKGZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG93bmxvYWQoZmlsZS5maWxlSWQsIHRydWUsIHJlcXVlc3RDb25maWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgY3Vyc29yOiBcInBvaW50ZXJcIiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvbiA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RG93bmxvYWRPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3Quc2hvd1JlbW92ZUljb24gJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMub25SZW1vdmUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMub25SZW1vdmUoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25EZWxldGUoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjdXJzb3I6IFwicG9pbnRlclwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb24gPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPERlbGV0ZU91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAge2ZpbGUuc3RhdHVzID09IFwidXBsb2FkaW5nXCIgJiYgKFxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwicHJvY2Vzc1wiKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJwZXJjZW50XCIpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IGZpbGUucGVyY2VudCArIFwiJVwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZGVmYXVsdFByb3BzID0ge1xyXG4gICAgICAgICAgLi4uZGVmYXVsdFByb3BzLFxyXG4gICAgICAgICAgb25Eb3dubG9hZDogKGZpbGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vbkRvd25sb2FkKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vbkRvd25sb2FkKGZpbGUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGRvd25sb2FkKGZpbGUuZmlsZUlkLCB0cnVlLCByZXF1ZXN0Q29uZmlnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIG9uUmVtb3ZlOiAoZmlsZSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblJlbW92ZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMucHJvcHMub25SZW1vdmUoZmlsZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5vbkRlbGV0ZShmaWxlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIG9uUHJldmlldzogKGZpbGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblByZXZpZXcpIHtcclxuICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uUHJldmlldyhmaWxlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBpZiAoZmlsZT8uZmlsZUlkKSB7XHJcbiAgICAgICAgICAgICAgICBwcmV2aWV3RG9jdW1lbnQoZmlsZS5maWxlSWQsIHJlcXVlc3RDb25maWcpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHNob3dVcGxvYWRMaXN0OiB7IC4uLnNob3dVcGxvYWRMaXN0IH0sXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDw+XHJcbiAgICAgICAgICA8Q29tcG9uZW50XHJcbiAgICAgICAgICAgIHsuLi5kZWZhdWx0UHJvcHN9XHJcbiAgICAgICAgICAgIHsuLi5uZXdwcm9wc31cclxuICAgICAgICAgICAgYmVmb3JlVXBsb2FkPXt0aGlzLmJlZm9yZVVwbG9hZC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBmaWxlTGlzdD17dGhpcy5zdGF0ZS5maWxlTGlzdH1cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC8+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfTtcclxufTtcclxuXHJcbmNvbnN0IE5zY1VwbG9hZDogYW55ID0gd2l0aEN1c3RvbVVwbG9hZChVcGxvYWQpO1xyXG4vLyAvLyDkvb/nlKggd2l0aEN1c3RvbVVwbG9hZCDlsIHoo4UgVXBsb2FkLkRyYWdnZXIg57uE5Lu2XHJcbmNvbnN0IE5zY1VwbG9hZERyYWdnZXIgPSB3aXRoQ3VzdG9tVXBsb2FkKFVwbG9hZC5EcmFnZ2VyKTtcclxuTnNjVXBsb2FkLkRyYWdnZXIgPSBOc2NVcGxvYWREcmFnZ2VyO1xyXG5leHBvcnQgZGVmYXVsdCBOc2NVcGxvYWQ7XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLE9BQU8sS0FBS0EsS0FBSyxNQUFNLE9BQU87QUFFOUIsT0FBT0MsSUFBSSxNQUFNLFVBQVU7QUFDM0IsT0FBT0MsT0FBTyxNQUFNLFlBQVk7QUFDaEMsT0FBT0MsSUFBSSxNQUFNLFNBQVM7QUFDMUIsU0FBU0MsT0FBTyxRQUFRLGFBQWE7QUFDckMsT0FBT0MsTUFBTSxNQUFNLGNBQWM7QUFDakMsT0FBT0MsR0FBRyxNQUFNLFlBQVk7QUFDNUIsT0FBT0MsUUFBUSxNQUFN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
467
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImZpbGUiLCJtZXNzYWdlIiwib21pdCIsImdldExlc3MiLCJzdHlsZXMiLCJjbHMiLCJGaWxlSWNvbiIsIkRlbGV0ZU91dGxpbmVkIiwiRG93bmxvYWRPdXRsaW5lZCIsIkV5ZU91dGxpbmVkIiwidXBsb2FkIiwiZG93bmxvYWQiLCJwcmV2aWV3RG9jdW1lbnQiLCJwcmV2aWV3SW1hZ2UiLCJjYW5jbGVVcGxvYWQiLCJ3aXRoQ3VzdG9tVXBsb2FkIiwiQ29tcG9uZW50IiwiUHVyZUNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwiYXJndW1lbnRzIiwiX2RlZmluZVByb3BlcnR5IiwiZmlsZUxpc3QiLCJ2aWV3SWQiLCJmaWxlTGlzdFN0b3JlIiwiZmlsZU5hbWVzIiwib3B0aW9ucyIsInVwbG9hZGluZ0tleSIsIm9uQ29tcGxldGUiLCJvblByb2Nlc3MiLCJzbGljZVNpemUiLCJuZXdWZXJzaW9uIiwicHJvcHMiLCJvblByb2dyZXNzIiwidG90YWxQcm9ncmVzcyIsInBlcmNlbnQiLCJyZXMiLCJwYXJ0U2l6ZSIsInVwbG9hZEtleUNhbGxiYWNrIiwia2V5Iiwic3RhdGUiLCJuZXdMaXN0IiwibWFwIiwiaXRlbSIsIm5hbWUiLCJmaWxlSWQiLCJ1aWQiLCJwdXNoIiwiX29iamVjdFNwcmVhZCIsInNldFN0YXRlIiwicmVxdWVzdENvbmZpZyIsInVwbG9hZEluZ1NpemUiLCJJbWdSZXMiLCJjb2RlIiwiZGF0YSIsImF0dGFjaElkIiwib25TdWNjZXNzIiwibGlzdFR5cGUiLCJvbkVycm9yIiwidXBsb2FkSW5nTGlzdCIsInN0YXR1cyIsInVybCIsImUiLCJjb21wb25lbnREaWRNb3VudCIsImNvbnZlcnRGaWxlTGlzdCIsImxpc3QiLCJuZXdGaWxlTGlzdCIsIm9sZExpc3QiLCJpIiwibGVuZ3RoIiwidGVtcCIsImZpbGVOYW1lIiwidHlwZSIsInNpemUiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmVQcm9wcyIsInByZVN0YXRlIiwiSlNPTiIsInN0cmluZ2lmeSIsImdldEZpbGVMaXN0Iiwic2V0RmlsZUxpc3QiLCJiZWZvcmVVcGxvYWQiLCJvZmlsZUxpc3QiLCJtYXhTaXplIiwiYWxsb3dGaWxlU3VmZml4IiwiY2hlY2tTYW1lRmlsZSIsIm1heENvdW50Iiwic2hvd1VwbG9hZExpc3QiLCJwcm9wc0xpc3QiLCJvbkxpc3RDaGFuZ2UiLCJjaGVja0ZpbGVUeXBlIiwiZXJyb3IiLCJjb25jYXQiLCJjaGVja0xpc3QiLCJpbmRleE9mIiwic3BsaWNlIiwidXBsb2FkU2l6ZSIsIm5hbWVzIiwic3BsaXQiLCJzdWZmaXgiLCJfcmVmIiwibmV3RmlsZSIsImZpbGVzIiwiaW5kZXgiLCJ3aW5kb3ciLCJsb2NhbFN0b3JhZ2UiLCJnZXRJdGVtIiwicHJlZml4Iiwib25EZWxldGUiLCJyZW5kZXIiLCJmaWxlQ2FyZCIsInNob3dEb3dubG9hZEljb24iLCJzaG93UHJldmlld0ljb24iLCJzaG93UmVtb3ZlSWNvbiIsImRvd25sb2FkSWNvbiIsInJlbW92ZUljb24iLCJwcmV2aWV3SWNvbiIsIm5ld3Byb3BzIiwiZGVmYXVsdFByb3BzIiwiY3VzdG9tUmVxdWVzdCIsImJpbmQiLCJtdWx0aXBsZSIsIml0ZW1SZW5kZXIiLCJvcmlnaW5Ob2RlIiwiY3VyckZpbGVMaXN0IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsIm9uQ2xpY2siLCJvblByZXZpZXciLCJzdHlsZSIsImN1cnNvciIsIm9uRG93bmxvYWQiLCJvblJlbW92ZSIsIndpZHRoIiwiRnJhZ21lbnQiLCJfZXh0ZW5kcyIsIk5zY1VwbG9hZCIsIl9VcGxvYWQiLCJOc2NVcGxvYWREcmFnZ2VyIiwiRHJhZ2dlciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdXBsb2FkL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgVXBsb2FkLCBVcGxvYWRQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBmaWxlIGZyb20gXCJuc2MtZmlsZVwiO1xyXG5pbXBvcnQgbWVzc2FnZSBmcm9tIFwiLi4vbWVzc2FnZVwiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgeyBnZXRMZXNzIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcbmltcG9ydCBGaWxlSWNvbiBmcm9tIFwiLi4vY29tbW9uL0ZpbGVJY29uXCI7XHJcbmltcG9ydCB7XHJcbiAgRGVsZXRlT3V0bGluZWQsXHJcbiAgRG93bmxvYWRPdXRsaW5lZCxcclxuICBFeWVPdXRsaW5lZCxcclxufSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuY29uc3QgeyB1cGxvYWQsIGRvd25sb2FkLCBwcmV2aWV3RG9jdW1lbnQsIHByZXZpZXdJbWFnZSxjYW5jbGVVcGxvYWQgfSA9IGZpbGU7XHJcblxyXG5pbnRlcmZhY2UgSVVwbG9hZFByb3BzIGV4dGVuZHMgVXBsb2FkUHJvcHMge1xyXG4gIHNsaWNlU2l6ZT86IG51bWJlcjtcclxuICBtYXhTaXplPzogbnVtYmVyIHwgYm9vbGVhbjtcclxuICBvblByb2Nlc3M/OiAocHJvY2VzcykgPT4gdm9pZDtcclxuICBvbkNvbXBsZXRlPzogKHsgZmlsZSwgZmlsZUlkLCBzdGF0dXMgfSkgPT4gdm9pZDtcclxuICBhbGxvd0ZpbGVTdWZmaXg/OiBBcnJheTxTdHJpbmc+OyAvL+WFgeiuuOS4iuS8oOaJqeWxleWQjSzkuI3luKYuXHJcbiAgdXNlRGVmYXVsdExpc3Q/OiBib29sZWFuOyAvL+aYr+WQpuS9v+eUqOm7mOiupOeahGZpbGVMaXN0XHJcbiAgZmlsZUNhcmQ/OiBib29sZWFuO1xyXG4gIG9uTGlzdENoYW5nZT86IGFueTtcclxuICBjaGVja1NhbWVGaWxlPzogYm9vbGVhbjtcclxuICByZXF1ZXN0Q29uZmlnPzogYW55O1xyXG4gIG5ld1ZlcnNpb24/OiBib29sZWFuO1xyXG4gIFtwcm9wc05hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5jb25zdCB3aXRoQ3VzdG9tVXBsb2FkID0gKENvbXBvbmVudCkgPT4ge1xyXG4gIC8vIOi/lOWbnuS4gOS4quexu+e7hOS7tlxyXG4gIHJldHVybiBjbGFzcyBleHRlbmRzIFJlYWN0LlB1cmVDb21wb25lbnQ8SVVwbG9hZFByb3BzLCBhbnk+IHtcclxuICAgIHN0YXRlID0ge1xyXG4gICAgICBmaWxlTGlzdDogW10sXHJcbiAgICAgIHZpZXdJZDogXCJcIixcclxuICAgICAgZmlsZUxpc3RTdG9yZTogW10sXHJcbiAgICAgIGZpbGVOYW1lczogW10sXHJcbiAgICB9O1xyXG4gICAgdXBsb2FkSW5nU2l6ZSA9IDA7XHJcbiAgICB1cGxvYWRTaXplID0gMDtcclxuICAgIHVwbG9hZEluZ0xpc3QgPSBbXTtcclxuICAgIHByZXZpZXdVcmwgPSB7fTtcclxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgICBpZiAodGhpcy5wcm9wcy5maWxlTGlzdCkge1xyXG4gICAgICAgIHRoaXMuY29udmVydEZpbGVMaXN0KHRoaXMucHJvcHMuZmlsZUxpc3QpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb252ZXJ0RmlsZUxpc3QobGlzdD86IEFycmF5PE9iamVjdD4pIHtcclxuICAgICAgY29uc3QgeyBmaWxlTGlzdCwgbGlzdFR5cGUgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgIGNvbnN0IG5ld0ZpbGVMaXN0ID0gW107XHJcbiAgICAgIGxldCBvbGRMaXN0ID0gbGlzdCA/IGxpc3QgOiBmaWxlTGlzdDtcclxuICAgICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAgICB7XHJcbiAgICAgICAgICBmaWxlTGlzdFN0b3JlOiBbLi4uZmlsZUxpc3RdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvbGRMaXN0Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBpdGVtOiBhbnkgPSBvbGRMaXN0W2ldO1xyXG4gICAgICAgICAgICBsZXQgdGVtcCA9IHtcclxuICAgICAgICAgICAgICAuLi5pdGVtLFxyXG4gICAgICAgICAgICAgIHN0YXR1czogaXRlbS5zdGF0dXMsXHJcbiAgICAgICAgICAgICAgbmFtZTogaXRlbS5uYW1lIHx8IGl0ZW0uZmlsZU5hbWUsXHJcbiAgICAgICAgICAgICAgdHlwZTogaXRlbS50eXBlLFxyXG4gICAgICAgICAgICAgIHNpemU6IGl0ZW0uc2l6ZSxcclxuICAgICAgICAgICAgICB1cmw6IGl0ZW0udXJsLFxyXG4gICAgICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICAgICAgaWYgKGxpc3RUeXBlID09IFwicGljdHVyZS1jYXJkXCIgJiYgIWl0ZW0udXJsICYmIGl0ZW0uZmlsZUlkKSB7XHJcbiAgICAgICAgICAgICAgbGV0IHJlczogYW55ID0gYXdhaXQgcHJldmlld0ltYWdlKFxyXG4gICAgICAgICAgICAgICAgaXRlbS5maWxlSWQsXHJcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnJlcXVlc3RDb25maWdcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIGlmIChyZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgICAgICAgIHRlbXAudXJsID0gcmVzLmRhdGE7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG5ld0ZpbGVMaXN0LnB1c2godGVtcCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgZmlsZUxpc3Q6IFsuLi5uZXdGaWxlTGlzdF0sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBjb21wb25lbnREaWRVcGRhdGUocHJlUHJvcHMsIHByZVN0YXRlKSB7XHJcbiAgICAgIGlmICh0aGlzLnByb3BzLmZpbGVMaXN0KSB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5wcm9wcy5maWxlTGlzdCkgIT09XHJcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnN0YXRlLmZpbGVMaXN0U3RvcmUpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLmNvbnZlcnRGaWxlTGlzdCh0aGlzLnByb3BzLmZpbGVMaXN0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGdldEZpbGVMaXN0KCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zdGF0ZS5maWxlTGlzdDtcclxuICAgIH1cclxuICAgIHNldEZpbGVMaXN0KGZpbGVMaXN0OiBBcnJheTxPYmplY3Q+KSB7XHJcbiAgICAgIHRoaXMuY29udmVydEZpbGVMaXN0KGZpbGVMaXN0KTtcclxuICAgIH1cclxuICAgIGFzeW5jIGJlZm9yZVVwbG9hZChmaWxlLCBvZmlsZUxpc3QpIHtcclxuICAgICAgbGV0IHtcclxuICAgICAgICBtYXhTaXplID0gMTAwLFxyXG4gICAgICAgIGFsbG93RmlsZVN1ZmZpeCxcclxuICAgICAgICBjaGVja1NhbWVGaWxlID0gdHJ1ZSxcclxuICAgICAgICBtYXhDb3VudCxcclxuICAgICAgICBzaG93VXBsb2FkTGlzdCxcclxuICAgICAgICBmaWxlTGlzdDogcHJvcHNMaXN0LFxyXG4gICAgICAgIG9uTGlzdENoYW5nZSxcclxuICAgICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgIGxldCB7IGZpbGVMaXN0LCBmaWxlTGlzdFN0b3JlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICBsZXQgc2l6ZTogbnVtYmVyO1xyXG4gICAgICBpZiAoYWxsb3dGaWxlU3VmZml4ICYmICF0aGlzLmNoZWNrRmlsZVR5cGUoZmlsZSkpIHtcclxuICAgICAgICBtZXNzYWdlLmVycm9yKFxyXG4gICAgICAgICAgYCR7ZmlsZS5uYW1lfeaWh+S7tuexu+Wei+S4jeWFgeiuuOS4iuS8oO+8jOivt+S4iuS8oOWQjue8gOS4uiR7YWxsb3dGaWxlU3VmZml4feeahOexu+Wei+aWh+S7tu+8gWBcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAobWF4U2l6ZSAhPT0gZmFsc2UpIHtcclxuICAgICAgICBpZiAobWF4U2l6ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgbWF4U2l6ZSA9IDEwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2l6ZSA9IG1heFNpemUgKiAxMDI0ICogMTAyNDtcclxuICAgICAgICBpZiAoc2l6ZSA8IGZpbGUuc2l6ZSkge1xyXG4gICAgICAgICAgbWVzc2FnZS5lcnJvcihgJHtmaWxlLm5hbWV95paH5Lu25aSn5bCP6LaF6L+HJHttYXhTaXplfU3vvIzor7fph43mlrDkuIrkvKDvvIFgKTtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgbGV0IGZpbGVOYW1lcyA9IFtdO1xyXG4gICAgICBpZiAoY2hlY2tTYW1lRmlsZSkge1xyXG4gICAgICAgIGNvbnN0IGNoZWNrTGlzdCA9IHRoaXMucHJvcHMuZmlsZUxpc3QgPyBmaWxlTGlzdFN0b3JlIDogZmlsZUxpc3Q7XHJcbiAgICAgICAgY2hlY2tMaXN0Lm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgZmlsZU5hbWVzLnB1c2goaXRlbS5uYW1lIHx8IGl0ZW0uZmlsZU5hbWUpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAoZmlsZU5hbWVzLmluZGV4T2YoZmlsZS5uYW1lKSA+IC0xICYmIHNob3dVcGxvYWRMaXN0ICE9PSBmYWxzZSkge1xyXG4gICAgICAgICAgbWVzc2FnZS5lcnJvcihg5paH5Lu2JHtmaWxlLm5hbWV95bey5Zyo5LiK5Lyg5YiX6KGo5Lit77yM6K+36YeN5paw6YCJ5oup5paH5Lu277yBYCk7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy5wcm9wcy5iZWZvcmVVcGxvYWQpIHtcclxuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnByb3BzLmJlZm9yZVVwbG9hZChmaWxlLCBvZmlsZUxpc3QpO1xyXG4gICAgICAgIGlmIChyZXMgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG5ld0xpc3QgPSBbLi4uZmlsZUxpc3RdO1xyXG4gICAgICBvZmlsZUxpc3QubWFwKGFzeW5jIChpdGVtKSA9PiB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgIShcclxuICAgICAgICAgICAgKGFsbG93RmlsZVN1ZmZpeCAmJiAhdGhpcy5jaGVja0ZpbGVUeXBlKGl0ZW0pKSB8fFxyXG4gICAgICAgICAgICBzaXplIDwgaXRlbS5zaXplIHx8XHJcbiAgICAgICAgICAgIChjaGVja1NhbWVGaWxlICYmIGZpbGVOYW1lcy5pbmRleE9mKGl0ZW0ubmFtZSkgPiAtMSlcclxuICAgICAgICAgIClcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGNvbnN0IHRlbXAgPSB7XHJcbiAgICAgICAgICAgIGZpbGVOYW1lOiBpdGVtLm5hbWUsXHJcbiAgICAgICAgICAgIHBlcmNlbnQ6IDAsXHJcbiAgICAgICAgICAgIHN0YXR1czogXCJ1cGxvYWRpbmdcIixcclxuICAgICAgICAgICAgdWlkOiBpdGVtLnVpZCxcclxuICAgICAgICAgICAgbmFtZTogaXRlbS5uYW1lLFxyXG4gICAgICAgICAgICB0eXBlOiBpdGVtLnR5cGUsXHJcbiAgICAgICAgICAgIHNpemU6IGl0ZW0uc2l6ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICBuZXdMaXN0LnB1c2godGVtcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGlmIChtYXhDb3VudCAmJiBuZXdMaXN0Lmxlbmd0aCA+IG1heENvdW50KSB7XHJcbiAgICAgICAgbGV0IGxlbmd0aCA9IG5ld0xpc3QubGVuZ3RoIC0gbWF4Q291bnQ7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgbmV3TGlzdC5zcGxpY2UoMCwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBmaWxlTGlzdDogbmV3TGlzdCB9LCgpPT57XHJcbiAgICAgICAgb25MaXN0Q2hhbmdlICYmIG9uTGlzdENoYW5nZShuZXdMaXN0KTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMudXBsb2FkU2l6ZSA9IG9maWxlTGlzdC5sZW5ndGg7XHJcbiAgICB9XHJcbiAgICBjaGVja0ZpbGVUeXBlKGZpbGUpIHtcclxuICAgICAgY29uc3QgeyBhbGxvd0ZpbGVTdWZmaXggfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgIGNvbnN0IG5hbWVzID0gZmlsZS5uYW1lLnNwbGl0KFwiLlwiKTtcclxuICAgICAgY29uc3Qgc3VmZml4ID0gbmFtZXNbbmFtZXMubGVuZ3RoIC0gMV07XHJcbiAgICAgIGlmIChhbGxvd0ZpbGVTdWZmaXguaW5kZXhPZihzdWZmaXgpID4gLTEpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBvblByb2Nlc3MoeyBwZXJjZW50LCBmaWxlIH06IGFueSkge1xyXG4gICAgICBjb25zdCB7IGZpbGVMaXN0IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICBjb25zdCB7IG9uTGlzdENoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgY29uc3QgbmV3TGlzdDogYW55ID0gW107XHJcbiAgICAgIGZpbGVMaXN0Lm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3RmlsZSA9IHsgLi4uaXRlbSB9O1xyXG4gICAgICAgIGlmIChmaWxlLnVpZCA9PSBpdGVtLnVpZCkge1xyXG4gICAgICAgICAgbmV3RmlsZS5wZXJjZW50ID0gcGVyY2VudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgbmV3TGlzdC5wdXNoKG5ld0ZpbGUpO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZmlsZUxpc3Q6IG5ld0xpc3QsXHJcbiAgICAgIH0sKCk9PntcclxuICAgICAgICBvbkxpc3RDaGFuZ2UgJiYgb25MaXN0Q2hhbmdlKGZpbGVMaXN0KTtcclxuICAgICAgfSk7XHJcbiAgIFxyXG4gICAgfVxyXG4gICAgYXN5bmMgb25Db21wbGV0ZShmaWxlcykge1xyXG4gICAgICB0aGlzLnVwbG9hZEluZ1NpemUgPSAwO1xyXG4gICAgICB0aGlzLnVwbG9hZFNpemUgPSAwO1xyXG4gICAgICB0aGlzLnVwbG9hZEluZ0xpc3QgPSBbXTtcclxuICAgICAgY29uc3QgeyBmaWxlTGlzdCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgICAgY29uc3QgeyBuZXdWZXJzaW9uID0gdHJ1ZSwgcmVxdWVzdENvbmZpZyA9IHt9IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICBjb25zdCBuZXdMaXN0OiBhbnkgPSBbXTtcclxuICAgICAgZmlsZUxpc3QubWFwKGFzeW5jIChpdGVtOiBhbnksIGluZGV4KSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3RmlsZSA9IHsgLi4uaXRlbSB9O1xyXG4gICAgICAgIGZpbGVzLm1hcChhc3luYyAoZmlsZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGZpbGUuZmlsZS51aWQgPT0gaXRlbS51aWQpIHtcclxuICAgICAgICAgICAgbmV3RmlsZS5zdGF0dXMgPSBmaWxlLnN0YXR1cyA9PSBcInN1Y2Nlc3NcIiA/IFwiZG9uZVwiIDogZmlsZS5zdGF0dXM7XHJcbiAgICAgICAgICAgIG5ld0ZpbGUuZmlsZUlkID0gZmlsZS5maWxlSWQ7XHJcbiAgICAgICAgICAgIG5ld0ZpbGUudXJsID0gZmlsZS51cmw7XHJcbiAgICAgICAgICAgIGlmICghbmV3VmVyc2lvbikge1xyXG4gICAgICAgICAgICAgIGxldCB1cmwgPSBgL2pxdWljay1yZXNvdXJjZS9vc3MvZW5kcG9pbnQvZG93bmxvYWQtZmlsZXM/YXR0YWNoSWQ9JHtcclxuICAgICAgICAgICAgICAgIGZpbGUuZmlsZUlkXHJcbiAgICAgICAgICAgICAgfSZfdHBrPSR7d2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidG9rZW5cIil9YDtcclxuICAgICAgICAgICAgICBuZXdGaWxlLnVybCA9IHJlcXVlc3RDb25maWcucHJlZml4XHJcbiAgICAgICAgICAgICAgICA/IHJlcXVlc3RDb25maWcucHJlZml4ICsgdXJsXHJcbiAgICAgICAgICAgICAgICA6IFwiL2FwaVwiICsgdXJsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgbmV3TGlzdC5wdXNoKG5ld0ZpbGUpO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZmlsZUxpc3Q6IFsuLi5uZXdMaXN0XSxcclxuICAgICAgfSwoKT0+e1xyXG4gICAgICAgIGNvbnN0IHsgb25MaXN0Q2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UobmV3TGlzdCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgY3VzdG9tUmVxdWVzdCA9IGFzeW5jIChvcHRpb25zKSA9PiB7XHJcbiAgICAgIGNvbnN0IGZpbGUgPSBvcHRpb25zLmZpbGU7XHJcbiAgICAgIGxldCB1cGxvYWRpbmdLZXkgPSAnJ1xyXG4gICAgICBjb25zdCB7XHJcbiAgICAgICAgb25Db21wbGV0ZSxcclxuICAgICAgICBvblByb2Nlc3MsXHJcbiAgICAgICAgc2xpY2VTaXplLFxyXG4gICAgICAgIG5ld1ZlcnNpb24gPSB0cnVlLFxyXG4gICAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgY29uc3Qgb25Qcm9ncmVzcyA9ICh0b3RhbFByb2dyZXNzOiBhbnkpID0+IHtcclxuICAgICAgICBvcHRpb25zLm9uUHJvZ3Jlc3MoeyBwZXJjZW50OiB0b3RhbFByb2dyZXNzIH0sIGZpbGUpO1xyXG4gICAgICAgIHRoaXMub25Qcm9jZXNzKHsgcGVyY2VudDogdG90YWxQcm9ncmVzcywgZmlsZTogZmlsZSB9KTtcclxuICAgICAgICBvblByb2Nlc3MgJiYgb25Qcm9jZXNzKHsgcGVyY2VudDogdG90YWxQcm9ncmVzcywgZmlsZTogZmlsZSB9KTtcclxuICAgICAgfTtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBjb25zdCByZXM6IGFueSA9IGF3YWl0IHVwbG9hZChcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgZmlsZTogZmlsZSxcclxuICAgICAgICAgICAgb25Qcm9ncmVzczogb25Qcm9ncmVzcyxcclxuICAgICAgICAgICAgcGFydFNpemU6IHNsaWNlU2l6ZSxcclxuICAgICAgICAgICAgdXBsb2FkS2V5Q2FsbGJhY2s6IChrZXkpID0+IHtcclxuICAgICAgICAgICAgIHVwbG9hZGluZ0tleSA9IGtleVxyXG4gICAgICAgICAgICBjb25zdCB7ZmlsZUxpc3R9ICA9IHRoaXMuc3RhdGVcclxuICAgICAgICAgICAgbGV0IG5ld0xpc3Q6IGFueSA9IFtdO1xyXG4gICAgICAgICAgICBmaWxlTGlzdC5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIC8v6YCa6L+H5paH5Lu25ZCN5Yik5pat77yM5LiK5Lyg5piv5paH5Lu25ZCN5piv5ZSv5LiA55qEXHJcbiAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAoIGl0ZW0ubmFtZSAhPT0gZmlsZS5uYW1lIHx8XHJcbiAgICAgICAgICAgICAgICBpdGVtLmZpbGVJZCAhPT0gZmlsZS5maWxlSWQgfHxcclxuICAgICAgICAgICAgICAgIGl0ZW0udWlkICE9PSBmaWxlLnVpZClcclxuICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgIG5ld0xpc3QucHVzaCh7Li4uaXRlbSwgdXBsb2FkaW5nS2V5OiBpdGVtLnVwbG9hZGluZ0tleSB8fCB1cGxvYWRpbmdLZXl9KTtcclxuICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgIG5ld0xpc3QucHVzaCh7Li4uaXRlbX0pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgIGZpbGVMaXN0OiBbLi4ubmV3TGlzdF0sXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgdGhpcy5wcm9wcy5yZXF1ZXN0Q29uZmlnXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnVwbG9hZEluZ1NpemUgPSB0aGlzLnVwbG9hZEluZ1NpemUgKyAxO1xyXG4gICAgICAgIGxldCBmaWxlSWQgPSBudWxsO1xyXG4gICAgICAgIGxldCBJbWdSZXMgPSBudWxsO1xyXG4gICAgICAgIGlmIChyZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIGZpbGVJZCA9IHJlcy5kYXRhLmF0dGFjaElkO1xyXG4gICAgICAgICAgb3B0aW9ucy5vblN1Y2Nlc3MoKTtcclxuICAgICAgICAgIGlmICh0aGlzLnByb3BzLmxpc3RUeXBlID09IFwicGljdHVyZS1jYXJkXCIgJiYgbmV3VmVyc2lvbikge1xyXG4gICAgICAgICAgICBJbWdSZXMgPSBhd2FpdCBwcmV2aWV3SW1hZ2UoZmlsZUlkLCB0aGlzLnByb3BzLnJlcXVlc3RDb25maWcpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBvcHRpb25zLm9uRXJyb3IoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy51cGxvYWRJbmdMaXN0LnB1c2goe1xyXG4gICAgICAgICAgZmlsZTogb3B0aW9ucy5maWxlLFxyXG4gICAgICAgICAgZmlsZUlkOiBmaWxlSWQsXHJcbiAgICAgICAgICBzdGF0dXM6IHJlcy5jb2RlID09IDIwMCA/IFwic3VjY2Vzc1wiIDogXCJlcnJvclwiLFxyXG4gICAgICAgICAgdXJsOiBJbWdSZXMgPyBJbWdSZXMuZGF0YSA6IG51bGwsXHJcbiAgICAgICAgIFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC8vIGlmICh0aGlzLnVwbG9hZFNpemUgPT0gdGhpcy51cGxvYWRJbmdTaXplKSB7XHJcbiAgICAgICAgICB0aGlzLm9uQ29tcGxldGUodGhpcy51cGxvYWRJbmdMaXN0KTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgb25Db21wbGV0ZSAmJlxyXG4gICAgICAgICAgb25Db21wbGV0ZSh7XHJcbiAgICAgICAgICAgIGZpbGU6IG9wdGlvbnMuZmlsZSxcclxuICAgICAgICAgICAgZmlsZUlkOiBmaWxlSWQsXHJcbiAgICAgICAgICAgIHN0YXR1czogcmVzLmNvZGUgPT0gMjAwID8gXCJzdWNjZXNzXCIgOiBcImVycm9yXCIsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgIC8vIGlmICh0aGlzLnVwbG9hZFNpemUgPT0gdGhpcy51cGxvYWRJbmdTaXplKSB7XHJcbiAgICAgICAgICB0aGlzLm9uQ29tcGxldGUodGhpcy51cGxvYWRJbmdMaXN0KTtcclxuICAgICAgICAgIG9wdGlvbnMub25FcnJvcigpO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBvbkNvbXBsZXRlICYmXHJcbiAgICAgICAgICBvbkNvbXBsZXRlKHsgZmlsZTogb3B0aW9ucy5maWxlLCBmaWxlSWQ6IFwiXCIsIHN0YXR1czogXCJlcnJvclwiIH0pO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgb25EZWxldGUoZmlsZSkge1xyXG4gICAgICBjb25zdCB7IGZpbGVMaXN0IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICBjb25zdCB7IG9uTGlzdENoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgY29uc3QgbmV3TGlzdDogYW55ID0gW107XHJcbiAgICAgIGZpbGVMaXN0Lm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgLy/pgJrov4fmlofku7blkI3liKTmlq3vvIzkuIrkvKDmmK/mlofku7blkI3mmK/llK/kuIDnmoRcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBpdGVtLm5hbWUgIT09IGZpbGUubmFtZSB8fFxyXG4gICAgICAgICAgaXRlbS5maWxlSWQgIT09IGZpbGUuZmlsZUlkIHx8XHJcbiAgICAgICAgICBpdGVtLnVpZCAhPT0gZmlsZS51aWRcclxuICAgICAgICApIHtcclxuICAgICAgICAgIG5ld0xpc3QucHVzaChpdGVtKTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIGNhbmNsZVVwbG9hZChpdGVtLnVwbG9hZGluZ0tleSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBmaWxlTGlzdDogbmV3TGlzdCxcclxuICAgICAgfSwoKT0+e1xyXG4gICAgICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UobmV3TGlzdCk7XHJcbiAgICAgIH0pO1xyXG4gICAgIFxyXG4gICAgfVxyXG4gICAgcmVuZGVyKCk6IFJlYWN0LlJlYWN0Tm9kZSB7XHJcbiAgICAgIGxldCB7XHJcbiAgICAgICAgZmlsZUxpc3QsXHJcbiAgICAgICAgZmlsZUNhcmQsXHJcbiAgICAgICAgc2hvd1VwbG9hZExpc3QgPSB7XHJcbiAgICAgICAgICBzaG93RG93bmxvYWRJY29uOiB0cnVlLFxyXG4gICAgICAgICAgc2hvd1ByZXZpZXdJY29uOiBmYWxzZSxcclxuICAgICAgICAgIHNob3dSZW1vdmVJY29uOiB0cnVlLFxyXG4gICAgICAgICAgZG93bmxvYWRJY29uOiBudWxsLFxyXG4gICAgICAgICAgcmVtb3ZlSWNvbjogbnVsbCxcclxuICAgICAgICAgIHByZXZpZXdJY29uOiBudWxsLFxyXG4gICAgICAgIH0gYXMgYW55LFxyXG4gICAgICAgIHJlcXVlc3RDb25maWcgPSB7fSxcclxuICAgICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgIGNvbnN0IG5ld3Byb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXHJcbiAgICAgICAgXCJzbGljZVNpemVcIixcclxuICAgICAgICBcIm1heFNpemVcIixcclxuICAgICAgICBcIm9uQ29tcGxldGVcIixcclxuICAgICAgICBcIm9uUHJvY2Vzc1wiLFxyXG4gICAgICAgIFwiYWxsb3dGaWxlU3VmZml4XCIsXHJcbiAgICAgICAgXCJ1c2VEZWZhdWx0TGlzdFwiLFxyXG4gICAgICAgIFwiZmlsZUNhcmRcIixcclxuICAgICAgICBcIm9uTGlzdENoYW5nZVwiLFxyXG4gICAgICAgIFwibmV3VmVyc2lvblwiLFxyXG4gICAgICAgIFwicmVxdWVzdENvbmZpZ1wiLFxyXG4gICAgICBdKTtcclxuICAgICAgbGV0IGRlZmF1bHRQcm9wcyA9IHtcclxuICAgICAgICBjdXN0b21SZXF1ZXN0OiB0aGlzLmN1c3RvbVJlcXVlc3QuYmluZCh0aGlzKSxcclxuICAgICAgICBtdWx0aXBsZTogdHJ1ZSxcclxuICAgICAgfSBhcyBJVXBsb2FkUHJvcHM7XHJcbiAgICAgIGlmIChmaWxlQ2FyZCkge1xyXG4gICAgICAgIGRlZmF1bHRQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLmRlZmF1bHRQcm9wcyxcclxuICAgICAgICAgIGl0ZW1SZW5kZXI6IChvcmlnaW5Ob2RlLCBmaWxlOiBhbnksIGN1cnJGaWxlTGlzdCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBuYW1lID0gZmlsZS5uYW1lIHx8IGZpbGUuZmlsZU5hbWU7XHJcbiAgICAgICAgICAgIGNvbnN0IG5hbWVzID0gbmFtZT8uc3BsaXQoXCIuXCIpO1xyXG4gICAgICAgICAgICBjb25zdCBzdWZmaXggPSBuYW1lcyA/IG5hbWVzW25hbWVzLmxlbmd0aCAtIDFdIDogXCJcIjtcclxuICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZmlsZS1pdGVtXCIpfT5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHMoZ2V0TGVzcyhzdHlsZXMsIFwiY29udGVudFwiKSwge1xyXG4gICAgICAgICAgICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJjb250ZW50X2Vycm9yXCIpXTogZmlsZS5zdGF0dXMgPT0gXCJlcnJvclwiLFxyXG4gICAgICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm1hcmstcGljdHVyZVwiKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgPEZpbGVJY29uIHN1ZmZpeD17c3VmZml4fSBmaWxlSWQ9e2ZpbGUuZmlsZUlkfSAvPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5hbWVcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgIHtmaWxlLm5hbWUgfHwgZmlsZS5maWxlTmFtZX1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfT5cclxuICAgICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3Quc2hvd1ByZXZpZXdJY29uICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICBmaWxlLnN0YXR1cyA9PSBcImRvbmVcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblByZXZpZXcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vblByZXZpZXcoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2aWV3RG9jdW1lbnQoZmlsZS5maWxlSWQsIHJlcXVlc3RDb25maWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgY3Vyc29yOiBcInBvaW50ZXJcIiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvbiA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RXllT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LnNob3dEb3dubG9hZEljb24gJiZcclxuICAgICAgICAgICAgICAgICAgICAgIGZpbGUuc3RhdHVzID09IFwiZG9uZVwiICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uRG93bmxvYWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vbkRvd25sb2FkKGZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG93bmxvYWQoZmlsZS5maWxlSWQsIHRydWUsIHJlcXVlc3RDb25maWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgY3Vyc29yOiBcInBvaW50ZXJcIiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvbiA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RG93bmxvYWRPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3Quc2hvd1JlbW92ZUljb24gJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMub25SZW1vdmUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMub25SZW1vdmUoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25EZWxldGUoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjdXJzb3I6IFwicG9pbnRlclwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb24gPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPERlbGV0ZU91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAge2ZpbGUuc3RhdHVzID09IFwidXBsb2FkaW5nXCIgJiYgKFxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwicHJvY2Vzc1wiKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJwZXJjZW50XCIpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IGZpbGUucGVyY2VudCArIFwiJVwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZGVmYXVsdFByb3BzID0ge1xyXG4gICAgICAgICAgLi4uZGVmYXVsdFByb3BzLFxyXG4gICAgICAgICAgb25Eb3dubG9hZDogKGZpbGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vbkRvd25sb2FkKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vbkRvd25sb2FkKGZpbGUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGRvd25sb2FkKGZpbGUuZmlsZUlkLCB0cnVlLCByZXF1ZXN0Q29uZmlnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIG9uUmVtb3ZlOiAoZmlsZSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblJlbW92ZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMucHJvcHMub25SZW1vdmUoZmlsZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5vbkRlbGV0ZShmaWxlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIG9uUHJldmlldzogKGZpbGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblByZXZpZXcpIHtcclxuICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uUHJldmlldyhmaWxlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBpZiAoZmlsZT8uZmlsZUlkKSB7XHJcbiAgICAgICAgICAgICAgICBwcmV2aWV3RG9jdW1lbnQoZmlsZS5maWxlSWQsIHJlcXVlc3RDb25maWcpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHNob3dVcGxvYWRMaXN0OiB7IC4uLnNob3dVcGxvYWRMaXN0IH0sXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDw+XHJcbiAgICAgICAgICA8Q29tcG9uZW50XHJcbiAgICAgICAgICAgIHsuLi5kZWZhdWx0UHJvcHN9XHJcbiAgICAgICAgICAgIHsuLi5uZXdwcm9wc31cclxuICAgICAgICAgICAgYmVmb3JlVXBsb2FkPXt0aGlzLmJlZm9yZVVwbG9hZC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBmaWxlTGlzdD17dGhpcy5zdGF0ZS5maWxlTGlzdH1cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC8+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfTtcclxufTtcclxuXHJcbmNvbnN0IE5zY1VwbG9hZDogYW55ID0gd2l0aEN1c3RvbVVwbG9hZChVcGxvYWQpO1xyXG4vLyAvLyDkvb/nlKggd2l0aEN1c3RvbVVwbG9hZCDlsIHoo4UgVXBsb2FkLkRyYWdnZXIg57uE5Lu2XHJcbmNvbnN0IE5zY1VwbG9hZERyYWdnZXIgPSB3aXRoQ3VzdG9tVXBsb2FkKFVwbG9hZC5EcmFnZ2VyKTtcclxuTnNjVXBsb2FkLkRyYWdnZXIgPSBOc2NVcGxvYWREcmFnZ2VyO1xyXG5leHBvcnQgZGVmYXVsdCBOc2NVcGxvYWQ7XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLE9BQU8sS0FBS0EsS0FBSyxNQUFNLE9BQU87QUFFOUIsT0FBT0MsSUFBSSxNQUFNLFVBQVU7QUFDM0IsT0FBT0MsT0FBTyxNQUFNLFlBQVk7QUFDaEMsT0FBT0MsSUFBSSxNQUFNLFNBQVM7QUFDMUIsU0FBU0MsT0FBTyxRQUFRLGFBQWE7QUFDckMsT0FBT0MsTUFBTSxNQUFNLGNBQWM7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
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","file","message","omit","getLess","styles","cls","FileIcon","DeleteOutlined","DownloadOutlined","EyeOutlined","upload","download","previewDocument","previewImage","withCustomUpload","Component","PureComponent","constructor","arguments","_defineProperty","fileList","viewId","fileListStore","fileNames","options","onComplete","onProcess","sliceSize","newVersion","props","onProgress","totalProgress","percent","res","partSize","requestConfig","uploadIngSize","fileId","ImgRes","code","data","attachId","onSuccess","listType","onError","uploadIngList","push","status","url","e","componentDidMount","convertFileList","list","newFileList","oldList","setState","i","length","item","temp","_objectSpread","name","fileName","type","size","componentDidUpdate","preProps","preState","JSON","stringify","state","getFileList","setFileList","beforeUpload","ofileList","maxSize","allowFileSuffix","checkSameFile","maxCount","showUploadList","propsList","onListChange","checkFileType","error","concat","checkList","map","indexOf","newList","uid","splice","uploadSize","names","split","suffix","_ref","newFile","files","index","window","localStorage","getItem","prefix","onDelete","render","fileCard","showDownloadIcon","showPreviewIcon","showRemoveIcon","downloadIcon","removeIcon","previewIcon","newprops","defaultProps","customRequest","bind","multiple","itemRender","originNode","currFileList","createElement","className","onClick","onPreview","style","cursor","onDownload","onRemove","width","Fragment","_extends","NscUpload","_Upload","NscUploadDragger","Dragger"],"sources":["../../../src/components/base/upload/index.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { Upload, UploadProps } from \"antd\";\r\nimport file from \"nsc-file\";\r\nimport message from \"../message\";\r\nimport omit from \"omit.js\";\r\nimport { getLess } from \"../../utils\";\r\nimport styles from \"./index.less\";\r\nimport cls from \"classnames\";\r\nimport FileIcon from \"../common/FileIcon\";\r\nimport {\r\n DeleteOutlined,\r\n DownloadOutlined,\r\n EyeOutlined,\r\n} from \"@ant-design/icons\";\r\nconst { upload, download, previewDocument, previewImage } = file;\r\n\r\ninterface IUploadProps extends UploadProps {\r\n sliceSize?: number;\r\n maxSize?: number | boolean;\r\n onProcess?: (process) => void;\r\n onComplete?: ({ file, fileId, status }) => void;\r\n allowFileSuffix?: Array<String>; //允许上传扩展名,不带.\r\n useDefaultList?: boolean; //是否使用默认的fileList\r\n fileCard?: boolean;\r\n onListChange?: any;\r\n checkSameFile?: boolean;\r\n requestConfig?: any;\r\n newVersion?: boolean;\r\n [propsName: string]: any;\r\n}\r\nconst withCustomUpload = (Component) => {\r\n // 返回一个类组件\r\n return class extends React.PureComponent<IUploadProps, any> {\r\n state = {\r\n fileList: [],\r\n viewId: \"\",\r\n fileListStore: [],\r\n fileNames: [],\r\n };\r\n uploadIngSize = 0;\r\n uploadSize = 0;\r\n uploadIngList = [];\r\n previewUrl = {};\r\n componentDidMount() {\r\n if (this.props.fileList) {\r\n this.convertFileList(this.props.fileList);\r\n }\r\n }\r\n convertFileList(list?: Array<Object>) {\r\n const { fileList, listType } = this.props;\r\n const newFileList = [];\r\n let oldList = list ? list : fileList;\r\n this.setState(\r\n {\r\n fileListStore: [...fileList],\r\n },\r\n async () => {\r\n for (let i = 0; i < oldList.length; i++) {\r\n let item: any = oldList[i];\r\n let temp = {\r\n ...item,\r\n status: item.status,\r\n name: item.name || item.fileName,\r\n type: item.type,\r\n size: item.size,\r\n url: item.url,\r\n } as any;\r\n if (listType == \"picture-card\" && !item.url && item.fileId) {\r\n let res: any = await previewImage(\r\n item.fileId,\r\n this.props.requestConfig\r\n );\r\n if (res.code == 200) {\r\n temp.url = res.data;\r\n }\r\n }\r\n newFileList.push(temp);\r\n }\r\n this.setState({\r\n fileList: [...newFileList],\r\n });\r\n }\r\n );\r\n }\r\n componentDidUpdate(preProps, preState) {\r\n if (this.props.fileList) {\r\n if (\r\n JSON.stringify(this.props.fileList) !==\r\n JSON.stringify(this.state.fileListStore)\r\n ) {\r\n this.convertFileList(this.props.fileList);\r\n }\r\n }\r\n }\r\n getFileList() {\r\n return this.state.fileList;\r\n }\r\n setFileList(fileList: Array<Object>) {\r\n this.convertFileList(fileList);\r\n }\r\n async beforeUpload(file, ofileList) {\r\n let {\r\n maxSize = 100,\r\n allowFileSuffix,\r\n checkSameFile = true,\r\n maxCount,\r\n showUploadList,\r\n fileList: propsList,\r\n onListChange,\r\n } = this.props;\r\n let { fileList, fileListStore } = this.state;\r\n let size: number;\r\n if (allowFileSuffix && !this.checkFileType(file)) {\r\n message.error(\r\n `${file.name}文件类型不允许上传,请上传后缀为${allowFileSuffix}的类型文件!`\r\n );\r\n return false;\r\n }\r\n if (maxSize !== false) {\r\n if (maxSize === true) {\r\n maxSize = 100;\r\n }\r\n size = maxSize * 1024 * 1024;\r\n if (size < file.size) {\r\n message.error(`${file.name}文件大小超过${maxSize}M,请重新上传!`);\r\n return false;\r\n }\r\n }\r\n let fileNames = [];\r\n if (checkSameFile) {\r\n const checkList = this.props.fileList ? fileListStore : fileList;\r\n checkList.map((item) => {\r\n fileNames.push(item.name || item.fileName);\r\n });\r\n\r\n if (fileNames.indexOf(file.name) > -1 && showUploadList !== false) {\r\n message.error(`文件${file.name}已在上传列表中,请重新选择文件!`);\r\n return false;\r\n }\r\n }\r\n\r\n if (this.props.beforeUpload) {\r\n const res = await this.props.beforeUpload(file, ofileList);\r\n if (res === false) {\r\n return false;\r\n }\r\n }\r\n const newList = [...fileList];\r\n ofileList.map(async (item) => {\r\n if (\r\n !(\r\n (allowFileSuffix && !this.checkFileType(item)) ||\r\n size < item.size ||\r\n (checkSameFile && fileNames.indexOf(item.name) > -1)\r\n )\r\n ) {\r\n const temp = {\r\n fileName: item.name,\r\n percent: 0,\r\n status: \"uploading\",\r\n uid: item.uid,\r\n name: item.name,\r\n type: item.type,\r\n size: item.size,\r\n };\r\n newList.push(temp);\r\n }\r\n });\r\n\r\n if (maxCount && newList.length > maxCount) {\r\n let length = newList.length - maxCount;\r\n for (let i = 0; i < length; i++) {\r\n newList.splice(0, 1);\r\n }\r\n }\r\n this.setState({ fileList: newList },()=>{\r\n onListChange && onListChange(newList);\r\n });\r\n this.uploadSize = ofileList.length;\r\n }\r\n checkFileType(file) {\r\n const { allowFileSuffix } = this.props;\r\n const names = file.name.split(\".\");\r\n const suffix = names[names.length - 1];\r\n if (allowFileSuffix.indexOf(suffix) > -1) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n onProcess({ percent, file }: any) {\r\n const { fileList } = this.state;\r\n const { onListChange } = this.props;\r\n const newList: any = [];\r\n fileList.map((item: any) => {\r\n const newFile = { ...item };\r\n if (file.uid == item.uid) {\r\n newFile.percent = percent;\r\n }\r\n newList.push(newFile);\r\n });\r\n this.setState({\r\n fileList: newList,\r\n },()=>{\r\n onListChange && onListChange(fileList);\r\n });\r\n \r\n }\r\n async onComplete(files) {\r\n this.uploadIngSize = 0;\r\n this.uploadSize = 0;\r\n this.uploadIngList = [];\r\n const { fileList } = this.state;\r\n const { newVersion = true, requestConfig = {} } = this.props;\r\n const newList: any = [];\r\n fileList.map(async (item: any, index) => {\r\n const newFile = { ...item };\r\n files.map(async (file) => {\r\n if (file.file.uid == item.uid) {\r\n newFile.status = file.status == \"success\" ? \"done\" : file.status;\r\n newFile.fileId = file.fileId;\r\n newFile.url = file.url;\r\n if (!newVersion) {\r\n let url = `/jquick-resource/oss/endpoint/download-files?attachId=${\r\n file.fileId\r\n }&_tpk=${window.localStorage.getItem(\"token\")}`;\r\n newFile.url = requestConfig.prefix\r\n ? requestConfig.prefix + url\r\n : \"/api\" + url;\r\n }\r\n }\r\n });\r\n newList.push(newFile);\r\n });\r\n this.setState({\r\n fileList: [...newList],\r\n },()=>{\r\n const { onListChange } = this.props;\r\n onListChange && onListChange(newList);\r\n });\r\n }\r\n customRequest = async (options) => {\r\n const file = options.file;\r\n const {\r\n onComplete,\r\n onProcess,\r\n sliceSize,\r\n newVersion = true,\r\n } = this.props;\r\n const onProgress = (totalProgress: any) => {\r\n options.onProgress({ percent: totalProgress }, file);\r\n this.onProcess({ percent: totalProgress, file: file });\r\n onProcess && onProcess({ percent: totalProgress, file: file });\r\n };\r\n try {\r\n const res: any = await upload(\r\n {\r\n file: file,\r\n onProgress: onProgress,\r\n partSize: sliceSize,\r\n },\r\n this.props.requestConfig\r\n );\r\n this.uploadIngSize = this.uploadIngSize + 1;\r\n let fileId = null;\r\n let ImgRes = null;\r\n if (res.code == 200) {\r\n fileId = res.data.attachId;\r\n options.onSuccess();\r\n if (this.props.listType == \"picture-card\" && newVersion) {\r\n ImgRes = await previewImage(fileId, this.props.requestConfig);\r\n }\r\n } else {\r\n options.onError();\r\n }\r\n this.uploadIngList.push({\r\n file: options.file,\r\n fileId: fileId,\r\n status: res.code == 200 ? \"success\" : \"error\",\r\n url: ImgRes ? ImgRes.data : null,\r\n });\r\n // if (this.uploadSize == this.uploadIngSize) {\r\n this.onComplete(this.uploadIngList);\r\n // }\r\n onComplete &&\r\n onComplete({\r\n file: options.file,\r\n fileId: fileId,\r\n status: res.code == 200 ? \"success\" : \"error\",\r\n });\r\n } catch (e) {\r\n // if (this.uploadSize == this.uploadIngSize) {\r\n this.onComplete(this.uploadIngList);\r\n options.onError();\r\n // }\r\n onComplete &&\r\n onComplete({ file: options.file, fileId: \"\", status: \"error\" });\r\n }\r\n };\r\n onDelete(file) {\r\n const { fileList } = this.state;\r\n const { onListChange } = this.props;\r\n const newList: any = [];\r\n fileList.map((item: any) => {\r\n //通过文件名判断,上传是文件名是唯一的\r\n if (\r\n item.name !== file.name ||\r\n item.fileId !== file.fileId ||\r\n item.uid !== file.uid\r\n ) {\r\n newList.push(item);\r\n }\r\n });\r\n this.setState({\r\n fileList: newList,\r\n },()=>{\r\n onListChange && onListChange(newList);\r\n });\r\n \r\n }\r\n render(): React.ReactNode {\r\n let {\r\n fileList,\r\n fileCard,\r\n showUploadList = {\r\n showDownloadIcon: true,\r\n showPreviewIcon: false,\r\n showRemoveIcon: true,\r\n downloadIcon: null,\r\n removeIcon: null,\r\n previewIcon: null,\r\n } as any,\r\n requestConfig = {},\r\n } = this.props;\r\n const newprops = omit(this.props, [\r\n \"sliceSize\",\r\n \"maxSize\",\r\n \"onComplete\",\r\n \"onProcess\",\r\n \"allowFileSuffix\",\r\n \"useDefaultList\",\r\n \"fileCard\",\r\n \"onListChange\",\r\n \"newVersion\",\r\n \"requestConfig\",\r\n ]);\r\n let defaultProps = {\r\n customRequest: this.customRequest.bind(this),\r\n multiple: true,\r\n } as IUploadProps;\r\n if (fileCard) {\r\n defaultProps = {\r\n ...defaultProps,\r\n itemRender: (originNode, file: any, currFileList) => {\r\n const name = file.name || file.fileName;\r\n const names = name?.split(\".\");\r\n const suffix = names ? names[names.length - 1] : \"\";\r\n return (\r\n <div className={getLess(styles, \"file-item\")}>\r\n <div\r\n className={cls(getLess(styles, \"content\"), {\r\n [getLess(styles, \"content_error\")]: file.status == \"error\",\r\n })}\r\n >\r\n <div className={getLess(styles, \"mark-picture\")}>\r\n <FileIcon suffix={suffix} fileId={file.fileId} />\r\n </div>\r\n <div className={getLess(styles, \"name\")}>\r\n {file.name || file.fileName}\r\n </div>\r\n <div className={getLess(styles, \"icon\")}>\r\n {showUploadList.showPreviewIcon &&\r\n file.status == \"done\" && (\r\n <div\r\n onClick={() => {\r\n if (this.props.onPreview) {\r\n this.props.onPreview(file);\r\n } else {\r\n previewDocument(file.fileId, requestConfig);\r\n }\r\n }}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n {showUploadList.downloadIcon ? (\r\n showUploadList.downloadIcon\r\n ) : (\r\n <EyeOutlined />\r\n )}\r\n </div>\r\n )}\r\n {showUploadList.showDownloadIcon &&\r\n file.status == \"done\" && (\r\n <div\r\n onClick={() => {\r\n if (this.props.onDownload) {\r\n this.props.onDownload(file);\r\n } else {\r\n download(file.fileId, true, requestConfig);\r\n }\r\n }}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n {showUploadList.downloadIcon ? (\r\n showUploadList.downloadIcon\r\n ) : (\r\n <DownloadOutlined />\r\n )}\r\n </div>\r\n )}\r\n {showUploadList.showRemoveIcon && (\r\n <div\r\n onClick={() => {\r\n if (this.props.onRemove) {\r\n this.props.onRemove(file);\r\n } else {\r\n this.onDelete(file);\r\n }\r\n }}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n {showUploadList.downloadIcon ? (\r\n showUploadList.downloadIcon\r\n ) : (\r\n <DeleteOutlined />\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n {file.status == \"uploading\" && (\r\n <div className={getLess(styles, \"process\")}>\r\n <div\r\n className={getLess(styles, \"percent\")}\r\n style={{ width: file.percent + \"%\" }}\r\n ></div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n },\r\n };\r\n } else {\r\n defaultProps = {\r\n ...defaultProps,\r\n onDownload: (file: any) => {\r\n if (this.props.onDownload) {\r\n this.props.onDownload(file);\r\n } else {\r\n download(file.fileId, true, requestConfig);\r\n }\r\n },\r\n onRemove: (file) => {\r\n if (this.props.onRemove) {\r\n this.props.onRemove(file);\r\n } else {\r\n this.onDelete(file);\r\n }\r\n },\r\n onPreview: (file: any) => {\r\n if (this.props.onPreview) {\r\n this.props.onPreview(file);\r\n } else {\r\n if (file?.fileId) {\r\n previewDocument(file.fileId, requestConfig);\r\n }\r\n }\r\n },\r\n showUploadList: { ...showUploadList },\r\n };\r\n }\r\n return (\r\n <>\r\n <Component\r\n {...defaultProps}\r\n {...newprops}\r\n beforeUpload={this.beforeUpload.bind(this)}\r\n fileList={this.state.fileList}\r\n />\r\n </>\r\n );\r\n }\r\n };\r\n};\r\n\r\nconst NscUpload: any = withCustomUpload(Upload);\r\n// // 使用 withCustomUpload 封装 Upload.Dragger 组件\r\nconst NscUploadDragger = withCustomUpload(Upload.Dragger);\r\nNscUpload.Dragger = NscUploadDragger;\r\nexport default NscUpload;\r\n"],"mappings":";;;;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAOC,IAAI,MAAM,UAAU;AAC3B,OAAOC,OAAO,MAAM,YAAY;AAChC,OAAOC,IAAI,MAAM,SAAS;AAC1B,SAASC,OAAO,QAAQ,aAAa;AACrC,OAAOC,MAAM,MAAM,cAAc;AACjC,OAAOC,GAAG,MAAM,YAAY;AAC5B,OAAOC,QAAQ,MAAM,oBAAoB;AACzC,SACEC,cAAc,EACdC,gBAAgB,EAChBC,WAAW,QACN,mBAAmB;AAC1B,MAAM;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,eAAe;EAAEC;AAAa,CAAC,GAAGb,IAAI;AAgBhE,MAAMc,gBAAgB,GAAIC,SAAS,IAAK;EACtC;EACA,OAAO,cAAchB,KAAK,CAACiB,aAAa,CAAoB;IAAAC,YAAA;MAAA,SAAAC,SAAA;MAAAC,eAAA,gBAClD;QACNC,QAAQ,EAAE,EAAE;QACZC,MAAM,EAAE,EAAE;QACVC,aAAa,EAAE,EAAE;QACjBC,SAAS,EAAE;MACb,CAAC;MAAAJ,eAAA,wBACe,CAAC;MAAAA,eAAA,qBACJ,CAAC;MAAAA,eAAA,wBACE,EAAE;MAAAA,eAAA,qBACL,CAAC,CAAC;MAAAA,eAAA,wBAsMC,MAAOK,OAAO,IAAK;QACjC,MAAMxB,IAAI,GAAGwB,OAAO,CAACxB,IAAI;QACzB,MAAM;UACJyB,UAAU;UACVC,SAAS;UACTC,SAAS;UACTC,UAAU,GAAG;QACf,CAAC,GAAG,IAAI,CAACC,KAAK;QACd,MAAMC,UAAU,GAAIC,aAAkB,IAAK;UACzCP,OAAO,CAACM,UAAU,CAAC;YAAEE,OAAO,EAAED;UAAc,CAAC,EAAE/B,IAAI,CAAC;UACpD,IAAI,CAAC0B,SAAS,CAAC;YAAEM,OAAO,EAAED,aAAa;YAAE/B,IAAI,EAAEA;UAAK,CAAC,CAAC;UACtD0B,SAAS,IAAIA,SAAS,CAAC;YAAEM,OAAO,EAAED,aAAa;YAAE/B,IAAI,EAAEA;UAAK,CAAC,CAAC;QAChE,CAAC;QACD,IAAI;UACF,MAAMiC,GAAQ,GAAG,MAAMvB,MAAM,CAC3B;YACEV,IAAI,EAAEA,IAAI;YACV8B,UAAU,EAAEA,UAAU;YACtBI,QAAQ,EAAEP;UACZ,CAAC,EACD,IAAI,CAACE,KAAK,CAACM,aACb,CAAC;UACD,IAAI,CAACC,aAAa,GAAG,IAAI,CAACA,aAAa,GAAG,CAAC;UAC3C,IAAIC,MAAM,GAAG,IAAI;UACjB,IAAIC,MAAM,GAAG,IAAI;UACjB,IAAIL,GAAG,CAACM,IAAI,IAAI,GAAG,EAAE;YACnBF,MAAM,GAAGJ,GAAG,CAACO,IAAI,CAACC,QAAQ;YAC1BjB,OAAO,CAACkB,SAAS,CAAC,CAAC;YACnB,IAAI,IAAI,CAACb,KAAK,CAACc,QAAQ,IAAI,cAAc,IAAIf,UAAU,EAAE;cACvDU,MAAM,GAAG,MAAMzB,YAAY,CAACwB,MAAM,EAAE,IAAI,CAACR,KAAK,CAACM,aAAa,CAAC;YAC/D;UACF,CAAC,MAAM;YACLX,OAAO,CAACoB,OAAO,CAAC,CAAC;UACnB;UACA,IAAI,CAACC,aAAa,CAACC,IAAI,CAAC;YACtB9C,IAAI,EAAEwB,OAAO,CAACxB,IAAI;YAClBqC,MAAM,EAAEA,MAAM;YACdU,MAAM,EAAEd,GAAG,CAACM,IAAI,IAAI,GAAG,GAAG,SAAS,GAAG,OAAO;YAC7CS,GAAG,EAAEV,MAAM,GAAGA,MAAM,CAACE,IAAI,GAAG;UAC9B,CAAC,CAAC;UACF;UACE,IAAI,CAACf,UAAU,CAAC,IAAI,CAACoB,aAAa,CAAC;UACrC;UACApB,UAAU,IACRA,UAAU,CAAC;YACTzB,IAAI,EAAEwB,OAAO,CAACxB,IAAI;YAClBqC,MAAM,EAAEA,MAAM;YACdU,MAAM,EAAEd,GAAG,CAACM,IAAI,IAAI,GAAG,GAAG,SAAS,GAAG;UACxC,CAAC,CAAC;QACN,CAAC,CAAC,OAAOU,CAAC,EAAE;UACV;UACE,IAAI,CAACxB,UAAU,CAAC,IAAI,CAACoB,aAAa,CAAC;UACnCrB,OAAO,CAACoB,OAAO,CAAC,CAAC;UACnB;UACAnB,UAAU,IACRA,UAAU,CAAC;YAAEzB,IAAI,EAAEwB,OAAO,CAACxB,IAAI;YAAEqC,MAAM,EAAE,EAAE;YAAEU,MAAM,EAAE;UAAQ,CAAC,CAAC;QACnE;MACF,CAAC;IAAA;IA9PDG,iBAAiBA,CAAA,EAAG;MAClB,IAAI,IAAI,CAACrB,KAAK,CAACT,QAAQ,EAAE;QACvB,IAAI,CAAC+B,eAAe,CAAC,IAAI,CAACtB,KAAK,CAACT,QAAQ,CAAC;MAC3C;IACF;IACA+B,eAAeA,CAACC,IAAoB,EAAE;MACpC,MAAM;QAAEhC,QAAQ;QAAEuB;MAAS,CAAC,GAAG,IAAI,CAACd,KAAK;MACzC,MAAMwB,WAAW,GAAG,EAAE;MACtB,IAAIC,OAAO,GAAGF,IAAI,GAAGA,IAAI,GAAGhC,QAAQ;MACpC,IAAI,CAACmC,QAAQ,CACX;QACEjC,aAAa,EAAE,CAAC,GAAGF,QAAQ;MAC7B,CAAC,EACD,YAAY;QACV,KAAK,IAAIoC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,OAAO,CAACG,MAAM,EAAED,CAAC,EAAE,EAAE;UACvC,IAAIE,IAAS,GAAGJ,OAAO,CAACE,CAAC,CAAC;UAC1B,IAAIG,IAAI,GAAAC,aAAA,CAAAA,aAAA,KACHF,IAAI;YACPX,MAAM,EAAEW,IAAI,CAACX,MAAM;YACnBc,IAAI,EAAEH,IAAI,CAACG,IAAI,IAAIH,IAAI,CAACI,QAAQ;YAChCC,IAAI,EAAEL,IAAI,CAACK,IAAI;YACfC,IAAI,EAAEN,IAAI,CAACM,IAAI;YACfhB,GAAG,EAAEU,IAAI,CAACV;UAAG,EACP;UACR,IAAIL,QAAQ,IAAI,cAAc,IAAI,CAACe,IAAI,CAACV,GAAG,IAAIU,IAAI,CAACrB,MAAM,EAAE;YAC1D,IAAIJ,GAAQ,GAAG,MAAMpB,YAAY,CAC/B6C,IAAI,CAACrB,MAAM,EACX,IAAI,CAACR,KAAK,CAACM,aACb,CAAC;YACD,IAAIF,GAAG,CAACM,IAAI,IAAI,GAAG,EAAE;cACnBoB,IAAI,CAACX,GAAG,GAAGf,GAAG,CAACO,IAAI;YACrB;UACF;UACAa,WAAW,CAACP,IAAI,CAACa,IAAI,CAAC;QACxB;QACA,IAAI,CAACJ,QAAQ,CAAC;UACZnC,QAAQ,EAAE,CAAC,GAAGiC,WAAW;QAC3B,CAAC,CAAC;MACJ,CACF,CAAC;IACH;IACAY,kBAAkBA,CAACC,QAAQ,EAAEC,QAAQ,EAAE;MACrC,IAAI,IAAI,CAACtC,KAAK,CAACT,QAAQ,EAAE;QACvB,IACEgD,IAAI,CAACC,SAAS,CAAC,IAAI,CAACxC,KAAK,CAACT,QAAQ,CAAC,KACnCgD,IAAI,CAACC,SAAS,CAAC,IAAI,CAACC,KAAK,CAAChD,aAAa,CAAC,EACxC;UACA,IAAI,CAAC6B,eAAe,CAAC,IAAI,CAACtB,KAAK,CAACT,QAAQ,CAAC;QAC3C;MACF;IACF;IACAmD,WAAWA,CAAA,EAAG;MACZ,OAAO,IAAI,CAACD,KAAK,CAAClD,QAAQ;IAC5B;IACAoD,WAAWA,CAACpD,QAAuB,EAAE;MACnC,IAAI,CAAC+B,eAAe,CAAC/B,QAAQ,CAAC;IAChC;IACA,MAAMqD,YAAYA,CAACzE,IAAI,EAAE0E,SAAS,EAAE;MAClC,IAAI;QACFC,OAAO,GAAG,GAAG;QACbC,eAAe;QACfC,aAAa,GAAG,IAAI;QACpBC,QAAQ;QACRC,cAAc;QACd3D,QAAQ,EAAE4D,SAAS;QACnBC;MACF,CAAC,GAAG,IAAI,CAACpD,KAAK;MACd,IAAI;QAAET,QAAQ;QAAEE;MAAc,CAAC,GAAG,IAAI,CAACgD,KAAK;MAC5C,IAAIN,IAAY;MAChB,IAAIY,eAAe,IAAI,CAAC,IAAI,CAACM,aAAa,CAAClF,IAAI,CAAC,EAAE;QAChDC,OAAO,CAACkF,KAAK,IAAAC,MAAA,CACRpF,IAAI,CAAC6D,IAAI,sGAAAuB,MAAA,CAAmBR,eAAe,yCAChD,CAAC;QACD,OAAO,KAAK;MACd;MACA,IAAID,OAAO,KAAK,KAAK,EAAE;QACrB,IAAIA,OAAO,KAAK,IAAI,EAAE;UACpBA,OAAO,GAAG,GAAG;QACf;QACAX,IAAI,GAAGW,OAAO,GAAG,IAAI,GAAG,IAAI;QAC5B,IAAIX,IAAI,GAAGhE,IAAI,CAACgE,IAAI,EAAE;UACpB/D,OAAO,CAACkF,KAAK,IAAAC,MAAA,CAAIpF,IAAI,CAAC6D,IAAI,0CAAAuB,MAAA,CAAST,OAAO,gDAAU,CAAC;UACrD,OAAO,KAAK;QACd;MACF;MACA,IAAIpD,SAAS,GAAG,EAAE;MAClB,IAAIsD,aAAa,EAAE;QACjB,MAAMQ,SAAS,GAAG,IAAI,CAACxD,KAAK,CAACT,QAAQ,GAAGE,aAAa,GAAGF,QAAQ;QAChEiE,SAAS,CAACC,GAAG,CAAE5B,IAAI,IAAK;UACtBnC,SAAS,CAACuB,IAAI,CAACY,IAAI,CAACG,IAAI,IAAIH,IAAI,CAACI,QAAQ,CAAC;QAC5C,CAAC,CAAC;QAEF,IAAIvC,SAAS,CAACgE,OAAO,CAACvF,IAAI,CAAC6D,IAAI,CAAC,GAAG,CAAC,CAAC,IAAIkB,cAAc,KAAK,KAAK,EAAE;UACjE9E,OAAO,CAACkF,KAAK,gBAAAC,MAAA,CAAMpF,IAAI,CAAC6D,IAAI,qGAAkB,CAAC;UAC/C,OAAO,KAAK;QACd;MACF;MAEA,IAAI,IAAI,CAAChC,KAAK,CAAC4C,YAAY,EAAE;QAC3B,MAAMxC,GAAG,GAAG,MAAM,IAAI,CAACJ,KAAK,CAAC4C,YAAY,CAACzE,IAAI,EAAE0E,SAAS,CAAC;QAC1D,IAAIzC,GAAG,KAAK,KAAK,EAAE;UACjB,OAAO,KAAK;QACd;MACF;MACA,MAAMuD,OAAO,GAAG,CAAC,GAAGpE,QAAQ,CAAC;MAC7BsD,SAAS,CAACY,GAAG,CAAC,MAAO5B,IAAI,IAAK;QAC5B,IACE,EACGkB,eAAe,IAAI,CAAC,IAAI,CAACM,aAAa,CAACxB,IAAI,CAAC,IAC7CM,IAAI,GAAGN,IAAI,CAACM,IAAI,IACfa,aAAa,IAAItD,SAAS,CAACgE,OAAO,CAAC7B,IAAI,CAACG,IAAI,CAAC,GAAG,CAAC,CAAE,CACrD,EACD;UACA,MAAMF,IAAI,GAAG;YACXG,QAAQ,EAAEJ,IAAI,CAACG,IAAI;YACnB7B,OAAO,EAAE,CAAC;YACVe,MAAM,EAAE,WAAW;YACnB0C,GAAG,EAAE/B,IAAI,CAAC+B,GAAG;YACb5B,IAAI,EAAEH,IAAI,CAACG,IAAI;YACfE,IAAI,EAAEL,IAAI,CAACK,IAAI;YACfC,IAAI,EAAEN,IAAI,CAACM;UACb,CAAC;UACDwB,OAAO,CAAC1C,IAAI,CAACa,IAAI,CAAC;QACpB;MACF,CAAC,CAAC;MAEF,IAAImB,QAAQ,IAAIU,OAAO,CAAC/B,MAAM,GAAGqB,QAAQ,EAAE;QACzC,IAAIrB,MAAM,GAAG+B,OAAO,CAAC/B,MAAM,GAAGqB,QAAQ;QACtC,KAAK,IAAItB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGC,MAAM,EAAED,CAAC,EAAE,EAAE;UAC/BgC,OAAO,CAACE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QACtB;MACF;MACA,IAAI,CAACnC,QAAQ,CAAC;QAAEnC,QAAQ,EAAEoE;MAAQ,CAAC,EAAC,MAAI;QACtCP,YAAY,IAAIA,YAAY,CAACO,OAAO,CAAC;MACvC,CAAC,CAAC;MACF,IAAI,CAACG,UAAU,GAAGjB,SAAS,CAACjB,MAAM;IACpC;IACAyB,aAAaA,CAAClF,IAAI,EAAE;MAClB,MAAM;QAAE4E;MAAgB,CAAC,GAAG,IAAI,CAAC/C,KAAK;MACtC,MAAM+D,KAAK,GAAG5F,IAAI,CAAC6D,IAAI,CAACgC,KAAK,CAAC,GAAG,CAAC;MAClC,MAAMC,MAAM,GAAGF,KAAK,CAACA,KAAK,CAACnC,MAAM,GAAG,CAAC,CAAC;MACtC,IAAImB,eAAe,CAACW,OAAO,CAACO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;QACxC,OAAO,IAAI;MACb;MACA,OAAO,KAAK;IACd;IACApE,SAASA,CAAAqE,IAAA,EAAyB;MAAA,IAAxB;QAAE/D,OAAO;QAAEhC;MAAU,CAAC,GAAA+F,IAAA;MAC9B,MAAM;QAAE3E;MAAS,CAAC,GAAG,IAAI,CAACkD,KAAK;MAC/B,MAAM;QAAEW;MAAa,CAAC,GAAG,IAAI,CAACpD,KAAK;MACnC,MAAM2D,OAAY,GAAG,EAAE;MACvBpE,QAAQ,CAACkE,GAAG,CAAE5B,IAAS,IAAK;QAC1B,MAAMsC,OAAO,GAAApC,aAAA,KAAQF,IAAI,CAAE;QAC3B,IAAI1D,IAAI,CAACyF,GAAG,IAAI/B,IAAI,CAAC+B,GAAG,EAAE;UACxBO,OAAO,CAAChE,OAAO,GAAGA,OAAO;QAC3B;QACAwD,OAAO,CAAC1C,IAAI,CAACkD,OAAO,CAAC;MACvB,CAAC,CAAC;MACF,IAAI,CAACzC,QAAQ,CAAC;QACZnC,QAAQ,EAAEoE;MACZ,CAAC,EAAC,MAAI;QACJP,YAAY,IAAIA,YAAY,CAAC7D,QAAQ,CAAC;MACxC,CAAC,CAAC;IAEJ;IACA,MAAMK,UAAUA,CAACwE,KAAK,EAAE;MACtB,IAAI,CAAC7D,aAAa,GAAG,CAAC;MACtB,IAAI,CAACuD,UAAU,GAAG,CAAC;MACnB,IAAI,CAAC9C,aAAa,GAAG,EAAE;MACvB,MAAM;QAAEzB;MAAS,CAAC,GAAG,IAAI,CAACkD,KAAK;MAC/B,MAAM;QAAE1C,UAAU,GAAG,IAAI;QAAEO,aAAa,GAAG,CAAC;MAAE,CAAC,GAAG,IAAI,CAACN,KAAK;MAC5D,MAAM2D,OAAY,GAAG,EAAE;MACvBpE,QAAQ,CAACkE,GAAG,CAAC,OAAO5B,IAAS,EAAEwC,KAAK,KAAK;QACvC,MAAMF,OAAO,GAAApC,aAAA,KAAQF,IAAI,CAAE;QAC3BuC,KAAK,CAACX,GAAG,CAAC,MAAOtF,IAAI,IAAK;UACxB,IAAIA,IAAI,CAACA,IAAI,CAACyF,GAAG,IAAI/B,IAAI,CAAC+B,GAAG,EAAE;YAC7BO,OAAO,CAACjD,MAAM,GAAG/C,IAAI,CAAC+C,MAAM,IAAI,SAAS,GAAG,MAAM,GAAG/C,IAAI,CAAC+C,MAAM;YAChEiD,OAAO,CAAC3D,MAAM,GAAGrC,IAAI,CAACqC,MAAM;YAC5B2D,OAAO,CAAChD,GAAG,GAAGhD,IAAI,CAACgD,GAAG;YACtB,IAAI,CAACpB,UAAU,EAAE;cACf,IAAIoB,GAAG,4DAAAoC,MAAA,CACLpF,IAAI,CAACqC,MAAM,YAAA+C,MAAA,CACJe,MAAM,CAACC,YAAY,CAACC,OAAO,CAAC,OAAO,CAAC,CAAE;cAC/CL,OAAO,CAAChD,GAAG,GAAGb,aAAa,CAACmE,MAAM,GAC9BnE,aAAa,CAACmE,MAAM,GAAGtD,GAAG,GAC1B,MAAM,GAAGA,GAAG;YAClB;UACF;QACF,CAAC,CAAC;QACFwC,OAAO,CAAC1C,IAAI,CAACkD,OAAO,CAAC;MACvB,CAAC,CAAC;MACF,IAAI,CAACzC,QAAQ,CAAC;QACZnC,QAAQ,EAAE,CAAC,GAAGoE,OAAO;MACvB,CAAC,EAAC,MAAI;QACJ,MAAM;UAAEP;QAAa,CAAC,GAAG,IAAI,CAACpD,KAAK;QACnCoD,YAAY,IAAIA,YAAY,CAACO,OAAO,CAAC;MACvC,CAAC,CAAC;IACJ;IA2DAe,QAAQA,CAACvG,IAAI,EAAE;MACb,MAAM;QAAEoB;MAAS,CAAC,GAAG,IAAI,CAACkD,KAAK;MAC/B,MAAM;QAAEW;MAAa,CAAC,GAAG,IAAI,CAACpD,KAAK;MACnC,MAAM2D,OAAY,GAAG,EAAE;MACvBpE,QAAQ,CAACkE,GAAG,CAAE5B,IAAS,IAAK;QAC1B;QACA,IACEA,IAAI,CAACG,IAAI,KAAK7D,IAAI,CAAC6D,IAAI,IACvBH,IAAI,CAACrB,MAAM,KAAKrC,IAAI,CAACqC,MAAM,IAC3BqB,IAAI,CAAC+B,GAAG,KAAKzF,IAAI,CAACyF,GAAG,EACrB;UACAD,OAAO,CAAC1C,IAAI,CAACY,IAAI,CAAC;QACpB;MACF,CAAC,CAAC;MACF,IAAI,CAACH,QAAQ,CAAC;QACZnC,QAAQ,EAAEoE;MACZ,CAAC,EAAC,MAAI;QACJP,YAAY,IAAIA,YAAY,CAACO,OAAO,CAAC;MACvC,CAAC,CAAC;IAEJ;IACAgB,MAAMA,CAAA,EAAoB;MACxB,IAAI;QACFpF,QAAQ;QACRqF,QAAQ;QACR1B,cAAc,GAAG;UACf2B,gBAAgB,EAAE,IAAI;UACtBC,eAAe,EAAE,KAAK;UACtBC,cAAc,EAAE,IAAI;UACpBC,YAAY,EAAE,IAAI;UAClBC,UAAU,EAAE,IAAI;UAChBC,WAAW,EAAE;QACf,CAAQ;QACR5E,aAAa,GAAG,CAAC;MACnB,CAAC,GAAG,IAAI,CAACN,KAAK;MACd,MAAMmF,QAAQ,GAAG9G,IAAI,CAAC,IAAI,CAAC2B,KAAK,EAAE,CAChC,WAAW,EACX,SAAS,EACT,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,YAAY,EACZ,eAAe,CAChB,CAAC;MACF,IAAIoF,YAAY,GAAG;QACjBC,aAAa,EAAE,IAAI,CAACA,aAAa,CAACC,IAAI,CAAC,IAAI,CAAC;QAC5CC,QAAQ,EAAE;MACZ,CAAiB;MACjB,IAAIX,QAAQ,EAAE;QACZQ,YAAY,GAAArD,aAAA,CAAAA,aAAA,KACPqD,YAAY;UACfI,UAAU,EAAEA,CAACC,UAAU,EAAEtH,IAAS,EAAEuH,YAAY,KAAK;YACnD,MAAM1D,IAAI,GAAG7D,IAAI,CAAC6D,IAAI,IAAI7D,IAAI,CAAC8D,QAAQ;YACvC,MAAM8B,KAAK,GAAG/B,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEgC,KAAK,CAAC,GAAG,CAAC;YAC9B,MAAMC,MAAM,GAAGF,KAAK,GAAGA,KAAK,CAACA,KAAK,CAACnC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE;YACnD,oBACE1D,KAAA,CAAAyH,aAAA;cAAKC,SAAS,EAAEtH,OAAO,CAACC,MAAM,EAAE,WAAW;YAAE,gBAC3CL,KAAA,CAAAyH,aAAA;cACEC,SAAS,EAAEpH,GAAG,CAACF,OAAO,CAACC,MAAM,EAAE,SAAS,CAAC,EAAE;gBACzC,CAACD,OAAO,CAACC,MAAM,EAAE,eAAe,CAAC,GAAGJ,IAAI,CAAC+C,MAAM,IAAI;cACrD,CAAC;YAAE,gBAEHhD,KAAA,CAAAyH,aAAA;cAAKC,SAAS,EAAEtH,OAAO,CAACC,MAAM,EAAE,cAAc;YAAE,gBAC9CL,KAAA,CAAAyH,aAAA,CAAClH,QAAQ;cAACwF,MAAM,EAAEA,MAAO;cAACzD,MAAM,EAAErC,IAAI,CAACqC;YAAO,CAAE,CAC7C,CAAC,eACNtC,KAAA,CAAAyH,aAAA;cAAKC,SAAS,EAAEtH,OAAO,CAACC,MAAM,EAAE,MAAM;YAAE,GACrCJ,IAAI,CAAC6D,IAAI,IAAI7D,IAAI,CAAC8D,QAChB,CAAC,eACN/D,KAAA,CAAAyH,aAAA;cAAKC,SAAS,EAAEtH,OAAO,CAACC,MAAM,EAAE,MAAM;YAAE,GACrC2E,cAAc,CAAC4B,eAAe,IAC7B3G,IAAI,CAAC+C,MAAM,IAAI,MAAM,iBACnBhD,KAAA,CAAAyH,aAAA;cACEE,OAAO,EAAEA,CAAA,KAAM;gBACb,IAAI,IAAI,CAAC7F,KAAK,CAAC8F,SAAS,EAAE;kBACxB,IAAI,CAAC9F,KAAK,CAAC8F,SAAS,CAAC3H,IAAI,CAAC;gBAC5B,CAAC,MAAM;kBACLY,eAAe,CAACZ,IAAI,CAACqC,MAAM,EAAEF,aAAa,CAAC;gBAC7C;cACF,CAAE;cACFyF,KAAK,EAAE;gBAAEC,MAAM,EAAE;cAAU;YAAE,GAE5B9C,cAAc,CAAC8B,YAAY,GAC1B9B,cAAc,CAAC8B,YAAY,gBAE3B9G,KAAA,CAAAyH,aAAA,CAAC/G,WAAW,MAAE,CAEb,CACN,EACFsE,cAAc,CAAC2B,gBAAgB,IAC9B1G,IAAI,CAAC+C,MAAM,IAAI,MAAM,iBACnBhD,KAAA,CAAAyH,aAAA;cACEE,OAAO,EAAEA,CAAA,KAAM;gBACb,IAAI,IAAI,CAAC7F,KAAK,CAACiG,UAAU,EAAE;kBACzB,IAAI,CAACjG,KAAK,CAACiG,UAAU,CAAC9H,IAAI,CAAC;gBAC7B,CAAC,MAAM;kBACLW,QAAQ,CAACX,IAAI,CAACqC,MAAM,EAAE,IAAI,EAAEF,aAAa,CAAC;gBAC5C;cACF,CAAE;cACFyF,KAAK,EAAE;gBAAEC,MAAM,EAAE;cAAU;YAAE,GAE5B9C,cAAc,CAAC8B,YAAY,GAC1B9B,cAAc,CAAC8B,YAAY,gBAE3B9G,KAAA,CAAAyH,aAAA,CAAChH,gBAAgB,MAAE,CAElB,CACN,EACFuE,cAAc,CAAC6B,cAAc,iBAC5B7G,KAAA,CAAAyH,aAAA;cACEE,OAAO,EAAEA,CAAA,KAAM;gBACb,IAAI,IAAI,CAAC7F,KAAK,CAACkG,QAAQ,EAAE;kBACvB,IAAI,CAAClG,KAAK,CAACkG,QAAQ,CAAC/H,IAAI,CAAC;gBAC3B,CAAC,MAAM;kBACL,IAAI,CAACuG,QAAQ,CAACvG,IAAI,CAAC;gBACrB;cACF,CAAE;cACF4H,KAAK,EAAE;gBAAEC,MAAM,EAAE;cAAU;YAAE,GAE5B9C,cAAc,CAAC8B,YAAY,GAC1B9B,cAAc,CAAC8B,YAAY,gBAE3B9G,KAAA,CAAAyH,aAAA,CAACjH,cAAc,MAAE,CAEhB,CAEJ,CACF,CAAC,EACLP,IAAI,CAAC+C,MAAM,IAAI,WAAW,iBACzBhD,KAAA,CAAAyH,aAAA;cAAKC,SAAS,EAAEtH,OAAO,CAACC,MAAM,EAAE,SAAS;YAAE,gBACzCL,KAAA,CAAAyH,aAAA;cACEC,SAAS,EAAEtH,OAAO,CAACC,MAAM,EAAE,SAAS,CAAE;cACtCwH,KAAK,EAAE;gBAAEI,KAAK,EAAEhI,IAAI,CAACgC,OAAO,GAAG;cAAI;YAAE,CACjC,CACH,CAEJ,CAAC;UAEV;QAAC,EACF;MACH,CAAC,MAAM;QACLiF,YAAY,GAAArD,aAAA,CAAAA,aAAA,KACPqD,YAAY;UACfa,UAAU,EAAG9H,IAAS,IAAK;YACzB,IAAI,IAAI,CAAC6B,KAAK,CAACiG,UAAU,EAAE;cACzB,IAAI,CAACjG,KAAK,CAACiG,UAAU,CAAC9H,IAAI,CAAC;YAC7B,CAAC,MAAM;cACLW,QAAQ,CAACX,IAAI,CAACqC,MAAM,EAAE,IAAI,EAAEF,aAAa,CAAC;YAC5C;UACF,CAAC;UACD4F,QAAQ,EAAG/H,IAAI,IAAK;YAClB,IAAI,IAAI,CAAC6B,KAAK,CAACkG,QAAQ,EAAE;cACvB,IAAI,CAAClG,KAAK,CAACkG,QAAQ,CAAC/H,IAAI,CAAC;YAC3B,CAAC,MAAM;cACL,IAAI,CAACuG,QAAQ,CAACvG,IAAI,CAAC;YACrB;UACF,CAAC;UACD2H,SAAS,EAAG3H,IAAS,IAAK;YACxB,IAAI,IAAI,CAAC6B,KAAK,CAAC8F,SAAS,EAAE;cACxB,IAAI,CAAC9F,KAAK,CAAC8F,SAAS,CAAC3H,IAAI,CAAC;YAC5B,CAAC,MAAM;cACL,IAAIA,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEqC,MAAM,EAAE;gBAChBzB,eAAe,CAACZ,IAAI,CAACqC,MAAM,EAAEF,aAAa,CAAC;cAC7C;YACF;UACF,CAAC;UACD4C,cAAc,EAAAnB,aAAA,KAAOmB,cAAc;QAAE,EACtC;MACH;MACA,oBACEhF,KAAA,CAAAyH,aAAA,CAAAzH,KAAA,CAAAkI,QAAA,qBACElI,KAAA,CAAAyH,aAAA,CAACzG,SAAS,EAAAmH,QAAA,KACJjB,YAAY,EACZD,QAAQ;QACZvC,YAAY,EAAE,IAAI,CAACA,YAAY,CAAC0C,IAAI,CAAC,IAAI,CAAE;QAC3C/F,QAAQ,EAAE,IAAI,CAACkD,KAAK,CAAClD;MAAS,EAC/B,CACD,CAAC;IAEP;EACF,CAAC;AACH,CAAC;AAED,MAAM+G,SAAc,GAAGrH,gBAAgB,CAAAsH,OAAO,CAAC;AAC/C;AACA,MAAMC,gBAAgB,GAAGvH,gBAAgB,CAACsH,OAAA,CAAOE,OAAO,CAAC;AACzDH,SAAS,CAACG,OAAO,GAAGD,gBAAgB;AACpC,eAAeF,SAAS"}
1
+ {"version":3,"file":"index.js","names":["React","file","message","omit","getLess","styles","cls","FileIcon","DeleteOutlined","DownloadOutlined","EyeOutlined","upload","download","previewDocument","previewImage","cancleUpload","withCustomUpload","Component","PureComponent","constructor","arguments","_defineProperty","fileList","viewId","fileListStore","fileNames","options","uploadingKey","onComplete","onProcess","sliceSize","newVersion","props","onProgress","totalProgress","percent","res","partSize","uploadKeyCallback","key","state","newList","map","item","name","fileId","uid","push","_objectSpread","setState","requestConfig","uploadIngSize","ImgRes","code","data","attachId","onSuccess","listType","onError","uploadIngList","status","url","e","componentDidMount","convertFileList","list","newFileList","oldList","i","length","temp","fileName","type","size","componentDidUpdate","preProps","preState","JSON","stringify","getFileList","setFileList","beforeUpload","ofileList","maxSize","allowFileSuffix","checkSameFile","maxCount","showUploadList","propsList","onListChange","checkFileType","error","concat","checkList","indexOf","splice","uploadSize","names","split","suffix","_ref","newFile","files","index","window","localStorage","getItem","prefix","onDelete","render","fileCard","showDownloadIcon","showPreviewIcon","showRemoveIcon","downloadIcon","removeIcon","previewIcon","newprops","defaultProps","customRequest","bind","multiple","itemRender","originNode","currFileList","createElement","className","onClick","onPreview","style","cursor","onDownload","onRemove","width","Fragment","_extends","NscUpload","_Upload","NscUploadDragger","Dragger"],"sources":["../../../src/components/base/upload/index.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { Upload, UploadProps } from \"antd\";\r\nimport file from \"nsc-file\";\r\nimport message from \"../message\";\r\nimport omit from \"omit.js\";\r\nimport { getLess } from \"../../utils\";\r\nimport styles from \"./index.less\";\r\nimport cls from \"classnames\";\r\nimport FileIcon from \"../common/FileIcon\";\r\nimport {\r\n DeleteOutlined,\r\n DownloadOutlined,\r\n EyeOutlined,\r\n} from \"@ant-design/icons\";\r\nconst { upload, download, previewDocument, previewImage,cancleUpload } = file;\r\n\r\ninterface IUploadProps extends UploadProps {\r\n sliceSize?: number;\r\n maxSize?: number | boolean;\r\n onProcess?: (process) => void;\r\n onComplete?: ({ file, fileId, status }) => void;\r\n allowFileSuffix?: Array<String>; //允许上传扩展名,不带.\r\n useDefaultList?: boolean; //是否使用默认的fileList\r\n fileCard?: boolean;\r\n onListChange?: any;\r\n checkSameFile?: boolean;\r\n requestConfig?: any;\r\n newVersion?: boolean;\r\n [propsName: string]: any;\r\n}\r\nconst withCustomUpload = (Component) => {\r\n // 返回一个类组件\r\n return class extends React.PureComponent<IUploadProps, any> {\r\n state = {\r\n fileList: [],\r\n viewId: \"\",\r\n fileListStore: [],\r\n fileNames: [],\r\n };\r\n uploadIngSize = 0;\r\n uploadSize = 0;\r\n uploadIngList = [];\r\n previewUrl = {};\r\n componentDidMount() {\r\n if (this.props.fileList) {\r\n this.convertFileList(this.props.fileList);\r\n }\r\n }\r\n convertFileList(list?: Array<Object>) {\r\n const { fileList, listType } = this.props;\r\n const newFileList = [];\r\n let oldList = list ? list : fileList;\r\n this.setState(\r\n {\r\n fileListStore: [...fileList],\r\n },\r\n async () => {\r\n for (let i = 0; i < oldList.length; i++) {\r\n let item: any = oldList[i];\r\n let temp = {\r\n ...item,\r\n status: item.status,\r\n name: item.name || item.fileName,\r\n type: item.type,\r\n size: item.size,\r\n url: item.url,\r\n } as any;\r\n if (listType == \"picture-card\" && !item.url && item.fileId) {\r\n let res: any = await previewImage(\r\n item.fileId,\r\n this.props.requestConfig\r\n );\r\n if (res.code == 200) {\r\n temp.url = res.data;\r\n }\r\n }\r\n newFileList.push(temp);\r\n }\r\n this.setState({\r\n fileList: [...newFileList],\r\n });\r\n }\r\n );\r\n }\r\n componentDidUpdate(preProps, preState) {\r\n if (this.props.fileList) {\r\n if (\r\n JSON.stringify(this.props.fileList) !==\r\n JSON.stringify(this.state.fileListStore)\r\n ) {\r\n this.convertFileList(this.props.fileList);\r\n }\r\n }\r\n }\r\n getFileList() {\r\n return this.state.fileList;\r\n }\r\n setFileList(fileList: Array<Object>) {\r\n this.convertFileList(fileList);\r\n }\r\n async beforeUpload(file, ofileList) {\r\n let {\r\n maxSize = 100,\r\n allowFileSuffix,\r\n checkSameFile = true,\r\n maxCount,\r\n showUploadList,\r\n fileList: propsList,\r\n onListChange,\r\n } = this.props;\r\n let { fileList, fileListStore } = this.state;\r\n let size: number;\r\n if (allowFileSuffix && !this.checkFileType(file)) {\r\n message.error(\r\n `${file.name}文件类型不允许上传,请上传后缀为${allowFileSuffix}的类型文件!`\r\n );\r\n return false;\r\n }\r\n if (maxSize !== false) {\r\n if (maxSize === true) {\r\n maxSize = 100;\r\n }\r\n size = maxSize * 1024 * 1024;\r\n if (size < file.size) {\r\n message.error(`${file.name}文件大小超过${maxSize}M,请重新上传!`);\r\n return false;\r\n }\r\n }\r\n let fileNames = [];\r\n if (checkSameFile) {\r\n const checkList = this.props.fileList ? fileListStore : fileList;\r\n checkList.map((item) => {\r\n fileNames.push(item.name || item.fileName);\r\n });\r\n\r\n if (fileNames.indexOf(file.name) > -1 && showUploadList !== false) {\r\n message.error(`文件${file.name}已在上传列表中,请重新选择文件!`);\r\n return false;\r\n }\r\n }\r\n\r\n if (this.props.beforeUpload) {\r\n const res = await this.props.beforeUpload(file, ofileList);\r\n if (res === false) {\r\n return false;\r\n }\r\n }\r\n const newList = [...fileList];\r\n ofileList.map(async (item) => {\r\n if (\r\n !(\r\n (allowFileSuffix && !this.checkFileType(item)) ||\r\n size < item.size ||\r\n (checkSameFile && fileNames.indexOf(item.name) > -1)\r\n )\r\n ) {\r\n const temp = {\r\n fileName: item.name,\r\n percent: 0,\r\n status: \"uploading\",\r\n uid: item.uid,\r\n name: item.name,\r\n type: item.type,\r\n size: item.size,\r\n };\r\n newList.push(temp);\r\n }\r\n });\r\n\r\n if (maxCount && newList.length > maxCount) {\r\n let length = newList.length - maxCount;\r\n for (let i = 0; i < length; i++) {\r\n newList.splice(0, 1);\r\n }\r\n }\r\n this.setState({ fileList: newList },()=>{\r\n onListChange && onListChange(newList);\r\n });\r\n this.uploadSize = ofileList.length;\r\n }\r\n checkFileType(file) {\r\n const { allowFileSuffix } = this.props;\r\n const names = file.name.split(\".\");\r\n const suffix = names[names.length - 1];\r\n if (allowFileSuffix.indexOf(suffix) > -1) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n onProcess({ percent, file }: any) {\r\n const { fileList } = this.state;\r\n const { onListChange } = this.props;\r\n const newList: any = [];\r\n fileList.map((item: any) => {\r\n const newFile = { ...item };\r\n if (file.uid == item.uid) {\r\n newFile.percent = percent;\r\n }\r\n newList.push(newFile);\r\n });\r\n this.setState({\r\n fileList: newList,\r\n },()=>{\r\n onListChange && onListChange(fileList);\r\n });\r\n \r\n }\r\n async onComplete(files) {\r\n this.uploadIngSize = 0;\r\n this.uploadSize = 0;\r\n this.uploadIngList = [];\r\n const { fileList } = this.state;\r\n const { newVersion = true, requestConfig = {} } = this.props;\r\n const newList: any = [];\r\n fileList.map(async (item: any, index) => {\r\n const newFile = { ...item };\r\n files.map(async (file) => {\r\n if (file.file.uid == item.uid) {\r\n newFile.status = file.status == \"success\" ? \"done\" : file.status;\r\n newFile.fileId = file.fileId;\r\n newFile.url = file.url;\r\n if (!newVersion) {\r\n let url = `/jquick-resource/oss/endpoint/download-files?attachId=${\r\n file.fileId\r\n }&_tpk=${window.localStorage.getItem(\"token\")}`;\r\n newFile.url = requestConfig.prefix\r\n ? requestConfig.prefix + url\r\n : \"/api\" + url;\r\n }\r\n }\r\n });\r\n newList.push(newFile);\r\n });\r\n this.setState({\r\n fileList: [...newList],\r\n },()=>{\r\n const { onListChange } = this.props;\r\n onListChange && onListChange(newList);\r\n });\r\n }\r\n customRequest = async (options) => {\r\n const file = options.file;\r\n let uploadingKey = ''\r\n const {\r\n onComplete,\r\n onProcess,\r\n sliceSize,\r\n newVersion = true,\r\n } = this.props;\r\n const onProgress = (totalProgress: any) => {\r\n options.onProgress({ percent: totalProgress }, file);\r\n this.onProcess({ percent: totalProgress, file: file });\r\n onProcess && onProcess({ percent: totalProgress, file: file });\r\n };\r\n try {\r\n const res: any = await upload(\r\n {\r\n file: file,\r\n onProgress: onProgress,\r\n partSize: sliceSize,\r\n uploadKeyCallback: (key) => {\r\n uploadingKey = key\r\n const {fileList} = this.state\r\n let newList: any = [];\r\n fileList.map((item: any) => {\r\n //通过文件名判断,上传是文件名是唯一的\r\n if (\r\n ( item.name !== file.name ||\r\n item.fileId !== file.fileId ||\r\n item.uid !== file.uid)\r\n ) {\r\n newList.push({...item, uploadingKey: item.uploadingKey || uploadingKey});\r\n }else{\r\n newList.push({...item});\r\n }\r\n });\r\n this.setState({\r\n fileList: [...newList],\r\n })\r\n },\r\n },\r\n this.props.requestConfig\r\n );\r\n this.uploadIngSize = this.uploadIngSize + 1;\r\n let fileId = null;\r\n let ImgRes = null;\r\n if (res.code == 200) {\r\n fileId = res.data.attachId;\r\n options.onSuccess();\r\n if (this.props.listType == \"picture-card\" && newVersion) {\r\n ImgRes = await previewImage(fileId, this.props.requestConfig);\r\n }\r\n } else {\r\n options.onError();\r\n }\r\n this.uploadIngList.push({\r\n file: options.file,\r\n fileId: fileId,\r\n status: res.code == 200 ? \"success\" : \"error\",\r\n url: ImgRes ? ImgRes.data : null,\r\n \r\n });\r\n // if (this.uploadSize == this.uploadIngSize) {\r\n this.onComplete(this.uploadIngList);\r\n // }\r\n onComplete &&\r\n onComplete({\r\n file: options.file,\r\n fileId: fileId,\r\n status: res.code == 200 ? \"success\" : \"error\",\r\n });\r\n } catch (e) {\r\n // if (this.uploadSize == this.uploadIngSize) {\r\n this.onComplete(this.uploadIngList);\r\n options.onError();\r\n // }\r\n onComplete &&\r\n onComplete({ file: options.file, fileId: \"\", status: \"error\" });\r\n }\r\n };\r\n onDelete(file) {\r\n const { fileList } = this.state;\r\n const { onListChange } = this.props;\r\n const newList: any = [];\r\n fileList.map((item: any) => {\r\n //通过文件名判断,上传是文件名是唯一的\r\n if (\r\n item.name !== file.name ||\r\n item.fileId !== file.fileId ||\r\n item.uid !== file.uid\r\n ) {\r\n newList.push(item);\r\n }else{\r\n cancleUpload(item.uploadingKey)\r\n }\r\n });\r\n this.setState({\r\n fileList: newList,\r\n },()=>{\r\n onListChange && onListChange(newList);\r\n });\r\n \r\n }\r\n render(): React.ReactNode {\r\n let {\r\n fileList,\r\n fileCard,\r\n showUploadList = {\r\n showDownloadIcon: true,\r\n showPreviewIcon: false,\r\n showRemoveIcon: true,\r\n downloadIcon: null,\r\n removeIcon: null,\r\n previewIcon: null,\r\n } as any,\r\n requestConfig = {},\r\n } = this.props;\r\n const newprops = omit(this.props, [\r\n \"sliceSize\",\r\n \"maxSize\",\r\n \"onComplete\",\r\n \"onProcess\",\r\n \"allowFileSuffix\",\r\n \"useDefaultList\",\r\n \"fileCard\",\r\n \"onListChange\",\r\n \"newVersion\",\r\n \"requestConfig\",\r\n ]);\r\n let defaultProps = {\r\n customRequest: this.customRequest.bind(this),\r\n multiple: true,\r\n } as IUploadProps;\r\n if (fileCard) {\r\n defaultProps = {\r\n ...defaultProps,\r\n itemRender: (originNode, file: any, currFileList) => {\r\n const name = file.name || file.fileName;\r\n const names = name?.split(\".\");\r\n const suffix = names ? names[names.length - 1] : \"\";\r\n return (\r\n <div className={getLess(styles, \"file-item\")}>\r\n <div\r\n className={cls(getLess(styles, \"content\"), {\r\n [getLess(styles, \"content_error\")]: file.status == \"error\",\r\n })}\r\n >\r\n <div className={getLess(styles, \"mark-picture\")}>\r\n <FileIcon suffix={suffix} fileId={file.fileId} />\r\n </div>\r\n <div className={getLess(styles, \"name\")}>\r\n {file.name || file.fileName}\r\n </div>\r\n <div className={getLess(styles, \"icon\")}>\r\n {showUploadList.showPreviewIcon &&\r\n file.status == \"done\" && (\r\n <div\r\n onClick={() => {\r\n if (this.props.onPreview) {\r\n this.props.onPreview(file);\r\n } else {\r\n previewDocument(file.fileId, requestConfig);\r\n }\r\n }}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n {showUploadList.downloadIcon ? (\r\n showUploadList.downloadIcon\r\n ) : (\r\n <EyeOutlined />\r\n )}\r\n </div>\r\n )}\r\n {showUploadList.showDownloadIcon &&\r\n file.status == \"done\" && (\r\n <div\r\n onClick={() => {\r\n if (this.props.onDownload) {\r\n this.props.onDownload(file);\r\n } else {\r\n download(file.fileId, true, requestConfig);\r\n }\r\n }}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n {showUploadList.downloadIcon ? (\r\n showUploadList.downloadIcon\r\n ) : (\r\n <DownloadOutlined />\r\n )}\r\n </div>\r\n )}\r\n {showUploadList.showRemoveIcon && (\r\n <div\r\n onClick={() => {\r\n if (this.props.onRemove) {\r\n this.props.onRemove(file);\r\n } else {\r\n this.onDelete(file);\r\n }\r\n }}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n {showUploadList.downloadIcon ? (\r\n showUploadList.downloadIcon\r\n ) : (\r\n <DeleteOutlined />\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n {file.status == \"uploading\" && (\r\n <div className={getLess(styles, \"process\")}>\r\n <div\r\n className={getLess(styles, \"percent\")}\r\n style={{ width: file.percent + \"%\" }}\r\n ></div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n },\r\n };\r\n } else {\r\n defaultProps = {\r\n ...defaultProps,\r\n onDownload: (file: any) => {\r\n if (this.props.onDownload) {\r\n this.props.onDownload(file);\r\n } else {\r\n download(file.fileId, true, requestConfig);\r\n }\r\n },\r\n onRemove: (file) => {\r\n if (this.props.onRemove) {\r\n this.props.onRemove(file);\r\n } else {\r\n this.onDelete(file);\r\n }\r\n },\r\n onPreview: (file: any) => {\r\n if (this.props.onPreview) {\r\n this.props.onPreview(file);\r\n } else {\r\n if (file?.fileId) {\r\n previewDocument(file.fileId, requestConfig);\r\n }\r\n }\r\n },\r\n showUploadList: { ...showUploadList },\r\n };\r\n }\r\n return (\r\n <>\r\n <Component\r\n {...defaultProps}\r\n {...newprops}\r\n beforeUpload={this.beforeUpload.bind(this)}\r\n fileList={this.state.fileList}\r\n />\r\n </>\r\n );\r\n }\r\n };\r\n};\r\n\r\nconst NscUpload: any = withCustomUpload(Upload);\r\n// // 使用 withCustomUpload 封装 Upload.Dragger 组件\r\nconst NscUploadDragger = withCustomUpload(Upload.Dragger);\r\nNscUpload.Dragger = NscUploadDragger;\r\nexport default NscUpload;\r\n"],"mappings":"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"}
@@ -157,10 +157,12 @@ class EditorForm extends PureComponent {
157
157
  if (!isEmptyObj(this.dateValueFormat)) {
158
158
  for (let key in this.dateValueFormat) {
159
159
  let olddata = data[key];
160
- if (Array.isArray(olddata)) {
161
- data[key] = [dayjs(olddata[0]).format(this.dateValueFormat[key]), dayjs(olddata[1]).format(this.dateValueFormat[key])];
162
- } else {
163
- data[key] = dayjs(olddata).format(this.dateValueFormat[key]);
160
+ if (olddata) {
161
+ if (Array.isArray(olddata)) {
162
+ data[key] = [dayjs(olddata[0]).format(this.dateValueFormat[key]), dayjs(olddata[1]).format(this.dateValueFormat[key])];
163
+ } else {
164
+ data[key] = dayjs(olddata).format(this.dateValueFormat[key]);
165
+ }
164
166
  }
165
167
  }
166
168
  }
@@ -322,4 +324,4 @@ class EditorForm extends PureComponent {
322
324
  }
323
325
  }
324
326
  export default EditorForm;
325
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJGb3JtIiwiZ2V0TGVzcyIsImdldE5vZGUiLCJtZXNzYWdlIiwiQ29sIiwiUm93IiwiaXNFbXB0eU9iaiIsImRheWpzIiwic3R5bGVzIiwibG9kYXNoIiwiQnV0dG9uIiwiVXBsb2FkIiwiRWRpdG9yRm9ybSIsImNvbnN0cnVjdG9yIiwiYXJndW1lbnRzIiwiX2RlZmluZVByb3BlcnR5IiwiY3JlYXRlUmVmIiwibG9hZGluZyIsImxhYmVsIiwiZWRpdG9yRmxhZyIsInZhbHVlIiwiZGljdE5hbWVzIiwiZmlsZUxpc3QiLCJzaG93Iiwib3JnVmFsdWUiLCJlZGl0b3JmbGFnIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwic2V0U3RhdGUiLCJfdGhpcyRmb3JtUmVmJGN1cnJlbnQiLCJjbG9uZURlZXAiLCJkYXRlRm9ybWF0Iiwia2V5Iiwib2xkZGF0YSIsIkFycmF5IiwiaXNBcnJheSIsImZvcm1SZWYiLCJjdXJyZW50Iiwic2hvd0Zvcm0iLCJfdGhpcyRmb3JtUmVmJGN1cnJlbnQyIiwicHJvcHMiLCJkZWZhdWx0VmFsdWUiLCJoaWRlIiwiX3RoaXMkZm9ybVJlZiRjdXJyZW50MyIsIm9uSGlkZUZvcm0iLCJoaWRlRm9ybSIsIl90aGlzJGZvcm1SZWYkY3VycmVudDQiLCJzZXRMb2FkaW5nIiwic2V0RmllbGRzVmFsdWUiLCJ2YWx1ZXMiLCJfdGhpcyRmb3JtUmVmJGN1cnJlbnQ1IiwiZ2V0RmllbGRzVmFsdWUiLCJfdGhpcyRmb3JtUmVmJGN1cnJlbnQ2IiwiZG9TdWJtaXQiLCJkYXRhIiwiX3RoaXMkZm9ybVJlZiRjdXJyZW50NyIsInN1Ym1pdFVybCIsInN1Ym1pdFBhcmFtcyIsImNhbGxCYWNrIiwiRXJyb3IiLCJvblN1Ym1pdCIsIl9vYmplY3RTcHJlYWQiLCJub1VuZGVmaW5lZCIsInJlcyIsImNvZGUiLCJzdWNjZXNzIiwiX3RoaXMkZm9ybVJlZiRjdXJyZW50OCIsIl90aGlzJGZvcm1SZWYkY3VycmVudDkiLCJzdGF0ZSIsImZvcm1WYWx1ZSIsInZhbGlkIiwidmFsaWRhdGVGaWVsZHMiLCJ0aGVuIiwiZGF0ZVZhbHVlRm9ybWF0IiwiZm9ybWF0IiwiaWQiLCJjYXRjaCIsImVycm9ySW5mbyIsInZhbHVlQ2hhbmdlIiwiX3JlZiIsInZhbHVlT3B0aW9uIiwidHlwZSIsImRpY3ROYW1lIiwibmV3TmFtZXMiLCJvbkNoYW5nZSIsInJlbmRlciIsImZvcm1Qcm9wcyIsIm90aGVyUHJvcHMiLCJtb2RhbFByb3BzIiwidGl0bGUiLCJvbk9rIiwiYmluZCIsIm9uQ2FuY2VsIiwib2tCdXR0b25Qcm9wcyIsImNlbnRlcmVkIiwid2lkdGgiLCJuZXdWYWxpZCIsImRyYXdlclByb3BzIiwib25DbG9zZSIsImZvb3RlciIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kcyIsInJlZiIsInNob3dNb2RlbCIsImZvcm1UeXBlIiwibGFiZWxDb2wiLCJmbGV4Iiwid3JhcHBlckNvbCIsIm9uVmFsdWVzQ2hhbmdlIiwiY2hhbmdlZFZhbHVlcyIsImFsbFZhbHVlcyIsIm9uRm9ybUNoYW5nZSIsImNoYW5nZVZhbGlkIiwiY2xhc3NOYW1lIiwiZ3V0dGVyIiwibWFwIiwiaXRlbSIsImluZGV4IiwiaXRlbVByb3BzIiwidmFsdWVGb3JtYXQiLCJuYW1lIiwiYWxsb3dDaGFycyIsInBsYWNlaG9sZGVyIiwiY29uY2F0Iiwic2hvd0NvdW50IiwiZGlzYWJsZWQiLCJydWxlcyIsInB1c2giLCJzcGFuIiwiSXRlbSIsImNvbXBvbmVudE5hbWUiLCJvbkxpc3RDaGFuZ2UiLCJsaXN0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcGFnZS9CYXNlUGFnZS9Gb3JtLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgRm9ybSBmcm9tIFwiLi4vLi4vYmFzZS9mb3JtXCI7XHJcbmltcG9ydCB7IGdldExlc3MsIGdldE5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IG1lc3NhZ2UgZnJvbSBcIi4uLy4uL2Jhc2UvbWVzc2FnZVwiO1xyXG5pbXBvcnQgQ29sIGZyb20gXCIuLi8uLi9iYXNlL2dyaWQvQ29sXCI7XHJcbmltcG9ydCBSb3cgZnJvbSBcIi4uLy4uL2Jhc2UvZ3JpZC9Sb3dcIjtcclxuaW1wb3J0IHsgaXNFbXB0eU9iaiB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcclxuaW1wb3J0IGRheWpzIGZyb20gXCJkYXlqc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lm1vZHVsZS5sZXNzXCI7XHJcbmltcG9ydCB1dGlscyBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IGxvZGFzaCBmcm9tIFwibG9kYXNoXCI7XHJcbmltcG9ydCBCdXR0b24gZnJvbSBcIi4uLy4uL2Jhc2UvYnV0dG9uXCI7XHJcbmltcG9ydCBVcGxvYWQgZnJvbSAnLi4vLi4vYmFzZS91cGxvYWQnXHJcbmNsYXNzIEVkaXRvckZvcm0gZXh0ZW5kcyBQdXJlQ29tcG9uZW50PGFueT4ge1xyXG4gIGZvcm1SZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIHN0YXRlID0ge1xyXG4gICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICBsYWJlbDogXCJcIixcclxuICAgIGVkaXRvckZsYWc6IHRydWUsXHJcbiAgICB2YWx1ZToge30gYXMgYW55LFxyXG4gICAgZGljdE5hbWVzOiB7fSBhcyBhbnksXHJcbiAgICBmaWxlTGlzdDoge30gYXMgYW55XHJcbiAgfTtcclxuICB2YWxpZDogYW55ID0gW107XHJcbiAgZGF0ZVZhbHVlRm9ybWF0ID0ge30gYXMgYW55O1xyXG4gIGRhdGVGb3JtYXQgPSB7fSBhcyBhbnk7XHJcbiAgLy/ooajljZXmmL7npLpcclxuICBzaG93KG9yZ1ZhbHVlPzogYW55LCBlZGl0b3JmbGFnID0gXCJhZGRcIikge1xyXG4gICAgbGV0IGxhYmVsID0gXCLmlrDlop5cIjtcclxuICAgIGlmIChvcmdWYWx1ZSAmJiBlZGl0b3JmbGFnID09IFwiZWRpdG9yXCIpIHtcclxuICAgICAgbGFiZWwgPSBcIue8lui+kVwiO1xyXG4gICAgfSBlbHNlIGlmIChvcmdWYWx1ZSAmJiBlZGl0b3JmbGFnID09IFwiZGV0YWlsXCIpIHtcclxuICAgICAgbGFiZWwgPSBcIuafpeeci1wiO1xyXG4gICAgfVxyXG4gICAgaWYgKG9yZ1ZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6IGxhYmVsLFxyXG4gICAgICAgICAgdmFsdWU6IG9yZ1ZhbHVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgbGV0IHZhbHVlID0gbG9kYXNoLmNsb25lRGVlcChvcmdWYWx1ZSk7XHJcbiAgICAgICAgICBpZiAoIWlzRW1wdHlPYmoodGhpcy5kYXRlRm9ybWF0KSkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBrZXkgaW4gdGhpcy5kYXRlRm9ybWF0KSB7XHJcbiAgICAgICAgICAgICAgbGV0IG9sZGRhdGEgPSB2YWx1ZVtrZXldO1xyXG4gICAgICAgICAgICAgIGlmIChvbGRkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvbGRkYXRhKSkge1xyXG4gICAgICAgICAgICAgICAgICB2YWx1ZVtrZXldID0gW1xyXG4gICAgICAgICAgICAgICAgICAgIGRheWpzKG9sZGRhdGFbMF0sIHRoaXMuZGF0ZUZvcm1hdFtrZXldKSxcclxuICAgICAgICAgICAgICAgICAgICBkYXlqcyhvbGRkYXRhWzFdLCB0aGlzLmRhdGVGb3JtYXRba2V5XSksXHJcbiAgICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICB2YWx1ZVtrZXldID0gZGF5anMob2xkZGF0YSwgdGhpcy5kYXRlRm9ybWF0W2tleV0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLy8gY29uc29sZS5sb2coXCJ2YWx1ZVwiLCB2YWx1ZSk7XHJcbiAgICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2hvd0Zvcm0odmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6IGxhYmVsLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNob3dGb3JtKHRoaXMucHJvcHMuZGVmYXVsdFZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGhpZGUoaGlkZSA9IHRydWUpIHtcclxuICAgIGNvbnN0IHsgb25IaWRlRm9ybSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChvbkhpZGVGb3JtKSB7XHJcbiAgICAgIG9uSGlkZUZvcm0gJiYgb25IaWRlRm9ybSgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFN0YXRlKHsgbG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICBoaWRlICYmIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5oaWRlRm9ybSgpO1xyXG4gIH1cclxuICBoaWRlRm9ybSgpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5oaWRlRm9ybSgpO1xyXG4gIH1cclxuICBzZXRMb2FkaW5nKGxvYWRpbmc6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiBsb2FkaW5nIH0pO1xyXG4gIH1cclxuICBzZXRGaWVsZHNWYWx1ZSh2YWx1ZXMpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zZXRGaWVsZHNWYWx1ZSh2YWx1ZXMpO1xyXG4gIH1cclxuICBnZXRGaWVsZHNWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICB9XHJcblxyXG4gIGRvU3VibWl0KGRhdGEsIGxhYmVsKSB7XHJcbiAgICBjb25zdCB7IHN1Ym1pdFVybCwgc3VibWl0UGFyYW1zLCBjYWxsQmFjayB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghc3VibWl0VXJsKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOS4jeiDveS4uuepuu+8gVwiKTtcclxuICAgIH1cclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5vblN1Ym1pdChcclxuICAgICAgc3VibWl0VXJsLFxyXG4gICAgICB7XHJcbiAgICAgICAgZGF0YTogeyAuLi5kYXRhIH0sXHJcbiAgICAgICAgbm9VbmRlZmluZWQ6IGxhYmVsID09IFwi57yW6L6RXCIsXHJcbiAgICAgICAgc3VibWl0UGFyYW1zLFxyXG4gICAgICB9LFxyXG4gICAgICAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCB7IGNvZGUgfSA9IHJlcztcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHsgbG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKGxhYmVsICsgXCLmiJDlip9cIik7XHJcbiAgICAgICAgICB0aGlzLmhpZGUodHJ1ZSk7XHJcbiAgICAgICAgICBjYWxsQmFjayAmJiBjYWxsQmFjaygpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmhpZGUoZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuICBvblN1Ym1pdCgpIHtcclxuICAgIGNvbnN0IHsgb25TdWJtaXQgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGxhYmVsLCB2YWx1ZSwgZGljdE5hbWVzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBsZXQgdmFsaWQgPSB0aGlzLnZhbGlkO1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnRcclxuICAgICAgPy52YWxpZGF0ZUZpZWxkcyh2YWxpZClcclxuICAgICAgLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIGxldCBkYXRhID0geyAuLi5mb3JtVmFsdWUsIC4uLmRpY3ROYW1lcyB9O1xyXG4gICAgICAgIGlmICghaXNFbXB0eU9iaih0aGlzLmRhdGVWYWx1ZUZvcm1hdCkpIHtcclxuICAgICAgICAgIGZvciAobGV0IGtleSBpbiB0aGlzLmRhdGVWYWx1ZUZvcm1hdCkge1xyXG4gICAgICAgICAgICBsZXQgb2xkZGF0YSA9IGRhdGFba2V5XTtcclxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkob2xkZGF0YSkpIHtcclxuICAgICAgICAgICAgICBkYXRhW2tleV0gPSBbXHJcbiAgICAgICAgICAgICAgICBkYXlqcyhvbGRkYXRhWzBdKS5mb3JtYXQodGhpcy5kYXRlVmFsdWVGb3JtYXRba2V5XSksXHJcbiAgICAgICAgICAgICAgICBkYXlqcyhvbGRkYXRhWzFdKS5mb3JtYXQodGhpcy5kYXRlVmFsdWVGb3JtYXRba2V5XSksXHJcbiAgICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBkYXRhW2tleV0gPSBkYXlqcyhvbGRkYXRhKS5mb3JtYXQodGhpcy5kYXRlVmFsdWVGb3JtYXRba2V5XSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGxhYmVsID09IFwi57yW6L6RXCIpIHtcclxuICAgICAgICAgIGRhdGEgPSB7IC4uLmRhdGEsIGlkOiB2YWx1ZT8uaWQgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKG9uU3VibWl0KSB7XHJcbiAgICAgICAgICBvblN1Ym1pdCAmJiBvblN1Ym1pdChkYXRhLCBsYWJlbCk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZG9TdWJtaXQoZGF0YSwgbGFiZWwpO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goKGVycm9ySW5mbzogYW55KSA9PiB7fSk7XHJcbiAgfVxyXG4gIHZhbHVlQ2hhbmdlKHsgdHlwZSwgZGljdE5hbWUgfSwgcHJvcHMsIHZhbHVlLCB2YWx1ZU9wdGlvbiwgZGF0YSkge1xyXG4gICAgaWYgKHZhbHVlT3B0aW9uKSB7XHJcbiAgICAgIGlmIChkaWN0TmFtZSkge1xyXG4gICAgICAgIGNvbnN0IHsgZGljdE5hbWVzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICAgIGNvbnN0IG5ld05hbWVzID0geyAuLi5kaWN0TmFtZXMgfSBhcyBhbnk7XHJcbiAgICAgICAgbmV3TmFtZXNbZGljdE5hbWVdID0gdmFsdWVPcHRpb24ubGFiZWw7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBkaWN0TmFtZXM6IG5ld05hbWVzLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcHMub25DaGFuZ2UpIHtcclxuICAgICAgcHJvcHMub25DaGFuZ2UodmFsdWUsIHZhbHVlT3B0aW9uLCBkYXRhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgZm9ybVByb3BzID0gW10sIG90aGVyUHJvcHMgPSB7fSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgbG9hZGluZywgbGFiZWwgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgbW9kYWxQcm9wcyA9IHtcclxuICAgICAgdGl0bGU6IGxhYmVsLFxyXG4gICAgICBvbk9rOiB0aGlzLm9uU3VibWl0LmJpbmQodGhpcyksXHJcbiAgICAgIG9uQ2FuY2VsOiB0aGlzLmhpZGUuYmluZCh0aGlzKSxcclxuICAgICAgb2tCdXR0b25Qcm9wczogeyBsb2FkaW5nOiBsb2FkaW5nIH0sXHJcbiAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICB3aWR0aDogXCI1MHZ3XCIsXHJcbiAgICB9IGFzIGFueTtcclxuXHJcbiAgICBjb25zdCBuZXdWYWxpZDogYW55W10gPSBbXTtcclxuICAgIGxldCBkcmF3ZXJQcm9wcyA9IHtcclxuICAgICAgdGl0bGU6IGxhYmVsLFxyXG4gICAgICBvbk9rOiB0aGlzLm9uU3VibWl0LmJpbmQodGhpcyksXHJcbiAgICAgIG9uQ2xvc2U6IHRoaXMuaGlkZS5iaW5kKHRoaXMpLFxyXG4gICAgICB3aWR0aDogXCI1MHZ3XCIsXHJcbiAgICB9IGFzIGFueTtcclxuICAgIGlmIChsYWJlbCA9PSBcIuafpeeci1wiKSB7XHJcbiAgICAgIG1vZGFsUHJvcHMuZm9vdGVyID0gbnVsbDtcclxuICAgICAgZHJhd2VyUHJvcHMuZm9vdGVyID0gbnVsbDtcclxuICAgIH1cclxuICAgIHRoaXMuZGF0ZVZhbHVlRm9ybWF0ID0ge307XHJcbiAgICB0aGlzLmRhdGVGb3JtYXQgPSB7fTtcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8Rm9ybVxyXG4gICAgICAgIHJlZj17dGhpcy5mb3JtUmVmfVxyXG4gICAgICAgIHNob3dNb2RlbD17dGhpcy5wcm9wcy5mb3JtVHlwZX1cclxuICAgICAgICBtb2RhbFByb3BzPXt7IC4uLm1vZGFsUHJvcHMgfX1cclxuICAgICAgICBkcmF3ZXJQcm9wcz17eyAuLi5kcmF3ZXJQcm9wcyB9fVxyXG4gICAgICAgIGxhYmVsQ29sPXt7IGZsZXg6IFwiMTAwcHhcIiB9fVxyXG4gICAgICAgIHdyYXBwZXJDb2w9e3sgZmxleDogXCIxNXZ3XCIgfX1cclxuICAgICAgICBvblZhbHVlc0NoYW5nZT17KGNoYW5nZWRWYWx1ZXMsIGFsbFZhbHVlcykgPT4ge1xyXG4gICAgICAgICAgY29uc3QgeyBvbkZvcm1DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgICAgICBvbkZvcm1DaGFuZ2UgJiYgb25Gb3JtQ2hhbmdlKGNoYW5nZWRWYWx1ZXMsIGFsbFZhbHVlcyk7XHJcbiAgICAgICAgfX1cclxuICAgICAgICBjaGFuZ2VWYWxpZD17dGhpcy5wcm9wcy5jaGFuZ2VWYWxpZH1cclxuICAgICAgICB7Li4ub3RoZXJQcm9wc31cclxuICAgICAgPlxyXG4gICAgICAgIHsvKiA8ZGl2PiAqL31cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZm9ybVwiKX0+XHJcbiAgICAgICAgICA8Um93IGd1dHRlcj17MjR9PlxyXG4gICAgICAgICAgICB7Zm9ybVByb3BzLm1hcCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgaXRlbVByb3BzID0gaXRlbS5wcm9wcyB8fCB7fTtcclxuICAgICAgICAgICAgICBpZiAoaXRlbVByb3BzLmZvcm1hdCB8fCBpdGVtUHJvcHMudmFsdWVGb3JtYXQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGF0ZVZhbHVlRm9ybWF0W2l0ZW0ubmFtZV0gPVxyXG4gICAgICAgICAgICAgICAgICBpdGVtUHJvcHMuZm9ybWF0IHx8IGl0ZW1Qcm9wcy52YWx1ZUZvcm1hdDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgaWYgKGl0ZW1Qcm9wcy5mb3JtYXQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGF0ZUZvcm1hdFtpdGVtLm5hbWVdID0gaXRlbVByb3BzLmZvcm1hdDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgbGV0IGFsbG93Q2hhcnMgPSBpdGVtLnByb3BzLmFsbG93Q2hhcnMgfHwgZmFsc2U7XHJcbiAgICAgICAgICAgICAgbGV0IHByb3BzID0ge1xyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IGDor7fovpPlhaUke2l0ZW0ubGFiZWx9YCxcclxuXHJcbiAgICAgICAgICAgICAgICAuLi5pdGVtLnByb3BzLFxyXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U6IHRoaXMudmFsdWVDaGFuZ2UuYmluZChcclxuICAgICAgICAgICAgICAgICAgdGhpcyxcclxuICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IGl0ZW0udHlwZSxcclxuICAgICAgICAgICAgICAgICAgICBkaWN0TmFtZTogaXRlbS5kaWN0TmFtZSxcclxuICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgeyAuLi5pdGVtLnByb3BzIH1cclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICBpZiAoIWl0ZW0udHlwZSB8fCBpdGVtLnR5cGUgPT0gXCJJbnB1dFwiKSB7XHJcbiAgICAgICAgICAgICAgICBwcm9wcy5hbGxvd0NoYXJzID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHByb3BzLnNob3dDb3VudCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGRlbGV0ZSBwcm9wcy52YWx1ZUZvcm1hdDtcclxuICAgICAgICAgICAgICBkZWxldGUgcHJvcHMuZm9ybWF0O1xyXG4gICAgICAgICAgICAgIGlmIChsYWJlbCA9PSBcIuafpeeci1wiKSB7XHJcbiAgICAgICAgICAgICAgICBwcm9wcy5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICBpZiAoaXRlbS5ydWxlcyAmJiBpdGVtLnJ1bGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIG5ld1ZhbGlkLnB1c2goaXRlbS5uYW1lKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgaWYgKGluZGV4ICsgMSA9PT0gZm9ybVByb3BzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZCA9IG5ld1ZhbGlkO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBpZiAoaXRlbS50eXBlICE9PSAnVXBsb2FkJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgICAgPENvbCBzcGFuPXtpdGVtLnNwYW4gfHwgMTJ9IGtleT17aW5kZXh9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxGb3JtLkl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXtpdGVtLmxhYmVsfVxyXG4gICAgICAgICAgICAgICAgICAgICAgbmFtZT17aXRlbS5uYW1lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgcnVsZXM9e2l0ZW0ucnVsZXN9XHJcbiAgICAgICAgICAgICAgICAgICAgICBhbGxvd0NoYXJzPXthbGxvd0NoYXJzfVxyXG4gICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50TmFtZT17aXRlbS50eXBlID8gaXRlbS50eXBlIDogXCJJbnB1dFwifVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHtnZXROb2RlKGl0ZW0udHlwZSwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5wcm9wcyxcclxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxyXG4gICAgICAgICAgICAgICAgICA8L0NvbD5cclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICAgIDxDb2wgc3Bhbj17aXRlbS5zcGFuIHx8IDEyfSBrZXk9e2luZGV4fT5cclxuICAgICAgICAgICAgICAgICAgICA8Rm9ybS5JdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17aXRlbS5sYWJlbH1cclxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2l0ZW0ubmFtZX1cclxuICAgICAgICAgICAgICAgICAgICAgIHJ1bGVzPXtpdGVtLnJ1bGVzfVxyXG4gICAgICAgICAgICAgICAgICAgICAgYWxsb3dDaGFycz17YWxsb3dDaGFyc31cclxuICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudE5hbWU9e2l0ZW0udHlwZSA/IGl0ZW0udHlwZSA6IFwiSW5wdXRcIn1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8VXBsb2FkIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlTGlzdD17dGhpcy5zdGF0ZS5maWxlTGlzdFtpdGVtLm5hbWVdIHx8IFtdfSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgb25MaXN0Q2hhbmdlPXsobGlzdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgZmlsZUxpc3QgfSA9IHRoaXMuc3RhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVMaXN0OiB7IC4uLmZpbGVMaXN0LCBbaXRlbS5uYW1lXTogbGlzdCB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX0gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc30+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24+5LiK5Lyg5paH5Lu2PC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L1VwbG9hZD5cclxuICAgICAgICAgICAgICAgICAgICA8L0Zvcm0uSXRlbT5cclxuICAgICAgICAgICAgICAgICAgPC9Db2w+XHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICA8L1Jvdz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9Gb3JtPlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IEVkaXRvckZvcm07XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBT0EsS0FBSyxJQUFJQyxhQUFhLFFBQVEsT0FBTztBQUM1QyxPQUFPQyxJQUFJLE1BQU0saUJBQWlCO0FBQ2xDLFNBQVNDLE9BQU8sRUFBRUMsT0FBTyxRQUFRLGFBQWE7QUFDOUMsT0FBT0MsT0FBTyxNQUFNLG9CQUFvQjtBQUN4QyxPQUFPQyxHQUFHLE1BQU0scUJBQXFCO0FBQ3JDLE9BQU9DLEdBQUcsTUFBTSxxQkFBcUI7QUFDckMsU0FBU0MsVUFBVSxRQUFRLG1CQUFtQjtBQUU5QyxPQUFPQyxLQUFLLE1BQU0sT0FBTztBQUN6QixPQUFPQyxNQUFNLE1BQU0scUJBQXFCO0FBRXhDLE9BQU9DLE1BQU0sTUFBTSxRQUFRO0FBQzNCLE9BQU9DLE1BQU0sTUFBTSxtQkFBbUI7QUFDdEMsT0FBT0MsTUFBTSxNQUFNLG1CQUFtQjtBQUN0QyxNQUFNQyxVQUFVLFNBQVNiLGFBQWEsQ0FBTTtFQUFBYyxZQUFBO0lBQUEsU0FBQUMsU0FBQTtJQUFBQyxlQUFBLCtCQUNoQ2pCLEtBQUssQ0FBQ2tCLFNBQVMsQ0FBTSxDQUFDO0lBQUFELGVBQUEsZ0JBQ3hCO01BQ05FLE9BQU8sRUFBRSxLQUFLO01BQ2RDLEtBQUssRUFBRSxFQUFFO01BQ1RDLFVBQVUsRUFBRSxJQUFJO01BQ2hCQyxLQUFLLEVBQUUsQ0FBQyxDQUFRO01BQ2hCQyxTQUFTLEVBQUUsQ0FBQyxDQUFRO01BQ3BCQyxRQUFRLEVBQUUsQ0FBQztJQUNiLENBQUM7SUFBQVAsZUFBQSxnQkFDWSxFQUFFO0lBQUFBLGVBQUEsMEJBQ0csQ0FBQyxDQUFDO0lBQUFBLGVBQUEscUJBQ1As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
327
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJGb3JtIiwiZ2V0TGVzcyIsImdldE5vZGUiLCJtZXNzYWdlIiwiQ29sIiwiUm93IiwiaXNFbXB0eU9iaiIsImRheWpzIiwic3R5bGVzIiwibG9kYXNoIiwiQnV0dG9uIiwiVXBsb2FkIiwiRWRpdG9yRm9ybSIsImNvbnN0cnVjdG9yIiwiYXJndW1lbnRzIiwiX2RlZmluZVByb3BlcnR5IiwiY3JlYXRlUmVmIiwibG9hZGluZyIsImxhYmVsIiwiZWRpdG9yRmxhZyIsInZhbHVlIiwiZGljdE5hbWVzIiwiZmlsZUxpc3QiLCJzaG93Iiwib3JnVmFsdWUiLCJlZGl0b3JmbGFnIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwic2V0U3RhdGUiLCJfdGhpcyRmb3JtUmVmJGN1cnJlbnQiLCJjbG9uZURlZXAiLCJkYXRlRm9ybWF0Iiwia2V5Iiwib2xkZGF0YSIsIkFycmF5IiwiaXNBcnJheSIsImZvcm1SZWYiLCJjdXJyZW50Iiwic2hvd0Zvcm0iLCJfdGhpcyRmb3JtUmVmJGN1cnJlbnQyIiwicHJvcHMiLCJkZWZhdWx0VmFsdWUiLCJoaWRlIiwiX3RoaXMkZm9ybVJlZiRjdXJyZW50MyIsIm9uSGlkZUZvcm0iLCJoaWRlRm9ybSIsIl90aGlzJGZvcm1SZWYkY3VycmVudDQiLCJzZXRMb2FkaW5nIiwic2V0RmllbGRzVmFsdWUiLCJ2YWx1ZXMiLCJfdGhpcyRmb3JtUmVmJGN1cnJlbnQ1IiwiZ2V0RmllbGRzVmFsdWUiLCJfdGhpcyRmb3JtUmVmJGN1cnJlbnQ2IiwiZG9TdWJtaXQiLCJkYXRhIiwiX3RoaXMkZm9ybVJlZiRjdXJyZW50NyIsInN1Ym1pdFVybCIsInN1Ym1pdFBhcmFtcyIsImNhbGxCYWNrIiwiRXJyb3IiLCJvblN1Ym1pdCIsIl9vYmplY3RTcHJlYWQiLCJub1VuZGVmaW5lZCIsInJlcyIsImNvZGUiLCJzdWNjZXNzIiwiX3RoaXMkZm9ybVJlZiRjdXJyZW50OCIsIl90aGlzJGZvcm1SZWYkY3VycmVudDkiLCJzdGF0ZSIsImZvcm1WYWx1ZSIsInZhbGlkIiwidmFsaWRhdGVGaWVsZHMiLCJ0aGVuIiwiZGF0ZVZhbHVlRm9ybWF0IiwiZm9ybWF0IiwiaWQiLCJjYXRjaCIsImVycm9ySW5mbyIsInZhbHVlQ2hhbmdlIiwiX3JlZiIsInZhbHVlT3B0aW9uIiwidHlwZSIsImRpY3ROYW1lIiwibmV3TmFtZXMiLCJvbkNoYW5nZSIsInJlbmRlciIsImZvcm1Qcm9wcyIsIm90aGVyUHJvcHMiLCJtb2RhbFByb3BzIiwidGl0bGUiLCJvbk9rIiwiYmluZCIsIm9uQ2FuY2VsIiwib2tCdXR0b25Qcm9wcyIsImNlbnRlcmVkIiwid2lkdGgiLCJuZXdWYWxpZCIsImRyYXdlclByb3BzIiwib25DbG9zZSIsImZvb3RlciIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kcyIsInJlZiIsInNob3dNb2RlbCIsImZvcm1UeXBlIiwibGFiZWxDb2wiLCJmbGV4Iiwid3JhcHBlckNvbCIsIm9uVmFsdWVzQ2hhbmdlIiwiY2hhbmdlZFZhbHVlcyIsImFsbFZhbHVlcyIsIm9uRm9ybUNoYW5nZSIsImNoYW5nZVZhbGlkIiwiY2xhc3NOYW1lIiwiZ3V0dGVyIiwibWFwIiwiaXRlbSIsImluZGV4IiwiaXRlbVByb3BzIiwidmFsdWVGb3JtYXQiLCJuYW1lIiwiYWxsb3dDaGFycyIsInBsYWNlaG9sZGVyIiwiY29uY2F0Iiwic2hvd0NvdW50IiwiZGlzYWJsZWQiLCJydWxlcyIsInB1c2giLCJzcGFuIiwiSXRlbSIsImNvbXBvbmVudE5hbWUiLCJvbkxpc3RDaGFuZ2UiLCJsaXN0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcGFnZS9CYXNlUGFnZS9Gb3JtLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgRm9ybSBmcm9tIFwiLi4vLi4vYmFzZS9mb3JtXCI7XHJcbmltcG9ydCB7IGdldExlc3MsIGdldE5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IG1lc3NhZ2UgZnJvbSBcIi4uLy4uL2Jhc2UvbWVzc2FnZVwiO1xyXG5pbXBvcnQgQ29sIGZyb20gXCIuLi8uLi9iYXNlL2dyaWQvQ29sXCI7XHJcbmltcG9ydCBSb3cgZnJvbSBcIi4uLy4uL2Jhc2UvZ3JpZC9Sb3dcIjtcclxuaW1wb3J0IHsgaXNFbXB0eU9iaiB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcclxuaW1wb3J0IGRheWpzIGZyb20gXCJkYXlqc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lm1vZHVsZS5sZXNzXCI7XHJcbmltcG9ydCB1dGlscyBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IGxvZGFzaCBmcm9tIFwibG9kYXNoXCI7XHJcbmltcG9ydCBCdXR0b24gZnJvbSBcIi4uLy4uL2Jhc2UvYnV0dG9uXCI7XHJcbmltcG9ydCBVcGxvYWQgZnJvbSAnLi4vLi4vYmFzZS91cGxvYWQnXHJcbmNsYXNzIEVkaXRvckZvcm0gZXh0ZW5kcyBQdXJlQ29tcG9uZW50PGFueT4ge1xyXG4gIGZvcm1SZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIHN0YXRlID0ge1xyXG4gICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICBsYWJlbDogXCJcIixcclxuICAgIGVkaXRvckZsYWc6IHRydWUsXHJcbiAgICB2YWx1ZToge30gYXMgYW55LFxyXG4gICAgZGljdE5hbWVzOiB7fSBhcyBhbnksXHJcbiAgICBmaWxlTGlzdDoge30gYXMgYW55XHJcbiAgfTtcclxuICB2YWxpZDogYW55ID0gW107XHJcbiAgZGF0ZVZhbHVlRm9ybWF0ID0ge30gYXMgYW55O1xyXG4gIGRhdGVGb3JtYXQgPSB7fSBhcyBhbnk7XHJcbiAgLy/ooajljZXmmL7npLpcclxuICBzaG93KG9yZ1ZhbHVlPzogYW55LCBlZGl0b3JmbGFnID0gXCJhZGRcIikge1xyXG4gICAgbGV0IGxhYmVsID0gXCLmlrDlop5cIjtcclxuICAgIGlmIChvcmdWYWx1ZSAmJiBlZGl0b3JmbGFnID09IFwiZWRpdG9yXCIpIHtcclxuICAgICAgbGFiZWwgPSBcIue8lui+kVwiO1xyXG4gICAgfSBlbHNlIGlmIChvcmdWYWx1ZSAmJiBlZGl0b3JmbGFnID09IFwiZGV0YWlsXCIpIHtcclxuICAgICAgbGFiZWwgPSBcIuafpeeci1wiO1xyXG4gICAgfVxyXG4gICAgaWYgKG9yZ1ZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6IGxhYmVsLFxyXG4gICAgICAgICAgdmFsdWU6IG9yZ1ZhbHVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgbGV0IHZhbHVlID0gbG9kYXNoLmNsb25lRGVlcChvcmdWYWx1ZSk7XHJcbiAgICAgICAgICBpZiAoIWlzRW1wdHlPYmoodGhpcy5kYXRlRm9ybWF0KSkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBrZXkgaW4gdGhpcy5kYXRlRm9ybWF0KSB7XHJcbiAgICAgICAgICAgICAgbGV0IG9sZGRhdGEgPSB2YWx1ZVtrZXldO1xyXG4gICAgICAgICAgICAgIGlmIChvbGRkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvbGRkYXRhKSkge1xyXG4gICAgICAgICAgICAgICAgICB2YWx1ZVtrZXldID0gW1xyXG4gICAgICAgICAgICAgICAgICAgIGRheWpzKG9sZGRhdGFbMF0sIHRoaXMuZGF0ZUZvcm1hdFtrZXldKSxcclxuICAgICAgICAgICAgICAgICAgICBkYXlqcyhvbGRkYXRhWzFdLCB0aGlzLmRhdGVGb3JtYXRba2V5XSksXHJcbiAgICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICB2YWx1ZVtrZXldID0gZGF5anMob2xkZGF0YSwgdGhpcy5kYXRlRm9ybWF0W2tleV0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLy8gY29uc29sZS5sb2coXCJ2YWx1ZVwiLCB2YWx1ZSk7XHJcbiAgICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2hvd0Zvcm0odmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6IGxhYmVsLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNob3dGb3JtKHRoaXMucHJvcHMuZGVmYXVsdFZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGhpZGUoaGlkZSA9IHRydWUpIHtcclxuICAgIGNvbnN0IHsgb25IaWRlRm9ybSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChvbkhpZGVGb3JtKSB7XHJcbiAgICAgIG9uSGlkZUZvcm0gJiYgb25IaWRlRm9ybSgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFN0YXRlKHsgbG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICBoaWRlICYmIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5oaWRlRm9ybSgpO1xyXG4gIH1cclxuICBoaWRlRm9ybSgpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5oaWRlRm9ybSgpO1xyXG4gIH1cclxuICBzZXRMb2FkaW5nKGxvYWRpbmc6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiBsb2FkaW5nIH0pO1xyXG4gIH1cclxuICBzZXRGaWVsZHNWYWx1ZSh2YWx1ZXMpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zZXRGaWVsZHNWYWx1ZSh2YWx1ZXMpO1xyXG4gIH1cclxuICBnZXRGaWVsZHNWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICB9XHJcblxyXG4gIGRvU3VibWl0KGRhdGEsIGxhYmVsKSB7XHJcbiAgICBjb25zdCB7IHN1Ym1pdFVybCwgc3VibWl0UGFyYW1zLCBjYWxsQmFjayB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghc3VibWl0VXJsKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOS4jeiDveS4uuepuu+8gVwiKTtcclxuICAgIH1cclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5vblN1Ym1pdChcclxuICAgICAgc3VibWl0VXJsLFxyXG4gICAgICB7XHJcbiAgICAgICAgZGF0YTogeyAuLi5kYXRhIH0sXHJcbiAgICAgICAgbm9VbmRlZmluZWQ6IGxhYmVsID09IFwi57yW6L6RXCIsXHJcbiAgICAgICAgc3VibWl0UGFyYW1zLFxyXG4gICAgICB9LFxyXG4gICAgICAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCB7IGNvZGUgfSA9IHJlcztcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHsgbG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKGxhYmVsICsgXCLmiJDlip9cIik7XHJcbiAgICAgICAgICB0aGlzLmhpZGUodHJ1ZSk7XHJcbiAgICAgICAgICBjYWxsQmFjayAmJiBjYWxsQmFjaygpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmhpZGUoZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuICBvblN1Ym1pdCgpIHtcclxuICAgIGNvbnN0IHsgb25TdWJtaXQgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGxhYmVsLCB2YWx1ZSwgZGljdE5hbWVzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBsZXQgdmFsaWQgPSB0aGlzLnZhbGlkO1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnRcclxuICAgICAgPy52YWxpZGF0ZUZpZWxkcyh2YWxpZClcclxuICAgICAgLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIGxldCBkYXRhID0geyAuLi5mb3JtVmFsdWUsIC4uLmRpY3ROYW1lcyB9O1xyXG4gICAgICAgIGlmICghaXNFbXB0eU9iaih0aGlzLmRhdGVWYWx1ZUZvcm1hdCkpIHsgICAgICAgIFxyXG4gICAgICAgICAgZm9yIChsZXQga2V5IGluIHRoaXMuZGF0ZVZhbHVlRm9ybWF0KSB7XHJcbiAgICAgICAgICAgIGxldCBvbGRkYXRhID0gZGF0YVtrZXldO1xyXG4gICAgICAgICAgICBpZiAob2xkZGF0YSkge1xyXG4gICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9sZGRhdGEpKSB7XHJcbiAgICAgICAgICAgICAgICBkYXRhW2tleV0gPSBbXHJcbiAgICAgICAgICAgICAgICAgIGRheWpzKG9sZGRhdGFbMF0pLmZvcm1hdCh0aGlzLmRhdGVWYWx1ZUZvcm1hdFtrZXldKSxcclxuICAgICAgICAgICAgICAgICAgZGF5anMob2xkZGF0YVsxXSkuZm9ybWF0KHRoaXMuZGF0ZVZhbHVlRm9ybWF0W2tleV0pLFxyXG4gICAgICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgZGF0YVtrZXldID0gZGF5anMob2xkZGF0YSkuZm9ybWF0KHRoaXMuZGF0ZVZhbHVlRm9ybWF0W2tleV0pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAobGFiZWwgPT0gXCLnvJbovpFcIikge1xyXG4gICAgICAgICAgZGF0YSA9IHsgLi4uZGF0YSwgaWQ6IHZhbHVlPy5pZCB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAob25TdWJtaXQpIHtcclxuICAgICAgICAgIG9uU3VibWl0ICYmIG9uU3VibWl0KGRhdGEsIGxhYmVsKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5kb1N1Ym1pdChkYXRhLCBsYWJlbCk7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5jYXRjaCgoZXJyb3JJbmZvOiBhbnkpID0+IHsgfSk7XHJcbiAgfVxyXG4gIHZhbHVlQ2hhbmdlKHsgdHlwZSwgZGljdE5hbWUgfSwgcHJvcHMsIHZhbHVlLCB2YWx1ZU9wdGlvbiwgZGF0YSkge1xyXG4gICAgaWYgKHZhbHVlT3B0aW9uKSB7XHJcbiAgICAgIGlmIChkaWN0TmFtZSkge1xyXG4gICAgICAgIGNvbnN0IHsgZGljdE5hbWVzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICAgIGNvbnN0IG5ld05hbWVzID0geyAuLi5kaWN0TmFtZXMgfSBhcyBhbnk7XHJcbiAgICAgICAgbmV3TmFtZXNbZGljdE5hbWVdID0gdmFsdWVPcHRpb24ubGFiZWw7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBkaWN0TmFtZXM6IG5ld05hbWVzLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcHMub25DaGFuZ2UpIHtcclxuICAgICAgcHJvcHMub25DaGFuZ2UodmFsdWUsIHZhbHVlT3B0aW9uLCBkYXRhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgZm9ybVByb3BzID0gW10sIG90aGVyUHJvcHMgPSB7fSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgbG9hZGluZywgbGFiZWwgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgbW9kYWxQcm9wcyA9IHtcclxuICAgICAgdGl0bGU6IGxhYmVsLFxyXG4gICAgICBvbk9rOiB0aGlzLm9uU3VibWl0LmJpbmQodGhpcyksXHJcbiAgICAgIG9uQ2FuY2VsOiB0aGlzLmhpZGUuYmluZCh0aGlzKSxcclxuICAgICAgb2tCdXR0b25Qcm9wczogeyBsb2FkaW5nOiBsb2FkaW5nIH0sXHJcbiAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICB3aWR0aDogXCI1MHZ3XCIsXHJcbiAgICB9IGFzIGFueTtcclxuXHJcbiAgICBjb25zdCBuZXdWYWxpZDogYW55W10gPSBbXTtcclxuICAgIGxldCBkcmF3ZXJQcm9wcyA9IHtcclxuICAgICAgdGl0bGU6IGxhYmVsLFxyXG4gICAgICBvbk9rOiB0aGlzLm9uU3VibWl0LmJpbmQodGhpcyksXHJcbiAgICAgIG9uQ2xvc2U6IHRoaXMuaGlkZS5iaW5kKHRoaXMpLFxyXG4gICAgICB3aWR0aDogXCI1MHZ3XCIsXHJcbiAgICB9IGFzIGFueTtcclxuICAgIGlmIChsYWJlbCA9PSBcIuafpeeci1wiKSB7XHJcbiAgICAgIG1vZGFsUHJvcHMuZm9vdGVyID0gbnVsbDtcclxuICAgICAgZHJhd2VyUHJvcHMuZm9vdGVyID0gbnVsbDtcclxuICAgIH1cclxuICAgIHRoaXMuZGF0ZVZhbHVlRm9ybWF0ID0ge307XHJcbiAgICB0aGlzLmRhdGVGb3JtYXQgPSB7fTtcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8Rm9ybVxyXG4gICAgICAgIHJlZj17dGhpcy5mb3JtUmVmfVxyXG4gICAgICAgIHNob3dNb2RlbD17dGhpcy5wcm9wcy5mb3JtVHlwZX1cclxuICAgICAgICBtb2RhbFByb3BzPXt7IC4uLm1vZGFsUHJvcHMgfX1cclxuICAgICAgICBkcmF3ZXJQcm9wcz17eyAuLi5kcmF3ZXJQcm9wcyB9fVxyXG4gICAgICAgIGxhYmVsQ29sPXt7IGZsZXg6IFwiMTAwcHhcIiB9fVxyXG4gICAgICAgIHdyYXBwZXJDb2w9e3sgZmxleDogXCIxNXZ3XCIgfX1cclxuICAgICAgICBvblZhbHVlc0NoYW5nZT17KGNoYW5nZWRWYWx1ZXMsIGFsbFZhbHVlcykgPT4ge1xyXG4gICAgICAgICAgY29uc3QgeyBvbkZvcm1DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgICAgICBvbkZvcm1DaGFuZ2UgJiYgb25Gb3JtQ2hhbmdlKGNoYW5nZWRWYWx1ZXMsIGFsbFZhbHVlcyk7XHJcbiAgICAgICAgfX1cclxuICAgICAgICBjaGFuZ2VWYWxpZD17dGhpcy5wcm9wcy5jaGFuZ2VWYWxpZH1cclxuICAgICAgICB7Li4ub3RoZXJQcm9wc31cclxuICAgICAgPlxyXG4gICAgICAgIHsvKiA8ZGl2PiAqL31cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZm9ybVwiKX0+XHJcbiAgICAgICAgICA8Um93IGd1dHRlcj17MjR9PlxyXG4gICAgICAgICAgICB7Zm9ybVByb3BzLm1hcCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgaXRlbVByb3BzID0gaXRlbS5wcm9wcyB8fCB7fTtcclxuICAgICAgICAgICAgICBpZiAoaXRlbVByb3BzLmZvcm1hdCB8fCBpdGVtUHJvcHMudmFsdWVGb3JtYXQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGF0ZVZhbHVlRm9ybWF0W2l0ZW0ubmFtZV0gPVxyXG4gICAgICAgICAgICAgICAgICBpdGVtUHJvcHMuZm9ybWF0IHx8IGl0ZW1Qcm9wcy52YWx1ZUZvcm1hdDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgaWYgKGl0ZW1Qcm9wcy5mb3JtYXQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGF0ZUZvcm1hdFtpdGVtLm5hbWVdID0gaXRlbVByb3BzLmZvcm1hdDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgbGV0IGFsbG93Q2hhcnMgPSBpdGVtLnByb3BzLmFsbG93Q2hhcnMgfHwgZmFsc2U7XHJcbiAgICAgICAgICAgICAgbGV0IHByb3BzID0ge1xyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IGDor7fovpPlhaUke2l0ZW0ubGFiZWx9YCxcclxuXHJcbiAgICAgICAgICAgICAgICAuLi5pdGVtLnByb3BzLFxyXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U6IHRoaXMudmFsdWVDaGFuZ2UuYmluZChcclxuICAgICAgICAgICAgICAgICAgdGhpcyxcclxuICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IGl0ZW0udHlwZSxcclxuICAgICAgICAgICAgICAgICAgICBkaWN0TmFtZTogaXRlbS5kaWN0TmFtZSxcclxuICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgeyAuLi5pdGVtLnByb3BzIH1cclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICBpZiAoIWl0ZW0udHlwZSB8fCBpdGVtLnR5cGUgPT0gXCJJbnB1dFwiKSB7XHJcbiAgICAgICAgICAgICAgICBwcm9wcy5hbGxvd0NoYXJzID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHByb3BzLnNob3dDb3VudCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGRlbGV0ZSBwcm9wcy52YWx1ZUZvcm1hdDtcclxuICAgICAgICAgICAgICBkZWxldGUgcHJvcHMuZm9ybWF0O1xyXG4gICAgICAgICAgICAgIGlmIChsYWJlbCA9PSBcIuafpeeci1wiKSB7XHJcbiAgICAgICAgICAgICAgICBwcm9wcy5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICBpZiAoaXRlbS5ydWxlcyAmJiBpdGVtLnJ1bGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIG5ld1ZhbGlkLnB1c2goaXRlbS5uYW1lKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgaWYgKGluZGV4ICsgMSA9PT0gZm9ybVByb3BzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZCA9IG5ld1ZhbGlkO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBpZiAoaXRlbS50eXBlICE9PSAnVXBsb2FkJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgICAgPENvbCBzcGFuPXtpdGVtLnNwYW4gfHwgMTJ9IGtleT17aW5kZXh9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxGb3JtLkl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXtpdGVtLmxhYmVsfVxyXG4gICAgICAgICAgICAgICAgICAgICAgbmFtZT17aXRlbS5uYW1lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgcnVsZXM9e2l0ZW0ucnVsZXN9XHJcbiAgICAgICAgICAgICAgICAgICAgICBhbGxvd0NoYXJzPXthbGxvd0NoYXJzfVxyXG4gICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50TmFtZT17aXRlbS50eXBlID8gaXRlbS50eXBlIDogXCJJbnB1dFwifVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHtnZXROb2RlKGl0ZW0udHlwZSwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5wcm9wcyxcclxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxyXG4gICAgICAgICAgICAgICAgICA8L0NvbD5cclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICAgIDxDb2wgc3Bhbj17aXRlbS5zcGFuIHx8IDEyfSBrZXk9e2luZGV4fT5cclxuICAgICAgICAgICAgICAgICAgICA8Rm9ybS5JdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17aXRlbS5sYWJlbH1cclxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2l0ZW0ubmFtZX1cclxuICAgICAgICAgICAgICAgICAgICAgIHJ1bGVzPXtpdGVtLnJ1bGVzfVxyXG4gICAgICAgICAgICAgICAgICAgICAgYWxsb3dDaGFycz17YWxsb3dDaGFyc31cclxuICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudE5hbWU9e2l0ZW0udHlwZSA/IGl0ZW0udHlwZSA6IFwiSW5wdXRcIn1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8VXBsb2FkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVMaXN0PXt0aGlzLnN0YXRlLmZpbGVMaXN0W2l0ZW0ubmFtZV0gfHwgW119XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uTGlzdENoYW5nZT17KGxpc3QpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGZpbGVMaXN0IH0gPSB0aGlzLnN0YXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlTGlzdDogeyAuLi5maWxlTGlzdCwgW2l0ZW0ubmFtZV06IGxpc3QgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc30+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24+5LiK5Lyg5paH5Lu2PC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L1VwbG9hZD5cclxuICAgICAgICAgICAgICAgICAgICA8L0Zvcm0uSXRlbT5cclxuICAgICAgICAgICAgICAgICAgPC9Db2w+XHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICA8L1Jvdz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9Gb3JtPlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IEVkaXRvckZvcm07XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBT0EsS0FBSyxJQUFJQyxhQUFhLFFBQVEsT0FBTztBQUM1QyxPQUFPQyxJQUFJLE1BQU0saUJBQWlCO0FBQ2xDLFNBQVNDLE9BQU8sRUFBRUMsT0FBTyxRQUFRLGFBQWE7QUFDOUMsT0FBT0MsT0FBTyxNQUFNLG9CQUFvQjtBQUN4QyxPQUFPQyxHQUFHLE1BQU0scUJBQXFCO0FBQ3JDLE9BQU9DLEdBQUcsTUFBTSxxQkFBcUI7QUFDckMsU0FBU0MsVUFBVSxRQUFRLG1CQUFtQjtBQUU5QyxPQUFPQyxLQUFLLE1BQU0sT0FBTztBQUN6QixPQUFPQyxNQUFNLE1BQU0scUJBQXFCO0FBRXhDLE9BQU9DLE1BQU0sTUFBTSxRQUFRO0FBQzNCLE9BQU9DLE1BQU0sTUFBTSxtQkFBbUI7QUFDdEMsT0FBT0MsTUFBTSxNQUFNLG1CQUFtQjtBQUN0QyxNQUFNQyxVQUFVLFNBQVNiLGFBQWEsQ0FBTTtFQUFBYyxZQUFBO0lBQUEsU0FBQUMsU0FBQTtJQUFBQyxlQUFBLCtCQUNoQ2pCLEtBQUssQ0FBQ2tCLFNBQVMsQ0FBTSxDQUFDO0lBQUFELGVBQUEsZ0JBQ3hCO01BQ05FLE9BQU8sRUFBRSxLQUFLO01BQ2RDLEtBQUssRUFBRSxFQUFFO01BQ1RDLFVBQVUsRUFBRSxJQUFJO01BQ2hCQyxLQUFLLEVBQUUsQ0FBQyxDQUFRO01BQ2hCQyxTQUFTLEVBQUUsQ0FBQyxDQUFRO01BQ3BCQyxRQUFRLEVBQUUsQ0FBQztJQUNiLENB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
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","names":["React","PureComponent","Form","getLess","getNode","message","Col","Row","isEmptyObj","dayjs","styles","lodash","Button","Upload","EditorForm","constructor","arguments","_defineProperty","createRef","loading","label","editorFlag","value","dictNames","fileList","show","orgValue","editorflag","length","undefined","setState","_this$formRef$current","cloneDeep","dateFormat","key","olddata","Array","isArray","formRef","current","showForm","_this$formRef$current2","props","defaultValue","hide","_this$formRef$current3","onHideForm","hideForm","_this$formRef$current4","setLoading","setFieldsValue","values","_this$formRef$current5","getFieldsValue","_this$formRef$current6","doSubmit","data","_this$formRef$current7","submitUrl","submitParams","callBack","Error","onSubmit","_objectSpread","noUndefined","res","code","success","_this$formRef$current8","_this$formRef$current9","state","formValue","valid","validateFields","then","dateValueFormat","format","id","catch","errorInfo","valueChange","_ref","valueOption","type","dictName","newNames","onChange","render","formProps","otherProps","modalProps","title","onOk","bind","onCancel","okButtonProps","centered","width","newValid","drawerProps","onClose","footer","createElement","_extends","ref","showModel","formType","labelCol","flex","wrapperCol","onValuesChange","changedValues","allValues","onFormChange","changeValid","className","gutter","map","item","index","itemProps","valueFormat","name","allowChars","placeholder","concat","showCount","disabled","rules","push","span","Item","componentName","onListChange","list"],"sources":["../../../src/components/page/BasePage/Form.tsx"],"sourcesContent":["import React, { PureComponent } from \"react\";\r\nimport Form from \"../../base/form\";\r\nimport { getLess, getNode } from \"../../utils\";\r\nimport message from \"../../base/message\";\r\nimport Col from \"../../base/grid/Col\";\r\nimport Row from \"../../base/grid/Row\";\r\nimport { isEmptyObj } from \"@bj-nsc/functions\";\r\nimport moment from \"moment\";\r\nimport dayjs from \"dayjs\";\r\nimport styles from \"./index.module.less\";\r\nimport utils from \"../../utils\";\r\nimport lodash from \"lodash\";\r\nimport Button from \"../../base/button\";\r\nimport Upload from '../../base/upload'\r\nclass EditorForm extends PureComponent<any> {\r\n formRef = React.createRef<any>();\r\n state = {\r\n loading: false,\r\n label: \"\",\r\n editorFlag: true,\r\n value: {} as any,\r\n dictNames: {} as any,\r\n fileList: {} as any\r\n };\r\n valid: any = [];\r\n dateValueFormat = {} as any;\r\n dateFormat = {} as any;\r\n //表单显示\r\n show(orgValue?: any, editorflag = \"add\") {\r\n let label = \"新增\";\r\n if (orgValue && editorflag == \"editor\") {\r\n label = \"编辑\";\r\n } else if (orgValue && editorflag == \"detail\") {\r\n label = \"查看\";\r\n }\r\n if (orgValue) {\r\n this.setState(\r\n {\r\n label: label,\r\n value: orgValue,\r\n },\r\n () => {\r\n let value = lodash.cloneDeep(orgValue);\r\n if (!isEmptyObj(this.dateFormat)) {\r\n for (let key in this.dateFormat) {\r\n let olddata = value[key];\r\n if (olddata) {\r\n if (Array.isArray(olddata)) {\r\n value[key] = [\r\n dayjs(olddata[0], this.dateFormat[key]),\r\n dayjs(olddata[1], this.dateFormat[key]),\r\n ];\r\n } else {\r\n value[key] = dayjs(olddata, this.dateFormat[key]);\r\n }\r\n }\r\n }\r\n }\r\n // console.log(\"value\", value);\r\n this.formRef.current?.showForm(value);\r\n }\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n label: label,\r\n },\r\n () => {\r\n this.formRef.current?.showForm(this.props.defaultValue);\r\n }\r\n );\r\n }\r\n }\r\n hide(hide = true) {\r\n const { onHideForm } = this.props;\r\n if (onHideForm) {\r\n onHideForm && onHideForm();\r\n return;\r\n }\r\n this.setState({ loading: false });\r\n hide && this.formRef.current?.hideForm();\r\n }\r\n hideForm() {\r\n this.setState({ loading: false });\r\n this.formRef.current?.hideForm();\r\n }\r\n setLoading(loading: boolean) {\r\n this.setState({ loading: loading });\r\n }\r\n setFieldsValue(values) {\r\n this.formRef.current?.setFieldsValue(values);\r\n }\r\n getFieldsValue() {\r\n return this.formRef.current?.getFieldsValue();\r\n }\r\n\r\n doSubmit(data, label) {\r\n const { submitUrl, submitParams, callBack } = this.props;\r\n if (!submitUrl) {\r\n throw new Error(\"url不能为空!\");\r\n }\r\n this.formRef.current?.onSubmit(\r\n submitUrl,\r\n {\r\n data: { ...data },\r\n noUndefined: label == \"编辑\",\r\n submitParams,\r\n },\r\n (res: any) => {\r\n const { code } = res;\r\n this.setState({ loading: false });\r\n if (code === 200) {\r\n message.success(label + \"成功\");\r\n this.hide(true);\r\n callBack && callBack();\r\n return;\r\n }\r\n this.hide(false);\r\n }\r\n );\r\n }\r\n onSubmit() {\r\n const { onSubmit } = this.props;\r\n const { label, value, dictNames } = this.state;\r\n const formValue = this.formRef.current?.getFieldsValue();\r\n let valid = this.valid;\r\n this.formRef.current\r\n ?.validateFields(valid)\r\n .then(() => {\r\n this.setState({ loading: true });\r\n let data = { ...formValue, ...dictNames };\r\n if (!isEmptyObj(this.dateValueFormat)) {\r\n for (let key in this.dateValueFormat) {\r\n let olddata = data[key];\r\n if (Array.isArray(olddata)) {\r\n data[key] = [\r\n dayjs(olddata[0]).format(this.dateValueFormat[key]),\r\n dayjs(olddata[1]).format(this.dateValueFormat[key]),\r\n ];\r\n } else {\r\n data[key] = dayjs(olddata).format(this.dateValueFormat[key]);\r\n }\r\n }\r\n }\r\n if (label == \"编辑\") {\r\n data = { ...data, id: value?.id };\r\n }\r\n if (onSubmit) {\r\n onSubmit && onSubmit(data, label);\r\n return;\r\n }\r\n this.doSubmit(data, label);\r\n })\r\n .catch((errorInfo: any) => {});\r\n }\r\n valueChange({ type, dictName }, props, value, valueOption, data) {\r\n if (valueOption) {\r\n if (dictName) {\r\n const { dictNames } = this.state;\r\n const newNames = { ...dictNames } as any;\r\n newNames[dictName] = valueOption.label;\r\n this.setState({\r\n dictNames: newNames,\r\n });\r\n }\r\n }\r\n if (props.onChange) {\r\n props.onChange(value, valueOption, data);\r\n }\r\n }\r\n\r\n render() {\r\n const { formProps = [], otherProps = {} } = this.props;\r\n const { loading, label } = this.state;\r\n let modalProps = {\r\n title: label,\r\n onOk: this.onSubmit.bind(this),\r\n onCancel: this.hide.bind(this),\r\n okButtonProps: { loading: loading },\r\n centered: true,\r\n width: \"50vw\",\r\n } as any;\r\n\r\n const newValid: any[] = [];\r\n let drawerProps = {\r\n title: label,\r\n onOk: this.onSubmit.bind(this),\r\n onClose: this.hide.bind(this),\r\n width: \"50vw\",\r\n } as any;\r\n if (label == \"查看\") {\r\n modalProps.footer = null;\r\n drawerProps.footer = null;\r\n }\r\n this.dateValueFormat = {};\r\n this.dateFormat = {};\r\n\r\n return (\r\n <Form\r\n ref={this.formRef}\r\n showModel={this.props.formType}\r\n modalProps={{ ...modalProps }}\r\n drawerProps={{ ...drawerProps }}\r\n labelCol={{ flex: \"100px\" }}\r\n wrapperCol={{ flex: \"15vw\" }}\r\n onValuesChange={(changedValues, allValues) => {\r\n const { onFormChange } = this.props;\r\n onFormChange && onFormChange(changedValues, allValues);\r\n }}\r\n changeValid={this.props.changeValid}\r\n {...otherProps}\r\n >\r\n {/* <div> */}\r\n <div className={getLess(styles, \"form\")}>\r\n <Row gutter={24}>\r\n {formProps.map((item: any, index: number) => {\r\n const itemProps = item.props || {};\r\n if (itemProps.format || itemProps.valueFormat) {\r\n this.dateValueFormat[item.name] =\r\n itemProps.format || itemProps.valueFormat;\r\n }\r\n if (itemProps.format) {\r\n this.dateFormat[item.name] = itemProps.format;\r\n }\r\n let allowChars = item.props.allowChars || false;\r\n let props = {\r\n placeholder: `请输入${item.label}`,\r\n\r\n ...item.props,\r\n onChange: this.valueChange.bind(\r\n this,\r\n {\r\n type: item.type,\r\n dictName: item.dictName,\r\n },\r\n { ...item.props }\r\n ),\r\n };\r\n if (!item.type || item.type == \"Input\") {\r\n props.allowChars = true;\r\n props.showCount = true;\r\n }\r\n delete props.valueFormat;\r\n delete props.format;\r\n if (label == \"查看\") {\r\n props.disabled = true;\r\n }\r\n\r\n if (item.rules && item.rules.length > 0) {\r\n newValid.push(item.name);\r\n }\r\n if (index + 1 === formProps.length) {\r\n this.valid = newValid;\r\n }\r\n if (item.type !== 'Upload') {\r\n return (\r\n <Col span={item.span || 12} key={index}>\r\n <Form.Item\r\n label={item.label}\r\n name={item.name}\r\n rules={item.rules}\r\n allowChars={allowChars}\r\n componentName={item.type ? item.type : \"Input\"}\r\n >\r\n {getNode(item.type, {\r\n ...props,\r\n })}\r\n </Form.Item>\r\n </Col>\r\n );\r\n } else {\r\n return (\r\n <Col span={item.span || 12} key={index}>\r\n <Form.Item\r\n label={item.label}\r\n name={item.name}\r\n rules={item.rules}\r\n allowChars={allowChars}\r\n componentName={item.type ? item.type : \"Input\"}\r\n >\r\n <Upload \r\n fileList={this.state.fileList[item.name] || []} \r\n onListChange={(list) => {\r\n const { fileList } = this.state\r\n this.setState({\r\n fileList: { ...fileList, [item.name]: list }\r\n })\r\n }} \r\n {...props}>\r\n <Button>上传文件</Button>\r\n </Upload>\r\n </Form.Item>\r\n </Col>\r\n );\r\n }\r\n })}\r\n </Row>\r\n </div>\r\n </Form>\r\n );\r\n }\r\n}\r\n\r\nexport default EditorForm;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"Form.js","names":["React","PureComponent","Form","getLess","getNode","message","Col","Row","isEmptyObj","dayjs","styles","lodash","Button","Upload","EditorForm","constructor","arguments","_defineProperty","createRef","loading","label","editorFlag","value","dictNames","fileList","show","orgValue","editorflag","length","undefined","setState","_this$formRef$current","cloneDeep","dateFormat","key","olddata","Array","isArray","formRef","current","showForm","_this$formRef$current2","props","defaultValue","hide","_this$formRef$current3","onHideForm","hideForm","_this$formRef$current4","setLoading","setFieldsValue","values","_this$formRef$current5","getFieldsValue","_this$formRef$current6","doSubmit","data","_this$formRef$current7","submitUrl","submitParams","callBack","Error","onSubmit","_objectSpread","noUndefined","res","code","success","_this$formRef$current8","_this$formRef$current9","state","formValue","valid","validateFields","then","dateValueFormat","format","id","catch","errorInfo","valueChange","_ref","valueOption","type","dictName","newNames","onChange","render","formProps","otherProps","modalProps","title","onOk","bind","onCancel","okButtonProps","centered","width","newValid","drawerProps","onClose","footer","createElement","_extends","ref","showModel","formType","labelCol","flex","wrapperCol","onValuesChange","changedValues","allValues","onFormChange","changeValid","className","gutter","map","item","index","itemProps","valueFormat","name","allowChars","placeholder","concat","showCount","disabled","rules","push","span","Item","componentName","onListChange","list"],"sources":["../../../src/components/page/BasePage/Form.tsx"],"sourcesContent":["import React, { PureComponent } from \"react\";\r\nimport Form from \"../../base/form\";\r\nimport { getLess, getNode } from \"../../utils\";\r\nimport message from \"../../base/message\";\r\nimport Col from \"../../base/grid/Col\";\r\nimport Row from \"../../base/grid/Row\";\r\nimport { isEmptyObj } from \"@bj-nsc/functions\";\r\nimport moment from \"moment\";\r\nimport dayjs from \"dayjs\";\r\nimport styles from \"./index.module.less\";\r\nimport utils from \"../../utils\";\r\nimport lodash from \"lodash\";\r\nimport Button from \"../../base/button\";\r\nimport Upload from '../../base/upload'\r\nclass EditorForm extends PureComponent<any> {\r\n formRef = React.createRef<any>();\r\n state = {\r\n loading: false,\r\n label: \"\",\r\n editorFlag: true,\r\n value: {} as any,\r\n dictNames: {} as any,\r\n fileList: {} as any\r\n };\r\n valid: any = [];\r\n dateValueFormat = {} as any;\r\n dateFormat = {} as any;\r\n //表单显示\r\n show(orgValue?: any, editorflag = \"add\") {\r\n let label = \"新增\";\r\n if (orgValue && editorflag == \"editor\") {\r\n label = \"编辑\";\r\n } else if (orgValue && editorflag == \"detail\") {\r\n label = \"查看\";\r\n }\r\n if (orgValue) {\r\n this.setState(\r\n {\r\n label: label,\r\n value: orgValue,\r\n },\r\n () => {\r\n let value = lodash.cloneDeep(orgValue);\r\n if (!isEmptyObj(this.dateFormat)) {\r\n for (let key in this.dateFormat) {\r\n let olddata = value[key];\r\n if (olddata) {\r\n if (Array.isArray(olddata)) {\r\n value[key] = [\r\n dayjs(olddata[0], this.dateFormat[key]),\r\n dayjs(olddata[1], this.dateFormat[key]),\r\n ];\r\n } else {\r\n value[key] = dayjs(olddata, this.dateFormat[key]);\r\n }\r\n }\r\n }\r\n }\r\n // console.log(\"value\", value);\r\n this.formRef.current?.showForm(value);\r\n }\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n label: label,\r\n },\r\n () => {\r\n this.formRef.current?.showForm(this.props.defaultValue);\r\n }\r\n );\r\n }\r\n }\r\n hide(hide = true) {\r\n const { onHideForm } = this.props;\r\n if (onHideForm) {\r\n onHideForm && onHideForm();\r\n return;\r\n }\r\n this.setState({ loading: false });\r\n hide && this.formRef.current?.hideForm();\r\n }\r\n hideForm() {\r\n this.setState({ loading: false });\r\n this.formRef.current?.hideForm();\r\n }\r\n setLoading(loading: boolean) {\r\n this.setState({ loading: loading });\r\n }\r\n setFieldsValue(values) {\r\n this.formRef.current?.setFieldsValue(values);\r\n }\r\n getFieldsValue() {\r\n return this.formRef.current?.getFieldsValue();\r\n }\r\n\r\n doSubmit(data, label) {\r\n const { submitUrl, submitParams, callBack } = this.props;\r\n if (!submitUrl) {\r\n throw new Error(\"url不能为空!\");\r\n }\r\n this.formRef.current?.onSubmit(\r\n submitUrl,\r\n {\r\n data: { ...data },\r\n noUndefined: label == \"编辑\",\r\n submitParams,\r\n },\r\n (res: any) => {\r\n const { code } = res;\r\n this.setState({ loading: false });\r\n if (code === 200) {\r\n message.success(label + \"成功\");\r\n this.hide(true);\r\n callBack && callBack();\r\n return;\r\n }\r\n this.hide(false);\r\n }\r\n );\r\n }\r\n onSubmit() {\r\n const { onSubmit } = this.props;\r\n const { label, value, dictNames } = this.state;\r\n const formValue = this.formRef.current?.getFieldsValue();\r\n let valid = this.valid;\r\n this.formRef.current\r\n ?.validateFields(valid)\r\n .then(() => {\r\n this.setState({ loading: true });\r\n let data = { ...formValue, ...dictNames };\r\n if (!isEmptyObj(this.dateValueFormat)) { \r\n for (let key in this.dateValueFormat) {\r\n let olddata = data[key];\r\n if (olddata) {\r\n if (Array.isArray(olddata)) {\r\n data[key] = [\r\n dayjs(olddata[0]).format(this.dateValueFormat[key]),\r\n dayjs(olddata[1]).format(this.dateValueFormat[key]),\r\n ];\r\n } else {\r\n data[key] = dayjs(olddata).format(this.dateValueFormat[key]);\r\n }\r\n }\r\n }\r\n }\r\n if (label == \"编辑\") {\r\n data = { ...data, id: value?.id };\r\n }\r\n if (onSubmit) {\r\n onSubmit && onSubmit(data, label);\r\n return;\r\n }\r\n this.doSubmit(data, label);\r\n })\r\n .catch((errorInfo: any) => { });\r\n }\r\n valueChange({ type, dictName }, props, value, valueOption, data) {\r\n if (valueOption) {\r\n if (dictName) {\r\n const { dictNames } = this.state;\r\n const newNames = { ...dictNames } as any;\r\n newNames[dictName] = valueOption.label;\r\n this.setState({\r\n dictNames: newNames,\r\n });\r\n }\r\n }\r\n if (props.onChange) {\r\n props.onChange(value, valueOption, data);\r\n }\r\n }\r\n\r\n render() {\r\n const { formProps = [], otherProps = {} } = this.props;\r\n const { loading, label } = this.state;\r\n let modalProps = {\r\n title: label,\r\n onOk: this.onSubmit.bind(this),\r\n onCancel: this.hide.bind(this),\r\n okButtonProps: { loading: loading },\r\n centered: true,\r\n width: \"50vw\",\r\n } as any;\r\n\r\n const newValid: any[] = [];\r\n let drawerProps = {\r\n title: label,\r\n onOk: this.onSubmit.bind(this),\r\n onClose: this.hide.bind(this),\r\n width: \"50vw\",\r\n } as any;\r\n if (label == \"查看\") {\r\n modalProps.footer = null;\r\n drawerProps.footer = null;\r\n }\r\n this.dateValueFormat = {};\r\n this.dateFormat = {};\r\n\r\n return (\r\n <Form\r\n ref={this.formRef}\r\n showModel={this.props.formType}\r\n modalProps={{ ...modalProps }}\r\n drawerProps={{ ...drawerProps }}\r\n labelCol={{ flex: \"100px\" }}\r\n wrapperCol={{ flex: \"15vw\" }}\r\n onValuesChange={(changedValues, allValues) => {\r\n const { onFormChange } = this.props;\r\n onFormChange && onFormChange(changedValues, allValues);\r\n }}\r\n changeValid={this.props.changeValid}\r\n {...otherProps}\r\n >\r\n {/* <div> */}\r\n <div className={getLess(styles, \"form\")}>\r\n <Row gutter={24}>\r\n {formProps.map((item: any, index: number) => {\r\n const itemProps = item.props || {};\r\n if (itemProps.format || itemProps.valueFormat) {\r\n this.dateValueFormat[item.name] =\r\n itemProps.format || itemProps.valueFormat;\r\n }\r\n if (itemProps.format) {\r\n this.dateFormat[item.name] = itemProps.format;\r\n }\r\n let allowChars = item.props.allowChars || false;\r\n let props = {\r\n placeholder: `请输入${item.label}`,\r\n\r\n ...item.props,\r\n onChange: this.valueChange.bind(\r\n this,\r\n {\r\n type: item.type,\r\n dictName: item.dictName,\r\n },\r\n { ...item.props }\r\n ),\r\n };\r\n if (!item.type || item.type == \"Input\") {\r\n props.allowChars = true;\r\n props.showCount = true;\r\n }\r\n delete props.valueFormat;\r\n delete props.format;\r\n if (label == \"查看\") {\r\n props.disabled = true;\r\n }\r\n\r\n if (item.rules && item.rules.length > 0) {\r\n newValid.push(item.name);\r\n }\r\n if (index + 1 === formProps.length) {\r\n this.valid = newValid;\r\n }\r\n if (item.type !== 'Upload') {\r\n return (\r\n <Col span={item.span || 12} key={index}>\r\n <Form.Item\r\n label={item.label}\r\n name={item.name}\r\n rules={item.rules}\r\n allowChars={allowChars}\r\n componentName={item.type ? item.type : \"Input\"}\r\n >\r\n {getNode(item.type, {\r\n ...props,\r\n })}\r\n </Form.Item>\r\n </Col>\r\n );\r\n } else {\r\n return (\r\n <Col span={item.span || 12} key={index}>\r\n <Form.Item\r\n label={item.label}\r\n name={item.name}\r\n rules={item.rules}\r\n allowChars={allowChars}\r\n componentName={item.type ? item.type : \"Input\"}\r\n >\r\n <Upload\r\n fileList={this.state.fileList[item.name] || []}\r\n onListChange={(list) => {\r\n const { fileList } = this.state\r\n this.setState({\r\n fileList: { ...fileList, [item.name]: list }\r\n })\r\n }}\r\n {...props}>\r\n <Button>上传文件</Button>\r\n </Upload>\r\n </Form.Item>\r\n </Col>\r\n );\r\n }\r\n })}\r\n </Row>\r\n </div>\r\n </Form>\r\n );\r\n }\r\n}\r\n\r\nexport default EditorForm;\r\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nsc-react-component",
3
- "version": "3.2.18",
3
+ "version": "3.2.20",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {