@1money/component-ui 0.0.90-alpha.2 → 0.0.90-alpha.21
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/business/Dialog/BaseDialog/BaseDialog.js +23 -20
- package/es/business/Dialog/BaseDialog/interface.d.ts +6 -0
- package/es/business/Dialog/BaseDialog/style/BaseDialog.css +11 -1
- package/es/business/Dialog/Descriptions/Descriptions.js +15 -7
- package/es/business/Dialog/Descriptions/interface.d.ts +14 -0
- package/es/business/Dialog/Descriptions/style/Descriptions.css +1 -1
- package/es/business/Dialog/DetailsDialog/DetailsDialog.js +14 -7
- package/es/business/Dialog/DetailsDialog/interface.d.ts +9 -0
- package/es/business/Dialog/DetailsDialog/style/DetailsDialog.css +4 -2
- package/es/business/Dialog/FormDialog/FormDialog.d.ts +1 -1
- package/es/business/Dialog/FormDialog/FormDialog.js +39 -18
- package/es/business/Dialog/FormDialog/interface.d.ts +12 -1
- package/es/business/Dialog/FormDialog/style/FormDialog.css +5 -0
- package/es/business/Dialog/VerificationDialog/VerificationDialog.js +66 -20
- package/es/business/Dialog/VerificationDialog/interface.d.ts +1 -1
- package/es/business/Dialog/VerificationDialog/style/VerificationDialog.css +1 -3
- package/es/business/Dialog/index.d.ts +1 -0
- package/es/business/Dialog/index.js +1 -1
- package/es/business/Dialog/variants/LoadingDialog.js +94 -67
- package/es/business/Dialog/variants/index.d.ts +1 -1
- package/es/business/FieldList/index.js +8 -1
- package/es/business/FormPage/FormPage.d.ts +1 -1
- package/es/business/FormPage/FormPage.js +12 -7
- package/es/business/FormPage/interface.d.ts +11 -0
- package/es/business/Select/Asset/AssetSelect.js +5 -1
- package/es/business/Select/Country/CountrySelect.js +5 -1
- package/es/business/Select/Currency/CurrencySelect.js +5 -1
- package/es/business/Select/Network/NetworkSelect.js +5 -1
- package/es/business/Select/PaymentMethod/PaymentMethodSelect.js +5 -1
- package/es/business/shared/formCore/useRelayedFormRef.d.ts +16 -0
- package/es/business/shared/formCore/useRelayedFormRef.js +43 -0
- package/es/components/ActionBar/ActionBar.js +6 -5
- package/es/components/ActionBar/interface.d.ts +9 -0
- package/es/components/Dialog/Dialog.js +4 -3
- package/es/components/Dialog/interface.d.ts +3 -0
- package/es/components/Dialog/style/Dialog.css +3 -0
- package/es/components/Input/Input/Input.css +1 -1
- package/es/components/Input/Input/Input.js +9 -2
- package/es/components/Input/Mask/Mask.js +3 -2
- package/es/components/Input/interface.d.ts +5 -0
- package/es/components/ProForm/ProForm.js +24 -13
- package/es/components/ProForm/core/constants.d.ts +1 -1
- package/es/components/ProForm/core/constants.js +5 -2
- package/es/index.css +1 -1
- package/lib/business/Dialog/BaseDialog/BaseDialog.js +23 -20
- package/lib/business/Dialog/BaseDialog/interface.d.ts +6 -0
- package/lib/business/Dialog/BaseDialog/style/BaseDialog.css +11 -1
- package/lib/business/Dialog/Descriptions/Descriptions.js +15 -7
- package/lib/business/Dialog/Descriptions/interface.d.ts +14 -0
- package/lib/business/Dialog/Descriptions/style/Descriptions.css +1 -1
- package/lib/business/Dialog/DetailsDialog/DetailsDialog.js +14 -7
- package/lib/business/Dialog/DetailsDialog/interface.d.ts +9 -0
- package/lib/business/Dialog/DetailsDialog/style/DetailsDialog.css +4 -2
- package/lib/business/Dialog/FormDialog/FormDialog.d.ts +1 -1
- package/lib/business/Dialog/FormDialog/FormDialog.js +39 -18
- package/lib/business/Dialog/FormDialog/interface.d.ts +12 -1
- package/lib/business/Dialog/FormDialog/style/FormDialog.css +5 -0
- package/lib/business/Dialog/VerificationDialog/VerificationDialog.js +66 -20
- package/lib/business/Dialog/VerificationDialog/interface.d.ts +1 -1
- package/lib/business/Dialog/VerificationDialog/style/VerificationDialog.css +1 -3
- package/lib/business/Dialog/index.d.ts +1 -0
- package/lib/business/Dialog/index.js +1 -1
- package/lib/business/Dialog/variants/LoadingDialog.js +93 -66
- package/lib/business/Dialog/variants/index.d.ts +1 -1
- package/lib/business/FieldList/index.js +8 -1
- package/lib/business/FormPage/FormPage.d.ts +1 -1
- package/lib/business/FormPage/FormPage.js +12 -7
- package/lib/business/FormPage/interface.d.ts +11 -0
- package/lib/business/Select/Asset/AssetSelect.js +5 -1
- package/lib/business/Select/Country/CountrySelect.js +5 -1
- package/lib/business/Select/Currency/CurrencySelect.js +5 -1
- package/lib/business/Select/Network/NetworkSelect.js +5 -1
- package/lib/business/Select/PaymentMethod/PaymentMethodSelect.js +5 -1
- package/lib/business/shared/formCore/useRelayedFormRef.d.ts +16 -0
- package/lib/business/shared/formCore/useRelayedFormRef.js +49 -0
- package/lib/components/ActionBar/ActionBar.js +6 -5
- package/lib/components/ActionBar/interface.d.ts +9 -0
- package/lib/components/Dialog/Dialog.js +4 -3
- package/lib/components/Dialog/interface.d.ts +3 -0
- package/lib/components/Dialog/style/Dialog.css +3 -0
- package/lib/components/Input/Input/Input.css +1 -1
- package/lib/components/Input/Input/Input.js +9 -2
- package/lib/components/Input/Mask/Mask.js +3 -2
- package/lib/components/Input/interface.d.ts +5 -0
- package/lib/components/ProForm/ProForm.js +27 -16
- package/lib/components/ProForm/core/constants.d.ts +1 -1
- package/lib/components/ProForm/core/constants.js +5 -2
- package/lib/index.css +1 -1
- package/package.json +11 -1
- package/scripts/mcp-server/index.generated.json +30 -14
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
color: var(--om-text-neutral-secondary, #9fa3a3);
|
|
66
66
|
font-weight: 400;
|
|
67
67
|
}
|
|
68
|
-
.om-component-ui-input-prefix, .om-component-ui-input-suffix {
|
|
68
|
+
.om-component-ui-input-prefix, .om-component-ui-input-suffix, .om-component-ui-input-count {
|
|
69
69
|
display: inline-flex;
|
|
70
70
|
flex-shrink: 0;
|
|
71
71
|
gap: var(--om-spacing-200, 8px);
|
|
@@ -74,6 +74,9 @@ var InputBase = function InputBase(props) {
|
|
|
74
74
|
allowClear = _inputProps$allowClea === void 0 ? false : _inputProps$allowClea,
|
|
75
75
|
prefix = inputProps.prefix,
|
|
76
76
|
suffix = inputProps.suffix,
|
|
77
|
+
_inputProps$showCount = inputProps.showCount,
|
|
78
|
+
showCount = _inputProps$showCount === void 0 ? false : _inputProps$showCount,
|
|
79
|
+
maxLength = inputProps.maxLength,
|
|
77
80
|
value = inputProps.value,
|
|
78
81
|
_inputProps$defaultVa = inputProps.defaultValue,
|
|
79
82
|
defaultValue = _inputProps$defaultVa === void 0 ? '' : _inputProps$defaultVa,
|
|
@@ -83,7 +86,7 @@ var InputBase = function InputBase(props) {
|
|
|
83
86
|
externalId = inputProps.id,
|
|
84
87
|
_inputProps$readOnly = inputProps.readOnly,
|
|
85
88
|
readOnly = _inputProps$readOnly === void 0 ? false : _inputProps$readOnly,
|
|
86
|
-
rest = __rest(inputProps, ["className", "labelClassName", "prefixCls", "size", "status", "disabled", "loading", "label", "info", "feedback", "feedbackIcon", "tip", "required", "allowClear", "prefix", "suffix", "value", "defaultValue", "onChange", "onClear", "ref", "id", "readOnly"]);
|
|
89
|
+
rest = __rest(inputProps, ["className", "labelClassName", "prefixCls", "size", "status", "disabled", "loading", "label", "info", "feedback", "feedbackIcon", "tip", "required", "allowClear", "prefix", "suffix", "showCount", "maxLength", "value", "defaultValue", "onChange", "onClear", "ref", "id", "readOnly"]);
|
|
87
90
|
// Bare-control size default: an explicit `size` wins; inside a FormLayout
|
|
88
91
|
// the variant's controlSize applies; elsewhere 'large'.
|
|
89
92
|
var contextSize = (0, _context.useFormControlSize)();
|
|
@@ -143,6 +146,7 @@ var InputBase = function InputBase(props) {
|
|
|
143
146
|
className: classes('prefix'),
|
|
144
147
|
children: prefix
|
|
145
148
|
}), (0, _jsxRuntime.jsx)("input", Object.assign({}, rest, {
|
|
149
|
+
maxLength: maxLength,
|
|
146
150
|
ref: syncRef,
|
|
147
151
|
id: inputId,
|
|
148
152
|
className: classes('field'),
|
|
@@ -166,6 +170,9 @@ var InputBase = function InputBase(props) {
|
|
|
166
170
|
width: 16,
|
|
167
171
|
height: 16
|
|
168
172
|
}
|
|
173
|
+
}), showCount && (0, _jsxRuntime.jsxs)("span", {
|
|
174
|
+
className: classes('count'),
|
|
175
|
+
children: [innerValue.length, maxLength != null ? "/".concat(maxLength) : '']
|
|
169
176
|
}), suffix && (0, _jsxRuntime.jsx)("span", {
|
|
170
177
|
className: classes('suffix'),
|
|
171
178
|
children: suffix
|
|
@@ -185,4 +192,4 @@ var Input = exports.Input = Object.assign(MemoizedInput, {
|
|
|
185
192
|
Mask: _Mask["default"]
|
|
186
193
|
});
|
|
187
194
|
var _default = exports["default"] = Input;
|
|
188
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvSW5wdXQvSW5wdXQvSW5wdXQuanMiLCJjb21wb25lbnRzL0lucHV0L3NyYy9jb21wb25lbnRzL0lucHV0L0lucHV0L0lucHV0LnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfY29udGV4dCIsIl91c2VDb250cm9sbGVkU3RhdGUzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl91c2VFdmVudENhbGxiYWNrIiwiX0ljb25zIiwiX1NwaW5uZXIiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX0ZpZWxkU2hlbGwiLCJfdXNlU3luY1JlZjMiLCJfQW1vdW50IiwiX09UUCIsIl9QYXNzd29yZCIsIl9TZWFyY2giLCJfVGV4dEFyZWEiLCJfVHJhZGUiLCJfTWFzayIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9fcmVzdCIsInMiLCJwIiwicHJvdG90eXBlIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiSW5wdXRCYXNlIiwicHJvcHMiLCJfYSIsIm1hc2siLCJzbG90Q2hhciIsInVubWFzayIsImF1dG9DbGVhciIsIm9uQ29tcGxldGUiLCJpbnB1dFByb3BzIiwiX2pzeCIsIklucHV0TWFzayIsImFzc2lnbiIsIl9pbnB1dFByb3BzJGNsYXNzTmFtZSIsImNsYXNzTmFtZSIsImxhYmVsQ2xhc3NOYW1lIiwiX2lucHV0UHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwic2l6ZVByb3AiLCJzaXplIiwiX2lucHV0UHJvcHMkc3RhdHVzIiwic3RhdHVzIiwiX2lucHV0UHJvcHMkZGlzYWJsZWQiLCJkaXNhYmxlZCIsIl9pbnB1dFByb3BzJGxvYWRpbmciLCJsb2FkaW5nIiwibGFiZWwiLCJpbmZvIiwiZmVlZGJhY2siLCJmZWVkYmFja0ljb24iLCJ0aXAiLCJyZXF1aXJlZCIsIl9pbnB1dFByb3BzJGFsbG93Q2xlYSIsImFsbG93Q2xlYXIiLCJwcmVmaXgiLCJzdWZmaXgiLCJ2YWx1ZSIsIl9pbnB1dFByb3BzJGRlZmF1bHRWYSIsImRlZmF1bHRWYWx1ZSIsIm9uQ2hhbmdlIiwib25DbGVhciIsInJlZiIsImV4dGVybmFsSWQiLCJpZCIsIl9pbnB1dFByb3BzJHJlYWRPbmx5IiwicmVhZE9ubHkiLCJyZXN0IiwiY29udGV4dFNpemUiLCJ1c2VGb3JtQ29udHJvbFNpemUiLCJhdXRvSWQiLCJ1c2VJZCIsImlucHV0SWQiLCJjbGFzc2VzIiwiY2xhc3NuYW1lcyIsIl91c2VTeW5jUmVmIiwidXNlU3luY1JlZiIsIl91c2VTeW5jUmVmMiIsIl9zbGljZWRUb0FycmF5MiIsImlucHV0UmVmIiwic3luY1JlZiIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsImlubmVyVmFsdWUiLCJzZXRJbm5lclZhbHVlIiwiYXJpYVJlcXVpcmVkIiwiYXJpYUludmFsaWQiLCJoYW5kbGVDaGFuZ2UiLCJ1c2VFdmVudENhbGxiYWNrIiwiZXZlbnQiLCJuZXh0VmFsdWUiLCJ0YXJnZXQiLCJoYW5kbGVDb250cm9sQ2xpY2siLCJpc0Rpc2FibGVkIiwiSFRNTElucHV0RWxlbWVudCIsImN1cnJlbnQiLCJmb2N1cyIsImhhbmRsZUNsZWFyIiwic2hvd0NsZWFyQWN0aW9uIiwiRmllbGRTaGVsbCIsIm9uQ29udHJvbFdyYXBwZXJDbGljayIsImNoaWxkcmVuIiwiX2pzeHMiLCJqb2luQ2xzIiwidHlwZSIsIm9uQ2xpY2siLCJJY29ucyIsIm5hbWUiLCJTcGlubmVyIiwic3R5bGUiLCJ3aWR0aCIsImhlaWdodCIsIk1lbW9pemVkSW5wdXQiLCJtZW1vIiwiZGlzcGxheU5hbWUiLCJJbnB1dCIsImV4cG9ydHMiLCJQYXNzd29yZCIsIklucHV0UGFzc3dvcmQiLCJTZWFyY2giLCJJbnB1dFNlYXJjaCIsIlRleHRBcmVhIiwiSW5wdXRUZXh0QXJlYSIsIk9UUCIsIklucHV0T1RQIiwiVHJhZGUiLCJJbnB1dFRyYWRlIiwiQW1vdW50IiwiSW5wdXRBbW91bnQiLCJNYXNrIiwiX2RlZmF1bHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLG9CQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxpQkFBQSxHQUFBRCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sUUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsV0FBQSxHQUFBQyx1QkFBQSxDQUFBVCxPQUFBO0FBQ0EsSUFBQVUsV0FBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsWUFBQSxHQUFBWCxPQUFBO0FBSUEsSUFBQVksT0FBQSxHQUFBUixzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQWEsSUFBQSxHQUFBVCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQWMsU0FBQSxHQUFBVixzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQWUsT0FBQSxHQUFBWCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQWdCLFNBQUEsR0FBQVosc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFpQixNQUFBLEdBQUFiLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBa0IsS0FBQSxHQUFBZCxzQkFBQSxDQUFBSixPQUFBO0FBQWdDLFNBQUFtQix5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMs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Z0YsYUFBYSxFQUFFO0VBQ2hESyxRQUFRLEVBQUVDLG9CQUFhO0VBQ3ZCQyxNQUFNLEVBQUVDLGtCQUFXO0VBQ25CQyxRQUFRLEVBQUVDLG9CQUFhO0VBQ3ZCQyxHQUFHLEVBQUVDLGVBQVE7RUFDYkMsS0FBSyxFQUFFQyxpQkFBVTtFQUNqQkMsTUFBTSxFQUFFQyxrQkFBVztFQUNuQkMsSUFBSSxFQUFFbEc7QURyRlIsQ0NzRkMsQ0FBbUI7QUFBQyxJQUFBbUcsUUFBQSxHQUFBZCxPQUFBLGNBRU5ELEtBQUsiLCJmaWxlIjoiY29tcG9uZW50cy9JbnB1dC9JbnB1dC9JbnB1dC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VJZCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUZvcm1Db250cm9sU2l6ZSB9IGZyb20gJy4uLy4uL0Zvcm1MYXlvdXQvY29udGV4dCc7XG5pbXBvcnQgdXNlQ29udHJvbGxlZFN0YXRlIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlQ29udHJvbGxlZFN0YXRlJztcbmltcG9ydCB1c2VFdmVudENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRXZlbnRDYWxsYmFjayc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uLy4uL0ljb25zJztcbmltcG9ydCB7IFNwaW5uZXIgfSBmcm9tICcuLi8uLi9TcGlubmVyJztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgRmllbGRTaGVsbCB9IGZyb20gJy4uL0ZpZWxkU2hlbGwnO1xuaW1wb3J0IHsgdXNlU3luY1JlZiB9IGZyb20gJy4uL3VzZVN5bmNSZWYnO1xuaW1wb3J0IElucHV0QW1vdW50IGZyb20gJy4uL0Ftb3VudCc7XG5pbXBvcnQgSW5wdXRPVFAgZnJvbSAnLi4vT1RQJztcbmltcG9ydCBJbnB1dFBhc3N3b3JkIGZyb20gJy4uL1Bhc3N3b3JkJztcbmltcG9ydCBJbnB1dFNlYXJjaCBmcm9tICcuLi9TZWFyY2gnO1xuaW1wb3J0IElucHV0VGV4dEFyZWEgZnJvbSAnLi4vVGV4dEFyZWEnO1xuaW1wb3J0IElucHV0VHJhZGUgZnJvbSAnLi4vVHJhZGUnO1xuaW1wb3J0IElucHV0TWFzayBmcm9tICcuLi9NYXNrJztcbmNvbnN0IElucHV0QmFzZSA9IChwcm9wcykgPT4ge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCB7IG1hc2ssIHNsb3RDaGFyLCB1bm1hc2ssIGF1dG9DbGVhciwgb25Db21wbGV0ZSB9ID0gcHJvcHMsIGlucHV0UHJvcHMgPSBfX3Jlc3QocHJvcHMsIFtcIm1hc2tcIiwgXCJzbG90Q2hhclwiLCBcInVubWFza1wiLCBcImF1dG9DbGVhclwiLCBcIm9uQ29tcGxldGVcIl0pO1xuICAgIC8vIERlbGVnYXRlIHRvIElucHV0TWFzayB3aGVuIG1hc2sgcGF0dGVybiBpcyBwcm92aWRlZFxuICAgIGlmIChtYXNrKSB7XG4gICAgICAgIHJldHVybiAoX2pzeChJbnB1dE1hc2ssIE9iamVjdC5hc3NpZ24oe30sIGlucHV0UHJvcHMsIHsgbWFzazogbWFzaywgc2xvdENoYXI6IHNsb3RDaGFyLCB1bm1hc2s6IHVubWFzaywgYXV0b0NsZWFyOiBhdXRvQ2xlYXIsIG9uQ29tcGxldGU6IG9uQ29tcGxldGUgfSkpKTtcbiAgICB9XG4gICAgY29uc3QgeyBjbGFzc05hbWUgPSAnJywgbGFiZWxDbGFzc05hbWUsIHByZWZpeENscyA9ICdpbnB1dCcsIHNpemU6IHNpemVQcm9wLCBzdGF0dXMgPSAnZGVmYXVsdCcsIGRpc2FibGVkID0gZmFsc2UsIGxvYWRpbmcgPSBmYWxzZSwgbGFiZWwsIGluZm8sIGZlZWRiYWNrLCBmZWVkYmFja0ljb24sIHRpcCwgcmVxdWlyZWQsIGFsbG93Q2xlYXIgPSBmYWxzZSwgcHJlZml4LCBzdWZmaXgsIHZhbHVlLCBkZWZhdWx0VmFsdWUgPSAnJywgb25DaGFuZ2UsIG9uQ2xlYXIsIHJlZiwgaWQ6IGV4dGVybmFsSWQsIHJlYWRPbmx5ID0gZmFsc2UgfSA9IGlucHV0UHJvcHMsIHJlc3QgPSBfX3Jlc3QoaW5wdXRQcm9wcywgW1wiY2xhc3NOYW1lXCIsIFwibGFiZWxDbGFzc05hbWVcIiwgXCJwcmVmaXhDbHNcIiwgXCJzaXplXCIsIFwic3RhdHVzXCIsIFwiZGlzYWJsZWRcIiwgXCJsb2FkaW5nXCIsIFwibGFiZWxcIiwgXCJpbmZvXCIsIFwiZmVlZGJhY2tcIiwgXCJmZWVkYmFja0ljb25cIiwgXCJ0aXBcIiwgXCJyZXF1aXJlZFwiLCBcImFsbG93Q2xlYXJcIiwgXCJwcmVmaXhcIiwgXCJzdWZmaXhcIiwgXCJ2YWx1ZVwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcIm9uQ2hhbmdlXCIsIFwib25DbGVhclwiLCBcInJlZlwiLCBcImlkXCIsIFwicmVhZE9ubHlcIl0pO1xuICAgIC8vIEJhcmUtY29udHJvbCBzaXplIGRlZmF1bHQ6IGFuIGV4cGxpY2l0IGBzaXplYCB3aW5zOyBpbnNpZGUgYSBGb3JtTGF5b3V0XG4gICAgLy8gdGhlIHZhcmlhbnQncyBjb250cm9sU2l6ZSBhcHBsaWVzOyBlbHNld2hlcmUgJ2xhcmdlJy5cbiAgICBjb25zdCBjb250ZXh0U2l6ZSA9IHVzZUZvcm1Db250cm9sU2l6ZSgpO1xuICAgIGNvbnN0IHNpemUgPSAoX2EgPSBzaXplUHJvcCAhPT0gbnVsbCAmJiBzaXplUHJvcCAhPT0gdm9pZCAwID8gc2l6ZVByb3AgOiBjb250ZXh0U2l6ZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJ2xhcmdlJztcbiAgICBjb25zdCBhdXRvSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IGlucHV0SWQgPSBleHRlcm5hbElkICE9PSBudWxsICYmIGV4dGVybmFsSWQgIT09IHZvaWQgMCA/IGV4dGVybmFsSWQgOiBhdXRvSWQ7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBbaW5wdXRSZWYsIHN5bmNSZWZdID0gdXNlU3luY1JlZihyZWYpO1xuICAgIGNvbnN0IFtpbm5lclZhbHVlLCBzZXRJbm5lclZhbHVlXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0VmFsdWUsIHZhbHVlKTtcbiAgICBjb25zdCBhcmlhUmVxdWlyZWQgPSByZXF1aXJlZCA/ICd0cnVlJyA6ICdmYWxzZSc7XG4gICAgY29uc3QgYXJpYUludmFsaWQgPSBzdGF0dXMgPT09ICdlcnJvcicgPyAndHJ1ZScgOiAnZmFsc2UnO1xuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IG5leHRWYWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgICAgc2V0SW5uZXJWYWx1ZShuZXh0VmFsdWUpO1xuICAgICAgICBvbkNoYW5nZSA9PT0gbnVsbCB8fCBvbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DaGFuZ2UobmV4dFZhbHVlLCBldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlQ29udHJvbENsaWNrID0gdXNlRXZlbnRDYWxsYmFjaygoZSkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmIChpc0Rpc2FibGVkIHx8IHJlYWRPbmx5KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAoZS50YXJnZXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAoX2EgPSBpbnB1dFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMoKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVDbGVhciA9IHVzZUV2ZW50Q2FsbGJhY2soKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHNldElubmVyVmFsdWUoJycpO1xuICAgICAgICAoX2EgPSBpbnB1dFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMoKTtcbiAgICAgICAgb25DbGVhciA9PT0gbnVsbCB8fCBvbkNsZWFyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNsZWFyKCk7XG4gICAgfSk7XG4gICAgY29uc3QgaXNEaXNhYmxlZCA9IGRpc2FibGVkIHx8IGxvYWRpbmc7XG4gICAgY29uc3Qgc2hvd0NsZWFyQWN0aW9uID0gYWxsb3dDbGVhciAmJiAhaXNEaXNhYmxlZCAmJiAhcmVhZE9ubHkgJiYgaW5uZXJWYWx1ZS5sZW5ndGggPiAwO1xuICAgIHJldHVybiAoX2pzeChGaWVsZFNoZWxsLCB7IGNsYXNzTmFtZTogY2xhc3NOYW1lLCBsYWJlbENsYXNzTmFtZTogbGFiZWxDbGFzc05hbWUsIHByZWZpeENsczogcHJlZml4Q2xzLCBzaXplOiBzaXplLCBzdGF0dXM6IHN0YXR1cywgZGlzYWJsZWQ6IGlzRGlzYWJsZWQsIGxvYWRpbmc6IGxvYWRpbmcsIHJlYWRPbmx5OiByZWFkT25seSwgbGFiZWw6IGxhYmVsLCBpbmZvOiBpbmZvLCB0aXA6IHRpcCwgZmVlZGJhY2s6IGZlZWRiYWNrLCBmZWVkYmFja0ljb246IGZlZWRiYWNrSWNvbiwgcmVxdWlyZWQ6IHJlcXVpcmVkLCBpbnB1dElkOiBpbnB1dElkLCBvbkNvbnRyb2xXcmFwcGVyQ2xpY2s6IGhhbmRsZUNvbnRyb2xDbGljaywgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb250cm9sJywgam9pbkNscyhpc0Rpc2FibGVkICYmIGNsYXNzZXMoJ2NvbnRyb2wtZGlzYWJsZWQnKSkpLCBjaGlsZHJlbjogW3ByZWZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncHJlZml4JyksIGNoaWxkcmVuOiBwcmVmaXggfSksIF9qc3goXCJpbnB1dFwiLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHJlZjogc3luY1JlZiwgaWQ6IGlucHV0SWQsIGNsYXNzTmFtZTogY2xhc3NlcygnZmllbGQnKSwgZGlzYWJsZWQ6IGlzRGlzYWJsZWQsIHJlYWRPbmx5OiByZWFkT25seSwgdmFsdWU6IGlubmVyVmFsdWUsIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIFwiYXJpYS1yZXF1aXJlZFwiOiBhcmlhUmVxdWlyZWQsIFwiYXJpYS1pbnZhbGlkXCI6IGFyaWFJbnZhbGlkIH0pKSwgc2hvd0NsZWFyQWN0aW9uICYmIChfanN4KFwiYnV0dG9uXCIsIHsgdHlwZTogXCJidXR0b25cIiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdhY3Rpb24nKSwgXCJhcmlhLWxhYmVsXCI6IFwiY2xlYXIgaW5wdXRcIiwgb25DbGljazogaGFuZGxlQ2xlYXIsIGNoaWxkcmVuOiBfanN4KEljb25zLCB7IG5hbWU6IFwiY3Jvc3NcIiwgc2l6ZTogMTYgfSkgfSkpLCBsb2FkaW5nICYmIF9qc3goU3Bpbm5lciwgeyBzdHlsZTogeyB3aWR0aDogMTYsIGhlaWdodDogMTYgfSB9KSwgc3VmZml4ICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdzdWZmaXgnKSwgY2hpbGRyZW46IHN1ZmZpeCB9KV0gfSkgfSkpO1xufTtcbmNvbnN0IE1lbW9pemVkSW5wdXQgPSBtZW1vKElucHV0QmFzZSk7XG5NZW1vaXplZElucHV0LmRpc3BsYXlOYW1lID0gJ0lucHV0JztcbmV4cG9ydCBjb25zdCBJbnB1dCA9IE9iamVjdC5hc3NpZ24oTWVtb2l6ZWRJbnB1dCwge1xuICAgIFBhc3N3b3JkOiBJbnB1dFBhc3N3b3JkLFxuICAgIFNlYXJjaDogSW5wdXRTZWFyY2gsXG4gICAgVGV4dEFyZWE6IElucHV0VGV4dEFyZWEsXG4gICAgT1RQOiBJbnB1dE9UUCxcbiAgICBUcmFkZTogSW5wdXRUcmFkZSxcbiAgICBBbW91bnQ6IElucHV0QW1vdW50LFxuICAgIE1hc2s6IElucHV0TWFzayxcbn0pO1xuZXhwb3J0IGRlZmF1bHQgSW5wdXQ7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
195
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvSW5wdXQvSW5wdXQvSW5wdXQuanMiLCJjb21wb25lbnRzL0lucHV0L3NyYy9jb21wb25lbnRzL0lucHV0L0lucHV0L0lucHV0LnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfY29udGV4dCIsIl91c2VDb250cm9sbGVkU3RhdGUzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl91c2VFdmVudENhbGxiYWNrIiwiX0ljb25zIiwiX1NwaW5uZXIiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX0ZpZWxkU2hlbGwiLCJfdXNlU3luY1JlZjMiLCJfQW1vdW50IiwiX09UUCIsIl9QYXNzd29yZCIsIl9TZWFyY2giLCJfVGV4dEFyZWEiLCJfVHJhZGUiLCJfTWFzayIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9fcmVzdCIsInMiLCJwIiwicHJvdG90eXBlIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiSW5wdXRCYXNlIiwicHJvcHMiLCJfYSIsIm1hc2siLCJzbG90Q2hhciIsInVubWFzayIsImF1dG9DbGVhciIsIm9uQ29tcGxldGUiLCJpbnB1dFByb3BzIiwiX2pzeCIsIklucHV0TWFzayIsImFzc2lnbiIsIl9pbnB1dFByb3BzJGNsYXNzTmFtZSIsImNsYXNzTmFtZSIsImxhYmVsQ2xhc3NOYW1lIiwiX2lucHV0UHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwic2l6ZVByb3AiLCJzaXplIiwiX2lucHV0UHJvcHMkc3RhdHVzIiwic3RhdHVzIiwiX2lucHV0UHJvcHMkZGlzYWJsZWQiLCJkaXNhYmxlZCIsIl9pbnB1dFByb3BzJGxvYWRpbmciLCJsb2FkaW5nIiwibGFiZWwiLCJpbmZvIiwiZmVlZGJhY2siLCJmZWVkYmFja0ljb24iLCJ0aXAiLCJyZXF1aXJlZCIsIl9pbnB1dFByb3BzJGFsbG93Q2xlYSIsImFsbG93Q2xlYXIiLCJwcmVmaXgiLCJzdWZmaXgiLCJfaW5wdXRQcm9wcyRzaG93Q291bnQiLCJzaG93Q291bnQiLCJtYXhMZW5ndGgiLCJ2YWx1ZSIsIl9pbnB1dFByb3BzJGRlZmF1bHRWYSIsImRlZmF1bHRWYWx1ZSIsIm9uQ2hhbmdlIiwib25DbGVhciIsInJlZiIsImV4dGVybmFsSWQiLCJpZCIsIl9pbnB1dFByb3BzJHJlYWRPbmx5IiwicmVhZE9ubHkiLCJyZXN0IiwiY29udGV4dFNpemUiLCJ1c2VGb3JtQ29udHJvbFNpemUiLCJhdXRvSWQiLCJ1c2VJZCIsImlucHV0SWQiLCJjbGFzc2VzIiwiY2xhc3NuYW1lcyIsIl91c2VTeW5jUmVmIiwidXNlU3luY1JlZiIsIl91c2VTeW5jUmVmMiIsIl9zbGljZWRUb0FycmF5MiIsImlucHV0UmVmIiwic3luY1JlZiIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsImlubmVyVmFsdWUiLCJzZXRJbm5lclZhbHVlIiwiYXJpYVJlcXVpcmVkIiwiYXJpYUludmFsaWQiLCJoYW5kbGVDaGFuZ2UiLCJ1c2VFdmVudENhbGxiYWNrIiwiZXZlbnQiLCJuZXh0VmFsdWUiLCJ0YXJnZXQiLCJoYW5kbGVDb250cm9sQ2xpY2siLCJpc0Rpc2FibGVkIiwiSFRNTElucHV0RWxlbWVudCIsImN1cnJlbnQiLCJmb2N1cyIsImhhbmRsZUNsZWFyIiwic2hvd0NsZWFyQWN0aW9uIiwiRmllbGRTaGVsbCIsIm9uQ29udHJvbFdyYXBwZXJDbGljayIsImNoaWxkcmVuIiwiX2pzeHMiLCJqb2luQ2xzIiwidHlwZSIsIm9uQ2xpY2siLCJJY29ucyIsIm5hbWUiLCJTcGlubmVyIiwic3R5bGUiLCJ3aWR0aCIsImhlaWdodCIsImNvbmNhdCIsIk1lbW9pemVkSW5wdXQiLCJtZW1vIiwiZGlzcGxheU5hbWUiLCJJbnB1dCIsImV4cG9ydHMiLCJQYXNzd29yZCIsIklucHV0UGFzc3dvcmQiLCJTZWFyY2giLCJJbnB1dFNlYXJjaCIsIlRleHRBcmVhIiwiSW5wdXRUZXh0QXJlYSIsIk9UUCIsIklucHV0T1RQIiwiVHJhZGUiLCJJbnB1dFRyYWRlIiwiQW1vdW50IiwiSW5wdXRBbW91bnQiLCJNYXNrIiwiX2RlZmF1bHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLG9CQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxpQkFBQSxHQUFBRCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sUUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsV0FBQSxHQUFBQyx1QkFBQSxDQUFBVCxPQUFBO0FBQ0EsSUFBQVUsV0FBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsWUFBQSxHQUFBWCxPQUFBO0FBSUEsSUFBQVksT0FBQSxHQUFBUixzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQWEsSUFBQSxHQUFBVCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQWMsU0FBQSxHQUFBVixzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQWUsT0FBQSxHQUFBWCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQWdCLFNBQUEsR0FBQVosc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFpQixNQUFBLEdBQUFiLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBa0IsS0FBQSxHQUFBZCxzQkFB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UUFBQTZCLFFBQUEsRUFBQSxDQUM5QmxCLFVBQVUsQ0FBQ25FLE1BQU0sRUFBRXVDLFNBQVMsSUFBSSxJQUFJLE9BQUF5RCxNQUFBLENBQU96RCxTQUFTLElBQUssRUFBRTtNQUFBLENBQUEsQ0FFL0QsRUFDQUgsTUFBTSxJQUFJLElBQUF6QixlQUFBLEVBQUEsTUFBQSxFQUFBO1FBQU1JLFNBQVMsRUFBRXlDLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFBQTZCLFFBQUEsRUFBR2pEO01BQU0sQ0FBQSxDQUFRO0lBQUEsQ0FBQTtFQUMxRCxDQUFBLENBQ0s7QUFFakIsQ0FBQztBQUVELElBQU02RCxhQUFhLGdCQUFHLElBQUFDLFdBQUksRUFBQ2hHLFNBQVMsQ0FBQztBQUNyQytGLGFBQWEsQ0FBQ0UsV0FBVyxHQUFHLE9BQU87QUFFNUIsSUFBTUMsS0FBSyxHQUFBQyxPQUFBLENBQUFELEtBQUEsR0FBR2xILE1BQU0sQ0FBQzJCLE1BQU0sQ0FBQ29GLGFBQWEsRUFBRTtFQUNoREssUUFBUSxFQUFFQyxvQkFBYTtFQUN2QkMsTUFBTSxFQUFFQyxrQkFBVztFQUNuQkMsUUFBUSxFQUFFQyxvQkFBYTtFQUN2QkMsR0FBRyxFQUFFQyxlQUFRO0VBQ2JDLEtBQUssRUFBRUMsaUJBQVU7RUFDakJDLE1BQU0sRUFBRUMsa0JBQVc7RUFDbkJDLElBQUksRUFBRXRHO0FEN0ZSLENDOEZDLENBQW1CO0FBQUMsSUFBQXVHLFFBQUEsR0FBQWQsT0FBQSxjQUVORCxLQUFLIiwiZmlsZSI6ImNvbXBvbmVudHMvSW5wdXQvSW5wdXQvSW5wdXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlSWQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VGb3JtQ29udHJvbFNpemUgfSBmcm9tICcuLi8uLi9Gb3JtTGF5b3V0L2NvbnRleHQnO1xuaW1wb3J0IHVzZUNvbnRyb2xsZWRTdGF0ZSBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUNvbnRyb2xsZWRTdGF0ZSc7XG5pbXBvcnQgdXNlRXZlbnRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUV2ZW50Q2FsbGJhY2snO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi8uLi9JY29ucyc7XG5pbXBvcnQgeyBTcGlubmVyIH0gZnJvbSAnLi4vLi4vU3Bpbm5lcic7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMsIGpvaW5DbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IEZpZWxkU2hlbGwgfSBmcm9tICcuLi9GaWVsZFNoZWxsJztcbmltcG9ydCB7IHVzZVN5bmNSZWYgfSBmcm9tICcuLi91c2VTeW5jUmVmJztcbmltcG9ydCBJbnB1dEFtb3VudCBmcm9tICcuLi9BbW91bnQnO1xuaW1wb3J0IElucHV0T1RQIGZyb20gJy4uL09UUCc7XG5pbXBvcnQgSW5wdXRQYXNzd29yZCBmcm9tICcuLi9QYXNzd29yZCc7XG5pbXBvcnQgSW5wdXRTZWFyY2ggZnJvbSAnLi4vU2VhcmNoJztcbmltcG9ydCBJbnB1dFRleHRBcmVhIGZyb20gJy4uL1RleHRBcmVhJztcbmltcG9ydCBJbnB1dFRyYWRlIGZyb20gJy4uL1RyYWRlJztcbmltcG9ydCBJbnB1dE1hc2sgZnJvbSAnLi4vTWFzayc7XG5jb25zdCBJbnB1dEJhc2UgPSAocHJvcHMpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgeyBtYXNrLCBzbG90Q2hhciwgdW5tYXNrLCBhdXRvQ2xlYXIsIG9uQ29tcGxldGUgfSA9IHByb3BzLCBpbnB1dFByb3BzID0gX19yZXN0KHByb3BzLCBbXCJtYXNrXCIsIFwic2xvdENoYXJcIiwgXCJ1bm1hc2tcIiwgXCJhdXRvQ2xlYXJcIiwgXCJvbkNvbXBsZXRlXCJdKTtcbiAgICAvLyBEZWxlZ2F0ZSB0byBJbnB1dE1hc2sgd2hlbiBtYXNrIHBhdHRlcm4gaXMgcHJvdmlkZWRcbiAgICBpZiAobWFzaykge1xuICAgICAgICByZXR1cm4gKF9qc3goSW5wdXRNYXNrLCBPYmplY3QuYXNzaWduKHt9LCBpbnB1dFByb3BzLCB7IG1hc2s6IG1hc2ssIHNsb3RDaGFyOiBzbG90Q2hhciwgdW5tYXNrOiB1bm1hc2ssIGF1dG9DbGVhcjogYXV0b0NsZWFyLCBvbkNvbXBsZXRlOiBvbkNvbXBsZXRlIH0pKSk7XG4gICAgfVxuICAgIGNvbnN0IHsgY2xhc3NOYW1lID0gJycsIGxhYmVsQ2xhc3NOYW1lLCBwcmVmaXhDbHMgPSAnaW5wdXQnLCBzaXplOiBzaXplUHJvcCwgc3RhdHVzID0gJ2RlZmF1bHQnLCBkaXNhYmxlZCA9IGZhbHNlLCBsb2FkaW5nID0gZmFsc2UsIGxhYmVsLCBpbmZvLCBmZWVkYmFjaywgZmVlZGJhY2tJY29uLCB0aXAsIHJlcXVpcmVkLCBhbGxvd0NsZWFyID0gZmFsc2UsIHByZWZpeCwgc3VmZml4LCBzaG93Q291bnQgPSBmYWxzZSwgbWF4TGVuZ3RoLCB2YWx1ZSwgZGVmYXVsdFZhbHVlID0gJycsIG9uQ2hhbmdlLCBvbkNsZWFyLCByZWYsIGlkOiBleHRlcm5hbElkLCByZWFkT25seSA9IGZhbHNlIH0gPSBpbnB1dFByb3BzLCByZXN0ID0gX19yZXN0KGlucHV0UHJvcHMsIFtcImNsYXNzTmFtZVwiLCBcImxhYmVsQ2xhc3NOYW1lXCIsIFwicHJlZml4Q2xzXCIsIFwic2l6ZVwiLCBcInN0YXR1c1wiLCBcImRpc2FibGVkXCIsIFwibG9hZGluZ1wiLCBcImxhYmVsXCIsIFwiaW5mb1wiLCBcImZlZWRiYWNrXCIsIFwiZmVlZGJhY2tJY29uXCIsIFwidGlwXCIsIFwicmVxdWlyZWRcIiwgXCJhbGxvd0NsZWFyXCIsIFwicHJlZml4XCIsIFwic3VmZml4XCIsIFwic2hvd0NvdW50XCIsIFwibWF4TGVuZ3RoXCIsIFwidmFsdWVcIiwgXCJkZWZhdWx0VmFsdWVcIiwgXCJvbkNoYW5nZVwiLCBcIm9uQ2xlYXJcIiwgXCJyZWZcIiwgXCJpZFwiLCBcInJlYWRPbmx5XCJdKTtcbiAgICAvLyBCYXJlLWNvbnRyb2wgc2l6ZSBkZWZhdWx0OiBhbiBleHBsaWNpdCBgc2l6ZWAgd2luczsgaW5zaWRlIGEgRm9ybUxheW91dFxuICAgIC8vIHRoZSB2YXJpYW50J3MgY29udHJvbFNpemUgYXBwbGllczsgZWxzZXdoZXJlICdsYXJnZScuXG4gICAgY29uc3QgY29udGV4dFNpemUgPSB1c2VGb3JtQ29udHJvbFNpemUoKTtcbiAgICBjb25zdCBzaXplID0gKF9hID0gc2l6ZVByb3AgIT09IG51bGwgJiYgc2l6ZVByb3AgIT09IHZvaWQgMCA/IHNpemVQcm9wIDogY29udGV4dFNpemUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICdsYXJnZSc7XG4gICAgY29uc3QgYXV0b0lkID0gdXNlSWQoKTtcbiAgICBjb25zdCBpbnB1dElkID0gZXh0ZXJuYWxJZCAhPT0gbnVsbCAmJiBleHRlcm5hbElkICE9PSB2b2lkIDAgPyBleHRlcm5hbElkIDogYXV0b0lkO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgW2lucHV0UmVmLCBzeW5jUmVmXSA9IHVzZVN5bmNSZWYocmVmKTtcbiAgICBjb25zdCBbaW5uZXJWYWx1ZSwgc2V0SW5uZXJWYWx1ZV0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdFZhbHVlLCB2YWx1ZSk7XG4gICAgY29uc3QgYXJpYVJlcXVpcmVkID0gcmVxdWlyZWQgPyAndHJ1ZScgOiAnZmFsc2UnO1xuICAgIGNvbnN0IGFyaWFJbnZhbGlkID0gc3RhdHVzID09PSAnZXJyb3InID8gJ3RydWUnIDogJ2ZhbHNlJztcbiAgICBjb25zdCBoYW5kbGVDaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBuZXh0VmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgIHNldElubmVyVmFsdWUobmV4dFZhbHVlKTtcbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKG5leHRWYWx1ZSwgZXZlbnQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUNvbnRyb2xDbGljayA9IHVzZUV2ZW50Q2FsbGJhY2soKGUpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoaXNEaXNhYmxlZCB8fCByZWFkT25seSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKGUudGFyZ2V0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgKF9hID0gaW5wdXRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlQ2xlYXIgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBzZXRJbm5lclZhbHVlKCcnKTtcbiAgICAgICAgKF9hID0gaW5wdXRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKCk7XG4gICAgICAgIG9uQ2xlYXIgPT09IG51bGwgfHwgb25DbGVhciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DbGVhcigpO1xuICAgIH0pO1xuICAgIGNvbnN0IGlzRGlzYWJsZWQgPSBkaXNhYmxlZCB8fCBsb2FkaW5nO1xuICAgIGNvbnN0IHNob3dDbGVhckFjdGlvbiA9IGFsbG93Q2xlYXIgJiYgIWlzRGlzYWJsZWQgJiYgIXJlYWRPbmx5ICYmIGlubmVyVmFsdWUubGVuZ3RoID4gMDtcbiAgICByZXR1cm4gKF9qc3goRmllbGRTaGVsbCwgeyBjbGFzc05hbWU6IGNsYXNzTmFtZSwgbGFiZWxDbGFzc05hbWU6IGxhYmVsQ2xhc3NOYW1lLCBwcmVmaXhDbHM6IHByZWZpeENscywgc2l6ZTogc2l6ZSwgc3RhdHVzOiBzdGF0dXMsIGRpc2FibGVkOiBpc0Rpc2FibGVkLCBsb2FkaW5nOiBsb2FkaW5nLCByZWFkT25seTogcmVhZE9ubHksIGxhYmVsOiBsYWJlbCwgaW5mbzogaW5mbywgdGlwOiB0aXAsIGZlZWRiYWNrOiBmZWVkYmFjaywgZmVlZGJhY2tJY29uOiBmZWVkYmFja0ljb24sIHJlcXVpcmVkOiByZXF1aXJlZCwgaW5wdXRJZDogaW5wdXRJZCwgb25Db250cm9sV3JhcHBlckNsaWNrOiBoYW5kbGVDb250cm9sQ2xpY2ssIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29udHJvbCcsIGpvaW5DbHMoaXNEaXNhYmxlZCAmJiBjbGFzc2VzKCdjb250cm9sLWRpc2FibGVkJykpKSwgY2hpbGRyZW46IFtwcmVmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3ByZWZpeCcpLCBjaGlsZHJlbjogcHJlZml4IH0pLCBfanN4KFwiaW5wdXRcIiwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyBtYXhMZW5ndGg6IG1heExlbmd0aCwgcmVmOiBzeW5jUmVmLCBpZDogaW5wdXRJZCwgY2xhc3NOYW1lOiBjbGFzc2VzKCdmaWVsZCcpLCBkaXNhYmxlZDogaXNEaXNhYmxlZCwgcmVhZE9ubHk6IHJlYWRPbmx5LCB2YWx1ZTogaW5uZXJWYWx1ZSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgXCJhcmlhLXJlcXVpcmVkXCI6IGFyaWFSZXF1aXJlZCwgXCJhcmlhLWludmFsaWRcIjogYXJpYUludmFsaWQgfSkpLCBzaG93Q2xlYXJBY3Rpb24gJiYgKF9qc3goXCJidXR0b25cIiwgeyB0eXBlOiBcImJ1dHRvblwiLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2FjdGlvbicpLCBcImFyaWEtbGFiZWxcIjogXCJjbGVhciBpbnB1dFwiLCBvbkNsaWNrOiBoYW5kbGVDbGVhciwgY2hpbGRyZW46IF9qc3goSWNvbnMsIHsgbmFtZTogXCJjcm9zc1wiLCBzaXplOiAxNiB9KSB9KSksIGxvYWRpbmcgJiYgX2pzeChTcGlubmVyLCB7IHN0eWxlOiB7IHdpZHRoOiAxNiwgaGVpZ2h0OiAxNiB9IH0pLCBzaG93Q291bnQgJiYgKF9qc3hzKFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY291bnQnKSwgY2hpbGRyZW46IFtpbm5lclZhbHVlLmxlbmd0aCwgbWF4TGVuZ3RoICE9IG51bGwgPyBgLyR7bWF4TGVuZ3RofWAgOiAnJ10gfSkpLCBzdWZmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3N1ZmZpeCcpLCBjaGlsZHJlbjogc3VmZml4IH0pXSB9KSB9KSk7XG59O1xuY29uc3QgTWVtb2l6ZWRJbnB1dCA9IG1lbW8oSW5wdXRCYXNlKTtcbk1lbW9pemVkSW5wdXQuZGlzcGxheU5hbWUgPSAnSW5wdXQnO1xuZXhwb3J0IGNvbnN0IElucHV0ID0gT2JqZWN0LmFzc2lnbihNZW1vaXplZElucHV0LCB7XG4gICAgUGFzc3dvcmQ6IElucHV0UGFzc3dvcmQsXG4gICAgU2VhcmNoOiBJbnB1dFNlYXJjaCxcbiAgICBUZXh0QXJlYTogSW5wdXRUZXh0QXJlYSxcbiAgICBPVFA6IElucHV0T1RQLFxuICAgIFRyYWRlOiBJbnB1dFRyYWRlLFxuICAgIEFtb3VudDogSW5wdXRBbW91bnQsXG4gICAgTWFzazogSW5wdXRNYXNrLFxufSk7XG5leHBvcnQgZGVmYXVsdCBJbnB1dDsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -123,6 +123,7 @@ var InputMask = exports.InputMask = function InputMask(props) {
|
|
|
123
123
|
required = props.required,
|
|
124
124
|
prefix = props.prefix,
|
|
125
125
|
suffix = props.suffix,
|
|
126
|
+
_showCount = props.showCount,
|
|
126
127
|
value = props.value,
|
|
127
128
|
_props$defaultValue = props.defaultValue,
|
|
128
129
|
defaultValue = _props$defaultValue === void 0 ? '' : _props$defaultValue,
|
|
@@ -133,7 +134,7 @@ var InputMask = exports.InputMask = function InputMask(props) {
|
|
|
133
134
|
onKeyDown = props.onKeyDown,
|
|
134
135
|
ref = props.ref,
|
|
135
136
|
externalId = props.id,
|
|
136
|
-
rest = __rest(props, ["className", "labelClassName", "prefixCls", "size", "status", "disabled", "loading", "mask", "slotChar", "unmask", "autoClear", "label", "info", "feedback", "feedbackIcon", "tip", "required", "prefix", "suffix", "value", "defaultValue", "onChange", "onComplete", "onFocus", "onBlur", "onKeyDown", "ref", "id"]);
|
|
137
|
+
rest = __rest(props, ["className", "labelClassName", "prefixCls", "size", "status", "disabled", "loading", "mask", "slotChar", "unmask", "autoClear", "label", "info", "feedback", "feedbackIcon", "tip", "required", "prefix", "suffix", "showCount", "value", "defaultValue", "onChange", "onComplete", "onFocus", "onBlur", "onKeyDown", "ref", "id"]);
|
|
137
138
|
var autoId = (0, _react.useId)();
|
|
138
139
|
var inputId = externalId !== null && externalId !== void 0 ? externalId : autoId;
|
|
139
140
|
var classes = (0, _classnames["default"])(prefixCls);
|
|
@@ -354,4 +355,4 @@ InputMask.displayName = 'InputMask';
|
|
|
354
355
|
var MemoizedInputMask = /*#__PURE__*/(0, _react.memo)(InputMask);
|
|
355
356
|
MemoizedInputMask.displayName = 'InputMask';
|
|
356
357
|
var _default = exports["default"] = MemoizedInputMask;
|
|
357
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvSW5wdXQvTWFzay9NYXNrLmpzIiwiY29tcG9uZW50cy9JbnB1dC9zcmMvY29tcG9uZW50cy9JbnB1dC9NYXNrL01hc2sudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl91c2VDb250cm9sbGVkU3RhdGUzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl91c2VFdmVudENhbGxiYWNrIiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9GaWVsZFNoZWxsIiwiX3VzZVN5bmNSZWYzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiX19yZXN0IiwicyIsInAiLCJwcm90b3R5cGUiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJNQVNLX1RPS0VOIiwiaXNNYXNrVG9rZW4iLCJjaGFyIiwiYXBwbHlNYXNrIiwicmF3IiwibWFzayIsInNsb3RDaGFyIiwicmVzdWx0IiwicmF3SW5kZXgiLCJtYXNrQ2hhciIsInJlIiwidGVzdCIsImV4dHJhY3RSYXciLCJmb3JtYXR0ZWQiLCJjb3VudFRva2VuU2xvdHMiLCJjb3VudCIsImZpbmROZXh0U2xvdCIsImZyb21JbmRleCIsImZpbmRGaXJzdFNsb3QiLCJpZHgiLCJJbnB1dE1hc2siLCJleHBvcnRzIiwicHJvcHMiLCJfYSIsIl9wcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJsYWJlbENsYXNzTmFtZSIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJfcHJvcHMkc3RhdHVzIiwic3RhdHVzIiwiX3Byb3BzJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJfcHJvcHMkbG9hZGluZyIsImxvYWRpbmciLCJfcHJvcHMkc2xvdENoYXIiLCJfcHJvcHMkdW5tYXNrIiwidW5tYXNrIiwiX3Byb3BzJGF1dG9DbGVhciIsImF1dG9DbGVhciIsImxhYmVsIiwiaW5mbyIsImZlZWRiYWNrIiwiZmVlZGJhY2tJY29uIiwidGlwIiwicmVxdWlyZWQiLCJwcmVmaXgiLCJzdWZmaXgiLCJ2YWx1ZSIsIl9wcm9wcyRkZWZhdWx0VmFsdWUiLCJkZWZhdWx0VmFsdWUiLCJvbkNoYW5nZSIsIm9uQ29tcGxldGUiLCJvbkZvY3VzIiwib25CbHVyIiwib25LZXlEb3duIiwicmVmIiwiZXh0ZXJuYWxJZCIsImlkIiwicmVzdCIsImF1dG9JZCIsInVzZUlkIiwiaW5wdXRJZCIsImNsYXNzZXMiLCJjbGFzc25hbWVzIiwiX3VzZVN5bmNSZWYiLCJ1c2VTeW5jUmVmIiwiX3VzZVN5bmNSZWYyIiwiX3NsaWNlZFRvQXJyYXkyIiwiaW5wdXRSZWYiLCJzeW5jUmVmIiwiaXNDb21wb3NpbmciLCJ1c2VSZWYiLCJ0b3RhbFNsb3RzIiwiZm9ybWF0VmFsdWUiLCJ2YWwiLCJpbml0aWFsRm9ybWF0dGVkIiwiY29udHJvbGxlZEZvcm1hdHRlZCIsInVuZGVmaW5lZCIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsImlubmVyVmFsdWUiLCJzZXRJbm5lclZhbHVlIiwiaXNEaXNhYmxlZCIsImFyaWFSZXF1aXJlZCIsImFyaWFJbnZhbGlkIiwiZW1pdENoYW5nZSIsInVzZUV2ZW50Q2FsbGJhY2siLCJldmVudCIsImhhbmRsZUNoYW5nZSIsImN1cnJlbnQiLCJpbnB1dCIsInRhcmdldCIsImN1cnNvclBvcyIsInNlbGVjdGlvblN0YXJ0IiwiaW5wdXRWYWx1ZSIsInNsaWNlIiwicmVwbGFjZSIsImNsZWFuUmF3IiwiY2giLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJuZXh0UG9zIiwic2V0U2VsZWN0aW9uUmFuZ2UiLCJoYW5kbGVLZXlEb3duIiwiX2IiLCJfYyIsImtleSIsInByZXZlbnREZWZhdWx0IiwicG9zIiwic2VsRW5kIiwic2VsZWN0aW9uRW5kIiwiY3VycmVudFJhdyIsIm5ld1JhdyIsInJhd0lkeCIsInRhcmdldFBvcyIsImhhbmRsZUZvY3VzIiwiaGFuZGxlQmx1ciIsImVtcHR5IiwiX2pzeCIsIkZpZWxkU2hlbGwiLCJjaGlsZHJlbiIsIl9qc3hzIiwiam9pbkNscyIsImFzc2lnbiIsInBsYWNlaG9sZGVyIiwib25Db21wb3NpdGlvblN0YXJ0Iiwib25Db21wb3NpdGlvbkVuZCIsImRpc3BsYXlOYW1lIiwiTWVtb2l6ZWRJbnB1dE1hc2siLCJtZW1vIiwiX2RlZmF1bHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLG9CQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxpQkFBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUssV0FBQSxHQUFBQyx1QkFBQSxDQUFBTixPQUFBO0FBQ0EsSUFBQU8sV0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsWUFBQSxHQUFBUixPQUFBO0FBQTJDLFNBQUFTLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBSix3QkFBQUksQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxD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UyxrQkFBa0IsRUFBRSxTQUFwQkEsa0JBQWtCQSxDQUFBLEVBQU87VUFBR3ZELFdBQVcsQ0FBQ29CLE9BQU8sR0FBRyxJQUFJO1FBQUUsQ0FBQztRQUN6RG9DLGdCQUFnQixFQUFFLFNBQWxCQSxnQkFBZ0JBLENBQUc1SixDQUFDLEVBQUk7VUFDdEJvRyxXQUFXLENBQUNvQixPQUFPLEdBQUcsS0FBSztVQUMzQkQsWUFBWSxDQUFDdkgsQ0FBNkMsQ0FBQztRQUM3RCxDQUFDO1FBQUEsZUFBQSxFQUNja0gsWUFBWTtRQUFBLGNBQUEsRUFDYkM7TUFBVyxDQUFBLENBQUEsQ0FDekIsRUFDRHZDLE1BQU0sSUFBSSxJQUFBd0UsZUFBQSxFQUFBLE1BQUEsRUFBQTtRQUFNaEcsU0FBUyxFQUFFd0MsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUFBMEQsUUFBQSxFQUFHMUU7TUFBTSxDQUFBLENBQVE7SUFBQSxDQUFBO0VBQzFELENBQUEsQ0FDSztBQUVqQixDQUFDO0FBRUQ3QixTQUFTLENBQUM4RyxXQUFXLEdBQUcsV0FBVztBQUVuQyxJQUFNQyxpQkFBaUIsZ0JBQUcsSUFBQUMsV0FBSSxFQUFDaEgsU0FBUyxDQUFDO0FBQ3pDK0csaUJBQWlCLENBQUNELFdBQVcsR0FBRyxXQUFXO0FBQUMsSUFBQUcsUUFBQSxHQUFBaEgsT0FBQSxjQUU3QjhHLGlCQUFpQiIsImZpbGUiOiJjb21wb25lbnRzL0lucHV0L01hc2svTWFzay5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VJZCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZUNvbnRyb2xsZWRTdGF0ZSBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUNvbnRyb2xsZWRTdGF0ZSc7XG5pbXBvcnQgdXNlRXZlbnRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUV2ZW50Q2FsbGJhY2snO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzLCBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBGaWVsZFNoZWxsIH0gZnJvbSAnLi4vRmllbGRTaGVsbCc7XG5pbXBvcnQgeyB1c2VTeW5jUmVmIH0gZnJvbSAnLi4vdXNlU3luY1JlZic7XG4vKiogTWFzayB0b2tlbiBtYXRjaGVyczogOSA9IGRpZ2l0LCBhID0gbGV0dGVyLCAqID0gYWxwaGFudW1lcmljICovXG5jb25zdCBNQVNLX1RPS0VOID0ge1xuICAgICc5JzogL1xcZC8sXG4gICAgJ2EnOiAvW2EtekEtWl0vLFxuICAgICcqJzogL1thLXpBLVowLTldLyxcbn07XG5jb25zdCBpc01hc2tUb2tlbiA9IChjaGFyKSA9PiBjaGFyIGluIE1BU0tfVE9LRU47XG4vKiogQXBwbHkgbWFzayB0byByYXcgdmFsdWUsIHJldHVybmluZyB0aGUgZm9ybWF0dGVkIHN0cmluZyAqL1xuY29uc3QgYXBwbHlNYXNrID0gKHJhdywgbWFzaywgc2xvdENoYXIpID0+IHtcbiAgICBsZXQgcmVzdWx0ID0gJyc7XG4gICAgbGV0IHJhd0luZGV4ID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1hc2subGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgbWFza0NoYXIgPSBtYXNrW2ldO1xuICAgICAgICBpZiAoaXNNYXNrVG9rZW4obWFza0NoYXIpKSB7XG4gICAgICAgICAgICBpZiAocmF3SW5kZXggPCByYXcubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmUgPSBNQVNLX1RPS0VOW21hc2tDaGFyXTtcbiAgICAgICAgICAgICAgICAvLyBTa2lwIGludmFsaWQgY2hhcmFjdGVycyBpbiByYXdcbiAgICAgICAgICAgICAgICB3aGlsZSAocmF3SW5kZXggPCByYXcubGVuZ3RoICYmICFyZS50ZXN0KHJhd1tyYXdJbmRleF0pKSB7XG4gICAgICAgICAgICAgICAgICAgIHJhd0luZGV4Kys7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChyYXdJbmRleCA8IHJhdy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9IHJhd1tyYXdJbmRleF07XG4gICAgICAgICAgICAgICAgICAgIHJhd0luZGV4Kys7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gc2xvdENoYXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ICs9IHNsb3RDaGFyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmVzdWx0ICs9IG1hc2tDaGFyO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59O1xuLyoqIEV4dHJhY3QgcmF3IHZhbHVlIChvbmx5IHVzZXItdHlwZWQgY2hhcmFjdGVycywgbm8gbGl0ZXJhbHMgb3Igc2xvdCBjaGFycykgKi9cbmNvbnN0IGV4dHJhY3RSYXcgPSAoZm9ybWF0dGVkLCBtYXNrLCBzbG90Q2hhcikgPT4ge1xuICAgIGxldCByYXcgPSAnJztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1hc2subGVuZ3RoICYmIGkgPCBmb3JtYXR0ZWQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGlzTWFza1Rva2VuKG1hc2tbaV0pICYmIGZvcm1hdHRlZFtpXSAhPT0gc2xvdENoYXIpIHtcbiAgICAgICAgICAgIHJhdyArPSBmb3JtYXR0ZWRbaV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJhdztcbn07XG4vKiogQ291bnQgaG93IG1hbnkgbWFzayB0b2tlbnMgZXhpc3QgaW4gdGhlIG1hc2sgcGF0dGVybiAqL1xuY29uc3QgY291bnRUb2tlblNsb3RzID0gKG1hc2spID0+IHtcbiAgICBsZXQgY291bnQgPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFzay5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoaXNNYXNrVG9rZW4obWFza1tpXSkpXG4gICAgICAgICAgICBjb3VudCsrO1xuICAgIH1cbiAgICByZXR1cm4gY291bnQ7XG59O1xuLyoqIEZpbmQgdGhlIGN1cnNvciBwb3NpdGlvbiBmb3IgdGhlIG5leHQgYXZhaWxhYmxlIG1hc2sgdG9rZW4gc2xvdCAqL1xuY29uc3QgZmluZE5leHRTbG90ID0gKG1hc2ssIGZvcm1hdHRlZCwgc2xvdENoYXIsIGZyb21JbmRleCkgPT4ge1xuICAgIGZvciAobGV0IGkgPSBmcm9tSW5kZXg7IGkgPCBtYXNrLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChpc01hc2tUb2tlbihtYXNrW2ldKSAmJiAoaSA+PSBmb3JtYXR0ZWQubGVuZ3RoIHx8IGZvcm1hdHRlZFtpXSA9PT0gc2xvdENoYXIpKSB7XG4gICAgICAgICAgICByZXR1cm4gaTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZnJvbUluZGV4O1xufTtcbi8qKiBGaW5kIHRoZSBwb3NpdGlvbiBvZiB0aGUgZmlyc3Qgc2xvdCBjaGFyIGluIGZvcm1hdHRlZCB2YWx1ZSAqL1xuY29uc3QgZmluZEZpcnN0U2xvdCA9IChmb3JtYXR0ZWQsIHNsb3RDaGFyKSA9PiB7XG4gICAgY29uc3QgaWR4ID0gZm9ybWF0dGVkLmluZGV4T2Yoc2xvdENoYXIpO1xuICAgIHJldHVybiBpZHggPT09IC0xID8gZm9ybWF0dGVkLmxlbmd0aCA6IGlkeDtcbn07XG5leHBvcnQgY29uc3QgSW5wdXRNYXNrID0gKHByb3BzKSA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lID0gJycsIGxhYmVsQ2xhc3NOYW1lLCBwcmVmaXhDbHMgPSAnaW5wdXQnLCBzaXplID0gJ2xhcmdlJywgc3RhdHVzID0gJ2RlZmF1bHQnLCBkaXNhYmxlZCA9IGZhbHNlLCBsb2FkaW5nID0gZmFsc2UsIG1hc2ssIHNsb3RDaGFyID0gJ18nLCB1bm1hc2sgPSBmYWxzZSwgYXV0b0NsZWFyID0gZmFsc2UsIGxhYmVsLCBpbmZvLCBmZWVkYmFjaywgZmVlZGJhY2tJY29uLCB0aXAsIHJlcXVpcmVkLCBwcmVmaXgsIHN1ZmZpeCwgdmFsdWUsIGRlZmF1bHRWYWx1ZSA9ICcnLCBvbkNoYW5nZSwgb25Db21wbGV0ZSwgb25Gb2N1cywgb25CbHVyLCBvbktleURvd24sIHJlZiwgaWQ6IGV4dGVybmFsSWQgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJjbGFzc05hbWVcIiwgXCJsYWJlbENsYXNzTmFtZVwiLCBcInByZWZpeENsc1wiLCBcInNpemVcIiwgXCJzdGF0dXNcIiwgXCJkaXNhYmxlZFwiLCBcImxvYWRpbmdcIiwgXCJtYXNrXCIsIFwic2xvdENoYXJcIiwgXCJ1bm1hc2tcIiwgXCJhdXRvQ2xlYXJcIiwgXCJsYWJlbFwiLCBcImluZm9cIiwgXCJmZWVkYmFja1wiLCBcImZlZWRiYWNrSWNvblwiLCBcInRpcFwiLCBcInJlcXVpcmVkXCIsIFwicHJlZml4XCIsIFwic3VmZml4XCIsIFwidmFsdWVcIiwgXCJkZWZhdWx0VmFsdWVcIiwgXCJvbkNoYW5nZVwiLCBcIm9uQ29tcGxldGVcIiwgXCJvbkZvY3VzXCIsIFwib25CbHVyXCIsIFwib25LZXlEb3duXCIsIFwicmVmXCIsIFwiaWRcIl0pO1xuICAgIGNvbnN0IGF1dG9JZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgaW5wdXRJZCA9IGV4dGVybmFsSWQgIT09IG51bGwgJiYgZXh0ZXJuYWxJZCAhPT0gdm9pZCAwID8gZXh0ZXJuYWxJZCA6IGF1dG9JZDtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IFtpbnB1dFJlZiwgc3luY1JlZl0gPSB1c2VTeW5jUmVmKHJlZik7XG4gICAgY29uc3QgaXNDb21wb3NpbmcgPSB1c2VSZWYoZmFsc2UpO1xuICAgIGNvbnN0IHRvdGFsU2xvdHMgPSBjb3VudFRva2VuU2xvdHMobWFzayk7XG4gICAgLy8gSW50ZXJuYWwgc3RhdGUgYWx3YXlzIHN0b3JlcyB0aGUgZm9ybWF0dGVkIHZhbHVlXG4gICAgY29uc3QgZm9ybWF0VmFsdWUgPSAodmFsKSA9PiBhcHBseU1hc2sodmFsLCBtYXNrLCBzbG90Q2hhcik7XG4gICAgY29uc3QgaW5pdGlhbEZvcm1hdHRlZCA9IGRlZmF1bHRWYWx1ZSA/IGZvcm1hdFZhbHVlKGRlZmF1bHRWYWx1ZSkgOiAnJztcbiAgICBjb25zdCBjb250cm9sbGVkRm9ybWF0dGVkID0gdmFsdWUgIT09IHVuZGVmaW5lZCA/IGZvcm1hdFZhbHVlKHZhbHVlKSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBbaW5uZXJWYWx1ZSwgc2V0SW5uZXJWYWx1ZV0gPSB1c2VDb250cm9sbGVkU3RhdGUoaW5pdGlhbEZvcm1hdHRlZCwgY29udHJvbGxlZEZvcm1hdHRlZCk7XG4gICAgY29uc3QgaXNEaXNhYmxlZCA9IGRpc2FibGVkIHx8IGxvYWRpbmc7XG4gICAgY29uc3QgYXJpYVJlcXVpcmVkID0gcmVxdWlyZWQgPyAndHJ1ZScgOiAnZmFsc2UnO1xuICAgIGNvbnN0IGFyaWFJbnZhbGlkID0gc3RhdHVzID09PSAnZXJyb3InID8gJ3RydWUnIDogJ2ZhbHNlJztcbiAgICBjb25zdCBlbWl0Q2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygoZm9ybWF0dGVkLCBldmVudCkgPT4ge1xuICAgICAgICBjb25zdCByYXcgPSBleHRyYWN0UmF3KGZvcm1hdHRlZCwgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICBvbkNoYW5nZSA9PT0gbnVsbCB8fCBvbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DaGFuZ2UodW5tYXNrID8gcmF3IDogZm9ybWF0dGVkLCBldmVudCk7XG4gICAgICAgIGlmIChyYXcubGVuZ3RoID09PSB0b3RhbFNsb3RzKSB7XG4gICAgICAgICAgICBvbkNvbXBsZXRlID09PSBudWxsIHx8IG9uQ29tcGxldGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ29tcGxldGUodW5tYXNrID8gcmF3IDogZm9ybWF0dGVkKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKGlzQ29tcG9zaW5nLmN1cnJlbnQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0O1xuICAgICAgICBjb25zdCBjdXJzb3JQb3MgPSAoX2EgPSBpbnB1dC5zZWxlY3Rpb25TdGFydCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogMDtcbiAgICAgICAgY29uc3QgaW5wdXRWYWx1ZSA9IGlucHV0LnZhbHVlO1xuICAgICAgICAvLyBFeHRyYWN0IG9ubHkgdmFsaWQgY2hhcmFjdGVycyBmcm9tIHRoZSByYXcgaW5wdXRcbiAgICAgICAgY29uc3QgcmF3ID0gZXh0cmFjdFJhdyhpbnB1dFZhbHVlLCBtYXNrLCBzbG90Q2hhcilcbiAgICAgICAgICAgICsgaW5wdXRWYWx1ZS5zbGljZShjdXJzb3JQb3MgPiAwID8gY3Vyc29yUG9zIC0gMSA6IDAsIGN1cnNvclBvcykucmVwbGFjZSgvW15cXGRhLXpBLVpdL2csICcnKTtcbiAgICAgICAgLy8gUmUtZXh0cmFjdCBmcm9tIHRoZSBmdWxsIGlucHV0IHRvIGdldCBjbGVhbiByYXdcbiAgICAgICAgbGV0IGNsZWFuUmF3ID0gJyc7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXRWYWx1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgY2ggPSBpbnB1dFZhbHVlW2ldO1xuICAgICAgICAgICAgaWYgKC9bXFxkYS16QS1aXS8udGVzdChjaCkpXG4gICAgICAgICAgICAgICAgY2xlYW5SYXcgKz0gY2g7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gYXBwbHlNYXNrKGNsZWFuUmF3LCBtYXNrLCBzbG90Q2hhcik7XG4gICAgICAgIHNldElubmVyVmFsdWUoZm9ybWF0dGVkKTtcbiAgICAgICAgZW1pdENoYW5nZShmb3JtYXR0ZWQsIGV2ZW50KTtcbiAgICAgICAgLy8gUG9zaXRpb24gY3Vyc29yIGFmdGVyIHRoZSBsYXN0IGZpbGxlZCBzbG90XG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0UG9zID0gZmluZEZpcnN0U2xvdChmb3JtYXR0ZWQsIHNsb3RDaGFyKTtcbiAgICAgICAgICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKG5leHRQb3MsIG5leHRQb3MpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVLZXlEb3duID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgICAgIGNvbnN0IGlucHV0ID0gaW5wdXRSZWYuY3VycmVudDtcbiAgICAgICAgaWYgKCFpbnB1dClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0JhY2tzcGFjZScpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBjb25zdCBwb3MgPSAoX2EgPSBpbnB1dC5zZWxlY3Rpb25TdGFydCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogMDtcbiAgICAgICAgICAgIGNvbnN0IHNlbEVuZCA9IChfYiA9IGlucHV0LnNlbGVjdGlvbkVuZCkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogMDtcbiAgICAgICAgICAgIGlmIChwb3MgPT09IDAgJiYgc2VsRW5kID09PSAwKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRSYXcgPSBleHRyYWN0UmF3KGlubmVyVmFsdWUsIG1hc2ssIHNsb3RDaGFyKTtcbiAgICAgICAgICAgIGlmIChwb3MgIT09IHNlbEVuZCkge1xuICAgICAgICAgICAgICAgIC8vIFNlbGVjdGlvbjogcmVtb3ZlIGFsbCByYXcgY2hhcnMgaW4gdGhlIHNlbGVjdGVkIHJhbmdlXG4gICAgICAgICAgICAgICAgbGV0IG5ld1JhdyA9ICcnO1xuICAgICAgICAgICAgICAgIGxldCByYXdJZHggPSAwO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFzay5sZW5ndGggJiYgcmF3SWR4IDwgY3VycmVudFJhdy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNNYXNrVG9rZW4obWFza1tpXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpIDwgcG9zIHx8IGkgPj0gc2VsRW5kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3UmF3ICs9IGN1cnJlbnRSYXdbcmF3SWR4XTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJhd0lkeCsrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGFwcGx5TWFzayhuZXdSYXcsIG1hc2ssIHNsb3RDaGFyKTtcbiAgICAgICAgICAgICAgICBzZXRJbm5lclZhbHVlKGZvcm1hdHRlZCk7XG4gICAgICAgICAgICAgICAgZW1pdENoYW5nZShmb3JtYXR0ZWQsIHsgdGFyZ2V0OiBpbnB1dCB9KTtcbiAgICAgICAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXh0UG9zID0gZmluZE5leHRTbG90KG1hc2ssIGZvcm1hdHRlZCwgc2xvdENoYXIsIHBvcyk7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKG5leHRQb3MsIG5leHRQb3MpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gU2luZ2xlIGJhY2tzcGFjZTogZmluZCBwcmV2IHRva2VuIHBvc2l0aW9uIGFuZCByZW1vdmUgaXRcbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0UG9zID0gcG9zIC0gMTtcbiAgICAgICAgICAgICAgICB3aGlsZSAodGFyZ2V0UG9zID49IDAgJiYgIWlzTWFza1Rva2VuKG1hc2tbdGFyZ2V0UG9zXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0UG9zLS07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0YXJnZXRQb3MgPCAwKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgbGV0IG5ld1JhdyA9ICcnO1xuICAgICAgICAgICAgICAgIGxldCByYXdJZHggPSAwO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFzay5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNNYXNrVG9rZW4obWFza1tpXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpICE9PSB0YXJnZXRQb3MgJiYgcmF3SWR4IDwgY3VycmVudFJhdy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdSYXcgKz0gY3VycmVudFJhd1tyYXdJZHhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmF3SWR4Kys7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gYXBwbHlNYXNrKG5ld1JhdywgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICAgICAgICAgIHNldElubmVyVmFsdWUoZm9ybWF0dGVkKTtcbiAgICAgICAgICAgICAgICBlbWl0Q2hhbmdlKGZvcm1hdHRlZCwgeyB0YXJnZXQ6IGlucHV0IH0pO1xuICAgICAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKHRhcmdldFBvcywgdGFyZ2V0UG9zKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRGVsZXRlJykge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGNvbnN0IHBvcyA9IChfYyA9IGlucHV0LnNlbGVjdGlvblN0YXJ0KSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiAwO1xuICAgICAgICAgICAgbGV0IHRhcmdldFBvcyA9IHBvcztcbiAgICAgICAgICAgIHdoaWxlICh0YXJnZXRQb3MgPCBtYXNrLmxlbmd0aCAmJiAhaXNNYXNrVG9rZW4obWFza1t0YXJnZXRQb3NdKSkge1xuICAgICAgICAgICAgICAgIHRhcmdldFBvcysrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRhcmdldFBvcyA+PSBtYXNrLmxlbmd0aClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50UmF3ID0gZXh0cmFjdFJhdyhpbm5lclZhbHVlLCBtYXNrLCBzbG90Q2hhcik7XG4gICAgICAgICAgICBsZXQgbmV3UmF3ID0gJyc7XG4gICAgICAgICAgICBsZXQgcmF3SWR4ID0gMDtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFzay5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGlmIChpc01hc2tUb2tlbihtYXNrW2ldKSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaSAhPT0gdGFyZ2V0UG9zICYmIHJhd0lkeCA8IGN1cnJlbnRSYXcubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdSYXcgKz0gY3VycmVudFJhd1tyYXdJZHhdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJhd0lkeCsrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGFwcGx5TWFzayhuZXdSYXcsIG1hc2ssIHNsb3RDaGFyKTtcbiAgICAgICAgICAgIHNldElubmVyVmFsdWUoZm9ybWF0dGVkKTtcbiAgICAgICAgICAgIGVtaXRDaGFuZ2UoZm9ybWF0dGVkLCB7IHRhcmdldDogaW5wdXQgfSk7XG4gICAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKHBvcywgcG9zKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIG9uS2V5RG93biA9PT0gbnVsbCB8fCBvbktleURvd24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uS2V5RG93bihldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlRm9jdXMgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICAvLyBPbiBmb2N1cywgaWYgZW1wdHkgc2hvdyB0aGUgbWFzayBwbGFjZWhvbGRlclxuICAgICAgICBpZiAoIWlubmVyVmFsdWUgfHwgZXh0cmFjdFJhdyhpbm5lclZhbHVlLCBtYXNrLCBzbG90Q2hhcikubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWQgPSBhcHBseU1hc2soJycsIG1hc2ssIHNsb3RDaGFyKTtcbiAgICAgICAgICAgIHNldElubmVyVmFsdWUoZm9ybWF0dGVkKTtcbiAgICAgICAgfVxuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5wdXQgPSBpbnB1dFJlZi5jdXJyZW50O1xuICAgICAgICAgICAgaWYgKGlucHV0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9zID0gZmluZEZpcnN0U2xvdChpbnB1dC52YWx1ZSwgc2xvdENoYXIpO1xuICAgICAgICAgICAgICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKHBvcywgcG9zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIG9uRm9jdXMgPT09IG51bGwgfHwgb25Gb2N1cyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25Gb2N1cyhldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlQmx1ciA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHJhdyA9IGV4dHJhY3RSYXcoaW5uZXJWYWx1ZSwgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICBpZiAoYXV0b0NsZWFyICYmIHJhdy5sZW5ndGggPiAwICYmIHJhdy5sZW5ndGggPCB0b3RhbFNsb3RzKSB7XG4gICAgICAgICAgICBjb25zdCBlbXB0eSA9IGFwcGx5TWFzaygnJywgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICAgICAgc2V0SW5uZXJWYWx1ZShlbXB0eSk7XG4gICAgICAgICAgICBlbWl0Q2hhbmdlKGVtcHR5LCB7IHRhcmdldDogZXZlbnQudGFyZ2V0IH0pO1xuICAgICAgICB9XG4gICAgICAgIC8vIElmIGNvbXBsZXRlbHkgZW1wdHksIGNsZWFyIHRoZSBmb3JtYXR0ZWQgbWFza1xuICAgICAgICBpZiAocmF3Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgc2V0SW5uZXJWYWx1ZSgnJyk7XG4gICAgICAgIH1cbiAgICAgICAgb25CbHVyID09PSBudWxsIHx8IG9uQmx1ciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25CbHVyKGV2ZW50KTtcbiAgICB9KTtcbiAgICByZXR1cm4gKF9qc3goRmllbGRTaGVsbCwgeyBjbGFzc05hbWU6IGNsYXNzTmFtZSwgbGFiZWxDbGFzc05hbWU6IGxhYmVsQ2xhc3NOYW1lLCBwcmVmaXhDbHM6IHByZWZpeENscywgc2l6ZTogc2l6ZSwgc3RhdHVzOiBzdGF0dXMsIGRpc2FibGVkOiBpc0Rpc2FibGVkLCBsYWJlbDogbGFiZWwsIGluZm86IGluZm8sIHRpcDogdGlwLCBmZWVkYmFjazogZmVlZGJhY2ssIGZlZWRiYWNrSWNvbjogZmVlZGJhY2tJY29uLCByZXF1aXJlZDogcmVxdWlyZWQsIGlucHV0SWQ6IGlucHV0SWQsIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29udHJvbCcsIGpvaW5DbHMoaXNEaXNhYmxlZCAmJiBjbGFzc2VzKCdjb250cm9sLWRpc2FibGVkJykpKSwgY2hpbGRyZW46IFtwcmVmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3ByZWZpeCcpLCBjaGlsZHJlbjogcHJlZml4IH0pLCBfanN4KFwiaW5wdXRcIiwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyByZWY6IHN5bmNSZWYsIGlkOiBpbnB1dElkLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2ZpZWxkJyksIGRpc2FibGVkOiBpc0Rpc2FibGVkLCB2YWx1ZTogaW5uZXJWYWx1ZSwgcGxhY2Vob2xkZXI6IChfYSA9IHJlc3QucGxhY2Vob2xkZXIpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGFwcGx5TWFzaygnJywgbWFzaywgc2xvdENoYXIpLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBvbktleURvd246IGhhbmRsZUtleURvd24sIG9uRm9jdXM6IGhhbmRsZUZvY3VzLCBvbkJsdXI6IGhhbmRsZUJsdXIsIG9uQ29tcG9zaXRpb25TdGFydDogKCkgPT4geyBpc0NvbXBvc2luZy5jdXJyZW50ID0gdHJ1ZTsgfSwgb25Db21wb3NpdGlvbkVuZDogKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzQ29tcG9zaW5nLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZShlKTtcbiAgICAgICAgICAgICAgICAgICAgfSwgXCJhcmlhLXJlcXVpcmVkXCI6IGFyaWFSZXF1aXJlZCwgXCJhcmlhLWludmFsaWRcIjogYXJpYUludmFsaWQgfSkpLCBzdWZmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3N1ZmZpeCcpLCBjaGlsZHJlbjogc3VmZml4IH0pXSB9KSB9KSk7XG59O1xuSW5wdXRNYXNrLmRpc3BsYXlOYW1lID0gJ0lucHV0TWFzayc7XG5jb25zdCBNZW1vaXplZElucHV0TWFzayA9IG1lbW8oSW5wdXRNYXNrKTtcbk1lbW9pemVkSW5wdXRNYXNrLmRpc3BsYXlOYW1lID0gJ0lucHV0TWFzayc7XG5leHBvcnQgZGVmYXVsdCBNZW1vaXplZElucHV0TWFzazsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
358
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvSW5wdXQvTWFzay9NYXNrLmpzIiwiY29tcG9uZW50cy9JbnB1dC9zcmMvY29tcG9uZW50cy9JbnB1dC9NYXNrL01hc2sudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl91c2VDb250cm9sbGVkU3RhdGUzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl91c2VFdmVudENhbGxiYWNrIiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9GaWVsZFNoZWxsIiwiX3VzZVN5bmNSZWYzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiX19yZXN0IiwicyIsInAiLCJwcm90b3R5cGUiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJNQVNLX1RPS0VOIiwiaXNNYXNrVG9rZW4iLCJjaGFyIiwiYXBwbHlNYXNrIiwicmF3IiwibWFzayIsInNsb3RDaGFyIiwicmVzdWx0IiwicmF3SW5kZXgiLCJtYXNrQ2hhciIsInJlIiwidGVzdCIsImV4dHJhY3RSYXciLCJmb3JtYXR0ZWQiLCJjb3VudFRva2VuU2xvdHMiLCJjb3VudCIsImZpbmROZXh0U2xvdCIsImZyb21JbmRleCIsImZpbmRGaXJzdFNsb3QiLCJpZHgiLCJJbnB1dE1hc2siLCJleHBvcnRzIiwicHJvcHMiLCJfYSIsIl9wcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJsYWJlbENsYXNzTmFtZSIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJfcHJvcHMkc3RhdHVzIiwic3RhdHVzIiwiX3Byb3BzJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJfcHJvcHMkbG9hZGluZyIsImxvYWRpbmciLCJfcHJvcHMkc2xvdENoYXIiLCJfcHJvcHMkdW5tYXNrIiwidW5tYXNrIiwiX3Byb3BzJGF1dG9DbGVhciIsImF1dG9DbGVhciIsImxhYmVsIiwiaW5mbyIsImZlZWRiYWNrIiwiZmVlZGJhY2tJY29uIiwidGlwIiwicmVxdWlyZWQiLCJwcmVmaXgiLCJzdWZmaXgiLCJfc2hvd0NvdW50Iiwic2hvd0NvdW50IiwidmFsdWUiLCJfcHJvcHMkZGVmYXVsdFZhbHVlIiwiZGVmYXVsdFZhbHVlIiwib25DaGFuZ2UiLCJvbkNvbXBsZXRlIiwib25Gb2N1cyIsIm9uQmx1ciIsIm9uS2V5RG93biIsInJlZiIsImV4dGVybmFsSWQiLCJpZCIsInJlc3QiLCJhdXRvSWQiLCJ1c2VJZCIsImlucHV0SWQiLCJjbGFzc2VzIiwiY2xhc3NuYW1lcyIsIl91c2VTeW5jUmVmIiwidXNlU3luY1JlZiIsIl91c2VTeW5jUmVmMiIsIl9zbGljZWRUb0FycmF5MiIsImlucHV0UmVmIiwic3luY1JlZiIsImlzQ29tcG9zaW5nIiwidXNlUmVmIiwidG90YWxTbG90cyIsImZvcm1hdFZhbHVlIiwidmFsIiwiaW5pdGlhbEZvcm1hdHRlZCIsImNvbnRyb2xsZWRGb3JtYXR0ZWQiLCJ1bmRlZmluZWQiLCJfdXNlQ29udHJvbGxlZFN0YXRlIiwidXNlQ29udHJvbGxlZFN0YXRlIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTIiLCJpbm5lclZhbHVlIiwic2V0SW5uZXJWYWx1ZSIsImlzRGlzYWJsZWQiLCJhcmlhUmVxdWlyZWQiLCJhcmlhSW52YWxpZCIsImVtaXRDaGFuZ2UiLCJ1c2VFdmVudENhbGxiYWNrIiwiZXZlbnQiLCJoYW5kbGVDaGFuZ2UiLCJjdXJyZW50IiwiaW5wdXQiLCJ0YXJnZXQiLCJjdXJzb3JQb3MiLCJzZWxlY3Rpb25TdGFydCIsImlucHV0VmFsdWUiLCJzbGljZSIsInJlcGxhY2UiLCJjbGVhblJhdyIsImNoIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwibmV4dFBvcyIsInNldFNlbGVjdGlvblJhbmdlIiwiaGFuZGxlS2V5RG93biIsIl9iIiwiX2MiLCJrZXkiLCJwcmV2ZW50RGVmYXVsdCIsInBvcyIsInNlbEVuZCIsInNlbGVjdGlvbkVuZCIsImN1cnJlbnRSYXciLCJuZXdSYXciLCJyYXdJZHgiLCJ0YXJnZXRQb3MiLCJoYW5kbGVGb2N1cyIsImhhbmRsZUJsdXIiLCJlbXB0eSIsIl9qc3giLCJGaWVsZFNoZWxsIiwiY2hpbGRyZW4iLCJfanN4cyIsImpvaW5DbHMiLCJhc3NpZ24iLCJwbGFjZWhvbGRlciIsIm9uQ29tcG9zaXRpb25TdGFydCIsIm9uQ29tcG9zaXRpb25FbmQiLCJkaXNwbGF5TmFtZSIsIk1lbW9pemVkSW5wdXRNYXNrIiwibWVtbyIsIl9kZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxvQkFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksaUJBQUEsR0FBQUQsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFLLFdBQUEsR0FBQUMsdUJBQUEsQ0FBQU4sT0FBQTtBQUNBLElBQUFPLFdBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFlBQUEsR0FBQVIsT0FBQTtBQUEyQyxTQUFBUyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQUosd0JBQUFJLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFB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O1FBQ3RCbkMsU0FBUyxFQUFFaUQsYUFBYTtRQUN4Qm5ELE9BQU8sRUFBRStELFdBQVc7UUFDcEI5RCxNQUFNLEVBQUUrRCxVQUFVO1FBQ2xCUyxrQkFBa0IsRUFBRSxTQUFwQkEsa0JBQWtCQSxDQUFBLEVBQU87VUFBR3ZELFdBQVcsQ0FBQ29CLE9BQU8sR0FBRyxJQUFJO1FBQUUsQ0FBQztRQUN6RG9DLGdCQUFnQixFQUFFLFNBQWxCQSxnQkFBZ0JBLENBQUc5SixDQUFDLEVBQUk7VUFDdEJzRyxXQUFXLENBQUNvQixPQUFPLEdBQUcsS0FBSztVQUMzQkQsWUFBWSxDQUFDekgsQ0FBNkMsQ0FBQztRQUM3RCxDQUFDO1FBQUEsZUFBQSxFQUNjb0gsWUFBWTtRQUFBLGNBQUEsRUFDYkM7TUFBVyxDQUFBLENBQUEsQ0FDekIsRUFDRHpDLE1BQU0sSUFBSSxJQUFBMEUsZUFBQSxFQUFBLE1BQUEsRUFBQTtRQUFNbEcsU0FBUyxFQUFFMEMsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUFBMEQsUUFBQSxFQUFHNUU7TUFBTSxDQUFBLENBQVE7SUFBQSxDQUFBO0VBQzFELENBQUEsQ0FDSztBQUVqQixDQUFDO0FBRUQ3QixTQUFTLENBQUNnSCxXQUFXLEdBQUcsV0FBVztBQUVuQyxJQUFNQyxpQkFBaUIsZ0JBQUcsSUFBQUMsV0FBSSxFQUFDbEgsU0FBUyxDQUFDO0FBQ3pDaUgsaUJBQWlCLENBQUNELFdBQVcsR0FBRyxXQUFXO0FBQUMsSUFBQUcsUUFBQSxHQUFBbEgsT0FBQSxjQUU3QmdILGlCQUFpQiIsImZpbGUiOiJjb21wb25lbnRzL0lucHV0L01hc2svTWFzay5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VJZCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZUNvbnRyb2xsZWRTdGF0ZSBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUNvbnRyb2xsZWRTdGF0ZSc7XG5pbXBvcnQgdXNlRXZlbnRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUV2ZW50Q2FsbGJhY2snO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzLCBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBGaWVsZFNoZWxsIH0gZnJvbSAnLi4vRmllbGRTaGVsbCc7XG5pbXBvcnQgeyB1c2VTeW5jUmVmIH0gZnJvbSAnLi4vdXNlU3luY1JlZic7XG4vKiogTWFzayB0b2tlbiBtYXRjaGVyczogOSA9IGRpZ2l0LCBhID0gbGV0dGVyLCAqID0gYWxwaGFudW1lcmljICovXG5jb25zdCBNQVNLX1RPS0VOID0ge1xuICAgICc5JzogL1xcZC8sXG4gICAgJ2EnOiAvW2EtekEtWl0vLFxuICAgICcqJzogL1thLXpBLVowLTldLyxcbn07XG5jb25zdCBpc01hc2tUb2tlbiA9IChjaGFyKSA9PiBjaGFyIGluIE1BU0tfVE9LRU47XG4vKiogQXBwbHkgbWFzayB0byByYXcgdmFsdWUsIHJldHVybmluZyB0aGUgZm9ybWF0dGVkIHN0cmluZyAqL1xuY29uc3QgYXBwbHlNYXNrID0gKHJhdywgbWFzaywgc2xvdENoYXIpID0+IHtcbiAgICBsZXQgcmVzdWx0ID0gJyc7XG4gICAgbGV0IHJhd0luZGV4ID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1hc2subGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgbWFza0NoYXIgPSBtYXNrW2ldO1xuICAgICAgICBpZiAoaXNNYXNrVG9rZW4obWFza0NoYXIpKSB7XG4gICAgICAgICAgICBpZiAocmF3SW5kZXggPCByYXcubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmUgPSBNQVNLX1RPS0VOW21hc2tDaGFyXTtcbiAgICAgICAgICAgICAgICAvLyBTa2lwIGludmFsaWQgY2hhcmFjdGVycyBpbiByYXdcbiAgICAgICAgICAgICAgICB3aGlsZSAocmF3SW5kZXggPCByYXcubGVuZ3RoICYmICFyZS50ZXN0KHJhd1tyYXdJbmRleF0pKSB7XG4gICAgICAgICAgICAgICAgICAgIHJhd0luZGV4Kys7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChyYXdJbmRleCA8IHJhdy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9IHJhd1tyYXdJbmRleF07XG4gICAgICAgICAgICAgICAgICAgIHJhd0luZGV4Kys7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gc2xvdENoYXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ICs9IHNsb3RDaGFyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmVzdWx0ICs9IG1hc2tDaGFyO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59O1xuLyoqIEV4dHJhY3QgcmF3IHZhbHVlIChvbmx5IHVzZXItdHlwZWQgY2hhcmFjdGVycywgbm8gbGl0ZXJhbHMgb3Igc2xvdCBjaGFycykgKi9cbmNvbnN0IGV4dHJhY3RSYXcgPSAoZm9ybWF0dGVkLCBtYXNrLCBzbG90Q2hhcikgPT4ge1xuICAgIGxldCByYXcgPSAnJztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1hc2subGVuZ3RoICYmIGkgPCBmb3JtYXR0ZWQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGlzTWFza1Rva2VuKG1hc2tbaV0pICYmIGZvcm1hdHRlZFtpXSAhPT0gc2xvdENoYXIpIHtcbiAgICAgICAgICAgIHJhdyArPSBmb3JtYXR0ZWRbaV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJhdztcbn07XG4vKiogQ291bnQgaG93IG1hbnkgbWFzayB0b2tlbnMgZXhpc3QgaW4gdGhlIG1hc2sgcGF0dGVybiAqL1xuY29uc3QgY291bnRUb2tlblNsb3RzID0gKG1hc2spID0+IHtcbiAgICBsZXQgY291bnQgPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFzay5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoaXNNYXNrVG9rZW4obWFza1tpXSkpXG4gICAgICAgICAgICBjb3VudCsrO1xuICAgIH1cbiAgICByZXR1cm4gY291bnQ7XG59O1xuLyoqIEZpbmQgdGhlIGN1cnNvciBwb3NpdGlvbiBmb3IgdGhlIG5leHQgYXZhaWxhYmxlIG1hc2sgdG9rZW4gc2xvdCAqL1xuY29uc3QgZmluZE5leHRTbG90ID0gKG1hc2ssIGZvcm1hdHRlZCwgc2xvdENoYXIsIGZyb21JbmRleCkgPT4ge1xuICAgIGZvciAobGV0IGkgPSBmcm9tSW5kZXg7IGkgPCBtYXNrLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChpc01hc2tUb2tlbihtYXNrW2ldKSAmJiAoaSA+PSBmb3JtYXR0ZWQubGVuZ3RoIHx8IGZvcm1hdHRlZFtpXSA9PT0gc2xvdENoYXIpKSB7XG4gICAgICAgICAgICByZXR1cm4gaTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZnJvbUluZGV4O1xufTtcbi8qKiBGaW5kIHRoZSBwb3NpdGlvbiBvZiB0aGUgZmlyc3Qgc2xvdCBjaGFyIGluIGZvcm1hdHRlZCB2YWx1ZSAqL1xuY29uc3QgZmluZEZpcnN0U2xvdCA9IChmb3JtYXR0ZWQsIHNsb3RDaGFyKSA9PiB7XG4gICAgY29uc3QgaWR4ID0gZm9ybWF0dGVkLmluZGV4T2Yoc2xvdENoYXIpO1xuICAgIHJldHVybiBpZHggPT09IC0xID8gZm9ybWF0dGVkLmxlbmd0aCA6IGlkeDtcbn07XG5leHBvcnQgY29uc3QgSW5wdXRNYXNrID0gKHByb3BzKSA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lID0gJycsIGxhYmVsQ2xhc3NOYW1lLCBwcmVmaXhDbHMgPSAnaW5wdXQnLCBzaXplID0gJ2xhcmdlJywgc3RhdHVzID0gJ2RlZmF1bHQnLCBkaXNhYmxlZCA9IGZhbHNlLCBsb2FkaW5nID0gZmFsc2UsIG1hc2ssIHNsb3RDaGFyID0gJ18nLCB1bm1hc2sgPSBmYWxzZSwgYXV0b0NsZWFyID0gZmFsc2UsIGxhYmVsLCBpbmZvLCBmZWVkYmFjaywgZmVlZGJhY2tJY29uLCB0aXAsIHJlcXVpcmVkLCBwcmVmaXgsIHN1ZmZpeCwgXG4gICAgLy8gQWNjZXB0ZWQgdmlhIElucHV0QmFzZVByb3BzIGJ1dCBtZWFuaW5nbGVzcyBoZXJlICh0aGUgbWFzayBwYXR0ZXJuXG4gICAgLy8gYWxyZWFkeSBmaXhlcyB0aGUgbGVuZ3RoKTsgZGVzdHJ1Y3R1cmVkIHNvIGl0IG5ldmVyIGxlYWtzIG9udG8gdGhlXG4gICAgLy8gRE9NIGlucHV0IGFzIGFuIHVua25vd24gYXR0cmlidXRlLlxuICAgIHNob3dDb3VudDogX3Nob3dDb3VudCwgdmFsdWUsIGRlZmF1bHRWYWx1ZSA9ICcnLCBvbkNoYW5nZSwgb25Db21wbGV0ZSwgb25Gb2N1cywgb25CbHVyLCBvbktleURvd24sIHJlZiwgaWQ6IGV4dGVybmFsSWQgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJjbGFzc05hbWVcIiwgXCJsYWJlbENsYXNzTmFtZVwiLCBcInByZWZpeENsc1wiLCBcInNpemVcIiwgXCJzdGF0dXNcIiwgXCJkaXNhYmxlZFwiLCBcImxvYWRpbmdcIiwgXCJtYXNrXCIsIFwic2xvdENoYXJcIiwgXCJ1bm1hc2tcIiwgXCJhdXRvQ2xlYXJcIiwgXCJsYWJlbFwiLCBcImluZm9cIiwgXCJmZWVkYmFja1wiLCBcImZlZWRiYWNrSWNvblwiLCBcInRpcFwiLCBcInJlcXVpcmVkXCIsIFwicHJlZml4XCIsIFwic3VmZml4XCIsIFwic2hvd0NvdW50XCIsIFwidmFsdWVcIiwgXCJkZWZhdWx0VmFsdWVcIiwgXCJvbkNoYW5nZVwiLCBcIm9uQ29tcGxldGVcIiwgXCJvbkZvY3VzXCIsIFwib25CbHVyXCIsIFwib25LZXlEb3duXCIsIFwicmVmXCIsIFwiaWRcIl0pO1xuICAgIGNvbnN0IGF1dG9JZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgaW5wdXRJZCA9IGV4dGVybmFsSWQgIT09IG51bGwgJiYgZXh0ZXJuYWxJZCAhPT0gdm9pZCAwID8gZXh0ZXJuYWxJZCA6IGF1dG9JZDtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IFtpbnB1dFJlZiwgc3luY1JlZl0gPSB1c2VTeW5jUmVmKHJlZik7XG4gICAgY29uc3QgaXNDb21wb3NpbmcgPSB1c2VSZWYoZmFsc2UpO1xuICAgIGNvbnN0IHRvdGFsU2xvdHMgPSBjb3VudFRva2VuU2xvdHMobWFzayk7XG4gICAgLy8gSW50ZXJuYWwgc3RhdGUgYWx3YXlzIHN0b3JlcyB0aGUgZm9ybWF0dGVkIHZhbHVlXG4gICAgY29uc3QgZm9ybWF0VmFsdWUgPSAodmFsKSA9PiBhcHBseU1hc2sodmFsLCBtYXNrLCBzbG90Q2hhcik7XG4gICAgY29uc3QgaW5pdGlhbEZvcm1hdHRlZCA9IGRlZmF1bHRWYWx1ZSA/IGZvcm1hdFZhbHVlKGRlZmF1bHRWYWx1ZSkgOiAnJztcbiAgICBjb25zdCBjb250cm9sbGVkRm9ybWF0dGVkID0gdmFsdWUgIT09IHVuZGVmaW5lZCA/IGZvcm1hdFZhbHVlKHZhbHVlKSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBbaW5uZXJWYWx1ZSwgc2V0SW5uZXJWYWx1ZV0gPSB1c2VDb250cm9sbGVkU3RhdGUoaW5pdGlhbEZvcm1hdHRlZCwgY29udHJvbGxlZEZvcm1hdHRlZCk7XG4gICAgY29uc3QgaXNEaXNhYmxlZCA9IGRpc2FibGVkIHx8IGxvYWRpbmc7XG4gICAgY29uc3QgYXJpYVJlcXVpcmVkID0gcmVxdWlyZWQgPyAndHJ1ZScgOiAnZmFsc2UnO1xuICAgIGNvbnN0IGFyaWFJbnZhbGlkID0gc3RhdHVzID09PSAnZXJyb3InID8gJ3RydWUnIDogJ2ZhbHNlJztcbiAgICBjb25zdCBlbWl0Q2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygoZm9ybWF0dGVkLCBldmVudCkgPT4ge1xuICAgICAgICBjb25zdCByYXcgPSBleHRyYWN0UmF3KGZvcm1hdHRlZCwgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICBvbkNoYW5nZSA9PT0gbnVsbCB8fCBvbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DaGFuZ2UodW5tYXNrID8gcmF3IDogZm9ybWF0dGVkLCBldmVudCk7XG4gICAgICAgIGlmIChyYXcubGVuZ3RoID09PSB0b3RhbFNsb3RzKSB7XG4gICAgICAgICAgICBvbkNvbXBsZXRlID09PSBudWxsIHx8IG9uQ29tcGxldGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ29tcGxldGUodW5tYXNrID8gcmF3IDogZm9ybWF0dGVkKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKGlzQ29tcG9zaW5nLmN1cnJlbnQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0O1xuICAgICAgICBjb25zdCBjdXJzb3JQb3MgPSAoX2EgPSBpbnB1dC5zZWxlY3Rpb25TdGFydCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogMDtcbiAgICAgICAgY29uc3QgaW5wdXRWYWx1ZSA9IGlucHV0LnZhbHVlO1xuICAgICAgICAvLyBFeHRyYWN0IG9ubHkgdmFsaWQgY2hhcmFjdGVycyBmcm9tIHRoZSByYXcgaW5wdXRcbiAgICAgICAgY29uc3QgcmF3ID0gZXh0cmFjdFJhdyhpbnB1dFZhbHVlLCBtYXNrLCBzbG90Q2hhcilcbiAgICAgICAgICAgICsgaW5wdXRWYWx1ZS5zbGljZShjdXJzb3JQb3MgPiAwID8gY3Vyc29yUG9zIC0gMSA6IDAsIGN1cnNvclBvcykucmVwbGFjZSgvW15cXGRhLXpBLVpdL2csICcnKTtcbiAgICAgICAgLy8gUmUtZXh0cmFjdCBmcm9tIHRoZSBmdWxsIGlucHV0IHRvIGdldCBjbGVhbiByYXdcbiAgICAgICAgbGV0IGNsZWFuUmF3ID0gJyc7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXRWYWx1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgY2ggPSBpbnB1dFZhbHVlW2ldO1xuICAgICAgICAgICAgaWYgKC9bXFxkYS16QS1aXS8udGVzdChjaCkpXG4gICAgICAgICAgICAgICAgY2xlYW5SYXcgKz0gY2g7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gYXBwbHlNYXNrKGNsZWFuUmF3LCBtYXNrLCBzbG90Q2hhcik7XG4gICAgICAgIHNldElubmVyVmFsdWUoZm9ybWF0dGVkKTtcbiAgICAgICAgZW1pdENoYW5nZShmb3JtYXR0ZWQsIGV2ZW50KTtcbiAgICAgICAgLy8gUG9zaXRpb24gY3Vyc29yIGFmdGVyIHRoZSBsYXN0IGZpbGxlZCBzbG90XG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0UG9zID0gZmluZEZpcnN0U2xvdChmb3JtYXR0ZWQsIHNsb3RDaGFyKTtcbiAgICAgICAgICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKG5leHRQb3MsIG5leHRQb3MpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVLZXlEb3duID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgICAgIGNvbnN0IGlucHV0ID0gaW5wdXRSZWYuY3VycmVudDtcbiAgICAgICAgaWYgKCFpbnB1dClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0JhY2tzcGFjZScpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBjb25zdCBwb3MgPSAoX2EgPSBpbnB1dC5zZWxlY3Rpb25TdGFydCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogMDtcbiAgICAgICAgICAgIGNvbnN0IHNlbEVuZCA9IChfYiA9IGlucHV0LnNlbGVjdGlvbkVuZCkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogMDtcbiAgICAgICAgICAgIGlmIChwb3MgPT09IDAgJiYgc2VsRW5kID09PSAwKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRSYXcgPSBleHRyYWN0UmF3KGlubmVyVmFsdWUsIG1hc2ssIHNsb3RDaGFyKTtcbiAgICAgICAgICAgIGlmIChwb3MgIT09IHNlbEVuZCkge1xuICAgICAgICAgICAgICAgIC8vIFNlbGVjdGlvbjogcmVtb3ZlIGFsbCByYXcgY2hhcnMgaW4gdGhlIHNlbGVjdGVkIHJhbmdlXG4gICAgICAgICAgICAgICAgbGV0IG5ld1JhdyA9ICcnO1xuICAgICAgICAgICAgICAgIGxldCByYXdJZHggPSAwO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFzay5sZW5ndGggJiYgcmF3SWR4IDwgY3VycmVudFJhdy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNNYXNrVG9rZW4obWFza1tpXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpIDwgcG9zIHx8IGkgPj0gc2VsRW5kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3UmF3ICs9IGN1cnJlbnRSYXdbcmF3SWR4XTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJhd0lkeCsrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGFwcGx5TWFzayhuZXdSYXcsIG1hc2ssIHNsb3RDaGFyKTtcbiAgICAgICAgICAgICAgICBzZXRJbm5lclZhbHVlKGZvcm1hdHRlZCk7XG4gICAgICAgICAgICAgICAgZW1pdENoYW5nZShmb3JtYXR0ZWQsIHsgdGFyZ2V0OiBpbnB1dCB9KTtcbiAgICAgICAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXh0UG9zID0gZmluZE5leHRTbG90KG1hc2ssIGZvcm1hdHRlZCwgc2xvdENoYXIsIHBvcyk7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKG5leHRQb3MsIG5leHRQb3MpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gU2luZ2xlIGJhY2tzcGFjZTogZmluZCBwcmV2IHRva2VuIHBvc2l0aW9uIGFuZCByZW1vdmUgaXRcbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0UG9zID0gcG9zIC0gMTtcbiAgICAgICAgICAgICAgICB3aGlsZSAodGFyZ2V0UG9zID49IDAgJiYgIWlzTWFza1Rva2VuKG1hc2tbdGFyZ2V0UG9zXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0UG9zLS07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0YXJnZXRQb3MgPCAwKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgbGV0IG5ld1JhdyA9ICcnO1xuICAgICAgICAgICAgICAgIGxldCByYXdJZHggPSAwO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFzay5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNNYXNrVG9rZW4obWFza1tpXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpICE9PSB0YXJnZXRQb3MgJiYgcmF3SWR4IDwgY3VycmVudFJhdy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdSYXcgKz0gY3VycmVudFJhd1tyYXdJZHhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmF3SWR4Kys7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gYXBwbHlNYXNrKG5ld1JhdywgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICAgICAgICAgIHNldElubmVyVmFsdWUoZm9ybWF0dGVkKTtcbiAgICAgICAgICAgICAgICBlbWl0Q2hhbmdlKGZvcm1hdHRlZCwgeyB0YXJnZXQ6IGlucHV0IH0pO1xuICAgICAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKHRhcmdldFBvcywgdGFyZ2V0UG9zKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRGVsZXRlJykge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGNvbnN0IHBvcyA9IChfYyA9IGlucHV0LnNlbGVjdGlvblN0YXJ0KSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiAwO1xuICAgICAgICAgICAgbGV0IHRhcmdldFBvcyA9IHBvcztcbiAgICAgICAgICAgIHdoaWxlICh0YXJnZXRQb3MgPCBtYXNrLmxlbmd0aCAmJiAhaXNNYXNrVG9rZW4obWFza1t0YXJnZXRQb3NdKSkge1xuICAgICAgICAgICAgICAgIHRhcmdldFBvcysrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRhcmdldFBvcyA+PSBtYXNrLmxlbmd0aClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50UmF3ID0gZXh0cmFjdFJhdyhpbm5lclZhbHVlLCBtYXNrLCBzbG90Q2hhcik7XG4gICAgICAgICAgICBsZXQgbmV3UmF3ID0gJyc7XG4gICAgICAgICAgICBsZXQgcmF3SWR4ID0gMDtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFzay5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGlmIChpc01hc2tUb2tlbihtYXNrW2ldKSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaSAhPT0gdGFyZ2V0UG9zICYmIHJhd0lkeCA8IGN1cnJlbnRSYXcubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdSYXcgKz0gY3VycmVudFJhd1tyYXdJZHhdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJhd0lkeCsrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGFwcGx5TWFzayhuZXdSYXcsIG1hc2ssIHNsb3RDaGFyKTtcbiAgICAgICAgICAgIHNldElubmVyVmFsdWUoZm9ybWF0dGVkKTtcbiAgICAgICAgICAgIGVtaXRDaGFuZ2UoZm9ybWF0dGVkLCB7IHRhcmdldDogaW5wdXQgfSk7XG4gICAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKHBvcywgcG9zKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIG9uS2V5RG93biA9PT0gbnVsbCB8fCBvbktleURvd24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uS2V5RG93bihldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlRm9jdXMgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICAvLyBPbiBmb2N1cywgaWYgZW1wdHkgc2hvdyB0aGUgbWFzayBwbGFjZWhvbGRlclxuICAgICAgICBpZiAoIWlubmVyVmFsdWUgfHwgZXh0cmFjdFJhdyhpbm5lclZhbHVlLCBtYXNrLCBzbG90Q2hhcikubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWQgPSBhcHBseU1hc2soJycsIG1hc2ssIHNsb3RDaGFyKTtcbiAgICAgICAgICAgIHNldElubmVyVmFsdWUoZm9ybWF0dGVkKTtcbiAgICAgICAgfVxuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5wdXQgPSBpbnB1dFJlZi5jdXJyZW50O1xuICAgICAgICAgICAgaWYgKGlucHV0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9zID0gZmluZEZpcnN0U2xvdChpbnB1dC52YWx1ZSwgc2xvdENoYXIpO1xuICAgICAgICAgICAgICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKHBvcywgcG9zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIG9uRm9jdXMgPT09IG51bGwgfHwgb25Gb2N1cyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25Gb2N1cyhldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlQmx1ciA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHJhdyA9IGV4dHJhY3RSYXcoaW5uZXJWYWx1ZSwgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICBpZiAoYXV0b0NsZWFyICYmIHJhdy5sZW5ndGggPiAwICYmIHJhdy5sZW5ndGggPCB0b3RhbFNsb3RzKSB7XG4gICAgICAgICAgICBjb25zdCBlbXB0eSA9IGFwcGx5TWFzaygnJywgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICAgICAgc2V0SW5uZXJWYWx1ZShlbXB0eSk7XG4gICAgICAgICAgICBlbWl0Q2hhbmdlKGVtcHR5LCB7IHRhcmdldDogZXZlbnQudGFyZ2V0IH0pO1xuICAgICAgICB9XG4gICAgICAgIC8vIElmIGNvbXBsZXRlbHkgZW1wdHksIGNsZWFyIHRoZSBmb3JtYXR0ZWQgbWFza1xuICAgICAgICBpZiAocmF3Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgc2V0SW5uZXJWYWx1ZSgnJyk7XG4gICAgICAgIH1cbiAgICAgICAgb25CbHVyID09PSBudWxsIHx8IG9uQmx1ciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25CbHVyKGV2ZW50KTtcbiAgICB9KTtcbiAgICByZXR1cm4gKF9qc3goRmllbGRTaGVsbCwgeyBjbGFzc05hbWU6IGNsYXNzTmFtZSwgbGFiZWxDbGFzc05hbWU6IGxhYmVsQ2xhc3NOYW1lLCBwcmVmaXhDbHM6IHByZWZpeENscywgc2l6ZTogc2l6ZSwgc3RhdHVzOiBzdGF0dXMsIGRpc2FibGVkOiBpc0Rpc2FibGVkLCBsYWJlbDogbGFiZWwsIGluZm86IGluZm8sIHRpcDogdGlwLCBmZWVkYmFjazogZmVlZGJhY2ssIGZlZWRiYWNrSWNvbjogZmVlZGJhY2tJY29uLCByZXF1aXJlZDogcmVxdWlyZWQsIGlucHV0SWQ6IGlucHV0SWQsIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29udHJvbCcsIGpvaW5DbHMoaXNEaXNhYmxlZCAmJiBjbGFzc2VzKCdjb250cm9sLWRpc2FibGVkJykpKSwgY2hpbGRyZW46IFtwcmVmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3ByZWZpeCcpLCBjaGlsZHJlbjogcHJlZml4IH0pLCBfanN4KFwiaW5wdXRcIiwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyByZWY6IHN5bmNSZWYsIGlkOiBpbnB1dElkLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2ZpZWxkJyksIGRpc2FibGVkOiBpc0Rpc2FibGVkLCB2YWx1ZTogaW5uZXJWYWx1ZSwgcGxhY2Vob2xkZXI6IChfYSA9IHJlc3QucGxhY2Vob2xkZXIpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGFwcGx5TWFzaygnJywgbWFzaywgc2xvdENoYXIpLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBvbktleURvd246IGhhbmRsZUtleURvd24sIG9uRm9jdXM6IGhhbmRsZUZvY3VzLCBvbkJsdXI6IGhhbmRsZUJsdXIsIG9uQ29tcG9zaXRpb25TdGFydDogKCkgPT4geyBpc0NvbXBvc2luZy5jdXJyZW50ID0gdHJ1ZTsgfSwgb25Db21wb3NpdGlvbkVuZDogKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzQ29tcG9zaW5nLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZShlKTtcbiAgICAgICAgICAgICAgICAgICAgfSwgXCJhcmlhLXJlcXVpcmVkXCI6IGFyaWFSZXF1aXJlZCwgXCJhcmlhLWludmFsaWRcIjogYXJpYUludmFsaWQgfSkpLCBzdWZmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3N1ZmZpeCcpLCBjaGlsZHJlbjogc3VmZml4IH0pXSB9KSB9KSk7XG59O1xuSW5wdXRNYXNrLmRpc3BsYXlOYW1lID0gJ0lucHV0TWFzayc7XG5jb25zdCBNZW1vaXplZElucHV0TWFzayA9IG1lbW8oSW5wdXRNYXNrKTtcbk1lbW9pemVkSW5wdXRNYXNrLmRpc3BsYXlOYW1lID0gJ0lucHV0TWFzayc7XG5leHBvcnQgZGVmYXVsdCBNZW1vaXplZElucHV0TWFzazsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -19,6 +19,11 @@ export interface InputBaseProps {
|
|
|
19
19
|
suffix?: ReactNode;
|
|
20
20
|
allowClear?: boolean;
|
|
21
21
|
loading?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Render a live character counter in the suffix area — `x/max` when
|
|
24
|
+
* `maxLength` is set, plain `x` otherwise.
|
|
25
|
+
*/
|
|
26
|
+
showCount?: boolean;
|
|
22
27
|
}
|
|
23
28
|
export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'prefix' | 'size' | 'onChange'>, InputBaseProps {
|
|
24
29
|
ref?: RefObject<HTMLInputElement | null>;
|