nsc-react-component 2.1.19 → 2.2.1

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.
@@ -73,10 +73,15 @@ var NSCDatePicker = /*#__PURE__*/function (_PureComponent) {
73
73
  _createClass(NSCDatePicker, [{
74
74
  key: "onChange",
75
75
  value: function onChange(date, dateString) {
76
+ var onChange = this.props.onChange;
76
77
  this.setState({
77
78
  date: date,
78
79
  dateString: dateString
79
80
  });
81
+
82
+ if (onChange) {
83
+ onChange(date, dateString);
84
+ }
80
85
  }
81
86
  }, {
82
87
  key: "getValue",
@@ -114,4 +119,4 @@ var NSCDatePicker = /*#__PURE__*/function (_PureComponent) {
114
119
  _defineProperty(NSCDatePicker, "RangePicker", NscRangePicker);
115
120
 
116
121
  export default NSCDatePicker;
117
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvZGF0ZXBpY2svaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIk5zY1JhbmdlUGlja2VyIiwibG9jYWxlIiwiTlNDRGF0ZVBpY2tlciIsImRhdGVTdHJpbmciLCJkYXRlIiwic2V0U3RhdGUiLCJzdGF0ZSIsInByb3BzIiwicGlja2VyIiwib25DaGFuZ2UiLCJwYXJhbXMiLCJiaW5kIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBT0EsS0FBUCxJQUFnQkMsYUFBaEIsUUFBcUMsT0FBckM7QUFHQSxPQUFPQyxjQUFQLE1BQTJCLGVBQTNCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixrQ0FBbkI7O0lBS01DLGE7Ozs7Ozs7Ozs7Ozs7Ozs7NERBRUk7QUFDTkMsTUFBQUEsVUFBVSxFQUFFLEVBRE47QUFFTkMsTUFBQUEsSUFBSSxFQUFFO0FBRkEsSzs7Ozs7OztXQUlSLGtCQUFTQSxJQUFULEVBQW9CRCxVQUFwQixFQUF3QztBQUN0QyxXQUFLRSxRQUFMLENBQWM7QUFDWkQsUUFBQUEsSUFBSSxFQUFFQSxJQURNO0FBRVpELFFBQUFBLFVBQVUsRUFBRUE7QUFGQSxPQUFkO0FBSUQ7OztXQUNELG9CQUFXO0FBQ1QsYUFBTztBQUNMQyxRQUFBQSxJQUFJLEVBQUUsS0FBS0UsS0FBTCxDQUFXRixJQURaO0FBRUxELFFBQUFBLFVBQVUsRUFBRSxLQUFLRyxLQUFMLENBQVdIO0FBRmxCLE9BQVA7QUFJRDs7O1dBQ0Qsa0JBQVM7QUFDUCx3QkFBd0MsS0FBS0ksS0FBN0M7QUFBQSxVQUFRQyxNQUFSLGVBQVFBLE1BQVI7QUFBQSxVQUFnQkMsUUFBaEIsZUFBZ0JBLFFBQWhCO0FBQUEsVUFBNkJDLE1BQTdCOztBQUNBLFVBQUlGLE1BQU0sSUFBSSxNQUFkLEVBQXNCO0FBQ3BCLDRCQUFPO0FBQVksVUFBQSxRQUFRLEVBQUUsS0FBS0MsUUFBTCxDQUFjRSxJQUFkLENBQW1CLElBQW5CO0FBQXRCLFdBQW9ERCxNQUFwRCxFQUFQO0FBQ0QsT0FGRCxNQUVPO0FBQ0wsNEJBQ0U7QUFDRSxVQUFBLE1BQU0sRUFBRUYsTUFEVjtBQUVFLFVBQUEsUUFBUSxFQUFFLEtBQUtDLFFBQUwsQ0FBY0UsSUFBZCxDQUFtQixJQUFuQixDQUZaO0FBR0UsVUFBQSxNQUFNLEVBQUVWO0FBSFYsV0FJTVMsTUFKTixFQURGO0FBUUQ7QUFDRjs7OztFQWhDeUJYLGE7O2dCQUF0QkcsYSxpQkFDaUJGLGM7O0FBa0N2QixlQUFlRSxhQUFmIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjog5pel5pyf57uE5Lu2XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wMy0yNiAwODo1Mjo1MlxyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMTQgMjE6Mzk6MjlcclxuICovXHJcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcblxyXG5pbXBvcnQgeyBEYXRlUGlja2VyLCBUaW1lUGlja2VyIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IE5zY1JhbmdlUGlja2VyIGZyb20gXCIuL1JhbmdlcGlja2VyXCI7XHJcbmltcG9ydCBsb2NhbGUgZnJvbSBcImFudGQvZXMvZGF0ZS1waWNrZXIvbG9jYWxlL3poX0NOXCI7XHJcbmludGVyZmFjZSBJRGF0ZVBpY2tlclByb3BzIHtcclxuICBbcHJvcE5hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuY2xhc3MgTlNDRGF0ZVBpY2tlciBleHRlbmRzIFB1cmVDb21wb25lbnQ8YW55PiB7XHJcbiAgc3RhdGljIFJhbmdlUGlja2VyID0gTnNjUmFuZ2VQaWNrZXI7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRlU3RyaW5nOiBcIlwiLFxyXG4gICAgZGF0ZTogbnVsbCxcclxuICB9O1xyXG4gIG9uQ2hhbmdlKGRhdGU6IGFueSwgZGF0ZVN0cmluZzogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgZGF0ZTogZGF0ZSxcclxuICAgICAgZGF0ZVN0cmluZzogZGF0ZVN0cmluZyxcclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGRhdGU6IHRoaXMuc3RhdGUuZGF0ZSxcclxuICAgICAgZGF0ZVN0cmluZzogdGhpcy5zdGF0ZS5kYXRlU3RyaW5nLFxyXG4gICAgfTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBwaWNrZXIsIG9uQ2hhbmdlLCAuLi5wYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAocGlja2VyID09IFwidGltZVwiKSB7XHJcbiAgICAgIHJldHVybiA8VGltZVBpY2tlciBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfSB7Li4ucGFyYW1zfSAvPjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPERhdGVQaWNrZXJcclxuICAgICAgICAgIHBpY2tlcj17cGlja2VyfVxyXG4gICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgIGxvY2FsZT17bG9jYWxlfVxyXG4gICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAvPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgTlNDRGF0ZVBpY2tlcjtcclxuIl19
122
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvZGF0ZXBpY2svaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIk5zY1JhbmdlUGlja2VyIiwibG9jYWxlIiwiTlNDRGF0ZVBpY2tlciIsImRhdGVTdHJpbmciLCJkYXRlIiwib25DaGFuZ2UiLCJwcm9wcyIsInNldFN0YXRlIiwic3RhdGUiLCJwaWNrZXIiLCJwYXJhbXMiLCJiaW5kIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBT0EsS0FBUCxJQUFnQkMsYUFBaEIsUUFBcUMsT0FBckM7QUFHQSxPQUFPQyxjQUFQLE1BQTJCLGVBQTNCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixrQ0FBbkI7O0lBS01DLGE7Ozs7Ozs7Ozs7Ozs7Ozs7NERBRUk7QUFDTkMsTUFBQUEsVUFBVSxFQUFFLEVBRE47QUFFTkMsTUFBQUEsSUFBSSxFQUFFO0FBRkEsSzs7Ozs7OztXQUlSLGtCQUFTQSxJQUFULEVBQW9CRCxVQUFwQixFQUF3QztBQUN0QyxVQUFRRSxRQUFSLEdBQXFCLEtBQUtDLEtBQTFCLENBQVFELFFBQVI7QUFDQSxXQUFLRSxRQUFMLENBQWM7QUFDWkgsUUFBQUEsSUFBSSxFQUFFQSxJQURNO0FBRVpELFFBQUFBLFVBQVUsRUFBRUE7QUFGQSxPQUFkOztBQUlBLFVBQUlFLFFBQUosRUFBYztBQUNaQSxRQUFBQSxRQUFRLENBQUNELElBQUQsRUFBT0QsVUFBUCxDQUFSO0FBQ0Q7QUFDRjs7O1dBQ0Qsb0JBQVc7QUFDVCxhQUFPO0FBQ0xDLFFBQUFBLElBQUksRUFBRSxLQUFLSSxLQUFMLENBQVdKLElBRFo7QUFFTEQsUUFBQUEsVUFBVSxFQUFFLEtBQUtLLEtBQUwsQ0FBV0w7QUFGbEIsT0FBUDtBQUlEOzs7V0FDRCxrQkFBUztBQUNQLHdCQUF3QyxLQUFLRyxLQUE3QztBQUFBLFVBQVFHLE1BQVIsZUFBUUEsTUFBUjtBQUFBLFVBQWdCSixRQUFoQixlQUFnQkEsUUFBaEI7QUFBQSxVQUE2QkssTUFBN0I7O0FBQ0EsVUFBSUQsTUFBTSxJQUFJLE1BQWQsRUFBc0I7QUFDcEIsNEJBQU87QUFBWSxVQUFBLFFBQVEsRUFBRSxLQUFLSixRQUFMLENBQWNNLElBQWQsQ0FBbUIsSUFBbkI7QUFBdEIsV0FBb0RELE1BQXBELEVBQVA7QUFDRCxPQUZELE1BRU87QUFDTCw0QkFDRTtBQUNFLFVBQUEsTUFBTSxFQUFFRCxNQURWO0FBRUUsVUFBQSxRQUFRLEVBQUUsS0FBS0osUUFBTCxDQUFjTSxJQUFkLENBQW1CLElBQW5CLENBRlo7QUFHRSxVQUFBLE1BQU0sRUFBRVY7QUFIVixXQUlNUyxNQUpOLEVBREY7QUFRRDtBQUNGOzs7O0VBcEN5QlgsYTs7Z0JBQXRCRyxhLGlCQUNpQkYsYzs7QUFzQ3ZCLGVBQWVFLGFBQWYiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOiDml6XmnJ/nu4Tku7ZcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTAzLTI2IDA4OjUyOjUyXHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNC0xNCAyMTozOToyOVxyXG4gKi9cclxuaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuXHJcbmltcG9ydCB7IERhdGVQaWNrZXIsIFRpbWVQaWNrZXIgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgTnNjUmFuZ2VQaWNrZXIgZnJvbSBcIi4vUmFuZ2VwaWNrZXJcIjtcclxuaW1wb3J0IGxvY2FsZSBmcm9tIFwiYW50ZC9lcy9kYXRlLXBpY2tlci9sb2NhbGUvemhfQ05cIjtcclxuaW50ZXJmYWNlIElEYXRlUGlja2VyUHJvcHMge1xyXG4gIFtwcm9wTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG5jbGFzcyBOU0NEYXRlUGlja2VyIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxhbnk+IHtcclxuICBzdGF0aWMgUmFuZ2VQaWNrZXIgPSBOc2NSYW5nZVBpY2tlcjtcclxuICBzdGF0ZSA9IHtcclxuICAgIGRhdGVTdHJpbmc6IFwiXCIsXHJcbiAgICBkYXRlOiBudWxsLFxyXG4gIH07XHJcbiAgb25DaGFuZ2UoZGF0ZTogYW55LCBkYXRlU3RyaW5nOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgZGF0ZTogZGF0ZSxcclxuICAgICAgZGF0ZVN0cmluZzogZGF0ZVN0cmluZyxcclxuICAgIH0pO1xyXG4gICAgaWYgKG9uQ2hhbmdlKSB7XHJcbiAgICAgIG9uQ2hhbmdlKGRhdGUsIGRhdGVTdHJpbmcpO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGRhdGU6IHRoaXMuc3RhdGUuZGF0ZSxcclxuICAgICAgZGF0ZVN0cmluZzogdGhpcy5zdGF0ZS5kYXRlU3RyaW5nLFxyXG4gICAgfTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBwaWNrZXIsIG9uQ2hhbmdlLCAuLi5wYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAocGlja2VyID09IFwidGltZVwiKSB7XHJcbiAgICAgIHJldHVybiA8VGltZVBpY2tlciBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfSB7Li4ucGFyYW1zfSAvPjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPERhdGVQaWNrZXJcclxuICAgICAgICAgIHBpY2tlcj17cGlja2VyfVxyXG4gICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgIGxvY2FsZT17bG9jYWxlfVxyXG4gICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAvPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgTlNDRGF0ZVBpY2tlcjtcclxuIl19
@@ -43,7 +43,6 @@ var ErrorBoundary = /*#__PURE__*/function (_Component) {
43
43
  key: "componentDidCatch",
44
44
  value: function componentDidCatch(error, errorInfo) {
45
45
  // 上传至服务器
46
- console.log("".concat(this.props.serviceName, "ErrorBoundary"), error);
47
46
  this.setState({
48
47
  hasError: true
49
48
  });
@@ -66,4 +65,4 @@ var ErrorBoundary = /*#__PURE__*/function (_Component) {
66
65
  }(Component);
67
66
 
68
67
  export { ErrorBoundary as default };
69
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvZXJyb3Jib3VuZGFyeS9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJDb21wb25lbnQiLCJFcnJvckJvdW5kYXJ5IiwicHJvcHMiLCJzdGF0ZSIsImhhc0Vycm9yIiwiZXJyb3IiLCJlcnJvckluZm8iLCJjb25zb2xlIiwibG9nIiwic2VydmljZU5hbWUiLCJzZXRTdGF0ZSIsImF1dG9Mb2dTZXJpY2UiLCJjaGlsZHJlbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLFNBQWhCLFFBQWlDLE9BQWpDOztJQU1xQkMsYTs7Ozs7QUFDbkIseUJBQVlDLEtBQVosRUFBd0I7QUFBQTs7QUFBQTs7QUFDdEIsOEJBQU1BLEtBQU47QUFDQSxVQUFLQyxLQUFMLEdBQWE7QUFBRUMsTUFBQUEsUUFBUSxFQUFFO0FBQVosS0FBYjtBQUZzQjtBQUd2Qjs7OztXQUNELDJCQUFrQkMsS0FBbEIsRUFBOEJDLFNBQTlCLEVBQThDO0FBQzVDO0FBQ0FDLE1BQUFBLE9BQU8sQ0FBQ0MsR0FBUixXQUFlLEtBQUtOLEtBQUwsQ0FBV08sV0FBMUIsb0JBQXNESixLQUF0RDtBQUNBLFdBQUtLLFFBQUwsQ0FBYztBQUNaTixRQUFBQSxRQUFRLEVBQUU7QUFERSxPQUFkOztBQUdBLFVBQUksS0FBS0YsS0FBTCxDQUFXUyxhQUFmLEVBQThCLENBQzdCO0FBQ0Y7OztXQUVELGtCQUFTO0FBQ1AsVUFBSSxLQUFLUixLQUFMLENBQVdDLFFBQWYsRUFBeUI7QUFDdkI7QUFDQSw0QkFBTyxtRkFBUDtBQUNEOztBQUNELGFBQU8sS0FBS0YsS0FBTCxDQUFXVSxRQUFsQjtBQUNEOzs7O0VBckJ3Q1osUzs7U0FBdEJDLGEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmludGVyZmFjZSBFcnJvclByb3BzIHtcclxuICBhdXRvTG9nU2VyaWNlPzogYm9vbGVhbjsgLy/mmK/lkKboh6rliqjkuIrkvKDmnI3liqHlmahcclxuICBzZXJ2aWNlTmFtZT86IHN0cmluZzsgLy/mnI3liqHlkI3np7BcclxuICB0ZXJtaW5hbD86IHN0cmluZzsgLy/liY3nq6/nu4jnq6/nsbvlnotcclxufVxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFcnJvckJvdW5kYXJ5IGV4dGVuZHMgQ29tcG9uZW50PEVycm9yUHJvcHMsIGFueT4ge1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBhbnkpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIHRoaXMuc3RhdGUgPSB7IGhhc0Vycm9yOiBmYWxzZSB9O1xyXG4gIH1cclxuICBjb21wb25lbnREaWRDYXRjaChlcnJvcjogYW55LCBlcnJvckluZm86IGFueSkge1xyXG4gICAgLy8g5LiK5Lyg6Iez5pyN5Yqh5ZmoXHJcbiAgICBjb25zb2xlLmxvZyhgJHt0aGlzLnByb3BzLnNlcnZpY2VOYW1lfUVycm9yQm91bmRhcnlgLCBlcnJvcik7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgaGFzRXJyb3I6IHRydWUsXHJcbiAgICB9KTtcclxuICAgIGlmICh0aGlzLnByb3BzLmF1dG9Mb2dTZXJpY2UpIHtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGlmICh0aGlzLnN0YXRlLmhhc0Vycm9yKSB7XHJcbiAgICAgIC8vIOiHquWumuS5iemZjee6p+WQjueahCBVSSDlubbmuLLmn5NcclxuICAgICAgcmV0dXJuIDxoMT7pobXpnaLlh7rplJnllabvvIHvvIHvvIE8L2gxPjtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuO1xyXG4gIH1cclxufVxyXG4iXX0=
68
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvZXJyb3Jib3VuZGFyeS9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJDb21wb25lbnQiLCJFcnJvckJvdW5kYXJ5IiwicHJvcHMiLCJzdGF0ZSIsImhhc0Vycm9yIiwiZXJyb3IiLCJlcnJvckluZm8iLCJzZXRTdGF0ZSIsImF1dG9Mb2dTZXJpY2UiLCJjaGlsZHJlbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLFNBQWhCLFFBQWlDLE9BQWpDOztJQU1xQkMsYTs7Ozs7QUFDbkIseUJBQVlDLEtBQVosRUFBd0I7QUFBQTs7QUFBQTs7QUFDdEIsOEJBQU1BLEtBQU47QUFDQSxVQUFLQyxLQUFMLEdBQWE7QUFBRUMsTUFBQUEsUUFBUSxFQUFFO0FBQVosS0FBYjtBQUZzQjtBQUd2Qjs7OztXQUNELDJCQUFrQkMsS0FBbEIsRUFBOEJDLFNBQTlCLEVBQThDO0FBQzVDO0FBQ0EsV0FBS0MsUUFBTCxDQUFjO0FBQ1pILFFBQUFBLFFBQVEsRUFBRTtBQURFLE9BQWQ7O0FBR0EsVUFBSSxLQUFLRixLQUFMLENBQVdNLGFBQWYsRUFBOEIsQ0FDN0I7QUFDRjs7O1dBRUQsa0JBQVM7QUFDUCxVQUFJLEtBQUtMLEtBQUwsQ0FBV0MsUUFBZixFQUF5QjtBQUN2QjtBQUNBLDRCQUFPLG1GQUFQO0FBQ0Q7O0FBQ0QsYUFBTyxLQUFLRixLQUFMLENBQVdPLFFBQWxCO0FBQ0Q7Ozs7RUFwQndDVCxTOztTQUF0QkMsYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW50ZXJmYWNlIEVycm9yUHJvcHMge1xyXG4gIGF1dG9Mb2dTZXJpY2U/OiBib29sZWFuOyAvL+aYr+WQpuiHquWKqOS4iuS8oOacjeWKoeWZqFxyXG4gIHNlcnZpY2VOYW1lPzogc3RyaW5nOyAvL+acjeWKoeWQjeensFxyXG4gIHRlcm1pbmFsPzogc3RyaW5nOyAvL+WJjeerr+e7iOerr+exu+Wei1xyXG59XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEVycm9yQm91bmRhcnkgZXh0ZW5kcyBDb21wb25lbnQ8RXJyb3JQcm9wcywgYW55PiB7XHJcbiAgY29uc3RydWN0b3IocHJvcHM6IGFueSkge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgdGhpcy5zdGF0ZSA9IHsgaGFzRXJyb3I6IGZhbHNlIH07XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZENhdGNoKGVycm9yOiBhbnksIGVycm9ySW5mbzogYW55KSB7XHJcbiAgICAvLyDkuIrkvKDoh7PmnI3liqHlmahcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBoYXNFcnJvcjogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMucHJvcHMuYXV0b0xvZ1NlcmljZSkge1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVuZGVyKCkge1xyXG4gICAgaWYgKHRoaXMuc3RhdGUuaGFzRXJyb3IpIHtcclxuICAgICAgLy8g6Ieq5a6a5LmJ6ZmN57qn5ZCO55qEIFVJIOW5tua4suafk1xyXG4gICAgICByZXR1cm4gPGgxPumhtemdouWHuumUmeWVpu+8ge+8ge+8gTwvaDE+O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW47XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -4,9 +4,12 @@ import { FormInstance } from "antd/lib/form";
4
4
  interface IFormProps extends FormProps {
5
5
  showModel?: "modal" | "drawer";
6
6
  modalProps?: ModalProps;
7
- drawerProps?: DrawerProps;
7
+ drawerProps?: DrawerProps & {
8
+ onOk?: any;
9
+ };
8
10
  url?: string;
9
11
  encryptFields?: Array<String>;
12
+ changeValid?: boolean;
10
13
  }
11
14
  declare class NscForm extends PureComponent<IFormProps> {
12
15
  formRef: React.RefObject<FormInstance<any>>;
@@ -14,6 +17,8 @@ declare class NscForm extends PureComponent<IFormProps> {
14
17
  formVisible: boolean;
15
18
  formModalProps: {};
16
19
  formDrawerProps: {};
20
+ isChange: boolean;
21
+ expand: boolean;
17
22
  };
18
23
  constructor(props: any);
19
24
  static getDerivedStateFromProps(nextProps: any, prevState: any): any;
@@ -32,12 +37,14 @@ declare class NscForm extends PureComponent<IFormProps> {
32
37
  submit(): void;
33
38
  onSubmit(url?: string, options?: any, callback?: (res?: any) => void, msg?: boolean): void;
34
39
  validateFields(name: any): Promise<any>;
40
+ hide(e: any): void;
35
41
  hideForm(resetValue?: boolean): void;
36
42
  showForm(value?: any, resetValue?: boolean): void;
37
43
  cloneElement(item: any, index?: number): string | React.DetailedReactHTMLElement<{
38
44
  key: number;
39
45
  children: any;
40
46
  }, HTMLElement>;
47
+ onValuesChange(val: any, allVal: any): void;
41
48
  renderPanel(newChildren: any, props: any): JSX.Element;
42
49
  render(): JSX.Element;
43
50
  }
@@ -2,10 +2,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
2
2
 
3
3
  import "antd/es/drawer/style/css";
4
4
  import _Drawer from "antd/es/drawer";
5
- import "antd/es/modal/style/css";
6
- import _Modal from "antd/es/modal";
7
5
  import "antd/es/form/style/css";
8
6
  import _Form from "antd/es/form";
7
+ import "antd/es/modal/style/css";
8
+ import _Modal from "antd/es/modal";
9
9
  import "antd/es/message/style/css";
10
10
  import _message from "antd/es/message";
11
11
  var _excluded = ["data", "encryptFields"];
@@ -53,6 +53,10 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
53
53
  import React, { PureComponent } from "react";
54
54
  import { request } from "@bj-nsc/msn/lib/utils";
55
55
  import omit from "omit.js";
56
+ import Button from "../button";
57
+ import styles from "./index.less";
58
+ import { getLess } from "../../utils";
59
+ import { PlusCircleOutlined, CloseCircleOutlined, CloseOutlined, ExpandOutlined, CompressOutlined } from "@ant-design/icons";
56
60
 
57
61
  var NscForm = /*#__PURE__*/function (_PureComponent) {
58
62
  _inherits(NscForm, _PureComponent);
@@ -71,7 +75,9 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
71
75
  _defineProperty(_assertThisInitialized(_this2), "state", {
72
76
  formVisible: false,
73
77
  formModalProps: {},
74
- formDrawerProps: {}
78
+ formDrawerProps: {},
79
+ isChange: false,
80
+ expand: false
75
81
  });
76
82
 
77
83
  return _this2;
@@ -248,6 +254,50 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
248
254
  value: function validateFields(name) {
249
255
  return this.formRef.current.validateFields(name);
250
256
  }
257
+ }, {
258
+ key: "hide",
259
+ value: function hide(e) {
260
+ var isChange = this.state.isChange;
261
+ var _this$props2 = this.props,
262
+ _this$props2$changeVa = _this$props2.changeValid,
263
+ changeValid = _this$props2$changeVa === void 0 ? true : _this$props2$changeVa,
264
+ showModel = _this$props2.showModel,
265
+ _this$props2$modalPro = _this$props2.modalProps,
266
+ modalProps = _this$props2$modalPro === void 0 ? {} : _this$props2$modalPro,
267
+ _this$props2$drawerPr = _this$props2.drawerProps,
268
+ drawerProps = _this$props2$drawerPr === void 0 ? {} : _this$props2$drawerPr;
269
+
270
+ var _this = this;
271
+
272
+ var onCancel = modalProps.onCancel;
273
+ var onClose = drawerProps.onClose;
274
+
275
+ if (changeValid && isChange) {
276
+ _Modal.confirm({
277
+ title: "当前记录已修改尚未保存,确定要放弃修改吗?",
278
+ cancelText: "取消",
279
+ okText: "确定",
280
+ centered: true,
281
+ onOk: function onOk() {
282
+ if (showModel == "drawer" && onClose) {
283
+ onClose(e);
284
+ } else if (showModel == "modal" && onCancel) {
285
+ onCancel(e);
286
+ } else {
287
+ _this.hideForm();
288
+ }
289
+ }
290
+ });
291
+ } else {
292
+ if (showModel == "drawer" && onClose) {
293
+ onClose(e);
294
+ } else if (showModel == "modal" && onCancel) {
295
+ onCancel(e);
296
+ } else {
297
+ _this.hideForm();
298
+ }
299
+ }
300
+ }
251
301
  }, {
252
302
  key: "hideForm",
253
303
  value: function hideForm() {
@@ -255,7 +305,8 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
255
305
 
256
306
  var resetValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
257
307
  this.setState({
258
- formVisible: false
308
+ formVisible: false,
309
+ isChange: false
259
310
  }, function () {
260
311
  if (resetValue) {
261
312
  var _this3$formRef$curren;
@@ -271,7 +322,8 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
271
322
 
272
323
  var resetValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
273
324
  this.setState({
274
- formVisible: true
325
+ formVisible: true,
326
+ isChange: false
275
327
  }, function () {
276
328
  if (value) {
277
329
  var _this4$formRef$curren;
@@ -311,13 +363,28 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
311
363
  return null;
312
364
  }
313
365
  }
366
+ }, {
367
+ key: "onValuesChange",
368
+ value: function onValuesChange(val, allVal) {
369
+ var onValuesChange = this.props.onValuesChange;
370
+ this.setState({
371
+ isChange: true
372
+ });
373
+ onValuesChange && onValuesChange(val, allVal);
374
+ }
314
375
  }, {
315
376
  key: "renderPanel",
316
377
  value: function renderPanel(newChildren, props) {
317
- var _this$props2 = this.props,
318
- showModel = _this$props2.showModel,
319
- drawerProps = _this$props2.drawerProps,
320
- modalProps = _this$props2.modalProps;
378
+ var _this5 = this;
379
+
380
+ var _this$props3 = this.props,
381
+ showModel = _this$props3.showModel,
382
+ _this$props3$drawerPr = _this$props3.drawerProps,
383
+ drawerProps = _this$props3$drawerPr === void 0 ? {} : _this$props3$drawerPr,
384
+ _this$props3$modalPro = _this$props3.modalProps,
385
+ modalProps = _this$props3$modalPro === void 0 ? {} : _this$props3$modalPro,
386
+ _this$props3$changeVa = _this$props3.changeValid,
387
+ changeValid = _this$props3$changeVa === void 0 ? true : _this$props3$changeVa;
321
388
  var formVisible = this.state.formVisible;
322
389
  var layout = {
323
390
  labelCol: {
@@ -327,41 +394,113 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
327
394
  span: 20
328
395
  }
329
396
  };
397
+ var orgtitle = showModel == "modal" ? modalProps.title : drawerProps.title;
398
+ var closable = showModel == "modal" ? modalProps.closable : drawerProps.closable;
399
+ var title = /*#__PURE__*/React.createElement("div", {
400
+ className: getLess(styles, "title")
401
+ }, /*#__PURE__*/React.createElement("div", {
402
+ className: getLess(styles, "icons")
403
+ }, !this.state.expand && /*#__PURE__*/React.createElement("div", {
404
+ onClick: function onClick() {
405
+ _this5.setState({
406
+ expand: true
407
+ });
408
+ },
409
+ className: getLess(styles, "icon")
410
+ }, /*#__PURE__*/React.createElement(ExpandOutlined, null)), this.state.expand && /*#__PURE__*/React.createElement("div", {
411
+ onClick: function onClick() {
412
+ _this5.setState({
413
+ expand: false
414
+ });
415
+ },
416
+ className: getLess(styles, "icon")
417
+ }, /*#__PURE__*/React.createElement(CompressOutlined, null)), closable !== false && /*#__PURE__*/React.createElement("div", {
418
+ onClick: this.hide.bind(this),
419
+ className: getLess(styles, "icon"),
420
+ style: {
421
+ marginRight: 0
422
+ }
423
+ }, /*#__PURE__*/React.createElement(CloseOutlined, null))), /*#__PURE__*/React.createElement("div", {
424
+ className: getLess(styles, "title-content")
425
+ }, orgtitle));
426
+ var footer = /*#__PURE__*/React.createElement("div", {
427
+ className: getLess(styles, "footer")
428
+ }, /*#__PURE__*/React.createElement(Button, {
429
+ type: "primary",
430
+ onClick: function onClick() {
431
+ var _this5$formRef$curren;
432
+
433
+ var formValue = (_this5$formRef$curren = _this5.formRef.current) === null || _this5$formRef$curren === void 0 ? void 0 : _this5$formRef$curren.getFieldsValue();
434
+
435
+ if (showModel == "modal") {
436
+ modalProps.onOk && modalProps.onOk(formValue);
437
+ } else {
438
+ drawerProps.onOk && drawerProps.onOk(formValue);
439
+ }
440
+ },
441
+ icon: /*#__PURE__*/React.createElement(PlusCircleOutlined, null)
442
+ }, "\u4FDD\u5B58"), /*#__PURE__*/React.createElement(Button, {
443
+ onClick: this.hide.bind(this),
444
+ className: getLess(styles, "button-margin"),
445
+ icon: /*#__PURE__*/React.createElement(CloseCircleOutlined, null)
446
+ }, "\u53D6\u6D88"));
330
447
 
331
448
  if (showModel && showModel == "modal") {
332
449
  var newModalProps = omit(modalProps, ["visible"]);
333
450
  newModalProps = _objectSpread({
334
- centered: true
451
+ centered: true,
452
+ footer: footer
335
453
  }, newModalProps);
336
454
  return /*#__PURE__*/React.createElement(_Modal, _extends({
337
- onCancel: this.hideForm.bind(this),
338
- visible: formVisible
339
- }, newModalProps), /*#__PURE__*/React.createElement(_Form, _extends({
455
+ visible: formVisible,
456
+ footer: footer
457
+ }, newModalProps, {
458
+ onCancel: this.hide.bind(this),
459
+ maskClosable: !this.state.isChange,
460
+ title: title,
461
+ closable: false,
462
+ className: this.state.expand ? getLess(styles, "allsreen") : "",
463
+ width: this.state.expand ? "100vw" : newModalProps.width,
464
+ style: {
465
+ maxWidth: "100%"
466
+ }
467
+ }), /*#__PURE__*/React.createElement(_Form, _extends({
340
468
  ref: this.formRef
341
469
  }, layout, props, {
470
+ onValuesChange: this.onValuesChange.bind(this),
342
471
  preserve: false
343
472
  })));
344
473
  } else if (showModel && showModel == "drawer") {
345
- var newDrawerProps = omit(drawerProps, ["visible"]);
474
+ var newDrawerProps = omit(drawerProps, ["visible", "onOk"]);
346
475
  return /*#__PURE__*/React.createElement(_Drawer, _extends({
347
- onClose: this.hideForm.bind(this),
348
- visible: formVisible
349
- }, newDrawerProps), /*#__PURE__*/React.createElement(_Form, _extends({
476
+ visible: formVisible,
477
+ footer: footer
478
+ }, newDrawerProps, {
479
+ onClose: this.hide.bind(this),
480
+ maskClosable: !this.state.isChange,
481
+ title: title,
482
+ closable: false,
483
+ width: this.state.expand ? "100vw" : newDrawerProps.width
484
+ }), /*#__PURE__*/React.createElement(_Form, _extends({
350
485
  ref: this.formRef
351
- }, layout, props)));
486
+ }, layout, props, {
487
+ onValuesChange: this.onValuesChange.bind(this)
488
+ })));
352
489
  } else {
353
490
  return /*#__PURE__*/React.createElement(_Form, _extends({
354
491
  ref: this.formRef
355
- }, layout, props));
492
+ }, layout, props, {
493
+ onValuesChange: this.onValuesChange.bind(this)
494
+ }));
356
495
  }
357
496
  }
358
497
  }, {
359
498
  key: "render",
360
499
  value: function render() {
361
500
  var _this = this,
362
- _this$props3 = this.props,
363
- children = _this$props3.children,
364
- showModel = _this$props3.showModel; // const newChildren = React.Children.map(children, function (child, index) {
501
+ _this$props4 = this.props,
502
+ children = _this$props4.children,
503
+ showModel = _this$props4.showModel; // const newChildren = React.Children.map(children, function (child, index) {
365
504
  // return _this.cloneElement(child, index);
366
505
  // });
367
506
 
@@ -379,7 +518,8 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
379
518
  formDrawerProps = prevState.formDrawerProps;
380
519
 
381
520
  if (showModel == "modal") {
382
- if (JSON.stringify(formModalProps) !== JSON.stringify(modalProps)) {
521
+ // JSON.stringify(formModalProps) !== JSON.stringify(modalProps)
522
+ if (!Object.is(formModalProps, modalProps)) {
383
523
  var newState = {
384
524
  formDrawerProps: modalProps
385
525
  };
@@ -391,7 +531,8 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
391
531
  return newState;
392
532
  }
393
533
  } else if (showModel == "drawer") {
394
- if (JSON.stringify(formDrawerProps) !== JSON.stringify(drawerProps)) {
534
+ // JSON.stringify(formDrawerProps) !== JSON.stringify(drawerProps)
535
+ if (!Object.is(formDrawerProps, drawerProps)) {
395
536
  var _newState = {
396
537
  formDrawerProps: drawerProps
397
538
  };
@@ -412,4 +553,4 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
412
553
  }(PureComponent);
413
554
 
414
555
  export default NscForm;
415
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvZm9ybS9Gb3JtLnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJyZXF1ZXN0Iiwib21pdCIsIk5zY0Zvcm0iLCJwcm9wcyIsImNyZWF0ZVJlZiIsImZvcm1WaXNpYmxlIiwiZm9ybU1vZGFsUHJvcHMiLCJmb3JtRHJhd2VyUHJvcHMiLCJuYW1lIiwiZm9ybVJlZiIsImN1cnJlbnQiLCJnZXRGaWVsZEVycm9yIiwiZ2V0RmllbGRJbnN0YW5jZSIsImdldEZpZWxkc0Vycm9yIiwiZ2V0RmllbGRzVmFsdWUiLCJnZXRGaWVsZFZhbHVlIiwiaXNGaWVsZHNUb3VjaGVkIiwiaXNGaWVsZFRvdWNoZWQiLCJpc0ZpZWxkVmFsaWRhdGluZyIsInJlc2V0RmllbGRzIiwib3B0aW9ucyIsInNjcm9sbFRvRmllbGQiLCJmaWxkcyIsInNldEZpZWxkcyIsInZhbHVlcyIsInNldEZpZWxkc1ZhbHVlIiwic3VibWl0IiwidXJsIiwiY2FsbGJhY2siLCJtc2ciLCJwcm9wc1VybCIsImVuY3J5cHRGaWVsZHMiLCJlbmNyeXB0UHJvcHBzIiwiRXJyb3IiLCJtZXRob2QiLCJyZXF1ZXN0VXJsIiwicmVxdWVzdERhdGEiLCJyZXF1ZXN0RW5jcnlwdCIsInJlcXVlc3RQYXJhbSIsImRhdGEiLCJwYXJhbXMiLCJ0b0xvd2VyQ2FzZSIsInRoZW4iLCJyZXMiLCJjb2RlIiwic3VjY2VzcyIsImVycm9yIiwiY2F0Y2giLCJjb25zb2xlIiwibG9nIiwidmFsaWRhdGVGaWVsZHMiLCJyZXNldFZhbHVlIiwic2V0U3RhdGUiLCJ2YWx1ZSIsIml0ZW0iLCJpbmRleCIsIl90aGlzIiwia2V5IiwiY2hpbGRyZW4iLCJBcnJheSIsImlzQXJyYXkiLCJDaGlsZHJlbiIsIm1hcCIsImNoaWxkIiwiY2xvbmVFbGVtZW50IiwiZSIsIm5ld0NoaWxkcmVuIiwic2hvd01vZGVsIiwiZHJhd2VyUHJvcHMiLCJtb2RhbFByb3BzIiwic3RhdGUiLCJsYXlvdXQiLCJsYWJlbENvbCIsInNwYW4iLCJ3cmFwcGVyQ29sIiwibmV3TW9kYWxQcm9wcyIsImNlbnRlcmVkIiwiaGlkZUZvcm0iLCJiaW5kIiwibmV3RHJhd2VyUHJvcHMiLCJyZW5kZXJQYW5lbCIsIm5leHRQcm9wcyIsInByZXZTdGF0ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJuZXdTdGF0ZSIsInZpc2libGUiLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBV0EsU0FBU0MsT0FBVCxRQUF3Qix1QkFBeEI7QUFDQSxPQUFPQyxJQUFQLE1BQWlCLFNBQWpCOztJQVVNQyxPOzs7OztBQVFKLG1CQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUE7O0FBQ2pCLCtCQUFNQSxLQUFOOztBQURpQiw0RUFQVEwsS0FBSyxDQUFDTSxTQUFOLEVBT1M7O0FBQUEsNkRBTlg7QUFDTkMsTUFBQUEsV0FBVyxFQUFFLEtBRFA7QUFFTkMsTUFBQUEsY0FBYyxFQUFFLEVBRlY7QUFHTkMsTUFBQUEsZUFBZSxFQUFFO0FBSFgsS0FNVzs7QUFBQTtBQUVsQjs7OztXQWdDRDtBQUNBLDJCQUFjQyxJQUFkLEVBQW9CO0FBQUE7O0FBQ2xCLHNDQUFPLEtBQUtDLE9BQUwsQ0FBYUMsT0FBcEIsMERBQU8sc0JBQXNCQyxhQUF0QixDQUFvQ0gsSUFBcEMsQ0FBUDtBQUNELEssQ0FFRDs7OztXQUNBLDBCQUFpQkEsSUFBakIsRUFBdUI7QUFBQTs7QUFDckIsdUNBQU8sS0FBS0MsT0FBTCxDQUFhQyxPQUFwQiwyREFBTyx1QkFBc0JFLGdCQUF0QixDQUF1Q0osSUFBdkMsQ0FBUDtBQUNELEssQ0FFRDs7OztXQUNBLDBCQUFpQjtBQUFBOztBQUNmLHVDQUFPLEtBQUtDLE9BQUwsQ0FBYUMsT0FB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QUFlaEIsV0FBZixDQUF4QyxFQUFxRTtBQUNuRSxjQUFJaUIsU0FBUSxHQUFHO0FBQ2I5RSxZQUFBQSxlQUFlLEVBQUU2RDtBQURKLFdBQWY7O0FBR0EsY0FDRSxDQUFBQSxXQUFXLFNBQVgsSUFBQUEsV0FBVyxXQUFYLFlBQUFBLFdBQVcsQ0FBRWtCLE9BQWIsTUFBeUIsSUFBekIsSUFDQSxDQUFBbEIsV0FBVyxTQUFYLElBQUFBLFdBQVcsV0FBWCxZQUFBQSxXQUFXLENBQUVrQixPQUFiLE1BQXlCQyxTQUYzQixFQUdFO0FBQ0FGLFlBQUFBLFNBQVEsQ0FBQ2hGLFdBQVQsR0FBdUIrRCxXQUF2QixhQUF1QkEsV0FBdkIsdUJBQXVCQSxXQUFXLENBQUVrQixPQUFwQztBQUNEOztBQUNELGlCQUFPRCxTQUFQO0FBQ0Q7QUFDRjs7QUFDRCxhQUFPLElBQVA7QUFDRDs7OztFQXhDbUJ0RixhOztBQXFRdEIsZUFBZUcsT0FBZiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb2466KGo5Y2V57uE5Lu2XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wNC0wOSAwOToxODozNFxyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjMgMTU6MjM6NTRcclxuICovXHJcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7XHJcbiAgRm9ybSxcclxuICBGb3JtUHJvcHMsXHJcbiAgTW9kYWwsXHJcbiAgRHJhd2VyLFxyXG4gIE1vZGFsUHJvcHMsXHJcbiAgRHJhd2VyUHJvcHMsXHJcbiAgbWVzc2FnZSxcclxufSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgeyBGb3JtSW5zdGFuY2UgfSBmcm9tIFwiYW50ZC9saWIvZm9ybVwiO1xyXG5pbXBvcnQgeyByZXF1ZXN0IH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5cclxuaW50ZXJmYWNlIElGb3JtUHJvcHMgZXh0ZW5kcyBGb3JtUHJvcHMge1xyXG4gIHNob3dNb2RlbD86IFwibW9kYWxcIiB8IFwiZHJhd2VyXCI7XHJcbiAgbW9kYWxQcm9wcz86IE1vZGFsUHJvcHM7XHJcbiAgZHJhd2VyUHJvcHM/OiBEcmF3ZXJQcm9wcztcclxuICB1cmw/OiBzdHJpbmc7XHJcbiAgZW5jcnlwdEZpZWxkcz86IEFycmF5PFN0cmluZz47XHJcbn1cclxuXHJcbmNsYXNzIE5zY0Zvcm0gZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElGb3JtUHJvcHM+IHtcclxuICBmb3JtUmVmID0gUmVhY3QuY3JlYXRlUmVmPEZvcm1JbnN0YW5jZT4oKTtcclxuICBzdGF0ZSA9IHtcclxuICAgIGZvcm1WaXNpYmxlOiBmYWxzZSxcclxuICAgIGZvcm1Nb2RhbFByb3BzOiB7fSxcclxuICAgIGZvcm1EcmF3ZXJQcm9wczoge30sXHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMobmV4dFByb3BzLCBwcmV2U3RhdGUpIHtcclxuICAgIGNvbnN0IHsgbW9kYWxQcm9wcywgZHJhd2VyUHJvcHMsIHNob3dNb2RlbCB9ID0gbmV4dFByb3BzO1xyXG4gICAgY29uc3QgeyBmb3JtTW9kYWxQcm9wcywgZm9ybURyYXdlclByb3BzIH0gPSBwcmV2U3RhdGU7XHJcbiAgICBpZiAoc2hvd01vZGVsID09IFwibW9kYWxcIikge1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZm9ybU1vZGFsUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShtb2RhbFByb3BzKSkge1xyXG4gICAgICAgIGxldCBuZXdTdGF0ZSA9IHtcclxuICAgICAgICAgIGZvcm1EcmF3ZXJQcm9wczogbW9kYWxQcm9wcyxcclxuICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICBpZiAobW9kYWxQcm9wcz8udmlzaWJsZSAhPT0gbnVsbCAmJiBtb2RhbFByb3BzPy52aXNpYmxlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIG5ld1N0YXRlLmZvcm1WaXNpYmxlID0gbW9kYWxQcm9wcz8udmlzaWJsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld1N0YXRlO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHNob3dNb2RlbCA9PSBcImRyYXdlclwiKSB7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShmb3JtRHJhd2VyUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShkcmF3ZXJQcm9wcykpIHtcclxuICAgICAgICBsZXQgbmV3U3RhdGUgPSB7XHJcbiAgICAgICAgICBmb3JtRHJhd2VyUHJvcHM6IGRyYXdlclByb3BzLFxyXG4gICAgICAgIH0gYXMgYW55O1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGRyYXdlclByb3BzPy52aXNpYmxlICE9PSBudWxsICYmXHJcbiAgICAgICAgICBkcmF3ZXJQcm9wcz8udmlzaWJsZSAhPT0gdW5kZWZpbmVkXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBuZXdTdGF0ZS5mb3JtVmlzaWJsZSA9IGRyYXdlclByb3BzPy52aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3U3RhdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLy/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/OiBib29sZWFuXHJcbiAgKSB7XHJcbiAgICBjb25zdCB7IHVybDogcHJvcHNVcmwsIGVuY3J5cHRGaWVsZHM6IGVuY3J5cHRQcm9wcHMgPSBbXSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghdXJsICYmICFwcm9wc1VybCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCLmsqHmnInkuIrkvKDnmoR1cmwhXCIpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgeyBtZXRob2QgPSBcInBvc3RcIiB9ID0gb3B0aW9ucztcclxuICAgIGxldCByZXF1ZXN0VXJsID0gdXJsID8gdXJsIDogcHJvcHNVcmw7XHJcbiAgICBsZXQgcmVxdWVzdERhdGEgPSB0aGlzLmZvcm1SZWYuY3VycmVudC5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgbGV0IHJlcXVlc3RFbmNyeXB0ID0gZW5jcnlwdFByb3BwcztcclxuICAgIGxldCByZXF1ZXN0UGFyYW0gPSB7IG1ldGhvZDogbWV0aG9kLCBkYXRhOiByZXF1ZXN0RGF0YSB9IGFzIHsgZGF0YTogYW55IH07XHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBjb25zdCB7IGRhdGEsIGVuY3J5cHRGaWVsZHMsIC4uLnBhcmFtcyB9ID0gb3B0aW9ucztcclxuICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcyB9O1xyXG4gICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgIGRlbGV0ZSByZXF1ZXN0UGFyYW0uZGF0YTtcclxuICAgICAgICBpZiAobWV0aG9kLnRvTG93ZXJDYXNlKCkgPT0gXCJnZXRcIikge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcywgcGFyYW1zOiBkYXRhIH07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlcXVlc3RQYXJhbSA9IHsgLi4ucmVxdWVzdFBhcmFtLCAuLi5wYXJhbXMsIGRhdGE6IGRhdGEgfTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGVuY3J5cHRGaWVsZHMpIHtcclxuICAgICAgICByZXF1ZXN0RW5jcnlwdCA9IGVuY3J5cHRGaWVsZHM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXF1ZXN0KHJlcXVlc3RVcmwsIHtcclxuICAgICAgLi4ucmVxdWVzdFBhcmFtLFxyXG4gICAgICBlbmNyeXB0RmllbGRzOiByZXF1ZXN0RW5jcnlwdCxcclxuICAgIH0pXHJcbiAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXM6IGFueSkge1xyXG4gICAgICAgIGNvbnN0IHsgY29kZSB9ID0gcmVzO1xyXG4gICAgICAgIGlmIChtc2cpIHtcclxuICAgICAgICAgIGlmIChjb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKFwi5o+Q5Lqk5oiQ5YqfXCIpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbWVzc2FnZS5lcnJvcihcIuaPkOS6pOWksei0pVwiKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgY2FsbGJhY2sgJiYgY2FsbGJhY2socmVzKTtcclxuICAgICAgfSlcclxuICAgICAgLmNhdGNoKGZ1bmN0aW9uIChlcnJvcjogYW55KSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJlcnJvclwiLCBlcnJvcik7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVGaWVsZHMobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LnZhbGlkYXRlRmllbGRzKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgaGlkZUZvcm0ocmVzZXRWYWx1ZSA9IHRydWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgIHtcclxuICAgICAgICBmb3JtVmlzaWJsZTogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICBpZiAocmVzZXRWYWx1ZSkge1xyXG4gICAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc2hvd0Zvcm0odmFsdWU/OiBhbnksIHJlc2V0VmFsdWUgPSB0cnVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZm9ybVZpc2libGU6IHRydWUsXHJcbiAgICAgIH0sXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zZXRGaWVsZHNWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmIChyZXNldFZhbHVlKSB0aGlzLmZvcm1SZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjbG9uZUVsZW1lbnQoaXRlbSwgaW5kZXggPSAwKSB7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgaWYgKHR5cGVvZiBpdGVtID09IFwic3RyaW5nXCIpIHJldHVybiBpdGVtO1xyXG4gICAgbGV0IHByb3BzID0ge30gYXMgeyBrZXk6IG51bWJlcjsgY2hpbGRyZW46IGFueSB9O1xyXG4gICAgcHJvcHMua2V5ID0gaW5kZXg7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAoaXRlbS5wcm9wcyAmJiBpdGVtLnByb3BzLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbS5wcm9wcy5jaGlsZHJlbikpIHtcclxuICAgICAgICAgIHByb3BzLmNoaWxkcmVuID0gUmVhY3QuQ2hpbGRyZW4ubWFwKFxyXG4gICAgICAgICAgICBpdGVtLnByb3BzLmNoaWxkcmVuLFxyXG4gICAgICAgICAgICBmdW5jdGlvbiAoY2hpbGQsIGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIF90aGlzLmNsb25lRWxlbWVudChjaGlsZCwgaW5kZXgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBwcm9wcy5jaGlsZHJlbiA9IHRoaXMuY2xvbmVFbGVtZW50KGl0ZW0ucHJvcHMuY2hpbGRyZW4sIDApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGl0ZW0sIHByb3BzKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlclBhbmVsKG5ld0NoaWxkcmVuLCBwcm9wcykge1xyXG4gICAgY29uc3QgeyBzaG93TW9kZWwsIGRyYXdlclByb3BzLCBtb2RhbFByb3BzIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBmb3JtVmlzaWJsZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IGxheW91dCA9IHtcclxuICAgICAgbGFiZWxDb2w6IHsgc3BhbjogNCB9LFxyXG4gICAgICB3cmFwcGVyQ29sOiB7IHNwYW46IDIwIH0sXHJcbiAgICB9O1xyXG4gICAgaWYgKHNob3dNb2RlbCAmJiBzaG93TW9kZWwgPT0gXCJtb2RhbFwiKSB7XHJcbiAgICAgIGxldCBuZXdNb2RhbFByb3BzID0gb21pdChtb2RhbFByb3BzLCBbXCJ2aXNpYmxlXCJdKTtcclxuICAgICAgbmV3TW9kYWxQcm9wcyA9IHsgY2VudGVyZWQ6IHRydWUsIC4uLm5ld01vZGFsUHJvcHMgfTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8TW9kYWxcclxuICAgICAgICAgIG9uQ2FuY2VsPXt0aGlzLmhpZGVGb3JtLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICB2aXNpYmxlPXtmb3JtVmlzaWJsZX1cclxuICAgICAgICAgIHsuLi5uZXdNb2RhbFByb3BzfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxGb3JtIHJlZj17dGhpcy5mb3JtUmVmfSB7Li4ubGF5b3V0fSB7Li4ucHJvcHN9IHByZXNlcnZlPXtmYWxzZX0gLz5cclxuICAgICAgICA8L01vZGFsPlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIGlmIChzaG93TW9kZWwgJiYgc2hvd01vZGVsID09IFwiZHJhd2VyXCIpIHtcclxuICAgICAgbGV0IG5ld0RyYXdlclByb3BzID0gb21pdChkcmF3ZXJQcm9wcywgW1widmlzaWJsZVwiXSk7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPERyYXdlclxyXG4gICAgICAgICAgb25DbG9zZT17dGhpcy5oaWRlRm9ybS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgdmlzaWJsZT17Zm9ybVZpc2libGV9XHJcbiAgICAgICAgICB7Li4ubmV3RHJhd2VyUHJvcHN9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPEZvcm0gcmVmPXt0aGlzLmZvcm1SZWZ9IHsuLi5sYXlvdXR9IHsuLi5wcm9wc30gLz5cclxuICAgICAgICA8L0RyYXdlcj5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiA8Rm9ybSByZWY9e3RoaXMuZm9ybVJlZn0gey4uLmxheW91dH0gey4uLnByb3BzfSAvPjtcclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgX3RoaXMgPSB0aGlzLFxyXG4gICAgICB7IGNoaWxkcmVuLCBzaG93TW9kZWwgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAvLyBjb25zdCBuZXdDaGlsZHJlbiA9IFJlYWN0LkNoaWxkcmVuLm1hcChjaGlsZHJlbiwgZnVuY3Rpb24gKGNoaWxkLCBpbmRleCkge1xyXG4gICAgLy8gICByZXR1cm4gX3RoaXMuY2xvbmVFbGVtZW50KGNoaWxkLCBpbmRleCk7XHJcbiAgICAvLyB9KTtcclxuICAgIGNvbnN0IHByb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXHJcbiAgICAgIFwiZm9ybVwiLFxyXG4gICAgICBcInNob3dNb2RlbFwiLFxyXG4gICAgICBcIm1vZGFsUHJvcHNcIixcclxuICAgICAgXCJkcmF3ZXJQcm9wc1wiLFxyXG4gICAgICBcInVybFwiLFxyXG4gICAgICBcImVuY3J5cHRGaWVsZHNcIixcclxuICAgIF0pO1xyXG5cclxuICAgIHJldHVybiA8Pnt0aGlzLnJlbmRlclBhbmVsKHByb3BzLmNoaWxkcmVuLCBwcm9wcyl9PC8+O1xyXG4gIH1cclxufVxyXG5leHBvcnQgZGVmYXVsdCBOc2NGb3JtO1xyXG4iXX0=
556
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvZm9ybS9Gb3JtLnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJyZXF1ZXN0Iiwib21pdCIsIkJ1dHRvbiIsInN0eWxlcyIsImdldExlc3MiLCJQbHVzQ2lyY2xlT3V0bGluZWQiLCJDbG9zZUNpcmNsZU91dGxpbmVkIiwiQ2xvc2VPdXRsaW5lZCIsIkV4cGFuZE91dGxpbmVkIiwiQ29tcHJlc3NPdXRsaW5lZCIsIk5zY0Zvcm0iLCJwcm9wcyIsImNyZWF0ZVJlZiIsImZvcm1WaXNpYmxlIiwiZm9ybU1vZGFsUHJvcHMiLCJmb3JtRHJhd2VyUHJvcHMiLCJpc0NoYW5nZSIsImV4cGFuZCIsIm5hbWUiLCJmb3JtUmVmIiwiY3VycmVudCIsImdldEZpZWxkRXJyb3IiLCJnZXRGaWVsZEluc3RhbmNlIiwiZ2V0RmllbGRzRXJyb3IiLCJnZXRGaWVsZHNWYWx1ZSIsImdldEZpZWxkVmFsdWUiLCJpc0ZpZWxkc1RvdWNoZWQiLCJpc0ZpZWxkVG91Y2hlZCIsImlzRmllbGRWYWxpZGF0aW5nIiwicmVzZXRGaWVsZHMiLCJvcHRpb25zIiwic2Nyb2xsVG9GaWVsZCIsImZpbGRzIiwic2V0RmllbGRzIiwidmFsdWVzIiwic2V0RmllbGRzVmFsdWUiLCJzdWJtaXQiLCJ1cmwiLCJjYWxsYmFjayIsIm1zZyIsInByb3BzVXJsIiwiZW5jcnlwdEZpZWxkcyIsImVuY3J5cHRQcm9wcHMiLCJFcnJvciIsIm1ldGhvZCIsInJlcXVlc3RVcmwiLCJyZXF1ZXN0RGF0YSIsInJlcXVlc3RFbmNyeXB0IiwicmVxdWVzdFBhcmFtIiwiZGF0YSIsInBhcmFtcyIsInRvTG93ZXJDYXNlIiwidGhlbiIsInJlcyIsImNvZGUiLCJzdWNjZXNzIiwiZXJyb3IiLCJjYXRjaCIsImNvbnNvbGUiLCJsb2ciLCJ2YWxpZGF0ZUZpZWxkcyIsImUiLCJzdGF0ZSIsImNoYW5nZVZhbGlkIiwic2hvd01vZGVsIiwibW9kYWxQcm9wcyIsImRyYXdlclByb3BzIiwiX3RoaXMiLCJvbkNhbmNlbCIsIm9uQ2xvc2UiLCJjb25maXJtIiwidGl0bGUiLCJjYW5jZWxUZXh0Iiwib2tUZXh0IiwiY2VudGVyZWQiLCJvbk9rIiwiaGlkZUZvcm0iLCJyZXNldFZhbHVlIiwic2V0U3RhdGUiLCJ2YWx1ZSIsIml0ZW0iLCJpbmRleCIsImtleSIsImNoaWxkcmVuIiwiQXJyYXkiLCJpc0FycmF5IiwiQ2hpbGRyZW4iLCJtYXAiLCJjaGlsZCIsImNsb25lRWxlbWVudCIsInZhbCIsImFsbFZhbCIsIm9uVmFsdWVzQ2hhbmdlIiwibmV3Q2hpbGRyZW4iLCJsYXlvdXQiLCJsYWJlbENvbCIsInNwYW4iLCJ3cmFwcGVyQ29sIiwib3JndGl0bGUiLCJjbG9zYWJsZSIsImhpZGUiLCJiaW5kIiwibWFyZ2luUmlnaHQiLCJmb290ZXIiLCJmb3JtVmFsdWUiLCJuZXdNb2RhbFByb3BzIiwid2lkdGgiLCJtYXhXaWR0aCIsIm5ld0RyYXdlclByb3BzIiwicmVuZGVyUGFuZWwiLCJuZXh0UHJvcHMiLCJwcmV2U3RhdGUiLCJPYmplY3QiLCJpcyIsIm5ld1N0YXRlIiwidmlzaWJsZSIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBT0EsS0FBUCxJQUFnQkMsYUFBaEIsUUFBcUMsT0FBckM7QUFXQSxTQUFTQyxPQUFULFFBQXdCLHVCQUF4QjtBQUNBLE9BQU9DLElBQVAsTUFBaUIsU0FBakI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLFdBQW5CO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixjQUFuQjtBQUNBLFNBQVNDLE9BQVQsUUFBd0IsYUFBeEI7QUFDQSxTQUNFQyxrQkFERixFQUVFQyxtQkFGRixFQUdFQyxhQUhGLEVBSUVDLGNBSkYsRUFLRUMsZ0JBTEYsUUFNTyxtQkFOUDs7SUFpQk1DLE87Ozs7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QUFXLFNBQVgsSUFBQUEsV0FBVyxXQUFYLFlBQUFBLFdBQVcsQ0FBRWlELE9BQWIsTUFBeUIsSUFBekIsSUFDQSxDQUFBakQsV0FBVyxTQUFYLElBQUFBLFdBQVcsV0FBWCxZQUFBQSxXQUFXLENBQUVpRCxPQUFiLE1BQXlCQyxTQUYzQixFQUdFO0FBQ0FGLFlBQUFBLFNBQVEsQ0FBQ3JHLFdBQVQsR0FBdUJxRCxXQUF2QixhQUF1QkEsV0FBdkIsdUJBQXVCQSxXQUFXLENBQUVpRCxPQUFwQztBQUNEOztBQUNELGlCQUFPRCxTQUFQO0FBQ0Q7QUFDRjs7QUFDRCxhQUFPLElBQVA7QUFDRDs7OztFQTVDbUJuSCxhOztBQTRadEIsZUFBZVcsT0FBZiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb2466KGo5Y2V57uE5Lu2XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wNC0wOSAwOToxODozNFxyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjMgMTU6MjM6NTRcclxuICovXHJcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7XHJcbiAgRm9ybSxcclxuICBGb3JtUHJvcHMsXHJcbiAgTW9kYWwsXHJcbiAgRHJhd2VyLFxyXG4gIE1vZGFsUHJvcHMsXHJcbiAgRHJhd2VyUHJvcHMsXHJcbiAgbWVzc2FnZSxcclxufSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgeyBGb3JtSW5zdGFuY2UgfSBmcm9tIFwiYW50ZC9saWIvZm9ybVwiO1xyXG5pbXBvcnQgeyByZXF1ZXN0IH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi9idXR0b25cIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCB7IGdldExlc3MgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IHtcclxuICBQbHVzQ2lyY2xlT3V0bGluZWQsXHJcbiAgQ2xvc2VDaXJjbGVPdXRsaW5lZCxcclxuICBDbG9zZU91dGxpbmVkLFxyXG4gIEV4cGFuZE91dGxpbmVkLFxyXG4gIENvbXByZXNzT3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCBQb3Bjb25maXJtIGZyb20gXCIuLi9wb3Bjb25maXJtXCI7XHJcbmludGVyZmFjZSBJRm9ybVByb3BzIGV4dGVuZHMgRm9ybVByb3BzIHtcclxuICBzaG93TW9kZWw/OiBcIm1vZGFsXCIgfCBcImRyYXdlclwiO1xyXG4gIG1vZGFsUHJvcHM/OiBNb2RhbFByb3BzO1xyXG4gIGRyYXdlclByb3BzPzogRHJhd2VyUHJvcHMgJiB7IG9uT2s/OiBhbnkgfTtcclxuICB1cmw/OiBzdHJpbmc7XHJcbiAgZW5jcnlwdEZpZWxkcz86IEFycmF5PFN0cmluZz47XHJcbiAgY2hhbmdlVmFsaWQ/OiBib29sZWFuOyAvL+aVsOaNruS/ruaUueWFs+mXreagoemqjFxyXG59XHJcblxyXG5jbGFzcyBOc2NGb3JtIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJRm9ybVByb3BzPiB7XHJcbiAgZm9ybVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxGb3JtSW5zdGFuY2U+KCk7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBmb3JtVmlzaWJsZTogZmFsc2UsXHJcbiAgICBmb3JtTW9kYWxQcm9wczoge30sXHJcbiAgICBmb3JtRHJhd2VyUHJvcHM6IHt9LFxyXG4gICAgaXNDaGFuZ2U6IGZhbHNlLFxyXG4gICAgZXhwYW5kOiBmYWxzZSxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZSkge1xyXG4gICAgY29uc3QgeyBtb2RhbFByb3BzLCBkcmF3ZXJQcm9wcywgc2hvd01vZGVsIH0gPSBuZXh0UHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1Nb2RhbFByb3BzLCBmb3JtRHJhd2VyUHJvcHMgfSA9IHByZXZTdGF0ZTtcclxuICAgIGlmIChzaG93TW9kZWwgPT0gXCJtb2RhbFwiKSB7XHJcbiAgICAgIC8vIEpTT04uc3RyaW5naWZ5KGZvcm1Nb2RhbFByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkobW9kYWxQcm9wcylcclxuICAgICAgaWYgKCFPYmplY3QuaXMoZm9ybU1vZGFsUHJvcHMsIG1vZGFsUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBtb2RhbFByb3BzLFxyXG4gICAgICAgIH0gYXMgYW55O1xyXG4gICAgICAgIGlmIChtb2RhbFByb3BzPy52aXNpYmxlICE9PSBudWxsICYmIG1vZGFsUHJvcHM/LnZpc2libGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgbmV3U3RhdGUuZm9ybVZpc2libGUgPSBtb2RhbFByb3BzPy52aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3U3RhdGU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoc2hvd01vZGVsID09IFwiZHJhd2VyXCIpIHtcclxuICAgICAgLy8gSlNPTi5zdHJpbmdpZnkoZm9ybURyYXdlclByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkoZHJhd2VyUHJvcHMpXHJcbiAgICAgIGlmICghT2JqZWN0LmlzKGZvcm1EcmF3ZXJQcm9wcywgZHJhd2VyUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBkcmF3ZXJQcm9wcyxcclxuICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBkcmF3ZXJQcm9wcz8udmlzaWJsZSAhPT0gbnVsbCAmJlxyXG4gICAgICAgICAgZHJhd2VyUHJvcHM/LnZpc2libGUgIT09IHVuZGVmaW5lZFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgbmV3U3RhdGUuZm9ybVZpc2libGUgPSBkcmF3ZXJQcm9wcz8udmlzaWJsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld1N0YXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5a+55bqU5a2X5q615ZCN55qE6ZSZ6K+v5L+h5oGvXHJcbiAgZ2V0RmllbGRFcnJvcihuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkRXJyb3IobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWunuS+i1xyXG4gIGdldEZpZWxkSW5zdGFuY2UobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZEluc3RhbmNlKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTplJnor6/kv6Hmga/vvIzov5Tlm57kuLrmlbDnu4TlvaLlvI9cclxuICBnZXRGaWVsZHNFcnJvcigpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRzRXJyb3IoKTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5LiA57uE5a2X5q615ZCN5a+55bqU55qE5YC877yM5Lya5oyJ54Wn5a+55bqU57uT5p6E6L+U5ZueXHJcbiAgZ2V0RmllbGRzVmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWQjeeahOWAvFxyXG4gIGdldEZpZWxkVmFsdWUobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZFZhbHVlKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/mo4Dmn6XkuIDnu4TlrZfmrrXmmK/lkKbooqvnlKjmiLfmk43kvZzov4dcclxuICBpc0ZpZWxkc1RvdWNoZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmlzRmllbGRzVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgLy/mo4Dmn6Xlr7nlupTlrZfmrrXmmK/lkKbooqvnlKjmiLfmk43kvZzov4dcclxuICBpc0ZpZWxkVG91Y2hlZChuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmlzRmllbGRUb3VjaGVkKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/mo4Dmn6XkuIDnu4TlrZfmrrXmmK/lkKbmraPlnKjmoKHpqoxcclxuICBpc0ZpZWxkVmFsaWRhdGluZyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmlzRmllbGRWYWxpZGF0aW5nKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/ph43nva7kuIDnu4TlrZfmrrXliLBcclxuICByZXNldEZpZWxkcygpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5yZXNldEZpZWxkcygpO1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsVG9GaWVsZChuYW1lLCBvcHRpb25zKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2Nyb2xsVG9GaWVsZChuYW1lLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkcyhmaWxkcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkcyhmaWxkcyk7XHJcbiAgfVxyXG5cclxuICBzZXRGaWVsZHNWYWx1ZSh2YWx1ZXMpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zZXRGaWVsZHNWYWx1ZSh2YWx1ZXMpO1xyXG4gIH1cclxuXHJcbiAgc3VibWl0KCkge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnN1Ym1pdCgpO1xyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoXHJcbiAgICB1cmw/OiBzdHJpbmcsXHJcbiAgICBvcHRpb25zPzogYW55LFxyXG4gICAgY2FsbGJhY2s/OiAocmVzPzogYW55KSA9PiB2b2lkLFxyXG4gICAgbXNnPzogYm9vbGVhblxyXG4gICkge1xyXG4gICAgY29uc3QgeyB1cmw6IHByb3BzVXJsLCBlbmNyeXB0RmllbGRzOiBlbmNyeXB0UHJvcHBzID0gW10gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoIXVybCAmJiAhcHJvcHNVcmwpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwi5rKh5pyJ5LiK5Lyg55qEdXJsIVwiKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHsgbWV0aG9kID0gXCJwb3N0XCIgfSA9IG9wdGlvbnM7XHJcbiAgICBsZXQgcmVxdWVzdFVybCA9IHVybCA/IHVybCA6IHByb3BzVXJsO1xyXG4gICAgbGV0IHJlcXVlc3REYXRhID0gdGhpcy5mb3JtUmVmLmN1cnJlbnQuZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIGxldCByZXF1ZXN0RW5jcnlwdCA9IGVuY3J5cHRQcm9wcHM7XHJcbiAgICBsZXQgcmVxdWVzdFBhcmFtID0geyBtZXRob2Q6IG1ldGhvZCwgZGF0YTogcmVxdWVzdERhdGEgfSBhcyB7IGRhdGE6IGFueSB9O1xyXG4gICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgY29uc3QgeyBkYXRhLCBlbmNyeXB0RmllbGRzLCAuLi5wYXJhbXMgfSA9IG9wdGlvbnM7XHJcbiAgICAgIHJlcXVlc3RQYXJhbSA9IHsgLi4ucmVxdWVzdFBhcmFtLCAuLi5wYXJhbXMgfTtcclxuICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICBkZWxldGUgcmVxdWVzdFBhcmFtLmRhdGE7XHJcbiAgICAgICAgaWYgKG1ldGhvZC50b0xvd2VyQ2FzZSgpID09IFwiZ2V0XCIpIHtcclxuICAgICAgICAgIHJlcXVlc3RQYXJhbSA9IHsgLi4ucmVxdWVzdFBhcmFtLCAuLi5wYXJhbXMsIHBhcmFtczogZGF0YSB9O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zLCBkYXRhOiBkYXRhIH07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChlbmNyeXB0RmllbGRzKSB7XHJcbiAgICAgICAgcmVxdWVzdEVuY3J5cHQgPSBlbmNyeXB0RmllbGRzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmVxdWVzdChyZXF1ZXN0VXJsLCB7XHJcbiAgICAgIC4uLnJlcXVlc3RQYXJhbSxcclxuICAgICAgZW5jcnlwdEZpZWxkczogcmVxdWVzdEVuY3J5cHQsXHJcbiAgICB9KVxyXG4gICAgICAudGhlbihmdW5jdGlvbiAocmVzOiBhbnkpIHtcclxuICAgICAgICBjb25zdCB7IGNvZGUgfSA9IHJlcztcclxuICAgICAgICBpZiAobXNnKSB7XHJcbiAgICAgICAgICBpZiAoY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2Uuc3VjY2VzcyhcIuaPkOS6pOaIkOWKn1wiKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2UuZXJyb3IoXCLmj5DkuqTlpLHotKVcIik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhbGxiYWNrICYmIGNhbGxiYWNrKHJlcyk7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5jYXRjaChmdW5jdGlvbiAoZXJyb3I6IGFueSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiZXJyb3JcIiwgZXJyb3IpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlRmllbGRzKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC52YWxpZGF0ZUZpZWxkcyhuYW1lKTtcclxuICB9XHJcblxyXG4gIGhpZGUoZSkge1xyXG4gICAgY29uc3QgeyBpc0NoYW5nZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHtcclxuICAgICAgY2hhbmdlVmFsaWQgPSB0cnVlLFxyXG4gICAgICBzaG93TW9kZWwsXHJcbiAgICAgIG1vZGFsUHJvcHMgPSB7fSxcclxuICAgICAgZHJhd2VyUHJvcHMgPSB7fSxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIGNvbnN0IHsgb25DYW5jZWwgfSA9IG1vZGFsUHJvcHM7XHJcbiAgICBjb25zdCB7IG9uQ2xvc2UgfSA9IGRyYXdlclByb3BzO1xyXG4gICAgaWYgKGNoYW5nZVZhbGlkICYmIGlzQ2hhbmdlKSB7XHJcbiAgICAgIE1vZGFsLmNvbmZpcm0oe1xyXG4gICAgICAgIHRpdGxlOiBcIuW9k+WJjeiusOW9leW3suS/ruaUueWwmuacquS/neWtmO+8jOehruWumuimgeaUvuW8g+S/ruaUueWQl++8n1wiLFxyXG4gICAgICAgIGNhbmNlbFRleHQ6IFwi5Y+W5raIXCIsXHJcbiAgICAgICAgb2tUZXh0OiBcIuehruWumlwiLFxyXG4gICAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICAgIG9uT2soKSB7XHJcbiAgICAgICAgICBpZiAoc2hvd01vZGVsID09IFwiZHJhd2VyXCIgJiYgb25DbG9zZSkge1xyXG4gICAgICAgICAgICBvbkNsb3NlKGUpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChzaG93TW9kZWwgPT0gXCJtb2RhbFwiICYmIG9uQ2FuY2VsKSB7XHJcbiAgICAgICAgICAgIG9uQ2FuY2VsKGUpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgX3RoaXMuaGlkZUZvcm0oKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIiAmJiBvbkNsb3NlKSB7XHJcbiAgICAgICAgb25DbG9zZShlKTtcclxuICAgICAgfSBlbHNlIGlmIChzaG93TW9kZWwgPT0gXCJtb2RhbFwiICYmIG9uQ2FuY2VsKSB7XHJcbiAgICAgICAgb25DYW5jZWwoZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgX3RoaXMuaGlkZUZvcm0oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGlkZUZvcm0ocmVzZXRWYWx1ZSA9IHRydWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgIHtcclxuICAgICAgICBmb3JtVmlzaWJsZTogZmFsc2UsXHJcbiAgICAgICAgaXNDaGFuZ2U6IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc2V0VmFsdWUpIHtcclxuICAgICAgICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5yZXNldEZpZWxkcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNob3dGb3JtKHZhbHVlPzogYW55LCByZXNldFZhbHVlID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAge1xyXG4gICAgICAgIGZvcm1WaXNpYmxlOiB0cnVlLFxyXG4gICAgICAgIGlzQ2hhbmdlOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKHJlc2V0VmFsdWUpIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5yZXNldEZpZWxkcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNsb25lRWxlbWVudChpdGVtLCBpbmRleCA9IDApIHtcclxuICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICBpZiAodHlwZW9mIGl0ZW0gPT0gXCJzdHJpbmdcIikgcmV0dXJuIGl0ZW07XHJcbiAgICBsZXQgcHJvcHMgPSB7fSBhcyB7IGtleTogbnVtYmVyOyBjaGlsZHJlbjogYW55IH07XHJcbiAgICBwcm9wcy5rZXkgPSBpbmRleDtcclxuICAgIHRyeSB7XHJcbiAgICAgIGlmIChpdGVtLnByb3BzICYmIGl0ZW0ucHJvcHMuY2hpbGRyZW4pIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtLnByb3BzLmNoaWxkcmVuKSkge1xyXG4gICAgICAgICAgcHJvcHMuY2hpbGRyZW4gPSBSZWFjdC5DaGlsZHJlbi5tYXAoXHJcbiAgICAgICAgICAgIGl0ZW0ucHJvcHMuY2hpbGRyZW4sXHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIChjaGlsZCwgaW5kZXgpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gX3RoaXMuY2xvbmVFbGVtZW50KGNoaWxkLCBpbmRleCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHByb3BzLmNoaWxkcmVuID0gdGhpcy5jbG9uZUVsZW1lbnQoaXRlbS5wcm9wcy5jaGlsZHJlbiwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoaXRlbSwgcHJvcHMpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbiAgb25WYWx1ZXNDaGFuZ2UodmFsLCBhbGxWYWwpIHtcclxuICAgIGNvbnN0IHsgb25WYWx1ZXNDaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgaXNDaGFuZ2U6IHRydWUsXHJcbiAgICB9KTtcclxuICAgIG9uVmFsdWVzQ2hhbmdlICYmIG9uVmFsdWVzQ2hhbmdlKHZhbCwgYWxsVmFsKTtcclxuICB9XHJcbiAgcmVuZGVyUGFuZWwobmV3Q2hpbGRyZW4sIHByb3BzKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHNob3dNb2RlbCxcclxuICAgICAgZHJhd2VyUHJvcHMgPSB7fSxcclxuICAgICAgbW9kYWxQcm9wcyA9IHt9LFxyXG4gICAgICBjaGFuZ2VWYWxpZCA9IHRydWUsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgZm9ybVZpc2libGUgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCBsYXlvdXQgPSB7XHJcbiAgICAgIGxhYmVsQ29sOiB7IHNwYW46IDQgfSxcclxuICAgICAgd3JhcHBlckNvbDogeyBzcGFuOiAyMCB9LFxyXG4gICAgfTtcclxuICAgIGxldCBvcmd0aXRsZSA9IHNob3dNb2RlbCA9PSBcIm1vZGFsXCIgPyBtb2RhbFByb3BzLnRpdGxlIDogZHJhd2VyUHJvcHMudGl0bGU7XHJcbiAgICBjb25zdCBjbG9zYWJsZSA9XHJcbiAgICAgIHNob3dNb2RlbCA9PSBcIm1vZGFsXCIgPyBtb2RhbFByb3BzLmNsb3NhYmxlIDogZHJhd2VyUHJvcHMuY2xvc2FibGU7XHJcbiAgICBjb25zdCB0aXRsZSA9IChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRpdGxlXCIpfT5cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvbnNcIil9PlxyXG4gICAgICAgICAgeyF0aGlzLnN0YXRlLmV4cGFuZCAmJiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgZXhwYW5kOiB0cnVlIH0pO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPEV4cGFuZE91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICAgIHt0aGlzLnN0YXRlLmV4cGFuZCAmJiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgZXhwYW5kOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxDb21wcmVzc091dGxpbmVkIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICAgIHtjbG9zYWJsZSAhPT0gZmFsc2UgJiYgKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5oaWRlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfVxyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpblJpZ2h0OiAwIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8Q2xvc2VPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRpdGxlLWNvbnRlbnRcIil9Pntvcmd0aXRsZX08L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gICAgY29uc3QgZm9vdGVyID0gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZm9vdGVyXCIpfT5cclxuICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgICAgICAgICBpZiAoc2hvd01vZGVsID09IFwibW9kYWxcIikge1xyXG4gICAgICAgICAgICAgIG1vZGFsUHJvcHMub25PayAmJiBtb2RhbFByb3BzLm9uT2soZm9ybVZhbHVlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBkcmF3ZXJQcm9wcy5vbk9rICYmIGRyYXdlclByb3BzLm9uT2soZm9ybVZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIGljb249ezxQbHVzQ2lyY2xlT3V0bGluZWQgLz59XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAg5L+d5a2YXHJcbiAgICAgICAgPC9CdXR0b24+XHJcblxyXG4gICAgICAgIDxCdXR0b25cclxuICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuaGlkZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJidXR0b24tbWFyZ2luXCIpfVxyXG4gICAgICAgICAgaWNvbj17PENsb3NlQ2lyY2xlT3V0bGluZWQgLz59XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAg5Y+W5raIXHJcbiAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICAgIGlmIChzaG93TW9kZWwgJiYgc2hvd01vZGVsID09IFwibW9kYWxcIikge1xyXG4gICAgICBsZXQgbmV3TW9kYWxQcm9wcyA9IG9taXQobW9kYWxQcm9wcywgW1widmlzaWJsZVwiXSk7XHJcbiAgICAgIG5ld01vZGFsUHJvcHMgPSB7IGNlbnRlcmVkOiB0cnVlLCBmb290ZXIsIC4uLm5ld01vZGFsUHJvcHMgfTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8TW9kYWxcclxuICAgICAgICAgIHZpc2libGU9e2Zvcm1WaXNpYmxlfVxyXG4gICAgICAgICAgZm9vdGVyPXtmb290ZXJ9XHJcbiAgICAgICAgICB7Li4ubmV3TW9kYWxQcm9wc31cclxuICAgICAgICAgIG9uQ2FuY2VsPXt0aGlzLmhpZGUuYmluZCh0aGlzKX1cclxuICAgICAgICAgIG1hc2tDbG9zYWJsZT17IXRoaXMuc3RhdGUuaXNDaGFuZ2V9XHJcbiAgICAgICAgICB0aXRsZT17dGl0bGV9XHJcbiAgICAgICAgICBjbG9zYWJsZT17ZmFsc2V9XHJcbiAgICAgICAgICBjbGFzc05hbWU9e3RoaXMuc3RhdGUuZXhwYW5kID8gZ2V0TGVzcyhzdHlsZXMsIFwiYWxsc3JlZW5cIikgOiBcIlwifVxyXG4gICAgICAgICAgd2lkdGg9e3RoaXMuc3RhdGUuZXhwYW5kID8gXCIxMDB2d1wiIDogbmV3TW9kYWxQcm9wcy53aWR0aH1cclxuICAgICAgICAgIHN0eWxlPXt7IG1heFdpZHRoOiBcIjEwMCVcIiB9fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxGb3JtXHJcbiAgICAgICAgICAgIHJlZj17dGhpcy5mb3JtUmVmfVxyXG4gICAgICAgICAgICB7Li4ubGF5b3V0fVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIG9uVmFsdWVzQ2hhbmdlPXt0aGlzLm9uVmFsdWVzQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgIHByZXNlcnZlPXtmYWxzZX1cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9Nb2RhbD5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSBpZiAoc2hvd01vZGVsICYmIHNob3dNb2RlbCA9PSBcImRyYXdlclwiKSB7XHJcbiAgICAgIGxldCBuZXdEcmF3ZXJQcm9wcyA9IG9taXQoZHJhd2VyUHJvcHMsIFtcInZpc2libGVcIiwgXCJvbk9rXCJdKTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8RHJhd2VyXHJcbiAgICAgICAgICB2aXNpYmxlPXtmb3JtVmlzaWJsZX1cclxuICAgICAgICAgIGZvb3Rlcj17Zm9vdGVyfVxyXG4gICAgICAgICAgey4uLm5ld0RyYXdlclByb3BzfVxyXG4gICAgICAgICAgb25DbG9zZT17dGhpcy5oaWRlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBtYXNrQ2xvc2FibGU9eyF0aGlzLnN0YXRlLmlzQ2hhbmdlfVxyXG4gICAgICAgICAgdGl0bGU9e3RpdGxlfVxyXG4gICAgICAgICAgY2xvc2FibGU9e2ZhbHNlfVxyXG4gICAgICAgICAgd2lkdGg9e3RoaXMuc3RhdGUuZXhwYW5kID8gXCIxMDB2d1wiIDogbmV3RHJhd2VyUHJvcHMud2lkdGh9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPEZvcm1cclxuICAgICAgICAgICAgcmVmPXt0aGlzLmZvcm1SZWZ9XHJcbiAgICAgICAgICAgIHsuLi5sYXlvdXR9XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgICAgb25WYWx1ZXNDaGFuZ2U9e3RoaXMub25WYWx1ZXNDaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9EcmF3ZXI+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxGb3JtXHJcbiAgICAgICAgICByZWY9e3RoaXMuZm9ybVJlZn1cclxuICAgICAgICAgIHsuLi5sYXlvdXR9XHJcbiAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICBvblZhbHVlc0NoYW5nZT17dGhpcy5vblZhbHVlc0NoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgIC8+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcyxcclxuICAgICAgeyBjaGlsZHJlbiwgc2hvd01vZGVsIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgLy8gY29uc3QgbmV3Q2hpbGRyZW4gPSBSZWFjdC5DaGlsZHJlbi5tYXAoY2hpbGRyZW4sIGZ1bmN0aW9uIChjaGlsZCwgaW5kZXgpIHtcclxuICAgIC8vICAgcmV0dXJuIF90aGlzLmNsb25lRWxlbWVudChjaGlsZCwgaW5kZXgpO1xyXG4gICAgLy8gfSk7XHJcbiAgICBjb25zdCBwcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICBcImZvcm1cIixcclxuICAgICAgXCJzaG93TW9kZWxcIixcclxuICAgICAgXCJtb2RhbFByb3BzXCIsXHJcbiAgICAgIFwiZHJhd2VyUHJvcHNcIixcclxuICAgICAgXCJ1cmxcIixcclxuICAgICAgXCJlbmNyeXB0RmllbGRzXCIsXHJcbiAgICBdKTtcclxuXHJcbiAgICByZXR1cm4gPD57dGhpcy5yZW5kZXJQYW5lbChwcm9wcy5jaGlsZHJlbiwgcHJvcHMpfTwvPjtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgTnNjRm9ybTtcclxuIl19
@@ -0,0 +1,41 @@
1
+ .footer {
2
+ display: flex;
3
+ flex-direction: row-reverse;
4
+ .button-margin {
5
+ margin-right: 15px;
6
+ }
7
+ :global {
8
+ .ant-btn {
9
+ border-radius: 4px;
10
+ min-width: 80px;
11
+ min-height: 35px;
12
+ }
13
+ }
14
+ }
15
+ .title {
16
+ display: flex;
17
+ flex-direction: row-reverse;
18
+ .icons {
19
+ display: flex;
20
+ margin-left: 15px;
21
+ .icon {
22
+ cursor: pointer;
23
+ margin-right: 10px;
24
+ }
25
+ }
26
+ .title-content {
27
+ flex: 1;
28
+ display: flex;
29
+ }
30
+ }
31
+
32
+ .allsreen {
33
+ :global {
34
+ .ant-modal-content {
35
+ height: 100vh;
36
+ }
37
+ .ant-modal-body {
38
+ height: calc(100vh - 150px);
39
+ }
40
+ }
41
+ }
@@ -106,7 +106,10 @@ var NSCInputNumber = /*#__PURE__*/function (_PureComponent) {
106
106
  return /*#__PURE__*/React.createElement(_InputNumber, _extends({
107
107
  value: this.state.value,
108
108
  onChange: this.onChange.bind(this),
109
- ref: this.ref
109
+ ref: this.ref,
110
+ style: {
111
+ width: "100%"
112
+ }
110
113
  }, inputProps));
111
114
  }
112
115
  }]);
@@ -115,4 +118,4 @@ var NSCInputNumber = /*#__PURE__*/function (_PureComponent) {
115
118
  }(PureComponent);
116
119
 
117
120
  export { NSCInputNumber as default };
118
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvaW5wdXQvTnVtYmVyLnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJvbWl0IiwiTlNDSW5wdXROdW1iZXIiLCJwcm9wcyIsImNyZWF0ZVJlZiIsInZhbHVlIiwib25DaGFuZ2UiLCJzZXRTdGF0ZSIsInN0YXRlIiwicmVmIiwiY3VycmVudCIsImZvY3VzIiwiYmx1ciIsImlucHV0UHJvcHMiLCJiaW5kIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUdBLE9BQU9DLElBQVAsTUFBaUIsU0FBakI7QUFDQSxPQUFPLGNBQVA7O0lBR3FCQyxjOzs7OztBQUVuQiwwQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQiw4QkFBTUEsS0FBTjs7QUFEaUIsdUVBRGJKLEtBQUssQ0FBQ0ssU0FBTixFQUNhOztBQUFBLDREQUdYO0FBQ05DLE1BQUFBLEtBQUssRUFBRTtBQURELEtBSFc7O0FBQUE7QUFFbEI7Ozs7V0FJRCxrQkFBU0EsS0FBVCxFQUFnQjtBQUNkLFVBQVFDLFFBQVIsR0FBcUIsS0FBS0gsS0FBMUIsQ0FBUUcsUUFBUjs7QUFDQSxVQUFJQSxRQUFKLEVBQWM7QUFDWkEsUUFBQUEsUUFBUSxDQUFDRCxLQUFELENBQVI7QUFDRDs7QUFDRCxXQUFLRSxRQUFMLENBQWM7QUFDWkYsUUFBQUEsS0FBSyxFQUFFQTtBQURLLE9BQWQ7QUFHRDs7O1dBQ0Qsb0JBQVc7QUFDVCxhQUFPLEtBQUtHLEtBQUwsQ0FBV0gsS0FBbEI7QUFDRDs7O1dBQ0Qsa0JBQVNBLEtBQVQsRUFBZ0I7QUFDZCxXQUFLRSxRQUFMLENBQWM7QUFDWkYsUUFBQUEsS0FBSyxFQUFFQTtBQURLLE9BQWQ7QUFHRDs7O1dBQ0QsaUJBQVE7QUFBQTs7QUFDTixnQ0FBS0ksR0FBTCxDQUFTQyxPQUFULHdFQUFrQkMsS0FBbEI7QUFDRDs7O1dBQ0QsZ0JBQU87QUFBQTs7QUFDTCxpQ0FBS0YsR0FBTCxDQUFTQyxPQUFULDBFQUFrQkUsSUFBbEI7QUFDRDs7O1dBQ0Qsa0JBQVM7QUFDUCxVQUFNQyxVQUFVLEdBQUdaLElBQUksQ0FBQyxLQUFLRSxLQUFOLEVBQWEsQ0FBQyxVQUFELENBQWIsQ0FBdkI7QUFDQSwwQkFDRTtBQUNFLFFBQUEsS0FBSyxFQUFFLEtBQUtLLEtBQUwsQ0FBV0gsS0FEcEI7QUFFRSxRQUFBLFFBQVEsRUFBRSxLQUFLQyxRQUFMLENBQWNRLElBQWQsQ0FBbUIsSUFBbkIsQ0FGWjtBQUdFLFFBQUEsR0FBRyxFQUFFLEtBQUtMO0FBSFosU0FJTUksVUFKTixFQURGO0FBUUQ7Ozs7RUF6Q3lDYixhOztTQUF2QkUsYyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb246XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wNC0yMCAxNDo0MzowNVxyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjMgMTY6MjE6MzlcclxuICovXHJcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcblxyXG5pbXBvcnQgeyBJbnB1dE51bWJlciwgSW5wdXROdW1iZXJQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbnRlcmZhY2UgSUlucHV0TnVtYmVyUHJvcHMgZXh0ZW5kcyBJbnB1dE51bWJlclByb3BzIHt9XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOU0NJbnB1dE51bWJlciBleHRlbmRzIFB1cmVDb21wb25lbnQ8SUlucHV0TnVtYmVyUHJvcHM+IHtcclxuICByZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgfVxyXG4gIHN0YXRlID0ge1xyXG4gICAgdmFsdWU6IFwiXCIsXHJcbiAgfTtcclxuICBvbkNoYW5nZSh2YWx1ZSkge1xyXG4gICAgY29uc3QgeyBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChvbkNoYW5nZSkge1xyXG4gICAgICBvbkNoYW5nZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUudmFsdWU7XHJcbiAgfVxyXG4gIHNldFZhbHVlKHZhbHVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGZvY3VzKCkge1xyXG4gICAgdGhpcy5yZWYuY3VycmVudD8uZm9jdXMoKTtcclxuICB9XHJcbiAgYmx1cigpIHtcclxuICAgIHRoaXMucmVmLmN1cnJlbnQ/LmJsdXIoKTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgaW5wdXRQcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1wib25DaGFuZ2VcIl0pO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPElucHV0TnVtYmVyXHJcbiAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUudmFsdWV9XHJcbiAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICByZWY9e3RoaXMucmVmfVxyXG4gICAgICAgIHsuLi5pbnB1dFByb3BzfVxyXG4gICAgICAvPlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
121
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvaW5wdXQvTnVtYmVyLnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJvbWl0IiwiTlNDSW5wdXROdW1iZXIiLCJwcm9wcyIsImNyZWF0ZVJlZiIsInZhbHVlIiwib25DaGFuZ2UiLCJzZXRTdGF0ZSIsInN0YXRlIiwicmVmIiwiY3VycmVudCIsImZvY3VzIiwiYmx1ciIsImlucHV0UHJvcHMiLCJiaW5kIiwid2lkdGgiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBR0EsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjtBQUNBLE9BQU8sY0FBUDs7SUFHcUJDLGM7Ozs7O0FBRW5CLDBCQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUE7O0FBQ2pCLDhCQUFNQSxLQUFOOztBQURpQix1RUFEYkosS0FBSyxDQUFDSyxTQUFOLEVBQ2E7O0FBQUEsNERBR1g7QUFDTkMsTUFBQUEsS0FBSyxFQUFFO0FBREQsS0FIVzs7QUFBQTtBQUVsQjs7OztXQUlELGtCQUFTQSxLQUFULEVBQWdCO0FBQ2QsVUFBUUMsUUFBUixHQUFxQixLQUFLSCxLQUExQixDQUFRRyxRQUFSOztBQUNBLFVBQUlBLFFBQUosRUFBYztBQUNaQSxRQUFBQSxRQUFRLENBQUNELEtBQUQsQ0FBUjtBQUNEOztBQUNELFdBQUtFLFFBQUwsQ0FBYztBQUNaRixRQUFBQSxLQUFLLEVBQUVBO0FBREssT0FBZDtBQUdEOzs7V0FDRCxvQkFBVztBQUNULGFBQU8sS0FBS0csS0FBTCxDQUFXSCxLQUFsQjtBQUNEOzs7V0FDRCxrQkFBU0EsS0FBVCxFQUFnQjtBQUNkLFdBQUtFLFFBQUwsQ0FBYztBQUNaRixRQUFBQSxLQUFLLEVBQUVBO0FBREssT0FBZDtBQUdEOzs7V0FDRCxpQkFBUTtBQUFBOztBQUNOLGdDQUFLSSxHQUFMLENBQVNDLE9BQVQsd0VBQWtCQyxLQUFsQjtBQUNEOzs7V0FDRCxnQkFBTztBQUFBOztBQUNMLGlDQUFLRixHQUFMLENBQVNDLE9BQVQsMEVBQWtCRSxJQUFsQjtBQUNEOzs7V0FDRCxrQkFBUztBQUNQLFVBQU1DLFVBQVUsR0FBR1osSUFBSSxDQUFDLEtBQUtFLEtBQU4sRUFBYSxDQUFDLFVBQUQsQ0FBYixDQUF2QjtBQUNBLDBCQUNFO0FBQ0UsUUFBQSxLQUFLLEVBQUUsS0FBS0ssS0FBTCxDQUFXSCxLQURwQjtBQUVFLFFBQUEsUUFBUSxFQUFFLEtBQUtDLFFBQUwsQ0FBY1EsSUFBZCxDQUFtQixJQUFuQixDQUZaO0FBR0UsUUFBQSxHQUFHLEVBQUUsS0FBS0wsR0FIWjtBQUlFLFFBQUEsS0FBSyxFQUFFO0FBQUVNLFVBQUFBLEtBQUssRUFBRTtBQUFUO0FBSlQsU0FLTUYsVUFMTixFQURGO0FBU0Q7Ozs7RUExQ3lDYixhOztTQUF2QkUsYyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb246XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wNC0yMCAxNDo0MzowNVxyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjMgMTY6MjE6MzlcclxuICovXHJcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcblxyXG5pbXBvcnQgeyBJbnB1dE51bWJlciwgSW5wdXROdW1iZXJQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbnRlcmZhY2UgSUlucHV0TnVtYmVyUHJvcHMgZXh0ZW5kcyBJbnB1dE51bWJlclByb3BzIHt9XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOU0NJbnB1dE51bWJlciBleHRlbmRzIFB1cmVDb21wb25lbnQ8SUlucHV0TnVtYmVyUHJvcHM+IHtcclxuICByZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgfVxyXG4gIHN0YXRlID0ge1xyXG4gICAgdmFsdWU6IFwiXCIsXHJcbiAgfTtcclxuICBvbkNoYW5nZSh2YWx1ZSkge1xyXG4gICAgY29uc3QgeyBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChvbkNoYW5nZSkge1xyXG4gICAgICBvbkNoYW5nZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUudmFsdWU7XHJcbiAgfVxyXG4gIHNldFZhbHVlKHZhbHVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGZvY3VzKCkge1xyXG4gICAgdGhpcy5yZWYuY3VycmVudD8uZm9jdXMoKTtcclxuICB9XHJcbiAgYmx1cigpIHtcclxuICAgIHRoaXMucmVmLmN1cnJlbnQ/LmJsdXIoKTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgaW5wdXRQcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1wib25DaGFuZ2VcIl0pO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPElucHV0TnVtYmVyXHJcbiAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUudmFsdWV9XHJcbiAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICByZWY9e3RoaXMucmVmfVxyXG4gICAgICAgIHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiB9fVxyXG4gICAgICAgIHsuLi5pbnB1dFByb3BzfVxyXG4gICAgICAvPlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19