nsc-react-component 2.4.1 → 2.4.3

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.
@@ -2,7 +2,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
2
2
 
3
3
  import "antd/es/image/style/css";
4
4
  import _Image from "antd/es/image";
5
- var _excluded = ["fileId", "src"];
5
+ var _excluded = ["fileId", "src", "clickPreview", "showDownloadIcon"];
6
6
 
7
7
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
8
8
 
@@ -10,6 +10,10 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
10
10
 
11
11
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
12
12
 
13
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
14
+
15
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
16
+
13
17
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14
18
 
15
19
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
@@ -30,7 +34,16 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
30
34
 
31
35
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
32
36
 
37
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
38
+
33
39
  import * as React from "react";
40
+ import file from "nsc-file";
41
+ import styles from "./index.less";
42
+ import { getLess } from "../../utils";
43
+ import { EyeOutlined, DownloadOutlined } from "@ant-design/icons";
44
+ import Spin from "../spin";
45
+ var download = file.download,
46
+ previewDocument = file.previewDocument;
34
47
 
35
48
  var NscImage = /*#__PURE__*/function (_React$PureComponent) {
36
49
  _inherits(NscImage, _React$PureComponent);
@@ -38,31 +51,182 @@ var NscImage = /*#__PURE__*/function (_React$PureComponent) {
38
51
  var _super = _createSuper(NscImage);
39
52
 
40
53
  function NscImage() {
54
+ var _this;
55
+
41
56
  _classCallCheck(this, NscImage);
42
57
 
43
- return _super.apply(this, arguments);
58
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
59
+ args[_key] = arguments[_key];
60
+ }
61
+
62
+ _this = _super.call.apply(_super, [this].concat(args));
63
+
64
+ _defineProperty(_assertThisInitialized(_this), "defaultImg", "data:image/png;base64,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");
65
+
66
+ _defineProperty(_assertThisInitialized(_this), "state", {
67
+ imgData: _this.defaultImg,
68
+ visible: false,
69
+ mask: false,
70
+ loading: true
71
+ });
72
+
73
+ return _this;
44
74
  }
45
75
 
46
76
  _createClass(NscImage, [{
77
+ key: "getImgData",
78
+ value: function () {
79
+ var _getImgData = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
80
+ var _this2 = this;
81
+
82
+ var fileId, img;
83
+ return regeneratorRuntime.wrap(function _callee$(_context) {
84
+ while (1) {
85
+ switch (_context.prev = _context.next) {
86
+ case 0:
87
+ fileId = this.props.fileId;
88
+ _context.next = 3;
89
+ return previewDocument(fileId, {
90
+ responseType: "blob"
91
+ });
92
+
93
+ case 3:
94
+ img = _context.sent;
95
+ this.blobToBase64(img).then(function (res) {
96
+ _this2.setState({
97
+ imgData: res,
98
+ loading: false
99
+ });
100
+ });
101
+
102
+ case 5:
103
+ case "end":
104
+ return _context.stop();
105
+ }
106
+ }
107
+ }, _callee, this);
108
+ }));
109
+
110
+ function getImgData() {
111
+ return _getImgData.apply(this, arguments);
112
+ }
113
+
114
+ return getImgData;
115
+ }()
116
+ }, {
117
+ key: "blobToBase64",
118
+ value: function blobToBase64(blob) {
119
+ return new Promise(function (resolve, reject) {
120
+ var fileReader = new FileReader();
121
+
122
+ fileReader.onload = function (e) {
123
+ resolve(e.target.result);
124
+ };
125
+
126
+ fileReader.readAsDataURL(blob);
127
+
128
+ fileReader.onerror = function () {
129
+ reject(new Error("blobToBase64 error"));
130
+ };
131
+ });
132
+ }
133
+ }, {
134
+ key: "componentDidUpdate",
135
+ value: function componentDidUpdate(prevProps) {
136
+ if (prevProps.fileId !== this.props.fileId) {
137
+ if (this.props.fileId) {
138
+ this.setState({
139
+ loading: true,
140
+ imgData: this.defaultImg
141
+ });
142
+ this.getImgData();
143
+ }
144
+ }
145
+ }
146
+ }, {
147
+ key: "componentDidMount",
148
+ value: function componentDidMount() {
149
+ var fileId = this.props.fileId;
150
+
151
+ if (fileId) {
152
+ this.getImgData();
153
+ } else {
154
+ this.setState({
155
+ loading: false
156
+ });
157
+ }
158
+ }
159
+ }, {
47
160
  key: "render",
48
161
  value: function render() {
162
+ var _this3 = this;
163
+
49
164
  var _this$props = this.props,
50
165
  fileId = _this$props.fileId,
51
166
  src = _this$props.src,
167
+ _this$props$clickPrev = _this$props.clickPreview,
168
+ clickPreview = _this$props$clickPrev === void 0 ? true : _this$props$clickPrev,
169
+ _this$props$showDownl = _this$props.showDownloadIcon,
170
+ showDownloadIcon = _this$props$showDownl === void 0 ? false : _this$props$showDownl,
52
171
  params = _objectWithoutProperties(_this$props, _excluded);
53
172
 
54
- var filesrc = "";
55
-
56
- if (fileId) {
57
- filesrc = "/jquick-resource/oss/endpoint/preview-files?attachId=".concat(fileId);
58
- }
59
-
60
- return /*#__PURE__*/React.createElement(_Image, _extends({
61
- src: filesrc,
173
+ return /*#__PURE__*/React.createElement("div", {
174
+ className: getLess(styles, "nsc-image-total"),
175
+ onMouseEnter: function onMouseEnter() {
176
+ console.log("onMouseEnteronMouseEnter");
177
+
178
+ _this3.setState({
179
+ mask: true
180
+ });
181
+ },
182
+ onMouseLeave: function onMouseLeave() {
183
+ _this3.setState({
184
+ mask: false
185
+ });
186
+ },
187
+ onClick: function onClick() {
188
+ clickPreview && _this3.setState({
189
+ visible: true
190
+ });
191
+ }
192
+ }, /*#__PURE__*/React.createElement(Spin, {
193
+ spinning: this.state.loading // style={{ width: "100%", height: "100%" }}
194
+
195
+ }, /*#__PURE__*/React.createElement("img", {
196
+ src: this.props.src || this.state.imgData,
197
+ style: {
198
+ width: "100%",
199
+ height: "100%"
200
+ }
201
+ })), /*#__PURE__*/React.createElement("div", {
202
+ className: getLess(styles, "nsc-image-mask")
203
+ }, showDownloadIcon && /*#__PURE__*/React.createElement("div", {
204
+ className: getLess(styles, "nsc-image-icon"),
205
+ onClick: function onClick() {
206
+ if (fileId) download(fileId);
207
+ }
208
+ }, /*#__PURE__*/React.createElement(DownloadOutlined, null)), /*#__PURE__*/React.createElement("div", {
209
+ onClick: function onClick() {
210
+ _this3.setState({
211
+ visible: true
212
+ });
213
+ },
214
+ className: getLess(styles, "nsc-image-icon")
215
+ }, /*#__PURE__*/React.createElement(EyeOutlined, null))), /*#__PURE__*/React.createElement(_Image, _extends({
216
+ src: this.props.src || this.state.imgData,
217
+ style: {
218
+ display: "none"
219
+ },
62
220
  preview: {
63
- src: filesrc
221
+ visible: this.state.visible,
222
+ src: this.props.src || this.state.imgData,
223
+ onVisibleChange: function onVisibleChange(value) {
224
+ _this3.setState({
225
+ visible: value
226
+ });
227
+ }
64
228
  }
65
- }, params));
229
+ }, params)));
66
230
  }
67
231
  }]);
68
232
 
@@ -70,4 +234,4 @@ var NscImage = /*#__PURE__*/function (_React$PureComponent) {
70
234
  }(React.PureComponent);
71
235
 
72
236
  export { NscImage as default };
73
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvaW1hZ2UvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiTnNjSW1hZ2UiLCJwcm9wcyIsImZpbGVJZCIsInNyYyIsInBhcmFtcyIsImZpbGVzcmMiLCJQdXJlQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBS0EsS0FBWixNQUF1QixPQUF2Qjs7SUFPcUJDLFE7Ozs7Ozs7Ozs7Ozs7V0FDbkIsa0JBQTBCO0FBQ3hCLHdCQUFtQyxLQUFLQyxLQUF4QztBQUFBLFVBQVFDLE1BQVIsZUFBUUEsTUFBUjtBQUFBLFVBQWdCQyxHQUFoQixlQUFnQkEsR0FBaEI7QUFBQSxVQUF3QkMsTUFBeEI7O0FBQ0EsVUFBSUMsT0FBTyxHQUFHLEVBQWQ7O0FBQ0EsVUFBSUgsTUFBSixFQUFZO0FBQ1ZHLFFBQUFBLE9BQU8sa0VBQTJESCxNQUEzRCxDQUFQO0FBQ0Q7O0FBQ0QsMEJBQ0U7QUFDRSxRQUFBLEdBQUcsRUFBRUcsT0FEUDtBQUVFLFFBQUEsT0FBTyxFQUFFO0FBQ1BGLFVBQUFBLEdBQUcsRUFBRUU7QUFERTtBQUZYLFNBS01ELE1BTE4sRUFERjtBQVNEOzs7O0VBaEJtQ0wsS0FBSyxDQUFDTyxhOztTQUF2Qk4sUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBJbWFnZSwgSW1hZ2VQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcblxyXG5pbnRlcmZhY2UgSUltYWdlUHJvcHMgZXh0ZW5kcyBJbWFnZVByb3BzIHtcclxuICBmaWxlSWQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5zY0ltYWdlIGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudDxJSW1hZ2VQcm9wcywgYW55PiB7XHJcbiAgcmVuZGVyKCk6IFJlYWN0LlJlYWN0Tm9kZSB7XHJcbiAgICBjb25zdCB7IGZpbGVJZCwgc3JjLCAuLi5wYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgZmlsZXNyYyA9IFwiXCI7XHJcbiAgICBpZiAoZmlsZUlkKSB7XHJcbiAgICAgIGZpbGVzcmMgPSBgL2pxdWljay1yZXNvdXJjZS9vc3MvZW5kcG9pbnQvcHJldmlldy1maWxlcz9hdHRhY2hJZD0ke2ZpbGVJZH1gO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPEltYWdlXHJcbiAgICAgICAgc3JjPXtmaWxlc3JjfVxyXG4gICAgICAgIHByZXZpZXc9e3tcclxuICAgICAgICAgIHNyYzogZmlsZXNyYyxcclxuICAgICAgICB9fVxyXG4gICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgIC8+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
237
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvaW1hZ2UvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiZmlsZSIsInN0eWxlcyIsImdldExlc3MiLCJFeWVPdXRsaW5lZCIsIkRvd25sb2FkT3V0bGluZWQiLCJTcGluIiwiZG93bmxvYWQiLCJwcmV2aWV3RG9jdW1lbnQiLCJOc2NJbWFnZSIsImltZ0RhdGEiLCJkZWZhdWx0SW1nIiwidmlzaWJsZSIsIm1hc2siLCJsb2FkaW5nIiwiZmlsZUlkIiwicHJvcHMiLCJyZXNwb25zZVR5cGUiLCJpbWciLCJibG9iVG9CYXNlNjQiLCJ0aGVuIiwicmVzIiwic2V0U3RhdGUiLCJibG9iIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJmaWxlUmVhZGVyIiwiRmlsZVJlYWRlciIsIm9ubG9hZCIsImUiLCJ0YXJnZXQiLCJyZXN1bHQiLCJyZWFkQXNEYXRhVVJMIiwib25lcnJvciIsIkVycm9yIiwicHJldlByb3BzIiwiZ2V0SW1nRGF0YSIsInNyYyIsImNsaWNrUHJldmlldyIsInNob3dEb3dubG9hZEljb24iLCJwYXJhbXMiLCJjb25zb2xlIiwibG9nIiwic3RhdGUiLCJ3aWR0aCIsImhlaWdodCIsImRpc3BsYXkiLCJvblZpc2libGVDaGFuZ2UiLCJ2YWx1ZSIsIlB1cmVDb21wb25lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLQSxLQUFaLE1BQXVCLE9BQXZCO0FBRUEsT0FBT0MsSUFBUCxNQUFpQixVQUFqQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsY0FBbkI7QUFDQSxTQUFTQyxPQUFULFFBQXdCLGFBQXhCO0FBQ0EsU0FDRUMsV0FERixFQUVFQyxnQkFGRixRQUtPLG1CQUxQO0FBT0EsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjtBQUVBLElBQVFDLFFBQVIsR0FBc0NOLElBQXRDLENBQVFNLFFBQVI7QUFBQSxJQUFrQkMsZUFBbEIsR0FBc0NQLElBQXRDLENBQWtCTyxlQUFsQjs7SUFVcUJDLFE7Ozs7Ozs7Ozs7Ozs7Ozs7aUVBRWpCLGdxRzs7NERBQ007QUFDTkMsTUFBQUEsT0FBTyxFQUFFLE1BQUtDLFVBRFI7QUFFTkMsTUFBQUEsT0FBTyxFQUFFLEtBRkg7QUFHTkMsTUFBQUEsSUFBSSxFQUFFLEtBSEE7QUFJTkMsTUFBQUEsT0FBTyxFQUFFO0FBSkgsSzs7Ozs7Ozs7Z0ZBTVI7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ1VDLGdCQUFBQSxNQURWLEdBQ3FCLEtBQUtDLEtBRDFCLENBQ1VELE1BRFY7QUFBQTtBQUFBLHVCQUVvQlAsZUFBZSxDQUFDTyxNQUFELEVBQVM7QUFBRUUsa0JBQUFBLFlBQVksRUFBRTtBQUFoQixpQkFBVCxDQUZuQzs7QUFBQTtBQUVRQyxnQkFBQUEsR0FGUjtBQUdFLHFCQUFLQyxZQUFMLENBQWtCRCxHQUFsQixFQUF1QkUsSUFBdkIsQ0FBNEIsVUFBQ0MsR0FBRCxFQUFTO0FBQ25DLGtCQUFBLE1BQUksQ0FBQ0MsUUFBTCxDQUFjO0FBQ1paLG9CQUFBQSxPQUFPLEVBQUVXLEdBREc7QUFFWlAsb0JBQUFBLE9BQU8sRUFBRTtBQUZHLG1CQUFkO0FBSUQsaUJBTEQ7O0FBSEY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsTzs7Ozs7Ozs7OztXQVVBLHNCQUFhUyxJQUFiLEVBQW1CO0FBQ2pCLGFBQU8sSUFBSUMsT0FBSixDQUFZLFVBQUNDLE9BQUQsRUFBVUMsTUFBVixFQUFxQjtBQUN0QyxZQUFNQyxVQUFVLEdBQUcsSUFBSUMsVUFBSixFQUFuQjs7QUFDQUQsUUFBQUEsVUFBVSxDQUFDRSxNQUFYLEdBQW9CLFVBQUNDLENBQUQsRUFBTztBQUN6QkwsVUFBQUEsT0FBTyxDQUFDSyxDQUFDLENBQUNDLE1BQUYsQ0FBU0MsTUFBVixDQUFQO0FBQ0QsU0FGRDs7QUFHQUwsUUFBQUEsVUFBVSxDQUFDTSxhQUFYLENBQXlCVixJQUF6Qjs7QUFDQUksUUFBQUEsVUFBVSxDQUFDTyxPQUFYLEdBQXFCLFlBQU07QUFDekJSLFVBQUFBLE1BQU0sQ0FBQyxJQUFJUyxLQUFKLENBQVUsb0JBQVYsQ0FBRCxDQUFOO0FBQ0QsU0FGRDtBQUdELE9BVE0sQ0FBUDtBQVVEOzs7V0FDRCw0QkFBbUJDLFNBQW5CLEVBQThCO0FBQzVCLFVBQUlBLFNBQVMsQ0FBQ3JCLE1BQVYsS0FBcUIsS0FBS0MsS0FBTCxDQUFXRCxNQUFwQyxFQUE0QztBQUMxQyxZQUFJLEtBQUtDLEtBQUwsQ0FBV0QsTUFBZixFQUF1QjtBQUNyQixlQUFLTyxRQUFMLENBQWM7QUFDWlIsWUFBQUEsT0FBTyxFQUFFLElBREc7QUFFWkosWUFBQUEsT0FBTyxFQUFFLEtBQUtDO0FBRkYsV0FBZDtBQUlBLGVBQUswQixVQUFMO0FBQ0Q7QUFDRjtBQUNGOzs7V0FDRCw2QkFBb0I7QUFDbEIsVUFBUXRCLE1BQVIsR0FBbUIsS0FBS0MsS0FBeEIsQ0FBUUQsTUFBUjs7QUFDQSxVQUFJQSxNQUFKLEVBQVk7QUFDVixhQUFLc0IsVUFBTDtBQUNELE9BRkQsTUFFTztBQUNMLGFBQUtmLFFBQUwsQ0FBYztBQUNaUixVQUFBQSxPQUFPLEVBQUU7QUFERyxTQUFkO0FBR0Q7QUFDRjs7O1dBQ0Qsa0JBQTBCO0FBQUE7O0FBQ3hCLHdCQU1JLEtBQUtFLEtBTlQ7QUFBQSxVQUNFRCxNQURGLGVBQ0VBLE1BREY7QUFBQSxVQUVFdUIsR0FGRixlQUVFQSxHQUZGO0FBQUEsOENBR0VDLFlBSEY7QUFBQSxVQUdFQSxZQUhGLHNDQUdpQixJQUhqQjtBQUFBLDhDQUlFQyxnQkFKRjtBQUFBLFVBSUVBLGdCQUpGLHNDQUlxQixLQUpyQjtBQUFBLFVBS0tDLE1BTEw7O0FBT0EsMEJBQ0U7QUFDRSxRQUFBLFNBQVMsRUFBRXRDLE9BQU8sQ0FBQ0QsTUFBRCxFQUFTLGlCQUFULENBRHBCO0FBRUUsUUFBQSxZQUFZLEVBQUUsd0JBQU07QUFDbEJ3QyxVQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWSwwQkFBWjs7QUFDQSxVQUFBLE1BQUksQ0FBQ3JCLFFBQUwsQ0FBYztBQUNaVCxZQUFBQSxJQUFJLEVBQUU7QUFETSxXQUFkO0FBR0QsU0FQSDtBQVFFLFFBQUEsWUFBWSxFQUFFLHdCQUFNO0FBQ2xCLFVBQUEsTUFBSSxDQUFDUyxRQUFMLENBQWM7QUFDWlQsWUFBQUEsSUFBSSxFQUFFO0FBRE0sV0FBZDtBQUdELFNBWkg7QUFhRSxRQUFBLE9BQU8sRUFBRSxtQkFBTTtBQUNiMEIsVUFBQUEsWUFBWSxJQUNWLE1BQUksQ0FBQ2pCLFFBQUwsQ0FBYztBQUNaVixZQUFBQSxPQUFPLEVBQUU7QUFERyxXQUFkLENBREY7QUFJRDtBQWxCSCxzQkFvQkUsb0JBQUMsSUFBRDtBQUNFLFFBQUEsUUFBUSxFQUFFLEtBQUtnQyxLQUFMLENBQVc5QixPQUR2QixDQUVFOztBQUZGLHNCQUlFO0FBQ0UsUUFBQSxHQUFHLEVBQUUsS0FBS0UsS0FBTCxDQUFXc0IsR0FBWCxJQUFrQixLQUFLTSxLQUFMLENBQVdsQyxPQURwQztBQUVFLFFBQUEsS0FBSyxFQUFFO0FBQUVtQyxVQUFBQSxLQUFLLEVBQUUsTUFBVDtBQUFpQkMsVUFBQUEsTUFBTSxFQUFFO0FBQXpCO0FBRlQsUUFKRixDQXBCRixlQThCRTtBQUFLLFFBQUEsU0FBUyxFQUFFM0MsT0FBTyxDQUFDRCxNQUFELEVBQVMsZ0JBQVQ7QUFBdkIsU0FJR3NDLGdCQUFnQixpQkFDZjtBQUNFLFFBQUEsU0FBUyxFQUFFckMsT0FBTyxDQUFDRCxNQUFELEVBQVMsZ0JBQVQsQ0FEcEI7QUFFRSxRQUFBLE9BQU8sRUFBRSxtQkFBTTtBQUNiLGNBQUlhLE1BQUosRUFBWVIsUUFBUSxDQUFDUSxNQUFELENBQVI7QUFDYjtBQUpILHNCQU1FLG9CQUFDLGdCQUFELE9BTkYsQ0FMSixlQWNFO0FBQ0UsUUFBQSxPQUFPLEVBQUUsbUJBQU07QUFDYixVQUFBLE1BQUksQ0FBQ08sUUFBTCxDQUFjO0FBQ1pWLFlBQUFBLE9BQU8sRUFBRTtBQURHLFdBQWQ7QUFHRCxTQUxIO0FBTUUsUUFBQSxTQUFTLEVBQUVULE9BQU8sQ0FBQ0QsTUFBRCxFQUFTLGdCQUFUO0FBTnBCLHNCQVFFLG9CQUFDLFdBQUQsT0FSRixDQWRGLENBOUJGLGVBMkRFO0FBQ0UsUUFBQSxHQUFHLEVBQUUsS0FBS2MsS0FBTCxDQUFXc0IsR0FBWCxJQUFrQixLQUFLTSxLQUFMLENBQVdsQyxPQURwQztBQUVFLFFBQUEsS0FBSyxFQUFFO0FBQUVxQyxVQUFBQSxPQUFPLEVBQUU7QUFBWCxTQUZUO0FBR0UsUUFBQSxPQUFPLEVBQUU7QUFDUG5DLFVBQUFBLE9BQU8sRUFBRSxLQUFLZ0MsS0FBTCxDQUFXaEMsT0FEYjtBQUVQMEIsVUFBQUEsR0FBRyxFQUFFLEtBQUt0QixLQUFMLENBQVdzQixHQUFYLElBQWtCLEtBQUtNLEtBQUwsQ0FBV2xDLE9BRjNCO0FBR1BzQyxVQUFBQSxlQUFlLEVBQUUseUJBQUNDLEtBQUQsRUFBVztBQUMxQixZQUFBLE1BQUksQ0FBQzNCLFFBQUwsQ0FBYztBQUNaVixjQUFBQSxPQUFPLEVBQUVxQztBQURHLGFBQWQ7QUFHRDtBQVBNO0FBSFgsU0FZTVIsTUFaTixFQTNERixDQURGO0FBNEVEOzs7O0VBeEltQ3pDLEtBQUssQ0FBQ2tELGE7O1NBQXZCekMsUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBJbWFnZSwgSW1hZ2VQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBmaWxlIGZyb20gXCJuc2MtZmlsZVwiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IHsgZ2V0TGVzcyB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQge1xyXG4gIEV5ZU91dGxpbmVkLFxyXG4gIERvd25sb2FkT3V0bGluZWQsXHJcbiAgVXBsb2FkT3V0bGluZWQsXHJcbiAgRGVsZXRlT3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IFNwaW4gZnJvbSBcIi4uL3NwaW5cIjtcclxuXHJcbmNvbnN0IHsgZG93bmxvYWQsIHByZXZpZXdEb2N1bWVudCB9ID0gZmlsZTtcclxuaW50ZXJmYWNlIElJbWFnZVByb3BzIGV4dGVuZHMgSW1hZ2VQcm9wcyB7XHJcbiAgZmlsZUlkPzogc3RyaW5nO1xyXG4gIHNyYz86IHN0cmluZztcclxuICBjbGlja1ByZXZpZXc/OiBib29sZWFuO1xyXG4gIC8vIHNob3dEZWxldGVJY29uPzogYm9vbGVhbjtcclxuICAvLyBzaG93VXBsb2FkSWNvbj86IGJvb2xlYW47XHJcbiAgc2hvd0Rvd25sb2FkSWNvbj86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5zY0ltYWdlIGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudDxJSW1hZ2VQcm9wcywgYW55PiB7XHJcbiAgZGVmYXVsdEltZyA9XHJcbiAgICBcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBTUlBQUFERENBWUFBQURRdmM2VUFBQUJSV2xEUTFCSlEwTWdVSEp2Wm1sc1pRQUFLSkZqWUdBU1NTd295R0ZoWUdESXpTc3BDbkozVW9pSWpGSmdmOExBd1NEQ0lNb2d3TUNjbUZ4YzRCZ1E0QU5Vd2dDalVjRzNhd3lNSVBxeUxzaXM3UFBPcTNRZERGY3ZqVjNqT0QxYm9RVlRQUXJnU2trdFRnYlNmNEE0TGJtZ3FJU0JnVEVGeUZZdUx5a0FzVHVBYkpFaW9LT0E3RGtnZGpxRXZRSEVUb0t3ajREVmhBUTVBOWszZ0d5QjVJeEVvQm1NTDRCc25TUWs4WFFrTnRSZUVPQnhjZlh4VVFnMU1qYzBkeUhnWE5KQlNXcEZDWWgyemkrb0xNcE16eWhSY0FTR1VxcUNaMTZ5bm82Q2tZR1JBUU1ES013aHFqL2ZBSWNsb3hnSFFxeEFqSUhCRXVndzVzVUlzU1FwQm9idFFQZExjaUxFVkpZek1QQkhNREJzYXloSUxFcUVPNER4RzB0eG1yRVJoTTI5bllHQmRkci8vNS9ER1JqWU5Sa1kvbDcvLy8vMzl2Ly8veTREbW4rTGdlSEFOd0Rya2wxQXVPK3BtZ0FBQURobFdFbG1UVTBBS2dBQUFBZ0FBWWRwQUFRQUFBQUJBQUFBR2dBQUFBQUFBcUFDQUFRQUFBQUJBQUFBd3FBREFBUUFBQUFCQUFBQXd3QUFBQUQ5Yi9IbkFBQUhsa2xFUVZSNEFlM2RQM1BUV0JTR2NiR3pNNkdDS3FsSUJSVjBkSFJKRmFyUTBlVVQ4TEg0Qm5SVTBOSFIwVUVGVmRJbEZSVjdUelJrc29tUFk4dXlrVGsvemV3UWZLdy85em52NHl2SnluTHY0dUxpVjJkQm9EaUJmNHFQMy9BUnVDUkFCRUZBb0JFZ2doZ2dRQVFaUUtBbllFYVFCQVFhQVNLSUFRSkVrQUVFZWdKbUJFbEFvQkVnZ2hnZ1FBUVpRS0FuWUVhUUJBUWFBU0tJQVFKRWtBRUVlZ0ptQkVsQW9CRWdnaGdnUUFRWlFLQW5ZRWFRQkFRYUFTS0lBUUpFa0FFRWVnSm1CRWxBb0JFZ2doZ2dRQVFaUUtBbllFYVFCQVFhQVNLSUFRSkVrQUVFZWdKbUJFbEFvQkVnZ2hnZ1FBUVpRS0FuWUVhUUJBUWFBU0tJQVFKRWtBRUVlZ0ptQkVsQW9CRWdnaGdnUUFRWlFLQW5ZRWFRQkFRYUFTS0lBUUpFa0FFRWVnSm1CRWxBb0JFZ2doZ2dRQVFaUUtBbllFYVFCQVFhQVNLSUFRSkVrQUVFZWdKbUJFbEFvQkVnZ2hnZ1FBUVpRS0FuWUVhUUJBUWFBU0tJQVFKRWtBRUVlZ0ptQkVsQW9CRWdnaGdnUUFRWlFLQW5ZRWFRQkFRYUFTS0lBUUpFa0FFRWVnSm1CRWxBb0JFZ2doZ2dRQVFaUUtBbllFYVFCQVFhQVNLSUFRSkVrQUVFZWdKbUJFbEFvQkVnZ2hnZ1FBUVpRS0FuWUVhUUJBUWFBU0tJQVFKRWtBRUVlZ0ptQkVsQW9CRWdnaGdnUUFRWlFLQW5ZRWFRQkFRYUFTS0lBUUpFa0FFRWVnSm1CRWxBb0JFZ2doZ2cwQWo4aTBKTzRPenNyUHY2OVd2K2hpMnFQSHIwcU52ZjM5K2lJOTdzb1JJaDRmM3o1OC91N2R1M1NYWDdYdDdaMmVuZXZIbXpmUWUrb1NOMmFwU0FQajA5VFNyYitYS0kvZjM3OSswOCtBMGNOUkUyQU5rdXBrK0FDTlB2a1NQY0FBRWliQUN5WFV5ZkFCR20zeU5IdUFFQ1JOZ0FaTHVZUGdFaXJLbEh1N3U3WGR5eXRHd0hBZDhqak55bmc0T0Q3dm56NTFkYlBUOC83ejU4K05COSsvYnQ2alUvVEkrQUdXSEVucng0OGVKL0VzU21Ieng0MEwxOCtmTHl6eEYzWlZNakV5RENpRURqTVlaWlM1d2lQWG55WkZiSmF4TWhRSVFSR3pIdldSN1hDeU9DWHNPbWlEQWkxSG1QTU1RakRwYnBFaURDaUwzNThlTkh1clcvNVNuV2RJQmJYaURDaUEzOC9QbnpyY2UyWXlaNC8vNTlGM2VQTE5NbDRQYnBpTDJKMEw5NzkrN3lEdEhEaHc4dnR6enZkR25FWGR2VWlnU0lzQ0xBV2F2SHAvK3FNMEJjWE1kL3EyNW4xdkY1N1RZQnAwYTNtVXppbGVQajQrN2s1S1NMYjZndDZ5ZEFoUFV6WG5vUFIwZEhsNzlXR1ROQ2ZCbm4xdXZTQ0pkZWdRaExJMXZ2Q2srZlB1MmVQWHQydFpPWUVWNi9mbjMxZHorc2h3QVIxc1AxY3F2TG50YkVOOU14QTl4Y1lqc3hTMWpXUjRBSWEySWJ6eDB0YzQ0ZllYLzE2bFY2TkRGTFhIK1lMMzJqd2lBQ1JCaUViZjVLY1hvVElzUVNwelh4NE4yOEphNEJRb0s3cmdYaXlkYkhqeC9QMjVUYVFBSkVHQWd1V3kwKzJROFBENi9LaTRSOEVWbCtiekJPblpZOTVmcTlyajl6QWtUSTJTeGRpZEJIcUc5K3NrZHc0M2JvckNYTy9aY0pkcmFQV2R2MjJ1SUVpTEE0cTdudnZDdWc4V1RxelF2ZU9IMjZmb2RvN2c2dUZlL2ExN1czK25GQkFrUllFTlJkYjF2a2t6MUNIOWNQc1Z5L2pyaHIyN1BxTVl2RU5ZTmxIQUllc1JpQll3UnkwVis4aVhQOCsvZnZYMTFNcjdMN0VDdWViL3I0OGVNcW03RnVJMkJHV0RFRzhjbSs3RzNORU9mbWRjVFF3NGg5LzU1bGhtN0Rla1JZS1FQWkYyQXJiWFRBeXU0a0RZQjJZeFV6d2cwZ2kvNDF6dEhuZlFHMjZIYkdlbC9jclZybTd0TlkrLzFidGtPRUFaMk0wNXI0RkI3cjlHYkFJZHhhWllySGRPc2dKL3dDRVFZMEo3NFRtT0tuYnh4VDluM0ZnR0dXV3NWZG93SHRqdDlObnZmN3lRTTJhWlUvVElBSUF4cnc2ZE9uQVd0Wlpjb0VuQnBOdVR1T2JXTUVpTEF4MUhZMFpRSkVtSEozSE52R0NCQmhZNmp0YU1vRWlKQjBaMjl2TDZsczU4dnhQY084L3pmcmRvNXF2S08rZDNGeDhXdTh6ZjFkVzRwL2NQekxseS9kdHY5VHMvRWJjdkdBSGhIeWZCSWhaNk5TaUlCVG8wTE5OdFNjQUJGeU5pcUZDQkNoVUxNTk5TZEFoSnlOU2lFQ1JDalViRVBOQ1JBaFo2TlNpQUFSQ2pYYlVITUNSTWpacUJRaVFJUkN6VGJVbkFBUmNqWXFoUWdRb1ZDekRUVW5RSVNjalVvaEFrUW8xR3hEelFrUUlXZWpVb2dBRVFvMTIxQnpBa1RJMmFnVUlrQ0VRczAyMUp3QUVYSTJLb1VJRUtGUXN3MDFKMENFbkkxS0lRSkVLTlJzUTgwSkVDRm5vMUtJQUJFS05kdFFjd0pFeU5tb0ZDSkFoRUxOTnRTY0FCRnlOaXFGQ0JDaFVMTU5OU2RBaEp5TlNpRUNSQ2pVYkVQTkNSQWhaNk5TaUFBUkNqWGJVSE1DUk1qWnFCUWlRSVJDelRiVW5BQVJjallxaFFnUW9WQ3pEVFVuUUlTY2pVb2hBa1FvMUd4RHpRa1FJV2VqVW9nQUVRbzEyMUJ6QWtUSTJhZ1VJa0NFUXMwMjFKd0FFWEkyS29VSUVLRlFzdzAxSjBDRW5JMUtJUUpFS05Sc1E4MEpFQ0ZubzFLSUFCRUtOZHRRY3dKRXlObW9GQ0pBaEVMTk50U2NBQkZ5TmlxRkNCQ2hVTE1OTlNkQWhKeU5TaUVDUkNqVWJFUE5DUkFoWjZOU2lBQVJDalhiVUhNQ1JNalpxQlFpUUlSQ3pUYlVuQUFSY2pZcWhRZ1FvVkN6RFRVblFJU2NqVW9oQWtRbzFHeER6UWtRSVdlalVvZ0FFUW8xMjFCekFrVEkyYWdVSWtDRVFzMDIxSndBRVhJMktvVUlFS0ZRc3cwMUowQ0VuSTFLSVFKRUtOUnNRODBKRUNGbm8xS0lBQkVLTmR0UWN3SkV5Tm1vRkNKQWhFTE5OdFNjQUJGeU5pcUZDQkNoVUxNTk5TZEFoSnlOU2lFQy93R2dLS0M0WU1BNFRBQUFBQUJKUlU1RXJrSmdnZz09XCI7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBpbWdEYXRhOiB0aGlzLmRlZmF1bHRJbWcsXHJcbiAgICB2aXNpYmxlOiBmYWxzZSxcclxuICAgIG1hc2s6IGZhbHNlLFxyXG4gICAgbG9hZGluZzogdHJ1ZSxcclxuICB9O1xyXG4gIGFzeW5jIGdldEltZ0RhdGEoKSB7XHJcbiAgICBjb25zdCB7IGZpbGVJZCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGltZyA9IGF3YWl0IHByZXZpZXdEb2N1bWVudChmaWxlSWQsIHsgcmVzcG9uc2VUeXBlOiBcImJsb2JcIiB9KTtcclxuICAgIHRoaXMuYmxvYlRvQmFzZTY0KGltZykudGhlbigocmVzKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGltZ0RhdGE6IHJlcyxcclxuICAgICAgICBsb2FkaW5nOiBmYWxzZSxcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgYmxvYlRvQmFzZTY0KGJsb2IpIHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGNvbnN0IGZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICBmaWxlUmVhZGVyLm9ubG9hZCA9IChlKSA9PiB7XHJcbiAgICAgICAgcmVzb2x2ZShlLnRhcmdldC5yZXN1bHQpO1xyXG4gICAgICB9O1xyXG4gICAgICBmaWxlUmVhZGVyLnJlYWRBc0RhdGFVUkwoYmxvYik7XHJcbiAgICAgIGZpbGVSZWFkZXIub25lcnJvciA9ICgpID0+IHtcclxuICAgICAgICByZWplY3QobmV3IEVycm9yKFwiYmxvYlRvQmFzZTY0IGVycm9yXCIpKTtcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XHJcbiAgICBpZiAocHJldlByb3BzLmZpbGVJZCAhPT0gdGhpcy5wcm9wcy5maWxlSWQpIHtcclxuICAgICAgaWYgKHRoaXMucHJvcHMuZmlsZUlkKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBsb2FkaW5nOiB0cnVlLFxyXG4gICAgICAgICAgaW1nRGF0YTogdGhpcy5kZWZhdWx0SW1nLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuZ2V0SW1nRGF0YSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgY29uc3QgeyBmaWxlSWQgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoZmlsZUlkKSB7XHJcbiAgICAgIHRoaXMuZ2V0SW1nRGF0YSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICByZW5kZXIoKTogUmVhY3QuUmVhY3ROb2RlIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgZmlsZUlkLFxyXG4gICAgICBzcmMsXHJcbiAgICAgIGNsaWNrUHJldmlldyA9IHRydWUsXHJcbiAgICAgIHNob3dEb3dubG9hZEljb24gPSBmYWxzZSxcclxuICAgICAgLi4ucGFyYW1zXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5zYy1pbWFnZS10b3RhbFwiKX1cclxuICAgICAgICBvbk1vdXNlRW50ZXI9eygpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKFwib25Nb3VzZUVudGVyb25Nb3VzZUVudGVyXCIpO1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIG1hc2s6IHRydWUsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9fVxyXG4gICAgICAgIG9uTW91c2VMZWF2ZT17KCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIG1hc2s6IGZhbHNlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfX1cclxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICBjbGlja1ByZXZpZXcgJiZcclxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfX1cclxuICAgICAgPlxyXG4gICAgICAgIDxTcGluXHJcbiAgICAgICAgICBzcGlubmluZz17dGhpcy5zdGF0ZS5sb2FkaW5nfVxyXG4gICAgICAgICAgLy8gc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiLCBoZWlnaHQ6IFwiMTAwJVwiIH19XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICBzcmM9e3RoaXMucHJvcHMuc3JjIHx8IHRoaXMuc3RhdGUuaW1nRGF0YX1cclxuICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiLCBoZWlnaHQ6IFwiMTAwJVwiIH19XHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvU3Bpbj5cclxuICAgICAgICB7Lyoge3RoaXMuc3RhdGUubWFzayAmJiAoICovfVxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJuc2MtaW1hZ2UtbWFza1wiKX0+XHJcbiAgICAgICAgICB7LyogPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5zYy1pbWFnZS1pY29uXCIpfT5cclxuICAgICAgICAgICAgPFVwbG9hZE91dGxpbmVkIC8+XHJcbiAgICAgICAgICA8L2Rpdj4gKi99XHJcbiAgICAgICAgICB7c2hvd0Rvd25sb2FkSWNvbiAmJiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5zYy1pbWFnZS1pY29uXCIpfVxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChmaWxlSWQpIGRvd25sb2FkKGZpbGVJZCk7XHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxEb3dubG9hZE91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJuc2MtaW1hZ2UtaWNvblwiKX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPEV5ZU91dGxpbmVkIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIHsvKiA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwibnNjLWltYWdlLWljb25cIil9PlxyXG4gICAgICAgICAgICA8RGVsZXRlT3V0bGluZWQgLz5cclxuICAgICAgICAgIDwvZGl2PiAqL31cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB7LyogKX0gKi99XHJcbiAgICAgICAgPEltYWdlXHJcbiAgICAgICAgICBzcmM9e3RoaXMucHJvcHMuc3JjIHx8IHRoaXMuc3RhdGUuaW1nRGF0YX1cclxuICAgICAgICAgIHN0eWxlPXt7IGRpc3BsYXk6IFwibm9uZVwiIH19XHJcbiAgICAgICAgICBwcmV2aWV3PXt7XHJcbiAgICAgICAgICAgIHZpc2libGU6IHRoaXMuc3RhdGUudmlzaWJsZSxcclxuICAgICAgICAgICAgc3JjOiB0aGlzLnByb3BzLnNyYyB8fCB0aGlzLnN0YXRlLmltZ0RhdGEsXHJcbiAgICAgICAgICAgIG9uVmlzaWJsZUNoYW5nZTogKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICB2aXNpYmxlOiB2YWx1ZSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,29 @@
1
+ .nsc-image-total {
2
+ height: 100%;
3
+ width: 100%;
4
+ position: relative;
5
+ cursor: pointer;
6
+ :global {
7
+ .ant-spin-container {
8
+ width: 100%;
9
+ height: 100%;
10
+ }
11
+ }
12
+ }
13
+ .nsc-image-mask {
14
+ height: 100%;
15
+ width: 100%;
16
+ position: absolute;
17
+ inset: 0;
18
+ display: flex;
19
+ align-items: center;
20
+ justify-content: center;
21
+ color: #fff;
22
+ background: rgba(0, 0, 0, 0.5);
23
+ transition: opacity 0.3s;
24
+ }
25
+ .nsc-image-icon {
26
+ font-size: 14px;
27
+ width: 20px;
28
+ text-align: center;
29
+ }
@@ -1,7 +1,13 @@
1
1
  import { PureComponent } from "react";
2
2
  import { ModalProps, DrawerProps } from "antd";
3
+ interface formExpand {
4
+ change?: boolean;
5
+ valid?: boolean;
6
+ expand?: boolean;
7
+ }
3
8
  interface NscModalPorps extends ModalProps, DrawerProps {
4
9
  type?: "modal" | "drawer";
10
+ formExpand?: formExpand;
5
11
  }
6
12
  export default class NscModal extends PureComponent<NscModalPorps> {
7
13
  static confirm: import("antd/lib/modal/confirm").ModalFunc;
@@ -12,6 +18,7 @@ export default class NscModal extends PureComponent<NscModalPorps> {
12
18
  returnValue: any;
13
19
  state: {
14
20
  visible: boolean;
21
+ expand: boolean;
15
22
  };
16
23
  option: any;
17
24
  /**
@@ -31,6 +38,7 @@ export default class NscModal extends PureComponent<NscModalPorps> {
31
38
  * @param {String} key
32
39
  */
33
40
  getParams(key: any): any;
41
+ formValid(flag?: boolean): void;
34
42
  render(): JSX.Element;
35
43
  }
36
44
  export {};
@@ -1,10 +1,10 @@
1
1
  function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
2
2
 
3
- import "antd/es/modal/style/css";
4
- import _Modal from "antd/es/modal";
5
3
  import "antd/es/drawer/style/css";
6
4
  import _Drawer from "antd/es/drawer";
7
- var _excluded = ["type"];
5
+ import "antd/es/modal/style/css";
6
+ import _Modal from "antd/es/modal";
7
+ var _excluded = ["type", "closable", "title", "okButtonProps", "formExpand"];
8
8
 
9
9
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
10
10
 
@@ -40,7 +40,11 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
40
40
 
41
41
  import React, { PureComponent } from "react";
42
42
  import { utils } from "@bj-nsc/msn/lib/utils";
43
- import config from '../../config';
43
+ import config from "../../config";
44
+ import { PlusCircleOutlined, CloseCircleOutlined, CloseOutlined, ExpandOutlined, CompressOutlined } from "@ant-design/icons";
45
+ import Button from "../button";
46
+ import { getLess } from "../../utils";
47
+ import styles from "./index.less";
44
48
 
45
49
  var NscModal = /*#__PURE__*/function (_PureComponent) {
46
50
  _inherits(NscModal, _PureComponent);
@@ -61,7 +65,8 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
61
65
  _defineProperty(_assertThisInitialized(_this2), "returnValue", null);
62
66
 
63
67
  _defineProperty(_assertThisInitialized(_this2), "state", {
64
- visible: false
68
+ visible: false,
69
+ expand: false
65
70
  });
66
71
 
67
72
  _defineProperty(_assertThisInitialized(_this2), "option", {
@@ -102,7 +107,9 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
102
107
  }, {
103
108
  key: "hide",
104
109
  value: function hide() {
105
- this.setState({
110
+ var _this = this;
111
+
112
+ _this.setState({
106
113
  visible: false
107
114
  });
108
115
  } //设置需要返回的值
@@ -131,11 +138,47 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
131
138
  callback = _this$option.callback,
132
139
  scope = _this$option.scope,
133
140
  callbackBeforeClose = _this$option.callbackBeforeClose;
141
+ var _this$props = this.props,
142
+ _this$props$formExpan = _this$props.formExpand,
143
+ formExpand = _this$props$formExpan === void 0 ? {} : _this$props$formExpan,
144
+ onCancel = _this$props.onCancel,
145
+ onClose = _this$props.onClose;
134
146
  if (result) this.setReturnValue(result);
135
147
  var r = utils.callback(callbackBeforeClose, scope, [this.returnValue]);
136
- if (r !== false) this.setState({
137
- visible: false
138
- });
148
+
149
+ if (r !== false) {
150
+ var _formExpand$expand = formExpand.expand,
151
+ expand = _formExpand$expand === void 0 ? false : _formExpand$expand;
152
+
153
+ if (expand && formExpand.change && formExpand.change) {
154
+ _Modal.confirm({
155
+ title: "当前记录已修改尚未保存,确定要放弃修改吗?",
156
+ cancelText: "取消",
157
+ okText: "确定",
158
+ centered: true,
159
+ onOk: function onOk() {
160
+ if (onCancel || onClose) {
161
+ onCancel && onCancel(result);
162
+ onClose && onClose(result);
163
+ } else {
164
+ _this.setState({
165
+ visible: false
166
+ });
167
+ }
168
+ }
169
+ });
170
+ } else {
171
+ if (onCancel || onClose) {
172
+ onCancel && onCancel(result);
173
+ onClose && onClose(result);
174
+ } else {
175
+ _this.setState({
176
+ visible: false
177
+ });
178
+ }
179
+ }
180
+ }
181
+
139
182
  utils.callback(callback, scope, [_this.returnValue]);
140
183
  }
141
184
  /**
@@ -149,15 +192,30 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
149
192
  if (key) return this.option.params[key];
150
193
  return this.option.params;
151
194
  }
195
+ }, {
196
+ key: "formValid",
197
+ value: function formValid() {
198
+ var flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
199
+
200
+ var _this = this;
201
+
202
+ if (flag) {}
203
+ }
152
204
  }, {
153
205
  key: "render",
154
206
  value: function render() {
155
207
  var _this3 = this;
156
208
 
157
- var _this$props = this.props,
158
- _this$props$type = _this$props.type,
159
- type = _this$props$type === void 0 ? "modal" : _this$props$type,
160
- params = _objectWithoutProperties(_this$props, _excluded);
209
+ var _this$props2 = this.props,
210
+ _this$props2$type = _this$props2.type,
211
+ type = _this$props2$type === void 0 ? "modal" : _this$props2$type,
212
+ closable = _this$props2.closable,
213
+ orgtitle = _this$props2.title,
214
+ _this$props2$okButton = _this$props2.okButtonProps,
215
+ okButtonProps = _this$props2$okButton === void 0 ? {} : _this$props2$okButton,
216
+ _this$props2$formExpa = _this$props2.formExpand,
217
+ formExpand = _this$props2$formExpa === void 0 ? {} : _this$props2$formExpa,
218
+ params = _objectWithoutProperties(_this$props2, _excluded);
161
219
 
162
220
  var props = _objectSpread({}, params);
163
221
 
@@ -172,6 +230,60 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
172
230
  });
173
231
  }
174
232
 
233
+ var title = /*#__PURE__*/React.createElement("div", {
234
+ className: getLess(styles, "title")
235
+ }, /*#__PURE__*/React.createElement("div", {
236
+ className: getLess(styles, "icons")
237
+ }, !this.state.expand && /*#__PURE__*/React.createElement("div", {
238
+ onClick: function onClick() {
239
+ _this3.setState({
240
+ expand: true
241
+ });
242
+ },
243
+ className: getLess(styles, "icon")
244
+ }, /*#__PURE__*/React.createElement(ExpandOutlined, null)), this.state.expand && /*#__PURE__*/React.createElement("div", {
245
+ onClick: function onClick() {
246
+ _this3.setState({
247
+ expand: false
248
+ });
249
+ },
250
+ className: getLess(styles, "icon")
251
+ }, /*#__PURE__*/React.createElement(CompressOutlined, null)), closable !== false && /*#__PURE__*/React.createElement("div", {
252
+ onClick: this.close.bind(this),
253
+ className: getLess(styles, "icon"),
254
+ style: {
255
+ marginRight: 0
256
+ }
257
+ }, /*#__PURE__*/React.createElement(CloseOutlined, null))), /*#__PURE__*/React.createElement("div", {
258
+ className: getLess(styles, "title-content")
259
+ }, orgtitle));
260
+ var footer = /*#__PURE__*/React.createElement("div", {
261
+ className: getLess(styles, "footer")
262
+ }, /*#__PURE__*/React.createElement(Button, _extends({
263
+ type: "primary",
264
+ onClick: function onClick() {
265
+ props.onOk && props.onOk();
266
+ },
267
+ icon: /*#__PURE__*/React.createElement(PlusCircleOutlined, null)
268
+ }, okButtonProps), "\u4FDD\u5B58"), /*#__PURE__*/React.createElement(Button, {
269
+ onClick: this.close.bind(this),
270
+ className: getLess(styles, "button-margin"),
271
+ icon: /*#__PURE__*/React.createElement(CloseCircleOutlined, null)
272
+ }, "\u53D6\u6D88"));
273
+
274
+ if (formExpand.expand) {
275
+ props = _objectSpread(_objectSpread({}, props), {}, {
276
+ footer: footer,
277
+ title: title,
278
+ closable: false,
279
+ style: {
280
+ maxWidth: "100vw"
281
+ },
282
+ className: this.state.expand ? getLess(styles, "allsreen") : "",
283
+ width: this.state.expand ? "100vw" : props.width
284
+ });
285
+ }
286
+
175
287
  if (type == "drawer") {
176
288
  return /*#__PURE__*/React.createElement(_Drawer, _extends({
177
289
  visible: this.state.visible,
@@ -189,7 +301,9 @@ var NscModal = /*#__PURE__*/function (_PureComponent) {
189
301
  _this3.close();
190
302
  },
191
303
  okText: "确定",
192
- cancelText: "取消"
304
+ cancelText: "取消",
305
+ centered: true // title={formExpand ? title : this.props.title}
306
+
193
307
  }, props));
194
308
  }
195
309
  }
@@ -209,4 +323,4 @@ _defineProperty(NscModal, "error", _Modal.error);
209
323
  _defineProperty(NscModal, "warning", _Modal.warning);
210
324
 
211
325
  export { NscModal as default };
212
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvbW9kYWwvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsInV0aWxzIiwiY29uZmlnIiwiTnNjTW9kYWwiLCJ2aXNpYmxlIiwic2NvcGUiLCJwYXJhbXMiLCJiZWZvcmVSZW5kZXIiLCJjYWxsYmFja0JlZm9yZUNsb3NlIiwiY2FsbGJhY2siLCJvcHRpb24iLCJzZXRTdGF0ZSIsInJldHVyblZhbHVlIiwicmVzdWx0IiwiX3RoaXMiLCJzZXRSZXR1cm5WYWx1ZSIsInIiLCJrZXkiLCJwcm9wcyIsInR5cGUiLCJtb3VudEVsZW1lbnRJZCIsImdldENvbnRhaW5lciIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJzdGF0ZSIsImNsb3NlIiwiY29uZmlybSIsImluZm8iLCJzdWNjZXNzIiwiZXJyb3IiLCJ3YXJuaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxJQUFnQkMsYUFBaEIsUUFBcUMsT0FBckM7QUFFQSxTQUFTQyxLQUFULFFBQXNCLHVCQUF0QjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsY0FBbkI7O0lBTXFCQyxROzs7Ozs7Ozs7Ozs7Ozs7O21FQVFMLEk7OzZEQUVOO0FBQ05DLE1BQUFBLE9BQU8sRUFBRTtBQURILEs7OzhEQUdNO0FBQ1o7QUFDQUMsTUFBQUEsS0FBSyxnQ0FGTztBQUdaO0FBQ0FDLE1BQUFBLE1BQU0sRUFBRSxFQUpJO0FBS1o7QUFDQUMsTUFBQUEsWUFBWSxFQUFFLElBTkY7QUFPWjtBQUNBQyxNQUFBQSxtQkFBbUIsRUFBRSxJQVJUO0FBU1o7QUFDQUMsTUFBQUEsUUFBUSxFQUFFO0FBVkUsSzs7Ozs7Ozs7QUFZZDtBQUNGO0FBQ0E7QUFDQTtBQUVFO0FBQ0Esb0JBQXVCO0FBQUEsVUFBbEJDLE1BQWtCLHVFQUFKLEVBQUk7QUFDckIsVUFBUUwsS0FBUixH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VUFBVSxFQUFFO0FBVGQsV0FVTVAsS0FWTixFQURGO0FBY0Q7QUFDRjs7OztFQTlHbUNsQixhOztnQkFBakJHLFEsYUFDRixPQUFNdUIsTzs7Z0JBREp2QixRLFVBRUwsT0FBTXdCLEk7O2dCQUZEeEIsUSxhQUdGLE9BQU15QixPOztnQkFISnpCLFEsV0FJSixPQUFNMEIsSzs7Z0JBSkYxQixRLGFBS0YsT0FBTTJCLE87O1NBTEozQixRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgTW9kYWwsIE1vZGFsUHJvcHMsIERyYXdlciwgRHJhd2VyUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tICcuLi8uLi9jb25maWcnXHJcblxyXG5pbnRlcmZhY2UgTnNjTW9kYWxQb3JwcyBleHRlbmRzIE1vZGFsUHJvcHMsIERyYXdlclByb3BzIHtcclxuICB0eXBlPzogXCJtb2RhbFwiIHwgXCJkcmF3ZXJcIjtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTnNjTW9kYWwgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PE5zY01vZGFsUG9ycHM+IHtcclxuICBzdGF0aWMgY29uZmlybSA9IE1vZGFsLmNvbmZpcm07XHJcbiAgc3RhdGljIGluZm8gPSBNb2RhbC5pbmZvO1xyXG4gIHN0YXRpYyBzdWNjZXNzID0gTW9kYWwuc3VjY2VzcztcclxuICBzdGF0aWMgZXJyb3IgPSBNb2RhbC5lcnJvcjtcclxuICBzdGF0aWMgd2FybmluZyA9IE1vZGFsLndhcm5pbmc7XHJcblxyXG4gIC8v6L+U5Zue5YC8XHJcbiAgcmV0dXJuVmFsdWUgPSBudWxsO1xyXG5cclxuICBzdGF0ZSA9IHtcclxuICAgIHZpc2libGU6IGZhbHNlLFxyXG4gIH07XHJcbiAgb3B0aW9uOiBhbnkgPSB7XHJcbiAgICAvL+Wbnuiwg+S9nOeUqOWfn1xyXG4gICAgc2NvcGU6IHRoaXMsXHJcbiAgICAvL29wZW7kvKDpgJLov4fmnaXnmoTpobXpnaLlj4LmlbBcclxuICAgIHBhcmFtczoge30sXHJcbiAgICAvL+aYvuekuuS5i+WJjeWbnuiwg1xyXG4gICAgYmVmb3JlUmVuZGVyOiBudWxsLFxyXG4gICAgLy/lhbPpl63kuYvliY3lm57osIPvvIzlpoLmnpxyZXR1cm4gZmFsc2XvvIzkuJTnqpflj6PkuI3lhbPpl61cclxuICAgIGNhbGxiYWNrQmVmb3JlQ2xvc2U6IG51bGwsXHJcbiAgICAvL+WFs+mXreWQjuWbnuiwg++8jOW8guatpeaTjeS9nFxyXG4gICAgY2FsbGJhY2s6IG51bGwsXHJcbiAgfTtcclxuICAvKipcclxuICAgKiDmuLLmn5PlrozmiJBcclxuICAgKiBAcGFyYW0geyp9IG9wdGlvbiAg5pW05pS55Lyg6YCS5a+56LGhXHJcbiAgICovXHJcblxyXG4gIC8v5pi+56S6XHJcbiAgc2hvdyhvcHRpb246IGFueSA9IHt9KSB7XHJcbiAgICBjb25zdCB7IHNjb3BlIH0gPSB0aGlzLm9wdGlvbjtcclxuICAgIGNvbnN0IHsgYmVmb3JlUmVuZGVyIH0gPSBvcHRpb247XHJcbiAgICB0aGlzLm9wdGlvbiA9IHsgLi4udGhpcy5vcHRpb24sIC4uLm9wdGlvbiB9O1xyXG4gICAgdXRpbHMuY2FsbGJhY2soYmVmb3JlUmVuZGVyLCBzY29wZSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHsgdmlzaWJsZTogdHJ1ZSB9KTtcclxuICB9XHJcblxyXG4gIC8v6ZqQ6JePXHJcbiAgaGlkZSgpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoeyB2aXNpYmxlOiBmYWxzZSB9KTtcclxuICB9XHJcblxyXG4gIC8v6K6+572u6ZyA6KaB6L+U5Zue55qE5YC8XHJcbiAgc2V0UmV0dXJuVmFsdWUocmV0dXJuVmFsdWUpIHtcclxuICAgIHRoaXMucmV0dXJuVmFsdWUgPSByZXR1cm5WYWx1ZTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W6ZyA6KaB6L+U5Zue55qE5YC8XHJcbiAgZ2V0UmV0dXJuVmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yZXR1cm5WYWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOWFs+mXreW4puWbnuiwg1xyXG4gICAqL1xyXG4gIGNsb3NlKHJlc3VsdD86IGFueSkge1xyXG4gICAgdmFyIF90aGlzID0gdGhpcztcclxuICAgIGNvbnN0IHsgY2FsbGJhY2ssIHNjb3BlLCBjYWxsYmFja0JlZm9yZUNsb3NlIH0gPSB0aGlzLm9wdGlvbjtcclxuICAgIGlmIChyZXN1bHQpIHRoaXMuc2V0UmV0dXJuVmFsdWUocmVzdWx0KTtcclxuICAgIGNvbnN0IHIgPSB1dGlscy5jYWxsYmFjayhjYWxsYmFja0JlZm9yZUNsb3NlLCBzY29wZSwgW3RoaXMucmV0dXJuVmFsdWVdKTtcclxuICAgIGlmIChyICE9PSBmYWxzZSkgdGhpcy5zZXRTdGF0ZSh7IHZpc2libGU6IGZhbHNlIH0pO1xyXG4gICAgdXRpbHMuY2FsbGJhY2soY2FsbGJhY2ssIHNjb3BlLCBbX3RoaXMucmV0dXJuVmFsdWVdKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPluWPguaVsO+8jOWmguaenGtleeS4jeS8oOmAku+8jOS4lOiOt+WPluWFqOmDqFxyXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBrZXlcclxuICAgKi9cclxuICBnZXRQYXJhbXMoa2V5KSB7XHJcbiAgICBpZiAoa2V5KSByZXR1cm4gdGhpcy5vcHRpb24ucGFyYW1zW2tleV07XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb24ucGFyYW1zO1xyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IHR5cGUgPSBcIm1vZGFsXCIsIC4uLnBhcmFtcyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGxldCBwcm9wcyA6YW55ID0geyAuLi5wYXJhbXMgfTtcclxuICAgIGxldCB7IG1vdW50RWxlbWVudElkIH0gPSBjb25maWcoKTtcclxuICAgIGlmIChtb3VudEVsZW1lbnRJZCkge1xyXG4gICAgICBwcm9wcyA9IHtcclxuICAgICAgICAuLi5wcm9wcyxcclxuICAgICAgICBnZXRDb250YWluZXI6ICgpID0+IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG1vdW50RWxlbWVudElkKSxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIGlmICh0eXBlID09IFwiZHJhd2VyXCIpIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8RHJhd2VyXHJcbiAgICAgICAgICB2aXNpYmxlPXt0aGlzLnN0YXRlLnZpc2libGV9XHJcbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPE1vZGFsXHJcbiAgICAgICAgICB2aXNpYmxlPXt0aGlzLnN0YXRlLnZpc2libGV9XHJcbiAgICAgICAgICBvbkNhbmNlbD17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgb25Paz17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgb2tUZXh0PXtcIuehruWumlwifVxyXG4gICAgICAgICAgY2FuY2VsVGV4dD17XCLlj5bmtohcIn1cclxuICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAvPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
326
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvbW9kYWwvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsInV0aWxzIiwiY29uZmlnIiwiUGx1c0NpcmNsZU91dGxpbmVkIiwiQ2xvc2VDaXJjbGVPdXRsaW5lZCIsIkNsb3NlT3V0bGluZWQiLCJFeHBhbmRPdXRsaW5lZCIsIkNvbXByZXNzT3V0bGluZWQiLCJCdXR0b24iLCJnZXRMZXNzIiwic3R5bGVzIiwiTnNjTW9kYWwiLCJ2aXNpYmxlIiwiZXhwYW5kIiwic2NvcGUiLCJwYXJhbXMiLCJiZWZvcmVSZW5kZXIiLCJjYWxsYmFja0JlZm9yZUNsb3NlIiwiY2FsbGJhY2siLCJvcHRpb24iLCJzZXRTdGF0ZSIsIl90aGlzIiwicmV0dXJuVmFsdWUiLCJyZXN1bHQiLCJwcm9wcyIsImZvcm1FeHBhbmQiLCJvbkNhbmNlbCIsIm9uQ2xvc2UiLCJzZXRSZXR1cm5WYWx1ZSIsInIiLCJjaGFuZ2UiLCJjb25maXJtIiwidGl0bGUiLCJjYW5jZWxUZXh0Iiwib2tUZXh0IiwiY2VudGVyZWQiLCJvbk9rIiwia2V5IiwiZmxhZyIsInR5cGUiLCJjbG9zYWJsZSIsIm9yZ3RpdGxlIiwib2tCdXR0b25Qcm9wcyIsIm1vdW50RWxlbWVudElkIiwiZ2V0Q29udGFpbmVyIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsInN0YXRlIiwiY2xvc2UiLCJiaW5kIiwibWFyZ2luUmlnaHQiLCJmb290ZXIiLCJzdHlsZSIsIm1heFdpZHRoIiwiY2xhc3NOYW1lIiwid2lkdGgiLCJpbmZvIiwic3VjY2VzcyIsImVycm9yIiwid2FybmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBRUEsU0FBU0MsS0FBVCxRQUFzQix1QkFBdEI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsU0FDRUMsa0JBREYsRUFFRUMsbUJBRkYsRUFHRUMsYUFIRixFQUlFQyxjQUpGLEVBS0VDLGdCQUxGLFFBTU8sbUJBTlA7QUFPQSxPQUFPQyxNQUFQLE1BQW1CLFdBQW5CO0FBQ0EsU0FBU0MsT0FBVCxRQUF3QixhQUF4QjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsY0FBbkI7O0lBWXFCQyxROzs7Ozs7Ozs7Ozs7Ozs7O21FQVFMLEk7OzZEQUVOO0FBQ05DLE1BQUFBLE9BQU8sRUFBRSxLQURIO0FBRU5DLE1BQUFBLE1BQU0sRUFBRTtBQUZGLEs7OzhEQUlNO0FBQ1o7QUFDQUMsTUFBQUEsS0FBSyxnQ0FGTztBQUdaO0FBQ0FDLE1BQUFBLE1BQU0sRUFBRSxFQUpJO0FBS1o7QUFDQUMsTUFBQUEsWUFBWSxFQUFFLElBTkY7QUFPWjtBQUNBQyxNQUFBQSxtQkFBbUIsRUFBRSxJQVJUO0FBU1o7QUFDQUMsTUFBQUEsUUFBUSxFQUFFO0FBVkUsSzs7Ozs7Ozs7QUFZZDtBQUNGO0FBQ0E7QUFDQTtBQUVFO0FBQ0Esb0JBQXVCO0FBQUEsVUFBbEJDLE1BQWtCLHVFQUFKLEVBQUk7QUFDckIsVUFBUUwsS0FBUixHQUFrQixLQUFLSyxNQUF2QixDQUFRTCxLQUFSO0FBQ0EsVUFBUUUsWUFBUixHQUF5QkcsTUFBekIsQ0FBUUgsWUFBUjtBQUNBLFdBQUtHLE1BQUwsbUNBQW1CLEtBQUtBLE1BQXhCLEdBQW1DQSxNQUFuQztBQUNBbEIsTUFBQUEsS0FBSyxDQUFDaUIsUUFBTixDQUFlRixZQUFmLEVBQTZCRixLQUE3QjtBQUNBLFdBQUtNLFFBQUwsQ0FBYztBQUFFUixRQUFBQSxPQUFPLEVBQUU7QUFBWCxPQUFkO0FBQ0QsSyxDQUVEOzs7O1dBQ0EsZ0JBQU87QUFDTCxVQUFJUyxLQUFLLEdBQUcsSUFBWjs7QUFDQUEsTUFBQUEsS0FBSyxDQUFDRCxRQUFOLENBQWU7QUFBRVIsUUFBQUEsT0FBTyxFQUFFO0FBQVgsT0FBZjtBQUNELEssQ0FFRDs7OztXQUNBLHdCQUFlVSxXQUFmLEVBQTRCO0FBQzFCLFdBQUtBLFdBQUwsR0FBbUJBLFdBQW5CO0FBQ0QsSyxDQUVEOzs7O1dBQ0EsMEJBQWlCO0FBQ2YsYUFBTyxLQUFLQSxXQUFaO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7Ozs7V0FDRSxlQUFNQyxNQUFOLEVBQW9CO0FBQ2xCLFVBQUlGLEtBQUssR0FBRyxJQUFaOztBQUNBLHlCQUFpRCxLQUFLRixNQUF0RDtBQUFBLFVBQVFELFFBQVIsZ0JBQVFBLFFBQVI7QUFBQSxVQUFrQkosS0FBbEIsZ0JBQWtCQSxLQUFsQjtBQUFBLFVBQXlCRyxtQkFBekIsZ0JBQXlCQSxtQkFBekI7QUFDQSx3QkFBK0MsS0FBS08sS0FBcEQ7QUFBQSw4Q0FBUUMsVUFBUjtBQUFBLFVBQVFBLFVBQVIsc0NBQXFCLEVBQXJCO0FBQUEsVUFBeUJDLFFBQXpCLGVBQXlCQSxRQUF6QjtBQUFBLFVBQW1DQyxPQUFuQyxlQUFtQ0EsT0FBbkM7QUFDQSxVQUFJSixNQUFKLEVBQVksS0FBS0ssY0FBTCxDQUFvQkwsTUFBcEI7QUFDWixVQUFNTSxDQUFDLEdBQUc1QixLQUFLLENBQUNpQixRQUFOLENBQWVELG1CQUFmLEVBQW9DSCxLQUFwQyxFQUEyQyxDQUFDLEtBQUtRLFdBQU4sQ0FBM0MsQ0FBVjs7QUFDQSxVQUFJTyxDQUFDLEtBQUssS0FBVixFQUFpQjtBQUNmLGlDQUEyQkosVUFBM0IsQ0FBUVosTUFBUjtBQUFBLFlBQVFBLE1BQVIsbUNBQWlCLEtBQWpCOztBQUNBLFlBQUlBLE1BQU0sSUFBSVksVUFBVSxDQUFDSyxNQUFyQixJQUErQkwsVUFBVSxDQUFDSyxNQUE5QyxFQUFzRDtBQUNwRCxpQkFBTUMsT0FBTixDQUFjO0FBQ1pDLFlBQUFBLEtBQUssRUFBRSx1QkFESztBQUVaQyxZQUFBQSxVQUFVLEVBQUUsSUFGQTtBQUdaQyxZQUFBQSxNQUFNLEVBQUUsSUFISTtBQUlaQyxZQUFBQSxRQUFRLEVBQUUsSUFKRTtBQUtaQyxZQUFBQSxJQUxZLGtCQUtMO0FBQ0wsa0JBQUlWLFFBQVEsSUFBSUMsT0FBaEIsRUFBeUI7QUFDdkJELGdCQUFBQSxRQUFRLElBQUlBLFFBQVEsQ0FBQ0gsTUFBRCxDQUFwQjtBQUNBSSxnQkFBQUEsT0FBTyxJQUFJQSxPQUFPLENBQUNKLE1BQUQsQ0FBbEI7QUFDRCxlQUhELE1BR087QUFDTEYsZ0JBQUFBLEtBQUssQ0FBQ0QsUUFBTixDQUFlO0FBQUVSLGtCQUFBQSxPQUFPLEVBQUU7QUFBWCxpQkFBZjtBQUNEO0FBQ0Y7QUFaVyxXQUFkO0FBY0QsU0FmRCxNQWVPO0FBQ0wsY0FBSWMsUUFBUSxJQUFJQyxPQUFoQixFQUF5QjtBQUN2QkQsWUFBQUEsUUFBUSxJQUFJQSxRQUFRLENBQUNILE1BQUQsQ0FBcEI7QUFDQUksWUFBQUEsT0FBTyxJQUFJQSxPQUFPLENBQUNKLE1BQUQsQ0FBbEI7QUFDRCxXQUhELE1BR087QUFDTEYsWUFBQUEsS0FBSyxDQUFDRCxRQUFOLENBQWU7QUFBRVIsY0FBQUEsT0FBTyxFQUFFO0FBQVgsYUFBZjtBQUNEO0FBQ0Y7QUFDRjs7QUFDRFgsTUFBQUEsS0FBSyxDQUFDaUIsUUFBTixDQUFlQSxRQUFmLEVBQXlCSixLQUF6QixFQUFnQyxDQUFDTyxLQUFLLENBQUNDLFdBQVAsQ0FBaEM7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBOzs7O1dBQ0UsbUJBQVVlLEdBQVYsRUFBZTtBQUNiLFVBQUlBLEdBQUosRUFBUyxPQUFPLEtBQUtsQixNQUFMLENBQVlKLE1BQVosQ0FBbUJzQixHQUFuQixDQUFQO0FBQ1QsYUFBTyxLQUFLbEIsTUFBTCxDQUFZSixNQUFuQjtBQUNEOzs7V0FDRCxxQkFBd0I7QUFBQSxVQUFkdUIsSUFBYyx1RUFBUCxLQUFPOztBQUN0QixVQUFNakIsS0FBSyxHQUFHLElBQWQ7O0FBQ0EsVUFBSWlCLElBQUosRUFBVSxDQUNUO0FBQ0Y7OztXQUNELGtCQUFTO0FBQUE7O0FBQ1AseUJBT0ksS0FBS2QsS0FQVDtBQUFBLDJDQUNFZSxJQURGO0FBQUEsVUFDRUEsSUFERixrQ0FDUyxPQURUO0FBQUEsVUFFRUMsUUFGRixnQkFFRUEsUUFGRjtBQUFBLFVBR1NDLFFBSFQsZ0JBR0VULEtBSEY7QUFBQSwrQ0FJRVUsYUFKRjtBQUFBLFVBSUVBLGFBSkYsc0NBSWtCLEVBSmxCO0FBQUEsK0NBS0VqQixVQUxGO0FBQUEsVUFLRUEsVUFMRixzQ0FLZSxFQUxmO0FBQUEsVUFNS1YsTUFOTDs7QUFRQSxVQUFJUyxLQUFVLHFCQUFRVCxNQUFSLENBQWQ7O0FBQ0Esb0JBQXlCYixNQUFNLEVBQS9CO0FBQUEsVUFBTXlDLGNBQU4sV0FBTUEsY0FBTjs7QUFFQSxVQUFJQSxjQUFKLEVBQW9CO0FBQ2xCbkIsUUFBQUEsS0FBSyxtQ0FDQUEsS0FEQTtBQUVIb0IsVUFBQUEsWUFBWSxFQUFFO0FBQUEsbUJBQU1DLFFBQVEsQ0FBQ0MsY0FBVCxDQUF3QkgsY0FBeEIsQ0FBTjtBQUFBO0FBRlgsVUFBTDtBQUlEOztBQUVELFVBQU1YLEtBQUssZ0JBQ1Q7QUFBSyxRQUFBLFNBQVMsRUFBRXZCLE9BQU8sQ0FBQ0MsTUFBRCxFQUFTLE9BQVQ7QUFBdkIsc0JBQ0U7QUFBSyxRQUFBLFNBQVMsRUFBRUQsT0FBTyxDQUFDQyxNQUFELEVBQVMsT0FBVDtBQUF2QixTQUNHLENBQUMsS0FBS3FDLEtBQUwsQ0FBV2xDLE1BQVosaUJBQ0M7QUFDRSxRQUFBLE9BQU8sRUFBRSxtQkFBTTtBQUNiLFVBQUEsTUFBSSxDQUFDTyxRQUFMLENBQWM7QUFBRVAsWUFBQUEsTUFBTSxFQUFFO0FBQVYsV0FBZDtBQUNELFNBSEg7QUFJRSxRQUFBLFNBQVMsRUFBRUosT0FBTyxDQUFDQyxNQUFELEVBQVMsTUFBVDtBQUpwQixzQkFNRSxvQkFBQyxjQUFELE9BTkYsQ0FGSixFQVdHLEtBQUtxQyxLQUFMLENBQVdsQyxNQUFYLGlCQUNDO0FBQ0UsUUFBQSxPQUFPLEVBQUUsbUJBQU07QUFDYixVQUFBLE1BQUksQ0FBQ08sUUFBTCxDQUFjO0FBQUVQLFlBQUFBLE1BQU0sRUFBRTtBQUFWLFdBQWQ7QUFDRCxTQUhIO0FBSUUsUUFBQSxTQUFTLEVBQUVKLE9BQU8sQ0FBQ0MsTUFBRCxFQUFTLE1BQVQ7QUFKcEIsc0JBTUUsb0JBQUMsZ0JBQUQsT0FORixDQVpKLEVBcUJHOEIsUUFBUSxLQUFLLEtBQWIsaUJBQ0M7QUFDRSxRQUFBLE9BQU8sRUFBRSxLQUFLUSxLQUFMLENBQVdDLElBQVgsQ0FBZ0IsSUFBaEIsQ0FEWDtBQUVFLFFBQUEsU0FBUyxFQUFFeEMsT0FBTyxDQUFDQyxNQUFELEVBQVMsTUFBVCxDQUZwQjtBQUdFLFFBQUEsS0FBSyxFQUFFO0FBQUV3QyxVQUFBQSxXQUFXLEVBQUU7QUFBZjtBQUhULHNCQUtFLG9CQUFDLGFBQUQsT0FMRixDQXRCSixDQURGLGVBZ0NFO0FBQUssUUFBQSxTQUFTLEVBQUV6QyxPQUFPLENBQUNDLE1BQUQsRUFBUyxlQUFUO0FBQXZCLFNBQW1EK0IsUUFBbkQsQ0FoQ0YsQ0FERjtBQW9DQSxVQUFNVSxNQUFNLGdCQUNWO0FBQUssUUFBQSxTQUFTLEVBQUUxQyxPQUFPLENBQUNDLE1BQUQsRUFBUyxRQUFUO0FBQXZCLHNCQUNFLG9CQUFDLE1BQUQ7QUFDRSxRQUFBLElBQUksRUFBQyxTQURQO0FBRUUsUUFBQSxPQUFPLEVBQUUsbUJBQU07QUFDYmMsVUFBQUEsS0FBSyxDQUFDWSxJQUFOLElBQWNaLEtBQUssQ0FBQ1ksSUFBTixFQUFkO0FBQ0QsU0FKSDtBQUtFLFFBQUEsSUFBSSxlQUFFLG9CQUFDLGtCQUFEO0FBTFIsU0FNTU0sYUFOTixrQkFERixlQVlFLG9CQUFDLE1BQUQ7QUFDRSxRQUFBLE9BQU8sRUFBRSxLQUFLTSxLQUFMLENBQVdDLElBQVgsQ0FBZ0IsSUFBaEIsQ0FEWDtBQUVFLFFBQUEsU0FBUyxFQUFFeEMsT0FBTyxDQUFDQyxNQUFELEVBQVMsZUFBVCxDQUZwQjtBQUdFLFFBQUEsSUFBSSxlQUFFLG9CQUFDLG1CQUFEO0FBSFIsd0JBWkYsQ0FERjs7QUFzQkEsVUFBSWUsVUFBVSxDQUFDWixNQUFmLEVBQXVCO0FBQ3JCVyxRQUFBQSxLQUFLLG1DQUNBQSxLQURBO0FBRUgyQixVQUFBQSxNQUFNLEVBQU5BLE1BRkc7QUFHSG5CLFVBQUFBLEtBQUssRUFBTEEsS0FIRztBQUlIUSxVQUFBQSxRQUFRLEVBQUUsS0FKUDtBQUtIWSxVQUFBQSxLQUFLLEVBQUU7QUFBRUMsWUFBQUEsUUFBUSxFQUFFO0FBQVosV0FMSjtBQU1IQyxVQUFBQSxTQUFTLEVBQUUsS0FBS1AsS0FBTCxDQUFXbEMsTUFBWCxHQUFvQkosT0FBTyxDQUFDQyxNQUFELEVBQVMsVUFBVCxDQUEzQixHQUFrRCxFQU4xRDtBQU9INkMsVUFBQUEsS0FBSyxFQUFFLEtBQUtSLEtBQUwsQ0FBV2xDLE1BQVgsR0FBb0IsT0FBcEIsR0FBOEJXLEtBQUssQ0FBQytCO0FBUHhDLFVBQUw7QUFTRDs7QUFDRCxVQUFJaEIsSUFBSSxJQUFJLFFBQVosRUFBc0I7QUFDcEIsNEJBQ0U7QUFDRSxVQUFBLE9BQU8sRUFBRSxLQUFLUSxLQUFMLENBQVduQyxPQUR0QjtBQUVFLFVBQUEsT0FBTyxFQUFFLG1CQUFNO0FBQ2IsWUFBQSxNQUFJLENBQUNvQyxLQUFMO0FBQ0Q7QUFKSCxXQUtNeEIsS0FMTixFQURGO0FBU0QsT0FWRCxNQVVPO0FBQ0wsNEJBQ0U7QUFDRSxVQUFBLE9BQU8sRUFBRSxLQUFLdUIsS0FBTCxDQUFXbkMsT0FEdEI7QUFFRSxVQUFBLFFBQVEsRUFBRSxvQkFBTTtBQUNkLFlBQUEsTUFBSSxDQUFDb0MsS0FBTDtBQUNELFdBSkg7QUFLRSxVQUFBLElBQUksRUFBRSxnQkFBTTtBQUNWLFlBQUEsTUFBSSxDQUFDQSxLQUFMO0FBQ0QsV0FQSDtBQVFFLFVBQUEsTUFBTSxFQUFFLElBUlY7QUFTRSxVQUFBLFVBQVUsRUFBRSxJQVRkO0FBVUUsVUFBQSxRQUFRLEVBQUUsSUFWWixDQVdFOztBQVhGLFdBWU14QixLQVpOLEVBREY7QUFnQkQ7QUFDRjs7OztFQS9ObUN4QixhOztnQkFBakJXLFEsYUFDRixPQUFNb0IsTzs7Z0JBREpwQixRLFVBRUwsT0FBTTZDLEk7O2dCQUZEN0MsUSxhQUdGLE9BQU04QyxPOztnQkFISjlDLFEsV0FJSixPQUFNK0MsSzs7Z0JBSkYvQyxRLGFBS0YsT0FBTWdELE87O1NBTEpoRCxRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgTW9kYWwsIE1vZGFsUHJvcHMsIERyYXdlciwgRHJhd2VyUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XHJcbmltcG9ydCB7XHJcbiAgUGx1c0NpcmNsZU91dGxpbmVkLFxyXG4gIENsb3NlQ2lyY2xlT3V0bGluZWQsXHJcbiAgQ2xvc2VPdXRsaW5lZCxcclxuICBFeHBhbmRPdXRsaW5lZCxcclxuICBDb21wcmVzc091dGxpbmVkLFxyXG59IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi9idXR0b25cIjtcclxuaW1wb3J0IHsgZ2V0TGVzcyB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuXHJcbmludGVyZmFjZSBmb3JtRXhwYW5kIHtcclxuICBjaGFuZ2U/OiBib29sZWFuO1xyXG4gIHZhbGlkPzogYm9vbGVhbjtcclxuICBleHBhbmQ/OiBib29sZWFuO1xyXG59XHJcbmludGVyZmFjZSBOc2NNb2RhbFBvcnBzIGV4dGVuZHMgTW9kYWxQcm9wcywgRHJhd2VyUHJvcHMge1xyXG4gIHR5cGU/OiBcIm1vZGFsXCIgfCBcImRyYXdlclwiO1xyXG4gIGZvcm1FeHBhbmQ/OiBmb3JtRXhwYW5kO1xyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOc2NNb2RhbCBleHRlbmRzIFB1cmVDb21wb25lbnQ8TnNjTW9kYWxQb3Jwcz4ge1xyXG4gIHN0YXRpYyBjb25maXJtID0gTW9kYWwuY29uZmlybTtcclxuICBzdGF0aWMgaW5mbyA9IE1vZGFsLmluZm87XHJcbiAgc3RhdGljIHN1Y2Nlc3MgPSBNb2RhbC5zdWNjZXNzO1xyXG4gIHN0YXRpYyBlcnJvciA9IE1vZGFsLmVycm9yO1xyXG4gIHN0YXRpYyB3YXJuaW5nID0gTW9kYWwud2FybmluZztcclxuXHJcbiAgLy/ov5Tlm57lgLxcclxuICByZXR1cm5WYWx1ZSA9IG51bGw7XHJcblxyXG4gIHN0YXRlID0ge1xyXG4gICAgdmlzaWJsZTogZmFsc2UsXHJcbiAgICBleHBhbmQ6IGZhbHNlLFxyXG4gIH07XHJcbiAgb3B0aW9uOiBhbnkgPSB7XHJcbiAgICAvL+Wbnuiwg+S9nOeUqOWfn1xyXG4gICAgc2NvcGU6IHRoaXMsXHJcbiAgICAvL29wZW7kvKDpgJLov4fmnaXnmoTpobXpnaLlj4LmlbBcclxuICAgIHBhcmFtczoge30sXHJcbiAgICAvL+aYvuekuuS5i+WJjeWbnuiwg1xyXG4gICAgYmVmb3JlUmVuZGVyOiBudWxsLFxyXG4gICAgLy/lhbPpl63kuYvliY3lm57osIPvvIzlpoLmnpxyZXR1cm4gZmFsc2XvvIzkuJTnqpflj6PkuI3lhbPpl61cclxuICAgIGNhbGxiYWNrQmVmb3JlQ2xvc2U6IG51bGwsXHJcbiAgICAvL+WFs+mXreWQjuWbnuiwg++8jOW8guatpeaTjeS9nFxyXG4gICAgY2FsbGJhY2s6IG51bGwsXHJcbiAgfTtcclxuICAvKipcclxuICAgKiDmuLLmn5PlrozmiJBcclxuICAgKiBAcGFyYW0geyp9IG9wdGlvbiAg5pW05pS55Lyg6YCS5a+56LGhXHJcbiAgICovXHJcblxyXG4gIC8v5pi+56S6XHJcbiAgc2hvdyhvcHRpb246IGFueSA9IHt9KSB7XHJcbiAgICBjb25zdCB7IHNjb3BlIH0gPSB0aGlzLm9wdGlvbjtcclxuICAgIGNvbnN0IHsgYmVmb3JlUmVuZGVyIH0gPSBvcHRpb247XHJcbiAgICB0aGlzLm9wdGlvbiA9IHsgLi4udGhpcy5vcHRpb24sIC4uLm9wdGlvbiB9O1xyXG4gICAgdXRpbHMuY2FsbGJhY2soYmVmb3JlUmVuZGVyLCBzY29wZSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHsgdmlzaWJsZTogdHJ1ZSB9KTtcclxuICB9XHJcblxyXG4gIC8v6ZqQ6JePXHJcbiAgaGlkZSgpIHtcclxuICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICBfdGhpcy5zZXRTdGF0ZSh7IHZpc2libGU6IGZhbHNlIH0pO1xyXG4gIH1cclxuXHJcbiAgLy/orr7nva7pnIDopoHov5Tlm57nmoTlgLxcclxuICBzZXRSZXR1cm5WYWx1ZShyZXR1cm5WYWx1ZSkge1xyXG4gICAgdGhpcy5yZXR1cm5WYWx1ZSA9IHJldHVyblZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bpnIDopoHov5Tlm57nmoTlgLxcclxuICBnZXRSZXR1cm5WYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnJldHVyblZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5YWz6Zet5bim5Zue6LCDXHJcbiAgICovXHJcbiAgY2xvc2UocmVzdWx0PzogYW55KSB7XHJcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3QgeyBjYWxsYmFjaywgc2NvcGUsIGNhbGxiYWNrQmVmb3JlQ2xvc2UgfSA9IHRoaXMub3B0aW9uO1xyXG4gICAgY29uc3QgeyBmb3JtRXhwYW5kID0ge30sIG9uQ2FuY2VsLCBvbkNsb3NlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKHJlc3VsdCkgdGhpcy5zZXRSZXR1cm5WYWx1ZShyZXN1bHQpO1xyXG4gICAgY29uc3QgciA9IHV0aWxzLmNhbGxiYWNrKGNhbGxiYWNrQmVmb3JlQ2xvc2UsIHNjb3BlLCBbdGhpcy5yZXR1cm5WYWx1ZV0pO1xyXG4gICAgaWYgKHIgIT09IGZhbHNlKSB7XHJcbiAgICAgIGNvbnN0IHsgZXhwYW5kID0gZmFsc2UgfSA9IGZvcm1FeHBhbmQ7XHJcbiAgICAgIGlmIChleHBhbmQgJiYgZm9ybUV4cGFuZC5jaGFuZ2UgJiYgZm9ybUV4cGFuZC5jaGFuZ2UpIHtcclxuICAgICAgICBNb2RhbC5jb25maXJtKHtcclxuICAgICAgICAgIHRpdGxlOiBcIuW9k+WJjeiusOW9leW3suS/ruaUueWwmuacquS/neWtmO+8jOehruWumuimgeaUvuW8g+S/ruaUueWQl++8n1wiLFxyXG4gICAgICAgICAgY2FuY2VsVGV4dDogXCLlj5bmtohcIixcclxuICAgICAgICAgIG9rVGV4dDogXCLnoa7lrppcIixcclxuICAgICAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICAgICAgb25PaygpIHtcclxuICAgICAgICAgICAgaWYgKG9uQ2FuY2VsIHx8IG9uQ2xvc2UpIHtcclxuICAgICAgICAgICAgICBvbkNhbmNlbCAmJiBvbkNhbmNlbChyZXN1bHQpO1xyXG4gICAgICAgICAgICAgIG9uQ2xvc2UgJiYgb25DbG9zZShyZXN1bHQpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgdmlzaWJsZTogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKG9uQ2FuY2VsIHx8IG9uQ2xvc2UpIHtcclxuICAgICAgICAgIG9uQ2FuY2VsICYmIG9uQ2FuY2VsKHJlc3VsdCk7XHJcbiAgICAgICAgICBvbkNsb3NlICYmIG9uQ2xvc2UocmVzdWx0KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyB2aXNpYmxlOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHV0aWxzLmNhbGxiYWNrKGNhbGxiYWNrLCBzY29wZSwgW190aGlzLnJldHVyblZhbHVlXSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDojrflj5blj4LmlbDvvIzlpoLmnpxrZXnkuI3kvKDpgJLvvIzkuJTojrflj5blhajpg6hcclxuICAgKiBAcGFyYW0ge1N0cmluZ30ga2V5XHJcbiAgICovXHJcbiAgZ2V0UGFyYW1zKGtleSkge1xyXG4gICAgaWYgKGtleSkgcmV0dXJuIHRoaXMub3B0aW9uLnBhcmFtc1trZXldO1xyXG4gICAgcmV0dXJuIHRoaXMub3B0aW9uLnBhcmFtcztcclxuICB9XHJcbiAgZm9ybVZhbGlkKGZsYWcgPSBmYWxzZSkge1xyXG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgaWYgKGZsYWcpIHtcclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICB0eXBlID0gXCJtb2RhbFwiLFxyXG4gICAgICBjbG9zYWJsZSxcclxuICAgICAgdGl0bGU6IG9yZ3RpdGxlLFxyXG4gICAgICBva0J1dHRvblByb3BzID0ge30sXHJcbiAgICAgIGZvcm1FeHBhbmQgPSB7fSxcclxuICAgICAgLi4ucGFyYW1zXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGxldCBwcm9wczogYW55ID0geyAuLi5wYXJhbXMgfTtcclxuICAgIGxldCB7IG1vdW50RWxlbWVudElkIH0gPSBjb25maWcoKTtcclxuXHJcbiAgICBpZiAobW91bnRFbGVtZW50SWQpIHtcclxuICAgICAgcHJvcHMgPSB7XHJcbiAgICAgICAgLi4ucHJvcHMsXHJcbiAgICAgICAgZ2V0Q29udGFpbmVyOiAoKSA9PiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChtb3VudEVsZW1lbnRJZCksXHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdGl0bGUgPSAoXHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJ0aXRsZVwiKX0+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25zXCIpfT5cclxuICAgICAgICAgIHshdGhpcy5zdGF0ZS5leHBhbmQgJiYgKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGV4cGFuZDogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxFeHBhbmRPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7dGhpcy5zdGF0ZS5leHBhbmQgJiYgKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGV4cGFuZDogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8Q29tcHJlc3NPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7Y2xvc2FibGUgIT09IGZhbHNlICYmIChcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuY2xvc2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9XHJcbiAgICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luUmlnaHQ6IDAgfX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxDbG9zZU91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwidGl0bGUtY29udGVudFwiKX0+e29yZ3RpdGxlfTwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgICBjb25zdCBmb290ZXIgPSAoXHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJmb290ZXJcIil9PlxyXG4gICAgICAgIDxCdXR0b25cclxuICAgICAgICAgIHR5cGU9XCJwcmltYXJ5XCJcclxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgcHJvcHMub25PayAmJiBwcm9wcy5vbk9rKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgaWNvbj17PFBsdXNDaXJjbGVPdXRsaW5lZCAvPn1cclxuICAgICAgICAgIHsuLi5va0J1dHRvblByb3BzfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIOS/neWtmFxyXG4gICAgICAgIDwvQnV0dG9uPlxyXG5cclxuICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICBvbkNsaWNrPXt0aGlzLmNsb3NlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImJ1dHRvbi1tYXJnaW5cIil9XHJcbiAgICAgICAgICBpY29uPXs8Q2xvc2VDaXJjbGVPdXRsaW5lZCAvPn1cclxuICAgICAgICA+XHJcbiAgICAgICAgICDlj5bmtohcclxuICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gICAgaWYgKGZvcm1FeHBhbmQuZXhwYW5kKSB7XHJcbiAgICAgIHByb3BzID0ge1xyXG4gICAgICAgIC4uLnByb3BzLFxyXG4gICAgICAgIGZvb3RlcixcclxuICAgICAgICB0aXRsZSxcclxuICAgICAgICBjbG9zYWJsZTogZmFsc2UsXHJcbiAgICAgICAgc3R5bGU6IHsgbWF4V2lkdGg6IFwiMTAwdndcIiB9LFxyXG4gICAgICAgIGNsYXNzTmFtZTogdGhpcy5zdGF0ZS5leHBhbmQgPyBnZXRMZXNzKHN0eWxlcywgXCJhbGxzcmVlblwiKSA6IFwiXCIsXHJcbiAgICAgICAgd2lkdGg6IHRoaXMuc3RhdGUuZXhwYW5kID8gXCIxMDB2d1wiIDogcHJvcHMud2lkdGgsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZSA9PSBcImRyYXdlclwiKSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPERyYXdlclxyXG4gICAgICAgICAgdmlzaWJsZT17dGhpcy5zdGF0ZS52aXNpYmxlfVxyXG4gICAgICAgICAgb25DbG9zZT17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgIC8+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxNb2RhbFxyXG4gICAgICAgICAgdmlzaWJsZT17dGhpcy5zdGF0ZS52aXNpYmxlfVxyXG4gICAgICAgICAgb25DYW5jZWw9eygpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIG9uT2s9eygpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIG9rVGV4dD17XCLnoa7lrppcIn1cclxuICAgICAgICAgIGNhbmNlbFRleHQ9e1wi5Y+W5raIXCJ9XHJcbiAgICAgICAgICBjZW50ZXJlZD17dHJ1ZX1cclxuICAgICAgICAgIC8vIHRpdGxlPXtmb3JtRXhwYW5kID8gdGl0bGUgOiB0aGlzLnByb3BzLnRpdGxlfVxyXG4gICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgIC8+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,42 @@
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
+ }
42
+
@@ -0,0 +1,5 @@
1
+ import * as React from "react";
2
+ import { TransferProps } from "antd";
3
+ export default class NscTransfer extends React.PureComponent<TransferProps<any>, any> {
4
+ render(): React.ReactNode;
5
+ }