@1money/component-ui 0.0.79 → 0.0.81
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/Filter/Account/Account.js +72 -210
- package/es/business/Filter/Account/interface.d.ts +3 -2
- package/es/business/Filter/Account/style/Account.css +2 -42
- package/es/business/Filter/Account/style/css.js +3 -1
- package/es/business/Filter/Account/style/index.d.ts +2 -0
- package/es/business/Filter/Account/style/index.js +3 -1
- package/es/business/Filter/Asset/Asset.js +67 -210
- package/es/business/Filter/Asset/interface.d.ts +3 -2
- package/es/business/Filter/Asset/style/Asset.css +3 -44
- package/es/business/Filter/Asset/style/css.js +2 -1
- package/es/business/Filter/Asset/style/index.d.ts +1 -0
- package/es/business/Filter/Asset/style/index.js +2 -1
- package/es/business/Filter/DateRange/DateRange.js +12 -8
- package/es/business/Filter/DateRange/interface.d.ts +0 -5
- package/es/business/Filter/DateRange/style/DateRange.css +10 -5
- package/es/business/Filter/Option/Option.js +51 -194
- package/es/business/Filter/Option/interface.d.ts +3 -2
- package/es/business/Filter/Option/style/Option.css +1 -63
- package/es/business/Filter/Option/style/css.js +2 -1
- package/es/business/Filter/Option/style/index.d.ts +1 -0
- package/es/business/Filter/Option/style/index.js +2 -1
- package/es/components/Filter/Filter.d.ts +2 -0
- package/es/components/Filter/Filter.js +266 -0
- package/es/components/Filter/index.d.ts +4 -0
- package/es/components/Filter/index.js +5 -0
- package/es/components/Filter/interface.d.ts +67 -0
- package/es/components/Filter/interface.js +2 -0
- package/es/components/Filter/style/Filter.css +95 -0
- package/es/components/Filter/style/css.js +8 -0
- package/es/components/Filter/style/index.d.ts +7 -0
- package/es/components/Filter/style/index.js +8 -0
- package/es/components/Input/Amount/Amount.js +7 -4
- package/es/components/Input/Input/Input.css +13 -0
- package/es/components/Input/Search/Search.js +3 -2
- package/es/components/Input/constants.d.ts +1 -1
- package/es/components/Input/constants.js +4 -3
- package/es/components/Pagination/constants.js +3 -2
- package/es/components/Pagination/style/Pagination.css +10 -8
- package/es/components/Select/Select.js +2 -2
- package/es/components/Select/SelectCustom.js +2 -2
- package/es/components/Select/SelectSearchControl.js +2 -2
- package/es/components/Select/constants.js +3 -2
- package/es/components/Select/interface.d.ts +1 -1
- package/es/components/Select/interface.js +2 -2
- package/es/components/Select/style/Select.css +13 -6
- package/es/components/Select/utils.js +8 -3
- package/es/index.css +1 -1
- package/es/index.d.ts +2 -0
- package/es/index.js +2 -1
- package/lib/business/Filter/Account/Account.js +70 -209
- package/lib/business/Filter/Account/interface.d.ts +3 -2
- package/lib/business/Filter/Account/style/Account.css +2 -42
- package/lib/business/Filter/Account/style/css.js +3 -1
- package/lib/business/Filter/Account/style/index.d.ts +2 -0
- package/lib/business/Filter/Account/style/index.js +3 -1
- package/lib/business/Filter/Asset/Asset.js +65 -209
- package/lib/business/Filter/Asset/interface.d.ts +3 -2
- package/lib/business/Filter/Asset/style/Asset.css +3 -44
- package/lib/business/Filter/Asset/style/css.js +2 -1
- package/lib/business/Filter/Asset/style/index.d.ts +1 -0
- package/lib/business/Filter/Asset/style/index.js +2 -1
- package/lib/business/Filter/DateRange/DateRange.js +12 -8
- package/lib/business/Filter/DateRange/interface.d.ts +0 -5
- package/lib/business/Filter/DateRange/style/DateRange.css +10 -5
- package/lib/business/Filter/Option/Option.js +49 -193
- package/lib/business/Filter/Option/interface.d.ts +3 -2
- package/lib/business/Filter/Option/style/Option.css +1 -63
- package/lib/business/Filter/Option/style/css.js +2 -1
- package/lib/business/Filter/Option/style/index.d.ts +1 -0
- package/lib/business/Filter/Option/style/index.js +2 -1
- package/lib/components/Filter/Filter.d.ts +2 -0
- package/lib/components/Filter/Filter.js +273 -0
- package/lib/components/Filter/index.d.ts +4 -0
- package/lib/components/Filter/index.js +30 -0
- package/lib/components/Filter/interface.d.ts +67 -0
- package/lib/components/Filter/interface.js +6 -0
- package/lib/components/Filter/style/Filter.css +95 -0
- package/lib/components/Filter/style/css.js +10 -0
- package/lib/components/Filter/style/index.d.ts +7 -0
- package/lib/components/Filter/style/index.js +10 -0
- package/lib/components/Input/Amount/Amount.js +7 -4
- package/lib/components/Input/Input/Input.css +13 -0
- package/lib/components/Input/Search/Search.js +3 -2
- package/lib/components/Input/constants.d.ts +1 -1
- package/lib/components/Input/constants.js +4 -3
- package/lib/components/Pagination/constants.js +3 -2
- package/lib/components/Pagination/style/Pagination.css +10 -8
- package/lib/components/Select/Select.js +2 -2
- package/lib/components/Select/SelectCustom.js +2 -2
- package/lib/components/Select/SelectSearchControl.js +2 -2
- package/lib/components/Select/constants.js +3 -2
- package/lib/components/Select/interface.d.ts +1 -1
- package/lib/components/Select/interface.js +2 -2
- package/lib/components/Select/style/Select.css +13 -6
- package/lib/components/Select/utils.js +8 -3
- package/lib/index.css +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +8 -1
- package/package.json +6 -1
- package/scripts/mcp-server/examples.generated.json +42 -24
- package/scripts/mcp-server/index.generated.json +72 -4
|
@@ -67,6 +67,12 @@
|
|
|
67
67
|
padding: var(--om-spacing-300, 12px) var(--om-spacing-400, 16px);
|
|
68
68
|
border-radius: var(--om-radius-200, 8px);
|
|
69
69
|
}
|
|
70
|
+
.om-component-ui-select-trigger-extra-small {
|
|
71
|
+
min-height: var(--om-component-height-sm, 32px);
|
|
72
|
+
height: var(--om-component-height-sm, 32px);
|
|
73
|
+
padding: var(--om-spacing-200, 8px) var(--om-spacing-300, 12px);
|
|
74
|
+
border-radius: var(--om-radius-200, 8px);
|
|
75
|
+
}
|
|
70
76
|
.om-component-ui-select-trigger-multiple-filled {
|
|
71
77
|
height: auto;
|
|
72
78
|
}
|
|
@@ -159,7 +165,7 @@
|
|
|
159
165
|
letter-spacing: var(--om-body-lg-letter-spacing);
|
|
160
166
|
font-weight: var(--om-body-lg-strong-font-weight);
|
|
161
167
|
}
|
|
162
|
-
.om-component-ui-select-value-small {
|
|
168
|
+
.om-component-ui-select-value-small, .om-component-ui-select-value-extra-small {
|
|
163
169
|
font-size: var(--om-body-md-font-size);
|
|
164
170
|
font-family: var(--om-body-md-font-family);
|
|
165
171
|
line-height: var(--om-body-md-line-height);
|
|
@@ -174,7 +180,7 @@
|
|
|
174
180
|
letter-spacing: var(--om-body-lg-letter-spacing);
|
|
175
181
|
font-weight: var(--om-body-lg-font-weight);
|
|
176
182
|
}
|
|
177
|
-
.om-component-ui-select-placeholder-small {
|
|
183
|
+
.om-component-ui-select-placeholder-small, .om-component-ui-select-placeholder-extra-small {
|
|
178
184
|
font-size: var(--om-body-md-font-size);
|
|
179
185
|
font-family: var(--om-body-md-font-family);
|
|
180
186
|
line-height: var(--om-body-md-line-height);
|
|
@@ -313,7 +319,7 @@
|
|
|
313
319
|
padding: var(--om-spacing-300, 12px) var(--om-spacing-400, 16px);
|
|
314
320
|
border-radius: var(--om-radius-300, 12px);
|
|
315
321
|
}
|
|
316
|
-
.om-component-ui-select-search-small {
|
|
322
|
+
.om-component-ui-select-search-small, .om-component-ui-select-search-extra-small {
|
|
317
323
|
min-height: var(--om-component-height-lg, 44px);
|
|
318
324
|
padding: var(--om-spacing-200, 8px) var(--om-spacing-300, 12px);
|
|
319
325
|
border-radius: var(--om-radius-200, 8px);
|
|
@@ -347,7 +353,7 @@
|
|
|
347
353
|
letter-spacing: var(--om-body-lg-letter-spacing);
|
|
348
354
|
font-weight: var(--om-body-lg-font-weight);
|
|
349
355
|
}
|
|
350
|
-
.om-component-ui-select-search-input-small {
|
|
356
|
+
.om-component-ui-select-search-input-small, .om-component-ui-select-search-input-extra-small {
|
|
351
357
|
font-size: var(--om-body-md-font-size);
|
|
352
358
|
font-family: var(--om-body-md-font-family);
|
|
353
359
|
line-height: var(--om-body-md-line-height);
|
|
@@ -383,6 +389,7 @@
|
|
|
383
389
|
.om-component-ui-select-group {
|
|
384
390
|
display: flex;
|
|
385
391
|
flex-direction: column;
|
|
392
|
+
gap: var(--om-spacing-100, 4px);
|
|
386
393
|
width: 100%;
|
|
387
394
|
}
|
|
388
395
|
.om-component-ui-select-group-label {
|
|
@@ -398,7 +405,7 @@
|
|
|
398
405
|
align-items: center;
|
|
399
406
|
width: 100%;
|
|
400
407
|
min-height: 40px;
|
|
401
|
-
margin:
|
|
408
|
+
margin: 0;
|
|
402
409
|
padding: var(--om-spacing-200, 8px) var(--om-spacing-200, 8px);
|
|
403
410
|
color: var(--om-text-default, #131313);
|
|
404
411
|
text-align: left;
|
|
@@ -465,7 +472,7 @@
|
|
|
465
472
|
font-weight: var(--om-body-lg-font-weight);
|
|
466
473
|
color: var(--om-text-default-tertiary, #646465);
|
|
467
474
|
}
|
|
468
|
-
.om-component-ui-select-frameless .om-component-ui-select-value-small, .om-component-ui-select-frameless .om-component-ui-select-placeholder-small {
|
|
475
|
+
.om-component-ui-select-frameless .om-component-ui-select-value-small, .om-component-ui-select-frameless .om-component-ui-select-placeholder-small, .om-component-ui-select-frameless .om-component-ui-select-value-extra-small, .om-component-ui-select-frameless .om-component-ui-select-placeholder-extra-small {
|
|
469
476
|
font-size: var(--om-body-md-font-size);
|
|
470
477
|
font-family: var(--om-body-md-font-family);
|
|
471
478
|
line-height: var(--om-body-md-line-height);
|
|
@@ -22,11 +22,16 @@ exports.removeMultipleValue = removeMultipleValue;
|
|
|
22
22
|
exports.toggleMultipleValue = toggleMultipleValue;
|
|
23
23
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
24
24
|
function normalizeSize(size) {
|
|
25
|
-
|
|
25
|
+
if (size === 'small' || size === 'extra-small') return size;
|
|
26
|
+
return 'large';
|
|
26
27
|
}
|
|
28
|
+
// `extra-small` is a 32px trigger but keeps the `small` body-md (14px) value
|
|
29
|
+
// font: the only consumers (Filter/DateRange) render the trigger value at 14px,
|
|
30
|
+
// so matching it here makes the 32px size a behavior-preserving drop-in.
|
|
27
31
|
var FONT_SIZE_BY_SELECT_SIZE = {
|
|
28
32
|
large: 'lg',
|
|
29
|
-
small: 'md'
|
|
33
|
+
small: 'md',
|
|
34
|
+
'extra-small': 'md'
|
|
30
35
|
};
|
|
31
36
|
function getFontSize(size) {
|
|
32
37
|
return FONT_SIZE_BY_SELECT_SIZE[size];
|
|
@@ -166,4 +171,4 @@ function removeMultipleValue(currentValue, optionValue) {
|
|
|
166
171
|
function isOptionSelected(value, multiple, optionValue) {
|
|
167
172
|
return isSelectMultipleValue(value, multiple) ? value.includes(optionValue) : value === optionValue;
|
|
168
173
|
}
|
|
169
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L3V0aWxzLnRzIiwiY29tcG9uZW50cy9TZWxlY3QvdXRpbHMuanMiXSwibmFtZXMiOlsibm9ybWFsaXplU2l6ZSIsInNpemUiLCJGT05UX1NJWkVfQllfU0VMRUNUX1NJWkUiLCJsYXJnZSIsInNtYWxsIiwiZ2V0Rm9udFNpemUiLCJleHRyYWN0T3B0aW9uVGV4dCIsIm9wdGlvbiIsImxhYmVsIiwiU3RyaW5nIiwidmFsdWUiLCJleHRyYWN0Tm9kZVRleHQiLCJpc1NlbGVjdE11bHRpcGxlVmFsdWUiLCJtdWx0aXBsZSIsIkFycmF5IiwiaXNBcnJheSIsImlzU2VsZWN0T3B0aW9uR3JvdXAiLCJvcHRpb25zIiwiZmluZE9wdGlvbkJ5VmFsdWUiLCJfYSIsImZpbmQiLCJnZXRTZWxlY3RlZE9wdGlvbnMiLCJtYXAiLCJpdGVtIiwiZmlsdGVyIiwidW5kZWZpbmVkIiwibWF0Y2hlZCIsImdldE9wdGlvblRhZ0xhYmVsIiwibm9ybWFsaXplT3B0aW9uR3JvdXBzIiwiZ3JvdXBzIiwidW5ncm91cGVkT3B0aW9ucyIsInVuZ3JvdXBlZEdyb3VwSW5kZXgiLCJwdXNoVW5ncm91cGVkT3B0aW9ucyIsImxlbmd0aCIsInB1c2giLCJrZXkiLCJjb25jYXQiLCJmb3JFYWNoIiwiaW5kZXgiLCJmbGF0dGVuT3B0aW9uR3JvdXBzIiwiZmxhdE1hcCIsImdyb3VwIiwiZ2V0T3B0aW9uU2VhcmNoVGV4dCIsImRlc2NyaXB0aW9uIiwic2VhcmNoVGV4dCIsIkJvb2xlYW4iLCJqb2luIiwidHJpbSIsIm1hdGNoZXNPcHRpb25TZWFyY2giLCJzZWFyY2hWYWx1ZSIsImZpbHRlck9wdGlvbiIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJmaWx0ZXJPcHRpb25Hcm91cHMiLCJub3JtYWxpemVkU2VhcmNoVmFsdWUiLCJyZWR1Y2UiLCJyZXN1bHQiLCJncm91cExhYmVsVGV4dCIsIm1hdGNoZWRPcHRpb25zIiwiT2JqZWN0IiwiYXNzaWduIiwiZ2V0TXVsdGlwbGVWYWx1ZSIsImdldE9wdGlvbnNCeVZhbHVlcyIsInZhbHVlcyIsInRvZ2dsZU11bHRpcGxlVmFsdWUiLCJjdXJyZW50VmFsdWUiLCJvcHRpb25WYWx1ZSIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJyZW1vdmVNdWx0aXBsZVZhbHVlIiwiaXNPcHRpb25TZWxlY3RlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQk0sU0FBVUEsYUFBYUEsQ0FBQ0MsSUFBMEIsRUFBQTtFQUN0RCxPQUFPQSxJQUFJLEtBQUssT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPO0FBQzdDO0FBRUEsSUFBTUMsd0JBQXdCLEdBQTJDO0VBQ3ZFQyxLQUFLLEVBQUUsSUFBSTtFQUNYQyxLQUFLLEVBQUU7QUNuQlQsQ0RvQkM7QUFFSyxTQUFVQyxXQUFXQSxDQUFDSixJQUFnQixFQUFBO0VBQzFDLE9BQU9DLHdCQUF3QixDQUFDRCxJQUFJLENBQUM7QUFDdkM7QUFFTSxTQUFVSyxpQkFBaUJBLENBQUNDLE1BQW9CLEVBQUE7RUFDcEQsSUFBSSxPQUFPQSxNQUFNLENBQUNDLEtBQUssS0FBSyxRQUFRLElBQUksT0FBT0QsTUFBTSxDQUFDQyxLQUFLLEtBQUssUUFBUSxFQUFFO0lBQ3hFLE9BQU9DLE1BQU0sQ0FBQ0YsTUFBTSxDQUFDQyxLQUFLLENBQUM7RUFDN0I7RUFFQSxPQUFPQyxNQUFNLENBQUNGLE1BQU0sQ0FBQ0csS0FBSyxDQUFDO0FBQzdCO0FBRUEsU0FBU0MsZUFBZUEsQ0FBQ0QsS0FBMkQsRUFBQTtFQUNsRixJQUFJLE9BQU9BLEtBQUssS0FBSyxRQUFRLElBQUksT0FBT0EsS0FBSyxLQUFLLFFBQVEsRUFBRTtJQUMxRCxPQUFPRCxNQUFNLENBQUNDLEtBQUssQ0FBQztFQUN0QjtFQUVBLE9BQU8sRUFBRTtBQUNYO0FBRU0sU0FBVUUscUJBQXFCQSxDQUNuQ0YsS0FBa0IsRUFDbEJHLFFBQWlCLEVBQUE7RUFFakIsT0FBT0EsUUFBUSxJQUFJQyxLQUFL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QUFPLENBQUNPLE1BQU0sQ0FBQyxVQUFDakIsTUFBTTtJQUFBLE9BQUt3RCxNQUFNLENBQUNYLFFBQVEsQ0FBQzdDLE1BQU0sQ0FBQ0csS0FBSyxDQUFDO0VBQUEsRUFBQztBQUNsRTtBQUVNLFNBQVVzRCxtQkFBbUJBLENBQ2pDQyxZQUF5QixFQUN6QkMsV0FBOEIsRUFBQTtFQUU5QixJQUFNSCxNQUFNLEdBQUdGLGdCQUFnQixDQUFDSSxZQUFZLENBQUM7RUFFN0MsSUFBSUYsTUFBTSxDQUFDWCxRQUFRLENBQUNjLFdBQVcsQ0FBQyxFQUFFO0lBQ2hDLE9BQU9ILE1BQU0sQ0FBQ3ZDLE1BQU0sQ0FBQyxVQUFDRCxJQUFJO01BQUEsT0FBS0EsSUFBSSxLQUFLMkMsV0FBVztJQUFBLEVBQUM7RUFDdEQ7RUFFQSxVQUFBOUIsTUFBQSxLQUFBK0IsbUJBQUEsYUFBV0osTUFBTSxJQUFFRyxXQUFXO0FBQ2hDO0FBRU0sU0FBVUUsbUJBQW1CQSxDQUNqQ0gsWUFBeUIsRUFDekJDLFdBQThCLEVBQUE7RUFFOUIsT0FBT0wsZ0JBQWdCLENBQUNJLFlBQVksQ0FBQyxDQUFDekMsTUFBTSxDQUFDLFVBQUNELElBQUk7SUFBQSxPQUFLQSxJQUFJLEtBQUsyQyxXQUFXO0VBQUEsRUFBQztBQUM5RTtBQUVNLFNBQVVHLGdCQUFnQkEsQ0FDOUIzRCxLQUFrQixFQUNsQkcsUUFBaUIsRUFDakJxRCxXQUE4QixFQUFBO0VBRTlCLE9BQU90RCxxQkFBcUIsQ0FBQ0YsS0FBSyxFQUFFRyxRQUFRLENBQUMsR0FDekNILEtBQUssQ0FBQzBDLFFBQVEsQ0FBQ2MsV0FBVyxDQUFDLEdBQzNCeEQsS0FBSyxLQUFLd0QsV0FBVztBQUMzQiIsImZpbGUiOiJjb21wb25lbnRzL1NlbGVjdC91dGlscy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZVNpemUoc2l6ZSkge1xuICAgIHJldHVybiBzaXplID09PSAnc21hbGwnID8gJ3NtYWxsJyA6ICdsYXJnZSc7XG59XG5jb25zdCBGT05UX1NJWkVfQllfU0VMRUNUX1NJWkUgPSB7XG4gICAgbGFyZ2U6ICdsZycsXG4gICAgc21hbGw6ICdtZCcsXG59O1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZvbnRTaXplKHNpemUpIHtcbiAgICByZXR1cm4gRk9OVF9TSVpFX0JZX1NFTEVDVF9TSVpFW3NpemVdO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RPcHRpb25UZXh0KG9wdGlvbikge1xuICAgIGlmICh0eXBlb2Ygb3B0aW9uLmxhYmVsID09PSAnc3RyaW5nJyB8fCB0eXBlb2Ygb3B0aW9uLmxhYmVsID09PSAnbnVtYmVyJykge1xuICAgICAgICByZXR1cm4gU3RyaW5nKG9wdGlvbi5sYWJlbCk7XG4gICAgfVxuICAgIHJldHVybiBTdHJpbmcob3B0aW9uLnZhbHVlKTtcbn1cbmZ1bmN0aW9uIGV4dHJhY3ROb2RlVGV4dCh2YWx1ZSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiAnJztcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1NlbGVjdE11bHRpcGxlVmFsdWUodmFsdWUsIG11bHRpcGxlKSB7XG4gICAgcmV0dXJuIG11bHRpcGxlICYmIEFycmF5LmlzQXJyYXkodmFsdWUpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzU2VsZWN0T3B0aW9uR3JvdXAob3B0aW9uKSB7XG4gICAgcmV0dXJuICdvcHRpb25zJyBpbiBvcHRpb24gJiYgQXJyYXkuaXNBcnJheShvcHRpb24ub3B0aW9ucyk7XG59XG5mdW5jdGlvbiBmaW5kT3B0aW9uQnlWYWx1ZShvcHRpb25zLCB2YWx1ZSkge1xuICAgIHZhciBfYTtcbiAgICByZXR1cm4gKF9hID0gb3B0aW9ucy5maW5kKChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBudWxsO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldFNlbGVjdGVkT3B0aW9ucyhvcHRpb25zLCB2YWx1ZSwgbXVsdGlwbGUpIHtcbiAgICBpZiAoaXNTZWxlY3RNdWx0aXBsZVZhbHVlKHZhbHVlLCBtdWx0aXBsZSkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgICAgICAubWFwKChpdGVtKSA9PiBmaW5kT3B0aW9uQnlWYWx1ZShvcHRpb25zLCBpdGVtKSlcbiAgICAgICAgICAgIC5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uICE9PSBudWxsKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09ICcnKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycgJiYgdHlwZW9mIHZhbHVlICE9PSAnbnVtYmVyJykge1xuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGNvbnN0IG1hdGNoZWQgPSBmaW5kT3B0aW9uQnlWYWx1ZShvcHRpb25zLCB2YWx1ZSk7XG4gICAgcmV0dXJuIG1hdGNoZWQgPyBbbWF0Y2hlZF0gOiBbXTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25UYWdMYWJlbChvcHRpb24pIHtcbiAgICByZXR1cm4gZXh0cmFjdE9wdGlvblRleHQob3B0aW9uKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVPcHRpb25Hcm91cHMob3B0aW9ucykge1xuICAgIGNvbnN0IGdyb3VwcyA9IFtdO1xuICAgIGxldCB1bmdyb3VwZWRPcHRpb25zID0gW107XG4gICAgbGV0IHVuZ3JvdXBlZEdyb3VwSW5kZXggPSAwO1xuICAgIGNvbnN0IHB1c2hVbmdyb3VwZWRPcHRpb25zID0gKCkgPT4ge1xuICAgICAgICBpZiAodW5ncm91cGVkT3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBncm91cHMucHVzaCh7XG4gICAgICAgICAgICBrZXk6IGB1bmdyb3VwZWQtJHt1bmdyb3VwZWRHcm91cEluZGV4fWAsXG4gICAgICAgICAgICBvcHRpb25zOiB1bmdyb3VwZWRPcHRpb25zLFxuICAgICAgICB9KTtcbiAgICAgICAgdW5ncm91cGVkT3B0aW9ucyA9IFtdO1xuICAgICAgICB1bmdyb3VwZWRHcm91cEluZGV4ICs9IDE7XG4gICAgfTtcbiAgICBvcHRpb25zLmZvckVhY2goKG9wdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgICAgaWYgKGlzU2VsZWN0T3B0aW9uR3JvdXAob3B0aW9uKSkge1xuICAgICAgICAgICAgcHVzaFVuZ3JvdXBlZE9wdGlvbnMoKTtcbiAgICAgICAgICAgIGdyb3Vwcy5wdXNoKHtcbiAgICAgICAgICAgICAgICBrZXk6IG9wdGlvbi5rZXkgPyBTdHJpbmcob3B0aW9uLmtleSkgOiBgZ3JvdXAtJHtpbmRleH1gLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBvcHRpb24ubGFiZWwsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogb3B0aW9uLm9wdGlvbnMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB1bmdyb3VwZWRPcHRpb25zLnB1c2gob3B0aW9uKTtcbiAgICB9KTtcbiAgICBwdXNoVW5ncm91cGVkT3B0aW9ucygpO1xuICAgIHJldHVybiBncm91cHM7XG59XG5leHBvcnQgZnVuY3Rpb24gZmxhdHRlbk9wdGlvbkdyb3Vwcyhncm91cHMpIHtcbiAgICByZXR1cm4gZ3JvdXBzLmZsYXRNYXAoKGdyb3VwKSA9PiBncm91cC5vcHRpb25zKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25TZWFyY2hUZXh0KG9wdGlvbikge1xuICAgIHJldHVybiBbXG4gICAgICAgIGV4dHJhY3RPcHRpb25UZXh0KG9wdGlvbiksXG4gICAgICAgIGV4dHJhY3ROb2RlVGV4dChvcHRpb24uZGVzY3JpcHRpb24pLFxuICAgICAgICBvcHRpb24uc2VhcmNoVGV4dCxcbiAgICAgICAgU3RyaW5nKG9wdGlvbi52YWx1ZSksXG4gICAgXVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgIC5qb2luKCcgJylcbiAgICAgICAgLnRyaW0oKTtcbn1cbmZ1bmN0aW9uIG1hdGNoZXNPcHRpb25TZWFyY2goc2VhcmNoVmFsdWUsIG9wdGlvbiwgZmlsdGVyT3B0aW9uKSB7XG4gICAgaWYgKCFzZWFyY2hWYWx1ZS50cmltKCkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChmaWx0ZXJPcHRpb24pIHtcbiAgICAgICAgcmV0dXJuIGZpbHRlck9wdGlvbihzZWFyY2hWYWx1ZSwgb3B0aW9uKTtcbiAgICB9XG4gICAgcmV0dXJuIGdldE9wdGlvblNlYXJjaFRleHQob3B0aW9uKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFZhbHVlLnRyaW0oKS50b0xvd2VyQ2FzZSgpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJPcHRpb25Hcm91cHMoZ3JvdXBzLCBzZWFyY2hWYWx1ZSwgZmlsdGVyT3B0aW9uKSB7XG4gICAgaWYgKCFzZWFyY2hWYWx1ZS50cmltKCkpIHtcbiAgICAgICAgcmV0dXJuIGdyb3VwcztcbiAgICB9XG4gICAgY29uc3Qgbm9ybWFsaXplZFNlYXJjaFZhbHVlID0gc2VhcmNoVmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIGdyb3Vwcy5yZWR1Y2UoKHJlc3VsdCwgZ3JvdXApID0+IHtcbiAgICAgICAgY29uc3QgZ3JvdXBMYWJlbFRleHQgPSBleHRyYWN0Tm9kZVRleHQoZ3JvdXAubGFiZWwpLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IG1hdGNoZWRPcHRpb25zID0gZ3JvdXBMYWJlbFRleHQuaW5jbHVkZXMobm9ybWFsaXplZFNlYXJjaFZhbHVlKVxuICAgICAgICAgICAgPyBncm91cC5vcHRpb25zXG4gICAgICAgICAgICA6IGdyb3VwLm9wdGlvbnMuZmlsdGVyKChvcHRpb24pID0+IG1hdGNoZXNPcHRpb25TZWFyY2goc2VhcmNoVmFsdWUsIG9wdGlvbiwgZmlsdGVyT3B0aW9uKSk7XG4gICAgICAgIGlmIChtYXRjaGVkT3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0LnB1c2goT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBncm91cCksIHsgb3B0aW9uczogbWF0Y2hlZE9wdGlvbnMgfSkpO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sIFtdKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRNdWx0aXBsZVZhbHVlKHZhbHVlKSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbXTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25zQnlWYWx1ZXMob3B0aW9ucywgdmFsdWVzKSB7XG4gICAgcmV0dXJuIG9wdGlvbnMuZmlsdGVyKChvcHRpb24pID0+IHZhbHVlcy5pbmNsdWRlcyhvcHRpb24udmFsdWUpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB0b2dnbGVNdWx0aXBsZVZhbHVlKGN1cnJlbnRWYWx1ZSwgb3B0aW9uVmFsdWUpIHtcbiAgICBjb25zdCB2YWx1ZXMgPSBnZXRNdWx0aXBsZVZhbHVlKGN1cnJlbnRWYWx1ZSk7XG4gICAgaWYgKHZhbHVlcy5pbmNsdWRlcyhvcHRpb25WYWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0gIT09IG9wdGlvblZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIFsuLi52YWx1ZXMsIG9wdGlvblZhbHVlXTtcbn1cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVNdWx0aXBsZVZhbHVlKGN1cnJlbnRWYWx1ZSwgb3B0aW9uVmFsdWUpIHtcbiAgICByZXR1cm4gZ2V0TXVsdGlwbGVWYWx1ZShjdXJyZW50VmFsdWUpLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gb3B0aW9uVmFsdWUpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzT3B0aW9uU2VsZWN0ZWQodmFsdWUsIG11bHRpcGxlLCBvcHRpb25WYWx1ZSkge1xuICAgIHJldHVybiBpc1NlbGVjdE11bHRpcGxlVmFsdWUodmFsdWUsIG11bHRpcGxlKVxuICAgICAgICA/IHZhbHVlLmluY2x1ZGVzKG9wdGlvblZhbHVlKVxuICAgICAgICA6IHZhbHVlID09PSBvcHRpb25WYWx1ZTtcbn0iXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
174
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L3V0aWxzLnRzIiwiY29tcG9uZW50cy9TZWxlY3QvdXRpbHMuanMiXSwibmFtZXMiOlsibm9ybWFsaXplU2l6ZSIsInNpemUiLCJGT05UX1NJWkVfQllfU0VMRUNUX1NJWkUiLCJsYXJnZSIsInNtYWxsIiwiZ2V0Rm9udFNpemUiLCJleHRyYWN0T3B0aW9uVGV4dCIsIm9wdGlvbiIsImxhYmVsIiwiU3RyaW5nIiwidmFsdWUiLCJleHRyYWN0Tm9kZVRleHQiLCJpc1NlbGVjdE11bHRpcGxlVmFsdWUiLCJtdWx0aXBsZSIsIkFycmF5IiwiaXNBcnJheSIsImlzU2VsZWN0T3B0aW9uR3JvdXAiLCJvcHRpb25zIiwiZmluZE9wdGlvbkJ5VmFsdWUiLCJfYSIsImZpbmQiLCJnZXRTZWxlY3RlZE9wdGlvbnMiLCJtYXAiLCJpdGVtIiwiZmlsdGVyIiwidW5kZWZpbmVkIiwibWF0Y2hlZCIsImdldE9wdGlvblRhZ0xhYmVsIiwibm9ybWFsaXplT3B0aW9uR3JvdXBzIiwiZ3JvdXBzIiwidW5ncm91cGVkT3B0aW9ucyIsInVuZ3JvdXBlZEdyb3VwSW5kZXgiLCJwdXNoVW5ncm91cGVkT3B0aW9ucyIsImxlbmd0aCIsInB1c2giLCJrZXkiLCJjb25jYXQiLCJmb3JFYWNoIiwiaW5kZXgiLCJmbGF0dGVuT3B0aW9uR3JvdXBzIiwiZmxhdE1hcCIsImdyb3VwIiwiZ2V0T3B0aW9uU2VhcmNoVGV4dCIsImRlc2NyaXB0aW9uIiwic2VhcmNoVGV4dCIsIkJvb2xlYW4iLCJqb2luIiwidHJpbSIsIm1hdGNoZXNPcHRpb25TZWFyY2giLCJzZWFyY2hWYWx1ZSIsImZpbHRlck9wdGlvbiIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJmaWx0ZXJPcHRpb25Hcm91cHMiLCJub3JtYWxpemVkU2VhcmNoVmFsdWUiLCJyZWR1Y2UiLCJyZXN1bHQiLCJncm91cExhYmVsVGV4dCIsIm1hdGNoZWRPcHRpb25zIiwiT2JqZWN0IiwiYXNzaWduIiwiZ2V0TXVsdGlwbGVWYWx1ZSIsImdldE9wdGlvbnNCeVZhbHVlcyIsInZhbHVlcyIsInRvZ2dsZU11bHRpcGxlVmFsdWUiLCJjdXJyZW50VmFsdWUiLCJvcHRpb25WYWx1ZSIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJyZW1vdmVNdWx0aXBsZVZhbHVlIiwiaXNPcHRpb25TZWxlY3RlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQk0sU0FBVUEsYUFBYUEsQ0FBQ0MsSUFBMEIsRUFBQTtFQUN0RCxJQUFJQSxJQUFJLEtBQUssT0FBTyxJQUFJQSxJQUFJLEtBQUssYUFBYSxFQUFFLE9BQU9BLElBQUk7RUFDM0QsT0FBTyxPQUFPO0FBQ2hCO0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBTUMsd0JBQXdCLEdBQTJDO0VBQ3ZFQyxLQUFLLEVBQUUsSUFBSTtFQUNYQyxLQUFLLEVBQUUsSUFBSTtFQUNYLGFBQWEsRUFBRTtBQ2xCakIsQ0RtQkM7QUFFSyxTQUFVQyxXQUFXQSxDQUFDSixJQUFnQixFQUFBO0VBQzFDLE9BQU9DLHdCQUF3QixDQUFDRCxJQUFJLENBQUM7QUFDdkM7QUFFTSxTQUFVSyxpQkFBaUJBLENBQUNDLE1BQW9CLEVBQUE7RUFDcEQsSUFBSSxPQUFPQSxNQUFNLENBQUNDLEtBQUssS0FBSyxRQUFRLElBQUksT0FBT0QsTUFBTSxDQUFDQyxLQUFLLEtBQUssUUFBUSxFQUFFO0lBQ3hFLE9BQU9DLE1BQU0sQ0FBQ0YsTUFBTSxDQUFDQyxLQUFLLENBQUM7RUFDN0I7RUFFQSxPQUFPQyxNQUFNLENBQUNGLE1BQU0sQ0FBQ0csS0FBSyxDQUFDO0FBQzdCO0FBRUEsU0FBU0MsZUFBZUEsQ0FBQ0QsS0FBMkQsRUFBQTtFQUNsRixJQUFJLE9BQU9BLEtBQUssS0FBSyxRQUFRLElBQUksT0FBT0EsS0FBSyxLQUFLLFFBQVEsRUFBRTtJQUMxRCxPQUFPRCxNQUFNLENBQUNDLEtBQUssQ0FBQztFQUN0QjtFQUVBLE9BQU8sRUFBRTtBQUNYO0FBRU0sU0FB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QztBQUVNLFNBQVVvRCxrQkFBa0JBLENBQ2hDN0MsT0FBdUIsRUFDdkI4QyxNQUEyQixFQUFBO0VBRTNCLE9BQU85QyxPQUFPLENBQUNPLE1BQU0sQ0FBQyxVQUFDakIsTUFBTTtJQUFBLE9BQUt3RCxNQUFNLENBQUNYLFFBQVEsQ0FBQzdDLE1BQU0sQ0FBQ0csS0FBSyxDQUFDO0VBQUEsRUFBQztBQUNsRTtBQUVNLFNBQVVzRCxtQkFBbUJBLENBQ2pDQyxZQUF5QixFQUN6QkMsV0FBOEIsRUFBQTtFQUU5QixJQUFNSCxNQUFNLEdBQUdGLGdCQUFnQixDQUFDSSxZQUFZLENBQUM7RUFFN0MsSUFBSUYsTUFBTSxDQUFDWCxRQUFRLENBQUNjLFdBQVcsQ0FBQyxFQUFFO0lBQ2hDLE9BQU9ILE1BQU0sQ0FBQ3ZDLE1BQU0sQ0FBQyxVQUFDRCxJQUFJO01BQUEsT0FBS0EsSUFBSSxLQUFLMkMsV0FBVztJQUFBLEVBQUM7RUFDdEQ7RUFFQSxVQUFBOUIsTUFBQSxLQUFBK0IsbUJBQUEsYUFBV0osTUFBTSxJQUFFRyxXQUFXO0FBQ2hDO0FBRU0sU0FBVUUsbUJBQW1CQSxDQUNqQ0gsWUFBeUIsRUFDekJDLFdBQThCLEVBQUE7RUFFOUIsT0FBT0wsZ0JBQWdCLENBQUNJLFlBQVksQ0FBQyxDQUFDekMsTUFBTSxDQUFDLFVBQUNELElBQUk7SUFBQSxPQUFLQSxJQUFJLEtBQUsyQyxXQUFXO0VBQUEsRUFBQztBQUM5RTtBQUVNLFNBQVVHLGdCQUFnQkEsQ0FDOUIzRCxLQUFrQixFQUNsQkcsUUFBaUIsRUFDakJxRCxXQUE4QixFQUFBO0VBRTlCLE9BQU90RCxxQkFBcUIsQ0FBQ0YsS0FBSyxFQUFFRyxRQUFRLENBQUMsR0FDekNILEtBQUssQ0FBQzBDLFFBQVEsQ0FBQ2MsV0FBVyxDQUFDLEdBQzNCeEQsS0FBSyxLQUFLd0QsV0FBVztBQUMzQiIsImZpbGUiOiJjb21wb25lbnRzL1NlbGVjdC91dGlscy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZVNpemUoc2l6ZSkge1xuICAgIGlmIChzaXplID09PSAnc21hbGwnIHx8IHNpemUgPT09ICdleHRyYS1zbWFsbCcpXG4gICAgICAgIHJldHVybiBzaXplO1xuICAgIHJldHVybiAnbGFyZ2UnO1xufVxuLy8gYGV4dHJhLXNtYWxsYCBpcyBhIDMycHggdHJpZ2dlciBidXQga2VlcHMgdGhlIGBzbWFsbGAgYm9keS1tZCAoMTRweCkgdmFsdWVcbi8vIGZvbnQ6IHRoZSBvbmx5IGNvbnN1bWVycyAoRmlsdGVyL0RhdGVSYW5nZSkgcmVuZGVyIHRoZSB0cmlnZ2VyIHZhbHVlIGF0IDE0cHgsXG4vLyBzbyBtYXRjaGluZyBpdCBoZXJlIG1ha2VzIHRoZSAzMnB4IHNpemUgYSBiZWhhdmlvci1wcmVzZXJ2aW5nIGRyb3AtaW4uXG5jb25zdCBGT05UX1NJWkVfQllfU0VMRUNUX1NJWkUgPSB7XG4gICAgbGFyZ2U6ICdsZycsXG4gICAgc21hbGw6ICdtZCcsXG4gICAgJ2V4dHJhLXNtYWxsJzogJ21kJyxcbn07XG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9udFNpemUoc2l6ZSkge1xuICAgIHJldHVybiBGT05UX1NJWkVfQllfU0VMRUNUX1NJWkVbc2l6ZV07XG59XG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdE9wdGlvblRleHQob3B0aW9uKSB7XG4gICAgaWYgKHR5cGVvZiBvcHRpb24ubGFiZWwgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBvcHRpb24ubGFiZWwgPT09ICdudW1iZXInKSB7XG4gICAgICAgIHJldHVybiBTdHJpbmcob3B0aW9uLmxhYmVsKTtcbiAgICB9XG4gICAgcmV0dXJuIFN0cmluZyhvcHRpb24udmFsdWUpO1xufVxuZnVuY3Rpb24gZXh0cmFjdE5vZGVUZXh0KHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzU2VsZWN0TXVsdGlwbGVWYWx1ZSh2YWx1ZSwgbXVsdGlwbGUpIHtcbiAgICByZXR1cm4gbXVsdGlwbGUgJiYgQXJyYXkuaXNBcnJheSh2YWx1ZSk7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNTZWxlY3RPcHRpb25Hcm91cChvcHRpb24pIHtcbiAgICByZXR1cm4gJ29wdGlvbnMnIGluIG9wdGlvbiAmJiBBcnJheS5pc0FycmF5KG9wdGlvbi5vcHRpb25zKTtcbn1cbmZ1bmN0aW9uIGZpbmRPcHRpb25CeVZhbHVlKG9wdGlvbnMsIHZhbHVlKSB7XG4gICAgdmFyIF9hO1xuICAgIHJldHVybiAoX2EgPSBvcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSB2YWx1ZSkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG51bGw7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VsZWN0ZWRPcHRpb25zKG9wdGlvbnMsIHZhbHVlLCBtdWx0aXBsZSkge1xuICAgIGlmIChpc1NlbGVjdE11bHRpcGxlVmFsdWUodmFsdWUsIG11bHRpcGxlKSkge1xuICAgICAgICByZXR1cm4gdmFsdWVcbiAgICAgICAgICAgIC5tYXAoKGl0ZW0pID0+IGZpbmRPcHRpb25CeVZhbHVlKG9wdGlvbnMsIGl0ZW0pKVxuICAgICAgICAgICAgLmZpbHRlcigob3B0aW9uKSA9PiBvcHRpb24gIT09IG51bGwpO1xuICAgIH1cbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJyAmJiB0eXBlb2YgdmFsdWUgIT09ICdudW1iZXInKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgY29uc3QgbWF0Y2hlZCA9IGZpbmRPcHRpb25CeVZhbHVlKG9wdGlvbnMsIHZhbHVlKTtcbiAgICByZXR1cm4gbWF0Y2hlZCA/IFttYXRjaGVkXSA6IFtdO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE9wdGlvblRhZ0xhYmVsKG9wdGlvbikge1xuICAgIHJldHVybiBleHRyYWN0T3B0aW9uVGV4dChvcHRpb24pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZU9wdGlvbkdyb3VwcyhvcHRpb25zKSB7XG4gICAgY29uc3QgZ3JvdXBzID0gW107XG4gICAgbGV0IHVuZ3JvdXBlZE9wdGlvbnMgPSBbXTtcbiAgICBsZXQgdW5ncm91cGVkR3JvdXBJbmRleCA9IDA7XG4gICAgY29uc3QgcHVzaFVuZ3JvdXBlZE9wdGlvbnMgPSAoKSA9PiB7XG4gICAgICAgIGlmICh1bmdyb3VwZWRPcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGdyb3Vwcy5wdXNoKHtcbiAgICAgICAgICAgIGtleTogYHVuZ3JvdXBlZC0ke3VuZ3JvdXBlZEdyb3VwSW5kZXh9YCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHVuZ3JvdXBlZE9wdGlvbnMsXG4gICAgICAgIH0pO1xuICAgICAgICB1bmdyb3VwZWRPcHRpb25zID0gW107XG4gICAgICAgIHVuZ3JvdXBlZEdyb3VwSW5kZXggKz0gMTtcbiAgICB9O1xuICAgIG9wdGlvbnMuZm9yRWFjaCgob3B0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoaXNTZWxlY3RPcHRpb25Hcm91cChvcHRpb24pKSB7XG4gICAgICAgICAgICBwdXNoVW5ncm91cGVkT3B0aW9ucygpO1xuICAgICAgICAgICAgZ3JvdXBzLnB1c2goe1xuICAgICAgICAgICAgICAgIGtleTogb3B0aW9uLmtleSA/IFN0cmluZyhvcHRpb24ua2V5KSA6IGBncm91cC0ke2luZGV4fWAsXG4gICAgICAgICAgICAgICAgbGFiZWw6IG9wdGlvbi5sYWJlbCxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiBvcHRpb24ub3B0aW9ucyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHVuZ3JvdXBlZE9wdGlvbnMucHVzaChvcHRpb24pO1xuICAgIH0pO1xuICAgIHB1c2hVbmdyb3VwZWRPcHRpb25zKCk7XG4gICAgcmV0dXJuIGdyb3Vwcztcbn1cbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuT3B0aW9uR3JvdXBzKGdyb3Vwcykge1xuICAgIHJldHVybiBncm91cHMuZmxhdE1hcCgoZ3JvdXApID0+IGdyb3VwLm9wdGlvbnMpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE9wdGlvblNlYXJjaFRleHQob3B0aW9uKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgZXh0cmFjdE9wdGlvblRleHQob3B0aW9uKSxcbiAgICAgICAgZXh0cmFjdE5vZGVUZXh0KG9wdGlvbi5kZXNjcmlwdGlvbiksXG4gICAgICAgIG9wdGlvbi5zZWFyY2hUZXh0LFxuICAgICAgICBTdHJpbmcob3B0aW9uLnZhbHVlKSxcbiAgICBdXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgLmpvaW4oJyAnKVxuICAgICAgICAudHJpbSgpO1xufVxuZnVuY3Rpb24gbWF0Y2hlc09wdGlvblNlYXJjaChzZWFyY2hWYWx1ZSwgb3B0aW9uLCBmaWx0ZXJPcHRpb24pIHtcbiAgICBpZiAoIXNlYXJjaFZhbHVlLnRyaW0oKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGZpbHRlck9wdGlvbikge1xuICAgICAgICByZXR1cm4gZmlsdGVyT3B0aW9uKHNlYXJjaFZhbHVlLCBvcHRpb24pO1xuICAgIH1cbiAgICByZXR1cm4gZ2V0T3B0aW9uU2VhcmNoVGV4dChvcHRpb24pLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlck9wdGlvbkdyb3Vwcyhncm91cHMsIHNlYXJjaFZhbHVlLCBmaWx0ZXJPcHRpb24pIHtcbiAgICBpZiAoIXNlYXJjaFZhbHVlLnRyaW0oKSkge1xuICAgICAgICByZXR1cm4gZ3JvdXBzO1xuICAgIH1cbiAgICBjb25zdCBub3JtYWxpemVkU2VhcmNoVmFsdWUgPSBzZWFyY2hWYWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gZ3JvdXBzLnJlZHVjZSgocmVzdWx0LCBncm91cCkgPT4ge1xuICAgICAgICBjb25zdCBncm91cExhYmVsVGV4dCA9IGV4dHJhY3ROb2RlVGV4dChncm91cC5sYWJlbCkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgY29uc3QgbWF0Y2hlZE9wdGlvbnMgPSBncm91cExhYmVsVGV4dC5pbmNsdWRlcyhub3JtYWxpemVkU2VhcmNoVmFsdWUpXG4gICAgICAgICAgICA/IGdyb3VwLm9wdGlvbnNcbiAgICAgICAgICAgIDogZ3JvdXAub3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gbWF0Y2hlc09wdGlvblNlYXJjaChzZWFyY2hWYWx1ZSwgb3B0aW9uLCBmaWx0ZXJPcHRpb24pKTtcbiAgICAgICAgaWYgKG1hdGNoZWRPcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgICByZXN1bHQucHVzaChPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGdyb3VwKSwgeyBvcHRpb25zOiBtYXRjaGVkT3B0aW9ucyB9KSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSwgW10pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE11bHRpcGxlVmFsdWUodmFsdWUpIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFtdO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldE9wdGlvbnNCeVZhbHVlcyhvcHRpb25zLCB2YWx1ZXMpIHtcbiAgICByZXR1cm4gb3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gdmFsdWVzLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHRvZ2dsZU11bHRpcGxlVmFsdWUoY3VycmVudFZhbHVlLCBvcHRpb25WYWx1ZSkge1xuICAgIGNvbnN0IHZhbHVlcyA9IGdldE11bHRpcGxlVmFsdWUoY3VycmVudFZhbHVlKTtcbiAgICBpZiAodmFsdWVzLmluY2x1ZGVzKG9wdGlvblZhbHVlKSkge1xuICAgICAgICByZXR1cm4gdmFsdWVzLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gb3B0aW9uVmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gWy4uLnZhbHVlcywgb3B0aW9uVmFsdWVdO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZU11bHRpcGxlVmFsdWUoY3VycmVudFZhbHVlLCBvcHRpb25WYWx1ZSkge1xuICAgIHJldHVybiBnZXRNdWx0aXBsZVZhbHVlKGN1cnJlbnRWYWx1ZSkuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSBvcHRpb25WYWx1ZSk7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNPcHRpb25TZWxlY3RlZCh2YWx1ZSwgbXVsdGlwbGUsIG9wdGlvblZhbHVlKSB7XG4gICAgcmV0dXJuIGlzU2VsZWN0TXVsdGlwbGVWYWx1ZSh2YWx1ZSwgbXVsdGlwbGUpXG4gICAgICAgID8gdmFsdWUuaW5jbHVkZXMob3B0aW9uVmFsdWUpXG4gICAgICAgIDogdmFsdWUgPT09IG9wdGlvblZhbHVlO1xufSJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|