nsc-react-component 2.10.13 → 2.10.15

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.
@@ -44,7 +44,7 @@ declare class NscForm extends PureComponent<IFormProps> {
44
44
  validateFields(name: any): Promise<any>;
45
45
  hide(e: any): void;
46
46
  hideForm(resetValue?: boolean): void;
47
- showForm(value?: any, resetValue?: boolean, option?: any): void;
47
+ showForm(value?: any, option?: any): void;
48
48
  cloneElement(item: any, index?: number): string | React.DetailedReactHTMLElement<{
49
49
  key: number;
50
50
  children: any;
@@ -311,22 +311,14 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
311
311
  value: function showForm(value) {
312
312
  var _this4 = this;
313
313
 
314
- var resetValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
315
- var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
314
+ var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
316
315
  this.setState({
317
316
  formVisible: true,
318
317
  isChange: false
319
318
  }, function () {
320
- if (value) {
321
- var _this4$formRef$curren;
322
-
323
- (_this4$formRef$curren = _this4.formRef.current) === null || _this4$formRef$curren === void 0 ? void 0 : _this4$formRef$curren.setFieldsValue(value);
324
- } else {
325
- var _this4$formRef$curren2;
326
-
327
- if (resetValue) (_this4$formRef$curren2 = _this4.formRef.current) === null || _this4$formRef$curren2 === void 0 ? void 0 : _this4$formRef$curren2.resetFields();
328
- }
319
+ var _this4$formRef$curren;
329
320
 
321
+ (_this4$formRef$curren = _this4.formRef.current) === null || _this4$formRef$curren === void 0 ? void 0 : _this4$formRef$curren.setFieldsValue(value);
330
322
  var afterRender = option.afterRender;
331
323
  utils.callback(afterRender, _this4);
332
324
  });
@@ -416,7 +408,8 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
416
408
  spinning: loading
417
409
  }, /*#__PURE__*/React.createElement(_Form, _extends({
418
410
  ref: this.formRef,
419
- validateTrigger: ["onBlur", "onChange"]
411
+ validateTrigger: ["onBlur", "onChange"],
412
+ draggable: true
420
413
  }, layout, props, {
421
414
  onValuesChange: this.onValuesChange.bind(this),
422
415
  preserve: false
@@ -494,4 +487,4 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
494
487
  }(PureComponent);
495
488
 
496
489
  export default NscForm;
497
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvZm9ybS9Gb3JtLnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJNb2RhbCIsInJlcXVlc3QiLCJvbWl0IiwiU3BpbiIsInV0aWxzIiwiTnNjRm9ybSIsInByb3BzIiwiY3JlYXRlUmVmIiwiZm9ybVZpc2libGUiLCJmb3JtTW9kYWxQcm9wcyIsImZvcm1EcmF3ZXJQcm9wcyIsImlzQ2hhbmdlIiwiZXhwYW5kIiwic2NvcGUiLCJwYXJhbXMiLCJiZWZvcmVSZW5kZXIiLCJjYWxsYmFja0JlZm9yZUNsb3NlIiwiY2FsbGJhY2siLCJhZnRlclJlbmRlciIsIm5hbWUiLCJmb3JtUmVmIiwiY3VycmVudCIsImdldEZpZWxkRXJyb3IiLCJnZXRGaWVsZEluc3RhbmNlIiwiZ2V0RmllbGRzRXJyb3IiLCJnZXRGaWVsZHNWYWx1ZSIsImdldEZpZWxkVmFsdWUiLCJpc0ZpZWxkc1RvdWNoZWQiLCJpc0ZpZWxkVG91Y2hlZCIsImlzRmllbGRWYWxpZGF0aW5nIiwicmVzZXRGaWVsZHMiLCJvcHRpb25zIiwic2Nyb2xsVG9GaWVsZCIsImZpbGRzIiwic2V0RmllbGRzIiwidmFsdWVzIiwic2V0RmllbGRzVmFsdWUiLCJzdWJtaXQiLCJ1cmwiLCJtc2ciLCJwcm9wc1VybCIsImVuY3J5cHRGaWVsZHMiLCJlbmNyeXB0UHJvcHBzIiwiRXJyb3IiLCJtZXRob2QiLCJyZXF1ZXN0VXJsIiwicmVxdWVzdERhdGEiLCJyZXF1ZXN0RW5jcnlwdCIsInJlcXVlc3RQYXJhbSIsImRhdGEiLCJ0b0xvd2VyQ2FzZSIsImF1dG9QcmVmaXgiLCJ0aGVuIiwicmVzIiwiY29kZSIsInN1Y2Nlc3MiLCJlcnJvciIsImNhdGNoIiwiY29uc29sZSIsImxvZyIsInZhbGlkYXRlRmllbGRzIiwiZSIsInNob3dNb2RlbCIsIm1vZGFsUHJvcHMiLCJkcmF3ZXJQcm9wcyIsIl90aGlzIiwib25DYW5jZWwiLCJvbkNsb3NlIiwiaGlkZUZvcm0iLCJyZXNldFZhbHVlIiwic2V0U3RhdGUiLCJ2YWx1ZSIsIm9wdGlvbiIsIml0ZW0iLCJpbmRleCIsImtleSIsImNoaWxkcmVuIiwiQXJyYXkiLCJpc0FycmF5IiwiQ2hpbGRyZW4iLCJtYXAiLCJjaGlsZCIsImNsb25lRWxlbWVudCIsInZhbCIsImFsbFZhbCIsIm9uVmFsdWVzQ2hhbmdlIiwibmV3Q2hpbGRyZW4iLCJsb2FkaW5nIiwiY2hhbmdlVmFsaWQiLCJzdGF0ZSIsImxheW91dCIsImxhYmVsQ29sIiwic3BhbiIsIndyYXBwZXJDb2wiLCJuZXdNb2RhbFByb3BzIiwibmV3RHJhd2VyUHJvcHMiLCJkZWZhdWx0cHJvcHMiLCJtYXNrQ2xvc2FibGUiLCJmb3JtRXhwYW5kIiwidmFsaWQiLCJjaGFuZ2UiLCJ0eXBlIiwibW9kYWxwcm9wcyIsImhpZGUiLCJiaW5kIiwicmVuZGVyUGFuZWwiLCJuZXh0UHJvcHMiLCJwcmV2U3RhdGUiLCJPYmplY3QiLCJpcyIsIm5ld1N0YXRlIiwidmlzaWJsZSIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUVBLE9BQU9DLEtBQVAsTUFBa0IsVUFBbEI7QUFFQSxTQUFTQyxPQUFULFFBQXdCLHVCQUF4QjtBQUNBLE9BQU9DLElBQVAsTUFBaUIsU0FBakI7QUFFQSxPQUFPQyxJQUFQLE1BQWlCLFNBQWpCO0FBQ0EsU0FBU0MsS0FBVCxRQUFzQix1QkFBdEI7O0lBZU1DLE87Ozs7O0FBdUJKLG1CQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUE7O0FBQ2pCLCtCQUFNQSxLQUFOOztBQURpQiw0RUF0QlRSLEtBQUssQ0FBQ1MsU0FBTixFQXNCUzs7QUFBQSw2REFyQlg7QUFDTkMsTUFBQUEsV0FBVyxFQUFFLEtBRFA7QUFFTkMsTUFB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Qi9HLGE7O0FBK1Z0QixlQUFlTSxPQUFmIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjrooajljZXnu4Tku7ZcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTA0LTA5IDA5OjE4OjM0XHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNC0yMyAxNToyMzo1NFxyXG4gKi9cclxuaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgRm9ybSwgRm9ybVByb3BzLCBEcmF3ZXIsIERyYXdlclByb3BzLCBtZXNzYWdlIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IE1vZGFsIGZyb20gXCIuLi9tb2RhbFwiO1xyXG5pbXBvcnQgeyBGb3JtSW5zdGFuY2UgfSBmcm9tIFwiYW50ZC9saWIvZm9ybVwiO1xyXG5pbXBvcnQgeyByZXF1ZXN0IH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgeyBOc2NNb2RhbFBvcnBzIH0gZnJvbSBcIi4uL21vZGFsXCI7XHJcbmltcG9ydCBTcGluIGZyb20gXCIuLi9zcGluXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5leHBvcnQgaW50ZXJmYWNlIElGb3JtUHJvcHMgZXh0ZW5kcyBGb3JtUHJvcHMge1xyXG4gIHNob3dNb2RlbD86IFwibW9kYWxcIiB8IFwiZHJhd2VyXCIgfCBcImF1dG9cIjtcclxuICBtb2RhbFByb3BzPzogTnNjTW9kYWxQb3JwcztcclxuICBkcmF3ZXJQcm9wcz86IERyYXdlclByb3BzICYge1xyXG4gICAgb25Paz86IGFueTtcclxuICAgIG9rQnV0dG9uUHJvcHM/OiBPYmplY3Q7XHJcbiAgICBmb3JtRXhwYW5kPzogT2JqZWN0O1xyXG4gIH07XHJcbiAgdXJsPzogc3RyaW5nO1xyXG4gIGVuY3J5cHRGaWVsZHM/OiBBcnJheTxTdHJpbmc+O1xyXG4gIGNoYW5nZVZhbGlkPzogYm9vbGVhbjsgLy/mlbDmja7kv67mlLnlhbPpl63moKHpqoxcclxuICBsb2FkaW5nPzogYm9vbGVhbjsgLy/ooajljZXliqDovb3nirbmgIFcclxufVxyXG5cclxuY2xhc3MgTnNjRm9ybSBleHRlbmRzIFB1cmVDb21wb25lbnQ8SUZvcm1Qcm9wcz4ge1xyXG4gIGZvcm1SZWYgPSBSZWFjdC5jcmVhdGVSZWY8Rm9ybUluc3RhbmNlPigpO1xyXG4gIHN0YXRlID0ge1xyXG4gICAgZm9ybVZpc2libGU6IGZhbHNlLFxyXG4gICAgZm9ybU1vZGFsUHJvcHM6IHt9LFxyXG4gICAgZm9ybURyYXdlclByb3BzOiB7fSxcclxuICAgIGlzQ2hhbmdlOiBmYWxzZSxcclxuICAgIGV4cGFuZDogZmFsc2UsXHJcbiAgfTtcclxuICBvcHRpb246IGFueSA9IHtcclxuICAgIC8v5Zue6LCD5L2c55So5Z+fXHJcbiAgICBzY29wZTogdGhpcyxcclxuICAgIC8vb3BlbuS8oOmAkui/h+adpeeahOmhtemdouWPguaVsFxyXG4gICAgcGFyYW1zOiB7fSxcclxuICAgIC8v5pi+56S65LmL5YmN5Zue6LCDXHJcbiAgICBiZWZvcmVSZW5kZXI6IG51bGwsXHJcbiAgICAvL+WFs+mXreS5i+WJjeWbnuiwg++8jOWmguaenHJldHVybiBmYWxzZe+8jOS4lOeql+WPo+S4jeWFs+mXrVxyXG4gICAgY2FsbGJhY2tCZWZvcmVDbG9zZTogbnVsbCxcclxuICAgIC8v5YWz6Zet5ZCO5Zue6LCD77yM5byC5q2l5pON5L2cXHJcbiAgICBjYWxsYmFjazogbnVsbCxcclxuICAgIC8v5pi+56S65LmL5ZCO5Zue6LCDXHJcbiAgICBhZnRlclJlbmRlcjogbnVsbCxcclxuICB9O1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wcywgcHJldlN0YXRlKSB7XHJcbiAgICBjb25zdCB7IG1vZGFsUHJvcHMsIGRyYXdlclByb3BzLCBzaG93TW9kZWwgfSA9IG5leHRQcm9wcztcclxuICAgIGNvbnN0IHsgZm9ybU1vZGFsUHJvcHMsIGZvcm1EcmF3ZXJQcm9wcyB9ID0gcHJldlN0YXRlO1xyXG4gICAgaWYgKHNob3dNb2RlbCA9PSBcIm1vZGFsXCIpIHtcclxuICAgICAgLy8gSlNPTi5zdHJpbmdpZnkoZm9ybU1vZGFsUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShtb2RhbFByb3BzKVxyXG4gICAgICBpZiAoIU9iamVjdC5pcyhmb3JtTW9kYWxQcm9wcywgbW9kYWxQcm9wcykpIHtcclxuICAgICAgICBsZXQgbmV3U3RhdGUgPSB7XHJcbiAgICAgICAgICBmb3JtRHJhd2VyUHJvcHM6IG1vZGFsUHJvcHMsXHJcbiAgICAgICAgfSBhcyBhbnk7XHJcbiAgICAgICAgaWYgKG1vZGFsUHJvcHM/LnZpc2libGUgIT09IG51bGwgJiYgbW9kYWxQcm9wcz8udmlzaWJsZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBuZXdTdGF0ZS5mb3JtVmlzaWJsZSA9IG1vZGFsUHJvcHM/LnZpc2libGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXdTdGF0ZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICAvLyBKU09OLnN0cmluZ2lmeShmb3JtRHJhd2VyUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShkcmF3ZXJQcm9wcylcclxuICAgICAgaWYgKCFPYmplY3QuaXMoZm9ybURyYXdlclByb3BzLCBkcmF3ZXJQcm9wcykpIHtcclxuICAgICAgICBsZXQgbmV3U3RhdGUgPSB7XHJcbiAgICAgICAgICBmb3JtRHJhd2VyUHJvcHM6IGRyYXdlclByb3BzLFxyXG4gICAgICAgIH0gYXMgYW55O1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGRyYXdlclByb3BzPy52aXNpYmxlICE9PSBudWxsICYmXHJcbiAgICAgICAgICBkcmF3ZXJQcm9wcz8udmlzaWJsZSAhPT0gdW5kZWZpbmVkXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBuZXdTdGF0ZS5mb3JtVmlzaWJsZSA9IGRyYXdlclByb3BzPy52aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3U3RhdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5blr7nlupTlrZfmrrXlkI3nmoTplJnor6/kv6Hmga9cclxuICBnZXRGaWVsZEVycm9yKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRFcnJvcihuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5a+55bqU5a2X5q615a6e5L6LXHJcbiAgZ2V0RmllbGRJbnN0YW5jZShuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkSW5zdGFuY2UobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluS4gOe7hOWtl+auteWQjeWvueW6lOeahOmUmeivr+S/oeaBr++8jOi/lOWbnuS4uuaVsOe7hOW9ouW8j1xyXG4gIGdldEZpZWxkc0Vycm9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZHNFcnJvcigpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTlgLzvvIzkvJrmjInnhaflr7nlupTnu5PmnoTov5Tlm55cclxuICBnZXRGaWVsZHNWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5a+55bqU5a2X5q615ZCN55qE5YC8XHJcbiAgZ2V0RmllbGRWYWx1ZShuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkVmFsdWUobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeS4gOe7hOWtl+auteaYr+WQpuiiq+eUqOaIt+aTjeS9nOi/h1xyXG4gIGlzRmllbGRzVG91Y2hlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uaXNGaWVsZHNUb3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeWvueW6lOWtl+auteaYr+WQpuiiq+eUqOaIt+aTjeS9nOi/h1xyXG4gIGlzRmllbGRUb3VjaGVkKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uaXNGaWVsZFRvdWNoZWQobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeS4gOe7hOWtl+auteaYr+WQpuato+WcqOagoemqjFxyXG4gIGlzRmllbGRWYWxpZGF0aW5nKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uaXNGaWVsZFZhbGlkYXRpbmcobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+mHjee9ruS4gOe7hOWtl+auteWIsFxyXG4gIHJlc2V0RmllbGRzKCkge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgfVxyXG5cclxuICBzY3JvbGxUb0ZpZWxkKG5hbWUsIG9wdGlvbnMpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zY3JvbGxUb0ZpZWxkKG5hbWUsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgc2V0RmllbGRzKGZpbGRzKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2V0RmllbGRzKGZpbGRzKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkc1ZhbHVlKHZhbHVlcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlcyk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc3VibWl0KCk7XHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdChcclxuICAgIHVybD86IHN0cmluZyxcclxuICAgIG9wdGlvbnM/OiBhbnksXHJcbiAgICBjYWxsYmFjaz86IChyZXM/OiBhbnkpID0+IHZvaWQsXHJcbiAgICBtc2c/OiBib29sZWFuXHJcbiAgKSB7XHJcbiAgICBjb25zdCB7IHVybDogcHJvcHNVcmwsIGVuY3J5cHRGaWVsZHM6IGVuY3J5cHRQcm9wcHMgPSBbXSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghdXJsICYmICFwcm9wc1VybCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCLmsqHmnInkuIrkvKDnmoR1cmwhXCIpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgeyBtZXRob2QgPSBcInBvc3RcIiB9ID0gb3B0aW9ucztcclxuICAgIGxldCByZXF1ZXN0VXJsID0gdXJsID8gdXJsIDogcHJvcHNVcmw7XHJcbiAgICBsZXQgcmVxdWVzdERhdGEgPSB0aGlzLmZvcm1SZWYuY3VycmVudC5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgbGV0IHJlcXVlc3RFbmNyeXB0ID0gZW5jcnlwdFByb3BwcztcclxuICAgIGxldCByZXF1ZXN0UGFyYW0gPSB7IG1ldGhvZDogbWV0aG9kLCBkYXRhOiByZXF1ZXN0RGF0YSB9IGFzIHsgZGF0YTogYW55IH07XHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBjb25zdCB7IGRhdGEsIGVuY3J5cHRGaWVsZHMsIC4uLnBhcmFtcyB9ID0gb3B0aW9ucztcclxuICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcyB9O1xyXG4gICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgIGRlbGV0ZSByZXF1ZXN0UGFyYW0uZGF0YTtcclxuICAgICAgICBpZiAobWV0aG9kLnRvTG93ZXJDYXNlKCkgPT0gXCJnZXRcIikge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcywgcGFyYW1zOiBkYXRhIH07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlcXVlc3RQYXJhbSA9IHsgLi4ucmVxdWVzdFBhcmFtLCAuLi5wYXJhbXMsIGRhdGE6IGRhdGEgfTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGVuY3J5cHRGaWVsZHMpIHtcclxuICAgICAgICByZXF1ZXN0RW5jcnlwdCA9IGVuY3J5cHRGaWVsZHM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXF1ZXN0KHJlcXVlc3RVcmwsIHtcclxuICAgICAgYXV0b1ByZWZpeDogdHJ1ZSxcclxuICAgICAgLi4ucmVxdWVzdFBhcmFtLFxyXG4gICAgICBlbmNyeXB0RmllbGRzOiByZXF1ZXN0RW5jcnlwdCxcclxuICAgIH0pXHJcbiAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXM6IGFueSkge1xyXG4gICAgICAgIGNvbnN0IHsgY29kZSB9ID0gcmVzO1xyXG4gICAgICAgIGlmIChtc2cpIHtcclxuICAgICAgICAgIGlmIChjb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKFwi5o+Q5Lqk5oiQ5YqfXCIpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbWVzc2FnZS5lcnJvcihcIuaPkOS6pOWksei0pVwiKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgY2FsbGJhY2sgJiYgY2FsbGJhY2socmVzKTtcclxuICAgICAgfSlcclxuICAgICAgLmNhdGNoKGZ1bmN0aW9uIChlcnJvcjogYW55KSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJlcnJvclwiLCBlcnJvcik7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVGaWVsZHMobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LnZhbGlkYXRlRmllbGRzKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgaGlkZShlKSB7XHJcbiAgICBjb25zdCB7IHNob3dNb2RlbCwgbW9kYWxQcm9wcyA9IHt9LCBkcmF3ZXJQcm9wcyA9IHt9IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIGNvbnN0IHsgb25DYW5jZWwgfSA9IG1vZGFsUHJvcHM7XHJcbiAgICBjb25zdCB7IG9uQ2xvc2UgfSA9IGRyYXdlclByb3BzO1xyXG4gICAgaWYgKHNob3dNb2RlbCA9PSBcImRyYXdlclwiICYmIG9uQ2xvc2UpIHtcclxuICAgICAgb25DbG9zZShlKTtcclxuICAgIH0gZWxzZSBpZiAoc2hvd01vZGVsID09IFwibW9kYWxcIiAmJiBvbkNhbmNlbCkge1xyXG4gICAgICBvbkNhbmNlbChlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIF90aGlzLmhpZGVGb3JtKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoaWRlRm9ybShyZXNldFZhbHVlID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAge1xyXG4gICAgICAgIGZvcm1WaXNpYmxlOiBmYWxzZSxcclxuICAgICAgICBpc0NoYW5nZTogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICBpZiAocmVzZXRWYWx1ZSkge1xyXG4gICAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc2hvd0Zvcm0odmFsdWU/OiBhbnksIHJlc2V0VmFsdWUgPSB0cnVlLCBvcHRpb246IGFueSA9IHt9KSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZm9ybVZpc2libGU6IHRydWUsXHJcbiAgICAgICAgaXNDaGFuZ2U6IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2V0RmllbGRzVmFsdWUodmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAocmVzZXRWYWx1ZSkgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHsgYWZ0ZXJSZW5kZXIgfSA9IG9wdGlvbjtcclxuICAgICAgICB1dGlscy5jYWxsYmFjayhhZnRlclJlbmRlciwgdGhpcyk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjbG9uZUVsZW1lbnQoaXRlbSwgaW5kZXggPSAwKSB7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgaWYgKHR5cGVvZiBpdGVtID09IFwic3RyaW5nXCIpIHJldHVybiBpdGVtO1xyXG4gICAgbGV0IHByb3BzID0ge30gYXMgeyBrZXk6IG51bWJlcjsgY2hpbGRyZW46IGFueSB9O1xyXG4gICAgcHJvcHMua2V5ID0gaW5kZXg7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAoaXRlbS5wcm9wcyAmJiBpdGVtLnByb3BzLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbS5wcm9wcy5jaGlsZHJlbikpIHtcclxuICAgICAgICAgIHByb3BzLmNoaWxkcmVuID0gUmVhY3QuQ2hpbGRyZW4ubWFwKFxyXG4gICAgICAgICAgICBpdGVtLnByb3BzLmNoaWxkcmVuLFxyXG4gICAgICAgICAgICBmdW5jdGlvbiAoY2hpbGQsIGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIF90aGlzLmNsb25lRWxlbWVudChjaGlsZCwgaW5kZXgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBwcm9wcy5jaGlsZHJlbiA9IHRoaXMuY2xvbmVFbGVtZW50KGl0ZW0ucHJvcHMuY2hpbGRyZW4sIDApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGl0ZW0sIHByb3BzKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uVmFsdWVzQ2hhbmdlKHZhbCwgYWxsVmFsKSB7XHJcbiAgICBjb25zdCB7IG9uVmFsdWVzQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGlzQ2hhbmdlOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgICBvblZhbHVlc0NoYW5nZSAmJiBvblZhbHVlc0NoYW5nZSh2YWwsIGFsbFZhbCk7XHJcbiAgfVxyXG4gIHJlbmRlclBhbmVsKG5ld0NoaWxkcmVuLCBwcm9wcykge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBzaG93TW9kZWwsXHJcbiAgICAgIGRyYXdlclByb3BzID0ge30sXHJcbiAgICAgIG1vZGFsUHJvcHMgPSB7fSxcclxuICAgICAgbG9hZGluZyA9IGZhbHNlLFxyXG4gICAgICBjaGFuZ2VWYWxpZCA9IHRydWUsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgZm9ybVZpc2libGUgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCBsYXlvdXQgPSB7XHJcbiAgICAgIGxhYmVsQ29sOiB7IHNwYW46IDQgfSxcclxuICAgICAgd3JhcHBlckNvbDogeyBzcGFuOiAyMCB9LFxyXG4gICAgfTtcclxuICAgIGlmIChzaG93TW9kZWwpIHtcclxuICAgICAgbGV0IG5ld01vZGFsUHJvcHMgPSBvbWl0KG1vZGFsUHJvcHMsIFtcInZpc2libGVcIl0pO1xyXG4gICAgICBuZXdNb2RhbFByb3BzID0geyAuLi5uZXdNb2RhbFByb3BzIH07XHJcbiAgICAgIGxldCBuZXdEcmF3ZXJQcm9wcyA9IG9taXQoZHJhd2VyUHJvcHMsIFtcInZpc2libGVcIl0pO1xyXG4gICAgICBsZXQgZGVmYXVsdHByb3BzID0ge1xyXG4gICAgICAgIG1hc2tDbG9zYWJsZTogIXRoaXMuc3RhdGUuaXNDaGFuZ2UsXHJcbiAgICAgICAgZm9ybUV4cGFuZDoge1xyXG4gICAgICAgICAgZXhwYW5kOiB0cnVlLFxyXG4gICAgICAgICAgdmFsaWQ6IGNoYW5nZVZhbGlkLFxyXG4gICAgICAgICAgY2hhbmdlOiB0aGlzLnN0YXRlLmlzQ2hhbmdlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdHlwZTogc2hvd01vZGVsLFxyXG4gICAgICB9IGFzIGFueTtcclxuICAgICAgbGV0IG1vZGFscHJvcHMgPSB7IC4uLmRlZmF1bHRwcm9wcyB9O1xyXG4gICAgICBtb2RhbHByb3BzID0ge1xyXG4gICAgICAgIC4uLmRlZmF1bHRwcm9wcyxcclxuICAgICAgICAuLi5uZXdNb2RhbFByb3BzLFxyXG4gICAgICAgIC4uLm5ld0RyYXdlclByb3BzLFxyXG4gICAgICAgIG9uQ2FuY2VsOiB0aGlzLmhpZGUuYmluZCh0aGlzKSxcclxuICAgICAgICAvLyBvbkNsb3NlOiB0aGlzLmhpZGUuYmluZCh0aGlzKSxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8TW9kYWwgdmlzaWJsZT17Zm9ybVZpc2libGV9IHsuLi5tb2RhbHByb3BzfT5cclxuICAgICAgICAgIHtsb2FkaW5nID8gKFxyXG4gICAgICAgICAgICA8U3BpbiBzcGlubmluZz17bG9hZGluZ30+XHJcbiAgICAgICAgICAgICAgPEZvcm1cclxuICAgICAgICAgICAgICAgIHJlZj17dGhpcy5mb3JtUmVmfVxyXG4gICAgICAgICAgICAgICAgdmFsaWRhdGVUcmlnZ2VyPXtbXCJvbkJsdXJcIiwgXCJvbkNoYW5nZVwiXX1cclxuICAgICAgICAgICAgICAgIHsuLi5sYXlvdXR9XHJcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgICAgICBvblZhbHVlc0NoYW5nZT17dGhpcy5vblZhbHVlc0NoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgICAgcHJlc2VydmU9e2ZhbHNlfVxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvU3Bpbj5cclxuICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgIDxGb3JtXHJcbiAgICAgICAgICAgICAgcmVmPXt0aGlzLmZvcm1SZWZ9XHJcbiAgICAgICAgICAgICAgdmFsaWRhdGVUcmlnZ2VyPXtbXCJvbkJsdXJcIiwgXCJvbkNoYW5nZVwiXX1cclxuICAgICAgICAgICAgICB7Li4ubGF5b3V0fVxyXG4gICAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgICAgICBvblZhbHVlc0NoYW5nZT17dGhpcy5vblZhbHVlc0NoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgIHByZXNlcnZlPXtmYWxzZX1cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgPC9Nb2RhbD5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPD5cclxuICAgICAgICAgIHtsb2FkaW5nID8gKFxyXG4gICAgICAgICAgICA8U3BpbiBzcGlubmluZz17bG9hZGluZ30+XHJcbiAgICAgICAgICAgICAgPEZvcm1cclxuICAgICAgICAgICAgICAgIHJlZj17dGhpcy5mb3JtUmVmfVxyXG4gICAgICAgICAgICAgICAgdmFsaWRhdGVUcmlnZ2VyPXtbXCJvbkJsdXJcIiwgXCJvbkNoYW5nZVwiXX1cclxuICAgICAgICAgICAgICAgIHsuLi5sYXlvdXR9XHJcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgICAgICBvblZhbHVlc0NoYW5nZT17dGhpcy5vblZhbHVlc0NoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvU3Bpbj5cclxuICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgIDxGb3JtXHJcbiAgICAgICAgICAgICAgcmVmPXt0aGlzLmZvcm1SZWZ9XHJcbiAgICAgICAgICAgICAgdmFsaWRhdGVUcmlnZ2VyPXtbXCJvbkJsdXJcIiwgXCJvbkNoYW5nZVwiXX1cclxuICAgICAgICAgICAgICB7Li4ubGF5b3V0fVxyXG4gICAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgICAgICBvblZhbHVlc0NoYW5nZT17dGhpcy5vblZhbHVlc0NoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICA8Lz5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgcHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgXCJmb3JtXCIsXHJcbiAgICAgIFwic2hvd01vZGVsXCIsXHJcbiAgICAgIFwibW9kYWxQcm9wc1wiLFxyXG4gICAgICBcImRyYXdlclByb3BzXCIsXHJcbiAgICAgIFwidXJsXCIsXHJcbiAgICAgIFwiZW5jcnlwdEZpZWxkc1wiLFxyXG4gICAgICBcImNoYW5nZVZhbGlkXCIsXHJcbiAgICBdKTtcclxuXHJcbiAgICByZXR1cm4gPD57dGhpcy5yZW5kZXJQYW5lbChwcm9wcy5jaGlsZHJlbiwgcHJvcHMpfTwvPjtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgTnNjRm9ybTtcclxuIl19
490
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvZm9ybS9Gb3JtLnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJNb2RhbCIsInJlcXVlc3QiLCJvbWl0IiwiU3BpbiIsInV0aWxzIiwiTnNjRm9ybSIsInByb3BzIiwiY3JlYXRlUmVmIiwiZm9ybVZpc2libGUiLCJmb3JtTW9kYWxQcm9wcyIsImZvcm1EcmF3ZXJQcm9wcyIsImlzQ2hhbmdlIiwiZXhwYW5kIiwic2NvcGUiLCJwYXJhbXMiLCJiZWZvcmVSZW5kZXIiLCJjYWxsYmFja0JlZm9yZUNsb3NlIiwiY2FsbGJhY2siLCJhZnRlclJlbmRlciIsIm5hbWUiLCJmb3JtUmVmIiwiY3VycmVudCIsImdldEZpZWxkRXJyb3IiLCJnZXRGaWVsZEluc3RhbmNlIiwiZ2V0RmllbGRzRXJyb3IiLCJnZXRGaWVsZHNWYWx1ZSIsImdldEZpZWxkVmFsdWUiLCJpc0ZpZWxkc1RvdWNoZWQiLCJpc0ZpZWxkVG91Y2hlZCIsImlzRmllbGRWYWxpZGF0aW5nIiwicmVzZXRGaWVsZHMiLCJvcHRpb25zIiwic2Nyb2xsVG9GaWVsZCIsImZpbGRzIiwic2V0RmllbGRzIiwidmFsdWVzIiwic2V0RmllbGRzVmFsdWUiLCJzdWJtaXQiLCJ1cmwiLCJtc2ciLCJwcm9wc1VybCIsImVuY3J5cHRGaWVsZHMiLCJlbmNyeXB0UHJvcHBzIiwiRXJyb3IiLCJtZXRob2QiLCJyZXF1ZXN0VXJsIiwicmVxdWVzdERhdGEiLCJyZXF1ZXN0RW5jcnlwdCIsInJlcXVlc3RQYXJhbSIsImRhdGEiLCJ0b0xvd2VyQ2FzZSIsImF1dG9QcmVmaXgiLCJ0aGVuIiwicmVzIiwiY29kZSIsInN1Y2Nlc3MiLCJlcnJvciIsImNhdGNoIiwiY29uc29sZSIsImxvZyIsInZhbGlkYXRlRmllbGRzIiwiZSIsInNob3dNb2RlbCIsIm1vZGFsUHJvcHMiLCJkcmF3ZXJQcm9wcyIsIl90aGlzIiwib25DYW5jZWwiLCJvbkNsb3NlIiwiaGlkZUZvcm0iLCJyZXNldFZhbHVlIiwic2V0U3RhdGUiLCJ2YWx1ZSIsIm9wdGlvbiIsIml0ZW0iLCJpbmRleCIsImtleSIsImNoaWxkcmVuIiwiQXJyYXkiLCJpc0FycmF5IiwiQ2hpbGRyZW4iLCJtYXAiLCJjaGlsZCIsImNsb25lRWxlbWVudCIsInZhbCIsImFsbFZhbCIsIm9uVmFsdWVzQ2hhbmdlIiwibmV3Q2hpbGRyZW4iLCJsb2FkaW5nIiwiY2hhbmdlVmFsaWQiLCJzdGF0ZSIsImxheW91dCIsImxhYmVsQ29sIiwic3BhbiIsIndyYXBwZXJDb2wiLCJuZXdNb2RhbFByb3BzIiwibmV3RHJhd2VyUHJvcHMiLCJkZWZhdWx0cHJvcHMiLCJtYXNrQ2xvc2FibGUiLCJmb3JtRXhwYW5kIiwidmFsaWQiLCJjaGFuZ2UiLCJ0eXBlIiwibW9kYWxwcm9wcyIsImhpZGUiLCJiaW5kIiwicmVuZGVyUGFuZWwiLCJuZXh0UHJvcHMiLCJwcmV2U3RhdGUiLCJPYmplY3QiLCJpcyIsIm5ld1N0YXRlIiwidmlzaWJsZSIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUVBLE9BQU9DLEtBQVAsTUFBa0IsVUFBbEI7QUFFQSxTQUFTQyxPQUFULFFBQXdCLHVCQUF4QjtBQUNBLE9BQU9DLElBQVAsTUFBaUIsU0FBakI7QUFFQSxPQUFPQyxJQUFQLE1BQWlCLFNBQWpCO0FBQ0EsU0FBU0MsS0FBVCxRQUFzQix1QkFBdEI7O0lBZU1DLE87Ozs7O0FBdUJKLG1CQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUE7O0FBQ2pCLCtCQUFNQSxLQUFOOztBQURpQiw0RUF0QlRSLEtBQUssQ0FBQ1MsU0FBTixFQXNCUzs7QUFBQSw2REFyQlg7QUFDTkMsTUFBQUEsV0FBVyxFQUFFLEtBRFA7QUFFTkMsTUFBQUEsY0FBYyxFQUFFLEVBRlY7QUFHTkMsTUFBQUEsZUFBZSxFQUFFLEVBSFg7QUFJTkMsTUFBQUEsUUFBUSxFQUFFLEtBSko7QUFLTkMsTUFBQUEsTUFBTSxFQUFFO0FBTEYsS0FxQlc7O0FBQUEsOERBZEw7QUFDWjtBQUNBQyxNQUFBQSxLQUFLLGdDQUZPO0FBR1o7QUFDQUMsTUFBQUEsTUFBTSxFQUFFLEVBSkk7QUFLWjtBQUNBQyxNQUFBQSxZQUFZLEVBQUUsSUFORjtBQU9aO0FBQ0FDLE1BQUFBLG1CQUFtQixFQUFFLElBUlQ7QUFTWjtBQUNBQyxNQUFBQSxRQUFRLEVBQUUsSUFWRTtBQVdaO0FBQ0FDLE1BQUFBLFdBQVcsRUFBRTtBQVpELEtBY0s7O0FBQUE7QUFFbEI7Ozs7V0FrQ0Q7QUFDQSwyQkFBY0MsSUFBZCxFQUFvQjtBQUFBOztBQUNsQixzQ0FBTyxLQUFLQyxPQUFMLENBQWFDLE9BQXBCLDBEQUFPLHNCQUFzQkMsYUFBdEIsQ0FBb0NILElBQXBDLENBQVA7QUFDRCxLLENBRUQ7Ozs7V0FDQSwwQkFBaUJBLElBQWpCLEVBQXVCO0FBQUE7O0FBQ3JCLHVDQUFPLEtBQUtDLE9BQUwsQ0FBYUMsT0FBcEIsMkRBQU8sdUJBQXNCRSxnQkFBdEIsQ0FBdUNKLElBQXZDLENBQVA7QUFDRCxLLENBRUQ7Ozs7V0FDQSwwQkFBaUI7QUFBQTs7QUFDZix1Q0FBTyxLQUFLQyxPQUFMLENBQWFDLE9BQXBCLDJEQUFPLHVCQUFzQkcsY0FBdEIsRUFBUDtBQUNELEssQ0FFRDs7OztXQUNBLDBCQUFpQjtBQUFBOztBQUNmLHVDQUFPLEtBQUtKLE9BQUwsQ0FBYUMsT0FBcEIsMkRBQU8sdUJBQXNCSSxjQUF0QixFQUFQO0FBQ0QsSyxDQUVEOzs7O1dBQ0EsdUJBQWNOLElBQWQsRUFBb0I7QUFBQTs7QUFDbEIsdUNBQU8sS0FBS0MsT0FBTCxDQUFhQyxPQUFwQiwyREFBTyx1QkFBc0JLLGFBQXRCLENBQW9DUCxJQUFwQyxDQUFQO0FBQ0QsSyxDQUVEOzs7O1dBQ0EsMkJBQWtCO0FBQUE7O0FBQ2hCLHVDQUFPLEtBQUtDLE9BQUwsQ0FBYUMsT0FBcEIsMkRBQU8sdUJBQXNCTSxlQUF0QixFQUFQO0FBQ0QsSyxDQUVEOzs7O1dBQ0Esd0JBQWVSLElBQWYsRUFBcUI7QUFBQTs7QUFDbkIsdUNBQU8sS0FBS0MsT0FBTCxDQUFhQyxPQUFwQiwyREFBTyx1QkFBc0JPLGNBQXRCLENBQXFDVCxJQUFyQyxDQUFQO0FBQ0QsSyxDQUVEOzs7O1dBQ0EsMkJBQWtCQSxJQUFsQixFQUF3QjtBQUFBOztBQUN0Qix1Q0FBTyxLQUFLQyxPQUFMLENBQWFDLE9BQXBCLDJEQUFPLHVCQUFzQlEsaUJBQXRCLENBQXdDVixJQUF4QyxDQUFQO0FBQ0QsSyxDQUVEOzs7O1dBQ0EsdUJBQWM7QUFBQTs7QUFDWixxQ0FBS0MsT0FBTCxDQUFhQyxPQUFiLGtGQUFzQlMsV0FBdEI7QUFDRDs7O1dBRUQsdUJBQWNYLElBQWQsRUFBb0JZLE9BQXBCLEVBQTZCO0FBQUE7O0FBQzNCLHNDQUFLWCxPQUFMLENBQWFDLE9BQWIsb0ZBQXNCVyxhQUF0QixDQUFvQ2IsSUFBcEMsRUFBMENZLE9BQTFDO0FBQ0Q7OztXQUVELG1CQUFVRSxLQUFWLEVBQWlCO0FBQUE7O0FBQ2Ysc0NBQUtiLE9BQUwsQ0FBYUMsT0FBYixvRkFBc0JhLFNBQXRCLENBQWdDRCxLQUFoQztBQUNEOzs7V0FFRCx3QkFBZUUsTUFBZixFQUF1QjtBQUFBOztBQUNyQixzQ0FBS2YsT0FBTCxDQUFhQyxPQUFiLG9GQUFzQmUsY0FBdEIsQ0FBcUNELE1BQXJDO0FBQ0Q7OztXQUVELGtCQUFTO0FBQUE7O0FBQ1Asc0NBQUtmLE9BQUwsQ0FBYUMsT0FBYixvRkFBc0JnQixNQUF0QjtBQUNEOzs7V0FFRCxrQkFDRUMsR0FERixFQUVFUCxPQUZGLEVBR0VkLFFBSEYsRUFJRXNCLEdBSkYsRUFLRTtBQUNBLHdCQUE2RCxLQUFLakMsS0FBbEU7QUFBQSxVQUFha0MsUUFBYixlQUFRRixHQUFSO0FBQUEsOENBQXVCRyxhQUF2QjtBQUFBLFVBQXNDQyxhQUF0QyxzQ0FBc0QsRUFBdEQ7O0FBQ0EsVUFBSSxDQUFDSixHQUFELElBQVEsQ0FBQ0UsUUFBYixFQUF1QjtBQUNyQixjQUFNLElBQUlHLEtBQUosQ0FBVSxXQUFWLENBQU47QUFDRDs7QUFDRCw0QkFBNEJaLE9BQTVCLENBQVFhLE1BQVI7QUFBQSxVQUFRQSxNQUFSLGdDQUFpQixNQUFqQjtBQUNBLFVBQUlDLFVBQVUsR0FBR1AsR0FBRyxHQUFHQSxHQUFILEdBQVNFLFFBQTdCO0FBQ0EsVUFBSU0sV0FBVyxHQUFHLEtBQUsxQixPQUFMLENBQWFDLE9BQWIsQ0FBcUJJLGNBQXJCLEVBQWxCO0FBQ0EsVUFBSXNCLGNBQWMsR0FBR0wsYUFBckI7QUFDQSxVQUFJTSxZQUFZLEdBQUc7QUFBRUosUUFBQUEsTUFBTSxFQUFFQSxNQUFWO0FBQWtCSyxRQUFBQSxJQUFJLEVBQUVIO0FBQXhCLE9BQW5COztBQUNBLFVBQUlmLE9BQUosRUFBYTtBQUNYLFlBQVFrQixJQUFSLEdBQTJDbEIsT0FBM0MsQ0FBUWtCLElBQVI7QUFBQSxZQUFjUixhQUFkLEdBQTJDVixPQUEzQyxDQUFjVSxhQUFkO0FBQUEsWUFBZ0MzQixNQUFoQyw0QkFBMkNpQixPQUEzQzs7QUFDQWlCLFFBQUFBLFlBQVksbUNBQVFBLFlBQVIsR0FBeUJsQyxNQUF6QixDQUFaOztBQUNBLFlBQUltQyxJQUFKLEVBQVU7QUFDUixpQkFBT0QsWUFBWSxDQUFDQyxJQUFwQjs7QUFDQSxjQUFJTCxNQUFNLENBQUNNLFdBQVAsTUFBd0IsS0FBNUIsRUFBbUM7QUFDakNGLFlBQUFBLFlBQVksaURBQVFBLFlBQVIsR0FBeUJsQyxNQUF6QjtBQUFpQ0EsY0FBQUEsTUFBTSxFQUFFbUM7QUFBekMsY0FBWjtBQUNELFdBRkQsTUFFTztBQUNMRCxZQUFBQSxZQUFZLGlEQUFRQSxZQUFSLEdBQXlCbEMsTUFBekI7QUFBaUNtQyxjQUFBQSxJQUFJLEVBQUVBO0FBQXZDLGNBQVo7QUFDRDtBQUNGOztBQUNELFlBQUlSLGFBQUosRUFBbUI7QUFDakJNLFVBQUFBLGNBQWMsR0FBR04sYUFBakI7QUFDRDtBQUNGOztBQUVEeEMsTUFBQUEsT0FBTyxDQUFDNEMsVUFBRDtBQUNMTSxRQUFBQSxVQUFVLEVBQUU7QUFEUCxTQUVGSCxZQUZFO0FBR0xQLFFBQUFBLGFBQWEsRUFBRU07QUFIVixTQUFQLENBS0dLLElBTEgsQ0FLUSxVQUFVQyxHQUFWLEVBQW9CO0FBQ3hCLFlBQVFDLElBQVIsR0FBaUJELEdBQWpCLENBQVFDLElBQVI7O0FBQ0EsWUFBSWYsR0FBSixFQUFTO0FBQ1AsY0FBSWUsSUFBSSxLQUFLLEdBQWIsRUFBa0I7QUFDaEIscUJBQVFDLE9BQVIsQ0FBZ0IsTUFBaEI7QUFDRCxXQUZELE1BRU87QUFDTCxxQkFBUUMsS0FBUixDQUFjLE1BQWQ7QUFDRDtBQUNGOztBQUNEdkMsUUFBQUEsUUFBUSxJQUFJQSxRQUFRLENBQUNvQyxHQUFELENBQXBCO0FBQ0QsT0FmSCxFQWdCR0ksS0FoQkgsQ0FnQlMsVUFBVUQsS0FBVixFQUFzQjtBQUMzQkUsUUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVksT0FBWixFQUFxQkgsS0FBckI7QUFDRCxPQWxCSDtBQW1CRDs7O1dBRUQsd0JBQWVyQyxJQUFmLEVBQXFCO0FBQ25CLGFBQU8sS0FBS0MsT0FBTCxDQUFhQyxPQUFiLENBQXFCdUMsY0FBckIsQ0FBb0N6QyxJQUFwQyxDQUFQO0FBQ0Q7OztXQUVELGNBQUswQyxDQUFMLEVBQVE7QUFDTix5QkFBeUQsS0FBS3ZELEtBQTlEO0FBQUEsVUFBUXdELFNBQVIsZ0JBQVFBLFNBQVI7QUFBQSwrQ0FBbUJDLFVBQW5CO0FBQUEsVUFBbUJBLFVBQW5CLHNDQUFnQyxFQUFoQztBQUFBLCtDQUFvQ0MsV0FBcEM7QUFBQSxVQUFvQ0EsV0FBcEMsc0NBQWtELEVBQWxEOztBQUNBLFVBQUlDLEtBQUssR0FBRyxJQUFaOztBQUNBLFVBQVFDLFFBQVIsR0FBcUJILFVBQXJCLENBQVFHLFFBQVI7QUFDQSxVQUFRQyxPQUFSLEdBQW9CSCxXQUFwQixDQUFRRyxPQUFSOztBQUNBLFVBQUlMLFNBQVMsSUFBSSxRQUFiLElBQXlCSyxPQUE3QixFQUFzQztBQUNwQ0EsUUFBQUEsT0FBTyxDQUFDTixDQUFELENBQVA7QUFDRCxPQUZELE1BRU8sSUFBSUMsU0FBUyxJQUFJLE9BQWIsSUFBd0JJLFFBQTVCLEVBQXNDO0FBQzNDQSxRQUFBQSxRQUFRLENBQUNMLENBQUQsQ0FBUjtBQUNELE9BRk0sTUFFQTtBQUNMSSxRQUFBQSxLQUFLLENBQUNHLFFBQU47QUFDRDtBQUNGOzs7V0FFRCxvQkFBNEI7QUFBQTs7QUFBQSxVQUFuQkMsVUFBbUIsdUVBQU4sSUFBTTtBQUMxQixXQUFLQyxRQUFMLENBQ0U7QUFDRTlELFFBQUFBLFdBQVcsRUFBRSxLQURmO0FBRUVHLFFBQUFBLFFBQVEsRUFBRTtBQUZaLE9BREYsRUFLRSxZQUFNO0FBQ0osWUFBSTBELFVBQUosRUFBZ0I7QUFBQTs7QUFDZCxtQ0FBQSxNQUFJLENBQUNqRCxPQUFMLENBQWFDLE9BQWIsZ0ZBQXNCUyxXQUF0QjtBQUNEO0FBQ0YsT0FUSDtBQVdEOzs7V0FFRCxrQkFBU3lDLEtBQVQsRUFBd0M7QUFBQTs7QUFBQSxVQUFsQkMsTUFBa0IsdUVBQUosRUFBSTtBQUN0QyxXQUFLRixRQUFMLENBQ0U7QUFDRTlELFFBQUFBLFdBQVcsRUFBRSxJQURmO0FBRUVHLFFBQUFBLFFBQVEsRUFBRTtBQUZaLE9BREYsRUFLRSxZQUFNO0FBQUE7O0FBQ0osaUNBQUEsTUFBSSxDQUFDUyxPQUFMLENBQWFDLE9BQWIsZ0ZBQXNCZSxjQUF0QixDQUFxQ21DLEtBQXJDO0FBQ0EsWUFBUXJELFdBQVIsR0FBd0JzRCxNQUF4QixDQUFRdEQsV0FBUjtBQUNBZCxRQUFBQSxLQUFLLENBQUNhLFFBQU4sQ0FBZUMsV0FBZixFQUE0QixNQUE1QjtBQUNELE9BVEg7QUFXRDs7O1dBRUQsc0JBQWF1RCxJQUFiLEVBQThCO0FBQUEsVUFBWEMsS0FBVyx1RUFBSCxDQUFHOztBQUM1QixVQUFJVCxLQUFLLEdBQUcsSUFBWjs7QUFDQSxVQUFJLE9BQU9RLElBQVAsSUFBZSxRQUFuQixFQUE2QixPQUFPQSxJQUFQO0FBQzdCLFVBQUluRSxLQUFLLEdBQUcsRUFBWjtBQUNBQSxNQUFBQSxLQUFLLENBQUNxRSxHQUFOLEdBQVlELEtBQVo7O0FBQ0EsVUFBSTtBQUNGLFlBQUlELElBQUksQ0FBQ25FLEtBQUwsSUFBY21FLElBQUksQ0FBQ25FLEtBQUwsQ0FBV3NFLFFBQTdCLEVBQXVDO0FBQ3JDLGNBQUlDLEtBQUssQ0FBQ0MsT0FBTixDQUFjTCxJQUFJLENBQUNuRSxLQUFMLENBQVdzRSxRQUF6QixDQUFKLEVBQXdDO0FBQ3RDdEUsWUFBQUEsS0FBSyxDQUFDc0UsUUFBTixHQUFpQjlFLEtBQUssQ0FBQ2lGLFFBQU4sQ0FBZUMsR0FBZixDQUNmUCxJQUFJLENBQUNuRSxLQUFMLENBQVdzRSxRQURJLEVBRWYsVUFBVUssS0FBVixFQUFpQlAsS0FBakIsRUFBd0I7QUFDdEIscUJBQU9ULEtBQUssQ0FBQ2lCLFlBQU4sQ0FBbUJELEtBQW5CLEVBQTBCUCxLQUExQixDQUFQO0FBQ0QsYUFKYyxDQUFqQjtBQU1ELFdBUEQsTUFPTztBQUNMcEUsWUFBQUEsS0FBSyxDQUFDc0UsUUFBTixHQUFpQixLQUFLTSxZQUFMLENBQWtCVCxJQUFJLENBQUNuRSxLQUFMLENBQVdzRSxRQUE3QixFQUF1QyxDQUF2QyxDQUFqQjtBQUNEO0FBQ0Y7O0FBQ0QsNEJBQU85RSxLQUFLLENBQUNvRixZQUFOLENBQW1CVCxJQUFuQixFQUF5Qm5FLEtBQXpCLENBQVA7QUFDRCxPQWRELENBY0UsT0FBT3VELENBQVAsRUFBVTtBQUNWLGVBQU8sSUFBUDtBQUNEO0FBQ0Y7OztXQUNELHdCQUFlc0IsR0FBZixFQUFvQkMsTUFBcEIsRUFBNEI7QUFDMUIsVUFBUUMsY0FBUixHQUEyQixLQUFLL0UsS0FBaEMsQ0FBUStFLGNBQVI7QUFDQSxXQUFLZixRQUFMLENBQWM7QUFDWjNELFFBQUFBLFFBQVEsRUFBRTtBQURFLE9BQWQ7QUFHQTBFLE1BQUFBLGNBQWMsSUFBSUEsY0FBYyxDQUFDRixHQUFELEVBQU1DLE1BQU4sQ0FBaEM7QUFDRDs7O1dBQ0QscUJBQVlFLFdBQVosRUFBeUJoRixLQUF6QixFQUFnQztBQUM5Qix5QkFNSSxLQUFLQSxLQU5UO0FBQUEsVUFDRXdELFNBREYsZ0JBQ0VBLFNBREY7QUFBQSwrQ0FFRUUsV0FGRjtBQUFBLFVBRUVBLFdBRkYsc0NBRWdCLEVBRmhCO0FBQUEsK0NBR0VELFVBSEY7QUFBQSxVQUdFQSxVQUhGLHNDQUdlLEVBSGY7QUFBQSw4Q0FJRXdCLE9BSkY7QUFBQSxVQUlFQSxPQUpGLHFDQUlZLEtBSlo7QUFBQSwrQ0FLRUMsV0FMRjtBQUFBLFVBS0VBLFdBTEYsc0NBS2dCLElBTGhCO0FBT0EsVUFBUWhGLFdBQVIsR0FBd0IsS0FBS2lGLEtBQTdCLENBQVFqRixXQUFSO0FBQ0EsVUFBTWtGLE1BQU0sR0FBRztBQUNiQyxRQUFBQSxRQUFRLEVBQUU7QUFBRUMsVUFBQUEsSUFBSSxFQUFFO0FBQVIsU0FERztBQUViQyxRQUFBQSxVQUFVLEVBQUU7QUFBRUQsVUFBQUEsSUFBSSxFQUFFO0FBQVI7QUFGQyxPQUFmOztBQUlBLFVBQUk5QixTQUFKLEVBQWU7QUFDYixZQUFJZ0MsYUFBYSxHQUFHNUYsSUFBSSxDQUFDNkQsVUFBRCxFQUFhLENBQUMsU0FBRCxDQUFiLENBQXhCO0FBQ0ErQixRQUFBQSxhQUFhLHFCQUFRQSxhQUFSLENBQWI7QUFDQSxZQUFJQyxjQUFjLEdBQUc3RixJQUFJLENBQUM4RCxXQUFELEVBQWMsQ0FBQyxTQUFELENBQWQsQ0FBekI7QUFDQSxZQUFJZ0MsWUFBWSxHQUFHO0FBQ2pCQyxVQUFBQSxZQUFZLEVBQUUsQ0FBQyxLQUFLUixLQUFMLENBQVc5RSxRQURUO0FBRWpCdUYsVUFBQUEsVUFBVSxFQUFFO0FBQ1Z0RixZQUFBQSxNQUFNLEVBQUUsSUFERTtBQUVWdUYsWUFBQUEsS0FBSyxFQUFFWCxXQUZHO0FBR1ZZLFlBQUFBLE1BQU0sRUFBRSxLQUFLWCxLQUFMLENBQVc5RTtBQUhULFdBRks7QUFPakIwRixVQUFBQSxJQUFJLEVBQUV2QztBQVBXLFNBQW5COztBQVNBLFlBQUl3QyxVQUFVLHFCQUFRTixZQUFSLENBQWQ7O0FBQ0FNLFFBQUFBLFVBQVUsK0RBQ0xOLFlBREssR0FFTEYsYUFGSyxHQUdMQyxjQUhLO0FBSVI3QixVQUFBQSxRQUFRLEVBQUUsS0FBS3FDLElBQUwsQ0FBVUMsSUFBVixDQUFlLElBQWYsQ0FKRixDQUtSOztBQUxRLFVBQVY7QUFPQSw0QkFDRSxvQkFBQyxLQUFEO0FBQU8sVUFBQSxPQUFPLEVBQUVoRztBQUFoQixXQUFpQzhGLFVBQWpDLEdBQ0dmLE9BQU8sZ0JBQ04sb0JBQUMsSUFBRDtBQUFNLFVBQUEsUUFBUSxFQUFFQTtBQUFoQix3QkFDRTtBQUNFLFVBQUEsR0FBRyxFQUFFLEtBQUtuRSxPQURaO0FBRUUsVUFBQSxlQUFlLEVBQUUsQ0FBQyxRQUFELEVBQVcsVUFBWCxDQUZuQjtBQUdFLFVBQUEsU0FBUyxFQUFFO0FBSGIsV0FJTXNFLE1BSk4sRUFLTXBGLEtBTE47QUFNRSxVQUFBLGNBQWMsRUFBRSxLQUFLK0UsY0FBTCxDQUFvQm1CLElBQXBCLENBQXlCLElBQXpCLENBTmxCO0FBT0UsVUFBQSxRQUFRLEVBQUU7QUFQWixXQURGLENBRE0sZ0JBYU47QUFDRSxVQUFBLEdBQUcsRUFBRSxLQUFLcEYsT0FEWjtBQUVFLFVBQUEsZUFBZSxFQUFFLENBQUMsUUFBRCxFQUFXLFVBQVg7QUFGbkIsV0FHTXNFLE1BSE4sRUFJTXBGLEtBSk47QUFLRSxVQUFBLGNBQWMsRUFBRSxLQUFLK0UsY0FBTCxDQUFvQm1CLElBQXBCLENBQXlCLElBQXpCLENBTGxCO0FBTUUsVUFBQSxRQUFRLEVBQUU7QUFOWixXQWRKLENBREY7QUEwQkQsT0EvQ0QsTUErQ087QUFDTCw0QkFDRSwwQ0FDR2pCLE9BQU8sZ0JBQ04sb0JBQUMsSUFBRDtBQUFNLFVBQUEsUUFBUSxFQUFFQTtBQUFoQix3QkFDRTtBQUNFLFVBQUEsR0FBRyxFQUFFLEtBQUtuRSxPQURaO0FBRUUsVUFBQSxlQUFlLEVBQUUsQ0FBQyxRQUFELEVBQVcsVUFBWDtBQUZuQixXQUdNc0UsTUFITixFQUlNcEYsS0FKTjtBQUtFLFVBQUEsY0FBYyxFQUFFLEtBQUsrRSxjQUFMLENBQW9CbUIsSUFBcEIsQ0FBeUIsSUFBekI7QUFMbEIsV0FERixDQURNLGdCQVdOO0FBQ0UsVUFBQSxHQUFHLEVBQUUsS0FBS3BGLE9BRFo7QUFFRSxVQUFBLGVBQWUsRUFBRSxDQUFDLFFBQUQsRUFBVyxVQUFYO0FBRm5CLFdBR01zRSxNQUhOLEVBSU1wRixLQUpOO0FBS0UsVUFBQSxjQUFjLEVBQUUsS0FBSytFLGNBQUwsQ0FBb0JtQixJQUFwQixDQUF5QixJQUF6QjtBQUxsQixXQVpKLENBREY7QUF1QkQ7QUFDRjs7O1dBQ0Qsa0JBQVM7QUFDUCxVQUFNbEcsS0FBSyxHQUFHSixJQUFJLENBQUMsS0FBS0ksS0FBTixFQUFhLENBQzdCLE1BRDZCLEVBRTdCLFdBRjZCLEVBRzdCLFlBSDZCLEVBSTdCLGFBSjZCLEVBSzdCLEtBTDZCLEVBTTdCLGVBTjZCLEVBTzdCLGFBUDZCLENBQWIsQ0FBbEI7QUFVQSwwQkFBTywwQ0FBRyxLQUFLbUcsV0FBTCxDQUFpQm5HLEtBQUssQ0FBQ3NFLFFBQXZCLEVBQWlDdEUsS0FBakMsQ0FBSCxDQUFQO0FBQ0Q7OztXQS9URCxrQ0FBZ0NvRyxTQUFoQyxFQUEyQ0MsU0FBM0MsRUFBc0Q7QUFDcEQsVUFBUTVDLFVBQVIsR0FBK0MyQyxTQUEvQyxDQUFRM0MsVUFBUjtBQUFBLFVBQW9CQyxXQUFwQixHQUErQzBDLFNBQS9DLENBQW9CMUMsV0FBcEI7QUFBQSxVQUFpQ0YsU0FBakMsR0FBK0M0QyxTQUEvQyxDQUFpQzVDLFNBQWpDO0FBQ0EsVUFBUXJELGNBQVIsR0FBNENrRyxTQUE1QyxDQUFRbEcsY0FBUjtBQUFBLFVBQXdCQyxlQUF4QixHQUE0Q2lHLFNBQTVDLENBQXdCakcsZUFBeEI7O0FBQ0EsVUFBSW9ELFNBQVMsSUFBSSxPQUFqQixFQUEwQjtBQUN4QjtBQUNBLFlBQUksQ0FBQzhDLE1BQU0sQ0FBQ0MsRUFBUCxDQUFVcEcsY0FBVixFQUEwQnNELFVBQTFCLENBQUwsRUFBNEM7QUFDMUMsY0FBSStDLFFBQVEsR0FBRztBQUNicEcsWUFBQUEsZUFBZSxFQUFFcUQ7QUFESixXQUFmOztBQUdBLGNBQUksQ0FBQUEsVUFBVSxTQUFWLElBQUFBLFVBQVUsV0FBVixZQUFBQSxVQUFVLENBQUVnRCxPQUFaLE1BQXdCLElBQXhCLElBQWdDLENBQUFoRCxVQUFVLFNBQVYsSUFBQUEsVUFBVSxXQUFWLFlBQUFBLFVBQVUsQ0FBRWdELE9BQVosTUFBd0JDLFNBQTVELEVBQXVFO0FBQ3JFRixZQUFBQSxRQUFRLENBQUN0RyxXQUFULEdBQXVCdUQsVUFBdkIsYUFBdUJBLFVBQXZCLHVCQUF1QkEsVUFBVSxDQUFFZ0QsT0FBbkM7QUFDRDs7QUFDRCxpQkFBT0QsUUFBUDtBQUNEO0FBQ0YsT0FYRCxNQVdPLElBQUloRCxTQUFTLElBQUksUUFBakIsRUFBMkI7QUFDaEM7QUFDQSxZQUFJLENBQUM4QyxNQUFNLENBQUNDLEVBQVAsQ0FBVW5HLGVBQVYsRUFBMkJzRCxXQUEzQixDQUFMLEVBQThDO0FBQzVDLGNBQUk4QyxTQUFRLEdBQUc7QUFDYnBHLFlBQUFBLGVBQWUsRUFBRXNEO0FBREosV0FBZjs7QUFHQSxjQUNFLENBQUFBLFdBQVcsU0FBWCxJQUFBQSxXQUFXLFdBQVgsWUFBQUEsV0FBVyxDQUFFK0MsT0FBYixNQUF5QixJQUF6QixJQUNBLENBQUEvQyxXQUFXLFNBQVgsSUFBQUEsV0FBVyxXQUFYLFlBQUFBLFdBQVcsQ0FBRStDLE9BQWIsTUFBeUJDLFNBRjNCLEVBR0U7QUFDQUYsWUFBQUEsU0FBUSxDQUFDdEcsV0FBVCxHQUF1QndELFdBQXZCLGFBQXVCQSxXQUF2Qix1QkFBdUJBLFdBQVcsQ0FBRStDLE9BQXBDO0FBQ0Q7O0FBQ0QsaUJBQU9ELFNBQVA7QUFDRDtBQUNGOztBQUNELGFBQU8sSUFBUDtBQUNEOzs7O0VBekRtQi9HLGE7O0FBNFZ0QixlQUFlTSxPQUFmIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjrooajljZXnu4Tku7ZcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTA0LTA5IDA5OjE4OjM0XHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNC0yMyAxNToyMzo1NFxyXG4gKi9cclxuaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgRm9ybSwgRm9ybVByb3BzLCBEcmF3ZXIsIERyYXdlclByb3BzLCBtZXNzYWdlIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IE1vZGFsIGZyb20gXCIuLi9tb2RhbFwiO1xyXG5pbXBvcnQgeyBGb3JtSW5zdGFuY2UgfSBmcm9tIFwiYW50ZC9saWIvZm9ybVwiO1xyXG5pbXBvcnQgeyByZXF1ZXN0IH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgeyBOc2NNb2RhbFBvcnBzIH0gZnJvbSBcIi4uL21vZGFsXCI7XHJcbmltcG9ydCBTcGluIGZyb20gXCIuLi9zcGluXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5leHBvcnQgaW50ZXJmYWNlIElGb3JtUHJvcHMgZXh0ZW5kcyBGb3JtUHJvcHMge1xyXG4gIHNob3dNb2RlbD86IFwibW9kYWxcIiB8IFwiZHJhd2VyXCIgfCBcImF1dG9cIjtcclxuICBtb2RhbFByb3BzPzogTnNjTW9kYWxQb3JwcztcclxuICBkcmF3ZXJQcm9wcz86IERyYXdlclByb3BzICYge1xyXG4gICAgb25Paz86IGFueTtcclxuICAgIG9rQnV0dG9uUHJvcHM/OiBPYmplY3Q7XHJcbiAgICBmb3JtRXhwYW5kPzogT2JqZWN0O1xyXG4gIH07XHJcbiAgdXJsPzogc3RyaW5nO1xyXG4gIGVuY3J5cHRGaWVsZHM/OiBBcnJheTxTdHJpbmc+O1xyXG4gIGNoYW5nZVZhbGlkPzogYm9vbGVhbjsgLy/mlbDmja7kv67mlLnlhbPpl63moKHpqoxcclxuICBsb2FkaW5nPzogYm9vbGVhbjsgLy/ooajljZXliqDovb3nirbmgIFcclxufVxyXG5cclxuY2xhc3MgTnNjRm9ybSBleHRlbmRzIFB1cmVDb21wb25lbnQ8SUZvcm1Qcm9wcz4ge1xyXG4gIGZvcm1SZWYgPSBSZWFjdC5jcmVhdGVSZWY8Rm9ybUluc3RhbmNlPigpO1xyXG4gIHN0YXRlID0ge1xyXG4gICAgZm9ybVZpc2libGU6IGZhbHNlLFxyXG4gICAgZm9ybU1vZGFsUHJvcHM6IHt9LFxyXG4gICAgZm9ybURyYXdlclByb3BzOiB7fSxcclxuICAgIGlzQ2hhbmdlOiBmYWxzZSxcclxuICAgIGV4cGFuZDogZmFsc2UsXHJcbiAgfTtcclxuICBvcHRpb246IGFueSA9IHtcclxuICAgIC8v5Zue6LCD5L2c55So5Z+fXHJcbiAgICBzY29wZTogdGhpcyxcclxuICAgIC8vb3BlbuS8oOmAkui/h+adpeeahOmhtemdouWPguaVsFxyXG4gICAgcGFyYW1zOiB7fSxcclxuICAgIC8v5pi+56S65LmL5YmN5Zue6LCDXHJcbiAgICBiZWZvcmVSZW5kZXI6IG51bGwsXHJcbiAgICAvL+WFs+mXreS5i+WJjeWbnuiwg++8jOWmguaenHJldHVybiBmYWxzZe+8jOS4lOeql+WPo+S4jeWFs+mXrVxyXG4gICAgY2FsbGJhY2tCZWZvcmVDbG9zZTogbnVsbCxcclxuICAgIC8v5YWz6Zet5ZCO5Zue6LCD77yM5byC5q2l5pON5L2cXHJcbiAgICBjYWxsYmFjazogbnVsbCxcclxuICAgIC8v5pi+56S65LmL5ZCO5Zue6LCDXHJcbiAgICBhZnRlclJlbmRlcjogbnVsbCxcclxuICB9O1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wcywgcHJldlN0YXRlKSB7XHJcbiAgICBjb25zdCB7IG1vZGFsUHJvcHMsIGRyYXdlclByb3BzLCBzaG93TW9kZWwgfSA9IG5leHRQcm9wcztcclxuICAgIGNvbnN0IHsgZm9ybU1vZGFsUHJvcHMsIGZvcm1EcmF3ZXJQcm9wcyB9ID0gcHJldlN0YXRlO1xyXG4gICAgaWYgKHNob3dNb2RlbCA9PSBcIm1vZGFsXCIpIHtcclxuICAgICAgLy8gSlNPTi5zdHJpbmdpZnkoZm9ybU1vZGFsUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShtb2RhbFByb3BzKVxyXG4gICAgICBpZiAoIU9iamVjdC5pcyhmb3JtTW9kYWxQcm9wcywgbW9kYWxQcm9wcykpIHtcclxuICAgICAgICBsZXQgbmV3U3RhdGUgPSB7XHJcbiAgICAgICAgICBmb3JtRHJhd2VyUHJvcHM6IG1vZGFsUHJvcHMsXHJcbiAgICAgICAgfSBhcyBhbnk7XHJcbiAgICAgICAgaWYgKG1vZGFsUHJvcHM/LnZpc2libGUgIT09IG51bGwgJiYgbW9kYWxQcm9wcz8udmlzaWJsZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBuZXdTdGF0ZS5mb3JtVmlzaWJsZSA9IG1vZGFsUHJvcHM/LnZpc2libGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXdTdGF0ZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICAvLyBKU09OLnN0cmluZ2lmeShmb3JtRHJhd2VyUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShkcmF3ZXJQcm9wcylcclxuICAgICAgaWYgKCFPYmplY3QuaXMoZm9ybURyYXdlclByb3BzLCBkcmF3ZXJQcm9wcykpIHtcclxuICAgICAgICBsZXQgbmV3U3RhdGUgPSB7XHJcbiAgICAgICAgICBmb3JtRHJhd2VyUHJvcHM6IGRyYXdlclByb3BzLFxyXG4gICAgICAgIH0gYXMgYW55O1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGRyYXdlclByb3BzPy52aXNpYmxlICE9PSBudWxsICYmXHJcbiAgICAgICAgICBkcmF3ZXJQcm9wcz8udmlzaWJsZSAhPT0gdW5kZWZpbmVkXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBuZXdTdGF0ZS5mb3JtVmlzaWJsZSA9IGRyYXdlclByb3BzPy52aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3U3RhdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5blr7nlupTlrZfmrrXlkI3nmoTplJnor6/kv6Hmga9cclxuICBnZXRGaWVsZEVycm9yKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRFcnJvcihuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5a+55bqU5a2X5q615a6e5L6LXHJcbiAgZ2V0RmllbGRJbnN0YW5jZShuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkSW5zdGFuY2UobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluS4gOe7hOWtl+auteWQjeWvueW6lOeahOmUmeivr+S/oeaBr++8jOi/lOWbnuS4uuaVsOe7hOW9ouW8j1xyXG4gIGdldEZpZWxkc0Vycm9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZHNFcnJvcigpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTlgLzvvIzkvJrmjInnhaflr7nlupTnu5PmnoTov5Tlm55cclxuICBnZXRGaWVsZHNWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5a+55bqU5a2X5q615ZCN55qE5YC8XHJcbiAgZ2V0RmllbGRWYWx1ZShuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkVmFsdWUobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeS4gOe7hOWtl+auteaYr+WQpuiiq+eUqOaIt+aTjeS9nOi/h1xyXG4gIGlzRmllbGRzVG91Y2hlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uaXNGaWVsZHNUb3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeWvueW6lOWtl+auteaYr+WQpuiiq+eUqOaIt+aTjeS9nOi/h1xyXG4gIGlzRmllbGRUb3VjaGVkKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uaXNGaWVsZFRvdWNoZWQobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeS4gOe7hOWtl+auteaYr+WQpuato+WcqOagoemqjFxyXG4gIGlzRmllbGRWYWxpZGF0aW5nKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uaXNGaWVsZFZhbGlkYXRpbmcobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+mHjee9ruS4gOe7hOWtl+auteWIsFxyXG4gIHJlc2V0RmllbGRzKCkge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgfVxyXG5cclxuICBzY3JvbGxUb0ZpZWxkKG5hbWUsIG9wdGlvbnMpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zY3JvbGxUb0ZpZWxkKG5hbWUsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgc2V0RmllbGRzKGZpbGRzKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2V0RmllbGRzKGZpbGRzKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkc1ZhbHVlKHZhbHVlcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlcyk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc3VibWl0KCk7XHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdChcclxuICAgIHVybD86IHN0cmluZyxcclxuICAgIG9wdGlvbnM/OiBhbnksXHJcbiAgICBjYWxsYmFjaz86IChyZXM/OiBhbnkpID0+IHZvaWQsXHJcbiAgICBtc2c/OiBib29sZWFuXHJcbiAgKSB7XHJcbiAgICBjb25zdCB7IHVybDogcHJvcHNVcmwsIGVuY3J5cHRGaWVsZHM6IGVuY3J5cHRQcm9wcHMgPSBbXSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghdXJsICYmICFwcm9wc1VybCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCLmsqHmnInkuIrkvKDnmoR1cmwhXCIpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgeyBtZXRob2QgPSBcInBvc3RcIiB9ID0gb3B0aW9ucztcclxuICAgIGxldCByZXF1ZXN0VXJsID0gdXJsID8gdXJsIDogcHJvcHNVcmw7XHJcbiAgICBsZXQgcmVxdWVzdERhdGEgPSB0aGlzLmZvcm1SZWYuY3VycmVudC5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgbGV0IHJlcXVlc3RFbmNyeXB0ID0gZW5jcnlwdFByb3BwcztcclxuICAgIGxldCByZXF1ZXN0UGFyYW0gPSB7IG1ldGhvZDogbWV0aG9kLCBkYXRhOiByZXF1ZXN0RGF0YSB9IGFzIHsgZGF0YTogYW55IH07XHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBjb25zdCB7IGRhdGEsIGVuY3J5cHRGaWVsZHMsIC4uLnBhcmFtcyB9ID0gb3B0aW9ucztcclxuICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcyB9O1xyXG4gICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgIGRlbGV0ZSByZXF1ZXN0UGFyYW0uZGF0YTtcclxuICAgICAgICBpZiAobWV0aG9kLnRvTG93ZXJDYXNlKCkgPT0gXCJnZXRcIikge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcywgcGFyYW1zOiBkYXRhIH07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlcXVlc3RQYXJhbSA9IHsgLi4ucmVxdWVzdFBhcmFtLCAuLi5wYXJhbXMsIGRhdGE6IGRhdGEgfTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGVuY3J5cHRGaWVsZHMpIHtcclxuICAgICAgICByZXF1ZXN0RW5jcnlwdCA9IGVuY3J5cHRGaWVsZHM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXF1ZXN0KHJlcXVlc3RVcmwsIHtcclxuICAgICAgYXV0b1ByZWZpeDogdHJ1ZSxcclxuICAgICAgLi4ucmVxdWVzdFBhcmFtLFxyXG4gICAgICBlbmNyeXB0RmllbGRzOiByZXF1ZXN0RW5jcnlwdCxcclxuICAgIH0pXHJcbiAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXM6IGFueSkge1xyXG4gICAgICAgIGNvbnN0IHsgY29kZSB9ID0gcmVzO1xyXG4gICAgICAgIGlmIChtc2cpIHtcclxuICAgICAgICAgIGlmIChjb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKFwi5o+Q5Lqk5oiQ5YqfXCIpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbWVzc2FnZS5lcnJvcihcIuaPkOS6pOWksei0pVwiKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgY2FsbGJhY2sgJiYgY2FsbGJhY2socmVzKTtcclxuICAgICAgfSlcclxuICAgICAgLmNhdGNoKGZ1bmN0aW9uIChlcnJvcjogYW55KSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJlcnJvclwiLCBlcnJvcik7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVGaWVsZHMobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LnZhbGlkYXRlRmllbGRzKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgaGlkZShlKSB7XHJcbiAgICBjb25zdCB7IHNob3dNb2RlbCwgbW9kYWxQcm9wcyA9IHt9LCBkcmF3ZXJQcm9wcyA9IHt9IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIGNvbnN0IHsgb25DYW5jZWwgfSA9IG1vZGFsUHJvcHM7XHJcbiAgICBjb25zdCB7IG9uQ2xvc2UgfSA9IGRyYXdlclByb3BzO1xyXG4gICAgaWYgKHNob3dNb2RlbCA9PSBcImRyYXdlclwiICYmIG9uQ2xvc2UpIHtcclxuICAgICAgb25DbG9zZShlKTtcclxuICAgIH0gZWxzZSBpZiAoc2hvd01vZGVsID09IFwibW9kYWxcIiAmJiBvbkNhbmNlbCkge1xyXG4gICAgICBvbkNhbmNlbChlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIF90aGlzLmhpZGVGb3JtKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoaWRlRm9ybShyZXNldFZhbHVlID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAge1xyXG4gICAgICAgIGZvcm1WaXNpYmxlOiBmYWxzZSxcclxuICAgICAgICBpc0NoYW5nZTogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICBpZiAocmVzZXRWYWx1ZSkge1xyXG4gICAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc2hvd0Zvcm0odmFsdWU/OiBhbnksIG9wdGlvbjogYW55ID0ge30pIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgIHtcclxuICAgICAgICBmb3JtVmlzaWJsZTogdHJ1ZSxcclxuICAgICAgICBpc0NoYW5nZTogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2V0RmllbGRzVmFsdWUodmFsdWUpO1xyXG4gICAgICAgIGNvbnN0IHsgYWZ0ZXJSZW5kZXIgfSA9IG9wdGlvbjtcclxuICAgICAgICB1dGlscy5jYWxsYmFjayhhZnRlclJlbmRlciwgdGhpcyk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjbG9uZUVsZW1lbnQoaXRlbSwgaW5kZXggPSAwKSB7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgaWYgKHR5cGVvZiBpdGVtID09IFwic3RyaW5nXCIpIHJldHVybiBpdGVtO1xyXG4gICAgbGV0IHByb3BzID0ge30gYXMgeyBrZXk6IG51bWJlcjsgY2hpbGRyZW46IGFueSB9O1xyXG4gICAgcHJvcHMua2V5ID0gaW5kZXg7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAoaXRlbS5wcm9wcyAmJiBpdGVtLnByb3BzLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbS5wcm9wcy5jaGlsZHJlbikpIHtcclxuICAgICAgICAgIHByb3BzLmNoaWxkcmVuID0gUmVhY3QuQ2hpbGRyZW4ubWFwKFxyXG4gICAgICAgICAgICBpdGVtLnByb3BzLmNoaWxkcmVuLFxyXG4gICAgICAgICAgICBmdW5jdGlvbiAoY2hpbGQsIGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIF90aGlzLmNsb25lRWxlbWVudChjaGlsZCwgaW5kZXgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBwcm9wcy5jaGlsZHJlbiA9IHRoaXMuY2xvbmVFbGVtZW50KGl0ZW0ucHJvcHMuY2hpbGRyZW4sIDApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGl0ZW0sIHByb3BzKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uVmFsdWVzQ2hhbmdlKHZhbCwgYWxsVmFsKSB7XHJcbiAgICBjb25zdCB7IG9uVmFsdWVzQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGlzQ2hhbmdlOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgICBvblZhbHVlc0NoYW5nZSAmJiBvblZhbHVlc0NoYW5nZSh2YWwsIGFsbFZhbCk7XHJcbiAgfVxyXG4gIHJlbmRlclBhbmVsKG5ld0NoaWxkcmVuLCBwcm9wcykge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBzaG93TW9kZWwsXHJcbiAgICAgIGRyYXdlclByb3BzID0ge30sXHJcbiAgICAgIG1vZGFsUHJvcHMgPSB7fSxcclxuICAgICAgbG9hZGluZyA9IGZhbHNlLFxyXG4gICAgICBjaGFuZ2VWYWxpZCA9IHRydWUsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgZm9ybVZpc2libGUgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCBsYXlvdXQgPSB7XHJcbiAgICAgIGxhYmVsQ29sOiB7IHNwYW46IDQgfSxcclxuICAgICAgd3JhcHBlckNvbDogeyBzcGFuOiAyMCB9LFxyXG4gICAgfTtcclxuICAgIGlmIChzaG93TW9kZWwpIHtcclxuICAgICAgbGV0IG5ld01vZGFsUHJvcHMgPSBvbWl0KG1vZGFsUHJvcHMsIFtcInZpc2libGVcIl0pO1xyXG4gICAgICBuZXdNb2RhbFByb3BzID0geyAuLi5uZXdNb2RhbFByb3BzIH07XHJcbiAgICAgIGxldCBuZXdEcmF3ZXJQcm9wcyA9IG9taXQoZHJhd2VyUHJvcHMsIFtcInZpc2libGVcIl0pO1xyXG4gICAgICBsZXQgZGVmYXVsdHByb3BzID0ge1xyXG4gICAgICAgIG1hc2tDbG9zYWJsZTogIXRoaXMuc3RhdGUuaXNDaGFuZ2UsXHJcbiAgICAgICAgZm9ybUV4cGFuZDoge1xyXG4gICAgICAgICAgZXhwYW5kOiB0cnVlLFxyXG4gICAgICAgICAgdmFsaWQ6IGNoYW5nZVZhbGlkLFxyXG4gICAgICAgICAgY2hhbmdlOiB0aGlzLnN0YXRlLmlzQ2hhbmdlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdHlwZTogc2hvd01vZGVsLFxyXG4gICAgICB9IGFzIGFueTtcclxuICAgICAgbGV0IG1vZGFscHJvcHMgPSB7IC4uLmRlZmF1bHRwcm9wcyB9O1xyXG4gICAgICBtb2RhbHByb3BzID0ge1xyXG4gICAgICAgIC4uLmRlZmF1bHRwcm9wcyxcclxuICAgICAgICAuLi5uZXdNb2RhbFByb3BzLFxyXG4gICAgICAgIC4uLm5ld0RyYXdlclByb3BzLFxyXG4gICAgICAgIG9uQ2FuY2VsOiB0aGlzLmhpZGUuYmluZCh0aGlzKSxcclxuICAgICAgICAvLyBvbkNsb3NlOiB0aGlzLmhpZGUuYmluZCh0aGlzKSxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8TW9kYWwgdmlzaWJsZT17Zm9ybVZpc2libGV9IHsuLi5tb2RhbHByb3BzfT5cclxuICAgICAgICAgIHtsb2FkaW5nID8gKFxyXG4gICAgICAgICAgICA8U3BpbiBzcGlubmluZz17bG9hZGluZ30+XHJcbiAgICAgICAgICAgICAgPEZvcm1cclxuICAgICAgICAgICAgICAgIHJlZj17dGhpcy5mb3JtUmVmfVxyXG4gICAgICAgICAgICAgICAgdmFsaWRhdGVUcmlnZ2VyPXtbXCJvbkJsdXJcIiwgXCJvbkNoYW5nZVwiXX1cclxuICAgICAgICAgICAgICAgIGRyYWdnYWJsZT17dHJ1ZX1cclxuICAgICAgICAgICAgICAgIHsuLi5sYXlvdXR9XHJcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgICAgICBvblZhbHVlc0NoYW5nZT17dGhpcy5vblZhbHVlc0NoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgICAgcHJlc2VydmU9e2ZhbHNlfVxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvU3Bpbj5cclxuICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgIDxGb3JtXHJcbiAgICAgICAgICAgICAgcmVmPXt0aGlzLmZvcm1SZWZ9XHJcbiAgICAgICAgICAgICAgdmFsaWRhdGVUcmlnZ2VyPXtbXCJvbkJsdXJcIiwgXCJvbkNoYW5nZVwiXX1cclxuICAgICAgICAgICAgICB7Li4ubGF5b3V0fVxyXG4gICAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgICAgICBvblZhbHVlc0NoYW5nZT17dGhpcy5vblZhbHVlc0NoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgIHByZXNlcnZlPXtmYWxzZX1cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgPC9Nb2RhbD5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPD5cclxuICAgICAgICAgIHtsb2FkaW5nID8gKFxyXG4gICAgICAgICAgICA8U3BpbiBzcGlubmluZz17bG9hZGluZ30+XHJcbiAgICAgICAgICAgICAgPEZvcm1cclxuICAgICAgICAgICAgICAgIHJlZj17dGhpcy5mb3JtUmVmfVxyXG4gICAgICAgICAgICAgICAgdmFsaWRhdGVUcmlnZ2VyPXtbXCJvbkJsdXJcIiwgXCJvbkNoYW5nZVwiXX1cclxuICAgICAgICAgICAgICAgIHsuLi5sYXlvdXR9XHJcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgICAgICBvblZhbHVlc0NoYW5nZT17dGhpcy5vblZhbHVlc0NoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvU3Bpbj5cclxuICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgIDxGb3JtXHJcbiAgICAgICAgICAgICAgcmVmPXt0aGlzLmZvcm1SZWZ9XHJcbiAgICAgICAgICAgICAgdmFsaWRhdGVUcmlnZ2VyPXtbXCJvbkJsdXJcIiwgXCJvbkNoYW5nZVwiXX1cclxuICAgICAgICAgICAgICB7Li4ubGF5b3V0fVxyXG4gICAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgICAgICBvblZhbHVlc0NoYW5nZT17dGhpcy5vblZhbHVlc0NoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICA8Lz5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgcHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgXCJmb3JtXCIsXHJcbiAgICAgIFwic2hvd01vZGVsXCIsXHJcbiAgICAgIFwibW9kYWxQcm9wc1wiLFxyXG4gICAgICBcImRyYXdlclByb3BzXCIsXHJcbiAgICAgIFwidXJsXCIsXHJcbiAgICAgIFwiZW5jcnlwdEZpZWxkc1wiLFxyXG4gICAgICBcImNoYW5nZVZhbGlkXCIsXHJcbiAgICBdKTtcclxuXHJcbiAgICByZXR1cm4gPD57dGhpcy5yZW5kZXJQYW5lbChwcm9wcy5jaGlsZHJlbiwgcHJvcHMpfTwvPjtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgTnNjRm9ybTtcclxuIl19
@@ -1,5 +1,6 @@
1
- import { PureComponent } from "react";
1
+ import React, { PureComponent } from "react";
2
2
  import { ModalProps, DrawerProps } from "antd";
3
+ import type { DraggableData, DraggableEvent } from "react-draggable";
3
4
  interface formExpand {
4
5
  change?: boolean;
5
6
  valid?: boolean;
@@ -9,6 +10,7 @@ export interface NscModalPorps extends ModalProps, DrawerProps {
9
10
  type?: "modal" | "drawer" | "auto";
10
11
  formExpand?: formExpand;
11
12
  onButtonCancel?: any;
13
+ dragable?: boolean;
12
14
  }
13
15
  export default class NscModal extends PureComponent<NscModalPorps, any> {
14
16
  static confirm: (props: import("antd").ModalFuncProps) => {
@@ -21,6 +23,7 @@ export default class NscModal extends PureComponent<NscModalPorps, any> {
21
23
  static warning: import("antd/lib/modal/confirm").ModalFunc;
22
24
  returnValue: any;
23
25
  constructor(props: any);
26
+ draggleRef: React.RefObject<HTMLDivElement>;
24
27
  option: any;
25
28
  /**
26
29
  * 渲染完成
@@ -41,6 +44,7 @@ export default class NscModal extends PureComponent<NscModalPorps, any> {
41
44
  * @param {String} key
42
45
  */
43
46
  getParams(key: any): any;
47
+ onStart(_event: DraggableEvent, uiData: DraggableData): void;
44
48
  render(): JSX.Element;
45
49
  }
46
50
  export {};
@@ -38,7 +38,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
38
38
 
39
39
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
40
40
 
41
- import React, { PureComponent } from "react";
41
+ import React, { createRef, PureComponent } from "react";
42
42
  import { utils } from "@bj-nsc/msn/lib/utils";
43
43
  import config from "../../config";
44
44
  import { PlusCircleOutlined, CloseCircleOutlined, CloseOutlined, ExpandOutlined, CompressOutlined } from "@ant-design/icons";
@@ -48,6 +48,8 @@ import styles from "./index.less";
48
48
  import { getStorage } from "@bj-nsc/functions";
49
49
  import Confirm from "./Confirm";
50
50
  import omit from "omit.js";
51
+ import Draggable from "react-draggable";
52
+ import cls from "classnames";
51
53
 
52
54
  var NscModal = /*#__PURE__*/function (_PureComponent) {
53
55
  _inherits(NscModal, _PureComponent);
@@ -67,6 +69,8 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
67
69
 
68
70
  _defineProperty(_assertThisInitialized(_this2), "returnValue", null);
69
71
 
72
+ _defineProperty(_assertThisInitialized(_this2), "draggleRef", /*#__PURE__*/createRef());
73
+
70
74
  _defineProperty(_assertThisInitialized(_this2), "option", {
71
75
  //回调作用域
72
76
  scope: _assertThisInitialized(_this2),
@@ -105,7 +109,14 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
105
109
  _this2.state = {
106
110
  visible: false,
107
111
  expand: false,
108
- modalType: modal == "auto" ? autoType : modal
112
+ modalType: modal == "auto" ? autoType : modal,
113
+ bounds: {
114
+ left: 0,
115
+ top: 0,
116
+ bottom: 0,
117
+ right: 0
118
+ },
119
+ dragger: true
109
120
  };
110
121
  return _this2;
111
122
  }
@@ -228,6 +239,29 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
228
239
  if (key) return this.option.params[key];
229
240
  return this.option.params;
230
241
  }
242
+ }, {
243
+ key: "onStart",
244
+ value: function onStart(_event, uiData) {
245
+ var _this$draggleRef$curr;
246
+
247
+ var _window$document$docu = window.document.documentElement,
248
+ clientWidth = _window$document$docu.clientWidth,
249
+ clientHeight = _window$document$docu.clientHeight;
250
+ var targetRect = (_this$draggleRef$curr = this.draggleRef.current) === null || _this$draggleRef$curr === void 0 ? void 0 : _this$draggleRef$curr.getBoundingClientRect();
251
+
252
+ if (!targetRect) {
253
+ return;
254
+ }
255
+
256
+ this.setState({
257
+ bounds: {
258
+ left: -targetRect.left + uiData.x,
259
+ right: clientWidth - (targetRect.right - uiData.x),
260
+ top: -targetRect.top + uiData.y,
261
+ bottom: clientHeight - (targetRect.bottom - uiData.y)
262
+ }
263
+ });
264
+ }
231
265
  }, {
232
266
  key: "render",
233
267
  value: function render() {
@@ -258,8 +292,36 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
258
292
  }, props);
259
293
  }
260
294
 
295
+ if (props.dragable || type == "modal") {
296
+ props = _objectSpread({
297
+ modalRender: function modalRender(modal) {
298
+ return /*#__PURE__*/React.createElement(Draggable, {
299
+ disabled: _this3.state.dragger,
300
+ bounds: _this3.state.bounds,
301
+ onStart: function onStart(event, uiData) {
302
+ _this3.onStart(event, uiData);
303
+ }
304
+ }, /*#__PURE__*/React.createElement("div", {
305
+ ref: _this3.draggleRef
306
+ }, modal));
307
+ }
308
+ }, props);
309
+ }
310
+
261
311
  var title = /*#__PURE__*/React.createElement("div", {
262
- className: getLess(styles, "title")
312
+ className: cls(getLess(styles, "title"), _defineProperty({}, getLess(styles, "title-dragger"), this.props.dragable && type == "modal")),
313
+ onMouseOver: function onMouseOver() {
314
+ if (_this3.state.dragger) {
315
+ _this3.setState({
316
+ dragger: false
317
+ });
318
+ }
319
+ },
320
+ onMouseOut: function onMouseOut() {
321
+ _this3.setState({
322
+ dragger: true
323
+ });
324
+ }
263
325
  }, /*#__PURE__*/React.createElement("div", {
264
326
  className: getLess(styles, "icons")
265
327
  }, !this.state.expand && formExpand.expand && /*#__PURE__*/React.createElement("div", {
@@ -374,4 +436,4 @@ _defineProperty(NscModal, "error", _Modal.error);
374
436
  _defineProperty(NscModal, "warning", _Modal.warning);
375
437
 
376
438
  export { NscModal as default };
377
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvbW9kYWwvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsInV0aWxzIiwiY29uZmlnIiwiUGx1c0NpcmNsZU91dGxpbmVkIiwiQ2xvc2VDaXJjbGVPdXRsaW5lZCIsIkNsb3NlT3V0bGluZWQiLCJFeHBhbmRPdXRsaW5lZCIsIkNvbXByZXNzT3V0bGluZWQiLCJCdXR0b24iLCJnZXRMZXNzIiwic3R5bGVzIiwiZ2V0U3RvcmFnZSIsIkNvbmZpcm0iLCJvbWl0IiwiTnNjTW9kYWwiLCJwcm9wcyIsInNjb3BlIiwicGFyYW1zIiwiYmVmb3JlUmVuZGVyIiwiY2FsbGJhY2tCZWZvcmVDbG9zZSIsImNhbGxiYWNrIiwiYWZ0ZXJSZW5kZXIiLCJldiIsImRhdGEiLCJKU09OIiwicGFyc2UiLCJfdGhpcyIsImV2ZW50VHlwZSIsInBheWxvYWQiLCJ0eXBlIiwic2V0U3RhdGUiLCJtb2RhbFR5cGUiLCJtb2RhbCIsInN0b3JlUHJlZml4IiwiYXV0b1R5cGUiLCJjb250ZW50Iiwic3RhdGUiLCJ2aXNpYmxlIiwiZXhwYW5kIiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsImxpc3Rlbk1lc3NhZ2UiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib3B0aW9uIiwicmV0dXJuVmFsdWUiLCJyZXN1bHQiLCJidXR0b25DbG9zZSIsImZvcm1FeHBhbmQiLCJvbkNhbmNlbCIsIm9uQnV0dG9uQ2FuY2VsIiwib25DbG9zZSIsInZhbGlkIiwiY2hhbmdlIiwib25PayIsImtleSIsImNsb3NhYmxlIiwib2tCdXR0b25Qcm9wcyIsImNhbmNlbEJ1dHRvblByb3BzIiwibW91bnRFbGVtZW50SWQiLCJnZXRDb250YWluZXIiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwidGl0bGUiLCJjbG9zZSIsIm1hcmdpblJpZ2h0IiwibW9kYWxCdXR0b24iLCJmb290ZXIiLCJva1RleHQiLCJiaW5kIiwiY2FuY2xlQnV0dG9uUHJvcHMiLCJjYW5jZWxUZXh0Iiwic3R5bGUiLCJtYXhXaWR0aCIsImNsYXNzTmFtZSIsIndpZHRoIiwib2xkUHJvcHMiLCJuZXdEcmF3ZXJQcm9wcyIsImluZm8iLCJzdWNjZXNzIiwiZXJyb3IiLCJ3YXJuaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxJQUFnQkMsYUFBaEIsUUFBZ0QsT0FBaEQ7QUFFQSxTQUFTQyxLQUFULFFBQXNCLHVCQUF0QjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsY0FBbkI7QUFDQSxTQUNFQyxrQkFERixFQUVFQyxtQkFGRixFQUdFQyxhQUhGLEVBSUVDLGNBSkYsRUFLRUMsZ0JBTEYsUUFNTyxtQkFOUDtBQU9BLE9BQU9DLE1BQVAsTUFBbUIsV0FBbkI7QUFDQSxTQUFTQyxPQUFULFFBQXdCLGFBQXhCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixjQUFuQjtBQUNBLFNBQVNDLFVBQVQsUUFBMkIsbUJBQTNCO0FBQ0EsT0FBT0MsT0FBUCxNQUFvQixXQUFwQjtBQUNBLE9BQU9DLElBQVAsTUFBaUIsU0FBakI7O0lBWXFCQyxROzs7OztBQUVuQjtBQU1BO0FBR0Esb0JBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQTs7QUFBQTs7QUFDakIsK0JBQU1BLEtBQU47O0FBRGlCLG1FQUZMLElBRUs7O0FBQUEsOERBZUw7QUFDWjtBQUNBQyxNQUFBQSxLQUFLLGdDQUZPO0FBR1o7QUFDQUMsTUFBQUEsTUFBTSxFQUFFLEVBSkk7QUFLWjtBQUNBQyxNQUFBQSxZQUFZLEVBQUUsSUFORjtBQU9aO0FBQ0FDLE1BQUFBLG1CQUFtQixFQUFFLElBUlQ7QUFTWjtBQUNBQyxNQUFBQSxRQUFRLEVBQUUsSUFWRTtBQVdaO0FBQ0FDLE1BQUFBLFdBQVcsRUFBRTtBQVpELEtBZks7O0FBQUEscUVBd0NILFVBQUNDLEVBQUQsRUFBUTtBQUN0QixVQUFNQyxJQUFJLEdBQUcsT0FBT0QsRUFBRSxD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REY7QUFxQkQ7QUFDRjs7OztFQS9RbUN0QyxhOztnQkFBakJjLFEsYUFDRkYsTzs7Z0JBREVFLFEsVUFHTCxPQUFNK0QsSTs7Z0JBSEQvRCxRLGFBSUYsT0FBTWdFLE87O2dCQUpKaEUsUSxXQUtKLE9BQU1pRSxLOztnQkFMRmpFLFEsYUFNRixPQUFNa0UsTzs7U0FOSmxFLFEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCwgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IE1vZGFsLCBNb2RhbFByb3BzLCBEcmF3ZXIsIERyYXdlclByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCBjb25maWcgZnJvbSBcIi4uLy4uL2NvbmZpZ1wiO1xyXG5pbXBvcnQge1xyXG4gIFBsdXNDaXJjbGVPdXRsaW5lZCxcclxuICBDbG9zZUNpcmNsZU91dGxpbmVkLFxyXG4gIENsb3NlT3V0bGluZWQsXHJcbiAgRXhwYW5kT3V0bGluZWQsXHJcbiAgQ29tcHJlc3NPdXRsaW5lZCxcclxufSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vYnV0dG9uXCI7XHJcbmltcG9ydCB7IGdldExlc3MgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCB7IGdldFN0b3JhZ2UgfSBmcm9tIFwiQGJqLW5zYy9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IENvbmZpcm0gZnJvbSBcIi4vQ29uZmlybVwiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbnRlcmZhY2UgZm9ybUV4cGFuZCB7XHJcbiAgY2hhbmdlPzogYm9vbGVhbjtcclxuICB2YWxpZD86IGJvb2xlYW47XHJcbiAgZXhwYW5kPzogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIE5zY01vZGFsUG9ycHMgZXh0ZW5kcyBNb2RhbFByb3BzLCBEcmF3ZXJQcm9wcyB7XHJcbiAgdHlwZT86IFwibW9kYWxcIiB8IFwiZHJhd2VyXCIgfCBcImF1dG9cIjtcclxuICBmb3JtRXhwYW5kPzogZm9ybUV4cGFuZDtcclxuICBvbkJ1dHRvbkNhbmNlbD86IGFueTsgLy/lupXpg6jlj5bmtojmjInpkq7lm57osINcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTnNjTW9kYWwgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PE5zY01vZGFsUG9ycHMsIGFueT4ge1xyXG4gIHN0YXRpYyBjb25maXJtID0gQ29uZmlybTtcclxuICAvLyBzdGF0aWMgY29uZmlybSA9IE1vZGFsLmNvbmZpcm07XHJcbiAgc3RhdGljIGluZm8gPSBNb2RhbC5pbmZvO1xyXG4gIHN0YXRpYyBzdWNjZXNzID0gTW9kYWwuc3VjY2VzcztcclxuICBzdGF0aWMgZXJyb3IgPSBNb2RhbC5lcnJvcjtcclxuICBzdGF0aWMgd2FybmluZyA9IE1vZGFsLndhcm5pbmc7XHJcblxyXG4gIC8v6L+U5Zue5YC8XHJcbiAgcmV0dXJuVmFsdWUgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgbGV0IG1vZGFsID0gcHJvcHMudHlwZSB8fCBcImF1dG9cIjtcclxuICAgIGxldCBzdG9yZVByZWZpeCA9IGdldFN0b3JhZ2UoXCJzdG9yZS1wcmUta2V5XCIpO1xyXG4gICAgbGV0IGF1dG9UeXBlID0gZ2V0U3RvcmFnZShcclxuICAgICAgc3RvcmVQcmVmaXggPyBzdG9yZVByZWZpeCArIFwiZm9ybVR5cGVcIiA6IFwiZm9ybVR5cGVcIlxyXG4gICAgKTtcclxuICAgIGF1dG9UeXBlID0gYXV0b1R5cGU/LmNvbnRlbnQ7XHJcbiAgICB0aGlzLnN0YXRlID0ge1xyXG4gICAgICB2aXNpYmxlOiBmYWxzZSxcclxuICAgICAgZXhwYW5kOiBmYWxzZSxcclxuICAgICAgbW9kYWxUeXBlOiBtb2RhbCA9PSBcImF1dG9cIiA/IGF1dG9UeXBlIDogbW9kYWwsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgb3B0aW9uOiBhbnkgPSB7XHJcbiAgICAvL+Wbnuiwg+S9nOeUqOWfn1xyXG4gICAgc2NvcGU6IHRoaXMsXHJcbiAgICAvL29wZW7kvKDpgJLov4fmnaXnmoTpobXpnaLlj4LmlbBcclxuICAgIHBhcmFtczoge30sXHJcbiAgICAvL+aYvuekuuS5i+WJjeWbnuiwg1xyXG4gICAgYmVmb3JlUmVuZGVyOiBudWxsLFxyXG4gICAgLy/lhbPpl63kuYvliY3lm57osIPvvIzlpoLmnpxyZXR1cm4gZmFsc2XvvIzkuJTnqpflj6PkuI3lhbPpl61cclxuICAgIGNhbGxiYWNrQmVmb3JlQ2xvc2U6IG51bGwsXHJcbiAgICAvL+WFs+mXreWQjuWbnuiwg++8jOW8guatpeaTjeS9nFxyXG4gICAgY2FsbGJhY2s6IG51bGwsXHJcbiAgICAvL+aYvuekuuS5i+WQjuWbnuiwg1xyXG4gICAgYWZ0ZXJSZW5kZXI6IG51bGwsXHJcbiAgfTtcclxuICAvKipcclxuICAgKiDmuLLmn5PlrozmiJBcclxuICAgKiBAcGFyYW0geyp9IG9wdGlvbiAg5pW05pS55Lyg6YCS5a+56LGhXHJcbiAgICovXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgdGhpcy5saXN0ZW5NZXNzYWdlKTtcclxuICB9XHJcblxyXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xyXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIHRoaXMubGlzdGVuTWVzc2FnZSk7XHJcbiAgfVxyXG4gIGxpc3Rlbk1lc3NhZ2UgPSAoZXYpID0+IHtcclxuICAgIGNvbnN0IGRhdGEgPSB0eXBlb2YgZXYuZGF0YSA9PT0gXCJzdHJpbmdcIiA/IEpTT04ucGFyc2UoZXYuZGF0YSkgOiBldi5kYXRhO1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIGlmIChkYXRhLmV2ZW50VHlwZSA9PSBcImNoYW5nZUZvcm1UeXBlXCIpIHtcclxuICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBkYXRhO1xyXG4gICAgICBpZiAocGF5bG9hZC50eXBlID09IFwibW9kYWxcIiB8fCBwYXlsb2FkLnR5cGUgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICAgIF90aGlzLnNldFN0YXRlKHsgbW9kYWxUeXBlOiBwYXlsb2FkLnR5cGUgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9O1xyXG4gIC8v5pi+56S6XHJcbiAgc2hvdyhvcHRpb246IGFueSA9IHt9KSB7XHJcbiAgICBjb25zdCB7IHNjb3BlIH0gPSB0aGlzLm9wdGlvbjtcclxuICAgIGNvbnN0IHsgYmVmb3JlUmVuZGVyLCBhZnRlclJlbmRlciB9ID0gb3B0aW9uO1xyXG4gICAgdGhpcy5vcHRpb24gPSB7IC4uLnRoaXMub3B0aW9uLCAuLi5vcHRpb24gfTtcclxuICAgIHV0aWxzLmNhbGxiYWNrKGJlZm9yZVJlbmRlciwgc2NvcGUpO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7IHZpc2libGU6IHRydWUgfSwgKCkgPT4ge1xyXG4gICAgICB1dGlscy5jYWxsYmFjayhhZnRlclJlbmRlciwgc2NvcGUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL+makOiXj1xyXG4gIGhpZGUob3B0aW9uOiBhbnkgPSB7fSkge1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIF90aGlzLnNldFN0YXRlKHsgdmlzaWJsZTogZmFsc2UgfSk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPlumcgOimgei/lOWbnueahOWAvFxyXG4gIGdldFJldHVyblZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucmV0dXJuVmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDlhbPpl63luKblm57osINcclxuICAgKi9cclxuICBjbG9zZShyZXN1bHQ/OiBhbnksIGJ1dHRvbkNsb3NlID0gZmFsc2UpIHtcclxuICAgIHZhciBfdGhpcyA9IHRoaXM7XHJcbiAgICAvLyBjb25zdCB7IGNhbGxiYWNrLCBzY29wZSwgY2FsbGJhY2tCZWZvcmVDbG9zZSB9ID0gdGhpcy5vcHRpb247XHJcbiAgICBjb25zdCB7IGZvcm1FeHBhbmQgPSB7fSwgb25DYW5jZWwsIG9uQnV0dG9uQ2FuY2VsLCBvbkNsb3NlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgLy8gY29uc3QgciA9IHV0aWxzLmNhbGxiYWNrKGNhbGxiYWNrQmVmb3JlQ2xvc2UsIHNjb3BlLCBbdGhpcy5yZXR1cm5WYWx1ZV0pO1xyXG4gICAgLy8gaWYgKHIgIT09IGZhbHNlKSB7XHJcbiAgICBjb25zdCB7IGV4cGFuZCA9IGZhbHNlIH0gPSBmb3JtRXhwYW5kO1xyXG4gICAgaWYgKGV4cGFuZCAmJiBmb3JtRXhwYW5kLnZhbGlkICYmIGZvcm1FeHBhbmQuY2hhbmdlKSB7XHJcbiAgICAgIENvbmZpcm0oe1xyXG4gICAgICAgIGNvbnRlbnQ6IFwi5b2T5YmN6K6w5b2V5bey5L+u5pS55bCa5pyq5L+d5a2Y77yM56Gu5a6a6KaB5pS+5byD5L+u5pS55ZCX77yfXCIsXHJcbiAgICAgICAgb25PaygpIHtcclxuICAgICAgICAgIGlmIChvbkNhbmNlbCB8fCBvbkNsb3NlKSB7XHJcbiAgICAgICAgICAgIGlmIChidXR0b25DbG9zZSAmJiBvbkJ1dHRvbkNhbmNlbCkge1xyXG4gICAgICAgICAgICAgIG9uQnV0dG9uQ2FuY2VsKHJlc3VsdCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgb25DYW5jZWwgJiYgb25DYW5jZWwocmVzdWx0KTtcclxuICAgICAgICAgICAgICBvbkNsb3NlICYmIG9uQ2xvc2UocmVzdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyB2aXNpYmxlOiBmYWxzZSB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChvbkNhbmNlbCB8fCBvbkNsb3NlKSB7XHJcbiAgICAgICAgaWYgKGJ1dHRvbkNsb3NlICYmIG9uQnV0dG9uQ2FuY2VsKSB7XHJcbiAgICAgICAgICBvbkJ1dHRvbkNhbmNlbChyZXN1bHQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBvbkNhbmNlbCAmJiBvbkNhbmNlbChyZXN1bHQpO1xyXG4gICAgICAgICAgb25DbG9zZSAmJiBvbkNsb3NlKHJlc3VsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIF90aGlzLnNldFN0YXRlKHsgdmlzaWJsZTogZmFsc2UgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIH1cclxuICAgIC8vIHV0aWxzLmNhbGxiYWNrKGNhbGxiYWNrLCBzY29wZSwgW190aGlzLnJldHVyblZhbHVlXSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDojrflj5blj4LmlbDvvIzlpoLmnpxrZXnkuI3kvKDpgJLvvIzkuJTojrflj5blhajpg6hcclxuICAgKiBAcGFyYW0ge1N0cmluZ30ga2V5XHJcbiAgICovXHJcbiAgZ2V0UGFyYW1zKGtleSkge1xyXG4gICAgaWYgKGtleSkgcmV0dXJuIHRoaXMub3B0aW9uLnBhcmFtc1trZXldO1xyXG4gICAgcmV0dXJuIHRoaXMub3B0aW9uLnBhcmFtcztcclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgdHlwZSA9IFwibW9kYWxcIixcclxuICAgICAgY2xvc2FibGUsXHJcbiAgICAgIC8vIHRpdGxlOiBvcmd0aXRsZSxcclxuICAgICAgb2tCdXR0b25Qcm9wcyA9IHt9LFxyXG4gICAgICBjYW5jZWxCdXR0b25Qcm9wcyA9IHt9LFxyXG4gICAgICBmb3JtRXhwYW5kID0ge30sXHJcbiAgICAgIC4uLnBhcmFtc1xyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgcHJvcHM6IGFueSA9IHsgLi4ucGFyYW1zIH07XHJcbiAgICBsZXQgeyBtb3VudEVsZW1lbnRJZCB9ID0gY29uZmlnKCk7XHJcbiAgICBpZiAobW91bnRFbGVtZW50SWQpIHtcclxuICAgICAgcHJvcHMgPSB7XHJcbiAgICAgICAgZ2V0Q29udGFpbmVyOiAoKSA9PiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChtb3VudEVsZW1lbnRJZCksXHJcbiAgICAgICAgLi4ucHJvcHMsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBjb25zdCB0aXRsZSA9IChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRpdGxlXCIpfT5cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvbnNcIil9PlxyXG4gICAgICAgICAgeyF0aGlzLnN0YXRlLmV4cGFuZCAmJiBmb3JtRXhwYW5kLmV4cGFuZCAmJiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgZXhwYW5kOiB0cnVlIH0pO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPEV4cGFuZE91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICAgIHt0aGlzLnN0YXRlLmV4cGFuZCAmJiBmb3JtRXhwYW5kLmV4cGFuZCAmJiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgZXhwYW5kOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxDb21wcmVzc091dGxpbmVkIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICAgIHtjbG9zYWJsZSAhPT0gZmFsc2UgJiYgKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfVxyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpblJpZ2h0OiAwIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8Q2xvc2VPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRpdGxlLWNvbnRlbnRcIil9PlxyXG4gICAgICAgICAge3RoaXMucHJvcHMudGl0bGV9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICAgIGNvbnN0IHsgbW9kYWxCdXR0b24gfSA9IGNvbmZpZygpO1xyXG4gICAgY29uc3QgZm9vdGVyID0gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZm9vdGVyXCIpfT5cclxuICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIHByb3BzLm9uT2sgJiYgcHJvcHMub25PaygpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIGljb249ezxQbHVzQ2lyY2xlT3V0bGluZWQgLz59XHJcbiAgICAgICAgICB7Li4ubW9kYWxCdXR0b24ub2tCdXR0b25Qcm9wc31cclxuICAgICAgICAgIHsuLi5va0J1dHRvblByb3BzfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt0aGlzLnByb3BzLm9rVGV4dCA/IHRoaXMucHJvcHMub2tUZXh0IDogXCLkv53lrZhcIn1cclxuICAgICAgICA8L0J1dHRvbj5cclxuXHJcbiAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgb25DbGljaz17dGhpcy5jbG9zZS5iaW5kKHRoaXMsIHt9LCB0cnVlKX1cclxuICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiYnV0dG9uLW1hcmdpblwiKX1cclxuICAgICAgICAgIGljb249ezxDbG9zZUNpcmNsZU91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgey4uLm1vZGFsQnV0dG9uLmNhbmNsZUJ1dHRvblByb3BzfVxyXG4gICAgICAgICAgey4uLmNhbmNlbEJ1dHRvblByb3BzfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt0aGlzLnByb3BzLmNhbmNlbFRleHQgPyB0aGlzLnByb3BzLmNhbmNlbFRleHQgOiBcIuWPlua2iFwifVxyXG4gICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgICBpZiAoZm9ybUV4cGFuZC5leHBhbmQpIHtcclxuICAgICAgcHJvcHMgPSB7XHJcbiAgICAgICAgZm9vdGVyOiBmb290ZXIsXHJcbiAgICAgICAgLi4ucHJvcHMsXHJcbiAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgIGNsb3NhYmxlOiBmYWxzZSxcclxuICAgICAgICBzdHlsZTogeyBtYXhXaWR0aDogXCIxMDB2d1wiIH0sXHJcbiAgICAgICAgY2xhc3NOYW1lOiB0aGlzLnN0YXRlLmV4cGFuZCA/IGdldExlc3Moc3R5bGVzLCBcImFsbHNyZWVuXCIpIDogXCJcIixcclxuICAgICAgICB3aWR0aDogdGhpcy5zdGF0ZS5leHBhbmQgPyBcIjEwMHZ3XCIgOiBwcm9wcy53aWR0aCxcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHByb3BzID0ge1xyXG4gICAgICAgIGZvb3RlcjogZm9vdGVyLFxyXG4gICAgICAgIC4uLnByb3BzLFxyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICBjbG9zYWJsZTogZmFsc2UsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zdGF0ZS5tb2RhbFR5cGUgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICBsZXQgb2xkUHJvcHMgPSB7IC4uLnByb3BzIH07XHJcbiAgICAgIGxldCBuZXdEcmF3ZXJQcm9wcyA9IG9taXQob2xkUHJvcHMsIFtcIm9uT2tcIiwgXCJva0J1dHRvblByb3BzXCJdKTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8RHJhd2VyXHJcbiAgICAgICAgICB2aXNpYmxlPXt0aGlzLnN0YXRlLnZpc2libGV9XHJcbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICB7Li4ubmV3RHJhd2VyUHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPE1vZGFsXHJcbiAgICAgICAgICB2aXNpYmxlPXt0aGlzLnN0YXRlLnZpc2libGV9XHJcbiAgICAgICAgICBvbkNhbmNlbD17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgb25Paz17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgb2tUZXh0PXtcIuehruWumlwifVxyXG4gICAgICAgICAgY2FuY2VsVGV4dD17XCLlj5bmtohcIn1cclxuICAgICAgICAgIGNlbnRlcmVkPXt0cnVlfVxyXG4gICAgICAgICAgLy8gdGl0bGU9e2Zvcm1FeHBhbmQgPyB0aXRsZSA6IHRoaXMucHJvcHMudGl0bGV9XHJcbiAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICBhZnRlckNsb3NlPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgIGV4cGFuZDogZmFsc2UsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAvPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
439
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvbW9kYWwvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiY3JlYXRlUmVmIiwiUHVyZUNvbXBvbmVudCIsInV0aWxzIiwiY29uZmlnIiwiUGx1c0NpcmNsZU91dGxpbmVkIiwiQ2xvc2VDaXJjbGVPdXRsaW5lZCIsIkNsb3NlT3V0bGluZWQiLCJFeHBhbmRPdXRsaW5lZCIsIkNvbXByZXNzT3V0bGluZWQiLCJCdXR0b24iLCJnZXRMZXNzIiwic3R5bGVzIiwiZ2V0U3RvcmFnZSIsIkNvbmZpcm0iLCJvbWl0IiwiRHJhZ2dhYmxlIiwiY2xzIiwiTnNjTW9kYWwiLCJwcm9wcyIsInNjb3BlIiwicGFyYW1zIiwiYmVmb3JlUmVuZGVyIiwiY2FsbGJhY2tCZWZvcmVDbG9zZSIsImNhbGxiYWNrIiwiYWZ0ZXJSZW5kZXIiLCJldiIsImRhdGEiLCJKU09OIiwicGFyc2UiLCJfdGhpcyIsImV2ZW50VHlwZSIsInBheWxvYWQiLCJ0eXBlIiwic2V0U3RhdGUiLCJtb2RhbFR5cGUiLCJtb2RhbCIsInN0b3JlUHJlZml4IiwiYXV0b1R5cGUiLCJjb250ZW50Iiwic3RhdGUiLCJ2aXNpYmxlIiwiZXhwYW5kIiwiYm91bmRzIiwibGVmdCIsInRvcCIsImJvdHRvbSIsInJpZ2h0IiwiZHJhZ2dlciIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJsaXN0ZW5NZXNzYWdlIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIm9wdGlvbiIsInJldHVyblZhbHVlIiwicmVzdWx0IiwiYnV0dG9uQ2xvc2UiLCJmb3JtRXhwYW5kIiwib25DYW5jZWwiLCJvbkJ1dHRvbkNhbmNlbCIsIm9uQ2xvc2UiLCJ2YWxpZCIsImNoYW5nZSIsIm9uT2siLCJrZXkiLCJfZXZlbnQiLCJ1aURhdGEiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsImNsaWVudFdpZHRoIiwiY2xpZW50SGVpZ2h0IiwidGFyZ2V0UmVjdCIsImRyYWdnbGVSZWYiLCJjdXJyZW50IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwieCIsInkiLCJjbG9zYWJsZSIsIm9rQnV0dG9uUHJvcHMiLCJjYW5jZWxCdXR0b25Qcm9wcyIsIm1vdW50RWxlbWVudElkIiwiZ2V0Q29udGFpbmVyIiwiZ2V0RWxlbWVudEJ5SWQiLCJkcmFnYWJsZSIsIm1vZGFsUmVuZGVyIiwiZXZlbnQiLCJvblN0YXJ0IiwidGl0bGUiLCJjbG9zZSIsIm1hcmdpblJpZ2h0IiwibW9kYWxCdXR0b24iLCJmb290ZXIiLCJva1RleHQiLCJiaW5kIiwiY2FuY2xlQnV0dG9uUHJvcHMiLCJjYW5jZWxUZXh0Iiwic3R5bGUiLCJtYXhXaWR0aCIsImNsYXNzTmFtZSIsIndpZHRoIiwib2xkUHJvcHMiLCJuZXdEcmF3ZXJQcm9wcyIsImluZm8iLCJzdWNjZXNzIiwiZXJyb3IiLCJ3YXJuaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxJQUFnQkMsU0FBaEIsRUFBMkJDLGFBQTNCLFFBQTJELE9BQTNEO0FBRUEsU0FBU0MsS0FBVCxRQUFzQix1QkFBdEI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsU0FDRUMsa0JBREYsRUFFRUMsbUJBRkYsRUFHRUMsYUFIRixFQUlFQyxjQUpGLEVBS0VDLGdCQUxGLFFBTU8sbUJBTlA7QUFPQSxPQUFPQyxNQUFQLE1BQW1CLFdBQW5CO0FBQ0EsU0FBU0MsT0FBVCxRQUF3QixhQUF4QjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsY0FBbkI7QUFDQSxTQUFTQyxVQUFULFFBQTJCLG1CQUEzQjtBQUNBLE9BQU9DLE9BQVAsTUFBb0IsV0FBcEI7QUFDQSxPQUFPQyxJQUFQLE1BQWlCLFNBQWpCO0FBRUEsT0FBT0MsU0FBUCxNQUFzQixpQkFBdEI7QUFDQSxPQUFPQyxHQUFQLE1BQWdCLFlBQWhCOztJQWNxQkMsUTs7Ozs7QUFFbkI7QUFLQTtBQUdBLG9CQUFZQyxLQUFaLEVBQW1C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VUFBVSxFQUFFLElBVGQ7QUFVRSxVQUFBLFFBQVEsRUFBRSxJQVZaLENBV0U7O0FBWEYsV0FZTXJFLEtBWk47QUFhRSxVQUFBLFVBQVUsRUFBRSxzQkFBTTtBQUNoQixZQUFBLE1BQUksQ0FBQ2UsUUFBTCxDQUFjO0FBQ1pRLGNBQUFBLE1BQU0sRUFBRTtBQURJLGFBQWQ7QUFHRDtBQWpCSCxXQURGO0FBcUJEO0FBQ0Y7Ozs7RUFwVW1DeEMsYTs7Z0JBQWpCZ0IsUSxhQUNGSixPOztnQkFERUksUSxVQUdMLE9BQU1vRixJOztnQkFIRHBGLFEsYUFJRixPQUFNcUYsTzs7Z0JBSkpyRixRLFdBS0osT0FBTXNGLEs7O2dCQUxGdEYsUSxhQU1GLE9BQU11RixPOztTQU5KdkYsUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBjcmVhdGVSZWYsIFB1cmVDb21wb25lbnQsIFJlYWN0Tm9kZSB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBNb2RhbCwgTW9kYWxQcm9wcywgRHJhd2VyLCBEcmF3ZXJQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuLi8uLi9jb25maWdcIjtcclxuaW1wb3J0IHtcclxuICBQbHVzQ2lyY2xlT3V0bGluZWQsXHJcbiAgQ2xvc2VDaXJjbGVPdXRsaW5lZCxcclxuICBDbG9zZU91dGxpbmVkLFxyXG4gIEV4cGFuZE91dGxpbmVkLFxyXG4gIENvbXByZXNzT3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCBCdXR0b24gZnJvbSBcIi4uL2J1dHRvblwiO1xyXG5pbXBvcnQgeyBnZXRMZXNzIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgeyBnZXRTdG9yYWdlIH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCBDb25maXJtIGZyb20gXCIuL0NvbmZpcm1cIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IHR5cGUgeyBEcmFnZ2FibGVEYXRhLCBEcmFnZ2FibGVFdmVudCB9IGZyb20gXCJyZWFjdC1kcmFnZ2FibGVcIjtcclxuaW1wb3J0IERyYWdnYWJsZSBmcm9tIFwicmVhY3QtZHJhZ2dhYmxlXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuXHJcbmludGVyZmFjZSBmb3JtRXhwYW5kIHtcclxuICBjaGFuZ2U/OiBib29sZWFuO1xyXG4gIHZhbGlkPzogYm9vbGVhbjtcclxuICBleHBhbmQ/OiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgTnNjTW9kYWxQb3JwcyBleHRlbmRzIE1vZGFsUHJvcHMsIERyYXdlclByb3BzIHtcclxuICB0eXBlPzogXCJtb2RhbFwiIHwgXCJkcmF3ZXJcIiB8IFwiYXV0b1wiO1xyXG4gIGZvcm1FeHBhbmQ/OiBmb3JtRXhwYW5kO1xyXG4gIG9uQnV0dG9uQ2FuY2VsPzogYW55OyAvL+W6lemDqOWPlua2iOaMiemSruWbnuiwg1xyXG4gIGRyYWdhYmxlPzogYm9vbGVhbjsgLy/lvLnmoYbmmK/lkKbnnIvmi5bliqhcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTnNjTW9kYWwgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PE5zY01vZGFsUG9ycHMsIGFueT4ge1xyXG4gIHN0YXRpYyBjb25maXJtID0gQ29uZmlybTtcclxuICAvLyBzdGF0aWMgY29uZmlybSA9IE1vZGFsLmNvbmZpcm07XHJcbiAgc3RhdGljIGluZm8gPSBNb2RhbC5pbmZvO1xyXG4gIHN0YXRpYyBzdWNjZXNzID0gTW9kYWwuc3VjY2VzcztcclxuICBzdGF0aWMgZXJyb3IgPSBNb2RhbC5lcnJvcjtcclxuICBzdGF0aWMgd2FybmluZyA9IE1vZGFsLndhcm5pbmc7XHJcbiAgLy/ov5Tlm57lgLxcclxuICByZXR1cm5WYWx1ZSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBsZXQgbW9kYWwgPSBwcm9wcy50eXBlIHx8IFwiYXV0b1wiO1xyXG4gICAgbGV0IHN0b3JlUHJlZml4ID0gZ2V0U3RvcmFnZShcInN0b3JlLXByZS1rZXlcIik7XHJcbiAgICBsZXQgYXV0b1R5cGUgPSBnZXRTdG9yYWdlKFxyXG4gICAgICBzdG9yZVByZWZpeCA/IHN0b3JlUHJlZml4ICsgXCJmb3JtVHlwZVwiIDogXCJmb3JtVHlwZVwiXHJcbiAgICApO1xyXG4gICAgYXV0b1R5cGUgPSBhdXRvVHlwZT8uY29udGVudDtcclxuICAgIHRoaXMuc3RhdGUgPSB7XHJcbiAgICAgIHZpc2libGU6IGZhbHNlLFxyXG4gICAgICBleHBhbmQ6IGZhbHNlLFxyXG4gICAgICBtb2RhbFR5cGU6IG1vZGFsID09IFwiYXV0b1wiID8gYXV0b1R5cGUgOiBtb2RhbCxcclxuICAgICAgYm91bmRzOiB7IGxlZnQ6IDAsIHRvcDogMCwgYm90dG9tOiAwLCByaWdodDogMCB9LFxyXG4gICAgICBkcmFnZ2VyOiB0cnVlLFxyXG4gICAgfTtcclxuICB9XHJcbiAgZHJhZ2dsZVJlZiA9IGNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcclxuXHJcbiAgb3B0aW9uOiBhbnkgPSB7XHJcbiAgICAvL+Wbnuiwg+S9nOeUqOWfn1xyXG4gICAgc2NvcGU6IHRoaXMsXHJcbiAgICAvL29wZW7kvKDpgJLov4fmnaXnmoTpobXpnaLlj4LmlbBcclxuICAgIHBhcmFtczoge30sXHJcbiAgICAvL+aYvuekuuS5i+WJjeWbnuiwg1xyXG4gICAgYmVmb3JlUmVuZGVyOiBudWxsLFxyXG4gICAgLy/lhbPpl63kuYvliY3lm57osIPvvIzlpoLmnpxyZXR1cm4gZmFsc2XvvIzkuJTnqpflj6PkuI3lhbPpl61cclxuICAgIGNhbGxiYWNrQmVmb3JlQ2xvc2U6IG51bGwsXHJcbiAgICAvL+WFs+mXreWQjuWbnuiwg++8jOW8guatpeaTjeS9nFxyXG4gICAgY2FsbGJhY2s6IG51bGwsXHJcbiAgICAvL+aYvuekuuS5i+WQjuWbnuiwg1xyXG4gICAgYWZ0ZXJSZW5kZXI6IG51bGwsXHJcbiAgfTtcclxuICAvKipcclxuICAgKiDmuLLmn5PlrozmiJBcclxuICAgKiBAcGFyYW0geyp9IG9wdGlvbiAg5pW05pS55Lyg6YCS5a+56LGhXHJcbiAgICovXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgdGhpcy5saXN0ZW5NZXNzYWdlKTtcclxuICB9XHJcblxyXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xyXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIHRoaXMubGlzdGVuTWVzc2FnZSk7XHJcbiAgfVxyXG4gIGxpc3Rlbk1lc3NhZ2UgPSAoZXYpID0+IHtcclxuICAgIGNvbnN0IGRhdGEgPSB0eXBlb2YgZXYuZGF0YSA9PT0gXCJzdHJpbmdcIiA/IEpTT04ucGFyc2UoZXYuZGF0YSkgOiBldi5kYXRhO1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIGlmIChkYXRhLmV2ZW50VHlwZSA9PSBcImNoYW5nZUZvcm1UeXBlXCIpIHtcclxuICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBkYXRhO1xyXG4gICAgICBpZiAocGF5bG9hZC50eXBlID09IFwibW9kYWxcIiB8fCBwYXlsb2FkLnR5cGUgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICAgIF90aGlzLnNldFN0YXRlKHsgbW9kYWxUeXBlOiBwYXlsb2FkLnR5cGUgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9O1xyXG4gIC8v5pi+56S6XHJcbiAgc2hvdyhvcHRpb246IGFueSA9IHt9KSB7XHJcbiAgICBjb25zdCB7IHNjb3BlIH0gPSB0aGlzLm9wdGlvbjtcclxuICAgIGNvbnN0IHsgYmVmb3JlUmVuZGVyLCBhZnRlclJlbmRlciB9ID0gb3B0aW9uO1xyXG4gICAgdGhpcy5vcHRpb24gPSB7IC4uLnRoaXMub3B0aW9uLCAuLi5vcHRpb24gfTtcclxuICAgIHV0aWxzLmNhbGxiYWNrKGJlZm9yZVJlbmRlciwgc2NvcGUpO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7IHZpc2libGU6IHRydWUgfSwgKCkgPT4ge1xyXG4gICAgICB1dGlscy5jYWxsYmFjayhhZnRlclJlbmRlciwgc2NvcGUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL+makOiXj1xyXG4gIGhpZGUob3B0aW9uOiBhbnkgPSB7fSkge1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIF90aGlzLnNldFN0YXRlKHsgdmlzaWJsZTogZmFsc2UgfSk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPlumcgOimgei/lOWbnueahOWAvFxyXG4gIGdldFJldHVyblZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucmV0dXJuVmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDlhbPpl63luKblm57osINcclxuICAgKi9cclxuICBjbG9zZShyZXN1bHQ/OiBhbnksIGJ1dHRvbkNsb3NlID0gZmFsc2UpIHtcclxuICAgIHZhciBfdGhpcyA9IHRoaXM7XHJcbiAgICAvLyBjb25zdCB7IGNhbGxiYWNrLCBzY29wZSwgY2FsbGJhY2tCZWZvcmVDbG9zZSB9ID0gdGhpcy5vcHRpb247XHJcbiAgICBjb25zdCB7IGZvcm1FeHBhbmQgPSB7fSwgb25DYW5jZWwsIG9uQnV0dG9uQ2FuY2VsLCBvbkNsb3NlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgLy8gY29uc3QgciA9IHV0aWxzLmNhbGxiYWNrKGNhbGxiYWNrQmVmb3JlQ2xvc2UsIHNjb3BlLCBbdGhpcy5yZXR1cm5WYWx1ZV0pO1xyXG4gICAgLy8gaWYgKHIgIT09IGZhbHNlKSB7XHJcbiAgICBjb25zdCB7IGV4cGFuZCA9IGZhbHNlIH0gPSBmb3JtRXhwYW5kO1xyXG4gICAgaWYgKGV4cGFuZCAmJiBmb3JtRXhwYW5kLnZhbGlkICYmIGZvcm1FeHBhbmQuY2hhbmdlKSB7XHJcbiAgICAgIENvbmZpcm0oe1xyXG4gICAgICAgIGNvbnRlbnQ6IFwi5b2T5YmN6K6w5b2V5bey5L+u5pS55bCa5pyq5L+d5a2Y77yM56Gu5a6a6KaB5pS+5byD5L+u5pS55ZCX77yfXCIsXHJcbiAgICAgICAgb25PaygpIHtcclxuICAgICAgICAgIGlmIChvbkNhbmNlbCB8fCBvbkNsb3NlKSB7XHJcbiAgICAgICAgICAgIGlmIChidXR0b25DbG9zZSAmJiBvbkJ1dHRvbkNhbmNlbCkge1xyXG4gICAgICAgICAgICAgIG9uQnV0dG9uQ2FuY2VsKHJlc3VsdCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgb25DYW5jZWwgJiYgb25DYW5jZWwocmVzdWx0KTtcclxuICAgICAgICAgICAgICBvbkNsb3NlICYmIG9uQ2xvc2UocmVzdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyB2aXNpYmxlOiBmYWxzZSB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChvbkNhbmNlbCB8fCBvbkNsb3NlKSB7XHJcbiAgICAgICAgaWYgKGJ1dHRvbkNsb3NlICYmIG9uQnV0dG9uQ2FuY2VsKSB7XHJcbiAgICAgICAgICBvbkJ1dHRvbkNhbmNlbChyZXN1bHQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBvbkNhbmNlbCAmJiBvbkNhbmNlbChyZXN1bHQpO1xyXG4gICAgICAgICAgb25DbG9zZSAmJiBvbkNsb3NlKHJlc3VsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIF90aGlzLnNldFN0YXRlKHsgdmlzaWJsZTogZmFsc2UgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIH1cclxuICAgIC8vIHV0aWxzLmNhbGxiYWNrKGNhbGxiYWNrLCBzY29wZSwgW190aGlzLnJldHVyblZhbHVlXSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDojrflj5blj4LmlbDvvIzlpoLmnpxrZXnkuI3kvKDpgJLvvIzkuJTojrflj5blhajpg6hcclxuICAgKiBAcGFyYW0ge1N0cmluZ30ga2V5XHJcbiAgICovXHJcbiAgZ2V0UGFyYW1zKGtleSkge1xyXG4gICAgaWYgKGtleSkgcmV0dXJuIHRoaXMub3B0aW9uLnBhcmFtc1trZXldO1xyXG4gICAgcmV0dXJuIHRoaXMub3B0aW9uLnBhcmFtcztcclxuICB9XHJcbiAgb25TdGFydChfZXZlbnQ6IERyYWdnYWJsZUV2ZW50LCB1aURhdGE6IERyYWdnYWJsZURhdGEpIHtcclxuICAgIGNvbnN0IHsgY2xpZW50V2lkdGgsIGNsaWVudEhlaWdodCB9ID0gd2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcclxuICAgIGNvbnN0IHRhcmdldFJlY3QgPSB0aGlzLmRyYWdnbGVSZWYuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBpZiAoIXRhcmdldFJlY3QpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGJvdW5kczoge1xyXG4gICAgICAgIGxlZnQ6IC10YXJnZXRSZWN0LmxlZnQgKyB1aURhdGEueCxcclxuICAgICAgICByaWdodDogY2xpZW50V2lkdGggLSAodGFyZ2V0UmVjdC5yaWdodCAtIHVpRGF0YS54KSxcclxuICAgICAgICB0b3A6IC10YXJnZXRSZWN0LnRvcCArIHVpRGF0YS55LFxyXG4gICAgICAgIGJvdHRvbTogY2xpZW50SGVpZ2h0IC0gKHRhcmdldFJlY3QuYm90dG9tIC0gdWlEYXRhLnkpLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHR5cGUgPSBcIm1vZGFsXCIsXHJcbiAgICAgIGNsb3NhYmxlLFxyXG4gICAgICAvLyB0aXRsZTogb3JndGl0bGUsXHJcbiAgICAgIG9rQnV0dG9uUHJvcHMgPSB7fSxcclxuICAgICAgY2FuY2VsQnV0dG9uUHJvcHMgPSB7fSxcclxuICAgICAgZm9ybUV4cGFuZCA9IHt9LFxyXG4gICAgICAuLi5wYXJhbXNcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IHByb3BzOiBhbnkgPSB7IC4uLnBhcmFtcyB9O1xyXG4gICAgbGV0IHsgbW91bnRFbGVtZW50SWQgfSA9IGNvbmZpZygpO1xyXG4gICAgaWYgKG1vdW50RWxlbWVudElkKSB7XHJcbiAgICAgIHByb3BzID0ge1xyXG4gICAgICAgIGdldENvbnRhaW5lcjogKCkgPT4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobW91bnRFbGVtZW50SWQpLFxyXG4gICAgICAgIC4uLnByb3BzLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmRyYWdhYmxlIHx8IHR5cGUgPT0gXCJtb2RhbFwiKSB7XHJcbiAgICAgIHByb3BzID0ge1xyXG4gICAgICAgIG1vZGFsUmVuZGVyOiAobW9kYWwpID0+IHtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxEcmFnZ2FibGVcclxuICAgICAgICAgICAgICBkaXNhYmxlZD17dGhpcy5zdGF0ZS5kcmFnZ2VyfVxyXG4gICAgICAgICAgICAgIGJvdW5kcz17dGhpcy5zdGF0ZS5ib3VuZHN9XHJcbiAgICAgICAgICAgICAgb25TdGFydD17KGV2ZW50LCB1aURhdGEpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMub25TdGFydChldmVudCwgdWlEYXRhKTtcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdiByZWY9e3RoaXMuZHJhZ2dsZVJlZn0+e21vZGFsfTwvZGl2PlxyXG4gICAgICAgICAgICA8L0RyYWdnYWJsZT5cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5wcm9wcyxcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB0aXRsZSA9IChcclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcInRpdGxlXCIpLCB7XHJcbiAgICAgICAgICBbZ2V0TGVzcyhzdHlsZXMsIFwidGl0bGUtZHJhZ2dlclwiKV06XHJcbiAgICAgICAgICAgIHRoaXMucHJvcHMuZHJhZ2FibGUgJiYgdHlwZSA9PSBcIm1vZGFsXCIsXHJcbiAgICAgICAgfSl9XHJcbiAgICAgICAgb25Nb3VzZU92ZXI9eygpID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzLnN0YXRlLmRyYWdnZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgZHJhZ2dlcjogZmFsc2UsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH19XHJcbiAgICAgICAgb25Nb3VzZU91dD17KCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGRyYWdnZXI6IHRydWUsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9fVxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25zXCIpfT5cclxuICAgICAgICAgIHshdGhpcy5zdGF0ZS5leHBhbmQgJiYgZm9ybUV4cGFuZC5leHBhbmQgJiYgKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGV4cGFuZDogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxFeHBhbmRPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7dGhpcy5zdGF0ZS5leHBhbmQgJiYgZm9ybUV4cGFuZC5leHBhbmQgJiYgKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGV4cGFuZDogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8Q29tcHJlc3NPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7Y2xvc2FibGUgIT09IGZhbHNlICYmIChcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX1cclxuICAgICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5SaWdodDogMCB9fVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPENsb3NlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJ0aXRsZS1jb250ZW50XCIpfT5cclxuICAgICAgICAgIHt0aGlzLnByb3BzLnRpdGxlfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgICBjb25zdCB7IG1vZGFsQnV0dG9uIH0gPSBjb25maWcoKTtcclxuICAgIGNvbnN0IGZvb3RlciA9IChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImZvb3RlclwiKX0+XHJcbiAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxyXG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICBwcm9wcy5vbk9rICYmIHByb3BzLm9uT2soKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICBpY29uPXs8UGx1c0NpcmNsZU91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgey4uLm1vZGFsQnV0dG9uLm9rQnV0dG9uUHJvcHN9XHJcbiAgICAgICAgICB7Li4ub2tCdXR0b25Qcm9wc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7dGhpcy5wcm9wcy5va1RleHQgPyB0aGlzLnByb3BzLm9rVGV4dCA6IFwi5L+d5a2YXCJ9XHJcbiAgICAgICAgPC9CdXR0b24+XHJcblxyXG4gICAgICAgIDxCdXR0b25cclxuICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuY2xvc2UuYmluZCh0aGlzLCB7fSwgdHJ1ZSl9XHJcbiAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImJ1dHRvbi1tYXJnaW5cIil9XHJcbiAgICAgICAgICBpY29uPXs8Q2xvc2VDaXJjbGVPdXRsaW5lZCAvPn1cclxuICAgICAgICAgIHsuLi5tb2RhbEJ1dHRvbi5jYW5jbGVCdXR0b25Qcm9wc31cclxuICAgICAgICAgIHsuLi5jYW5jZWxCdXR0b25Qcm9wc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7dGhpcy5wcm9wcy5jYW5jZWxUZXh0ID8gdGhpcy5wcm9wcy5jYW5jZWxUZXh0IDogXCLlj5bmtohcIn1cclxuICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gICAgaWYgKGZvcm1FeHBhbmQuZXhwYW5kKSB7XHJcbiAgICAgIHByb3BzID0ge1xyXG4gICAgICAgIGZvb3RlcjogZm9vdGVyLFxyXG4gICAgICAgIC4uLnByb3BzLFxyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICBjbG9zYWJsZTogZmFsc2UsXHJcbiAgICAgICAgc3R5bGU6IHsgbWF4V2lkdGg6IFwiMTAwdndcIiB9LFxyXG4gICAgICAgIGNsYXNzTmFtZTogdGhpcy5zdGF0ZS5leHBhbmQgPyBnZXRMZXNzKHN0eWxlcywgXCJhbGxzcmVlblwiKSA6IFwiXCIsXHJcbiAgICAgICAgd2lkdGg6IHRoaXMuc3RhdGUuZXhwYW5kID8gXCIxMDB2d1wiIDogcHJvcHMud2lkdGgsXHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBwcm9wcyA9IHtcclxuICAgICAgICBmb290ZXI6IGZvb3RlcixcclxuICAgICAgICAuLi5wcm9wcyxcclxuICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgY2xvc2FibGU6IGZhbHNlLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc3RhdGUubW9kYWxUeXBlID09IFwiZHJhd2VyXCIpIHtcclxuICAgICAgbGV0IG9sZFByb3BzID0geyAuLi5wcm9wcyB9O1xyXG4gICAgICBsZXQgbmV3RHJhd2VyUHJvcHMgPSBvbWl0KG9sZFByb3BzLCBbXCJvbk9rXCIsIFwib2tCdXR0b25Qcm9wc1wiXSk7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPERyYXdlclxyXG4gICAgICAgICAgdmlzaWJsZT17dGhpcy5zdGF0ZS52aXNpYmxlfVxyXG4gICAgICAgICAgb25DbG9zZT17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgey4uLm5ld0RyYXdlclByb3BzfVxyXG4gICAgICAgIC8+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxNb2RhbFxyXG4gICAgICAgICAgdmlzaWJsZT17dGhpcy5zdGF0ZS52aXNpYmxlfVxyXG4gICAgICAgICAgb25DYW5jZWw9eygpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIG9uT2s9eygpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIG9rVGV4dD17XCLnoa7lrppcIn1cclxuICAgICAgICAgIGNhbmNlbFRleHQ9e1wi5Y+W5raIXCJ9XHJcbiAgICAgICAgICBjZW50ZXJlZD17dHJ1ZX1cclxuICAgICAgICAgIC8vIHRpdGxlPXtmb3JtRXhwYW5kID8gdGl0bGUgOiB0aGlzLnByb3BzLnRpdGxlfVxyXG4gICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgYWZ0ZXJDbG9zZT17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICBleHBhbmQ6IGZhbHNlLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgLz5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -28,6 +28,9 @@
28
28
  display: flex;
29
29
  }
30
30
  }
31
+ .title-dragger{
32
+ cursor: move;
33
+ }
31
34
 
32
35
  .allsreen {
33
36
  :global {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nsc-react-component",
3
- "version": "2.10.13",
3
+ "version": "2.10.15",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -82,6 +82,7 @@
82
82
  "react-dnd": "^14.0.2",
83
83
  "react-dnd-html5-backend": "^14.0.0",
84
84
  "react-draft-wysiwyg": "^1.15.0",
85
+ "react-draggable": "^4.4.6",
85
86
  "react-pdf": "^5.7.2",
86
87
  "react-resizable": "^3.0.4"
87
88
  }