nsc-react-component 2.1.17 → 2.1.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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,26 @@ 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;
321
386
  var formVisible = this.state.formVisible;
322
387
  var layout = {
323
388
  labelCol: {
@@ -327,41 +392,109 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
327
392
  span: 20
328
393
  }
329
394
  };
395
+ var orgtitle = showModel == "modal" ? modalProps.title : drawerProps.title;
396
+ var closable = showModel == "modal" ? modalProps.closable : drawerProps.closable;
397
+ var title = /*#__PURE__*/React.createElement("div", {
398
+ className: getLess(styles, "title")
399
+ }, /*#__PURE__*/React.createElement("div", {
400
+ className: getLess(styles, "icons")
401
+ }, !this.state.expand && /*#__PURE__*/React.createElement("div", {
402
+ onClick: function onClick() {
403
+ _this5.setState({
404
+ expand: true
405
+ });
406
+ },
407
+ className: getLess(styles, "icon")
408
+ }, /*#__PURE__*/React.createElement(ExpandOutlined, null)), this.state.expand && /*#__PURE__*/React.createElement("div", {
409
+ onClick: function onClick() {
410
+ _this5.setState({
411
+ expand: false
412
+ });
413
+ },
414
+ className: getLess(styles, "icon")
415
+ }, /*#__PURE__*/React.createElement(CompressOutlined, null)), closable !== false && /*#__PURE__*/React.createElement("div", {
416
+ onClick: this.hide.bind(this),
417
+ className: getLess(styles, "icon"),
418
+ style: {
419
+ marginRight: 0
420
+ }
421
+ }, /*#__PURE__*/React.createElement(CloseOutlined, null))), /*#__PURE__*/React.createElement("div", {
422
+ className: getLess(styles, "title-content")
423
+ }, orgtitle));
424
+ var footer = /*#__PURE__*/React.createElement("div", {
425
+ className: getLess(styles, "footer")
426
+ }, /*#__PURE__*/React.createElement(Button, {
427
+ type: "primary",
428
+ onClick: function onClick() {
429
+ var _this5$formRef$curren;
430
+
431
+ var formValue = (_this5$formRef$curren = _this5.formRef.current) === null || _this5$formRef$curren === void 0 ? void 0 : _this5$formRef$curren.getFieldsValue();
432
+
433
+ if (showModel == "modal") {
434
+ modalProps.onOk && modalProps.onOk(formValue);
435
+ } else {
436
+ drawerProps.onOk && drawerProps.onOk(formValue);
437
+ }
438
+ },
439
+ icon: /*#__PURE__*/React.createElement(PlusCircleOutlined, null)
440
+ }, "\u4FDD\u5B58"), /*#__PURE__*/React.createElement(Button, {
441
+ onClick: this.hide.bind(this),
442
+ className: getLess(styles, "button-margin"),
443
+ icon: /*#__PURE__*/React.createElement(CloseCircleOutlined, null)
444
+ }, "\u53D6\u6D88"));
330
445
 
331
446
  if (showModel && showModel == "modal") {
332
447
  var newModalProps = omit(modalProps, ["visible"]);
333
448
  newModalProps = _objectSpread({
334
- centered: true
449
+ centered: true,
450
+ footer: footer
335
451
  }, newModalProps);
336
452
  return /*#__PURE__*/React.createElement(_Modal, _extends({
337
- onCancel: this.hideForm.bind(this),
338
- visible: formVisible
339
- }, newModalProps), /*#__PURE__*/React.createElement(_Form, _extends({
453
+ visible: formVisible,
454
+ footer: footer
455
+ }, newModalProps, {
456
+ onCancel: this.hide.bind(this),
457
+ maskClosable: !this.state.isChange,
458
+ title: title,
459
+ closable: false,
460
+ className: this.state.expand ? getLess(styles, "allsreen") : ""
461
+ }), /*#__PURE__*/React.createElement(_Form, _extends({
340
462
  ref: this.formRef
341
463
  }, layout, props, {
464
+ onValuesChange: this.onValuesChange.bind(this),
342
465
  preserve: false
343
466
  })));
344
467
  } else if (showModel && showModel == "drawer") {
345
- var newDrawerProps = omit(drawerProps, ["visible"]);
468
+ var newDrawerProps = omit(drawerProps, ["visible", "onOk"]);
346
469
  return /*#__PURE__*/React.createElement(_Drawer, _extends({
347
- onClose: this.hideForm.bind(this),
348
- visible: formVisible
349
- }, newDrawerProps), /*#__PURE__*/React.createElement(_Form, _extends({
470
+ visible: formVisible,
471
+ footer: footer
472
+ }, newDrawerProps, {
473
+ onClose: this.hide.bind(this),
474
+ maskClosable: !this.state.isChange,
475
+ title: title,
476
+ closable: false,
477
+ className: this.state.expand ? getLess(styles, "allsreen") : ""
478
+ }), /*#__PURE__*/React.createElement(_Form, _extends({
350
479
  ref: this.formRef
351
- }, layout, props)));
480
+ }, layout, props, {
481
+ onValuesChange: this.onValuesChange.bind(this)
482
+ })));
352
483
  } else {
353
484
  return /*#__PURE__*/React.createElement(_Form, _extends({
354
485
  ref: this.formRef
355
- }, layout, props));
486
+ }, layout, props, {
487
+ onValuesChange: this.onValuesChange.bind(this)
488
+ }));
356
489
  }
357
490
  }
358
491
  }, {
359
492
  key: "render",
360
493
  value: function render() {
361
494
  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) {
495
+ _this$props4 = this.props,
496
+ children = _this$props4.children,
497
+ showModel = _this$props4.showModel; // const newChildren = React.Children.map(children, function (child, index) {
365
498
  // return _this.cloneElement(child, index);
366
499
  // });
367
500
 
@@ -379,7 +512,8 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
379
512
  formDrawerProps = prevState.formDrawerProps;
380
513
 
381
514
  if (showModel == "modal") {
382
- if (JSON.stringify(formModalProps) !== JSON.stringify(modalProps)) {
515
+ // JSON.stringify(formModalProps) !== JSON.stringify(modalProps)
516
+ if (!Object.is(formModalProps, modalProps)) {
383
517
  var newState = {
384
518
  formDrawerProps: modalProps
385
519
  };
@@ -391,7 +525,8 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
391
525
  return newState;
392
526
  }
393
527
  } else if (showModel == "drawer") {
394
- if (JSON.stringify(formDrawerProps) !== JSON.stringify(drawerProps)) {
528
+ // JSON.stringify(formDrawerProps) !== JSON.stringify(drawerProps)
529
+ if (!Object.is(formDrawerProps, drawerProps)) {
395
530
  var _newState = {
396
531
  formDrawerProps: drawerProps
397
532
  };
@@ -412,4 +547,4 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
412
547
  }(PureComponent);
413
548
 
414
549
  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=
550
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvZm9ybS9Gb3JtLnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJyZXF1ZXN0Iiwib21pdCIsIkJ1dHRvbiIsInN0eWxlcyIsImdldExlc3MiLCJQbHVzQ2lyY2xlT3V0bGluZWQiLCJDbG9zZUNpcmNsZU91dGxpbmVkIiwiQ2xvc2VPdXRsaW5lZCIsIkV4cGFuZE91dGxpbmVkIiwiQ29tcHJlc3NPdXRsaW5lZCIsIk5zY0Zvcm0iLCJwcm9wcyIsImNyZWF0ZVJlZiIsImZvcm1WaXNpYmxlIiwiZm9ybU1vZGFsUHJvcHMiLCJmb3JtRHJhd2VyUHJvcHMiLCJpc0NoYW5nZSIsImV4cGFuZCIsIm5hbWUiLCJmb3JtUmVmIiwiY3VycmVudCIsImdldEZpZWxkRXJyb3IiLCJnZXRGaWVsZEluc3RhbmNlIiwiZ2V0RmllbGRzRXJyb3IiLCJnZXRGaWVsZHNWYWx1ZSIsImdldEZpZWxkVmFsdWUiLCJpc0ZpZWxkc1RvdWNoZWQiLCJpc0ZpZWxkVG91Y2hlZCIsImlzRmllbGRWYWxpZGF0aW5nIiwicmVzZXRGaWVsZHMiLCJvcHRpb25zIiwic2Nyb2xsVG9GaWVsZCIsImZpbGRzIiwic2V0RmllbGRzIiwidmFsdWVzIiwic2V0RmllbGRzVmFsdWUiLCJzdWJtaXQiLCJ1cmwiLCJjYWxsYmFjayIsIm1zZyIsInByb3BzVXJsIiwiZW5jcnlwdEZpZWxkcyIsImVuY3J5cHRQcm9wcHMiLCJFcnJvciIsIm1ldGhvZCIsInJlcXVlc3RVcmwiLCJyZXF1ZXN0RGF0YSIsInJlcXVlc3RFbmNyeXB0IiwicmVxdWVzdFBhcmFtIiwiZGF0YSIsInBhcmFtcyIsInRvTG93ZXJDYXNlIiwidGhlbiIsInJlcyIsImNvZGUiLCJzdWNjZXNzIiwiZXJyb3IiLCJjYXRjaCIsImNvbnNvbGUiLCJsb2ciLCJ2YWxpZGF0ZUZpZWxkcyIsImUiLCJzdGF0ZSIsImNoYW5nZVZhbGlkIiwic2hvd01vZGVsIiwibW9kYWxQcm9wcyIsImRyYXdlclByb3BzIiwiX3RoaXMiLCJvbkNhbmNlbCIsIm9uQ2xvc2UiLCJjb25maXJtIiwidGl0bGUiLCJjYW5jZWxUZXh0Iiwib2tUZXh0IiwiY2VudGVyZWQiLCJvbk9rIiwiaGlkZUZvcm0iLCJyZXNldFZhbHVlIiwic2V0U3RhdGUiLCJ2YWx1ZSIsIml0ZW0iLCJpbmRleCIsImtleSIsImNoaWxkcmVuIiwiQXJyYXkiLCJpc0FycmF5IiwiQ2hpbGRyZW4iLCJtYXAiLCJjaGlsZCIsImNsb25lRWxlbWVudCIsInZhbCIsImFsbFZhbCIsIm9uVmFsdWVzQ2hhbmdlIiwibmV3Q2hpbGRyZW4iLCJsYXlvdXQiLCJsYWJlbENvbCIsInNwYW4iLCJ3cmFwcGVyQ29sIiwib3JndGl0bGUiLCJjbG9zYWJsZSIsImhpZGUiLCJiaW5kIiwibWFyZ2luUmlnaHQiLCJmb290ZXIiLCJmb3JtVmFsdWUiLCJuZXdNb2RhbFByb3BzIiwibmV3RHJhd2VyUHJvcHMiLCJyZW5kZXJQYW5lbCIsIm5leHRQcm9wcyIsInByZXZTdGF0ZSIsIk9iamVjdCIsImlzIiwibmV3U3RhdGUiLCJ2aXNpYmxlIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQVdBLFNBQVNDLE9BQVQsUUFBd0IsdUJBQXhCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsV0FBbkI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsU0FBU0MsT0FBVCxRQUF3QixhQUF4QjtBQUNBLFNBQ0VDLGtCQURGLEVBRUVDLG1CQUZGLEVBR0VDLGFBSEYsRUFJRUMsY0FKRixFQUtFQyxnQkFMRixRQU1PLG1CQU5QOztJQWlCTUMsTzs7Ozs7QUFVSixtQkFBWUMsS0FBWixF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QnFELFdBQXZCLGFBQXVCQSxXQUF2Qix1QkFBdUJBLFdBQVcsQ0FBRStDLE9BQXBDO0FBQ0Q7O0FBQ0QsaUJBQU9ELFNBQVA7QUFDRDtBQUNGOztBQUNELGFBQU8sSUFBUDtBQUNEOzs7O0VBNUNtQmpILGE7O0FBcVp0QixlQUFlVyxPQUFmIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjrooajljZXnu4Tku7ZcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTA0LTA5IDA5OjE4OjM0XHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNC0yMyAxNToyMzo1NFxyXG4gKi9cclxuaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHtcclxuICBGb3JtLFxyXG4gIEZvcm1Qcm9wcyxcclxuICBNb2RhbCxcclxuICBEcmF3ZXIsXHJcbiAgTW9kYWxQcm9wcyxcclxuICBEcmF3ZXJQcm9wcyxcclxuICBtZXNzYWdlLFxyXG59IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCB7IEZvcm1JbnN0YW5jZSB9IGZyb20gXCJhbnRkL2xpYi9mb3JtXCI7XHJcbmltcG9ydCB7IHJlcXVlc3QgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCBCdXR0b24gZnJvbSBcIi4uL2J1dHRvblwiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IHsgZ2V0TGVzcyB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQge1xyXG4gIFBsdXNDaXJjbGVPdXRsaW5lZCxcclxuICBDbG9zZUNpcmNsZU91dGxpbmVkLFxyXG4gIENsb3NlT3V0bGluZWQsXHJcbiAgRXhwYW5kT3V0bGluZWQsXHJcbiAgQ29tcHJlc3NPdXRsaW5lZCxcclxufSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuaW1wb3J0IFBvcGNvbmZpcm0gZnJvbSBcIi4uL3BvcGNvbmZpcm1cIjtcclxuaW50ZXJmYWNlIElGb3JtUHJvcHMgZXh0ZW5kcyBGb3JtUHJvcHMge1xyXG4gIHNob3dNb2RlbD86IFwibW9kYWxcIiB8IFwiZHJhd2VyXCI7XHJcbiAgbW9kYWxQcm9wcz86IE1vZGFsUHJvcHM7XHJcbiAgZHJhd2VyUHJvcHM/OiBEcmF3ZXJQcm9wcyAmIHsgb25Paz86IGFueSB9O1xyXG4gIHVybD86IHN0cmluZztcclxuICBlbmNyeXB0RmllbGRzPzogQXJyYXk8U3RyaW5nPjtcclxuICBjaGFuZ2VWYWxpZD86IGJvb2xlYW47IC8v5pWw5o2u5L+u5pS55YWz6Zet5qCh6aqMXHJcbn1cclxuXHJcbmNsYXNzIE5zY0Zvcm0gZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElGb3JtUHJvcHM+IHtcclxuICBmb3JtUmVmID0gUmVhY3QuY3JlYXRlUmVmPEZvcm1JbnN0YW5jZT4oKTtcclxuICBzdGF0ZSA9IHtcclxuICAgIGZvcm1WaXNpYmxlOiBmYWxzZSxcclxuICAgIGZvcm1Nb2RhbFByb3BzOiB7fSxcclxuICAgIGZvcm1EcmF3ZXJQcm9wczoge30sXHJcbiAgICBpc0NoYW5nZTogZmFsc2UsXHJcbiAgICBleHBhbmQ6IGZhbHNlLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wcywgcHJldlN0YXRlKSB7XHJcbiAgICBjb25zdCB7IG1vZGFsUHJvcHMsIGRyYXdlclByb3BzLCBzaG93TW9kZWwgfSA9IG5leHRQcm9wcztcclxuICAgIGNvbnN0IHsgZm9ybU1vZGFsUHJvcHMsIGZvcm1EcmF3ZXJQcm9wcyB9ID0gcHJldlN0YXRlO1xyXG4gICAgaWYgKHNob3dNb2RlbCA9PSBcIm1vZGFsXCIpIHtcclxuICAgICAgLy8gSlNPTi5zdHJpbmdpZnkoZm9ybU1vZGFsUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShtb2RhbFByb3BzKVxyXG4gICAgICBpZiAoIU9iamVjdC5pcyhmb3JtTW9kYWxQcm9wcywgbW9kYWxQcm9wcykpIHtcclxuICAgICAgICBsZXQgbmV3U3RhdGUgPSB7XHJcbiAgICAgICAgICBmb3JtRHJhd2VyUHJvcHM6IG1vZGFsUHJvcHMsXHJcbiAgICAgICAgfSBhcyBhbnk7XHJcbiAgICAgICAgaWYgKG1vZGFsUHJvcHM/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/OiBib29sZWFuXHJcbiAgKSB7XHJcbiAgICBjb25zdCB7IHVybDogcHJvcHNVcmwsIGVuY3J5cHRGaWVsZHM6IGVuY3J5cHRQcm9wcHMgPSBbXSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghdXJsICYmICFwcm9wc1VybCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCLmsqHmnInkuIrkvKDnmoR1cmwhXCIpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgeyBtZXRob2QgPSBcInBvc3RcIiB9ID0gb3B0aW9ucztcclxuICAgIGxldCByZXF1ZXN0VXJsID0gdXJsID8gdXJsIDogcHJvcHNVcmw7XHJcbiAgICBsZXQgcmVxdWVzdERhdGEgPSB0aGlzLmZvcm1SZWYuY3VycmVudC5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgbGV0IHJlcXVlc3RFbmNyeXB0ID0gZW5jcnlwdFByb3BwcztcclxuICAgIGxldCByZXF1ZXN0UGFyYW0gPSB7IG1ldGhvZDogbWV0aG9kLCBkYXRhOiByZXF1ZXN0RGF0YSB9IGFzIHsgZGF0YTogYW55IH07XHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBjb25zdCB7IGRhdGEsIGVuY3J5cHRGaWVsZHMsIC4uLnBhcmFtcyB9ID0gb3B0aW9ucztcclxuICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcyB9O1xyXG4gICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgIGRlbGV0ZSByZXF1ZXN0UGFyYW0uZGF0YTtcclxuICAgICAgICBpZiAobWV0aG9kLnRvTG93ZXJDYXNlKCkgPT0gXCJnZXRcIikge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcywgcGFyYW1zOiBkYXRhIH07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlcXVlc3RQYXJhbSA9IHsgLi4ucmVxdWVzdFBhcmFtLCAuLi5wYXJhbXMsIGRhdGE6IGRhdGEgfTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGVuY3J5cHRGaWVsZHMpIHtcclxuICAgICAgICByZXF1ZXN0RW5jcnlwdCA9IGVuY3J5cHRGaWVsZHM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXF1ZXN0KHJlcXVlc3RVcmwsIHtcclxuICAgICAgLi4ucmVxdWVzdFBhcmFtLFxyXG4gICAgICBlbmNyeXB0RmllbGRzOiByZXF1ZXN0RW5jcnlwdCxcclxuICAgIH0pXHJcbiAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXM6IGFueSkge1xyXG4gICAgICAgIGNvbnN0IHsgY29kZSB9ID0gcmVzO1xyXG4gICAgICAgIGlmIChtc2cpIHtcclxuICAgICAgICAgIGlmIChjb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKFwi5o+Q5Lqk5oiQ5YqfXCIpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbWVzc2FnZS5lcnJvcihcIuaPkOS6pOWksei0pVwiKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgY2FsbGJhY2sgJiYgY2FsbGJhY2socmVzKTtcclxuICAgICAgfSlcclxuICAgICAgLmNhdGNoKGZ1bmN0aW9uIChlcnJvcjogYW55KSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJlcnJvclwiLCBlcnJvcik7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVGaWVsZHMobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LnZhbGlkYXRlRmllbGRzKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgaGlkZShlKSB7XHJcbiAgICBjb25zdCB7IGlzQ2hhbmdlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjaGFuZ2VWYWxpZCA9IHRydWUsXHJcbiAgICAgIHNob3dNb2RlbCxcclxuICAgICAgbW9kYWxQcm9wcyA9IHt9LFxyXG4gICAgICBkcmF3ZXJQcm9wcyA9IHt9LFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3QgeyBvbkNhbmNlbCB9ID0gbW9kYWxQcm9wcztcclxuICAgIGNvbnN0IHsgb25DbG9zZSB9ID0gZHJhd2VyUHJvcHM7XHJcbiAgICBpZiAoY2hhbmdlVmFsaWQgJiYgaXNDaGFuZ2UpIHtcclxuICAgICAgTW9kYWwuY29uZmlybSh7XHJcbiAgICAgICAgdGl0bGU6IFwi5b2T5YmN6K6w5b2V5bey5L+u5pS55bCa5pyq5L+d5a2Y77yM56Gu5a6a6KaB5pS+5byD5L+u5pS55ZCX77yfXCIsXHJcbiAgICAgICAgY2FuY2VsVGV4dDogXCLlj5bmtohcIixcclxuICAgICAgICBva1RleHQ6IFwi56Gu5a6aXCIsXHJcbiAgICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgICAgb25PaygpIHtcclxuICAgICAgICAgIGlmIChzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIiAmJiBvbkNsb3NlKSB7XHJcbiAgICAgICAgICAgIG9uQ2xvc2UoZSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHNob3dNb2RlbCA9PSBcIm1vZGFsXCIgJiYgb25DYW5jZWwpIHtcclxuICAgICAgICAgICAgb25DYW5jZWwoZSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBfdGhpcy5oaWRlRm9ybSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHNob3dNb2RlbCA9PSBcImRyYXdlclwiICYmIG9uQ2xvc2UpIHtcclxuICAgICAgICBvbkNsb3NlKGUpO1xyXG4gICAgICB9IGVsc2UgaWYgKHNob3dNb2RlbCA9PSBcIm1vZGFsXCIgJiYgb25DYW5jZWwpIHtcclxuICAgICAgICBvbkNhbmNlbChlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBfdGhpcy5oaWRlRm9ybSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoaWRlRm9ybShyZXNldFZhbHVlID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAge1xyXG4gICAgICAgIGZvcm1WaXNpYmxlOiBmYWxzZSxcclxuICAgICAgICBpc0NoYW5nZTogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICBpZiAocmVzZXRWYWx1ZSkge1xyXG4gICAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc2hvd0Zvcm0odmFsdWU/OiBhbnksIHJlc2V0VmFsdWUgPSB0cnVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZm9ybVZpc2libGU6IHRydWUsXHJcbiAgICAgICAgaXNDaGFuZ2U6IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2V0RmllbGRzVmFsdWUodmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAocmVzZXRWYWx1ZSkgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY2xvbmVFbGVtZW50KGl0ZW0sIGluZGV4ID0gMCkge1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIGlmICh0eXBlb2YgaXRlbSA9PSBcInN0cmluZ1wiKSByZXR1cm4gaXRlbTtcclxuICAgIGxldCBwcm9wcyA9IHt9IGFzIHsga2V5OiBudW1iZXI7IGNoaWxkcmVuOiBhbnkgfTtcclxuICAgIHByb3BzLmtleSA9IGluZGV4O1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKGl0ZW0ucHJvcHMgJiYgaXRlbS5wcm9wcy5jaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0ucHJvcHMuY2hpbGRyZW4pKSB7XHJcbiAgICAgICAgICBwcm9wcy5jaGlsZHJlbiA9IFJlYWN0LkNoaWxkcmVuLm1hcChcclxuICAgICAgICAgICAgaXRlbS5wcm9wcy5jaGlsZHJlbixcclxuICAgICAgICAgICAgZnVuY3Rpb24gKGNoaWxkLCBpbmRleCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiBfdGhpcy5jbG9uZUVsZW1lbnQoY2hpbGQsIGluZGV4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcHJvcHMuY2hpbGRyZW4gPSB0aGlzLmNsb25lRWxlbWVudChpdGVtLnByb3BzLmNoaWxkcmVuLCAwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChpdGVtLCBwcm9wcyk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuICBvblZhbHVlc0NoYW5nZSh2YWwsIGFsbFZhbCkge1xyXG4gICAgY29uc3QgeyBvblZhbHVlc0NoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBpc0NoYW5nZTogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgb25WYWx1ZXNDaGFuZ2UgJiYgb25WYWx1ZXNDaGFuZ2UodmFsLCBhbGxWYWwpO1xyXG4gIH1cclxuICByZW5kZXJQYW5lbChuZXdDaGlsZHJlbiwgcHJvcHMpIHtcclxuICAgIGNvbnN0IHsgc2hvd01vZGVsLCBkcmF3ZXJQcm9wcyA9IHt9LCBtb2RhbFByb3BzID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1WaXNpYmxlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgbGF5b3V0ID0ge1xyXG4gICAgICBsYWJlbENvbDogeyBzcGFuOiA0IH0sXHJcbiAgICAgIHdyYXBwZXJDb2w6IHsgc3BhbjogMjAgfSxcclxuICAgIH07XHJcbiAgICBsZXQgb3JndGl0bGUgPSBzaG93TW9kZWwgPT0gXCJtb2RhbFwiID8gbW9kYWxQcm9wcy50aXRsZSA6IGRyYXdlclByb3BzLnRpdGxlO1xyXG4gICAgY29uc3QgY2xvc2FibGUgPVxyXG4gICAgICBzaG93TW9kZWwgPT0gXCJtb2RhbFwiID8gbW9kYWxQcm9wcy5jbG9zYWJsZSA6IGRyYXdlclByb3BzLmNsb3NhYmxlO1xyXG4gICAgY29uc3QgdGl0bGUgPSAoXHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJ0aXRsZVwiKX0+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25zXCIpfT5cclxuICAgICAgICAgIHshdGhpcy5zdGF0ZS5leHBhbmQgJiYgKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGV4cGFuZDogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxFeHBhbmRPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7dGhpcy5zdGF0ZS5leHBhbmQgJiYgKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGV4cGFuZDogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8Q29tcHJlc3NPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7Y2xvc2FibGUgIT09IGZhbHNlICYmIChcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuaGlkZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX1cclxuICAgICAgICAgICAgICBzdHlsZT17e21hcmdpblJpZ2h0OjB9fVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPENsb3NlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJ0aXRsZS1jb250ZW50XCIpfT57b3JndGl0bGV9PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICAgIGNvbnN0IGZvb3RlciA9IChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImZvb3RlclwiKX0+XHJcbiAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxyXG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgICAgICAgICAgaWYgKHNob3dNb2RlbCA9PSBcIm1vZGFsXCIpIHtcclxuICAgICAgICAgICAgICBtb2RhbFByb3BzLm9uT2sgJiYgbW9kYWxQcm9wcy5vbk9rKGZvcm1WYWx1ZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgZHJhd2VyUHJvcHMub25PayAmJiBkcmF3ZXJQcm9wcy5vbk9rKGZvcm1WYWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICBpY29uPXs8UGx1c0NpcmNsZU91dGxpbmVkIC8+fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIOS/neWtmFxyXG4gICAgICAgIDwvQnV0dG9uPlxyXG5cclxuICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhpZGUuYmluZCh0aGlzKX1cclxuICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiYnV0dG9uLW1hcmdpblwiKX1cclxuICAgICAgICAgIGljb249ezxDbG9zZUNpcmNsZU91dGxpbmVkIC8+fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIOWPlua2iFxyXG4gICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgICBpZiAoc2hvd01vZGVsICYmIHNob3dNb2RlbCA9PSBcIm1vZGFsXCIpIHtcclxuICAgICAgbGV0IG5ld01vZGFsUHJvcHMgPSBvbWl0KG1vZGFsUHJvcHMsIFtcInZpc2libGVcIl0pO1xyXG4gICAgICBuZXdNb2RhbFByb3BzID0geyBjZW50ZXJlZDogdHJ1ZSwgZm9vdGVyLCAuLi5uZXdNb2RhbFByb3BzIH07XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPE1vZGFsXHJcbiAgICAgICAgICB2aXNpYmxlPXtmb3JtVmlzaWJsZX1cclxuICAgICAgICAgIGZvb3Rlcj17Zm9vdGVyfVxyXG4gICAgICAgICAgey4uLm5ld01vZGFsUHJvcHN9XHJcbiAgICAgICAgICBvbkNhbmNlbD17dGhpcy5oaWRlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBtYXNrQ2xvc2FibGU9eyF0aGlzLnN0YXRlLmlzQ2hhbmdlfVxyXG4gICAgICAgICAgdGl0bGU9e3RpdGxlfVxyXG4gICAgICAgICAgY2xvc2FibGU9e2ZhbHNlfVxyXG4gICAgICAgICAgY2xhc3NOYW1lPXt0aGlzLnN0YXRlLmV4cGFuZCA/IGdldExlc3Moc3R5bGVzLCBcImFsbHNyZWVuXCIpIDogXCJcIn1cclxuICAgICAgICA+XHJcbiAgICAgICAgICA8Rm9ybVxyXG4gICAgICAgICAgICByZWY9e3RoaXMuZm9ybVJlZn1cclxuICAgICAgICAgICAgey4uLmxheW91dH1cclxuICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICBvblZhbHVlc0NoYW5nZT17dGhpcy5vblZhbHVlc0NoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBwcmVzZXJ2ZT17ZmFsc2V9XHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvTW9kYWw+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2UgaWYgKHNob3dNb2RlbCAmJiBzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICBsZXQgbmV3RHJhd2VyUHJvcHMgPSBvbWl0KGRyYXdlclByb3BzLCBbXCJ2aXNpYmxlXCIsIFwib25Pa1wiXSk7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPERyYXdlclxyXG4gICAgICAgICAgdmlzaWJsZT17Zm9ybVZpc2libGV9XHJcbiAgICAgICAgICBmb290ZXI9e2Zvb3Rlcn1cclxuICAgICAgICAgIHsuLi5uZXdEcmF3ZXJQcm9wc31cclxuICAgICAgICAgIG9uQ2xvc2U9e3RoaXMuaGlkZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgbWFza0Nsb3NhYmxlPXshdGhpcy5zdGF0ZS5pc0NoYW5nZX1cclxuICAgICAgICAgIHRpdGxlPXt0aXRsZX1cclxuICAgICAgICAgIGNsb3NhYmxlPXtmYWxzZX1cclxuICAgICAgICAgIGNsYXNzTmFtZT17dGhpcy5zdGF0ZS5leHBhbmQgPyBnZXRMZXNzKHN0eWxlcywgXCJhbGxzcmVlblwiKSA6IFwiXCJ9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPEZvcm1cclxuICAgICAgICAgICAgcmVmPXt0aGlzLmZvcm1SZWZ9XHJcbiAgICAgICAgICAgIHsuLi5sYXlvdXR9XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgICAgb25WYWx1ZXNDaGFuZ2U9e3RoaXMub25WYWx1ZXNDaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9EcmF3ZXI+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxGb3JtXHJcbiAgICAgICAgICByZWY9e3RoaXMuZm9ybVJlZn1cclxuICAgICAgICAgIHsuLi5sYXlvdXR9XHJcbiAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICBvblZhbHVlc0NoYW5nZT17dGhpcy5vblZhbHVlc0NoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgIC8+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcyxcclxuICAgICAgeyBjaGlsZHJlbiwgc2hvd01vZGVsIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgLy8gY29uc3QgbmV3Q2hpbGRyZW4gPSBSZWFjdC5DaGlsZHJlbi5tYXAoY2hpbGRyZW4sIGZ1bmN0aW9uIChjaGlsZCwgaW5kZXgpIHtcclxuICAgIC8vICAgcmV0dXJuIF90aGlzLmNsb25lRWxlbWVudChjaGlsZCwgaW5kZXgpO1xyXG4gICAgLy8gfSk7XHJcbiAgICBjb25zdCBwcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICBcImZvcm1cIixcclxuICAgICAgXCJzaG93TW9kZWxcIixcclxuICAgICAgXCJtb2RhbFByb3BzXCIsXHJcbiAgICAgIFwiZHJhd2VyUHJvcHNcIixcclxuICAgICAgXCJ1cmxcIixcclxuICAgICAgXCJlbmNyeXB0RmllbGRzXCIsXHJcbiAgICBdKTtcclxuXHJcbiAgICByZXR1cm4gPD57dGhpcy5yZW5kZXJQYW5lbChwcm9wcy5jaGlsZHJlbiwgcHJvcHMpfTwvPjtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgTnNjRm9ybTtcclxuIl19
@@ -0,0 +1,49 @@
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 {
35
+ max-width: 100vw !important;
36
+ height: 100vh;
37
+ width: 100vw !important;
38
+ }
39
+ .ant-modal-content {
40
+ height: 100%;
41
+ }
42
+ .ant-modal-body {
43
+ height: calc(100% - 100px);
44
+ }
45
+ .ant-drawer-content-wrapper {
46
+ width: 100vw !important;
47
+ }
48
+ }
49
+ }
@@ -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