@1money/react-ui 1.3.1-alpha.0 → 1.3.1-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,8 @@
1
1
  import type { FC, PropsWithChildren } from 'react';
2
- import type { SelectProps } from './interface';
3
- export declare const Select: FC<PropsWithChildren<SelectProps>>;
2
+ import type { SelectProps, CustomDropdownProps } from './interface';
3
+ declare const CustomDropdown: FC<PropsWithChildren<CustomDropdownProps>>;
4
+ export declare const Select: FC<PropsWithChildren<SelectProps>> & {
5
+ CustomDropdown: typeof CustomDropdown;
6
+ };
4
7
  declare const _default: import("react").NamedExoticComponent<PropsWithChildren<SelectProps>>;
5
8
  export default _default;
@@ -14,10 +14,32 @@ import { Dropdown } from 'primereact/dropdown';
14
14
  import { MultiSelect } from 'primereact/multiselect';
15
15
  import classnames from '../../utils/classnames';
16
16
  import { Icons } from '../Icons';
17
- export var Select = function Select(props) {
18
- var _a;
19
- var ref = props.ref,
20
- label = props.label,
17
+ var SelectWrapper = /*#__PURE__*/memo(function (props) {
18
+ var label = props.label,
19
+ message = props.message,
20
+ required = props.required,
21
+ prefixCls = props.prefixCls,
22
+ wrapperCls = props.wrapperCls,
23
+ labelCls = props.labelCls,
24
+ messageCls = props.messageCls,
25
+ success = props.success,
26
+ invalid = props.invalid,
27
+ disabled = props.disabled,
28
+ children = props.children;
29
+ var classes = classnames(prefixCls);
30
+ return _jsxs("div", {
31
+ className: classes('wrapper', wrapperCls),
32
+ children: [label && _jsx("span", {
33
+ className: classes('label', [required && classes('label-required'), labelCls].join(' ')),
34
+ children: label
35
+ }), children, message && _jsx("span", {
36
+ className: classes('message', [success ? classes('message-success') : '', invalid ? classes('message-error') : '', messageCls].join(' ')),
37
+ children: message
38
+ })]
39
+ });
40
+ });
41
+ var CustomDropdown = function CustomDropdown(props) {
42
+ var label = props.label,
21
43
  message = props.message,
22
44
  required = props.required,
23
45
  _props$prefixCls = props.prefixCls,
@@ -34,37 +56,101 @@ export var Select = function Select(props) {
34
56
  placeholder = props.placeholder,
35
57
  _props$className = props.className,
36
58
  className = _props$className === void 0 ? '' : _props$className,
59
+ selectedTemplate = props.selectedTemplate;
60
+ var classes = classnames(prefixCls);
61
+ var _useState = useState(false),
62
+ _useState2 = _slicedToArray(_useState, 2),
63
+ isFocus = _useState2[0],
64
+ setIsFocus = _useState2[1];
65
+ var selectCls = useMemo(function () {
66
+ return classes(void 0, [classes(size), classes('custom'), isFocus ? classes('focus') : '', success ? classes('success') : '', invalid ? classes('invalid') : '', disabled ? classes('disabled') : '', className].join(' '));
67
+ }, [size, isFocus, success, invalid, disabled, className]);
68
+ useEffect(function () {
69
+ var removeFocus = function removeFocus() {
70
+ setIsFocus(false);
71
+ };
72
+ document.addEventListener('click', removeFocus);
73
+ return function () {
74
+ document.removeEventListener('click', removeFocus);
75
+ };
76
+ }, []);
77
+ return _jsx(SelectWrapper, {
78
+ label: label,
79
+ message: message,
80
+ required: required,
81
+ prefixCls: prefixCls,
82
+ wrapperCls: wrapperCls,
83
+ labelCls: labelCls,
84
+ messageCls: messageCls,
85
+ success: success,
86
+ invalid: invalid,
87
+ disabled: disabled,
88
+ children: _jsxs("div", {
89
+ className: selectCls,
90
+ onClick: function onClick(e) {
91
+ var _a;
92
+ setIsFocus(function (prev) {
93
+ return !prev;
94
+ });
95
+ e.stopPropagation();
96
+ (_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, e);
97
+ },
98
+ children: [selectedTemplate ? selectedTemplate : _jsx("span", {
99
+ className: classes('custom-placeholder'),
100
+ children: placeholder
101
+ }), _jsx(Icons, {
102
+ name: isFocus ? 'chevronUp' : 'chevronDown',
103
+ color: '#131313',
104
+ size: 20
105
+ })]
106
+ })
107
+ });
108
+ };
109
+ export var Select = function Select(props) {
110
+ var _a;
111
+ var ref = props.ref,
112
+ label = props.label,
113
+ message = props.message,
114
+ required = props.required,
115
+ _props$prefixCls2 = props.prefixCls,
116
+ prefixCls = _props$prefixCls2 === void 0 ? 'select' : _props$prefixCls2,
117
+ wrapperCls = props.wrapperCls,
118
+ labelCls = props.labelCls,
119
+ messageCls = props.messageCls,
120
+ value = props.value,
121
+ _props$size2 = props.size,
122
+ size = _props$size2 === void 0 ? 'large' : _props$size2,
123
+ success = props.success,
124
+ invalid = props.invalid,
125
+ disabled = props.disabled,
126
+ placeholder = props.placeholder,
127
+ _props$className2 = props.className,
128
+ className = _props$className2 === void 0 ? '' : _props$className2,
37
129
  multiple = props.multiple,
38
- customDropdown = props.customDropdown,
39
- selectedTemplate = props.selectedTemplate,
40
130
  options = props.options,
41
131
  name = props.name,
42
132
  panelClassName = props.panelClassName,
43
- _onChange = props.onChange,
44
133
  defaultValue = props.defaultValue,
45
134
  _itemTemplate = props.itemTemplate,
135
+ _onChange = props.onChange,
46
136
  _onHide = props.onHide,
47
137
  _onShow = props.onShow,
48
138
  unselectable = props.unselectable,
49
- rest = __rest(props, ["ref", "label", "message", "required", "prefixCls", "wrapperCls", "labelCls", "messageCls", "value", "size", "success", "invalid", "disabled", "placeholder", "className", "multiple", "customDropdown", "selectedTemplate", "options", "name", "panelClassName", "onChange", "defaultValue", "itemTemplate", "onHide", "onShow", "unselectable"]);
139
+ rest = __rest(props, ["ref", "label", "message", "required", "prefixCls", "wrapperCls", "labelCls", "messageCls", "value", "size", "success", "invalid", "disabled", "placeholder", "className", "multiple", "options", "name", "panelClassName", "defaultValue", "itemTemplate", "onChange", "onHide", "onShow", "unselectable"]);
50
140
  var classes = classnames(prefixCls);
51
- var _useState = useState((_a = value !== null && value !== void 0 ? value : defaultValue) !== null && _a !== void 0 ? _a : null),
52
- _useState2 = _slicedToArray(_useState, 2),
53
- selected = _useState2[0],
54
- setSelected = _useState2[1];
55
- var _useState3 = useState(false),
141
+ var _useState3 = useState((_a = value !== null && value !== void 0 ? value : defaultValue) !== null && _a !== void 0 ? _a : null),
56
142
  _useState4 = _slicedToArray(_useState3, 2),
57
- isOpen = _useState4[0],
58
- setIsOpen = _useState4[1];
143
+ selected = _useState4[0],
144
+ setSelected = _useState4[1];
59
145
  var _useState5 = useState(false),
60
146
  _useState6 = _slicedToArray(_useState5, 2),
61
- isFocus = _useState6[0],
62
- setIsFocus = _useState6[1];
147
+ isOpen = _useState6[0],
148
+ setIsOpen = _useState6[1];
63
149
  var selectRef = useRef(null);
64
150
  var _ref = useRef(null);
65
151
  var selectCls = useMemo(function () {
66
- return classes(void 0, [classes(size), isOpen ? classes('show') : '', isFocus ? classes('focus') : '', success ? classes('success') : '', invalid ? classes('invalid') : '', disabled ? classes('disabled') : '', customDropdown ? classes('custom') : '', (Array.isArray(selected) ? selected.length : selected) ? classes('filled') : '', className].join(' '));
67
- }, [size, isOpen, isFocus, success, selected, invalid, disabled, className, customDropdown]);
152
+ return classes(void 0, [classes(size), isOpen ? classes('show') : '', success ? classes('success') : '', invalid ? classes('invalid') : '', disabled ? classes('disabled') : '', (Array.isArray(selected) ? selected.length : selected) ? classes('filled') : '', className].join(' '));
153
+ }, [size, isOpen, success, selected, invalid, disabled, className]);
68
154
  var SelectComponent = useCallback(function (props) {
69
155
  return multiple ? _jsx(MultiSelect, Object.assign({
70
156
  unselectable: unselectable,
@@ -136,44 +222,21 @@ export var Select = function Select(props) {
136
222
  setSelected(value);
137
223
  }
138
224
  }, [value]);
139
- useEffect(function () {
140
- if (!customDropdown) return;
141
- var removeFocus = function removeFocus() {
142
- setIsFocus(false);
143
- };
144
- document.addEventListener('click', removeFocus);
145
- return function () {
146
- document.removeEventListener('click', removeFocus);
147
- };
148
- }, []);
149
225
  useImperativeHandle(ref !== null && ref !== void 0 ? ref : _ref, function () {
150
226
  return selectRef.current;
151
227
  });
152
- return _jsxs("div", {
153
- className: classes('wrapper', wrapperCls),
154
- children: [label && _jsx("span", {
155
- className: classes('label', [required && classes('label-required'), labelCls].join(' ')),
156
- children: label
157
- }), customDropdown ? _jsxs("div", {
158
- className: selectCls,
159
- tabIndex: 0,
160
- onClick: function onClick(e) {
161
- var _a;
162
- setIsFocus(function (prev) {
163
- return !prev;
164
- });
165
- e.stopPropagation();
166
- (_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, e);
167
- },
168
- children: [selectedTemplate ? selectedTemplate : _jsx("span", {
169
- className: classes('custom-placeholder'),
170
- children: placeholder
171
- }), _jsx(Icons, {
172
- name: isFocus ? 'chevronUp' : 'chevronDown',
173
- color: '#131313',
174
- size: 20
175
- })]
176
- }) : _jsx(SelectComponent, Object.assign({}, rest, {
228
+ return _jsx(SelectWrapper, {
229
+ label: label,
230
+ message: message,
231
+ required: required,
232
+ prefixCls: prefixCls,
233
+ wrapperCls: wrapperCls,
234
+ labelCls: labelCls,
235
+ messageCls: messageCls,
236
+ success: success,
237
+ invalid: invalid,
238
+ disabled: disabled,
239
+ children: _jsx(SelectComponent, Object.assign({}, rest, {
177
240
  ref: selectRef,
178
241
  name: name,
179
242
  filterPlaceholder: 'Search',
@@ -211,6 +274,7 @@ export var Select = function Select(props) {
211
274
  panelClassName: classes('panel', panelClassName),
212
275
  onChange: function onChange(e) {
213
276
  setSelected(e.value);
277
+ // @ts-expect-error
214
278
  _onChange === null || _onChange === void 0 ? void 0 : _onChange(e);
215
279
  },
216
280
  onHide: function onHide() {
@@ -228,11 +292,9 @@ export var Select = function Select(props) {
228
292
  size: 20
229
293
  });
230
294
  }
231
- })), message && _jsx("span", {
232
- className: classes('message', [success ? classes('message-success') : '', invalid ? classes('message-error') : '', messageCls].join(' ')),
233
- children: message
234
- })]
295
+ }))
235
296
  });
236
297
  };
298
+ Select.CustomDropdown = CustomDropdown;
237
299
  export default /*#__PURE__*/memo(Select);
238
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwibWVtbyIsInVzZVJlZiIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZUNhbGxiYWNrIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsImlzRXF1YWwiLCJEcm9wZG93biIsIk11bHRpU2VsZWN0IiwiY2xhc3NuYW1lcyIsIkljb25zIiwiU2VsZWN0IiwicHJvcHMiLCJfYSIsInJlZiIsImxhYmVsIiwibWVzc2FnZSIsInJlcXVpcmVkIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsIndyYXBwZXJDbHMiLCJsYWJlbENscyIsIm1lc3NhZ2VDbHMiLCJ2YWx1ZSIsIl9wcm9wcyRzaXplIiwic2l6ZSIsInN1Y2Nlc3MiLCJpbnZhbGlkIiwiZGlzYWJsZWQiLCJwbGFjZWhvbGRlciIsIl9wcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJtdWx0aXBsZSIsImN1c3RvbURyb3Bkb3duIiwic2VsZWN0ZWRUZW1wbGF0ZSIsIm9wdGlvbnMiLCJuYW1lIiwicGFuZWxDbGFzc05hbWUiLCJvbkNoYW5nZSIsImRlZmF1bHRWYWx1ZSIsIml0ZW1UZW1wbGF0ZSIsIm9uSGlkZSIsIm9uU2hvdyIsInVuc2VsZWN0YWJsZSIsInJlc3QiLCJjbGFzc2VzIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwic2VsZWN0ZWQiLCJzZXRTZWxlY3RlZCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaXNPcGVuIiwic2V0SXNPcGVuIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc0ZvY3VzIiwic2V0SXNGb2N1cyIsInNlbGVjdFJlZiIsIl9yZWYiLCJzZWxlY3RDbHMiLCJBcnJheSIsImlzQXJyYXkiLCJqb2luIiwiU2VsZWN0Q29tcG9uZW50IiwiYXNzaWduIiwic2hvd1NlbGVjdEFsbCIsImNoZWNrYm94SWNvbiIsImNvbG9yIiwicmVtb3ZlSWNvbiIsIl9wcm9wcyRpY29uUHJvcHMiLCJpY29uUHJvcHMiLCJvbkNsaWNrIiwib25LZXlEb3duIiwidGFiSW5kZXgiLCJwYW5lbEhlYWRlclRlbXBsYXRlIiwiX2IiLCJfYyIsIl9kIiwiX2UiLCJmaWx0ZXJFbGVtZW50Iiwib25DbG9zZUNsaWNrIiwic2VsZWN0ZWROdW0iLCJtZXRhRGF0YSIsImNoaWxkcmVuIiwicmVzZXRGaWx0ZXIiLCJjb2xsYXBzZUljb24iLCJ1bmRlZmluZWQiLCJyZW1vdmVGb2N1cyIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjdXJyZW50IiwicHJldiIsInN0b3BQcm9wYWdhdGlvbiIsImZpbHRlclBsYWNlaG9sZGVyIiwib3B0aW9uIiwiY2xlYXIiLCJmaWx0ZXJJY29uIiwiZHJvcGRvd25JY29uIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBSUEsTUFBTSxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1YsS0FBSyxJQUFJQyxDQUFDLElBQUlILENBQUMsRUFBRSxJQUFJSSxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDLElBQUlGLENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQy9FRCxDQUFDLENBQUNDLENB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LE9BQU8sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEVBQ3ZDdkIsVUFBVSxDQUNYLENBQUMwQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7TUFBQXFCLFFBQUEsRUFFWHJFO0lBQU8sQ0FBQSxDQUNIO0VBQUEsQ0FBQSxDQUVMO0FBRVYsQ0FBQztBQUVELDRCQUFlakIsSUFBSSxDQUFDWSxNQUFNLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9TZWxlY3QvU2VsZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZVJlZiwgdXNlTWVtbywgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlQ2FsbGJhY2ssIHVzZUltcGVyYXRpdmVIYW5kbGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2guaXNlcXVhbCc7XG5pbXBvcnQgeyBEcm9wZG93biB9IGZyb20gJ3ByaW1lcmVhY3QvZHJvcGRvd24nO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3QgfSBmcm9tICdwcmltZXJlYWN0L211bHRpc2VsZWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5leHBvcnQgY29uc3QgU2VsZWN0ID0gcHJvcHMgPT4ge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCB7IHJlZiwgbGFiZWwsIG1lc3NhZ2UsIHJlcXVpcmVkLCBwcmVmaXhDbHMgPSAnc2VsZWN0Jywgd3JhcHBlckNscywgbGFiZWxDbHMsIG1lc3NhZ2VDbHMsIHZhbHVlLCBzaXplID0gJ2xhcmdlJywgc3VjY2VzcywgaW52YWxpZCwgZGlzYWJsZWQsIHBsYWNlaG9sZGVyLCBjbGFzc05hbWUgPSAnJywgXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIG11bHRpcGxlLCBjdXN0b21Ecm9wZG93biwgc2VsZWN0ZWRUZW1wbGF0ZSwgb3B0aW9ucywgbmFtZSwgcGFuZWxDbGFzc05hbWUsIG9uQ2hhbmdlLCBkZWZhdWx0VmFsdWUsIGl0ZW1UZW1wbGF0ZSwgb25IaWRlLCBvblNob3csIHVuc2VsZWN0YWJsZSB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcInJlZlwiLCBcImxhYmVsXCIsIFwibWVzc2FnZVwiLCBcInJlcXVpcmVkXCIsIFwicHJlZml4Q2xzXCIsIFwid3JhcHBlckNsc1wiLCBcImxhYmVsQ2xzXCIsIFwibWVzc2FnZUNsc1wiLCBcInZhbHVlXCIsIFwic2l6ZVwiLCBcInN1Y2Nlc3NcIiwgXCJpbnZhbGlkXCIsIFwiZGlzYWJsZWRcIiwgXCJwbGFjZWhvbGRlclwiLCBcImNsYXNzTmFtZVwiLCBcIm11bHRpcGxlXCIsIFwiY3VzdG9tRHJvcGRvd25cIiwgXCJzZWxlY3RlZFRlbXBsYXRlXCIsIFwib3B0aW9uc1wiLCBcIm5hbWVcIiwgXCJwYW5lbENsYXNzTmFtZVwiLCBcIm9uQ2hhbmdlXCIsIFwiZGVmYXVsdFZhbHVlXCIsIFwiaXRlbVRlbXBsYXRlXCIsIFwib25IaWRlXCIsIFwib25TaG93XCIsIFwidW5zZWxlY3RhYmxlXCJdKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IFtzZWxlY3RlZCwgc2V0U2VsZWN0ZWRdID0gdXNlU3RhdGUoKF9hID0gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHZvaWQgMCA/IHZhbHVlIDogZGVmYXVsdFZhbHVlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBudWxsKTtcbiAgICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtpc0ZvY3VzLCBzZXRJc0ZvY3VzXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBzZWxlY3RSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgX3JlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBzZWxlY3RDbHMgPSB1c2VNZW1vKCgpID0+IGNsYXNzZXModm9pZCAwLCBbXG4gICAgICAgIGNsYXNzZXMoc2l6ZSksXG4gICAgICAgIGlzT3BlbiA/IGNsYXNzZXMoJ3Nob3cnKSA6ICcnLFxuICAgICAgICBpc0ZvY3VzID8gY2xhc3NlcygnZm9jdXMnKSA6ICcnLFxuICAgICAgICBzdWNjZXNzID8gY2xhc3Nlcygnc3VjY2VzcycpIDogJycsXG4gICAgICAgIGludmFsaWQgPyBjbGFzc2VzKCdpbnZhbGlkJykgOiAnJyxcbiAgICAgICAgZGlzYWJsZWQgPyBjbGFzc2VzKCdkaXNhYmxlZCcpIDogJycsXG4gICAgICAgIGN1c3RvbURyb3Bkb3duID8gY2xhc3NlcygnY3VzdG9tJykgOiAnJyxcbiAgICAgICAgKEFycmF5LmlzQXJyYXkoc2VsZWN0ZWQpID8gc2VsZWN0ZWQubGVuZ3RoIDogc2VsZWN0ZWQpID8gY2xhc3NlcygnZmlsbGVkJykgOiAnJyxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgXS5qb2luKCcgJykpLCBbc2l6ZSwgaXNPcGVuLCBpc0ZvY3VzLCBzdWNjZXNzLCBzZWxlY3RlZCwgaW52YWxpZCwgZGlzYWJsZWQsIGNsYXNzTmFtZSwgY3VzdG9tRHJvcGRvd25dKTtcbiAgICBjb25zdCBTZWxlY3RDb21wb25lbnQgPSB1c2VDYWxsYmFjaygocHJvcHMpID0+IG11bHRpcGxlXG4gICAgICAgID8gX2pzeChNdWx0aVNlbGVjdCwgT2JqZWN0LmFzc2lnbih7IHVuc2VsZWN0YWJsZTogdW5zZWxlY3RhYmxlLCBzaG93U2VsZWN0QWxsOiBmYWxzZSwgY2hlY2tib3hJY29uOiBfanN4KEljb25zLCB7IG5hbWU6ICdjaGVjaycsIHNpemU6IDEyLCBjb2xvcjogJyNGRUZFRkUnIH0pLCByZW1vdmVJY29uOiBwcm9wcyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBvbkNsaWNrLCBvbktleURvd24sIHRhYkluZGV4IH0gPSBwcm9wcy5pY29uUHJvcHM7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9qc3goSWNvbnMsIHsgbmFtZTogJ2Nsb3NlJywgc2l6ZTogMTYsIGNvbG9yOiAnIzEzMTMxMycsIHRhYkluZGV4OiB0YWJJbmRleCwgd3JhcHBlckNsczogY2xhc3NlcygndG9rZW4tcmVtb3ZlLWljb24nKSwgb25DbGljazogb25DbGljaywgb25LZXlEb3duOiBvbktleURvd24gfSk7XG4gICAgICAgICAgICB9LCBwYW5lbEhlYWRlclRlbXBsYXRlOiBvcHRpb25zID0+IHtcbiAgICAgICAgICAgICAgICB2YXIgX2EsIF9iLCBfYywgX2QsIF9lO1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgZmlsdGVyRWxlbWVudCwgb25DaGFuZ2UsIG9uQ2xvc2VDbGljaywgcHJvcHMgfSA9IG9wdGlvbnM7XG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkTnVtID0gKF9kID0gKF9jID0gKF9iID0gKF9hID0gcHJvcHMgPT09IG51bGwgfHwgcHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHByb3BzLm1ldGFEYXRhKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EucHJvcHMpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi52YWx1ZSkgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jLmxlbmd0aCkgIT09IG51bGwgJiYgX2QgIT09IHZvaWQgMCA/IF9kIDogMDtcbiAgICAgICAgICAgICAgICByZXR1cm4gX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWhlYWRlcicpLCBjaGlsZHJlbjogW19qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXItaW5mbycpLCBjaGlsZHJlbjogW19qc3hzKFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaGVhZGVyLWluZm8tY291bnQnKSwgY2hpbGRyZW46IFtzZWxlY3RlZE51bSwgXCIgc2VsZWN0ZWRcIl0gfSksIF9qc3hzKFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaGVhZGVyLWluZm8tY2xlYXInKSwgb25DbGljazogZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLnJlc2V0RmlsdGVyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2VsZWN0ZWQobnVsbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBjaGlsZHJlbjogW19qc3goSWNvbnMsIHsgbmFtZTogJ2Nsb3NlJywgc2l6ZTogMTYsIGNvbG9yOiAnI0FFMDAwMCcsIHdyYXBwZXJDbHM6IGNsYXNzZXMoJ3BhbmVsLWhlYWRlci1pbmZvLWNsZWFyLWljb24nKSB9KSwgXCJDbGVhciBhbGxcIl0gfSldIH0pLCAoX2UgPSBmaWx0ZXJFbGVtZW50ID09PSBudWxsIHx8IGZpbHRlckVsZW1lbnQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZpbHRlckVsZW1lbnQucHJvcHMpID09PSBudWxsIHx8IF9lID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZS5jaGlsZHJlbl0gfSk7XG4gICAgICAgICAgICB9IH0sIHByb3BzKSlcbiAgICAgICAgOiBfanN4KERyb3Bkb3duLCBPYmplY3QuYXNzaWduKHsgY29sbGFwc2VJY29uOiBtdWx0aXBsZSA/IHZvaWQgMCA6ICgpID0+IF9qc3goSWNvbnMsIHsgbmFtZTogJ2NoZXZyb25VcCcsIGNvbG9yOiAnIzEzMTMxMycsIHNpemU6IDIwIH0pIH0sIHByb3BzKSksIFttdWx0aXBsZV0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmICFpc0VxdWFsKHNlbGVjdGVkLCB2YWx1ZSkpIHtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH0sIFt2YWx1ZV0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghY3VzdG9tRHJvcGRvd24pXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IHJlbW92ZUZvY3VzID0gKCkgPT4ge1xuICAgICAgICAgICAgc2V0SXNGb2N1cyhmYWxzZSk7XG4gICAgICAgIH07XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgcmVtb3ZlRm9jdXMpO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCByZW1vdmVGb2N1cyk7XG4gICAgICAgIH07XG4gICAgfSwgW10pO1xuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmICE9PSBudWxsICYmIHJlZiAhPT0gdm9pZCAwID8gcmVmIDogX3JlZiwgKCkgPT4gc2VsZWN0UmVmLmN1cnJlbnQpO1xuICAgIHJldHVybiAoX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3dyYXBwZXInLCB3cmFwcGVyQ2xzKSwgY2hpbGRyZW46IFtsYWJlbCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnbGFiZWwnLCBbcmVxdWlyZWQgJiYgY2xhc3NlcygnbGFiZWwtcmVxdWlyZWQnKSwgbGFiZWxDbHNdLmpvaW4oJyAnKSksIGNoaWxkcmVuOiBsYWJlbCB9KSwgY3VzdG9tRHJvcGRvd25cbiAgICAgICAgICAgICAgICA/IF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBzZWxlY3RDbHMsIHRhYkluZGV4OiAwLCBvbkNsaWNrOiAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0SXNGb2N1cyhwcmV2ID0+ICFwcmV2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAoX2EgPSBwcm9wcy5vbkNsaWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbChwcm9wcywgZSk7XG4gICAgICAgICAgICAgICAgICAgIH0sIGNoaWxkcmVuOiBbc2VsZWN0ZWRUZW1wbGF0ZSA/IHNlbGVjdGVkVGVtcGxhdGUgOiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY3VzdG9tLXBsYWNlaG9sZGVyJyksIGNoaWxkcmVuOiBwbGFjZWhvbGRlciB9KSwgX2pzeChJY29ucywgeyBuYW1lOiBpc0ZvY3VzID8gJ2NoZXZyb25VcCcgOiAnY2hldnJvbkRvd24nLCBjb2xvcjogJyMxMzEzMTMnLCBzaXplOiAyMCB9KV0gfSlcbiAgICAgICAgICAgICAgICA6IF9qc3goU2VsZWN0Q29tcG9uZW50LCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHJlZjogc2VsZWN0UmVmLCBuYW1lOiBuYW1lLCBmaWx0ZXJQbGFjZWhvbGRlcjogJ1NlYXJjaCcsIHJlcXVpcmVkOiByZXF1aXJlZCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpbnZhbGlkOiBpbnZhbGlkLCBvcHRpb25zOiBvcHRpb25zLCB2YWx1ZTogc2VsZWN0ZWQgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IHNlbGVjdGVkLCBjbGFzc05hbWU6IHNlbGVjdENscywgaXRlbVRlbXBsYXRlOiAob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWl0ZW0nKSwgb25DbGljazogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbXVsdGlwbGUgJiYgdW5zZWxlY3RhYmxlID09PSAnb24nICYmIG9wdGlvbi52YWx1ZSA9PT0gc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaXRlbS1sYWJlbCcpLCBjaGlsZHJlbjogaXRlbVRlbXBsYXRlID8gaXRlbVRlbXBsYXRlKG9wdGlvbikgOiBvcHRpb24ubGFiZWwgfSksIF9qc3goSWNvbnMsIHsgbmFtZTogJ2NoZWNrJywgc2l6ZTogMTYsIGNvbG9yOiAnIzA3MzM4NycgfSldIH0pO1xuICAgICAgICAgICAgICAgICAgICB9LCBmaWx0ZXJJY29uOiBfanN4KEljb25zLCB7IG5hbWU6ICdzZWFyY2gnLCBzaXplOiAyMCwgY29sb3I6ICcjMTMxMzEzJywgd3JhcHBlckNsczogY2xhc3NlcygnZmlsdGVyLWljb24nKSB9KSwgcGFuZWxDbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsJywgcGFuZWxDbGFzc05hbWUpLCBvbkNoYW5nZTogKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkKGUudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKGUpO1xuICAgICAgICAgICAgICAgICAgICB9LCBvbkhpZGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldElzT3BlbihmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkhpZGUgPT09IG51bGwgfHwgb25IaWRlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfSwgb25TaG93OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRJc09wZW4odHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvblNob3cgPT09IG51bGwgfHwgb25TaG93ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgfSwgZHJvcGRvd25JY29uOiAoKSA9PiBfanN4KEljb25zLCB7IG5hbWU6ICdjaGV2cm9uRG93bicsIGNvbG9yOiAnIzEzMTMxMycsIHNpemU6IDIwIH0pIH0pKSwgbWVzc2FnZSAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnbWVzc2FnZScsIFtcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyA/IGNsYXNzZXMoJ21lc3NhZ2Utc3VjY2VzcycpIDogJycsXG4gICAgICAgICAgICAgICAgICAgIGludmFsaWQgPyBjbGFzc2VzKCdtZXNzYWdlLWVycm9yJykgOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZUNsc1xuICAgICAgICAgICAgICAgIF0uam9pbignICcpKSwgY2hpbGRyZW46IG1lc3NhZ2UgfSldIH0pKTtcbn07XG5leHBvcnQgZGVmYXVsdCBtZW1vKFNlbGVjdCk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
300
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwibWVtbyIsInVzZVJlZiIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZUNhbGxiYWNrIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsImlzRXF1YWwiLCJEcm9wZG93biIsIk11bHRpU2VsZWN0IiwiY2xhc3NuYW1lcyIsIkljb25zIiwiU2VsZWN0V3JhcHBlciIsInByb3BzIiwibGFiZWwiLCJtZXNzYWdlIiwicmVxdWlyZWQiLCJwcmVmaXhDbHMiLCJ3cmFwcGVyQ2xzIiwibGFiZWxDbHMiLCJtZXNzYWdlQ2xzIiwic3VjY2VzcyIsImludmFsaWQiLCJkaXNhYmxlZCIsImNoaWxkcmVuIiwiY2xhc3NlcyIsImNsYXNzTmFtZSIsImpvaW4iLCJDdXN0b21Ecm9wZG93biIsIl9wcm9wcyRwcmVmaXhDbHMiLCJ2YWx1ZSIsIl9wcm9wcyRzaXplIiwic2l6ZSIsInBsYWNlaG9sZGVyIiwiX3Byb3BzJGNsYXNzTmFtZSIsInNlbGVjdGVkVGVtcGxhdGUiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc0ZvY3VzIiwic2V0SXNGb2N1cyIsInNlbGVjdENscyIsInJlbW92ZUZvY3VzIiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIm9uQ2xpY2siLCJfYSIsInByZXYiLCJzdG9wUHJvcGFnYXRpb24iLCJuYW1lIiwiY29sb3IiLCJTZWxlY3QiLCJyZWYiLCJfcHJvcHMkcHJlZml4Q2xzMiIsIl9wcm9wcyRzaXplMiIsIl9wcm9wcyRjbGFzc05hbWUyIiwibXVsdGlwbGUiLCJvcHRpb25zIiwicGFuZWxDbGFzc05hbWUiLCJkZWZhdWx0VmFsdWUiLCJpdGVtVGVtcGxhdGUiLCJvbkNoYW5nZSIsIm9uSGlkZSIsIm9uU2hvdyIsInVuc2VsZWN0YWJsZSIsInJlc3QiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInNlbGVjdGVkIiwic2V0U2VsZWN0ZWQiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlzT3BlbiIsInNldElzT3BlbiIsInNlbGVjdFJlZiIsIl9yZWYiLCJBcnJheSIsImlzQXJyYXkiLCJTZWxlY3RDb21wb25lbnQiLCJhc3NpZ24iLCJzaG93U2VsZWN0QWxsIiwiY2hlY2tib3hJY29uIiwicmVtb3ZlSWNvbiIsIl9wcm9wcyRpY29uUHJvcHMiLCJpY29uUHJvcHMiLCJvbktleURvd24iLCJ0YWJJbmRleCIsInBhbmVsSGVhZGVyVGVtcGxhdGUiLCJfYiIsIl9jIiwiX2QiLCJfZSIsImZpbHRlckVsZW1lbnQiLCJvbkNsb3NlQ2xpY2siLCJzZWxlY3RlZE51bSIsIm1ldGFEYXRhIiwicmVzZXRGaWx0ZXIiLCJjb2xsYXBzZUljb24iLCJ1bmRlZmluZWQiLCJjdXJyZW50IiwiZmlsdGVyUGxhY2Vob2xkZXIiLCJvcHRpb24iLCJjbGVhciIsImZpbHRlckljb24iLCJkcm9wZG93bkljb24iXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFJQSxNQUFNLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENB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QSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQU5BLE9BQU0sQ0FBQSxDQUFJO01BQ1osQ0FBQztNQUNEQyxNQUFNLEVBQUUsU0FBUkEsTUFBTUEsQ0FBQSxFQUFPO1FBQ1hVLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDZlYsT0FBTSxLQUFBLElBQUEsSUFBTkEsT0FBTSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFOQSxPQUFNLENBQUEsQ0FBSTtNQUNaLENBQUM7TUFDRHlDLFlBQVksRUFBRSxTQUFkQSxZQUFZQSxDQUFBO1FBQUEsT0FBUTVHLElBQUEsQ0FBQ2MsS0FBSyxFQUFBO1VBQUN1QyxJQUFJLEVBQUMsYUFBYTtVQUFDQyxLQUFLLEVBQUMsU0FBUztVQUFDbkIsSUFBSSxFQUFFO1FBQUUsQ0FBQSxDQUFJO01BQUE7SUFBQSxDQUFBLENBQUE7RUFDMUUsQ0FBQSxDQUNZO0FBRXBCLENBQUM7QUFFRG9CLE1BQU0sQ0FBQ3hCLGNBQWMsR0FBR0EsY0FBYztBQUV0Qyw0QkFBZTVCLElBQUksQ0FBQ29ELE1BQU0sQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1NlbGVjdC9TZWxlY3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlUmVmLCB1c2VNZW1vLCB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VDYWxsYmFjaywgdXNlSW1wZXJhdGl2ZUhhbmRsZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC5pc2VxdWFsJztcbmltcG9ydCB7IERyb3Bkb3duIH0gZnJvbSAncHJpbWVyZWFjdC9kcm9wZG93bic7XG5pbXBvcnQgeyBNdWx0aVNlbGVjdCB9IGZyb20gJ3ByaW1lcmVhY3QvbXVsdGlzZWxlY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL0ljb25zJztcbmNvbnN0IFNlbGVjdFdyYXBwZXIgPSBtZW1vKHByb3BzID0+IHtcbiAgICBjb25zdCB7IGxhYmVsLCBtZXNzYWdlLCByZXF1aXJlZCwgcHJlZml4Q2xzLCB3cmFwcGVyQ2xzLCBsYWJlbENscywgbWVzc2FnZUNscywgc3VjY2VzcywgaW52YWxpZCwgZGlzYWJsZWQsIGNoaWxkcmVuLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICByZXR1cm4gX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3dyYXBwZXInLCB3cmFwcGVyQ2xzKSwgY2hpbGRyZW46IFtsYWJlbCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnbGFiZWwnLCBbcmVxdWlyZWQgJiYgY2xhc3NlcygnbGFiZWwtcmVxdWlyZWQnKSwgbGFiZWxDbHNdLmpvaW4oJyAnKSksIGNoaWxkcmVuOiBsYWJlbCB9KSwgY2hpbGRyZW4sIG1lc3NhZ2UgJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ21lc3NhZ2UnLCBbXG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MgPyBjbGFzc2VzKCdtZXNzYWdlLXN1Y2Nlc3MnKSA6ICcnLFxuICAgICAgICAgICAgICAgICAgICBpbnZhbGlkID8gY2xhc3NlcygnbWVzc2FnZS1lcnJvcicpIDogJycsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VDbHNcbiAgICAgICAgICAgICAgICBdLmpvaW4oJyAnKSksIGNoaWxkcmVuOiBtZXNzYWdlIH0pXSB9KTtcbn0pO1xuY29uc3QgQ3VzdG9tRHJvcGRvd24gPSBwcm9wcyA9PiB7XG4gICAgY29uc3QgeyBsYWJlbCwgbWVzc2FnZSwgcmVxdWlyZWQsIHByZWZpeENscyA9ICdzZWxlY3QnLCB3cmFwcGVyQ2xzLCBsYWJlbENscywgbWVzc2FnZUNscywgdmFsdWUsIHNpemUgPSAnbGFyZ2UnLCBzdWNjZXNzLCBpbnZhbGlkLCBkaXNhYmxlZCwgcGxhY2Vob2xkZXIsIGNsYXNzTmFtZSA9ICcnLCBzZWxlY3RlZFRlbXBsYXRlLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBbaXNGb2N1cywgc2V0SXNGb2N1c10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3Qgc2VsZWN0Q2xzID0gdXNlTWVtbygoKSA9PiBjbGFzc2VzKHZvaWQgMCwgW1xuICAgICAgICBjbGFzc2VzKHNpemUpLFxuICAgICAgICBjbGFzc2VzKCdjdXN0b20nKSxcbiAgICAgICAgaXNGb2N1cyA/IGNsYXNzZXMoJ2ZvY3VzJykgOiAnJyxcbiAgICAgICAgc3VjY2VzcyA/IGNsYXNzZXMoJ3N1Y2Nlc3MnKSA6ICcnLFxuICAgICAgICBpbnZhbGlkID8gY2xhc3NlcygnaW52YWxpZCcpIDogJycsXG4gICAgICAgIGRpc2FibGVkID8gY2xhc3NlcygnZGlzYWJsZWQnKSA6ICcnLFxuICAgICAgICBjbGFzc05hbWVcbiAgICBdLmpvaW4oJyAnKSksIFtzaXplLCBpc0ZvY3VzLCBzdWNjZXNzLCBpbnZhbGlkLCBkaXNhYmxlZCwgY2xhc3NOYW1lXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgcmVtb3ZlRm9jdXMgPSAoKSA9PiB7XG4gICAgICAgICAgICBzZXRJc0ZvY3VzKGZhbHNlKTtcbiAgICAgICAgfTtcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCByZW1vdmVGb2N1cyk7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHJlbW92ZUZvY3VzKTtcbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG4gICAgcmV0dXJuIF9qc3goU2VsZWN0V3JhcHBlciwgeyBsYWJlbDogbGFiZWwsIG1lc3NhZ2U6IG1lc3NhZ2UsIHJlcXVpcmVkOiByZXF1aXJlZCwgcHJlZml4Q2xzOiBwcmVmaXhDbHMsIHdyYXBwZXJDbHM6IHdyYXBwZXJDbHMsIGxhYmVsQ2xzOiBsYWJlbENscywgbWVzc2FnZUNsczogbWVzc2FnZUNscywgc3VjY2Vzczogc3VjY2VzcywgaW52YWxpZDogaW52YWxpZCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBjaGlsZHJlbjogX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IHNlbGVjdENscywgb25DbGljazogKGUpID0+IHtcbiAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgc2V0SXNGb2N1cyhwcmV2ID0+ICFwcmV2KTtcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIChfYSA9IHByb3BzLm9uQ2xpY2spID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHByb3BzLCBlKTtcbiAgICAgICAgICAgIH0sIGNoaWxkcmVuOiBbc2VsZWN0ZWRUZW1wbGF0ZSA/IHNlbGVjdGVkVGVtcGxhdGUgOiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY3VzdG9tLXBsYWNlaG9sZGVyJyksIGNoaWxkcmVuOiBwbGFjZWhvbGRlciB9KSwgX2pzeChJY29ucywgeyBuYW1lOiBpc0ZvY3VzID8gJ2NoZXZyb25VcCcgOiAnY2hldnJvbkRvd24nLCBjb2xvcjogJyMxMzEzMTMnLCBzaXplOiAyMCB9KV0gfSkgfSk7XG59O1xuZXhwb3J0IGNvbnN0IFNlbGVjdCA9IHByb3BzID0+IHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgeyByZWYsIGxhYmVsLCBtZXNzYWdlLCByZXF1aXJlZCwgcHJlZml4Q2xzID0gJ3NlbGVjdCcsIHdyYXBwZXJDbHMsIGxhYmVsQ2xzLCBtZXNzYWdlQ2xzLCB2YWx1ZSwgc2l6ZSA9ICdsYXJnZScsIHN1Y2Nlc3MsIGludmFsaWQsIGRpc2FibGVkLCBwbGFjZWhvbGRlciwgY2xhc3NOYW1lID0gJycsIG11bHRpcGxlLCBvcHRpb25zLCBuYW1lLCBwYW5lbENsYXNzTmFtZSwgZGVmYXVsdFZhbHVlLCBpdGVtVGVtcGxhdGUsIG9uQ2hhbmdlLCBvbkhpZGUsIG9uU2hvdywgdW5zZWxlY3RhYmxlIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wicmVmXCIsIFwibGFiZWxcIiwgXCJtZXNzYWdlXCIsIFwicmVxdWlyZWRcIiwgXCJwcmVmaXhDbHNcIiwgXCJ3cmFwcGVyQ2xzXCIsIFwibGFiZWxDbHNcIiwgXCJtZXNzYWdlQ2xzXCIsIFwidmFsdWVcIiwgXCJzaXplXCIsIFwic3VjY2Vzc1wiLCBcImludmFsaWRcIiwgXCJkaXNhYmxlZFwiLCBcInBsYWNlaG9sZGVyXCIsIFwiY2xhc3NOYW1lXCIsIFwibXVsdGlwbGVcIiwgXCJvcHRpb25zXCIsIFwibmFtZVwiLCBcInBhbmVsQ2xhc3NOYW1lXCIsIFwiZGVmYXVsdFZhbHVlXCIsIFwiaXRlbVRlbXBsYXRlXCIsIFwib25DaGFuZ2VcIiwgXCJvbkhpZGVcIiwgXCJvblNob3dcIiwgXCJ1bnNlbGVjdGFibGVcIl0pO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgW3NlbGVjdGVkLCBzZXRTZWxlY3RlZF0gPSB1c2VTdGF0ZSgoX2EgPSB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdm9pZCAwID8gdmFsdWUgOiBkZWZhdWx0VmFsdWUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG51bGwpO1xuICAgIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3Qgc2VsZWN0UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IF9yZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3Qgc2VsZWN0Q2xzID0gdXNlTWVtbygoKSA9PiBjbGFzc2VzKHZvaWQgMCwgW1xuICAgICAgICBjbGFzc2VzKHNpemUpLFxuICAgICAgICBpc09wZW4gPyBjbGFzc2VzKCdzaG93JykgOiAnJyxcbiAgICAgICAgc3VjY2VzcyA/IGNsYXNzZXMoJ3N1Y2Nlc3MnKSA6ICcnLFxuICAgICAgICBpbnZhbGlkID8gY2xhc3NlcygnaW52YWxpZCcpIDogJycsXG4gICAgICAgIGRpc2FibGVkID8gY2xhc3NlcygnZGlzYWJsZWQnKSA6ICcnLFxuICAgICAgICAoQXJyYXkuaXNBcnJheShzZWxlY3RlZCkgPyBzZWxlY3RlZC5sZW5ndGggOiBzZWxlY3RlZCkgPyBjbGFzc2VzKCdmaWxsZWQnKSA6ICcnLFxuICAgICAgICBjbGFzc05hbWVcbiAgICBdLmpvaW4oJyAnKSksIFtzaXplLCBpc09wZW4sIHN1Y2Nlc3MsIHNlbGVjdGVkLCBpbnZhbGlkLCBkaXNhYmxlZCwgY2xhc3NOYW1lXSk7XG4gICAgY29uc3QgU2VsZWN0Q29tcG9uZW50ID0gdXNlQ2FsbGJhY2soKHByb3BzKSA9PiBtdWx0aXBsZVxuICAgICAgICA/IF9qc3goTXVsdGlTZWxlY3QsIE9iamVjdC5hc3NpZ24oeyB1bnNlbGVjdGFibGU6IHVuc2VsZWN0YWJsZSwgc2hvd1NlbGVjdEFsbDogZmFsc2UsIGNoZWNrYm94SWNvbjogX2pzeChJY29ucywgeyBuYW1lOiAnY2hlY2snLCBzaXplOiAxMiwgY29sb3I6ICcjRkVGRUZFJyB9KSwgcmVtb3ZlSWNvbjogcHJvcHMgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgb25DbGljaywgb25LZXlEb3duLCB0YWJJbmRleCB9ID0gcHJvcHMuaWNvblByb3BzO1xuICAgICAgICAgICAgICAgIHJldHVybiBfanN4KEljb25zLCB7IG5hbWU6ICdjbG9zZScsIHNpemU6IDE2LCBjb2xvcjogJyMxMzEzMTMnLCB0YWJJbmRleDogdGFiSW5kZXgsIHdyYXBwZXJDbHM6IGNsYXNzZXMoJ3Rva2VuLXJlbW92ZS1pY29uJyksIG9uQ2xpY2s6IG9uQ2xpY2ssIG9uS2V5RG93bjogb25LZXlEb3duIH0pO1xuICAgICAgICAgICAgfSwgcGFuZWxIZWFkZXJUZW1wbGF0ZTogb3B0aW9ucyA9PiB7XG4gICAgICAgICAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kLCBfZTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGZpbHRlckVsZW1lbnQsIG9uQ2hhbmdlLCBvbkNsb3NlQ2xpY2ssIHByb3BzIH0gPSBvcHRpb25zO1xuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZE51bSA9IChfZCA9IChfYyA9IChfYiA9IChfYSA9IHByb3BzID09PSBudWxsIHx8IHByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwcm9wcy5tZXRhRGF0YSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnByb3BzKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IudmFsdWUpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYy5sZW5ndGgpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IDA7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXInKSwgY2hpbGRyZW46IFtfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaGVhZGVyLWluZm8nKSwgY2hpbGRyZW46IFtfanN4cyhcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWhlYWRlci1pbmZvLWNvdW50JyksIGNoaWxkcmVuOiBbc2VsZWN0ZWROdW0sIFwiIHNlbGVjdGVkXCJdIH0pLCBfanN4cyhcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWhlYWRlci1pbmZvLWNsZWFyJyksIG9uQ2xpY2s6IGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5yZXNldEZpbHRlcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgY2hpbGRyZW46IFtfanN4KEljb25zLCB7IG5hbWU6ICdjbG9zZScsIHNpemU6IDE2LCBjb2xvcjogJyNBRTAwMDAnLCB3cmFwcGVyQ2xzOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXItaW5mby1jbGVhci1pY29uJykgfSksIFwiQ2xlYXIgYWxsXCJdIH0pXSB9KSwgKF9lID0gZmlsdGVyRWxlbWVudCA9PT0gbnVsbCB8fCBmaWx0ZXJFbGVtZW50ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBmaWx0ZXJFbGVtZW50LnByb3BzKSA9PT0gbnVsbCB8fCBfZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2UuY2hpbGRyZW5dIH0pO1xuICAgICAgICAgICAgfSB9LCBwcm9wcykpXG4gICAgICAgIDogX2pzeChEcm9wZG93biwgT2JqZWN0LmFzc2lnbih7IGNvbGxhcHNlSWNvbjogbXVsdGlwbGUgPyB2b2lkIDAgOiAoKSA9PiBfanN4KEljb25zLCB7IG5hbWU6ICdjaGV2cm9uVXAnLCBjb2xvcjogJyMxMzEzMTMnLCBzaXplOiAyMCB9KSB9LCBwcm9wcykpLCBbbXVsdGlwbGVdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhaXNFcXVhbChzZWxlY3RlZCwgdmFsdWUpKSB7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9LCBbdmFsdWVdKTtcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiAhPT0gbnVsbCAmJiByZWYgIT09IHZvaWQgMCA/IHJlZiA6IF9yZWYsICgpID0+IHNlbGVjdFJlZi5jdXJyZW50KTtcbiAgICByZXR1cm4gKF9qc3goU2VsZWN0V3JhcHBlciwgeyBsYWJlbDogbGFiZWwsIG1lc3NhZ2U6IG1lc3NhZ2UsIHJlcXVpcmVkOiByZXF1aXJlZCwgcHJlZml4Q2xzOiBwcmVmaXhDbHMsIHdyYXBwZXJDbHM6IHdyYXBwZXJDbHMsIGxhYmVsQ2xzOiBsYWJlbENscywgbWVzc2FnZUNsczogbWVzc2FnZUNscywgc3VjY2Vzczogc3VjY2VzcywgaW52YWxpZDogaW52YWxpZCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBjaGlsZHJlbjogX2pzeChTZWxlY3RDb21wb25lbnQsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgcmVmOiBzZWxlY3RSZWYsIG5hbWU6IG5hbWUsIGZpbHRlclBsYWNlaG9sZGVyOiAnU2VhcmNoJywgcmVxdWlyZWQ6IHJlcXVpcmVkLCBkaXNhYmxlZDogZGlzYWJsZWQsIGludmFsaWQ6IGludmFsaWQsIG9wdGlvbnM6IG9wdGlvbnMsIHZhbHVlOiBzZWxlY3RlZCA9PSBudWxsID8gdW5kZWZpbmVkIDogc2VsZWN0ZWQsIGNsYXNzTmFtZTogc2VsZWN0Q2xzLCBpdGVtVGVtcGxhdGU6IChvcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWl0ZW0nKSwgb25DbGljazogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtdWx0aXBsZSAmJiB1bnNlbGVjdGFibGUgPT09ICdvbicgJiYgb3B0aW9uLnZhbHVlID09PSBzZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSwgY2hpbGRyZW46IFtfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1pdGVtLWxhYmVsJyksIGNoaWxkcmVuOiBpdGVtVGVtcGxhdGUgPyBpdGVtVGVtcGxhdGUob3B0aW9uKSA6IG9wdGlvbi5sYWJlbCB9KSwgX2pzeChJY29ucywgeyBuYW1lOiAnY2hlY2snLCBzaXplOiAxNiwgY29sb3I6ICcjMDczMzg3JyB9KV0gfSk7XG4gICAgICAgICAgICB9LCBmaWx0ZXJJY29uOiBfanN4KEljb25zLCB7IG5hbWU6ICdzZWFyY2gnLCBzaXplOiAyMCwgY29sb3I6ICcjMTMxMzEzJywgd3JhcHBlckNsczogY2xhc3NlcygnZmlsdGVyLWljb24nKSB9KSwgcGFuZWxDbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsJywgcGFuZWxDbGFzc05hbWUpLCBvbkNoYW5nZTogKGUpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZChlLnZhbHVlKTtcbiAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKGUpO1xuICAgICAgICAgICAgfSwgb25IaWRlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXNPcGVuKGZhbHNlKTtcbiAgICAgICAgICAgICAgICBvbkhpZGUgPT09IG51bGwgfHwgb25IaWRlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkhpZGUoKTtcbiAgICAgICAgICAgIH0sIG9uU2hvdzogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldElzT3Blbih0cnVlKTtcbiAgICAgICAgICAgICAgICBvblNob3cgPT09IG51bGwgfHwgb25TaG93ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblNob3coKTtcbiAgICAgICAgICAgIH0sIGRyb3Bkb3duSWNvbjogKCkgPT4gX2pzeChJY29ucywgeyBuYW1lOiAnY2hldnJvbkRvd24nLCBjb2xvcjogJyMxMzEzMTMnLCBzaXplOiAyMCB9KSB9KSkgfSkpO1xufTtcblNlbGVjdC5DdXN0b21Ecm9wZG93biA9IEN1c3RvbURyb3Bkb3duO1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhTZWxlY3QpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -16,25 +16,22 @@ interface BaseProps {
16
16
  }
17
17
  export interface SingleSelectProps extends Omit<DropdownProps, 'value' | 'size' | 'itemTemplate' | 'onChange'>, BaseProps {
18
18
  ref?: RefObject<Dropdown | null>;
19
- multiple?: false;
20
19
  unselectable?: 'on' | 'off';
21
20
  panelType?: 'menu' | 'selector';
22
21
  onChange?: (e: DropdownChangeEvent) => void;
23
22
  }
24
23
  export interface MultiSelectProps extends Omit<PrimeMultiSelectProps, 'value' | 'size' | 'itemTemplate' | 'onChange'>, BaseProps {
24
+ multiple: true;
25
25
  ref?: RefObject<MultiSelect | null>;
26
26
  onChange?: (e: MultiSelectChangeEvent) => void;
27
- multiple: true;
28
27
  }
29
- export interface CustomSelectProps extends Omit<BaseProps, 'itemTemplate'> {
30
- ref?: RefObject<HTMLDivElement | null>;
28
+ export interface CustomDropdownProps extends Omit<BaseProps, 'itemTemplate'> {
31
29
  invalid?: boolean;
32
30
  disabled?: boolean;
33
31
  placeholder?: string;
34
32
  className?: string;
35
33
  selectedTemplate?: ReactNode;
36
34
  onClick?: (e: MouseEvent<HTMLDivElement>) => void;
37
- customDropdown: true;
38
35
  }
39
- export type SelectProps = SingleSelectProps | MultiSelectProps | CustomSelectProps;
36
+ export type SelectProps = SingleSelectProps | MultiSelectProps;
40
37
  export {};