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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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,102 @@ 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,
37
- multiple = props.multiple,
38
- customDropdown = props.customDropdown,
39
59
  selectedTemplate = props.selectedTemplate,
60
+ tailTemplate = props.tailTemplate;
61
+ var classes = classnames(prefixCls);
62
+ var _useState = useState(false),
63
+ _useState2 = _slicedToArray(_useState, 2),
64
+ isFocus = _useState2[0],
65
+ setIsFocus = _useState2[1];
66
+ var selectCls = useMemo(function () {
67
+ return classes(void 0, [classes(size), classes('custom'), isFocus ? classes('focus') : '', success ? classes('success') : '', invalid ? classes('invalid') : '', disabled ? classes('disabled') : '', className].join(' '));
68
+ }, [size, isFocus, success, invalid, disabled, className]);
69
+ useEffect(function () {
70
+ var removeFocus = function removeFocus() {
71
+ setIsFocus(false);
72
+ };
73
+ document.addEventListener('click', removeFocus);
74
+ return function () {
75
+ document.removeEventListener('click', removeFocus);
76
+ };
77
+ }, []);
78
+ return _jsx(SelectWrapper, {
79
+ label: label,
80
+ message: message,
81
+ required: required,
82
+ prefixCls: prefixCls,
83
+ wrapperCls: wrapperCls,
84
+ labelCls: labelCls,
85
+ messageCls: messageCls,
86
+ success: success,
87
+ invalid: invalid,
88
+ disabled: disabled,
89
+ children: _jsxs("div", {
90
+ className: selectCls,
91
+ onClick: function onClick(e) {
92
+ var _a;
93
+ setIsFocus(function (prev) {
94
+ return !prev;
95
+ });
96
+ e.stopPropagation();
97
+ (_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, e);
98
+ },
99
+ children: [typeof selectedTemplate === 'function' ? selectedTemplate(isFocus) : _jsx("span", {
100
+ className: classes('custom-placeholder'),
101
+ children: placeholder
102
+ }), typeof tailTemplate === 'function' ? tailTemplate(isFocus) : _jsx(Icons, {
103
+ name: isFocus ? 'chevronUp' : 'chevronDown',
104
+ color: '#131313',
105
+ size: 20
106
+ })]
107
+ })
108
+ });
109
+ };
110
+ export var Select = function Select(props) {
111
+ var _a;
112
+ var ref = props.ref,
113
+ label = props.label,
114
+ message = props.message,
115
+ required = props.required,
116
+ _props$prefixCls2 = props.prefixCls,
117
+ prefixCls = _props$prefixCls2 === void 0 ? 'select' : _props$prefixCls2,
118
+ wrapperCls = props.wrapperCls,
119
+ labelCls = props.labelCls,
120
+ messageCls = props.messageCls,
121
+ value = props.value,
122
+ _props$size2 = props.size,
123
+ size = _props$size2 === void 0 ? 'large' : _props$size2,
124
+ success = props.success,
125
+ invalid = props.invalid,
126
+ disabled = props.disabled,
127
+ placeholder = props.placeholder,
128
+ _props$className2 = props.className,
129
+ className = _props$className2 === void 0 ? '' : _props$className2,
130
+ multiple = props.multiple,
40
131
  options = props.options,
41
132
  name = props.name,
42
133
  panelClassName = props.panelClassName,
43
- _onChange = props.onChange,
44
134
  defaultValue = props.defaultValue,
45
135
  _itemTemplate = props.itemTemplate,
136
+ _onChange = props.onChange,
46
137
  _onHide = props.onHide,
47
138
  _onShow = props.onShow,
48
139
  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"]);
140
+ 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
141
  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),
142
+ var _useState3 = useState((_a = value !== null && value !== void 0 ? value : defaultValue) !== null && _a !== void 0 ? _a : null),
56
143
  _useState4 = _slicedToArray(_useState3, 2),
57
- isOpen = _useState4[0],
58
- setIsOpen = _useState4[1];
144
+ selected = _useState4[0],
145
+ setSelected = _useState4[1];
59
146
  var _useState5 = useState(false),
60
147
  _useState6 = _slicedToArray(_useState5, 2),
61
- isFocus = _useState6[0],
62
- setIsFocus = _useState6[1];
148
+ isOpen = _useState6[0],
149
+ setIsOpen = _useState6[1];
63
150
  var selectRef = useRef(null);
64
151
  var _ref = useRef(null);
65
152
  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]);
153
+ 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(' '));
154
+ }, [size, isOpen, success, selected, invalid, disabled, className]);
68
155
  var SelectComponent = useCallback(function (props) {
69
156
  return multiple ? _jsx(MultiSelect, Object.assign({
70
157
  unselectable: unselectable,
@@ -136,44 +223,21 @@ export var Select = function Select(props) {
136
223
  setSelected(value);
137
224
  }
138
225
  }, [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
226
  useImperativeHandle(ref !== null && ref !== void 0 ? ref : _ref, function () {
150
227
  return selectRef.current;
151
228
  });
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, {
229
+ return _jsx(SelectWrapper, {
230
+ label: label,
231
+ message: message,
232
+ required: required,
233
+ prefixCls: prefixCls,
234
+ wrapperCls: wrapperCls,
235
+ labelCls: labelCls,
236
+ messageCls: messageCls,
237
+ success: success,
238
+ invalid: invalid,
239
+ disabled: disabled,
240
+ children: _jsx(SelectComponent, Object.assign({}, rest, {
177
241
  ref: selectRef,
178
242
  name: name,
179
243
  filterPlaceholder: 'Search',
@@ -211,6 +275,7 @@ export var Select = function Select(props) {
211
275
  panelClassName: classes('panel', panelClassName),
212
276
  onChange: function onChange(e) {
213
277
  setSelected(e.value);
278
+ // @ts-expect-error
214
279
  _onChange === null || _onChange === void 0 ? void 0 : _onChange(e);
215
280
  },
216
281
  onHide: function onHide() {
@@ -228,11 +293,9 @@ export var Select = function Select(props) {
228
293
  size: 20
229
294
  });
230
295
  }
231
- })), message && _jsx("span", {
232
- className: classes('message', [success ? classes('message-success') : '', invalid ? classes('message-error') : '', messageCls].join(' ')),
233
- children: message
234
- })]
296
+ }))
235
297
  });
236
298
  };
299
+ Select.CustomDropdown = CustomDropdown;
237
300
  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
301
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwibWVtbyIsInVzZVJlZiIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZUNhbGxiYWNrIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsImlzRXF1YWwiLCJEcm9wZG93biIsIk11bHRpU2VsZWN0IiwiY2xhc3NuYW1lcyIsIkljb25zIiwiU2VsZWN0V3JhcHBlciIsInByb3BzIiwibGFiZWwiLCJtZXNzYWdlIiwicmVxdWlyZWQiLCJwcmVmaXhDbHMiLCJ3cmFwcGVyQ2xzIiwibGFiZWxDbHMiLCJtZXNzYWdlQ2xzIiwic3VjY2VzcyIsImludmFsaWQiLCJkaXNhYmxlZCIsImNoaWxkcmVuIiwiY2xhc3NlcyIsImNsYXNzTmFtZSIsImpvaW4iLCJDdXN0b21Ecm9wZG93biIsIl9wcm9wcyRwcmVmaXhDbHMiLCJ2YWx1ZSIsIl9wcm9wcyRzaXplIiwic2l6ZSIsInBsYWNlaG9sZGVyIiwiX3Byb3BzJGNsYXNzTmFtZSIsInNlbGVjdGVkVGVtcGxhdGUiLCJ0YWlsVGVtcGxhdGUiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc0ZvY3VzIiwic2V0SXNGb2N1cyIsInNlbGVjdENscyIsInJlbW92ZUZvY3VzIiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIm9uQ2xpY2siLCJfYSIsInByZXYiLCJzdG9wUHJvcGFnYXRpb24iLCJuYW1lIiwiY29sb3IiLCJTZWxlY3QiLCJyZWYiLCJfcHJvcHMkcHJlZml4Q2xzMiIsIl9wcm9wcyRzaXplMiIsIl9wcm9wcyRjbGFzc05hbWUyIiwibXVsdGlwbGUiLCJvcHRpb25zIiwicGFuZWxDbGFzc05hbWUiLCJkZWZhdWx0VmFsdWUiLCJpdGVtVGVtcGxhdGUiLCJvbkNoYW5nZSIsIm9uSGlkZSIsIm9uU2hvdyIsInVuc2VsZWN0YWJsZSIsInJlc3QiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInNlbGVjdGVkIiwic2V0U2VsZWN0ZWQiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlzT3BlbiIsInNldElzT3BlbiIsInNlbGVjdFJlZiIsIl9yZWYiLCJBcnJheSIsImlzQXJyYXkiLCJTZWxlY3RDb21wb25lbnQiLCJhc3NpZ24iLCJzaG93U2VsZWN0QWxsIiwiY2hlY2tib3hJY29uIiwicmVtb3ZlSWNvbiIsIl9wcm9wcyRpY29uUHJvcHMiLCJpY29uUHJvcHMiLCJvbktleURvd24iLCJ0YWJJbmRleCIsInBhbmVsSGVhZGVyVGVtcGxhdGUiLCJfYiIsIl9jIiwiX2QiLCJfZSIsImZpbHRlckVsZW1lbnQiLCJvbkNsb3NlQ2xpY2siLCJzZWxlY3RlZE51bSIsIm1ldGFEYXRhIiwicmVzZXRGaWx0ZXIiLCJjb2xsYXBzZUljb24iLCJ1bmRlZmluZWQiLCJjdXJyZW50IiwiZmlsdGVyUGxhY2Vob2xkZXIiLCJvcHRpb24iLCJjbGVhciIsImZpbHRlckljb24iLCJkcm9wZG93bkljb24iXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFJQSxNQUFNLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FB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U0FBUSxDQUFHL0UsQ0FBQyxDQUFDO01BQ2YsQ0FBQztNQUNEZ0YsTUFBTSxFQUFFLFNBQVJBLE1BQU1BLENBQUEsRUFBTztRQUNYVyxTQUFTLENBQUMsS0FBSyxDQUFDO1FBQ2hCWCxPQUFNLEtBQUEsSUFBQSxJQUFOQSxPQUFNLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQU5BLE9BQU0sQ0FBQSxDQUFJO01BQ1osQ0FBQztNQUNEQyxNQUFNLEVBQUUsU0FBUkEsTUFBTUEsQ0FBQSxFQUFPO1FBQ1hVLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDZlYsT0FBTSxLQUFBLElBQUEsSUFBTkEsT0FBTSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFOQSxPQUFNLENBQUEsQ0FBSTtNQUNaLENBQUM7TUFDRHlDLFlBQVksRUFBRSxTQUFkQSxZQUFZQSxDQUFBO1FBQUEsT0FBUTdHLElBQUEsQ0FBQ2MsS0FBSyxFQUFBO1VBQUN3QyxJQUFJLEVBQUMsYUFBYTtVQUFDQyxLQUFLLEVBQUMsU0FBUztVQUFDcEIsSUFBSSxFQUFFO1FBQUUsQ0FBQSxDQUFJO01BQUE7SUFBQSxDQUFBLENBQUE7RUFDMUUsQ0FBQSxDQUNZO0FBRXBCLENBQUM7QUFFRHFCLE1BQU0sQ0FBQ3pCLGNBQWMsR0FBR0EsY0FBYztBQUV0Qyw0QkFBZTVCLElBQUksQ0FBQ3FELE1BQU0sQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1NlbGVjdC9TZWxlY3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlUmVmLCB1c2VNZW1vLCB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VDYWxsYmFjaywgdXNlSW1wZXJhdGl2ZUhhbmRsZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC5pc2VxdWFsJztcbmltcG9ydCB7IERyb3Bkb3duIH0gZnJvbSAncHJpbWVyZWFjdC9kcm9wZG93bic7XG5pbXBvcnQgeyBNdWx0aVNlbGVjdCB9IGZyb20gJ3ByaW1lcmVhY3QvbXVsdGlzZWxlY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL0ljb25zJztcbmNvbnN0IFNlbGVjdFdyYXBwZXIgPSBtZW1vKHByb3BzID0+IHtcbiAgICBjb25zdCB7IGxhYmVsLCBtZXNzYWdlLCByZXF1aXJlZCwgcHJlZml4Q2xzLCB3cmFwcGVyQ2xzLCBsYWJlbENscywgbWVzc2FnZUNscywgc3VjY2VzcywgaW52YWxpZCwgZGlzYWJsZWQsIGNoaWxkcmVuLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICByZXR1cm4gX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3dyYXBwZXInLCB3cmFwcGVyQ2xzKSwgY2hpbGRyZW46IFtsYWJlbCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnbGFiZWwnLCBbcmVxdWlyZWQgJiYgY2xhc3NlcygnbGFiZWwtcmVxdWlyZWQnKSwgbGFiZWxDbHNdLmpvaW4oJyAnKSksIGNoaWxkcmVuOiBsYWJlbCB9KSwgY2hpbGRyZW4sIG1lc3NhZ2UgJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ21lc3NhZ2UnLCBbXG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MgPyBjbGFzc2VzKCdtZXNzYWdlLXN1Y2Nlc3MnKSA6ICcnLFxuICAgICAgICAgICAgICAgICAgICBpbnZhbGlkID8gY2xhc3NlcygnbWVzc2FnZS1lcnJvcicpIDogJycsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VDbHNcbiAgICAgICAgICAgICAgICBdLmpvaW4oJyAnKSksIGNoaWxkcmVuOiBtZXNzYWdlIH0pXSB9KTtcbn0pO1xuY29uc3QgQ3VzdG9tRHJvcGRvd24gPSBwcm9wcyA9PiB7XG4gICAgY29uc3QgeyBsYWJlbCwgbWVzc2FnZSwgcmVxdWlyZWQsIHByZWZpeENscyA9ICdzZWxlY3QnLCB3cmFwcGVyQ2xzLCBsYWJlbENscywgbWVzc2FnZUNscywgdmFsdWUsIHNpemUgPSAnbGFyZ2UnLCBzdWNjZXNzLCBpbnZhbGlkLCBkaXNhYmxlZCwgcGxhY2Vob2xkZXIsIGNsYXNzTmFtZSA9ICcnLCBzZWxlY3RlZFRlbXBsYXRlLCB0YWlsVGVtcGxhdGUsIH0gPSBwcm9wcztcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IFtpc0ZvY3VzLCBzZXRJc0ZvY3VzXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBzZWxlY3RDbHMgPSB1c2VNZW1vKCgpID0+IGNsYXNzZXModm9pZCAwLCBbXG4gICAgICAgIGNsYXNzZXMoc2l6ZSksXG4gICAgICAgIGNsYXNzZXMoJ2N1c3RvbScpLFxuICAgICAgICBpc0ZvY3VzID8gY2xhc3NlcygnZm9jdXMnKSA6ICcnLFxuICAgICAgICBzdWNjZXNzID8gY2xhc3Nlcygnc3VjY2VzcycpIDogJycsXG4gICAgICAgIGludmFsaWQgPyBjbGFzc2VzKCdpbnZhbGlkJykgOiAnJyxcbiAgICAgICAgZGlzYWJsZWQgPyBjbGFzc2VzKCdkaXNhYmxlZCcpIDogJycsXG4gICAgICAgIGNsYXNzTmFtZVxuICAgIF0uam9pbignICcpKSwgW3NpemUsIGlzRm9jdXMsIHN1Y2Nlc3MsIGludmFsaWQsIGRpc2FibGVkLCBjbGFzc05hbWVdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCByZW1vdmVGb2N1cyA9ICgpID0+IHtcbiAgICAgICAgICAgIHNldElzRm9jdXMoZmFsc2UpO1xuICAgICAgICB9O1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHJlbW92ZUZvY3VzKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgcmVtb3ZlRm9jdXMpO1xuICAgICAgICB9O1xuICAgIH0sIFtdKTtcbiAgICByZXR1cm4gX2pzeChTZWxlY3RXcmFwcGVyLCB7IGxhYmVsOiBsYWJlbCwgbWVzc2FnZTogbWVzc2FnZSwgcmVxdWlyZWQ6IHJlcXVpcmVkLCBwcmVmaXhDbHM6IHByZWZpeENscywgd3JhcHBlckNsczogd3JhcHBlckNscywgbGFiZWxDbHM6IGxhYmVsQ2xzLCBtZXNzYWdlQ2xzOiBtZXNzYWdlQ2xzLCBzdWNjZXNzOiBzdWNjZXNzLCBpbnZhbGlkOiBpbnZhbGlkLCBkaXNhYmxlZDogZGlzYWJsZWQsIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogc2VsZWN0Q2xzLCBvbkNsaWNrOiAoZSkgPT4ge1xuICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICBzZXRJc0ZvY3VzKHByZXYgPT4gIXByZXYpO1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgKF9hID0gcHJvcHMub25DbGljaykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwocHJvcHMsIGUpO1xuICAgICAgICAgICAgfSwgY2hpbGRyZW46IFt0eXBlb2Ygc2VsZWN0ZWRUZW1wbGF0ZSA9PT0gJ2Z1bmN0aW9uJyA/IHNlbGVjdGVkVGVtcGxhdGUoaXNGb2N1cykgOiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY3VzdG9tLXBsYWNlaG9sZGVyJyksIGNoaWxkcmVuOiBwbGFjZWhvbGRlciB9KSwgdHlwZW9mIHRhaWxUZW1wbGF0ZSA9PT0gJ2Z1bmN0aW9uJyA/IHRhaWxUZW1wbGF0ZShpc0ZvY3VzKSA6IF9qc3goSWNvbnMsIHsgbmFtZTogaXNGb2N1cyA/ICdjaGV2cm9uVXAnIDogJ2NoZXZyb25Eb3duJywgY29sb3I6ICcjMTMxMzEzJywgc2l6ZTogMjAgfSldIH0pIH0pO1xufTtcbmV4cG9ydCBjb25zdCBTZWxlY3QgPSBwcm9wcyA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgcmVmLCBsYWJlbCwgbWVzc2FnZSwgcmVxdWlyZWQsIHByZWZpeENscyA9ICdzZWxlY3QnLCB3cmFwcGVyQ2xzLCBsYWJlbENscywgbWVzc2FnZUNscywgdmFsdWUsIHNpemUgPSAnbGFyZ2UnLCBzdWNjZXNzLCBpbnZhbGlkLCBkaXNhYmxlZCwgcGxhY2Vob2xkZXIsIGNsYXNzTmFtZSA9ICcnLCBtdWx0aXBsZSwgb3B0aW9ucywgbmFtZSwgcGFuZWxDbGFzc05hbWUsIGRlZmF1bHRWYWx1ZSwgaXRlbVRlbXBsYXRlLCBvbkNoYW5nZSwgb25IaWRlLCBvblNob3csIHVuc2VsZWN0YWJsZSB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcInJlZlwiLCBcImxhYmVsXCIsIFwibWVzc2FnZVwiLCBcInJlcXVpcmVkXCIsIFwicHJlZml4Q2xzXCIsIFwid3JhcHBlckNsc1wiLCBcImxhYmVsQ2xzXCIsIFwibWVzc2FnZUNsc1wiLCBcInZhbHVlXCIsIFwic2l6ZVwiLCBcInN1Y2Nlc3NcIiwgXCJpbnZhbGlkXCIsIFwiZGlzYWJsZWRcIiwgXCJwbGFjZWhvbGRlclwiLCBcImNsYXNzTmFtZVwiLCBcIm11bHRpcGxlXCIsIFwib3B0aW9uc1wiLCBcIm5hbWVcIiwgXCJwYW5lbENsYXNzTmFtZVwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcIml0ZW1UZW1wbGF0ZVwiLCBcIm9uQ2hhbmdlXCIsIFwib25IaWRlXCIsIFwib25TaG93XCIsIFwidW5zZWxlY3RhYmxlXCJdKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IFtzZWxlY3RlZCwgc2V0U2VsZWN0ZWRdID0gdXNlU3RhdGUoKF9hID0gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHZvaWQgMCA/IHZhbHVlIDogZGVmYXVsdFZhbHVlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBudWxsKTtcbiAgICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IHNlbGVjdFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBfcmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHNlbGVjdENscyA9IHVzZU1lbW8oKCkgPT4gY2xhc3Nlcyh2b2lkIDAsIFtcbiAgICAgICAgY2xhc3NlcyhzaXplKSxcbiAgICAgICAgaXNPcGVuID8gY2xhc3Nlcygnc2hvdycpIDogJycsXG4gICAgICAgIHN1Y2Nlc3MgPyBjbGFzc2VzKCdzdWNjZXNzJykgOiAnJyxcbiAgICAgICAgaW52YWxpZCA/IGNsYXNzZXMoJ2ludmFsaWQnKSA6ICcnLFxuICAgICAgICBkaXNhYmxlZCA/IGNsYXNzZXMoJ2Rpc2FibGVkJykgOiAnJyxcbiAgICAgICAgKEFycmF5LmlzQXJyYXkoc2VsZWN0ZWQpID8gc2VsZWN0ZWQubGVuZ3RoIDogc2VsZWN0ZWQpID8gY2xhc3NlcygnZmlsbGVkJykgOiAnJyxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgXS5qb2luKCcgJykpLCBbc2l6ZSwgaXNPcGVuLCBzdWNjZXNzLCBzZWxlY3RlZCwgaW52YWxpZCwgZGlzYWJsZWQsIGNsYXNzTmFtZV0pO1xuICAgIGNvbnN0IFNlbGVjdENvbXBvbmVudCA9IHVzZUNhbGxiYWNrKChwcm9wcykgPT4gbXVsdGlwbGVcbiAgICAgICAgPyBfanN4KE11bHRpU2VsZWN0LCBPYmplY3QuYXNzaWduKHsgdW5zZWxlY3RhYmxlOiB1bnNlbGVjdGFibGUsIHNob3dTZWxlY3RBbGw6IGZhbHNlLCBjaGVja2JveEljb246IF9qc3goSWNvbnMsIHsgbmFtZTogJ2NoZWNrJywgc2l6ZTogMTIsIGNvbG9yOiAnI0ZFRkVGRScgfSksIHJlbW92ZUljb246IHByb3BzID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IG9uQ2xpY2ssIG9uS2V5RG93biwgdGFiSW5kZXggfSA9IHByb3BzLmljb25Qcm9wcztcbiAgICAgICAgICAgICAgICByZXR1cm4gX2pzeChJY29ucywgeyBuYW1lOiAnY2xvc2UnLCBzaXplOiAxNiwgY29sb3I6ICcjMTMxMzEzJywgdGFiSW5kZXg6IHRhYkluZGV4LCB3cmFwcGVyQ2xzOiBjbGFzc2VzKCd0b2tlbi1yZW1vdmUtaWNvbicpLCBvbkNsaWNrOiBvbkNsaWNrLCBvbktleURvd246IG9uS2V5RG93biB9KTtcbiAgICAgICAgICAgIH0sIHBhbmVsSGVhZGVyVGVtcGxhdGU6IG9wdGlvbnMgPT4ge1xuICAgICAgICAgICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZCwgX2U7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBmaWx0ZXJFbGVtZW50LCBvbkNoYW5nZSwgb25DbG9zZUNsaWNrLCBwcm9wcyB9ID0gb3B0aW9ucztcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWROdW0gPSAoX2QgPSAoX2MgPSAoX2IgPSAoX2EgPSBwcm9wcyA9PT0gbnVsbCB8fCBwcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcHJvcHMubWV0YURhdGEpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5wcm9wcykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLnZhbHVlKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MubGVuZ3RoKSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiAwO1xuICAgICAgICAgICAgICAgIHJldHVybiBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaGVhZGVyJyksIGNoaWxkcmVuOiBbX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWhlYWRlci1pbmZvJyksIGNoaWxkcmVuOiBbX2pzeHMoXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXItaW5mby1jb3VudCcpLCBjaGlsZHJlbjogW3NlbGVjdGVkTnVtLCBcIiBzZWxlY3RlZFwiXSB9KSwgX2pzeHMoXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXItaW5mby1jbGVhcicpLCBvbkNsaWNrOiBlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMucmVzZXRGaWx0ZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZChudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGNoaWxkcmVuOiBbX2pzeChJY29ucywgeyBuYW1lOiAnY2xvc2UnLCBzaXplOiAxNiwgY29sb3I6ICcjQUUwMDAwJywgd3JhcHBlckNsczogY2xhc3NlcygncGFuZWwtaGVhZGVyLWluZm8tY2xlYXItaWNvbicpIH0pLCBcIkNsZWFyIGFsbFwiXSB9KV0gfSksIChfZSA9IGZpbHRlckVsZW1lbnQgPT09IG51bGwgfHwgZmlsdGVyRWxlbWVudCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZmlsdGVyRWxlbWVudC5wcm9wcykgPT09IG51bGwgfHwgX2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9lLmNoaWxkcmVuXSB9KTtcbiAgICAgICAgICAgIH0gfSwgcHJvcHMpKVxuICAgICAgICA6IF9qc3goRHJvcGRvd24sIE9iamVjdC5hc3NpZ24oeyBjb2xsYXBzZUljb246IG11bHRpcGxlID8gdm9pZCAwIDogKCkgPT4gX2pzeChJY29ucywgeyBuYW1lOiAnY2hldnJvblVwJywgY29sb3I6ICcjMTMxMzEzJywgc2l6ZTogMjAgfSkgfSwgcHJvcHMpKSwgW211bHRpcGxlXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgIWlzRXF1YWwoc2VsZWN0ZWQsIHZhbHVlKSkge1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWQodmFsdWUpO1xuICAgICAgICB9XG4gICAgfSwgW3ZhbHVlXSk7XG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYgIT09IG51bGwgJiYgcmVmICE9PSB2b2lkIDAgPyByZWYgOiBfcmVmLCAoKSA9PiBzZWxlY3RSZWYuY3VycmVudCk7XG4gICAgcmV0dXJuIChfanN4KFNlbGVjdFdyYXBwZXIsIHsgbGFiZWw6IGxhYmVsLCBtZXNzYWdlOiBtZXNzYWdlLCByZXF1aXJlZDogcmVxdWlyZWQsIHByZWZpeENsczogcHJlZml4Q2xzLCB3cmFwcGVyQ2xzOiB3cmFwcGVyQ2xzLCBsYWJlbENsczogbGFiZWxDbHMsIG1lc3NhZ2VDbHM6IG1lc3NhZ2VDbHMsIHN1Y2Nlc3M6IHN1Y2Nlc3MsIGludmFsaWQ6IGludmFsaWQsIGRpc2FibGVkOiBkaXNhYmxlZCwgY2hpbGRyZW46IF9qc3goU2VsZWN0Q29tcG9uZW50LCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHJlZjogc2VsZWN0UmVmLCBuYW1lOiBuYW1lLCBmaWx0ZXJQbGFjZWhvbGRlcjogJ1NlYXJjaCcsIHJlcXVpcmVkOiByZXF1aXJlZCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpbnZhbGlkOiBpbnZhbGlkLCBvcHRpb25zOiBvcHRpb25zLCB2YWx1ZTogc2VsZWN0ZWQgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IHNlbGVjdGVkLCBjbGFzc05hbWU6IHNlbGVjdENscywgaXRlbVRlbXBsYXRlOiAob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1pdGVtJyksIG9uQ2xpY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbXVsdGlwbGUgJiYgdW5zZWxlY3RhYmxlID09PSAnb24nICYmIG9wdGlvbi52YWx1ZSA9PT0gc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX2EgPSBzZWxlY3RSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sIGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaXRlbS1sYWJlbCcpLCBjaGlsZHJlbjogaXRlbVRlbXBsYXRlID8gaXRlbVRlbXBsYXRlKG9wdGlvbikgOiBvcHRpb24ubGFiZWwgfSksIF9qc3goSWNvbnMsIHsgbmFtZTogJ2NoZWNrJywgc2l6ZTogMTYsIGNvbG9yOiAnIzA3MzM4NycgfSldIH0pO1xuICAgICAgICAgICAgfSwgZmlsdGVySWNvbjogX2pzeChJY29ucywgeyBuYW1lOiAnc2VhcmNoJywgc2l6ZTogMjAsIGNvbG9yOiAnIzEzMTMxMycsIHdyYXBwZXJDbHM6IGNsYXNzZXMoJ2ZpbHRlci1pY29uJykgfSksIHBhbmVsQ2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbCcsIHBhbmVsQ2xhc3NOYW1lKSwgb25DaGFuZ2U6IChlKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0U2VsZWN0ZWQoZS52YWx1ZSk7XG4gICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlID09PSBudWxsIHx8IG9uQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNoYW5nZShlKTtcbiAgICAgICAgICAgIH0sIG9uSGlkZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldElzT3BlbihmYWxzZSk7XG4gICAgICAgICAgICAgICAgb25IaWRlID09PSBudWxsIHx8IG9uSGlkZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25IaWRlKCk7XG4gICAgICAgICAgICB9LCBvblNob3c6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRJc09wZW4odHJ1ZSk7XG4gICAgICAgICAgICAgICAgb25TaG93ID09PSBudWxsIHx8IG9uU2hvdyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25TaG93KCk7XG4gICAgICAgICAgICB9LCBkcm9wZG93bkljb246ICgpID0+IF9qc3goSWNvbnMsIHsgbmFtZTogJ2NoZXZyb25Eb3duJywgY29sb3I6ICcjMTMxMzEzJywgc2l6ZTogMjAgfSkgfSkpIH0pKTtcbn07XG5TZWxlY3QuQ3VzdG9tRHJvcGRvd24gPSBDdXN0b21Ecm9wZG93bjtcbmV4cG9ydCBkZWZhdWx0IG1lbW8oU2VsZWN0KTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -25,15 +25,14 @@ export interface MultiSelectProps extends Omit<PrimeMultiSelectProps, 'value' |
25
25
  ref?: RefObject<MultiSelect | null>;
26
26
  onChange?: (e: MultiSelectChangeEvent) => void;
27
27
  }
28
- export interface CustomSelectProps extends Omit<BaseProps, 'itemTemplate'> {
29
- customDropdown: true;
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
- selectedTemplate?: ReactNode;
33
+ selectedTemplate?: (isFocus: boolean) => ReactNode;
34
+ tailTemplate?: (isFocus: boolean) => ReactNode;
36
35
  onClick?: (e: MouseEvent<HTMLDivElement>) => void;
37
36
  }
38
- export type SelectProps = SingleSelectProps | MultiSelectProps | CustomSelectProps;
37
+ export type SelectProps = SingleSelectProps | MultiSelectProps;
39
38
  export {};