@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.
- package/es/components/Select/Select.d.ts +5 -2
- package/es/components/Select/Select.js +122 -59
- package/es/components/Select/interface.d.ts +4 -5
- package/es/index.css +1 -1
- package/es/index.d.ts +3 -1
- package/lib/components/Select/Select.d.ts +5 -2
- package/lib/components/Select/Select.js +122 -59
- package/lib/components/Select/interface.d.ts +4 -5
- package/lib/index.css +1 -1
- package/lib/index.d.ts +3 -1
- package/package.json +1 -1
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { FC, PropsWithChildren } from 'react';
|
|
2
|
-
import type { SelectProps } from './interface';
|
|
3
|
-
|
|
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
|
-
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
|
|
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", "
|
|
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
|
|
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
|
-
|
|
58
|
-
|
|
144
|
+
selected = _useState4[0],
|
|
145
|
+
setSelected = _useState4[1];
|
|
59
146
|
var _useState5 = useState(false),
|
|
60
147
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
61
|
-
|
|
62
|
-
|
|
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') : '',
|
|
67
|
-
}, [size, isOpen,
|
|
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
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
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
|
-
}))
|
|
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwibWVtbyIsInVzZVJlZiIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZUNhbGxiYWNrIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsImlzRXF1YWwiLCJEcm9wZG93biIsIk11bHRpU2VsZWN0IiwiY2xhc3NuYW1lcyIsIkljb25zIiwiU2VsZWN0IiwicHJvcHMiLCJfYSIsInJlZiIsImxhYmVsIiwibWVzc2FnZSIsInJlcXVpcmVkIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsIndyYXBwZXJDbHMiLCJsYWJlbENscyIsIm1lc3NhZ2VDbHMiLCJ2YWx1ZSIsIl9wcm9wcyRzaXplIiwic2l6ZSIsInN1Y2Nlc3MiLCJpbnZhbGlkIiwiZGlzYWJsZWQiLCJwbGFjZWhvbGRlciIsIl9wcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJtdWx0aXBsZSIsImN1c3RvbURyb3Bkb3duIiwic2VsZWN0ZWRUZW1wbGF0ZSIsIm9wdGlvbnMiLCJuYW1lIiwicGFuZWxDbGFzc05hbWUiLCJvbkNoYW5nZSIsImRlZmF1bHRWYWx1ZSIsIml0ZW1UZW1wbGF0ZSIsIm9uSGlkZSIsIm9uU2hvdyIsInVuc2VsZWN0YWJsZSIsInJlc3QiLCJjbGFzc2VzIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwic2VsZWN0ZWQiLCJzZXRTZWxlY3RlZCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaXNPcGVuIiwic2V0SXNPcGVuIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc0ZvY3VzIiwic2V0SXNGb2N1cyIsInNlbGVjdFJlZiIsIl9yZWYiLCJzZWxlY3RDbHMiLCJBcnJheSIsImlzQXJyYXkiLCJqb2luIiwiU2VsZWN0Q29tcG9uZW50IiwiYXNzaWduIiwic2hvd1NlbGVjdEFsbCIsImNoZWNrYm94SWNvbiIsImNvbG9yIiwicmVtb3ZlSWNvbiIsIl9wcm9wcyRpY29uUHJvcHMiLCJpY29uUHJvcHMiLCJvbkNsaWNrIiwib25LZXlEb3duIiwidGFiSW5kZXgiLCJwYW5lbEhlYWRlclRlbXBsYXRlIiwiX2IiLCJfYyIsIl9kIiwiX2UiLCJmaWx0ZXJFbGVtZW50Iiwib25DbG9zZUNsaWNrIiwic2VsZWN0ZWROdW0iLCJtZXRhRGF0YSIsImNoaWxkcmVuIiwicmVzZXRGaWx0ZXIiLCJjb2xsYXBzZUljb24iLCJ1bmRlZmluZWQiLCJyZW1vdmVGb2N1cyIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjdXJyZW50IiwicHJldiIsInN0b3BQcm9wYWdhdGlvbiIsImZpbHRlclBsYWNlaG9sZGVyIiwib3B0aW9uIiwiY2xlYXIiLCJmaWx0ZXJJY29uIiwiZHJvcGRvd25JY29uIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBSUEsTUFBTSxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1YsS0FBSyxJQUFJQyxDQUFDLElBQUlILENBQUMsRUFBRSxJQUFJSSxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDLElBQUlGLENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQy9FRCxDQUFDLENBQUNDLENBQUMsQ0FBQyxHQUFHSCxDQUFDLENBQUNHLENBQUMsQ0FBQztFQUNmLElBQUlILENBQUMsSUFBSSxJQUFJLElBQUksT0FBT0ksTUFBTSxDQUFDSyxxQkFBcUIsS0FBSyxVQUFVLEVBQy9ELEtBQUssSUFBSUMsQ0FBQyxHQUFHLENBQUMsRUFBRVAsQ0FBQyxHQUFHQyxNQUFNLENBQUNLLHFCQUFxQixDQUFDVCxDQUFDLENBQUMsRUFBRVUsQ0FBQyxHQUFHUCxDQUFDLENBQUNRLE1BQU0sRUFBRUQsQ0FBQyxFQUFFLEVBQUU7SUFDcEUsSUFBSVQsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUlOLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDTyxvQkFBb0IsQ0FBQ0wsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUMsRUFDMUVSLENBQUMsQ0FBQ0MsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxHQUFHVixDQUFDLENBQUNHLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUM7RUFDekI7RUFDSixPQUFPUixDQUFDO0FBQ1osQ0FBQztBQUNELFNBQVNXLEdBQUcsSUFBSUMsSUFBSSxFQUFFQyxJQUFJLElBQUlDLEtBQUssUUFBUSxtQkFBbUI7QUNYOUQsU0FBU0MsSUFBSSxFQUFFQyxNQUFNLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFQyxTQUFTLEVBQUVDLFdBQVcsRUFBRUMsbUJBQW1CLFFBQVEsT0FBTztBQUNwRyxPQUFPQyxPQUFPLE1BQU0sZ0JBQWdCO0FBQ3BDLFNBQVNDLFFBQVEsUUFBNEIscUJBQXFCO0FBQ2xFLFNBQVNDLFdBQVcsUUFBK0Isd0JBQXdCO0FBQzNFLE9BQU9DLFVBQVUsTUFBTSx3QkFBd0I7QUFDL0MsU0FBU0MsS0FBSyxRQUFRLFVBQVU7QUFLaEMsT0FBTyxJQUFNQyxNQUFNLEdBQXVDLFNBQTdDQSxNQUFNQSxDQUF1Q0MsS0FBSyxFQUFHO0VEUzlELElBQUlDLEVBQUU7RUNSUixJQUNFQyxHQUFHLEdBa0JERixLQUFLLENBbEJQRSxHQUFHO0lBQ0hDLEtBQUssR0FpQkhILEtBQUssQ0FqQlBHLEtBQUs7SUFDTEMsT0FBTyxHQWdCTEosS0FBSyxDQWhCUEksT0FBTztJQUNQQyxRQUFRLEdBZU5MLEtBQUssQ0FmUEssUUFBUTtJQUFBQyxnQkFBQSxHQWVOTixLQUFLLENBZFBPLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxnQkFBQSxjQUFHLFFBQVEsR0FBQUEsZ0JBQUE7SUFDcEJFLFVBQVUsR0FhUlIsS0FBSyxDQWJQUSxVQUFVO0lBQ1ZDLFFBQVEsR0FZTlQsS0FBSyxDQVpQUyxRQUFRO0lBQ1JDLFVBQVUsR0FXUlYsS0FBSyxDQVhQVSxVQUFVO0lBQ1ZDLEtBQUssR0FVSFgsS0FBSyxDQVZQVyxLQUFLO0lBQUFDLFdBQUEsR0FVSFosS0FBSyxDQVRQYSxJQUFJO0lBQUpBLElBQUksR0FBQUQsV0FBQSxjQUFHLE9BQU8sR0FBQUEsV0FBQTtJQUNkRSxPQUFPLEdBUUxkLEtBQUssQ0FSUGMsT0FBTztJQUNQQyxPQUFPLEdBT0xmLEtBQUssQ0FQUGUsT0FBTztJQUNQQyxRQUFRLEdBTU5oQixLQUFLLENBTlBnQixRQUFRO0lBQ1JDLFdBQVcsR0FLVGpCLEtBQUssQ0FMUGlCLFdBQVc7SUFBQUMsZ0JBQUEsR0FLVGxCLEtBQUssQ0FKUG1CLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxnQkFBQSxjQUFHLEVBQUUsR0FBQUEsZ0JBQUE7SUFFZEUsUUFBUSxHQUVOcEIsS0FBSyxDQUZQb0IsUUFBUTtJQUFFQyxjQUFjLEdBRXRCckIsS0FBSyxDQUZHcUIsY0FBYztJQUFFQyxnQkFBZ0IsR0FFeEN0QixLQUFLLENBRm1Cc0IsZ0JBQWdCO0lBQUVDLE9BQU8sR0FFakR2QixLQUFLLENBRnFDdUIsT0FBTztJQUFFQyxJQUFJLEdBRXZEeEIsS0FBSyxDQUY4Q3dCLElBQUk7SUFBRUMsY0FBYyxHQUV2RXpCLEtBQUssQ0FGb0R5QixjQUFjO0lBQUVDLFNBQVEsR0FFakYxQixLQUFLLENBRm9FMEIsUUFBUTtJQUFFQyxZQUFZLEdBRS9GM0IsS0FBSyxDQUY4RTJCLFlBQVk7SUFBRUMsYUFBWSxHQUU3RzVCLEtBQUssQ0FGNEY0QixZQUFZO0lBQUVDLE9BQU0sR0FFckg3QixLQUFLLENBRjBHNkIsTUFBTTtJQUFFQyxPQUFNLEdBRTdIOUIsS0FBSyxDQUZrSDhCLE1BQU07SUFBRUMsWUFBWSxHQUUzSS9CLEtBQUssQ0FGMEgrQixZQUFZO0lBQzFJQyxJQUFJLEdBQUEvRCxNQUFBLENBQ0wrQixLQUFLLEVBbkJILENBQUEsS0FBQSxFQUFBLE9BQUEsRUFBQSxTQUFBLEVBQUEsVUFBQSxFQUFBLFdBQUEsRUFBQSxZQUFBLEVBQUEsVUFBQSxFQUFBLFlBQUEsRUFBQSxPQUFBLEVBQUEsTUFBQSxFQUFBLFNBQUEsRUFBQSxTQUFBLEVBQUEsVUFBQSxFQUFBLGFBQUEsRUFBQSxXQUFBLEVBQUEsVUFBQSxFQUFBLGdCQUFBLEVBQUEsa0JBQUEsRUFBQSxTQUFBLEVBQUEsTUFBQSxFQUFBLGdCQUFBLEVBQUEsVUFBQSxFQUFBLGNBQUEsRUFBQSxjQUFBLEVBQUEsUUFBQSxFQUFBLFFBQUEsRUFBQSxjQUFBLENBbUJMLENBQVE7RUFDVCxJQUFNaUMsT0FBTyxHQUFHcEMsVUFBVSxDQUFDVSxTQUFTLENBQUM7RUFDckMsSUFBQTJCLFNBQUEsR0FBZ0M1QyxRQUFRLENBQTZDLENBQUFXLEVBQUEsR0FBQVUsS0FBSyxLQUFBLElBQUEsSUFBTEEsS0FBSyxLQUFBLEtBQUEsQ0FBQSxHQUFMQSxLQUFLLEdBQUlnQixZQUFZLE1BQUEsSUFBQSxJQUFBMUIsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUksSUFBSSxDQUFDO0lBQUFrQyxVQUFBLEdBQUFDLGNBQUEsQ0FBQUYsU0FBQTtJQUE1R0csUUFBUSxHQUFBRixVQUFBO0lBQUVHLFdBQVcsR0FBQUgsVUFBQTtFQUM1QixJQUFBSSxVQUFBLEdBQTRCakQsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUFBa0QsVUFBQSxHQUFBSixjQUFBLENBQUFHLFVBQUE7SUFBcENFLE1BQU0sR0FBQUQsVUFBQTtJQUFFRSxTQUFTLEdBQUFGLFVBQUE7RUFDeEIsSUFBQUcsVUFBQSxHQUE4QnJELFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQXNELFVBQUEsR0FBQVIsY0FBQSxDQUFBTyxVQUFBO0lBQXRDRSxPQUFPLEdBQUFELFVBQUE7SUFBRUUsVUFBVSxHQUFBRixVQUFBO0VBQzFCLElBQU1HLFNBQVMsR0FBRzNELE1BQU0sQ0FBaUQsSUFBSSxDQUFDO0VBQzlFLElBQU00RCxJQUFJLEdBQUc1RCxNQUFNLENBQWlELElBQUksQ0FBQztFQUV6RSxJQUFNNkQsU0FBUyxHQUFHNUQsT0FBTyxDQUFDO0lBQUEsT0FBTTRDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUM5Q0EsT0FBTyxDQUFDcEIsSUFBSSxDQUFDLEVBQ2I0QixNQUFNLEdBQUdSLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEVBQzdCWSxPQUFPLEdBQUdaLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQy9CbkIsT0FBTyxHQUFHbUIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsRUFDakNsQixPQUFPLEdBQUdrQixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxFQUNqQ2pCLFFBQVEsR0FBR2lCLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEVBQ25DWixjQUFjLEdBQUdZLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEVBQ3ZDLENBQUNpQixLQUFLLENBQUNDLE9BQU8sQ0FBQ2QsUUFBUSxDQUFDLEdBQUdBLFFBQVEsQ0FBQ3hELE1BQU0sR0FBR3dELFFBQVEsSUFBSUosT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsRUFDL0VkLFNBQVMsQ0FDVixDQUFDaUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQUEsR0FBRSxDQUFDdkMsSUFBSSxFQUFFNEIsTUFBTSxFQUFFSSxPQUFPLEVBQUUvQixPQUFPLEVBQUV1QixRQUFRLEVBQUV0QixPQUFPLEVBQUVDLFFBQVEsRUFBRUcsU0FBUyxFQUFFRSxjQUFjLENBQUMsQ0FBQztFQUV2RyxJQUFNZ0MsZUFBZSxHQUFHN0QsV0FBVyxDQUNqQyxVQUFDUSxLQUF1QztJQUFBLE9BQUtvQixRQUFRLEdBQ2pEcEMsSUFBQSxDQUFDWSxXQUFXLEVBQUF0QixNQUFBLENBQUFnRixNQUFBLENBQUE7TUFDWnZCLFlBQVksRUFBRUEsWUFBWTtNQUMxQndCLGFBQWEsRUFBRSxLQUFLO01BQ3BCQyxZQUFZLEVBQUV4RSxJQUFBLENBQUNjLEtBQUssRUFBQTtRQUFDMEIsSUFBSSxFQUFDLE9BQU87UUFBQ1gsSUFBSSxFQUFFLEVBQUU7UUFBRTRDLEtBQUssRUFBQztNQUFTLENBQUEsQ0FBRztNQUM5REMsVUFBVSxFQUFFLFNBQVpBLFVBQVVBLENBQUUxRCxLQUFLLEVBQUc7UUFDbEIsSUFBQTJELGdCQUFBLEdBQXlDM0QsS0FBSyxDQUFDNEQsU0FBUztVQUFoREMsT0FBTyxHQUFBRixnQkFBQSxDQUFQRSxPQUFPO1VBQUVDLFNBQVMsR0FBQUgsZ0JBQUEsQ0FBVEcsU0FBUztVQUFFQyxRQUFRLEdBQUFKLGdCQUFBLENBQVJJLFFBQVE7UUFDcEMsT0FBTy9FLElBQUEsQ0FBQ2MsS0FBSyxFQUFBO1VBQ1gwQixJQUFJLEVBQUMsT0FBTztVQUNaWCxJQUFJLEVBQUUsRUFBRTtVQUNSNEMsS0FBSyxFQUFDLFNBQVM7VUFDZk0sUUFBUSxFQUFFQSxRQUFRO1VBQ2xCdkQsVUFBVSxFQUFFeUIsT0FBTyxDQUFDLG1CQUFtQixDQUFDO1VBQ3hDNEIsT0FBTyxFQUFFQSxPQUFPO1VBQ2hCQyxTQUFTLEVBQUVBO1FBQVMsQ0FBQSxDQUNwQjtNQUNKLENBQUM7TUFDREUsbUJBQW1CLEVBQUUsU0FBckJBLG1CQUFtQkEsQ0FBRXpDLE9BQU8sRUFBRztRRHZCdkIsSUFBSXRCLEVBQUUsRUFBRWdFLEVBQUUsRUFBRUMsRUFBRSxFQUFFQyxFQUFFLEVBQUVDLEVBQUU7UUN3QjVCLElBQVFDLGFBQWEsR0FBb0M5QyxPQUFPLENBQXhEOEMsYUFBYTtVQUFFM0MsUUFBUSxHQUEwQkgsT0FBTyxDQUF6Q0csUUFBUTtVQUFFNEMsWUFBWSxHQUFZL0MsT0FBTyxDQUEvQitDLFlBQVk7VUFBRXRFLEtBQUssR0FBS3VCLE9BQU8sQ0FBakJ2QixLQUFLO1FBQ3BEO1FBQ0EsSUFBTXVFLFdBQVcsR0FBRyxDQUFBSixFQUFBLEdBQUEsQ0FBQUQsRUFBQSxHQUFBLENBQUFELEVBQUEsR0FBQSxDQUFBaEUsRUFBQSxHQUFBRCxLQUFLLEtBQUEsSUFBQSxJQUFMQSxLQUFLLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUxBLEtBQUssQ0FBRXdFLFFBQVEsTUFBQSxJQUFBLElBQUF2RSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRUQsS0FBSyxNQUFBLElBQUEsSUFBQWlFLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFdEQsS0FBSyxNQUFBLElBQUEsSUFBQXVELEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFckYsTUFBTSxNQUFBLElBQUEsSUFBQXNGLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJLENBQUM7UUFDOUQsT0FBT2pGLEtBQUEsQ0FBQSxLQUFBLEVBQUE7VUFBS2lDLFNBQVMsRUFBRWMsT0FBTyxDQUFDLGNBQWMsQ0FBQztVQUFBd0MsUUFBQSxFQUFBLENBQzVDdkYsS0FBQSxDQUFBLEtBQUEsRUFBQTtZQUFLaUMsU0FBUyxFQUFFYyxPQUFPLENBQUMsbUJBQW1CLENBQUM7WUFBQXdDLFFBQUEsRUFBQSxDQUMxQ3ZGLEtBQUEsQ0FBQSxNQUFBLEVBQUE7Y0FBTWlDLFNBQVMsRUFBRWMsT0FBTyxDQUFDLHlCQUF5QixDQUFDO2NBQUF3QyxRQUFBLEVBQUEsQ0FDaERGLFdBQVcsRUFBQSxXQUFBO1lBQUEsQ0FBQSxDQUNQLEVBQ1ByRixLQUFBLENBQUEsTUFBQSxFQUFBO2NBQ0VpQyxTQUFTLEVBQUVjLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQztjQUM3QzRCLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFFMUYsQ0FBQyxFQUFHO2dCQUNYO2dCQUNBNkIsS0FBSyxDQUFDMEUsV0FBVyxDQUFBLENBQUU7Z0JBQ25CcEMsV0FBVyxDQUFDLElBQUksQ0FBQztjQUNuQixDQUFDO2NBQUFtQyxRQUFBLEVBQUEsQ0FFRHpGLElBQUEsQ0FBQ2MsS0FBSyxFQUFBO2dCQUFDMEIsSUFBSSxFQUFDLE9BQU87Z0JBQUNYLElBQUksRUFBRSxFQUFFO2dCQUFFNEMsS0FBSyxFQUFDLFNBQVM7Z0JBQUNqRCxVQUFVLEVBQUV5QixPQUFPLENBQUMsOEJBQThCO2NBQUMsQ0FBQSxDQUFJLEVBQUEsV0FBQTtZQUFBLENBQUEsQ0FFaEc7VUFBQSxDQUFBLENBQ0gsRUFDTCxDQUFBbUMsRUFBQSxHQUFBQyxhQUFhLEtBQUEsSUFBQSxJQUFiQSxhQUFhLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQWJBLGFBQWEsQ0FBRXJFLEtBQUssTUFBQSxJQUFBLElBQUFvRSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRUssUUFBUTtRQUFBLENBQUEsQ0FDM0I7TUFDUjtJQUFDLENBQUEsRUFDSXpFLEtBQTBCLENBQUEsQ0FDL0IsR0FDQWhCLElBQUEsQ0FBQ1csUUFBUSxFQUFBckIsTUFBQSxDQUFBZ0YsTUFBQSxDQUFBO01BQ1RxQixZQUFZLEVBQUV2RCxRQUFRLEdBQUcsS0FBSyxDQUFDLEdBQUc7UUFBQSxPQUFNcEMsSUFBQSxDQUFDYyxLQUFLLEVBQUE7VUFBQzBCLElBQUksRUFBQyxXQUFXO1VBQUNpQyxLQUFLLEVBQUMsU0FBUztVQUFDNUMsSUFBSSxFQUFFO1FBQUUsQ0FBQSxDQUFJO01BQUE7SUFBQSxDQUFBLEVBQ3ZGYixLQUF1QixDQUFBLENBQzVCO0VBQUEsR0FDRixDQUFDb0IsUUFBUSxDQUFDLENBQ2I7RUFFRDdCLFNBQVMsQ0FBQyxZQUFLO0lBQ2IsSUFBSW9CLEtBQUssS0FBS2lFLFNBQVMsSUFBSSxDQUFDbEYsT0FBTyxDQUFDMkMsUUFBUSxFQUFFMUIsS0FBSyxDQUFDLEVBQUU7TUFDcEQyQixXQUFXLENBQUMzQixLQUFLLENBQUM7SUFDcEI7RUFDRixDQUFDLEVBQUUsQ0FBQ0EsS0FBSyxDQUFDLENBQUM7RUFFWHBCLFNBQVMsQ0FBQyxZQUFLO0lBQ2IsSUFBSSxDQUFDOEIsY0FBYyxFQUFFO0lBQ3JCLElBQU13RCxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBQSxFQUFRO01BQ3ZCL0IsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUNuQixDQUFDO0lBQ0RnQyxRQUFRLENBQUNDLGdCQUFnQixDQUFDLE9BQU8sRUFBRUYsV0FBVyxDQUFDO0lBQy9DLE9BQU8sWUFBSztNQUNWQyxRQUFRLENBQUNFLG1CQUFtQixDQUFDLE9BQU8sRUFBRUgsV0FBVyxDQUFDO0lBQ3BELENBQUM7RUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU5wRixtQkFBbUIsQ0FBQ1MsR0FBRyxLQUFBLElBQUEsSUFBSEEsR0FBRyxLQUFBLEtBQUEsQ0FBQSxHQUFIQSxHQUFHLEdBQUk4QyxJQUFJLEVBQUU7SUFBQSxPQUFNRCxTQUFTLENBQUNrQyxPQUFRO0VBQUEsRUFBQztFQUUxRCxPQUNFL0YsS0FBQSxDQUFBLEtBQUEsRUFBQTtJQUFLaUMsU0FBUyxFQUFFYyxPQUFPLENBQUMsU0FBUyxFQUFFekIsVUFBVSxDQUFDO0lBQUFpRSxRQUFBLEVBQUEsQ0FDM0N0RSxLQUFLLElBQUluQixJQUFBLENBQUEsTUFBQSxFQUFBO01BQU1tQyxTQUFTLEVBQUVjLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQzVCLFFBQVEsSUFBSTRCLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFeEIsUUFBUSxDQUFDLENBQUMyQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7TUFBQXFCLFFBQUEsRUFBR3RFO0lBQUssQ0FBQSxDQUFRLEVBQ3ZIa0IsY0FBYyxHQUNYbkMsS0FBQSxDQUFBLEtBQUEsRUFBQTtNQUFLaUMsU0FBUyxFQUFFOEIsU0FBUztNQUFFYyxRQUFRLEVBQUUsQ0FBQztNQUFFRixPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBRzFGLENBQUMsRUFBSTtRRGpEekMsSUFBSThCLEVBQUU7UUNrRHBCNkMsVUFBVSxDQUFDLFVBQUFvQyxJQUFJO1VBQUEsT0FBSSxDQUFDQSxJQUFJO1FBQUEsRUFBQztRQUN6Qi9HLENBQUMsQ0FBQ2dILGVBQWUsQ0FBQSxDQUFFO1FBQ25CLENBQUFsRixFQUFBLEdBQUFELEtBQUssQ0FBQzZELE9BQU8sTUFBQSxJQUFBLElBQUE1RCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBQXhCLElBQUEsQ0FBQXVCLEtBQUEsRUFBRzdCLENBQUMsQ0FBQztNQUNwQixDQUFDO01BQUFzRyxRQUFBLEVBQUEsQ0FDRW5ELGdCQUFnQixHQUFHQSxnQkFBZ0IsR0FBR3RDLElBQUEsQ0FBQSxNQUFBLEVBQUE7UUFBTW1DLFNBQVMsRUFBRWMsT0FBTyxDQUFDLG9CQUFvQixDQUFDO1FBQUF3QyxRQUFBLEVBQUd4RDtNQUFXLENBQUEsQ0FBUSxFQUMzR2pDLElBQUEsQ0FBQ2MsS0FBSyxFQUFBO1FBQUMwQixJQUFJLEVBQUVxQixPQUFPLEdBQUcsV0FBVyxHQUFHLGFBQWE7UUFBRVksS0FBSyxFQUFDLFNBQVM7UUFBQzVDLElBQUksRUFBRTtNQUFFLENBQUEsQ0FBSTtJQUFBLENBQUEsQ0FDNUUsR0FDSjdCLElBQUEsQ0FBQ3FFLGVBQWUsRUFBQS9FLE1BQUEsQ0FBQWdGLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFDWnRCLElBQVcsRUFBQTtNQUNmOUIsR0FBRyxFQUFFNkMsU0FBUztNQUNkdkIsSUFBSSxFQUFFQSxJQUFJO01BQ1Y0RCxpQkFBaUIsRUFBQyxRQUFRO01BQzFCL0UsUUFBUSxFQUFFQSxRQUFRO01BQ2xCVyxRQUFRLEVBQUVBLFFBQVE7TUFDbEJELE9BQU8sRUFBRUEsT0FBTztNQUNoQlEsT0FBTyxFQUFFQSxPQUFPO01BQ2hCWixLQUFLLEVBQUUwQixRQUFRLElBQUksSUFBSSxHQUFHdUMsU0FBUyxHQUFHdkMsUUFBUTtNQUM5Q2xCLFNBQVMsRUFBRThCLFNBQVM7TUFDcEJyQixZQUFZLEVBQUUsU0FBZEEsWUFBWUEsQ0FBR3lELE1BQU0sRUFBSTtRQUN2QixPQUFPbkcsS0FBQSxDQUFBLEtBQUEsRUFBQTtVQUFLaUMsU0FBUyxFQUFFYyxPQUFPLENBQUMsWUFBWSxDQUFDO1VBQzFDNEIsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUEsRUFBTztZRC9ESSxJQUFJNUQsRUFBRTtZQ2dFdEIsSUFBSSxDQUFDbUIsUUFBUSxJQUFJVyxZQUFZLEtBQUssSUFBSSxJQUFJc0QsTUFBTSxDQUFDMUUsS0FBSyxLQUFLMEIsUUFBUSxFQUFFO2NBQ25FLENBQUFwQyxFQUFBLEdBQUM4QyxTQUFTLENBQUNrQyxPQUFvQixNQUFBLElBQUEsSUFBQWhGLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFcUYsS0FBSyxDQUFBLENBQUU7WUFDMUM7VUFDRixDQUFDO1VBQUFiLFFBQUEsRUFBQSxDQUVEekYsSUFBQSxDQUFBLEtBQUEsRUFBQTtZQUFLbUMsU0FBUyxFQUFFYyxPQUFPLENBQUMsa0JBQWtCLENBQUM7WUFBQXdDLFFBQUEsRUFDeEM3QyxhQUFZLEdBQUdBLGFBQVksQ0FBQ3lELE1BQU0sQ0FBQyxHQUFHQSxNQUFNLENBQUNsRjtVQUFLLENBQUEsQ0FDL0MsRUFDTm5CLElBQUEsQ0FBQ2MsS0FBSyxFQUFBO1lBQUMwQixJQUFJLEVBQUMsT0FBTztZQUFDWCxJQUFJLEVBQUUsRUFBRTtZQUFFNEMsS0FBSyxFQUFDO1VBQVMsQ0FBQSxDQUFHO1FBQUEsQ0FBQSxDQUM1QztNQUNSLENBQUM7TUFDRDhCLFVBQVUsRUFBRXZHLElBQUEsQ0FBQ2MsS0FBSyxFQUFBO1FBQUMwQixJQUFJLEVBQUMsUUFBUTtRQUFDWCxJQUFJLEVBQUUsRUFBRTtRQUFFNEMsS0FBSyxFQUFDLFNBQVM7UUFBQ2pELFVBQVUsRUFBRXlCLE9BQU8sQ0FBQyxhQUFhO01BQUMsQ0FBQSxDQUFJO01BQ2pHUixjQUFjLEVBQUVRLE9BQU8sQ0FBQyxPQUFPLEVBQUVSLGNBQWMsQ0FBQztNQUNoREMsUUFBUSxFQUFFLFNBQVZBLFFBQVFBLENBQUd2RCxDQUFDLEVBQUk7UUFDZG1FLFdBQVcsQ0FBQ25FLENBQUMsQ0FBQ3dDLEtBQUssQ0FBQztRQUNwQmUsU0FBUSxLQUFBLElBQUEsSUFBUkEsU0FBUSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFSQSxTQUFRLENBQUd2RCxDQUFDLENBQUM7TUFDZixDQUFDO01BQ0QwRCxNQUFNLEVBQUUsU0FBUkEsTUFBTUEsQ0FBQSxFQUFPO1FBQ1hhLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDaEJiLE9BQU0sS0FBQSxJQUFBLElBQU5BLE9BQU0sS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBTkEsT0FBTSxDQUFBLENBQUk7TUFDWixDQUFDO01BQ0RDLE1BQU0sRUFBRSxTQUFSQSxNQUFNQSxDQUFBLEVBQU87UUFDWFksU0FBUyxDQUFDLElBQUksQ0FBQztRQUNmWixPQUFNLEtBQUEsSUFBQSxJQUFOQSxPQUFNLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQU5BLE9BQU0sQ0FBQSxDQUFJO01BQ1osQ0FBQztNQUNEMEQsWUFBWSxFQUFFLFNBQWRBLFlBQVlBLENBQUE7UUFBQSxPQUFReEcsSUFBQSxDQUFDYyxLQUFLLEVBQUE7VUFBQzBCLElBQUksRUFBQyxhQUFhO1VBQUNpQyxLQUFLLEVBQUMsU0FBUztVQUFDNUMsSUFBSSxFQUFFO1FBQUUsQ0FBQSxDQUFJO01BQUE7SUFBQSxDQUFBLENBQUEsQ0FDMUUsRUFHRlQsT0FBTyxJQUFJcEIsSUFBQSxDQUFBLE1BQUEsRUFBQTtNQUNUbUMsU0FBUyxFQUFFYyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQzVCbkIsT0FBTyxHQUFHbUIsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxFQUN6Q2xCLE9BQU8sR0FBR2tCLE9BQU8sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEVBQ3ZDdkIsVUFBVSxDQUNYLENBQUMwQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7TUFBQXFCLFFBQUEsRUFFWHJFO0lBQU8sQ0FBQSxDQUNIO0VBQUEsQ0FBQSxDQUVMO0FBRVYsQ0FBQztBQUVELDRCQUFlakIsSUFBSSxDQUFDWSxNQUFNLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9TZWxlY3QvU2VsZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZVJlZiwgdXNlTWVtbywgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlQ2FsbGJhY2ssIHVzZUltcGVyYXRpdmVIYW5kbGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2guaXNlcXVhbCc7XG5pbXBvcnQgeyBEcm9wZG93biB9IGZyb20gJ3ByaW1lcmVhY3QvZHJvcGRvd24nO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3QgfSBmcm9tICdwcmltZXJlYWN0L211bHRpc2VsZWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5leHBvcnQgY29uc3QgU2VsZWN0ID0gcHJvcHMgPT4ge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCB7IHJlZiwgbGFiZWwsIG1lc3NhZ2UsIHJlcXVpcmVkLCBwcmVmaXhDbHMgPSAnc2VsZWN0Jywgd3JhcHBlckNscywgbGFiZWxDbHMsIG1lc3NhZ2VDbHMsIHZhbHVlLCBzaXplID0gJ2xhcmdlJywgc3VjY2VzcywgaW52YWxpZCwgZGlzYWJsZWQsIHBsYWNlaG9sZGVyLCBjbGFzc05hbWUgPSAnJywgXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIG11bHRpcGxlLCBjdXN0b21Ecm9wZG93biwgc2VsZWN0ZWRUZW1wbGF0ZSwgb3B0aW9ucywgbmFtZSwgcGFuZWxDbGFzc05hbWUsIG9uQ2hhbmdlLCBkZWZhdWx0VmFsdWUsIGl0ZW1UZW1wbGF0ZSwgb25IaWRlLCBvblNob3csIHVuc2VsZWN0YWJsZSB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcInJlZlwiLCBcImxhYmVsXCIsIFwibWVzc2FnZVwiLCBcInJlcXVpcmVkXCIsIFwicHJlZml4Q2xzXCIsIFwid3JhcHBlckNsc1wiLCBcImxhYmVsQ2xzXCIsIFwibWVzc2FnZUNsc1wiLCBcInZhbHVlXCIsIFwic2l6ZVwiLCBcInN1Y2Nlc3NcIiwgXCJpbnZhbGlkXCIsIFwiZGlzYWJsZWRcIiwgXCJwbGFjZWhvbGRlclwiLCBcImNsYXNzTmFtZVwiLCBcIm11bHRpcGxlXCIsIFwiY3VzdG9tRHJvcGRvd25cIiwgXCJzZWxlY3RlZFRlbXBsYXRlXCIsIFwib3B0aW9uc1wiLCBcIm5hbWVcIiwgXCJwYW5lbENsYXNzTmFtZVwiLCBcIm9uQ2hhbmdlXCIsIFwiZGVmYXVsdFZhbHVlXCIsIFwiaXRlbVRlbXBsYXRlXCIsIFwib25IaWRlXCIsIFwib25TaG93XCIsIFwidW5zZWxlY3RhYmxlXCJdKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IFtzZWxlY3RlZCwgc2V0U2VsZWN0ZWRdID0gdXNlU3RhdGUoKF9hID0gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHZvaWQgMCA/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
|
|
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
|
|
37
|
+
export type SelectProps = SingleSelectProps | MultiSelectProps;
|
|
39
38
|
export {};
|