@ssa-ui-kit/core 3.27.0 → 3.27.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/source-map.md +7 -0
- package/dist/components/Dropdown/Dropdown.d.ts +1 -1
- package/dist/components/Dropdown/types.d.ts +34 -0
- package/dist/components/DropdownOption/DropdownOption.d.ts +5 -0
- package/dist/components/DropdownOptions/DropdownSearch.d.ts +25 -0
- package/dist/components/DropdownOptions/useToggleListKeys.d.ts +13 -7
- package/dist/components/DropdownOptions/utils.d.ts +7 -0
- package/dist/components/DropdownToggle/types.d.ts +2 -0
- package/dist/components/MultipleDropdown/types.d.ts +25 -0
- package/dist/index.js +317 -35
- package/dist/index.mjs +317 -35
- package/dist/tsbuildcache +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -28208,6 +28208,9 @@ const DropdownOptionGroup = ({
|
|
|
28208
28208
|
* element twice mounts two independent copies of it.
|
|
28209
28209
|
*/
|
|
28210
28210
|
const utils_asText = value => typeof value === 'string' || typeof value === 'number' ? String(value) : undefined;
|
|
28211
|
+
|
|
28212
|
+
/** Text an option is searched by: `textValue`, else its text label. */
|
|
28213
|
+
const getOptionText = props => props.textValue ?? utils_asText(props.children) ?? utils_asText(props.label) ?? utils_asText(props.value);
|
|
28211
28214
|
const isOptionGroup = child => child.type === DropdownOptionGroup_DropdownOptionGroup;
|
|
28212
28215
|
const toMenuItem = ({
|
|
28213
28216
|
props
|
|
@@ -28216,7 +28219,7 @@ const toMenuItem = ({
|
|
|
28216
28219
|
// before, the list compares values with ===.
|
|
28217
28220
|
value: props.value,
|
|
28218
28221
|
label: props.children || props.label || props.value,
|
|
28219
|
-
textValue:
|
|
28222
|
+
textValue: getOptionText(props),
|
|
28220
28223
|
avatar: props.avatar,
|
|
28221
28224
|
disabled: resolveDisabled('DropdownOption', props.disabled, props.isDisabled),
|
|
28222
28225
|
className: props.className,
|
|
@@ -28240,7 +28243,25 @@ const toDropdownMenuItems = children => toElements(children).map((child, index)
|
|
|
28240
28243
|
label: child.props.label,
|
|
28241
28244
|
items: toElements(child.props.children).map(option => toMenuItem(option))
|
|
28242
28245
|
} : toMenuItem(child));
|
|
28246
|
+
|
|
28247
|
+
/**
|
|
28248
|
+
* The `DropdownOption` children whose text contains `query` (case-insensitive),
|
|
28249
|
+
* in display order. A `DropdownOptionGroup` is kept, holding only its matching
|
|
28250
|
+
* options, while any of them match. An empty query returns the children as is.
|
|
28251
|
+
* Options with no text (custom markup and no `textValue`) never match.
|
|
28252
|
+
*/
|
|
28253
|
+
const filterDropdownOptions = (children, query) => {
|
|
28254
|
+
const search = query.trim().toLowerCase();
|
|
28255
|
+
if (!search) return toElements(children);
|
|
28256
|
+
const matches = option => !!getOptionText(option.props)?.toLowerCase().includes(search);
|
|
28257
|
+
return toElements(children).flatMap(child => {
|
|
28258
|
+
if (!isOptionGroup(child)) return matches(child) ? [child] : [];
|
|
28259
|
+
const options = toElements(child.props.children).filter(matches);
|
|
28260
|
+
return options.length ? [/*#__PURE__*/external_react_default().cloneElement(child, {}, ...options)] : [];
|
|
28261
|
+
});
|
|
28262
|
+
};
|
|
28243
28263
|
;// ./src/components/DropdownOptions/DropdownOptions.tsx
|
|
28264
|
+
function DropdownOptions_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
28244
28265
|
|
|
28245
28266
|
|
|
28246
28267
|
|
|
@@ -28251,13 +28272,23 @@ const toDropdownMenuItems = children => toElements(children).map((child, index)
|
|
|
28251
28272
|
|
|
28252
28273
|
const keepToggleFocus = event => event.preventDefault();
|
|
28253
28274
|
|
|
28275
|
+
// Inside the search card, which already carries the shadow.
|
|
28276
|
+
const inSearchCard = process.env.NODE_ENV === "production" ? {
|
|
28277
|
+
name: "1t90u8d",
|
|
28278
|
+
styles: "box-shadow:none"
|
|
28279
|
+
} : {
|
|
28280
|
+
name: "1ptujvo-inSearchCard",
|
|
28281
|
+
styles: "box-shadow:none;label:inSearchCard;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMvRHJvcGRvd25PcHRpb25zLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjd0IiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWkta2l0L3VpLWtpdC9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL0Ryb3Bkb3duT3B0aW9ucy9Ecm9wZG93bk9wdGlvbnMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW91c2VFdmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHsgdXNlRHJvcGRvd25Db250ZXh0IH0gZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24uY29udGV4dCc7XG5pbXBvcnQgeyBDb250ZXh0TWVudSB9IGZyb20gJ0Bjb21wb25lbnRzL0NvbnRleHRNZW51JztcbmltcG9ydCB7IHJlc29sdmVBcmlhUHJvcCB9IGZyb20gJ0B1dGlscy9kZXByZWNhdGlvbic7XG5cbmltcG9ydCB7IERyb3Bkb3duSXRlbXNMaXN0UHJvcHMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IE9wdGlvblZhbHVlLCB0b0Ryb3Bkb3duTWVudUl0ZW1zIH0gZnJvbSAnLi91dGlscyc7XG5cbi8vIEZvY3VzIHN0YXlzIG9uIHRoZSB0b2dnbGUgd2hpbGUgdGhlIGxpc3QgaXMgdXNlZCB3aXRoIHRoZSBwb2ludGVyLlxuY29uc3Qga2VlcFRvZ2dsZUZvY3VzID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4vLyBJbnNpZGUgdGhlIHNlYXJjaCBjYXJkLCB3aGljaCBhbHJlYWR5IGNhcnJpZXMgdGhlIHNoYWRvdy5cbmNvbnN0IGluU2VhcmNoQ2FyZCA9IGNzc2BcbiAgYm94LXNoYWRvdzogbm9uZTtcbmA7XG5cbi8qXG4gKiBQb3NpdGlvbmVkIGFnYWluc3QgdGhlIERyb3Bkb3duIGJhc2UsIHRoZSB0b2dnbGUncyBjb250YWluaW5nIGJsb2NrLlxuICogQ2FwcGVkIGF0IHRoZSB0b2dnbGUncyB3aWR0aCByYXRoZXIgdGhhbiBncm93biB0byBtYXgtY29udGVudCwgd2hpY2ggbGV0IGFcbiAqIHNpbmdsZSBsb25nIG9wdGlvbiBzdHJldGNoIHRoZSBwb3B1cCBmYXIgcGFzdCB0aGUgdmlld3BvcnQ7IG9wdGlvbiBsYWJlbHNcbiAqIGVsbGlwc2lzZSBpbnN0ZWFkLlxuICovXG5jb25zdCBsaXN0UG9zaXRpb24gPSAocGxhY2VtZW50OiAndG9wJyB8ICdib3R0b20nKSA9PiBjc3NgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI7XG4gICR7cGxhY2VtZW50ID09PSAndG9wJ1xuICAgID8gJ2JvdHRvbTogMTAwJTsgdG9wOiBhdXRvOyBtYXJnaW46IDAgMCA0cHg7J1xuICAgIDogJ3RvcDogMTAwJTsgYm90dG9tOiBhdXRvOyBtYXJnaW46IDRweCAwIDA7J31cbmA7XG5cbi8qKlxuICogRHJvcGRvd25PcHRpb25zIC0gT3B0aW9ucyBtZW51IGNvbnRhaW5lciBmb3IgRHJvcGRvd24gY29tcG9uZW50XG4gKlxuICogUmVuZGVycyB0aGUgYERyb3Bkb3duT3B0aW9uYCBjaGlsZHJlbiBhcyBhIGBDb250ZXh0TWVudWAgcGxhY2VkIHVuZGVyIChvclxuICogYWJvdmUpIHRoZSBEcm9wZG93biB0b2dnbGUuIEZvY3VzIHN0YXlzIG9uIHRoZSB0b2dnbGU7IHRoZSBoaWdobGlnaHRlZFxuICogb3B0aW9uIGlzIGRyaXZlbiBmcm9tIHRoZXJlIGFuZCBhbm5vdW5jZWQgdGhyb3VnaCBgYXJpYS1hY3RpdmVkZXNjZW5kYW50YC5cbiAqXG4gKiBQbGFjZW1lbnQgKG9wZW5pbmcgdXB3YXJkIG9yIGRvd253YXJkKSBpcyBkcml2ZW4gZW50aXJlbHkgYnkgdGhlIHBhcmVudFxuICogRHJvcGRvd24gdmlhIGNvbnRleHQg4oCUIHRoaXMgY29tcG9uZW50IGRvZXMgbm90IGNhbGN1bGF0ZSBwb3NpdGlvbiBpdHNlbGYuXG4gKiBBIHJlZiBpcyBhdHRhY2hlZCB0byB0aGUgbGlzdCBlbGVtZW50IHNvIERyb3Bkb3duIGNhbiBtZWFzdXJlIGl0cyBhY3R1YWxcbiAqIHJlbmRlcmVkIGhlaWdodCB3aGVuIGRldGVybWluaW5nIHRoZSBjb3JyZWN0IHBsYWNlbWVudCBvbiBlYWNoIG9wZW4uXG4gKlxuICogQGNhdGVnb3J5IEZvcm0gQ29udHJvbHNcbiAqIEBzdWJjYXRlZ29yeSBTZWxlY3Rpb25cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiAvLyBVc2VkIHdpdGhpbiBEcm9wZG93biBjb21wb25lbnRcbiAqIDxEcm9wZG93biBzZWxlY3RlZEl0ZW09e3NlbGVjdGVkfSBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfT5cbiAqICAgPERyb3Bkb3duT3B0aW9ucz5cbiAqICAgICB7aXRlbXMubWFwKGl0ZW0gPT4gKFxuICogICAgICAgPERyb3Bkb3duT3B0aW9uIGtleT17aXRlbS5pZH0gdmFsdWU9e2l0ZW0uaWR9PlxuICogICAgICAgICB7aXRlbS5sYWJlbH1cbiAqICAgICAgIDwvRHJvcGRvd25PcHRpb24+XG4gKiAgICAgKSl9XG4gKiAgIDwvRHJvcGRvd25PcHRpb25zPlxuICogPC9Ecm9wZG93bj5cbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIERyb3Bkb3dufSAtIFBhcmVudCBjb21wb25lbnRcbiAqIEBzZWUge0BsaW5rIERyb3Bkb3duT3B0aW9ufSAtIEluZGl2aWR1YWwgb3B0aW9uIGNvbXBvbmVudHNcbiAqXG4gKiBAYWNjZXNzaWJpbGl0eVxuICogLSBVc2VzIHJvbGU9XCJsaXN0Ym94XCIgd2l0aCByb2xlPVwib3B0aW9uXCIgcm93c1xuICogLSBBcnJvdyBrZXlzLCBIb21lLCBFbmQsIEVudGVyLCBTcGFjZSBhbmQgRXNjYXBlIG9uIHRoZSB0b2dnbGVcbiAqL1xuY29uc3QgRHJvcGRvd25PcHRpb25zID0gKHtcbiAgJ2FyaWEtbGFiZWxsZWRieSc6IGFyaWFMYWJlbGxlZGJ5TmF0aXZlLFxuICBhcmlhTGFiZWxsZWRieSxcbiAgaWQsXG4gIGNoaWxkcmVuLFxufTogRHJvcGRvd25JdGVtc0xpc3RQcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgb25DaGFuZ2UsXG4gICAgYWN0aXZlSXRlbSxcbiAgICBtYXhIZWlnaHQgPSAyMDAsXG4gICAgbGlzdFJlZixcbiAgICBwbGFjZW1lbnQgPSAnYm90dG9tJyxcbiAgICBhY3RpdmVWYWx1ZSA9IG51bGwsXG4gICAgc2V0QWN0aXZlVmFsdWUsXG4gICAgc2VhcmNoYWJsZSxcbiAgICBlbXB0eVN0YXRlLFxuICB9ID0gdXNlRHJvcGRvd25Db250ZXh0KCk7XG4gIGNvbnN0IGxhYmVsbGVkYnkgPSByZXNvbHZlQXJpYVByb3AoXG4gICAgJ0Ryb3Bkb3duT3B0aW9ucycsXG4gICAgJ2FyaWEtbGFiZWxsZWRieScsXG4gICAgYXJpYUxhYmVsbGVkYnlOYXRpdmUsXG4gICAgYXJpYUxhYmVsbGVkYnksXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGV4dE1lbnU8T3B0aW9uVmFsdWU+XG4gICAgICByZWY9e2xpc3RSZWZ9XG4gICAgICBpZD17aWR9XG4gICAgICBhcmlhLWxhYmVsbGVkYnk9e2xhYmVsbGVkYnl9XG4gICAgICBjc3M9e3NlYXJjaGFibGUgPyBpblNlYXJjaENhcmQgOiBsaXN0UG9zaXRpb24ocGxhY2VtZW50KX1cbiAgICAgIHNlbGVjdGlvbk1vZGU9XCJzaW5nbGVcIlxuICAgICAgaXRlbXM9e3RvRHJvcGRvd25NZW51SXRlbXMoY2hpbGRyZW4pfVxuICAgICAgdmFsdWU9eyhhY3RpdmVJdGVtPy52YWx1ZSBhcyBPcHRpb25WYWx1ZSB8IHVuZGVmaW5lZCkgPz8gbnVsbH1cbiAgICAgIG9uQWN0aW9uPXsodmFsdWUpID0+IG9uQ2hhbmdlKHZhbHVlIGFzIHN0cmluZyl9XG4gICAgICBhY3RpdmVWYWx1ZT17YWN0aXZlVmFsdWV9XG4gICAgICBvbkFjdGl2ZVZhbHVlQ2hhbmdlPXtzZXRBY3RpdmVWYWx1ZX1cbiAgICAgIG1heEhlaWdodD17bWF4SGVpZ2h0fVxuICAgICAgZW1wdHlTdGF0ZT17ZW1wdHlTdGF0ZX1cbiAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgIG9uTW91c2VEb3duPXtrZWVwVG9nZ2xlRm9jdXN9XG4gICAgLz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERyb3Bkb3duT3B0aW9ucztcbiJdfQ== */",
|
|
28282
|
+
toString: DropdownOptions_EMOTION_STRINGIFIED_CSS_ERROR_
|
|
28283
|
+
};
|
|
28284
|
+
|
|
28254
28285
|
/*
|
|
28255
28286
|
* Positioned against the Dropdown base, the toggle's containing block.
|
|
28256
28287
|
* Capped at the toggle's width rather than grown to max-content, which let a
|
|
28257
28288
|
* single long option stretch the popup far past the viewport; option labels
|
|
28258
28289
|
* ellipsise instead.
|
|
28259
28290
|
*/
|
|
28260
|
-
const listPosition = placement => /*#__PURE__*/(0,react_namespaceObject.css)("position:absolute;left:0;width:100%;z-index:2;", placement === 'top' ? 'bottom: 100%; top: auto; margin: 0 0 4px;' : 'top: 100%; bottom: auto; margin: 4px 0 0;', ";" + (process.env.NODE_ENV === "production" ? "" : ";label:listPosition;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
28291
|
+
const listPosition = placement => /*#__PURE__*/(0,react_namespaceObject.css)("position:absolute;left:0;width:100%;z-index:2;", placement === 'top' ? 'bottom: 100%; top: auto; margin: 0 0 4px;' : 'top: 100%; bottom: auto; margin: 4px 0 0;', ";" + (process.env.NODE_ENV === "production" ? "" : ";label:listPosition;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMvRHJvcGRvd25PcHRpb25zLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3QnlEIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMvRHJvcGRvd25PcHRpb25zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vdXNlRXZlbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmltcG9ydCB7IHVzZURyb3Bkb3duQ29udGV4dCB9IGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duL0Ryb3Bkb3duLmNvbnRleHQnO1xuaW1wb3J0IHsgQ29udGV4dE1lbnUgfSBmcm9tICdAY29tcG9uZW50cy9Db250ZXh0TWVudSc7XG5pbXBvcnQgeyByZXNvbHZlQXJpYVByb3AgfSBmcm9tICdAdXRpbHMvZGVwcmVjYXRpb24nO1xuXG5pbXBvcnQgeyBEcm9wZG93bkl0ZW1zTGlzdFByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBPcHRpb25WYWx1ZSwgdG9Ecm9wZG93bk1lbnVJdGVtcyB9IGZyb20gJy4vdXRpbHMnO1xuXG4vLyBGb2N1cyBzdGF5cyBvbiB0aGUgdG9nZ2xlIHdoaWxlIHRoZSBsaXN0IGlzIHVzZWQgd2l0aCB0aGUgcG9pbnRlci5cbmNvbnN0IGtlZXBUb2dnbGVGb2N1cyA9IChldmVudDogTW91c2VFdmVudCkgPT4gZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuLy8gSW5zaWRlIHRoZSBzZWFyY2ggY2FyZCwgd2hpY2ggYWxyZWFkeSBjYXJyaWVzIHRoZSBzaGFkb3cuXG5jb25zdCBpblNlYXJjaENhcmQgPSBjc3NgXG4gIGJveC1zaGFkb3c6IG5vbmU7XG5gO1xuXG4vKlxuICogUG9zaXRpb25lZCBhZ2FpbnN0IHRoZSBEcm9wZG93biBiYXNlLCB0aGUgdG9nZ2xlJ3MgY29udGFpbmluZyBibG9jay5cbiAqIENhcHBlZCBhdCB0aGUgdG9nZ2xlJ3Mgd2lkdGggcmF0aGVyIHRoYW4gZ3Jvd24gdG8gbWF4LWNvbnRlbnQsIHdoaWNoIGxldCBhXG4gKiBzaW5nbGUgbG9uZyBvcHRpb24gc3RyZXRjaCB0aGUgcG9wdXAgZmFyIHBhc3QgdGhlIHZpZXdwb3J0OyBvcHRpb24gbGFiZWxzXG4gKiBlbGxpcHNpc2UgaW5zdGVhZC5cbiAqL1xuY29uc3QgbGlzdFBvc2l0aW9uID0gKHBsYWNlbWVudDogJ3RvcCcgfCAnYm90dG9tJykgPT4gY3NzYFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyO1xuICAke3BsYWNlbWVudCA9PT0gJ3RvcCdcbiAgICA/ICdib3R0b206IDEwMCU7IHRvcDogYXV0bzsgbWFyZ2luOiAwIDAgNHB4OydcbiAgICA6ICd0b3A6IDEwMCU7IGJvdHRvbTogYXV0bzsgbWFyZ2luOiA0cHggMCAwOyd9XG5gO1xuXG4vKipcbiAqIERyb3Bkb3duT3B0aW9ucyAtIE9wdGlvbnMgbWVudSBjb250YWluZXIgZm9yIERyb3Bkb3duIGNvbXBvbmVudFxuICpcbiAqIFJlbmRlcnMgdGhlIGBEcm9wZG93bk9wdGlvbmAgY2hpbGRyZW4gYXMgYSBgQ29udGV4dE1lbnVgIHBsYWNlZCB1bmRlciAob3JcbiAqIGFib3ZlKSB0aGUgRHJvcGRvd24gdG9nZ2xlLiBGb2N1cyBzdGF5cyBvbiB0aGUgdG9nZ2xlOyB0aGUgaGlnaGxpZ2h0ZWRcbiAqIG9wdGlvbiBpcyBkcml2ZW4gZnJvbSB0aGVyZSBhbmQgYW5ub3VuY2VkIHRocm91Z2ggYGFyaWEtYWN0aXZlZGVzY2VuZGFudGAuXG4gKlxuICogUGxhY2VtZW50IChvcGVuaW5nIHVwd2FyZCBvciBkb3dud2FyZCkgaXMgZHJpdmVuIGVudGlyZWx5IGJ5IHRoZSBwYXJlbnRcbiAqIERyb3Bkb3duIHZpYSBjb250ZXh0IOKAlCB0aGlzIGNvbXBvbmVudCBkb2VzIG5vdCBjYWxjdWxhdGUgcG9zaXRpb24gaXRzZWxmLlxuICogQSByZWYgaXMgYXR0YWNoZWQgdG8gdGhlIGxpc3QgZWxlbWVudCBzbyBEcm9wZG93biBjYW4gbWVhc3VyZSBpdHMgYWN0dWFsXG4gKiByZW5kZXJlZCBoZWlnaHQgd2hlbiBkZXRlcm1pbmluZyB0aGUgY29ycmVjdCBwbGFjZW1lbnQgb24gZWFjaCBvcGVuLlxuICpcbiAqIEBjYXRlZ29yeSBGb3JtIENvbnRyb2xzXG4gKiBAc3ViY2F0ZWdvcnkgU2VsZWN0aW9uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogLy8gVXNlZCB3aXRoaW4gRHJvcGRvd24gY29tcG9uZW50XG4gKiA8RHJvcGRvd24gc2VsZWN0ZWRJdGVtPXtzZWxlY3RlZH0gb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX0+XG4gKiAgIDxEcm9wZG93bk9wdGlvbnM+XG4gKiAgICAge2l0ZW1zLm1hcChpdGVtID0+IChcbiAqICAgICAgIDxEcm9wZG93bk9wdGlvbiBrZXk9e2l0ZW0uaWR9IHZhbHVlPXtpdGVtLmlkfT5cbiAqICAgICAgICAge2l0ZW0ubGFiZWx9XG4gKiAgICAgICA8L0Ryb3Bkb3duT3B0aW9uPlxuICogICAgICkpfVxuICogICA8L0Ryb3Bkb3duT3B0aW9ucz5cbiAqIDwvRHJvcGRvd24+XG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBEcm9wZG93bn0gLSBQYXJlbnQgY29tcG9uZW50XG4gKiBAc2VlIHtAbGluayBEcm9wZG93bk9wdGlvbn0gLSBJbmRpdmlkdWFsIG9wdGlvbiBjb21wb25lbnRzXG4gKlxuICogQGFjY2Vzc2liaWxpdHlcbiAqIC0gVXNlcyByb2xlPVwibGlzdGJveFwiIHdpdGggcm9sZT1cIm9wdGlvblwiIHJvd3NcbiAqIC0gQXJyb3cga2V5cywgSG9tZSwgRW5kLCBFbnRlciwgU3BhY2UgYW5kIEVzY2FwZSBvbiB0aGUgdG9nZ2xlXG4gKi9cbmNvbnN0IERyb3Bkb3duT3B0aW9ucyA9ICh7XG4gICdhcmlhLWxhYmVsbGVkYnknOiBhcmlhTGFiZWxsZWRieU5hdGl2ZSxcbiAgYXJpYUxhYmVsbGVkYnksXG4gIGlkLFxuICBjaGlsZHJlbixcbn06IERyb3Bkb3duSXRlbXNMaXN0UHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIG9uQ2hhbmdlLFxuICAgIGFjdGl2ZUl0ZW0sXG4gICAgbWF4SGVpZ2h0ID0gMjAwLFxuICAgIGxpc3RSZWYsXG4gICAgcGxhY2VtZW50ID0gJ2JvdHRvbScsXG4gICAgYWN0aXZlVmFsdWUgPSBudWxsLFxuICAgIHNldEFjdGl2ZVZhbHVlLFxuICAgIHNlYXJjaGFibGUsXG4gICAgZW1wdHlTdGF0ZSxcbiAgfSA9IHVzZURyb3Bkb3duQ29udGV4dCgpO1xuICBjb25zdCBsYWJlbGxlZGJ5ID0gcmVzb2x2ZUFyaWFQcm9wKFxuICAgICdEcm9wZG93bk9wdGlvbnMnLFxuICAgICdhcmlhLWxhYmVsbGVkYnknLFxuICAgIGFyaWFMYWJlbGxlZGJ5TmF0aXZlLFxuICAgIGFyaWFMYWJlbGxlZGJ5LFxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPENvbnRleHRNZW51PE9wdGlvblZhbHVlPlxuICAgICAgcmVmPXtsaXN0UmVmfVxuICAgICAgaWQ9e2lkfVxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PXtsYWJlbGxlZGJ5fVxuICAgICAgY3NzPXtzZWFyY2hhYmxlID8gaW5TZWFyY2hDYXJkIDogbGlzdFBvc2l0aW9uKHBsYWNlbWVudCl9XG4gICAgICBzZWxlY3Rpb25Nb2RlPVwic2luZ2xlXCJcbiAgICAgIGl0ZW1zPXt0b0Ryb3Bkb3duTWVudUl0ZW1zKGNoaWxkcmVuKX1cbiAgICAgIHZhbHVlPXsoYWN0aXZlSXRlbT8udmFsdWUgYXMgT3B0aW9uVmFsdWUgfCB1bmRlZmluZWQpID8/IG51bGx9XG4gICAgICBvbkFjdGlvbj17KHZhbHVlKSA9PiBvbkNoYW5nZSh2YWx1ZSBhcyBzdHJpbmcpfVxuICAgICAgYWN0aXZlVmFsdWU9e2FjdGl2ZVZhbHVlfVxuICAgICAgb25BY3RpdmVWYWx1ZUNoYW5nZT17c2V0QWN0aXZlVmFsdWV9XG4gICAgICBtYXhIZWlnaHQ9e21heEhlaWdodH1cbiAgICAgIGVtcHR5U3RhdGU9e2VtcHR5U3RhdGV9XG4gICAgICB0YWJJbmRleD17LTF9XG4gICAgICBvbk1vdXNlRG93bj17a2VlcFRvZ2dsZUZvY3VzfVxuICAgIC8+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEcm9wZG93bk9wdGlvbnM7XG4iXX0= */");
|
|
28261
28292
|
|
|
28262
28293
|
/**
|
|
28263
28294
|
* DropdownOptions - Options menu container for Dropdown component
|
|
@@ -28308,14 +28339,16 @@ const DropdownOptions = ({
|
|
|
28308
28339
|
listRef,
|
|
28309
28340
|
placement = 'bottom',
|
|
28310
28341
|
activeValue = null,
|
|
28311
|
-
setActiveValue
|
|
28342
|
+
setActiveValue,
|
|
28343
|
+
searchable,
|
|
28344
|
+
emptyState
|
|
28312
28345
|
} = useDropdownContext();
|
|
28313
28346
|
const labelledby = resolveAriaProp('DropdownOptions', 'aria-labelledby', ariaLabelledbyNative, ariaLabelledby);
|
|
28314
28347
|
return (0,jsx_runtime_namespaceObject.jsx)(ContextMenu, {
|
|
28315
28348
|
ref: listRef,
|
|
28316
28349
|
id: id,
|
|
28317
28350
|
"aria-labelledby": labelledby,
|
|
28318
|
-
css: listPosition(placement),
|
|
28351
|
+
css: searchable ? inSearchCard : listPosition(placement),
|
|
28319
28352
|
selectionMode: "single",
|
|
28320
28353
|
items: toDropdownMenuItems(children),
|
|
28321
28354
|
value: activeItem?.value ?? null,
|
|
@@ -28323,6 +28356,7 @@ const DropdownOptions = ({
|
|
|
28323
28356
|
activeValue: activeValue,
|
|
28324
28357
|
onActiveValueChange: setActiveValue,
|
|
28325
28358
|
maxHeight: maxHeight,
|
|
28359
|
+
emptyState: emptyState,
|
|
28326
28360
|
tabIndex: -1,
|
|
28327
28361
|
onMouseDown: keepToggleFocus
|
|
28328
28362
|
});
|
|
@@ -28339,7 +28373,8 @@ const DropdownOptions = ({
|
|
|
28339
28373
|
* Keyboard for a dropdown toggle that keeps focus while it drives its list:
|
|
28340
28374
|
* arrows open it, then Arrow/Home/End move the highlight, Enter/Space pick,
|
|
28341
28375
|
* Escape/Tab close. Returns the toggle's handlers and its
|
|
28342
|
-
* `aria-activedescendant`.
|
|
28376
|
+
* `aria-activedescendant`. With `typing`, drives the list from a search input
|
|
28377
|
+
* instead.
|
|
28343
28378
|
*/
|
|
28344
28379
|
const useToggleListKeys = ({
|
|
28345
28380
|
listId,
|
|
@@ -28351,6 +28386,7 @@ const useToggleListKeys = ({
|
|
|
28351
28386
|
open,
|
|
28352
28387
|
close,
|
|
28353
28388
|
onPick,
|
|
28389
|
+
typing = false,
|
|
28354
28390
|
onKeyDown,
|
|
28355
28391
|
onKeyUp
|
|
28356
28392
|
}) => {
|
|
@@ -28370,6 +28406,7 @@ const useToggleListKeys = ({
|
|
|
28370
28406
|
}
|
|
28371
28407
|
return;
|
|
28372
28408
|
}
|
|
28409
|
+
if (typing && (event.key === ' ' || event.key === 'Home' || event.key === 'End')) return;
|
|
28373
28410
|
switch (event.key) {
|
|
28374
28411
|
case 'ArrowDown':
|
|
28375
28412
|
case 'ArrowUp':
|
|
@@ -28387,7 +28424,10 @@ const useToggleListKeys = ({
|
|
|
28387
28424
|
// cancelled on keyup.
|
|
28388
28425
|
event.preventDefault();
|
|
28389
28426
|
spaceHandled.current = event.key === ' ';
|
|
28390
|
-
if (isActiveListed) onPick(activeValue);
|
|
28427
|
+
if (isActiveListed) onPick(activeValue);
|
|
28428
|
+
// With nothing to pick (e.g. no search matches) the search box keeps
|
|
28429
|
+
// the list and the typed text.
|
|
28430
|
+
else if (!typing) close();
|
|
28391
28431
|
break;
|
|
28392
28432
|
case 'Escape':
|
|
28393
28433
|
event.preventDefault();
|
|
@@ -28412,6 +28452,103 @@ const useToggleListKeys = ({
|
|
|
28412
28452
|
'aria-activedescendant': activeDescendant
|
|
28413
28453
|
};
|
|
28414
28454
|
};
|
|
28455
|
+
;// ./src/components/DropdownOptions/DropdownSearch.tsx
|
|
28456
|
+
|
|
28457
|
+
|
|
28458
|
+
|
|
28459
|
+
/** Props of {@link DropdownSearch}. */
|
|
28460
|
+
|
|
28461
|
+
/*
|
|
28462
|
+
* Matches the Calendar time zone picker: a white card holding the search box
|
|
28463
|
+
* above the list. Positioned against the dropdown base, like the plain list.
|
|
28464
|
+
*/
|
|
28465
|
+
const panel = (theme, placement, zIndex) => /*#__PURE__*/(0,react_namespaceObject.css)({
|
|
28466
|
+
position: 'absolute',
|
|
28467
|
+
left: 0,
|
|
28468
|
+
width: '100%',
|
|
28469
|
+
zIndex,
|
|
28470
|
+
boxSizing: 'border-box',
|
|
28471
|
+
display: 'flex',
|
|
28472
|
+
flexDirection: 'column',
|
|
28473
|
+
gap: 8,
|
|
28474
|
+
padding: 8,
|
|
28475
|
+
borderRadius: 12,
|
|
28476
|
+
background: theme.colors.white,
|
|
28477
|
+
boxShadow: `0 10px 40px 0 ${theme.colors.greyShadow}`,
|
|
28478
|
+
...(placement === 'top' ? {
|
|
28479
|
+
bottom: '100%',
|
|
28480
|
+
margin: '0 0 4px'
|
|
28481
|
+
} : {
|
|
28482
|
+
top: '100%',
|
|
28483
|
+
margin: '4px 0 0'
|
|
28484
|
+
})
|
|
28485
|
+
}, process.env.NODE_ENV === "production" ? "" : ";label:panel;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMvRHJvcGRvd25TZWFyY2gudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJCRSIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91aS1raXQvdWkta2l0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRHJvcGRvd25PcHRpb25zL0Ryb3Bkb3duU2VhcmNoLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtleWJvYXJkRXZlbnQsIE1vdXNlRXZlbnQsIFJlYWN0Tm9kZSwgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MsIFRoZW1lLCB1c2VUaGVtZSB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuLyoqIFByb3BzIG9mIHtAbGluayBEcm9wZG93blNlYXJjaH0uICovXG5leHBvcnQgaW50ZXJmYWNlIERyb3Bkb3duU2VhcmNoUHJvcHMge1xuICAvKiogVHlwZWQgdGV4dC4gKi9cbiAgcXVlcnk6IHN0cmluZztcbiAgb25RdWVyeUNoYW5nZTogKHF1ZXJ5OiBzdHJpbmcpID0+IHZvaWQ7XG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIC8qKiBJZCBvZiB0aGUgbGlzdCB0aGUgaW5wdXQgZHJpdmVzLiAqL1xuICBsaXN0SWQ6IHN0cmluZztcbiAgLyoqIE9wZW5zIHVwd2FyZCBvciBkb3dud2FyZCBmcm9tIHRoZSB0b2dnbGUuICovXG4gIHBsYWNlbWVudD86ICd0b3AnIHwgJ2JvdHRvbSc7XG4gIHpJbmRleD86IG51bWJlcjtcbiAgLyoqIFRoZSBoaWdobGlnaHRlZCBvcHRpb24ncyBpZC4gKi9cbiAgJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCc/OiBzdHJpbmc7XG4gIG9uS2V5RG93bjogKGV2ZW50OiBLZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB2b2lkO1xuICBvbktleVVwPzogKGV2ZW50OiBLZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB2b2lkO1xuICAvKiogVGhlIG9wdGlvbnMgbGlzdC4gKi9cbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn1cblxuLypcbiAqIE1hdGNoZXMgdGhlIENhbGVuZGFyIHRpbWUgem9uZSBwaWNrZXI6IGEgd2hpdGUgY2FyZCBob2xkaW5nIHRoZSBzZWFyY2ggYm94XG4gKiBhYm92ZSB0aGUgbGlzdC4gUG9zaXRpb25lZCBhZ2FpbnN0IHRoZSBkcm9wZG93biBiYXNlLCBsaWtlIHRoZSBwbGFpbiBsaXN0LlxuICovXG5jb25zdCBwYW5lbCA9ICh0aGVtZTogVGhlbWUsIHBsYWNlbWVudDogJ3RvcCcgfCAnYm90dG9tJywgekluZGV4OiBudW1iZXIpID0+XG4gIGNzcyh7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgbGVmdDogMCxcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIHpJbmRleCxcbiAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgZ2FwOiA4LFxuICAgIHBhZGRpbmc6IDgsXG4gICAgYm9yZGVyUmFkaXVzOiAxMixcbiAgICBiYWNrZ3JvdW5kOiB0aGVtZS5jb2xvcnMud2hpdGUsXG4gICAgYm94U2hhZG93OiBgMCAxMHB4IDQwcHggMCAke3RoZW1lLmNvbG9ycy5ncmV5U2hhZG93fWAsXG4gICAgLi4uKHBsYWNlbWVudCA9PT0gJ3RvcCdcbiAgICAgID8geyBib3R0b206ICcxMDAlJywgbWFyZ2luOiAnMCAwIDRweCcgfVxuICAgICAgOiB7IHRvcDogJzEwMCUnLCBtYXJnaW46ICc0cHggMCAwJyB9KSxcbiAgfSk7XG5cbmNvbnN0IGlucHV0ID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgY3NzKHtcbiAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIGhlaWdodDogMzYsXG4gICAgcGFkZGluZzogJzAgMTJweCcsXG4gICAgZm9udDogJ2luaGVyaXQnLFxuICAgIGZvbnRTaXplOiAxNCxcbiAgICBmb250V2VpZ2h0OiA1MDAsXG4gICAgbGluZUhlaWdodDogJzE4cHgnLFxuICAgIGJvcmRlcjogYDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5ncmV5Rm9jdXNlZH1gLFxuICAgIGJvcmRlclJhZGl1czogOCxcbiAgICBjb2xvcjogdGhlbWUuY29sb3JzLmdyZXlEYXJrZXIsXG4gICAgYmFja2dyb3VuZDogdGhlbWUuY29sb3JzLndoaXRlLFxuICAgIG91dGxpbmU6ICdub25lJyxcbiAgICAnJjpmb2N1cyc6IHsgYm9yZGVyQ29sb3I6IHRoZW1lLnBhbGV0dGUucHJpbWFyeS5tYWluIH0sXG4gIH0pO1xuXG4vLyBDbGlja3Mgb24gdGhlIGNhcmQncyBwYWRkaW5nIGtlZXAgZm9jdXMgaW4gdGhlIHNlYXJjaCBib3guXG5jb25zdCBrZWVwSW5wdXRGb2N1cyA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICBpZiAoIShldmVudC50YXJnZXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KSkgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbn07XG5cbi8qKlxuICogVGhlIG9wZW4gbGlzdCBvZiBhIHNlYXJjaGFibGUgYERyb3Bkb3duYCAvIGBNdWx0aXBsZURyb3Bkb3duYDogYSBzZWFyY2ggYm94LFxuICogZm9jdXNlZCBvbiBvcGVuLCBhYm92ZSB0aGUgb3B0aW9ucy4gVGhlIGJveCBpcyB0aGUgY29tYm9ib3ggd2hpbGUgdGhlIGxpc3RcbiAqIGlzIG9wZW4g4oCUIGl0IGtlZXBzIGZvY3VzIGFuZCBwb2ludHMgYXQgdGhlIGhpZ2hsaWdodGVkIG9wdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IERyb3Bkb3duU2VhcmNoID0gKHtcbiAgcXVlcnksXG4gIG9uUXVlcnlDaGFuZ2UsXG4gIHBsYWNlaG9sZGVyLFxuICBsaXN0SWQsXG4gIHBsYWNlbWVudCA9ICdib3R0b20nLFxuICB6SW5kZXggPSAyLFxuICBjaGlsZHJlbixcbiAgLi4uaW5wdXRQcm9wc1xufTogRHJvcGRvd25TZWFyY2hQcm9wcykgPT4ge1xuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKCk7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcbiAgdXNlRWZmZWN0KCgpID0+IHJlZi5jdXJyZW50Py5mb2N1cygpLCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICAvLyBQb2ludGVyLW9ubHkgZm9jdXMgZ3VhcmQ7IHRoZSBrZXlib2FyZCBsaXZlcyBvbiB0aGUgaW5wdXQuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzeC1hMTF5L25vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9uc1xuICAgIDxkaXYgY3NzPXtwYW5lbCh0aGVtZSwgcGxhY2VtZW50LCB6SW5kZXgpfSBvbk1vdXNlRG93bj17a2VlcElucHV0Rm9jdXN9PlxuICAgICAgPGlucHV0XG4gICAgICAgIHsuLi5pbnB1dFByb3BzfVxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICByb2xlPVwiY29tYm9ib3hcIlxuICAgICAgICBhcmlhLWxhYmVsPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgYXJpYS1leHBhbmRlZFxuICAgICAgICBhcmlhLWNvbnRyb2xzPXtsaXN0SWR9XG4gICAgICAgIGFyaWEtYXV0b2NvbXBsZXRlPVwibGlzdFwiXG4gICAgICAgIGF1dG9Db21wbGV0ZT1cIm9mZlwiXG4gICAgICAgIGNzcz17aW5wdXQodGhlbWUpfVxuICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgIHZhbHVlPXtxdWVyeX1cbiAgICAgICAgb25DaGFuZ2U9eyhldmVudCkgPT4gb25RdWVyeUNoYW5nZShldmVudC50YXJnZXQudmFsdWUpfVxuICAgICAgLz5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXX0= */");
|
|
28486
|
+
const input = theme => /*#__PURE__*/(0,react_namespaceObject.css)({
|
|
28487
|
+
boxSizing: 'border-box',
|
|
28488
|
+
width: '100%',
|
|
28489
|
+
height: 36,
|
|
28490
|
+
padding: '0 12px',
|
|
28491
|
+
font: 'inherit',
|
|
28492
|
+
fontSize: 14,
|
|
28493
|
+
fontWeight: 500,
|
|
28494
|
+
lineHeight: '18px',
|
|
28495
|
+
border: `1px solid ${theme.colors.greyFocused}`,
|
|
28496
|
+
borderRadius: 8,
|
|
28497
|
+
color: theme.colors.greyDarker,
|
|
28498
|
+
background: theme.colors.white,
|
|
28499
|
+
outline: 'none',
|
|
28500
|
+
'&:focus': {
|
|
28501
|
+
borderColor: theme.palette.primary.main
|
|
28502
|
+
}
|
|
28503
|
+
}, process.env.NODE_ENV === "production" ? "" : ";label:input;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMvRHJvcGRvd25TZWFyY2gudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThDRSIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91aS1raXQvdWkta2l0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRHJvcGRvd25PcHRpb25zL0Ryb3Bkb3duU2VhcmNoLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtleWJvYXJkRXZlbnQsIE1vdXNlRXZlbnQsIFJlYWN0Tm9kZSwgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MsIFRoZW1lLCB1c2VUaGVtZSB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuLyoqIFByb3BzIG9mIHtAbGluayBEcm9wZG93blNlYXJjaH0uICovXG5leHBvcnQgaW50ZXJmYWNlIERyb3Bkb3duU2VhcmNoUHJvcHMge1xuICAvKiogVHlwZWQgdGV4dC4gKi9cbiAgcXVlcnk6IHN0cmluZztcbiAgb25RdWVyeUNoYW5nZTogKHF1ZXJ5OiBzdHJpbmcpID0+IHZvaWQ7XG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIC8qKiBJZCBvZiB0aGUgbGlzdCB0aGUgaW5wdXQgZHJpdmVzLiAqL1xuICBsaXN0SWQ6IHN0cmluZztcbiAgLyoqIE9wZW5zIHVwd2FyZCBvciBkb3dud2FyZCBmcm9tIHRoZSB0b2dnbGUuICovXG4gIHBsYWNlbWVudD86ICd0b3AnIHwgJ2JvdHRvbSc7XG4gIHpJbmRleD86IG51bWJlcjtcbiAgLyoqIFRoZSBoaWdobGlnaHRlZCBvcHRpb24ncyBpZC4gKi9cbiAgJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCc/OiBzdHJpbmc7XG4gIG9uS2V5RG93bjogKGV2ZW50OiBLZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB2b2lkO1xuICBvbktleVVwPzogKGV2ZW50OiBLZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB2b2lkO1xuICAvKiogVGhlIG9wdGlvbnMgbGlzdC4gKi9cbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn1cblxuLypcbiAqIE1hdGNoZXMgdGhlIENhbGVuZGFyIHRpbWUgem9uZSBwaWNrZXI6IGEgd2hpdGUgY2FyZCBob2xkaW5nIHRoZSBzZWFyY2ggYm94XG4gKiBhYm92ZSB0aGUgbGlzdC4gUG9zaXRpb25lZCBhZ2FpbnN0IHRoZSBkcm9wZG93biBiYXNlLCBsaWtlIHRoZSBwbGFpbiBsaXN0LlxuICovXG5jb25zdCBwYW5lbCA9ICh0aGVtZTogVGhlbWUsIHBsYWNlbWVudDogJ3RvcCcgfCAnYm90dG9tJywgekluZGV4OiBudW1iZXIpID0+XG4gIGNzcyh7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgbGVmdDogMCxcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIHpJbmRleCxcbiAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgZ2FwOiA4LFxuICAgIHBhZGRpbmc6IDgsXG4gICAgYm9yZGVyUmFkaXVzOiAxMixcbiAgICBiYWNrZ3JvdW5kOiB0aGVtZS5jb2xvcnMud2hpdGUsXG4gICAgYm94U2hhZG93OiBgMCAxMHB4IDQwcHggMCAke3RoZW1lLmNvbG9ycy5ncmV5U2hhZG93fWAsXG4gICAgLi4uKHBsYWNlbWVudCA9PT0gJ3RvcCdcbiAgICAgID8geyBib3R0b206ICcxMDAlJywgbWFyZ2luOiAnMCAwIDRweCcgfVxuICAgICAgOiB7IHRvcDogJzEwMCUnLCBtYXJnaW46ICc0cHggMCAwJyB9KSxcbiAgfSk7XG5cbmNvbnN0IGlucHV0ID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgY3NzKHtcbiAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIGhlaWdodDogMzYsXG4gICAgcGFkZGluZzogJzAgMTJweCcsXG4gICAgZm9udDogJ2luaGVyaXQnLFxuICAgIGZvbnRTaXplOiAxNCxcbiAgICBmb250V2VpZ2h0OiA1MDAsXG4gICAgbGluZUhlaWdodDogJzE4cHgnLFxuICAgIGJvcmRlcjogYDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5ncmV5Rm9jdXNlZH1gLFxuICAgIGJvcmRlclJhZGl1czogOCxcbiAgICBjb2xvcjogdGhlbWUuY29sb3JzLmdyZXlEYXJrZXIsXG4gICAgYmFja2dyb3VuZDogdGhlbWUuY29sb3JzLndoaXRlLFxuICAgIG91dGxpbmU6ICdub25lJyxcbiAgICAnJjpmb2N1cyc6IHsgYm9yZGVyQ29sb3I6IHRoZW1lLnBhbGV0dGUucHJpbWFyeS5tYWluIH0sXG4gIH0pO1xuXG4vLyBDbGlja3Mgb24gdGhlIGNhcmQncyBwYWRkaW5nIGtlZXAgZm9jdXMgaW4gdGhlIHNlYXJjaCBib3guXG5jb25zdCBrZWVwSW5wdXRGb2N1cyA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICBpZiAoIShldmVudC50YXJnZXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KSkgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbn07XG5cbi8qKlxuICogVGhlIG9wZW4gbGlzdCBvZiBhIHNlYXJjaGFibGUgYERyb3Bkb3duYCAvIGBNdWx0aXBsZURyb3Bkb3duYDogYSBzZWFyY2ggYm94LFxuICogZm9jdXNlZCBvbiBvcGVuLCBhYm92ZSB0aGUgb3B0aW9ucy4gVGhlIGJveCBpcyB0aGUgY29tYm9ib3ggd2hpbGUgdGhlIGxpc3RcbiAqIGlzIG9wZW4g4oCUIGl0IGtlZXBzIGZvY3VzIGFuZCBwb2ludHMgYXQgdGhlIGhpZ2hsaWdodGVkIG9wdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IERyb3Bkb3duU2VhcmNoID0gKHtcbiAgcXVlcnksXG4gIG9uUXVlcnlDaGFuZ2UsXG4gIHBsYWNlaG9sZGVyLFxuICBsaXN0SWQsXG4gIHBsYWNlbWVudCA9ICdib3R0b20nLFxuICB6SW5kZXggPSAyLFxuICBjaGlsZHJlbixcbiAgLi4uaW5wdXRQcm9wc1xufTogRHJvcGRvd25TZWFyY2hQcm9wcykgPT4ge1xuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKCk7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcbiAgdXNlRWZmZWN0KCgpID0+IHJlZi5jdXJyZW50Py5mb2N1cygpLCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICAvLyBQb2ludGVyLW9ubHkgZm9jdXMgZ3VhcmQ7IHRoZSBrZXlib2FyZCBsaXZlcyBvbiB0aGUgaW5wdXQuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzeC1hMTF5L25vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9uc1xuICAgIDxkaXYgY3NzPXtwYW5lbCh0aGVtZSwgcGxhY2VtZW50LCB6SW5kZXgpfSBvbk1vdXNlRG93bj17a2VlcElucHV0Rm9jdXN9PlxuICAgICAgPGlucHV0XG4gICAgICAgIHsuLi5pbnB1dFByb3BzfVxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICByb2xlPVwiY29tYm9ib3hcIlxuICAgICAgICBhcmlhLWxhYmVsPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgYXJpYS1leHBhbmRlZFxuICAgICAgICBhcmlhLWNvbnRyb2xzPXtsaXN0SWR9XG4gICAgICAgIGFyaWEtYXV0b2NvbXBsZXRlPVwibGlzdFwiXG4gICAgICAgIGF1dG9Db21wbGV0ZT1cIm9mZlwiXG4gICAgICAgIGNzcz17aW5wdXQodGhlbWUpfVxuICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgIHZhbHVlPXtxdWVyeX1cbiAgICAgICAgb25DaGFuZ2U9eyhldmVudCkgPT4gb25RdWVyeUNoYW5nZShldmVudC50YXJnZXQudmFsdWUpfVxuICAgICAgLz5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXX0= */");
|
|
28504
|
+
|
|
28505
|
+
// Clicks on the card's padding keep focus in the search box.
|
|
28506
|
+
const keepInputFocus = event => {
|
|
28507
|
+
if (!(event.target instanceof HTMLInputElement)) event.preventDefault();
|
|
28508
|
+
};
|
|
28509
|
+
|
|
28510
|
+
/**
|
|
28511
|
+
* The open list of a searchable `Dropdown` / `MultipleDropdown`: a search box,
|
|
28512
|
+
* focused on open, above the options. The box is the combobox while the list
|
|
28513
|
+
* is open — it keeps focus and points at the highlighted option.
|
|
28514
|
+
*/
|
|
28515
|
+
const DropdownSearch = ({
|
|
28516
|
+
query,
|
|
28517
|
+
onQueryChange,
|
|
28518
|
+
placeholder,
|
|
28519
|
+
listId,
|
|
28520
|
+
placement = 'bottom',
|
|
28521
|
+
zIndex = 2,
|
|
28522
|
+
children,
|
|
28523
|
+
...inputProps
|
|
28524
|
+
}) => {
|
|
28525
|
+
const theme = (0,react_namespaceObject.useTheme)();
|
|
28526
|
+
const ref = (0,external_react_.useRef)(null);
|
|
28527
|
+
(0,external_react_.useEffect)(() => ref.current?.focus(), []);
|
|
28528
|
+
return (
|
|
28529
|
+
// Pointer-only focus guard; the keyboard lives on the input.
|
|
28530
|
+
// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
28531
|
+
(0,jsx_runtime_namespaceObject.jsxs)("div", {
|
|
28532
|
+
css: panel(theme, placement, zIndex),
|
|
28533
|
+
onMouseDown: keepInputFocus,
|
|
28534
|
+
children: [(0,jsx_runtime_namespaceObject.jsx)("input", {
|
|
28535
|
+
...inputProps,
|
|
28536
|
+
ref: ref,
|
|
28537
|
+
type: "text",
|
|
28538
|
+
role: "combobox",
|
|
28539
|
+
"aria-label": placeholder,
|
|
28540
|
+
"aria-expanded": true,
|
|
28541
|
+
"aria-controls": listId,
|
|
28542
|
+
"aria-autocomplete": "list",
|
|
28543
|
+
autoComplete: "off",
|
|
28544
|
+
css: input(theme),
|
|
28545
|
+
placeholder: placeholder,
|
|
28546
|
+
value: query,
|
|
28547
|
+
onChange: event => onQueryChange(event.target.value)
|
|
28548
|
+
}), children]
|
|
28549
|
+
})
|
|
28550
|
+
);
|
|
28551
|
+
};
|
|
28415
28552
|
;// ./src/components/Dropdown/types.ts
|
|
28416
28553
|
let DropdownPositions = /*#__PURE__*/function (DropdownPositions) {
|
|
28417
28554
|
DropdownPositions["top"] = "top";
|
|
@@ -28492,6 +28629,7 @@ function Dropdown_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to s
|
|
|
28492
28629
|
|
|
28493
28630
|
|
|
28494
28631
|
|
|
28632
|
+
|
|
28495
28633
|
/*
|
|
28496
28634
|
* Both levels are shrink-to-fit, and a shrink-to-fit box sizes to its
|
|
28497
28635
|
* min-content when that exceeds the space available -- for a nowrap label that
|
|
@@ -28510,7 +28648,7 @@ const DropdownFieldWrapper = /*#__PURE__*/base_default()("div", process.env.NODE
|
|
|
28510
28648
|
styles: "display:inline-flex;flex-direction:column;align-items:flex-start;max-width:100%"
|
|
28511
28649
|
} : {
|
|
28512
28650
|
name: "1rcmy00",
|
|
28513
|
-
styles: "display:inline-flex;flex-direction:column;align-items:flex-start;max-width:100%/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9Ecm9wZG93bi9Ecm9wZG93bi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0N1QyIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91aS1raXQvdWkta2l0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVN0YXRlLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlUmVmLFxuICB1c2VJZCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IHVzZUNsaWNrT3V0c2lkZSB9IGZyb20gJ0Bzc2EtdWkta2l0L2hvb2tzJztcbmltcG9ydCB7IGlzTmlsbCB9IGZyb20gJ0Bzc2EtdWkta2l0L3V0aWxzJztcblxuaW1wb3J0IERyb3Bkb3duVG9nZ2xlIGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duVG9nZ2xlJztcbmltcG9ydCBEcm9wZG93bkFycm93IGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duQXJyb3cnO1xuaW1wb3J0IERyb3Bkb3duT3B0aW9ucyBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMnO1xuaW1wb3J0IHtcbiAgZmxhdHRlbkRyb3Bkb3duT3B0aW9ucyxcbiAgdG9Ecm9wZG93bk1lbnVJdGVtcyxcbn0gZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25PcHRpb25zL3V0aWxzJztcbmltcG9ydCB7IHVzZVRvZ2dsZUxpc3RLZXlzIH0gZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25PcHRpb25zL3VzZVRvZ2dsZUxpc3RLZXlzJztcbmltcG9ydCB7IGdldE5leHRBY3RpdmVWYWx1ZSB9IGZyb20gJ0Bjb21wb25lbnRzL0NvbnRleHRNZW51JztcbmltcG9ydCB7IGZsYXR0ZW5JdGVtcyB9IGZyb20gJ0Bjb21wb25lbnRzL0NvbnRleHRNZW51L3V0aWxzJztcbmltcG9ydCBBdmF0YXIsIHsgQXZhdGFyU2l6ZXMgfSBmcm9tICdAY29tcG9uZW50cy9BdmF0YXInO1xuaW1wb3J0IEljb24gZnJvbSAnQGNvbXBvbmVudHMvSWNvbic7XG5pbXBvcnQgTGFiZWwgZnJvbSAnQGNvbXBvbmVudHMvTGFiZWwnO1xuaW1wb3J0IEZvcm1IZWxwZXJUZXh0IGZyb20gJ0Bjb21wb25lbnRzL0Zvcm1IZWxwZXJUZXh0JztcbmltcG9ydCBEcm9wZG93bkNvbnRleHQgZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24uY29udGV4dCc7XG5pbXBvcnQgeyByZXNvbHZlRGlzYWJsZWQgfSBmcm9tICdAdXRpbHMvZGVwcmVjYXRpb24nO1xuaW1wb3J0IHsgRHJvcGRvd25PcHRpb25Qcm9wcyB9IGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duT3B0aW9ucy90eXBlcyc7XG5cbmltcG9ydCB7IERyb3Bkb3duQ29udGV4dFR5cGUsIERyb3Bkb3duUG9zaXRpb25zLCBEcm9wZG93blByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qXG4gKiBCb3RoIGxldmVscyBhcmUgc2hyaW5rLXRvLWZpdCwgYW5kIGEgc2hyaW5rLXRvLWZpdCBib3ggc2l6ZXMgdG8gaXRzXG4gKiBtaW4tY29udGVudCB3aGVuIHRoYXQgZXhjZWVkcyB0aGUgc3BhY2UgYXZhaWxhYmxlIC0tIGZvciBhIG5vd3JhcCBsYWJlbCB0aGF0XG4gKiBpcyB0aGUgZW50aXJlIHN0cmluZywgc28gdGhlIGRyb3Bkb3duIHdvdWxkIGdyb3cgcGFzdCBpdHMgY29udGFpbmVyIGluc3RlYWRcbiAqIG9mIGVsbGlwc2lzaW5nLiBgbWF4LXdpZHRoOiAxMDAlYCBnaXZlcyBlYWNoIGxldmVsIGEgZGVmaW5pdGUgd2lkdGggdG9cbiAqIHJlc29sdmUgYWdhaW5zdCwgd2hpY2ggaXMgd2hhdCBhY3R1YWxseSBsZXRzIHRoZSBsYWJlbCBjbGlwLlxuICovXG5jb25zdCBEcm9wZG93bkZpZWxkV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CYXNlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogMTAwJTtcbmA7XG5cbmNvbnN0IFNlbGVjdGVkQ29udGVudCA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIG1pbi13aWR0aDogMDtcbmA7XG5cbi8qKlxuICogS2VlcHMgdGhlIHNlbGVjdGVkIHZhbHVlIG9uIGEgc2luZ2xlIGxpbmUgYW5kIGVsbGlwc2lzZXMgaXQuIFdpdGhvdXQgdGhpcyB0aGVcbiAqIGxhYmVsIHdyYXBzIGFuZCwgYmVjYXVzZSB0aGUgdG9nZ2xlIGlzIGEgZml4ZWQgNDRweCwgc3BpbGxzIGFib3ZlIGFuZCBiZWxvd1xuICogdGhlIGJvcmRlci4gYG1pbi13aWR0aDogMGAgaXMgd2hhdCBsZXRzIHRoZSB0b2dnbGUgc2hyaW5rIGJlbG93IHRoZSBsYWJlbCdzXG4gKiBpbnRyaW5zaWMgd2lkdGggYXQgYWxsIOKAlCBhIG5vd3JhcCBmbGV4IGl0ZW0gb3RoZXJ3aXNlIHJlcG9ydHMgaXRzIGZ1bGwgdGV4dFxuICogd2lkdGggYXMgaXRzIG1pbmltdW0sIHNvIHRoZSBkcm9wZG93biB3b3VsZCBrZWVwIGdyb3dpbmcgaW5zdGVhZCBvZiBjbGlwcGluZy5cbiAqL1xuY29uc3QgU2VsZWN0ZWRMYWJlbCA9IHN0eWxlZC5zcGFuYFxuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgbWluLXdpZHRoOiAwO1xuYDtcblxuY29uc3QgTGVhZGluZ0VsZW1lbnQgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYDtcblxuLyoqXG4gKiBEcm9wZG93biAtIFNlbGVjdC1saWtlIGRyb3Bkb3duIGNvbXBvbmVudCBmb3Igc2luZ2xlIHNlbGVjdGlvblxuICpcbiAqIEEgZmxleGlibGUgZHJvcGRvd24gY29tcG9uZW50IHRoYXQgYWxsb3dzIHVzZXJzIHRvIHNlbGVjdCBvbmUgb3B0aW9uIGZyb21cbiAqIGEgbGlzdCBvZiBjaG9pY2VzLiBVc2VzIGEgY29tcG91bmQgY29tcG9uZW50IHBhdHRlcm4gd2l0aCBEcm9wZG93bk9wdGlvblxuICogY2hpbGRyZW4uIFByb3ZpZGVzIGtleWJvYXJkIG5hdmlnYXRpb24sIGFjY2Vzc2liaWxpdHkgZmVhdHVyZXMsIGNsaWNrLW91dHNpZGVcbiAqIHRvIGNsb3NlIGZ1bmN0aW9uYWxpdHksIGFuZCBhdXRvbWF0aWMgdmlld3BvcnQtYXdhcmUgcGxhY2VtZW50IG9mIHRoZSBvcHRpb25zIGxpc3QuXG4gKlxuICogT24gZXZlcnkgb3BlbiB0aGUgY29tcG9uZW50IG1lYXN1cmVzIGF2YWlsYWJsZSBzcGFjZSBiZWxvdyB0aGUgdG9nZ2xlIGJ1dHRvblxuICogYW5kIGZsaXBzIHRoZSBsaXN0IHVwd2FyZCB3aGVuIHRoZXJlIGlzIG5vdCBlbm91Z2ggcm9vbSwgcHJldmVudGluZyB0aGUgbGlzdFxuICogZnJvbSBiZWluZyBjbGlwcGVkIGJ5IHRoZSB2aWV3cG9ydCBlZGdlLiBUaGlzIGJlaGF2aW9yIGNhbiBiZSBvdmVycmlkZGVuIHZpYVxuICogZHJvcGRvd25Qcm9wcy5kcm9wZG93blBvc2l0aW9uLlxuICpcbiAqIENvbXBvbmVudCBzdHJ1Y3R1cmU6XG4gKiAtIERyb3Bkb3duIChyb290IGNvbnRhaW5lciB3aXRoIGNvbnRleHQpXG4gKiAgIC0gRHJvcGRvd25Ub2dnbGUgKGJ1dHRvbiB0aGF0IG9wZW5zL2Nsb3NlcyBkcm9wZG93bilcbiAqICAgLSBEcm9wZG93bk9wdGlvbnMgKG1lbnUgY29udGFpbmVyIHRoYXQgYXBwZWFycyB3aGVuIG9wZW4pXG4gKiAgICAgLSBEcm9wZG93bk9wdGlvbiAoaW5kaXZpZHVhbCBzZWxlY3RhYmxlIGl0ZW1zKVxuICpcbiAqIEBjYXRlZ29yeSBGb3JtIENvbnRyb2xzXG4gKiBAc3ViY2F0ZWdvcnkgU2VsZWN0aW9uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgaXRlbXMgPSBbXG4gKiAgIHsgaWQ6IDEsIHZhbHVlOiAnQXBwbGUnIH0sXG4gKiAgIHsgaWQ6IDIsIHZhbHVlOiAnQmFuYW5hJyB9LFxuICogICB7IGlkOiAzLCB2YWx1ZTogJ0NoZXJyeScgfSxcbiAqIF07XG4gKlxuICogPERyb3Bkb3duXG4gKiAgIHNlbGVjdGVkSXRlbT17aXRlbXNbMF19XG4gKiAgIG9uQ2hhbmdlPXsoaXRlbSkgPT4gaGFuZGxlU2VsZWN0aW9uKGl0ZW0pfVxuICogICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBhIGZydWl0XCJcbiAqID5cbiAqICAge2l0ZW1zLm1hcChpdGVtID0+IChcbiAqICAgICA8RHJvcGRvd25PcHRpb24ga2V5PXtpdGVtLmlkfSB2YWx1ZT17aXRlbS5pZH0+XG4gKiAgICAgICB7aXRlbS52YWx1ZX1cbiAqICAgICA8L0Ryb3Bkb3duT3B0aW9uPlxuICogICApKX1cbiAqIDwvRHJvcGRvd24+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiAvLyBDb250cm9sbGVkIG9wZW4gc3RhdGVcbiAqIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gKiA8RHJvcGRvd25cbiAqICAgaXNPcGVuPXtpc09wZW59XG4gKiAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gKiAgIHNlbGVjdGVkSXRlbT17c2VsZWN0ZWR9XG4gKiA+XG4gKiAgIHtvcHRpb25zLm1hcChvcHQgPT4gKFxuICogICAgIDxEcm9wZG93bk9wdGlvbiBrZXk9e29wdC5pZH0gdmFsdWU9e29wdC5pZH0+XG4gKiAgICAgICB7b3B0LmxhYmVsfVxuICogICAgIDwvRHJvcGRvd25PcHRpb24+XG4gKiAgICkpfVxuICogPC9Ecm9wZG93bj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIFdpdGggY3VzdG9tIHByb3BzIGZvciBzdWItY29tcG9uZW50cyBhbmQgZm9yY2VkIHVwd2FyZCBwbGFjZW1lbnRcbiAqIDxEcm9wZG93blxuICogICBzZWxlY3RlZEl0ZW09e3NlbGVjdGVkfVxuICogICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICogICBkcm9wZG93blByb3BzPXt7XG4gKiAgICAgYmFzZTogeyBpZDogJ215LWRyb3Bkb3duJyB9LFxuICogICAgIHRvZ2dsZUJ1dHRvbjogeyAnZGF0YS10ZXN0aWQnOiAnZHJvcGRvd24tdG9nZ2xlJyB9LFxuICogICAgIHRvZ2dsZUJ1dHRvbkFycm93OiB7IGNsYXNzTmFtZTogJ2N1c3RvbS1hcnJvdycgfSxcbiAqICAgICBkcm9wZG93blBvc2l0aW9uOiBEcm9wZG93blBvc2l0aW9ucy50b3AsXG4gKiAgIH19XG4gKiA+XG4gKiAgIHtvcHRpb25zLm1hcChvcHQgPT4gKFxuICogICAgIDxEcm9wZG93bk9wdGlvbiBrZXk9e29wdC5pZH0gdmFsdWU9e29wdC5pZH0+XG4gKiAgICAgICB7b3B0LmxhYmVsfVxuICogICAgIDwvRHJvcGRvd25PcHRpb24+XG4gKiAgICkpfVxuICogPC9Ecm9wZG93bj5cbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIERyb3Bkb3duT3B0aW9ufSAtIENoaWxkIGNvbXBvbmVudCBmb3IgaW5kaXZpZHVhbCBvcHRpb25zXG4gKiBAc2VlIHtAbGluayBEcm9wZG93blRvZ2dsZX0gLSBUb2dnbGUgYnV0dG9uIGNvbXBvbmVudFxuICogQHNlZSB7QGxpbmsgRHJvcGRvd25PcHRpb25zfSAtIE9wdGlvbnMgbWVudSBjb250YWluZXJcbiAqXG4gKiBAYWNjZXNzaWJpbGl0eVxuICogLSBBUklBIGF0dHJpYnV0ZXMgc2V0IGFjY29yZGluZyB0byBXQUktQVJJQSBjb21ib2JveCBwYXR0ZXJuXG4gKiAtIEtleWJvYXJkIG5hdmlnYXRpb24gKEFycm93IGtleXMsIEVudGVyLCBFc2NhcGUpXG4gKiAtIENsaWNrIG91dHNpZGUgdG8gY2xvc2VcbiAqIC0gU2NyZWVuIHJlYWRlciBmcmllbmRseVxuICogLSBGb2N1cyBtYW5hZ2VtZW50XG4gKlxuICogQHNlZSBodHRwczovL3d3dy53My5vcmcvV0FJL0FSSUEvYXBnL2V4YW1wbGUtaW5kZXgvY29tYm9ib3gvY29tYm9ib3gtc2VsZWN0LW9ubHkuaHRtbFxuICovXG5jb25zdCBEcm9wZG93biA9IDxUIGV4dGVuZHMgRHJvcGRvd25PcHRpb25Qcm9wcz4oe1xuICBzZWxlY3RlZEl0ZW0sXG4gIGRpc2FibGVkLFxuICBpc0Rpc2FibGVkLFxuICBpc09wZW46IGlzSW5pdE9wZW4sXG4gIGNoaWxkcmVuLFxuICBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLFxuICBjbGFzc05hbWUsXG4gIHBsYWNlaG9sZGVyID0gJ1NlbGVjdCBzb21ldGhpbmcnLFxuICBtYXhIZWlnaHQgPSAyMDAsXG4gIGF2YXRhckJvcmRlciA9IGZhbHNlLFxuICBsYWJlbCxcbiAgbGFiZWxCYWRnZSxcbiAgaGVscGVyVGV4dCxcbiAgZXJyb3JzLFxuICBzdWNjZXNzLFxuICBpY29uLFxuICB3aWR0aCxcbiAgZHJvcGRvd25Qcm9wczogY29tcG9uZW50UHJvcHMsXG59OiBEcm9wZG93blByb3BzPFQ+KSA9PiB7XG4gIGNvbnN0IGlzRHJvcGRvd25EaXNhYmxlZCA9IHJlc29sdmVEaXNhYmxlZCgnRHJvcGRvd24nLCBkaXNhYmxlZCwgaXNEaXNhYmxlZCk7XG4gIGNvbnN0IHN0YXR1cyA9IHN1Y2Nlc3MgPyAnc3VjY2VzcycgOiBlcnJvcnMgPyAnZXJyb3InIDogJ2Jhc2ljJztcbiAgY29uc3QgeyBkcm9wZG93blBvc2l0aW9uID0gRHJvcGRvd25Qb3NpdGlvbnMuYXV0byB9ID0gY29tcG9uZW50UHJvcHMgPz8ge307XG4gIC8vIGB3aWR0aGAgaGFzIG5vIGRlZmF1bHQ6IHdpdGhvdXQgaXQgZXZlcnkgbGV2ZWwga2VlcHMgc2hyaW5rLXdyYXBwaW5nLCB3aGljaFxuICAvLyBpcyB0aGUgaGlzdG9yaWNhbCBiZWhhdmlvdXIuIFdoZW4gc2V0LCBhbGwgdGhyZWUgbmVzdGVkIGxldmVsc1xuICAvLyAod3JhcHBlciAtPiBiYXNlIC0+IHRvZ2dsZSkgaGF2ZSB0byBiZSBzdHJldGNoZWQg4oCUIHNpemluZyBvbmx5IG9uZSBpcyBhXG4gIC8vIG5vLW9wLCBiZWNhdXNlIHRoZSBsZXZlbCBhYm92ZSBpdCBpcyBzdGlsbCBzaXplZCB0byBpdHMgY29udGVudC5cbiAgLy9cbiAgLy8gT25seSB0aGUgb3V0ZXJtb3N0IGxldmVsIGdldHMgdGhlIHJlcXVlc3RlZCB2YWx1ZTsgdGhlIGlubmVyIHR3byBnZXQgMTAwJS5cbiAgLy8gUmVwZWF0aW5nIHRoZSB2YWx1ZSB3b3VsZCBjb21wb3VuZCByZWxhdGl2ZSB1bml0czogYHdpZHRoPVwiNjAlXCJgIHdvdWxkXG4gIC8vIG90aGVyd2lzZSByZW5kZXIgdGhlIGJhc2UgYXQgNjAlIG9mIHRoZSB3cmFwcGVyIGFuZCB0aGUgdG9nZ2xlIGF0IDYwJSBvZlxuICAvLyB0aGF0LCBpLmUuIDIxLjYlIG9mIHRoZSBjb250YWluZXIuXG4gIC8vXG4gIC8vIFNwcmVhZCByYXRoZXIgdGhhbiBwYXNzZWQgYXMgYGNzcz17Li4ufWA6IEVtb3Rpb24gd3JhcHMgYW4gZWxlbWVudCB3aGVuZXZlclxuICAvLyBgY3NzYCBpcyBwcmVzZW50IGluIGl0cyBwcm9wcywgZXZlbiB3aGVuIGl0cyB2YWx1ZSBpcyB1bmRlZmluZWQsIGFuZCB0aGF0XG4gIC8vIHJlLXNlcmlhbGl6ZXMgYW55IGluY29taW5nIGBjbGFzc05hbWVgIChlLmcuIGZyb20gYHN0eWxlZChEcm9wZG93bilgKS5cbiAgLy8gT21pdHRpbmcgdGhlIGtleSBrZWVwcyB0aGUgbm8td2lkdGggcGF0aCBpZGVudGljYWwgdG8gd3JpdGluZyBubyBgY3NzYCBwcm9wLlxuICBjb25zdCB3cmFwcGVyQ3NzUHJvcHMgPSB3aWR0aCA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogeyBjc3M6IHsgd2lkdGggfSB9O1xuICBjb25zdCBiYXNlQ3NzUHJvcHMgPVxuICAgIHdpZHRoID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiB7IGNzczogeyB3aWR0aDogJzEwMCUnIH0gfTtcbiAgY29uc3QgdG9nZ2xlQ3NzUHJvcHMgPVxuICAgIHdpZHRoID09PSB1bmRlZmluZWRcbiAgICAgID8gdW5kZWZpbmVkXG4gICAgICA6IHsgY3NzOiBbeyB3aWR0aDogJzEwMCUnIH0sIGNvbXBvbmVudFByb3BzPy50b2dnbGVCdXR0b24/LmNzc10gfTtcblxuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKCk7XG4gIGNvbnN0IGRyb3Bkb3duUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgbGlzdFJlZiA9IHVzZVJlZjxIVE1MVUxpc3RFbGVtZW50PihudWxsKTtcblxuICBjb25zdCBkcm9wZG93bklkID0gdXNlSWQoKTtcbiAgLy8gTmFtZXMgdGhlIHRvZ2dsZTsgbGVmdCBvdXQgd2l0aG91dCBhIGxhYmVsLCBzbyBpdCBuZXZlciBwb2ludHMgYXQgYVxuICAvLyBtaXNzaW5nIGVsZW1lbnQuXG4gIGNvbnN0IGxhYmVsSWQgPSBsYWJlbCA/IGBkcm9wZG93bi1sYWJlbC0ke2Ryb3Bkb3duSWR9YCA6IHVuZGVmaW5lZDtcbiAgY29uc3QgYmFkZ2UgPVxuICAgIGxhYmVsICYmIGxhYmVsQmFkZ2VcbiAgICAgID8geyAuLi5sYWJlbEJhZGdlLCBpZDogYGRyb3Bkb3duLWJhZGdlLSR7ZHJvcGRvd25JZH1gIH1cbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gIGNvbnN0IFtpc0ZvY3VzZWQsIHNldElzRm9jdXNlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZShpc0luaXRPcGVuIHx8IGZhbHNlKTtcbiAgY29uc3QgW2NvbG9ycywgc2V0Q29sb3JzXSA9IHVzZVN0YXRlPEFycmF5PHN0cmluZyB8IHVuZGVmaW5lZD4+KFtdKTtcbiAgY29uc3QgW2FjdGl2ZUl0ZW0sIHNldEFjdGl2ZUl0ZW1dID0gdXNlU3RhdGU8VCB8IHVuZGVmaW5lZD4oc2VsZWN0ZWRJdGVtKTtcbiAgY29uc3QgW3BsYWNlbWVudCwgc2V0UGxhY2VtZW50XSA9IHVzZVN0YXRlPCd0b3AnIHwgJ2JvdHRvbSc+KCdib3R0b20nKTtcbiAgLy8gSGlnaGxpZ2h0ZWQgb3B0aW9uLiBGb2N1cyBzdGF5cyBvbiB0aGUgdG9nZ2xlICh0aGUgY29tYm9ib3gpLCB3aGljaFxuICAvLyBkcml2ZXMgdGhlIGxpc3QgYW5kIHBvaW50cyBhdCB0aGUgb3B0aW9uIHdpdGggYXJpYS1hY3RpdmVkZXNjZW5kYW50LlxuICBjb25zdCBbYWN0aXZlVmFsdWUsIHNldEFjdGl2ZVZhbHVlXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bWJlciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBsaXN0SWQgPSBgZHJvcGRvd24tcG9wdXAtJHtkcm9wZG93bklkfWA7XG5cbiAgY29uc3QgY2xvc2UgPSAoKSA9PiB7XG4gICAgc2V0SXNPcGVuKGZhbHNlKTtcbiAgICBzZXRBY3RpdmVWYWx1ZShudWxsKTtcbiAgfTtcblxuICBjb25zdCBvbkNoYW5nZTogRHJvcGRvd25Db250ZXh0VHlwZVsnb25DaGFuZ2UnXSA9IChpdGVtKSA9PiB7XG4gICAgY29uc3QgaW5uZXJJdGVtID0gb3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBpdGVtKVswXTtcblxuICAgIGNsb3NlKCk7XG5cbiAgICBpZiAoaXNEcm9wZG93bkRpc2FibGVkIHx8ICFpbm5lckl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaW5uZXJJdGVtLnZhbHVlID09PSBhY3RpdmVJdGVtPy52YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldEFjdGl2ZUl0ZW0oaW5uZXJJdGVtKTtcbiAgICBpZiAoaGFuZGxlQ2hhbmdlKSB7XG4gICAgICBoYW5kbGVDaGFuZ2UoaW5uZXJJdGVtKTtcbiAgICB9XG4gIH07XG5cbiAgdXNlQ2xpY2tPdXRzaWRlKGRyb3Bkb3duUmVmLCAoKSA9PiBpc09wZW4gJiYgY2xvc2UoKSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNEcm9wZG93bkRpc2FibGVkKSB7XG4gICAgICBzZXRDb2xvcnMoW3RoZW1lLmNvbG9ycy5ncmV5RGFya2VyNjAsIHRoZW1lLmNvbG9ycy5ncmV5MjBdKTtcbiAgICB9IGVsc2UgaWYgKGlzT3Blbikge1xuICAgICAgc2V0Q29sb3JzKFt0aGVtZS5jb2xvcnMud2hpdGUsIHRoZW1lLmNvbG9ycy53aGl0ZTYwXSk7XG4gICAgfSBlbHNlIGlmIChpc0ZvY3VzZWQpIHtcbiAgICAgIHNldENvbG9ycyhbdGhlbWUuY29sb3JzLmdyZXlEYXJrZXIsIHRoZW1lLmNvbG9ycy5ncmV5RGFya2VyNjBdKTtcbiAgICB9XG4gIH0sIFtpc09wZW4sIGlzRHJvcGRvd25EaXNhYmxlZCwgaXNGb2N1c2VkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRBY3RpdmVJdGVtKHNlbGVjdGVkSXRlbSk7XG4gIH0sIFtzZWxlY3RlZEl0ZW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc0Ryb3Bkb3duRGlzYWJsZWQgJiYgaXNPcGVuKSB7XG4gICAgICBjbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzRHJvcGRvd25EaXNhYmxlZF0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc09wZW4gfHwgIWRyb3Bkb3duUmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIGlmIChkcm9wZG93blBvc2l0aW9uICE9PSBEcm9wZG93blBvc2l0aW9ucy5hdXRvKSB7XG4gICAgICBzZXRQbGFjZW1lbnQoZHJvcGRvd25Qb3NpdGlvbik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVjdCA9IGRyb3Bkb3duUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgbGlzdEhlaWdodCA9IGxpc3RSZWYuY3VycmVudD8ub2Zmc2V0SGVpZ2h0IHx8IG1heEhlaWdodDtcbiAgICBjb25zdCBzcGFjZUJlbG93ID0gd2luZG93LmlubmVySGVpZ2h0IC0gcmVjdC5ib3R0b207XG4gICAgc2V0UGxhY2VtZW50KHNwYWNlQmVsb3cgPCBsaXN0SGVpZ2h0ID8gJ3RvcCcgOiAnYm90dG9tJyk7XG4gIH0sIFtpc09wZW5dKTtcblxuICBjb25zdCBjaGlsZHJlbkFycmF5ID0gUmVhY3QuQ2hpbGRyZW4udG9BcnJheShjaGlsZHJlbikuZmlsdGVyKEJvb2xlYW4pO1xuICAvLyBHcm91cHMgdW53cmFwcGVkOiB3aGF0IGBvbkNoYW5nZWAgY2FuIHBpY2sgZnJvbS5cbiAgY29uc3Qgb3B0aW9ucyA9IGZsYXR0ZW5Ecm9wZG93bk9wdGlvbnMoY2hpbGRyZW5BcnJheSkubWFwKFxuICAgIChvcHRpb24pID0+IG9wdGlvbi5wcm9wcyBhcyB1bmtub3duIGFzIFQsXG4gICk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgY29uc3QgaXRlbXMgPSAoY2hpbGRyZW5BcnJheSBhcyBSZWFjdC5SZWFjdEVsZW1lbnQ8YW55PltdKS5tYXAoXG4gICAgKGNoaWxkLCBpbmRleCkgPT4ge1xuICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICBpbmRleCxcbiAgICAgICAgb25DbGljazogb25DaGFuZ2UuYmluZCh0aGlzKSxcbiAgICAgICAgLi4uY2hpbGQucHJvcHMsXG4gICAgICB9KTtcbiAgICB9LFxuICApO1xuXG4gIGNvbnN0IG1lbnVJdGVtcyA9IHRvRHJvcGRvd25NZW51SXRlbXMoY2hpbGRyZW5BcnJheSk7XG5cbiAgLyoqIE9wZW5zIHdpdGggdGhlIHNlbGVjdGVkIG9wdGlvbiBoaWdobGlnaHRlZCwgZWxzZSBwZXIgdGhlIGtleSBwcmVzc2VkLiAqL1xuICBjb25zdCBvcGVuID0gKGtleSA9ICdBcnJvd0Rvd24nKSA9PiB7XG4gICAgc2V0SXNPcGVuKHRydWUpO1xuICAgIGNvbnN0IHNlbGVjdGVkID0gZmxhdHRlbkl0ZW1zKG1lbnVJdGVtcykuZmluZChcbiAgICAgIChpdGVtKSA9PiAhaXRlbS5kaXNhYmxlZCAmJiBpdGVtLnZhbHVlID09PSBhY3RpdmVJdGVtPy52YWx1ZSxcbiAgICApO1xuICAgIHNldEFjdGl2ZVZhbHVlKFxuICAgICAgc2VsZWN0ZWQ/LnZhbHVlID8/IGdldE5leHRBY3RpdmVWYWx1ZShtZW51SXRlbXMsIG51bGwsIGtleSkgPz8gbnVsbCxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IHRvZ2dsZUtleXMgPSB1c2VUb2dnbGVMaXN0S2V5cyh7XG4gICAgbGlzdElkLFxuICAgIGlzT3BlbixcbiAgICBkaXNhYmxlZDogaXNEcm9wZG93bkRpc2FibGVkLFxuICAgIG1lbnVJdGVtcyxcbiAgICBhY3RpdmVWYWx1ZSxcbiAgICBzZXRBY3RpdmVWYWx1ZSxcbiAgICBvcGVuLFxuICAgIGNsb3NlLFxuICAgIG9uUGljazogKHZhbHVlKSA9PiBvbkNoYW5nZSh2YWx1ZSBhcyBzdHJpbmcpLFxuICAgIG9uS2V5RG93bjogY29tcG9uZW50UHJvcHM/LnRvZ2dsZUJ1dHRvbj8ub25LZXlEb3duLFxuICAgIG9uS2V5VXA6IGNvbXBvbmVudFByb3BzPy50b2dnbGVCdXR0b24/Lm9uS2V5VXAsXG4gIH0pO1xuXG4gIGNvbnN0IGNvbnRleHRWYWx1ZTogRHJvcGRvd25Db250ZXh0VHlwZSA9IFJlYWN0LnVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgYWN0aXZlSXRlbSxcbiAgICAgIG1heEhlaWdodCxcbiAgICAgIGxpc3RSZWYsXG4gICAgICBwbGFjZW1lbnQsXG4gICAgICBhY3RpdmVWYWx1ZSxcbiAgICAgIHNldEFjdGl2ZVZhbHVlLFxuICAgIH0pLFxuICAgIFtvbkNoYW5nZSwgYWN0aXZlSXRlbSwgbWF4SGVpZ2h0LCBwbGFjZW1lbnQsIGFjdGl2ZVZhbHVlXSxcbiAgKTtcblxuICBjb25zdCB2YWx1ZSA9IChcbiAgICBhY3RpdmVJdGVtXG4gICAgICA/IGFjdGl2ZUl0ZW0ubGFiZWwgfHxcbiAgICAgICAgYWN0aXZlSXRlbS5jaGlsZHJlbiB8fFxuICAgICAgICBhY3RpdmVJdGVtLnZhbHVlIHx8XG4gICAgICAgIGFjdGl2ZUl0ZW0gfHxcbiAgICAgICAgcGxhY2Vob2xkZXJcbiAgICAgIDogcGxhY2Vob2xkZXJcbiAgKSBhcyBSZWFjdE5vZGU7XG5cbiAgY29uc3QgcmF3QXZhdGFyID1cbiAgICBhY3RpdmVJdGVtICYmIChhY3RpdmVJdGVtIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KS5hdmF0YXI7XG5cbiAgY29uc3Qgc2VsZWN0ZWRBdmF0YXIgPSAhaXNOaWxsKHJhd0F2YXRhcikgPyAoXG4gICAgdHlwZW9mIHJhd0F2YXRhciA9PT0gJ3N0cmluZycgPyAoXG4gICAgICA8QXZhdGFyXG4gICAgICAgIHNpemU9e0F2YXRhclNpemVzLnNtYWxsfVxuICAgICAgICBpbWFnZT17cmF3QXZhdGFyfVxuICAgICAgICBib3JkZXI9e2F2YXRhckJvcmRlcn1cbiAgICAgIC8+XG4gICAgKSA6IFJlYWN0LmlzVmFsaWRFbGVtZW50KHJhd0F2YXRhcikgPyAoXG4gICAgICAocmF3QXZhdGFyIGFzIFJlYWN0Tm9kZSlcbiAgICApIDogbnVsbFxuICApIDogbnVsbDtcblxuICBjb25zdCBsZWFkaW5nRWxlbWVudCA9ICFpc05pbGwoc2VsZWN0ZWRBdmF0YXIpID8gKFxuICAgIChzZWxlY3RlZEF2YXRhciBhcyBSZWFjdE5vZGUpXG4gICkgOiBpY29uID8gKFxuICAgIDxJY29uXG4gICAgICBuYW1lPXtpY29ufVxuICAgICAgc2l6ZT17MTZ9XG4gICAgICBjb2xvcj17aXNEcm9wZG93bkRpc2FibGVkID8gdGhlbWUuY29sb3JzLmdyZXkgOiB0aGVtZS5jb2xvcnMuZ3JleURhcmtlcjgwfVxuICAgIC8+XG4gICkgOiBudWxsO1xuXG4gIGNvbnN0IHRvZ2dsZUNvbnRlbnQgPSAhaXNOaWxsKGxlYWRpbmdFbGVtZW50KSA/IChcbiAgICA8U2VsZWN0ZWRDb250ZW50PlxuICAgICAgPExlYWRpbmdFbGVtZW50PntsZWFkaW5nRWxlbWVudH08L0xlYWRpbmdFbGVtZW50PlxuICAgICAgPFNlbGVjdGVkTGFiZWw+e3ZhbHVlfTwvU2VsZWN0ZWRMYWJlbD5cbiAgICA8L1NlbGVjdGVkQ29udGVudD5cbiAgKSA6IChcbiAgICA8U2VsZWN0ZWRMYWJlbD57dmFsdWV9PC9TZWxlY3RlZExhYmVsPlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPERyb3Bkb3duRmllbGRXcmFwcGVyIHsuLi53cmFwcGVyQ3NzUHJvcHN9PlxuICAgICAge2xhYmVsID8gKFxuICAgICAgICA8TGFiZWwgaWQ9e2xhYmVsSWR9IGRpc2FibGVkPXtpc0Ryb3Bkb3duRGlzYWJsZWR9IGJhZGdlPXtiYWRnZX0+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L0xhYmVsPlxuICAgICAgKSA6IG51bGx9XG4gICAgICA8RHJvcGRvd25Db250ZXh0LlByb3ZpZGVyIHZhbHVlPXtjb250ZXh0VmFsdWV9PlxuICAgICAgICA8RHJvcGRvd25CYXNlXG4gICAgICAgICAgey4uLmNvbXBvbmVudFByb3BzPy5iYXNlfVxuICAgICAgICAgIHsuLi5iYXNlQ3NzUHJvcHN9XG4gICAgICAgICAgcmVmPXtkcm9wZG93blJlZn1cbiAgICAgICAgICBkYXRhLXRlc3RpZD1cImRyb3Bkb3duXCI+XG4gICAgICAgICAgPERyb3Bkb3duVG9nZ2xlXG4gICAgICAgICAgICB7Li4uY29tcG9uZW50UHJvcHM/LnRvZ2dsZUJ1dHRvbn1cbiAgICAgICAgICAgIHsuLi50b2dnbGVDc3NQcm9wc31cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgaXNPcGVuPXtpc09wZW59XG4gICAgICAgICAgICBkaXNhYmxlZD17aXNEcm9wZG93bkRpc2FibGVkfVxuICAgICAgICAgICAgc3RhdHVzPXtzdGF0dXN9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiAoaXNPcGVuID8gY2xvc2UoKSA6IG9wZW4oKSl9XG4gICAgICAgICAgICB7Li4udG9nZ2xlS2V5c31cbiAgICAgICAgICAgIG9uRm9jdXM9e3NldElzRm9jdXNlZC5iaW5kKG51bGwsIHRydWUpfVxuICAgICAgICAgICAgY29sb3JzPXtjb2xvcnN9XG4gICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e2xhYmVsSWR9XG4gICAgICAgICAgICB7Li4uKGJhZGdlICYmIHsgJ2FyaWEtZGVzY3JpYmVkYnknOiBiYWRnZS5pZCB9KX1cbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e2xpc3RJZH0+XG4gICAgICAgICAgICB7dG9nZ2xlQ29udGVudH1cbiAgICAgICAgICAgIDxEcm9wZG93bkFycm93XG4gICAgICAgICAgICAgIHsuLi5jb21wb25lbnRQcm9wcz8udG9nZ2xlQnV0dG9uQXJyb3d9XG4gICAgICAgICAgICAgIGlzVXA9e2lzT3Blbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Ecm9wZG93blRvZ2dsZT5cblxuICAgICAgICAgIHtpc09wZW4gPyAoXG4gICAgICAgICAgICA8RHJvcGRvd25PcHRpb25zIGlkPXtsaXN0SWR9PntpdGVtc308L0Ryb3Bkb3duT3B0aW9ucz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ecm9wZG93bkJhc2U+XG4gICAgICA8L0Ryb3Bkb3duQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgIHtoZWxwZXJUZXh0IHx8IGVycm9ycyA/IChcbiAgICAgICAgPEZvcm1IZWxwZXJUZXh0XG4gICAgICAgICAgcm9sZT1cInN0YXR1c1wiXG4gICAgICAgICAgc3RhdHVzPXtzdGF0dXN9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRHJvcGRvd25EaXNhYmxlZH0+XG4gICAgICAgICAge2Vycm9ycz8ubWVzc2FnZSB8fCBoZWxwZXJUZXh0fVxuICAgICAgICA8L0Zvcm1IZWxwZXJUZXh0PlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9Ecm9wZG93bkZpZWxkV3JhcHBlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERyb3Bkb3duO1xuIl19 */",
|
|
28651
|
+
styles: "display:inline-flex;flex-direction:column;align-items:flex-start;max-width:100%/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9Ecm9wZG93bi9Ecm9wZG93bi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEN1QyIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91aS1raXQvdWkta2l0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVN0YXRlLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlUmVmLFxuICB1c2VJZCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IHVzZUNsaWNrT3V0c2lkZSB9IGZyb20gJ0Bzc2EtdWkta2l0L2hvb2tzJztcbmltcG9ydCB7IGlzTmlsbCB9IGZyb20gJ0Bzc2EtdWkta2l0L3V0aWxzJztcblxuaW1wb3J0IERyb3Bkb3duVG9nZ2xlIGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duVG9nZ2xlJztcbmltcG9ydCBEcm9wZG93bkFycm93IGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duQXJyb3cnO1xuaW1wb3J0IERyb3Bkb3duT3B0aW9ucyBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMnO1xuaW1wb3J0IHtcbiAgZmlsdGVyRHJvcGRvd25PcHRpb25zLFxuICBmbGF0dGVuRHJvcGRvd25PcHRpb25zLFxuICB0b0Ryb3Bkb3duTWVudUl0ZW1zLFxufSBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMvdXRpbHMnO1xuaW1wb3J0IHsgdXNlVG9nZ2xlTGlzdEtleXMgfSBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMvdXNlVG9nZ2xlTGlzdEtleXMnO1xuaW1wb3J0IHsgRHJvcGRvd25TZWFyY2ggfSBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMvRHJvcGRvd25TZWFyY2gnO1xuaW1wb3J0IHsgZ2V0TmV4dEFjdGl2ZVZhbHVlIH0gZnJvbSAnQGNvbXBvbmVudHMvQ29udGV4dE1lbnUnO1xuaW1wb3J0IHsgZmxhdHRlbkl0ZW1zIH0gZnJvbSAnQGNvbXBvbmVudHMvQ29udGV4dE1lbnUvdXRpbHMnO1xuaW1wb3J0IEF2YXRhciwgeyBBdmF0YXJTaXplcyB9IGZyb20gJ0Bjb21wb25lbnRzL0F2YXRhcic7XG5pbXBvcnQgSWNvbiBmcm9tICdAY29tcG9uZW50cy9JY29uJztcbmltcG9ydCBMYWJlbCBmcm9tICdAY29tcG9uZW50cy9MYWJlbCc7XG5pbXBvcnQgRm9ybUhlbHBlclRleHQgZnJvbSAnQGNvbXBvbmVudHMvRm9ybUhlbHBlclRleHQnO1xuaW1wb3J0IERyb3Bkb3duQ29udGV4dCBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bi9Ecm9wZG93bi5jb250ZXh0JztcbmltcG9ydCB7IHJlc29sdmVEaXNhYmxlZCB9IGZyb20gJ0B1dGlscy9kZXByZWNhdGlvbic7XG5pbXBvcnQgeyBEcm9wZG93bk9wdGlvblByb3BzIH0gZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25PcHRpb25zL3R5cGVzJztcblxuaW1wb3J0IHsgRHJvcGRvd25Db250ZXh0VHlwZSwgRHJvcGRvd25Qb3NpdGlvbnMsIERyb3Bkb3duUHJvcHMgfSBmcm9tICcuL3R5cGVzJztcblxuLypcbiAqIEJvdGggbGV2ZWxzIGFyZSBzaHJpbmstdG8tZml0LCBhbmQgYSBzaHJpbmstdG8tZml0IGJveCBzaXplcyB0byBpdHNcbiAqIG1pbi1jb250ZW50IHdoZW4gdGhhdCBleGNlZWRzIHRoZSBzcGFjZSBhdmFpbGFibGUgLS0gZm9yIGEgbm93cmFwIGxhYmVsIHRoYXRcbiAqIGlzIHRoZSBlbnRpcmUgc3RyaW5nLCBzbyB0aGUgZHJvcGRvd24gd291bGQgZ3JvdyBwYXN0IGl0cyBjb250YWluZXIgaW5zdGVhZFxuICogb2YgZWxsaXBzaXNpbmcuIGBtYXgtd2lkdGg6IDEwMCVgIGdpdmVzIGVhY2ggbGV2ZWwgYSBkZWZpbml0ZSB3aWR0aCB0b1xuICogcmVzb2x2ZSBhZ2FpbnN0LCB3aGljaCBpcyB3aGF0IGFjdHVhbGx5IGxldHMgdGhlIGxhYmVsIGNsaXAuXG4gKi9cbmNvbnN0IERyb3Bkb3duRmllbGRXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXgtd2lkdGg6IDEwMCU7XG5gO1xuXG5jb25zdCBEcm9wZG93bkJhc2UgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuYDtcblxuY29uc3QgU2VsZWN0ZWRDb250ZW50ID0gc3R5bGVkLnNwYW5gXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgbWluLXdpZHRoOiAwO1xuYDtcblxuLyoqXG4gKiBLZWVwcyB0aGUgc2VsZWN0ZWQgdmFsdWUgb24gYSBzaW5nbGUgbGluZSBhbmQgZWxsaXBzaXNlcyBpdC4gV2l0aG91dCB0aGlzIHRoZVxuICogbGFiZWwgd3JhcHMgYW5kLCBiZWNhdXNlIHRoZSB0b2dnbGUgaXMgYSBmaXhlZCA0NHB4LCBzcGlsbHMgYWJvdmUgYW5kIGJlbG93XG4gKiB0aGUgYm9yZGVyLiBgbWluLXdpZHRoOiAwYCBpcyB3aGF0IGxldHMgdGhlIHRvZ2dsZSBzaHJpbmsgYmVsb3cgdGhlIGxhYmVsJ3NcbiAqIGludHJpbnNpYyB3aWR0aCBhdCBhbGwg4oCUIGEgbm93cmFwIGZsZXggaXRlbSBvdGhlcndpc2UgcmVwb3J0cyBpdHMgZnVsbCB0ZXh0XG4gKiB3aWR0aCBhcyBpdHMgbWluaW11bSwgc28gdGhlIGRyb3Bkb3duIHdvdWxkIGtlZXAgZ3Jvd2luZyBpbnN0ZWFkIG9mIGNsaXBwaW5nLlxuICovXG5jb25zdCBTZWxlY3RlZExhYmVsID0gc3R5bGVkLnNwYW5gXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBtaW4td2lkdGg6IDA7XG5gO1xuXG5jb25zdCBMZWFkaW5nRWxlbWVudCA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG5gO1xuXG4vKipcbiAqIERyb3Bkb3duIC0gU2VsZWN0LWxpa2UgZHJvcGRvd24gY29tcG9uZW50IGZvciBzaW5nbGUgc2VsZWN0aW9uXG4gKlxuICogQSBmbGV4aWJsZSBkcm9wZG93biBjb21wb25lbnQgdGhhdCBhbGxvd3MgdXNlcnMgdG8gc2VsZWN0IG9uZSBvcHRpb24gZnJvbVxuICogYSBsaXN0IG9mIGNob2ljZXMuIFVzZXMgYSBjb21wb3VuZCBjb21wb25lbnQgcGF0dGVybiB3aXRoIERyb3Bkb3duT3B0aW9uXG4gKiBjaGlsZHJlbi4gUHJvdmlkZXMga2V5Ym9hcmQgbmF2aWdhdGlvbiwgYWNjZXNzaWJpbGl0eSBmZWF0dXJlcywgY2xpY2stb3V0c2lkZVxuICogdG8gY2xvc2UgZnVuY3Rpb25hbGl0eSwgYW5kIGF1dG9tYXRpYyB2aWV3cG9ydC1hd2FyZSBwbGFjZW1lbnQgb2YgdGhlIG9wdGlvbnMgbGlzdC5cbiAqXG4gKiBPbiBldmVyeSBvcGVuIHRoZSBjb21wb25lbnQgbWVhc3VyZXMgYXZhaWxhYmxlIHNwYWNlIGJlbG93IHRoZSB0b2dnbGUgYnV0dG9uXG4gKiBhbmQgZmxpcHMgdGhlIGxpc3QgdXB3YXJkIHdoZW4gdGhlcmUgaXMgbm90IGVub3VnaCByb29tLCBwcmV2ZW50aW5nIHRoZSBsaXN0XG4gKiBmcm9tIGJlaW5nIGNsaXBwZWQgYnkgdGhlIHZpZXdwb3J0IGVkZ2UuIFRoaXMgYmVoYXZpb3IgY2FuIGJlIG92ZXJyaWRkZW4gdmlhXG4gKiBkcm9wZG93blByb3BzLmRyb3Bkb3duUG9zaXRpb24uXG4gKlxuICogQ29tcG9uZW50IHN0cnVjdHVyZTpcbiAqIC0gRHJvcGRvd24gKHJvb3QgY29udGFpbmVyIHdpdGggY29udGV4dClcbiAqICAgLSBEcm9wZG93blRvZ2dsZSAoYnV0dG9uIHRoYXQgb3BlbnMvY2xvc2VzIGRyb3Bkb3duKVxuICogICAtIERyb3Bkb3duT3B0aW9ucyAobWVudSBjb250YWluZXIgdGhhdCBhcHBlYXJzIHdoZW4gb3BlbilcbiAqICAgICAtIERyb3Bkb3duT3B0aW9uIChpbmRpdmlkdWFsIHNlbGVjdGFibGUgaXRlbXMpXG4gKlxuICogQGNhdGVnb3J5IEZvcm0gQ29udHJvbHNcbiAqIEBzdWJjYXRlZ29yeSBTZWxlY3Rpb25cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBjb25zdCBpdGVtcyA9IFtcbiAqICAgeyBpZDogMSwgdmFsdWU6ICdBcHBsZScgfSxcbiAqICAgeyBpZDogMiwgdmFsdWU6ICdCYW5hbmEnIH0sXG4gKiAgIHsgaWQ6IDMsIHZhbHVlOiAnQ2hlcnJ5JyB9LFxuICogXTtcbiAqXG4gKiA8RHJvcGRvd25cbiAqICAgc2VsZWN0ZWRJdGVtPXtpdGVtc1swXX1cbiAqICAgb25DaGFuZ2U9eyhpdGVtKSA9PiBoYW5kbGVTZWxlY3Rpb24oaXRlbSl9XG4gKiAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IGEgZnJ1aXRcIlxuICogPlxuICogICB7aXRlbXMubWFwKGl0ZW0gPT4gKFxuICogICAgIDxEcm9wZG93bk9wdGlvbiBrZXk9e2l0ZW0uaWR9IHZhbHVlPXtpdGVtLmlkfT5cbiAqICAgICAgIHtpdGVtLnZhbHVlfVxuICogICAgIDwvRHJvcGRvd25PcHRpb24+XG4gKiAgICkpfVxuICogPC9Ecm9wZG93bj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIENvbnRyb2xsZWQgb3BlbiBzdGF0ZVxuICogY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAqIDxEcm9wZG93blxuICogICBpc09wZW49e2lzT3Blbn1cbiAqICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAqICAgc2VsZWN0ZWRJdGVtPXtzZWxlY3RlZH1cbiAqID5cbiAqICAge29wdGlvbnMubWFwKG9wdCA9PiAoXG4gKiAgICAgPERyb3Bkb3duT3B0aW9uIGtleT17b3B0LmlkfSB2YWx1ZT17b3B0LmlkfT5cbiAqICAgICAgIHtvcHQubGFiZWx9XG4gKiAgICAgPC9Ecm9wZG93bk9wdGlvbj5cbiAqICAgKSl9XG4gKiA8L0Ryb3Bkb3duPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogLy8gV2l0aCBjdXN0b20gcHJvcHMgZm9yIHN1Yi1jb21wb25lbnRzIGFuZCBmb3JjZWQgdXB3YXJkIHBsYWNlbWVudFxuICogPERyb3Bkb3duXG4gKiAgIHNlbGVjdGVkSXRlbT17c2VsZWN0ZWR9XG4gKiAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gKiAgIGRyb3Bkb3duUHJvcHM9e3tcbiAqICAgICBiYXNlOiB7IGlkOiAnbXktZHJvcGRvd24nIH0sXG4gKiAgICAgdG9nZ2xlQnV0dG9uOiB7ICdkYXRhLXRlc3RpZCc6ICdkcm9wZG93bi10b2dnbGUnIH0sXG4gKiAgICAgdG9nZ2xlQnV0dG9uQXJyb3c6IHsgY2xhc3NOYW1lOiAnY3VzdG9tLWFycm93JyB9LFxuICogICAgIGRyb3Bkb3duUG9zaXRpb246IERyb3Bkb3duUG9zaXRpb25zLnRvcCxcbiAqICAgfX1cbiAqID5cbiAqICAge29wdGlvbnMubWFwKG9wdCA9PiAoXG4gKiAgICAgPERyb3Bkb3duT3B0aW9uIGtleT17b3B0LmlkfSB2YWx1ZT17b3B0LmlkfT5cbiAqICAgICAgIHtvcHQubGFiZWx9XG4gKiAgICAgPC9Ecm9wZG93bk9wdGlvbj5cbiAqICAgKSl9XG4gKiA8L0Ryb3Bkb3duPlxuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgRHJvcGRvd25PcHRpb259IC0gQ2hpbGQgY29tcG9uZW50IGZvciBpbmRpdmlkdWFsIG9wdGlvbnNcbiAqIEBzZWUge0BsaW5rIERyb3Bkb3duVG9nZ2xlfSAtIFRvZ2dsZSBidXR0b24gY29tcG9uZW50XG4gKiBAc2VlIHtAbGluayBEcm9wZG93bk9wdGlvbnN9IC0gT3B0aW9ucyBtZW51IGNvbnRhaW5lclxuICpcbiAqIEBhY2Nlc3NpYmlsaXR5XG4gKiAtIEFSSUEgYXR0cmlidXRlcyBzZXQgYWNjb3JkaW5nIHRvIFdBSS1BUklBIGNvbWJvYm94IHBhdHRlcm5cbiAqIC0gS2V5Ym9hcmQgbmF2aWdhdGlvbiAoQXJyb3cga2V5cywgRW50ZXIsIEVzY2FwZSlcbiAqIC0gQ2xpY2sgb3V0c2lkZSB0byBjbG9zZVxuICogLSBTY3JlZW4gcmVhZGVyIGZyaWVuZGx5XG4gKiAtIEZvY3VzIG1hbmFnZW1lbnRcbiAqXG4gKiBAc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvQVJJQS9hcGcvZXhhbXBsZS1pbmRleC9jb21ib2JveC9jb21ib2JveC1zZWxlY3Qtb25seS5odG1sXG4gKi9cbmNvbnN0IERyb3Bkb3duID0gPFQgZXh0ZW5kcyBEcm9wZG93bk9wdGlvblByb3BzPih7XG4gIHNlbGVjdGVkSXRlbSxcbiAgZGlzYWJsZWQsXG4gIGlzRGlzYWJsZWQsXG4gIGlzT3BlbjogaXNJbml0T3BlbixcbiAgY2hpbGRyZW4sXG4gIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsXG4gIGNsYXNzTmFtZSxcbiAgcGxhY2Vob2xkZXIgPSAnU2VsZWN0IHNvbWV0aGluZycsXG4gIG1heEhlaWdodCA9IDIwMCxcbiAgYXZhdGFyQm9yZGVyID0gZmFsc2UsXG4gIGxhYmVsLFxuICBsYWJlbEJhZGdlLFxuICBoZWxwZXJUZXh0LFxuICBlcnJvcnMsXG4gIHN1Y2Nlc3MsXG4gIGljb24sXG4gIHdpZHRoLFxuICBzZWFyY2hhYmxlID0gZmFsc2UsXG4gIHNlYXJjaFBsYWNlaG9sZGVyID0gJ1NlYXJjaCcsXG4gIHNlYXJjaEVtcHR5U3RhdGUgPSAnTm8gcmVzdWx0cyBmb3VuZCcsXG4gIGRyb3Bkb3duUHJvcHM6IGNvbXBvbmVudFByb3BzLFxufTogRHJvcGRvd25Qcm9wczxUPikgPT4ge1xuICBjb25zdCBpc0Ryb3Bkb3duRGlzYWJsZWQgPSByZXNvbHZlRGlzYWJsZWQoJ0Ryb3Bkb3duJywgZGlzYWJsZWQsIGlzRGlzYWJsZWQpO1xuICBjb25zdCBzdGF0dXMgPSBzdWNjZXNzID8gJ3N1Y2Nlc3MnIDogZXJyb3JzID8gJ2Vycm9yJyA6ICdiYXNpYyc7XG4gIGNvbnN0IHsgZHJvcGRvd25Qb3NpdGlvbiA9IERyb3Bkb3duUG9zaXRpb25zLmF1dG8gfSA9IGNvbXBvbmVudFByb3BzID8/IHt9O1xuICAvLyBgd2lkdGhgIGhhcyBubyBkZWZhdWx0OiB3aXRob3V0IGl0IGV2ZXJ5IGxldmVsIGtlZXBzIHNocmluay13cmFwcGluZywgd2hpY2hcbiAgLy8gaXMgdGhlIGhpc3RvcmljYWwgYmVoYXZpb3VyLiBXaGVuIHNldCwgYWxsIHRocmVlIG5lc3RlZCBsZXZlbHNcbiAgLy8gKHdyYXBwZXIgLT4gYmFzZSAtPiB0b2dnbGUpIGhhdmUgdG8gYmUgc3RyZXRjaGVkIOKAlCBzaXppbmcgb25seSBvbmUgaXMgYVxuICAvLyBuby1vcCwgYmVjYXVzZSB0aGUgbGV2ZWwgYWJvdmUgaXQgaXMgc3RpbGwgc2l6ZWQgdG8gaXRzIGNvbnRlbnQuXG4gIC8vXG4gIC8vIE9ubHkgdGhlIG91dGVybW9zdCBsZXZlbCBnZXRzIHRoZSByZXF1ZXN0ZWQgdmFsdWU7IHRoZSBpbm5lciB0d28gZ2V0IDEwMCUuXG4gIC8vIFJlcGVhdGluZyB0aGUgdmFsdWUgd291bGQgY29tcG91bmQgcmVsYXRpdmUgdW5pdHM6IGB3aWR0aD1cIjYwJVwiYCB3b3VsZFxuICAvLyBvdGhlcndpc2UgcmVuZGVyIHRoZSBiYXNlIGF0IDYwJSBvZiB0aGUgd3JhcHBlciBhbmQgdGhlIHRvZ2dsZSBhdCA2MCUgb2ZcbiAgLy8gdGhhdCwgaS5lLiAyMS42JSBvZiB0aGUgY29udGFpbmVyLlxuICAvL1xuICAvLyBTcHJlYWQgcmF0aGVyIHRoYW4gcGFzc2VkIGFzIGBjc3M9ey4uLn1gOiBFbW90aW9uIHdyYXBzIGFuIGVsZW1lbnQgd2hlbmV2ZXJcbiAgLy8gYGNzc2AgaXMgcHJlc2VudCBpbiBpdHMgcHJvcHMsIGV2ZW4gd2hlbiBpdHMgdmFsdWUgaXMgdW5kZWZpbmVkLCBhbmQgdGhhdFxuICAvLyByZS1zZXJpYWxpemVzIGFueSBpbmNvbWluZyBgY2xhc3NOYW1lYCAoZS5nLiBmcm9tIGBzdHlsZWQoRHJvcGRvd24pYCkuXG4gIC8vIE9taXR0aW5nIHRoZSBrZXkga2VlcHMgdGhlIG5vLXdpZHRoIHBhdGggaWRlbnRpY2FsIHRvIHdyaXRpbmcgbm8gYGNzc2AgcHJvcC5cbiAgY29uc3Qgd3JhcHBlckNzc1Byb3BzID0gd2lkdGggPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHsgY3NzOiB7IHdpZHRoIH0gfTtcbiAgY29uc3QgYmFzZUNzc1Byb3BzID1cbiAgICB3aWR0aCA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogeyBjc3M6IHsgd2lkdGg6ICcxMDAlJyB9IH07XG4gIGNvbnN0IHRvZ2dsZUNzc1Byb3BzID1cbiAgICB3aWR0aCA9PT0gdW5kZWZpbmVkXG4gICAgICA/IHVuZGVmaW5lZFxuICAgICAgOiB7IGNzczogW3sgd2lkdGg6ICcxMDAlJyB9LCBjb21wb25lbnRQcm9wcz8udG9nZ2xlQnV0dG9uPy5jc3NdIH07XG5cbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuICBjb25zdCBkcm9wZG93blJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IGxpc3RSZWYgPSB1c2VSZWY8SFRNTFVMaXN0RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHRvZ2dsZVJlZiA9IHVzZVJlZjxIVE1MQnV0dG9uRWxlbWVudD4obnVsbCk7XG5cbiAgY29uc3QgZHJvcGRvd25JZCA9IHVzZUlkKCk7XG4gIC8vIE5hbWVzIHRoZSB0b2dnbGU7IGxlZnQgb3V0IHdpdGhvdXQgYSBsYWJlbCwgc28gaXQgbmV2ZXIgcG9pbnRzIGF0IGFcbiAgLy8gbWlzc2luZyBlbGVtZW50LlxuICBjb25zdCBsYWJlbElkID0gbGFiZWwgPyBgZHJvcGRvd24tbGFiZWwtJHtkcm9wZG93bklkfWAgOiB1bmRlZmluZWQ7XG4gIGNvbnN0IGJhZGdlID1cbiAgICBsYWJlbCAmJiBsYWJlbEJhZGdlXG4gICAgICA/IHsgLi4ubGFiZWxCYWRnZSwgaWQ6IGBkcm9wZG93bi1iYWRnZS0ke2Ryb3Bkb3duSWR9YCB9XG4gICAgICA6IHVuZGVmaW5lZDtcblxuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoaXNJbml0T3BlbiB8fCBmYWxzZSk7XG4gIGNvbnN0IFtjb2xvcnMsIHNldENvbG9yc10gPSB1c2VTdGF0ZTxBcnJheTxzdHJpbmcgfCB1bmRlZmluZWQ+PihbXSk7XG4gIGNvbnN0IFthY3RpdmVJdGVtLCBzZXRBY3RpdmVJdGVtXSA9IHVzZVN0YXRlPFQgfCB1bmRlZmluZWQ+KHNlbGVjdGVkSXRlbSk7XG4gIGNvbnN0IFtwbGFjZW1lbnQsIHNldFBsYWNlbWVudF0gPSB1c2VTdGF0ZTwndG9wJyB8ICdib3R0b20nPignYm90dG9tJyk7XG4gIC8vIEhpZ2hsaWdodGVkIG9wdGlvbi4gRm9jdXMgc3RheXMgb24gdGhlIHRvZ2dsZSAodGhlIGNvbWJvYm94KSwgd2hpY2hcbiAgLy8gZHJpdmVzIHRoZSBsaXN0IGFuZCBwb2ludHMgYXQgdGhlIG9wdGlvbiB3aXRoIGFyaWEtYWN0aXZlZGVzY2VuZGFudC5cbiAgY29uc3QgW2FjdGl2ZVZhbHVlLCBzZXRBY3RpdmVWYWx1ZV0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudW1iZXIgfCBudWxsPihudWxsKTtcbiAgY29uc3QgbGlzdElkID0gYGRyb3Bkb3duLXBvcHVwLSR7ZHJvcGRvd25JZH1gO1xuICAvLyBTZWFyY2ggdGV4dDsgb25seSB1c2VkIHdpdGggYHNlYXJjaGFibGVgLCBjbGVhcmVkIG9uIGNsb3NlLlxuICBjb25zdCBbcXVlcnksIHNldFF1ZXJ5XSA9IHVzZVN0YXRlKCcnKTtcblxuICBjb25zdCBjbG9zZSA9ICgpID0+IHtcbiAgICBzZXRJc09wZW4oZmFsc2UpO1xuICAgIHNldEFjdGl2ZVZhbHVlKG51bGwpO1xuICAgIHNldFF1ZXJ5KCcnKTtcbiAgICAvLyBUaGUgc2VhcmNoIGJveCB1bm1vdW50cyB3aXRoIHRoZSBsaXN0OyBoYW5kIGZvY3VzIGJhY2sgdG8gdGhlIHRvZ2dsZVxuICAgIC8vIHJhdGhlciB0aGFuIGRyb3BwaW5nIGl0IG9uIDxib2R5Pi5cbiAgICBpZiAoXG4gICAgICBzZWFyY2hhYmxlICYmXG4gICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSB0b2dnbGVSZWYuY3VycmVudCAmJlxuICAgICAgZHJvcGRvd25SZWYuY3VycmVudD8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudClcbiAgICApIHtcbiAgICAgIHRvZ2dsZVJlZi5jdXJyZW50Py5mb2N1cygpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvbkNoYW5nZTogRHJvcGRvd25Db250ZXh0VHlwZVsnb25DaGFuZ2UnXSA9IChpdGVtKSA9PiB7XG4gICAgY29uc3QgaW5uZXJJdGVtID0gb3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBpdGVtKVswXTtcblxuICAgIGNsb3NlKCk7XG5cbiAgICBpZiAoaXNEcm9wZG93bkRpc2FibGVkIHx8ICFpbm5lckl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaW5uZXJJdGVtLnZhbHVlID09PSBhY3RpdmVJdGVtPy52YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldEFjdGl2ZUl0ZW0oaW5uZXJJdGVtKTtcbiAgICBpZiAoaGFuZGxlQ2hhbmdlKSB7XG4gICAgICBoYW5kbGVDaGFuZ2UoaW5uZXJJdGVtKTtcbiAgICB9XG4gIH07XG5cbiAgdXNlQ2xpY2tPdXRzaWRlKGRyb3Bkb3duUmVmLCAoKSA9PiBpc09wZW4gJiYgY2xvc2UoKSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNEcm9wZG93bkRpc2FibGVkKSB7XG4gICAgICBzZXRDb2xvcnMoW3RoZW1lLmNvbG9ycy5ncmV5RGFya2VyNjAsIHRoZW1lLmNvbG9ycy5ncmV5MjBdKTtcbiAgICB9IGVsc2UgaWYgKGlzT3Blbikge1xuICAgICAgc2V0Q29sb3JzKFt0aGVtZS5jb2xvcnMud2hpdGUsIHRoZW1lLmNvbG9ycy53aGl0ZTYwXSk7XG4gICAgfSBlbHNlIGlmIChpc0ZvY3VzZWQpIHtcbiAgICAgIHNldENvbG9ycyhbdGhlbWUuY29sb3JzLmdyZXlEYXJrZXIsIHRoZW1lLmNvbG9ycy5ncmV5RGFya2VyNjBdKTtcbiAgICB9XG4gIH0sIFtpc09wZW4sIGlzRHJvcGRvd25EaXNhYmxlZCwgaXNGb2N1c2VkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRBY3RpdmVJdGVtKHNlbGVjdGVkSXRlbSk7XG4gIH0sIFtzZWxlY3RlZEl0ZW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc0Ryb3Bkb3duRGlzYWJsZWQgJiYgaXNPcGVuKSB7XG4gICAgICBjbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzRHJvcGRvd25EaXNhYmxlZF0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc09wZW4gfHwgIWRyb3Bkb3duUmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIGlmIChkcm9wZG93blBvc2l0aW9uICE9PSBEcm9wZG93blBvc2l0aW9ucy5hdXRvKSB7XG4gICAgICBzZXRQbGFjZW1lbnQoZHJvcGRvd25Qb3NpdGlvbik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVjdCA9IGRyb3Bkb3duUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgLy8gV2l0aCBzZWFyY2ggdGhlIGxpc3Qgc2l0cyBpbiBhIGNhcmQgdW5kZXIgdGhlIHNlYXJjaCBib3guXG4gICAgY29uc3QgcG9wdXAgPSBzZWFyY2hhYmxlID8gbGlzdFJlZi5jdXJyZW50Py5wYXJlbnRFbGVtZW50IDogbGlzdFJlZi5jdXJyZW50O1xuICAgIGNvbnN0IGxpc3RIZWlnaHQgPSBwb3B1cD8ub2Zmc2V0SGVpZ2h0IHx8IG1heEhlaWdodDtcbiAgICBjb25zdCBzcGFjZUJlbG93ID0gd2luZG93LmlubmVySGVpZ2h0IC0gcmVjdC5ib3R0b207XG4gICAgc2V0UGxhY2VtZW50KHNwYWNlQmVsb3cgPCBsaXN0SGVpZ2h0ID8gJ3RvcCcgOiAnYm90dG9tJyk7XG4gIH0sIFtpc09wZW5dKTtcblxuICBjb25zdCBjaGlsZHJlbkFycmF5ID0gUmVhY3QuQ2hpbGRyZW4udG9BcnJheShjaGlsZHJlbikuZmlsdGVyKEJvb2xlYW4pO1xuICAvLyBHcm91cHMgdW53cmFwcGVkOiB3aGF0IGBvbkNoYW5nZWAgY2FuIHBpY2sgZnJvbS5cbiAgY29uc3Qgb3B0aW9ucyA9IGZsYXR0ZW5Ecm9wZG93bk9wdGlvbnMoY2hpbGRyZW5BcnJheSkubWFwKFxuICAgIChvcHRpb24pID0+IG9wdGlvbi5wcm9wcyBhcyB1bmtub3duIGFzIFQsXG4gICk7XG5cbiAgY29uc3QgdmlzaWJsZUNoaWxkcmVuID0gc2VhcmNoYWJsZVxuICAgID8gZmlsdGVyRHJvcGRvd25PcHRpb25zKGNoaWxkcmVuQXJyYXksIHF1ZXJ5KVxuICAgIDogY2hpbGRyZW5BcnJheTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBjb25zdCBpdGVtcyA9ICh2aXNpYmxlQ2hpbGRyZW4gYXMgUmVhY3QuUmVhY3RFbGVtZW50PGFueT5bXSkubWFwKFxuICAgIChjaGlsZCwgaW5kZXgpID0+IHtcbiAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGQsIHtcbiAgICAgICAgaW5kZXgsXG4gICAgICAgIG9uQ2xpY2s6IG9uQ2hhbmdlLmJpbmQodGhpcyksXG4gICAgICAgIC4uLmNoaWxkLnByb3BzLFxuICAgICAgfSk7XG4gICAgfSxcbiAgKTtcblxuICBjb25zdCBtZW51SXRlbXMgPSB0b0Ryb3Bkb3duTWVudUl0ZW1zKHZpc2libGVDaGlsZHJlbik7XG5cbiAgLyoqIFRoZSBzZWxlY3RlZCBvcHRpb24gaWYgbGlzdGVkLCBlbHNlIHRoZSBmaXJzdCAob3IgbGFzdCwgZm9yIEFycm93VXApLiAqL1xuICBjb25zdCBnZXRJbml0aWFsQWN0aXZlVmFsdWUgPSAoXG4gICAgZW50cmllczogdHlwZW9mIG1lbnVJdGVtcyxcbiAgICBrZXkgPSAnQXJyb3dEb3duJyxcbiAgKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBmbGF0dGVuSXRlbXMoZW50cmllcykuZmluZChcbiAgICAgIChpdGVtKSA9PiAhaXRlbS5kaXNhYmxlZCAmJiBpdGVtLnZhbHVlID09PSBhY3RpdmVJdGVtPy52YWx1ZSxcbiAgICApO1xuICAgIHJldHVybiBzZWxlY3RlZD8udmFsdWUgPz8gZ2V0TmV4dEFjdGl2ZVZhbHVlKGVudHJpZXMsIG51bGwsIGtleSkgPz8gbnVsbDtcbiAgfTtcblxuICAvKiogT3BlbnMgd2l0aCB0aGUgc2VsZWN0ZWQgb3B0aW9uIGhpZ2hsaWdodGVkLCBlbHNlIHBlciB0aGUga2V5IHByZXNzZWQuICovXG4gIGNvbnN0IG9wZW4gPSAoa2V5ID0gJ0Fycm93RG93bicpID0+IHtcbiAgICBzZXRJc09wZW4odHJ1ZSk7XG4gICAgc2V0QWN0aXZlVmFsdWUoZ2V0SW5pdGlhbEFjdGl2ZVZhbHVlKG1lbnVJdGVtcywga2V5KSk7XG4gIH07XG5cbiAgY29uc3QgdG9nZ2xlS2V5cyA9IHVzZVRvZ2dsZUxpc3RLZXlzKHtcbiAgICBsaXN0SWQsXG4gICAgaXNPcGVuLFxuICAgIGRpc2FibGVkOiBpc0Ryb3Bkb3duRGlzYWJsZWQsXG4gICAgbWVudUl0ZW1zLFxuICAgIGFjdGl2ZVZhbHVlLFxuICAgIHNldEFjdGl2ZVZhbHVlLFxuICAgIG9wZW4sXG4gICAgY2xvc2UsXG4gICAgb25QaWNrOiAodmFsdWUpID0+IG9uQ2hhbmdlKHZhbHVlIGFzIHN0cmluZyksXG4gICAgb25LZXlEb3duOiBjb21wb25lbnRQcm9wcz8udG9nZ2xlQnV0dG9uPy5vbktleURvd24sXG4gICAgb25LZXlVcDogY29tcG9uZW50UHJvcHM/LnRvZ2dsZUJ1dHRvbj8ub25LZXlVcCxcbiAgfSk7XG5cbiAgLy8gVGhlIHNlYXJjaCBib3ggZHJpdmVzIHRoZSBsaXN0IHdoaWxlIGl0IGlzIG9wZW4uXG4gIGNvbnN0IHNlYXJjaEtleXMgPSB1c2VUb2dnbGVMaXN0S2V5czxIVE1MSW5wdXRFbGVtZW50Pih7XG4gICAgbGlzdElkLFxuICAgIGlzT3BlbixcbiAgICBkaXNhYmxlZDogaXNEcm9wZG93bkRpc2FibGVkLFxuICAgIG1lbnVJdGVtcyxcbiAgICBhY3RpdmVWYWx1ZSxcbiAgICBzZXRBY3RpdmVWYWx1ZSxcbiAgICBvcGVuLFxuICAgIGNsb3NlLFxuICAgIG9uUGljazogKHZhbHVlKSA9PiBvbkNoYW5nZSh2YWx1ZSBhcyBzdHJpbmcpLFxuICAgIHR5cGluZzogdHJ1ZSxcbiAgICAvLyBFc2NhcGUgY2xlYXJzIHRoZSBzZWFyY2ggZmlyc3QsIHRoZW4gY2xvc2VzLlxuICAgIG9uS2V5RG93bjogKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJyAmJiBxdWVyeSkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBjaGFuZ2VRdWVyeSgnJyk7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG5cbiAgLyoqIFVwZGF0ZXMgdGhlIHNlYXJjaCBhbmQgbW92ZXMgdGhlIGhpZ2hsaWdodCB0byBzdWl0IGl0LiAqL1xuICBjb25zdCBjaGFuZ2VRdWVyeSA9IChuZXh0OiBzdHJpbmcpID0+IHtcbiAgICBzZXRRdWVyeShuZXh0KTtcbiAgICBjb25zdCBtYXRjaGVzID0gdG9Ecm9wZG93bk1lbnVJdGVtcyhcbiAgICAgIGZpbHRlckRyb3Bkb3duT3B0aW9ucyhjaGlsZHJlbkFycmF5LCBuZXh0KSxcbiAgICApO1xuICAgIC8vIEEgY2xlYXJlZCBzZWFyY2ggZ29lcyBiYWNrIHRvIHdoZXJlIG9wZW5pbmcgc3RhcnRzOyBhIHNlYXJjaCB0byBpdHNcbiAgICAvLyBmaXJzdCBtYXRjaC5cbiAgICBzZXRBY3RpdmVWYWx1ZShcbiAgICAgIG5leHQudHJpbSgpXG4gICAgICAgID8gKGdldE5leHRBY3RpdmVWYWx1ZShtYXRjaGVzLCBudWxsLCAnQXJyb3dEb3duJykgPz8gbnVsbClcbiAgICAgICAgOiBnZXRJbml0aWFsQWN0aXZlVmFsdWUobWF0Y2hlcyksXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBjb250ZXh0VmFsdWU6IERyb3Bkb3duQ29udGV4dFR5cGUgPSBSZWFjdC51c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBvbkNoYW5nZSxcbiAgICAgIGFjdGl2ZUl0ZW0sXG4gICAgICBtYXhIZWlnaHQsXG4gICAgICBsaXN0UmVmLFxuICAgICAgcGxhY2VtZW50LFxuICAgICAgYWN0aXZlVmFsdWUsXG4gICAgICBzZXRBY3RpdmVWYWx1ZSxcbiAgICAgIHNlYXJjaGFibGUsXG4gICAgICBlbXB0eVN0YXRlOiBxdWVyeSA/IHNlYXJjaEVtcHR5U3RhdGUgOiB1bmRlZmluZWQsXG4gICAgfSksXG4gICAgW1xuICAgICAgb25DaGFuZ2UsXG4gICAgICBhY3RpdmVJdGVtLFxuICAgICAgbWF4SGVpZ2h0LFxuICAgICAgcGxhY2VtZW50LFxuICAgICAgYWN0aXZlVmFsdWUsXG4gICAgICBzZWFyY2hhYmxlLFxuICAgICAgcXVlcnksXG4gICAgICBzZWFyY2hFbXB0eVN0YXRlLFxuICAgIF0sXG4gICk7XG5cbiAgY29uc3QgdmFsdWUgPSAoXG4gICAgYWN0aXZlSXRlbVxuICAgICAgPyBhY3RpdmVJdGVtLmxhYmVsIHx8XG4gICAgICAgIGFjdGl2ZUl0ZW0uY2hpbGRyZW4gfHxcbiAgICAgICAgYWN0aXZlSXRlbS52YWx1ZSB8fFxuICAgICAgICBhY3RpdmVJdGVtIHx8XG4gICAgICAgIHBsYWNlaG9sZGVyXG4gICAgICA6IHBsYWNlaG9sZGVyXG4gICkgYXMgUmVhY3ROb2RlO1xuXG4gIGNvbnN0IHJhd0F2YXRhciA9XG4gICAgYWN0aXZlSXRlbSAmJiAoYWN0aXZlSXRlbSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikuYXZhdGFyO1xuXG4gIGNvbnN0IHNlbGVjdGVkQXZhdGFyID0gIWlzTmlsbChyYXdBdmF0YXIpID8gKFxuICAgIHR5cGVvZiByYXdBdmF0YXIgPT09ICdzdHJpbmcnID8gKFxuICAgICAgPEF2YXRhclxuICAgICAgICBzaXplPXtBdmF0YXJTaXplcy5zbWFsbH1cbiAgICAgICAgaW1hZ2U9e3Jhd0F2YXRhcn1cbiAgICAgICAgYm9yZGVyPXthdmF0YXJCb3JkZXJ9XG4gICAgICAvPlxuICAgICkgOiBSZWFjdC5pc1ZhbGlkRWxlbWVudChyYXdBdmF0YXIpID8gKFxuICAgICAgKHJhd0F2YXRhciBhcyBSZWFjdE5vZGUpXG4gICAgKSA6IG51bGxcbiAgKSA6IG51bGw7XG5cbiAgY29uc3QgbGVhZGluZ0VsZW1lbnQgPSAhaXNOaWxsKHNlbGVjdGVkQXZhdGFyKSA/IChcbiAgICAoc2VsZWN0ZWRBdmF0YXIgYXMgUmVhY3ROb2RlKVxuICApIDogaWNvbiA/IChcbiAgICA8SWNvblxuICAgICAgbmFtZT17aWNvbn1cbiAgICAgIHNpemU9ezE2fVxuICAgICAgY29sb3I9e2lzRHJvcGRvd25EaXNhYmxlZCA/IHRoZW1lLmNvbG9ycy5ncmV5IDogdGhlbWUuY29sb3JzLmdyZXlEYXJrZXI4MH1cbiAgICAvPlxuICApIDogbnVsbDtcblxuICBjb25zdCB0b2dnbGVDb250ZW50ID0gIWlzTmlsbChsZWFkaW5nRWxlbWVudCkgPyAoXG4gICAgPFNlbGVjdGVkQ29udGVudD5cbiAgICAgIDxMZWFkaW5nRWxlbWVudD57bGVhZGluZ0VsZW1lbnR9PC9MZWFkaW5nRWxlbWVudD5cbiAgICAgIDxTZWxlY3RlZExhYmVsPnt2YWx1ZX08L1NlbGVjdGVkTGFiZWw+XG4gICAgPC9TZWxlY3RlZENvbnRlbnQ+XG4gICkgOiAoXG4gICAgPFNlbGVjdGVkTGFiZWw+e3ZhbHVlfTwvU2VsZWN0ZWRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxEcm9wZG93bkZpZWxkV3JhcHBlciB7Li4ud3JhcHBlckNzc1Byb3BzfT5cbiAgICAgIHtsYWJlbCA/IChcbiAgICAgICAgPExhYmVsIGlkPXtsYWJlbElkfSBkaXNhYmxlZD17aXNEcm9wZG93bkRpc2FibGVkfSBiYWRnZT17YmFkZ2V9PlxuICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9MYWJlbD5cbiAgICAgICkgOiBudWxsfVxuICAgICAgPERyb3Bkb3duQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17Y29udGV4dFZhbHVlfT5cbiAgICAgICAgPERyb3Bkb3duQmFzZVxuICAgICAgICAgIHsuLi5jb21wb25lbnRQcm9wcz8uYmFzZX1cbiAgICAgICAgICB7Li4uYmFzZUNzc1Byb3BzfVxuICAgICAgICAgIHJlZj17ZHJvcGRvd25SZWZ9XG4gICAgICAgICAgZGF0YS10ZXN0aWQ9XCJkcm9wZG93blwiPlxuICAgICAgICAgIDxEcm9wZG93blRvZ2dsZVxuICAgICAgICAgICAgey4uLmNvbXBvbmVudFByb3BzPy50b2dnbGVCdXR0b259XG4gICAgICAgICAgICB7Li4udG9nZ2xlQ3NzUHJvcHN9XG4gICAgICAgICAgICByZWY9e3RvZ2dsZVJlZn1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgaXNPcGVuPXtpc09wZW59XG4gICAgICAgICAgICBkaXNhYmxlZD17aXNEcm9wZG93bkRpc2FibGVkfVxuICAgICAgICAgICAgc3RhdHVzPXtzdGF0dXN9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiAoaXNPcGVuID8gY2xvc2UoKSA6IG9wZW4oKSl9XG4gICAgICAgICAgICB7Li4udG9nZ2xlS2V5c31cbiAgICAgICAgICAgIG9uRm9jdXM9e3NldElzRm9jdXNlZC5iaW5kKG51bGwsIHRydWUpfVxuICAgICAgICAgICAgY29sb3JzPXtjb2xvcnN9XG4gICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e2xhYmVsSWR9XG4gICAgICAgICAgICB7Li4uKGJhZGdlICYmIHsgJ2FyaWEtZGVzY3JpYmVkYnknOiBiYWRnZS5pZCB9KX1cbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e2xpc3RJZH0+XG4gICAgICAgICAgICB7dG9nZ2xlQ29udGVudH1cbiAgICAgICAgICAgIDxEcm9wZG93bkFycm93XG4gICAgICAgICAgICAgIHsuLi5jb21wb25lbnRQcm9wcz8udG9nZ2xlQnV0dG9uQXJyb3d9XG4gICAgICAgICAgICAgIGlzVXA9e2lzT3Blbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Ecm9wZG93blRvZ2dsZT5cblxuICAgICAgICAgIHtpc09wZW4gJiYgc2VhcmNoYWJsZSA/IChcbiAgICAgICAgICAgIDxEcm9wZG93blNlYXJjaFxuICAgICAgICAgICAgICB7Li4uc2VhcmNoS2V5c31cbiAgICAgICAgICAgICAgcXVlcnk9e3F1ZXJ5fVxuICAgICAgICAgICAgICBvblF1ZXJ5Q2hhbmdlPXtjaGFuZ2VRdWVyeX1cbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3NlYXJjaFBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICBsaXN0SWQ9e2xpc3RJZH1cbiAgICAgICAgICAgICAgcGxhY2VtZW50PXtwbGFjZW1lbnR9PlxuICAgICAgICAgICAgICA8RHJvcGRvd25PcHRpb25zIGlkPXtsaXN0SWR9PntpdGVtc308L0Ryb3Bkb3duT3B0aW9ucz5cbiAgICAgICAgICAgIDwvRHJvcGRvd25TZWFyY2g+XG4gICAgICAgICAgKSA6IGlzT3BlbiA/IChcbiAgICAgICAgICAgIDxEcm9wZG93bk9wdGlvbnMgaWQ9e2xpc3RJZH0+e2l0ZW1zfTwvRHJvcGRvd25PcHRpb25zPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L0Ryb3Bkb3duQmFzZT5cbiAgICAgIDwvRHJvcGRvd25Db250ZXh0LlByb3ZpZGVyPlxuICAgICAge2hlbHBlclRleHQgfHwgZXJyb3JzID8gKFxuICAgICAgICA8Rm9ybUhlbHBlclRleHRcbiAgICAgICAgICByb2xlPVwic3RhdHVzXCJcbiAgICAgICAgICBzdGF0dXM9e3N0YXR1c31cbiAgICAgICAgICBkaXNhYmxlZD17aXNEcm9wZG93bkRpc2FibGVkfT5cbiAgICAgICAgICB7ZXJyb3JzPy5tZXNzYWdlIHx8IGhlbHBlclRleHR9XG4gICAgICAgIDwvRm9ybUhlbHBlclRleHQ+XG4gICAgICApIDogbnVsbH1cbiAgICA8L0Ryb3Bkb3duRmllbGRXcmFwcGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRHJvcGRvd247XG4iXX0= */",
|
|
28514
28652
|
toString: Dropdown_EMOTION_STRINGIFIED_CSS_ERROR_
|
|
28515
28653
|
});
|
|
28516
28654
|
const DropdownBase = /*#__PURE__*/base_default()("div", process.env.NODE_ENV === "production" ? {
|
|
@@ -28523,7 +28661,7 @@ const DropdownBase = /*#__PURE__*/base_default()("div", process.env.NODE_ENV ===
|
|
|
28523
28661
|
styles: "display:inline-block;position:relative;max-width:100%"
|
|
28524
28662
|
} : {
|
|
28525
28663
|
name: "nycxdm",
|
|
28526
|
-
styles: "display:inline-block;position:relative;max-width:100%/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9Ecm9wZG93bi9Ecm9wZG93bi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0MrQiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91aS1raXQvdWkta2l0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVN0YXRlLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlUmVmLFxuICB1c2VJZCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IHVzZUNsaWNrT3V0c2lkZSB9IGZyb20gJ0Bzc2EtdWkta2l0L2hvb2tzJztcbmltcG9ydCB7IGlzTmlsbCB9IGZyb20gJ0Bzc2EtdWkta2l0L3V0aWxzJztcblxuaW1wb3J0IERyb3Bkb3duVG9nZ2xlIGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duVG9nZ2xlJztcbmltcG9ydCBEcm9wZG93bkFycm93IGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duQXJyb3cnO1xuaW1wb3J0IERyb3Bkb3duT3B0aW9ucyBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMnO1xuaW1wb3J0IHtcbiAgZmxhdHRlbkRyb3Bkb3duT3B0aW9ucyxcbiAgdG9Ecm9wZG93bk1lbnVJdGVtcyxcbn0gZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25PcHRpb25zL3V0aWxzJztcbmltcG9ydCB7IHVzZVRvZ2dsZUxpc3RLZXlzIH0gZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25PcHRpb25zL3VzZVRvZ2dsZUxpc3RLZXlzJztcbmltcG9ydCB7IGdldE5leHRBY3RpdmVWYWx1ZSB9IGZyb20gJ0Bjb21wb25lbnRzL0NvbnRleHRNZW51JztcbmltcG9ydCB7IGZsYXR0ZW5JdGVtcyB9IGZyb20gJ0Bjb21wb25lbnRzL0NvbnRleHRNZW51L3V0aWxzJztcbmltcG9ydCBBdmF0YXIsIHsgQXZhdGFyU2l6ZXMgfSBmcm9tICdAY29tcG9uZW50cy9BdmF0YXInO1xuaW1wb3J0IEljb24gZnJvbSAnQGNvbXBvbmVudHMvSWNvbic7XG5pbXBvcnQgTGFiZWwgZnJvbSAnQGNvbXBvbmVudHMvTGFiZWwnO1xuaW1wb3J0IEZvcm1IZWxwZXJUZXh0IGZyb20gJ0Bjb21wb25lbnRzL0Zvcm1IZWxwZXJUZXh0JztcbmltcG9ydCBEcm9wZG93bkNvbnRleHQgZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24uY29udGV4dCc7XG5pbXBvcnQgeyByZXNvbHZlRGlzYWJsZWQgfSBmcm9tICdAdXRpbHMvZGVwcmVjYXRpb24nO1xuaW1wb3J0IHsgRHJvcGRvd25PcHRpb25Qcm9wcyB9IGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duT3B0aW9ucy90eXBlcyc7XG5cbmltcG9ydCB7IERyb3Bkb3duQ29udGV4dFR5cGUsIERyb3Bkb3duUG9zaXRpb25zLCBEcm9wZG93blByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qXG4gKiBCb3RoIGxldmVscyBhcmUgc2hyaW5rLXRvLWZpdCwgYW5kIGEgc2hyaW5rLXRvLWZpdCBib3ggc2l6ZXMgdG8gaXRzXG4gKiBtaW4tY29udGVudCB3aGVuIHRoYXQgZXhjZWVkcyB0aGUgc3BhY2UgYXZhaWxhYmxlIC0tIGZvciBhIG5vd3JhcCBsYWJlbCB0aGF0XG4gKiBpcyB0aGUgZW50aXJlIHN0cmluZywgc28gdGhlIGRyb3Bkb3duIHdvdWxkIGdyb3cgcGFzdCBpdHMgY29udGFpbmVyIGluc3RlYWRcbiAqIG9mIGVsbGlwc2lzaW5nLiBgbWF4LXdpZHRoOiAxMDAlYCBnaXZlcyBlYWNoIGxldmVsIGEgZGVmaW5pdGUgd2lkdGggdG9cbiAqIHJlc29sdmUgYWdhaW5zdCwgd2hpY2ggaXMgd2hhdCBhY3R1YWxseSBsZXRzIHRoZSBsYWJlbCBjbGlwLlxuICovXG5jb25zdCBEcm9wZG93bkZpZWxkV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CYXNlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogMTAwJTtcbmA7XG5cbmNvbnN0IFNlbGVjdGVkQ29udGVudCA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIG1pbi13aWR0aDogMDtcbmA7XG5cbi8qKlxuICogS2VlcHMgdGhlIHNlbGVjdGVkIHZhbHVlIG9uIGEgc2luZ2xlIGxpbmUgYW5kIGVsbGlwc2lzZXMgaXQuIFdpdGhvdXQgdGhpcyB0aGVcbiAqIGxhYmVsIHdyYXBzIGFuZCwgYmVjYXVzZSB0aGUgdG9nZ2xlIGlzIGEgZml4ZWQgNDRweCwgc3BpbGxzIGFib3ZlIGFuZCBiZWxvd1xuICogdGhlIGJvcmRlci4gYG1pbi13aWR0aDogMGAgaXMgd2hhdCBsZXRzIHRoZSB0b2dnbGUgc2hyaW5rIGJlbG93IHRoZSBsYWJlbCdzXG4gKiBpbnRyaW5zaWMgd2lkdGggYXQgYWxsIOKAlCBhIG5vd3JhcCBmbGV4IGl0ZW0gb3RoZXJ3aXNlIHJlcG9ydHMgaXRzIGZ1bGwgdGV4dFxuICogd2lkdGggYXMgaXRzIG1pbmltdW0sIHNvIHRoZSBkcm9wZG93biB3b3VsZCBrZWVwIGdyb3dpbmcgaW5zdGVhZCBvZiBjbGlwcGluZy5cbiAqL1xuY29uc3QgU2VsZWN0ZWRMYWJlbCA9IHN0eWxlZC5zcGFuYFxuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgbWluLXdpZHRoOiAwO1xuYDtcblxuY29uc3QgTGVhZGluZ0VsZW1lbnQgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYDtcblxuLyoqXG4gKiBEcm9wZG93biAtIFNlbGVjdC1saWtlIGRyb3Bkb3duIGNvbXBvbmVudCBmb3Igc2luZ2xlIHNlbGVjdGlvblxuICpcbiAqIEEgZmxleGlibGUgZHJvcGRvd24gY29tcG9uZW50IHRoYXQgYWxsb3dzIHVzZXJzIHRvIHNlbGVjdCBvbmUgb3B0aW9uIGZyb21cbiAqIGEgbGlzdCBvZiBjaG9pY2VzLiBVc2VzIGEgY29tcG91bmQgY29tcG9uZW50IHBhdHRlcm4gd2l0aCBEcm9wZG93bk9wdGlvblxuICogY2hpbGRyZW4uIFByb3ZpZGVzIGtleWJvYXJkIG5hdmlnYXRpb24sIGFjY2Vzc2liaWxpdHkgZmVhdHVyZXMsIGNsaWNrLW91dHNpZGVcbiAqIHRvIGNsb3NlIGZ1bmN0aW9uYWxpdHksIGFuZCBhdXRvbWF0aWMgdmlld3BvcnQtYXdhcmUgcGxhY2VtZW50IG9mIHRoZSBvcHRpb25zIGxpc3QuXG4gKlxuICogT24gZXZlcnkgb3BlbiB0aGUgY29tcG9uZW50IG1lYXN1cmVzIGF2YWlsYWJsZSBzcGFjZSBiZWxvdyB0aGUgdG9nZ2xlIGJ1dHRvblxuICogYW5kIGZsaXBzIHRoZSBsaXN0IHVwd2FyZCB3aGVuIHRoZXJlIGlzIG5vdCBlbm91Z2ggcm9vbSwgcHJldmVudGluZyB0aGUgbGlzdFxuICogZnJvbSBiZWluZyBjbGlwcGVkIGJ5IHRoZSB2aWV3cG9ydCBlZGdlLiBUaGlzIGJlaGF2aW9yIGNhbiBiZSBvdmVycmlkZGVuIHZpYVxuICogZHJvcGRvd25Qcm9wcy5kcm9wZG93blBvc2l0aW9uLlxuICpcbiAqIENvbXBvbmVudCBzdHJ1Y3R1cmU6XG4gKiAtIERyb3Bkb3duIChyb290IGNvbnRhaW5lciB3aXRoIGNvbnRleHQpXG4gKiAgIC0gRHJvcGRvd25Ub2dnbGUgKGJ1dHRvbiB0aGF0IG9wZW5zL2Nsb3NlcyBkcm9wZG93bilcbiAqICAgLSBEcm9wZG93bk9wdGlvbnMgKG1lbnUgY29udGFpbmVyIHRoYXQgYXBwZWFycyB3aGVuIG9wZW4pXG4gKiAgICAgLSBEcm9wZG93bk9wdGlvbiAoaW5kaXZpZHVhbCBzZWxlY3RhYmxlIGl0ZW1zKVxuICpcbiAqIEBjYXRlZ29yeSBGb3JtIENvbnRyb2xzXG4gKiBAc3ViY2F0ZWdvcnkgU2VsZWN0aW9uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgaXRlbXMgPSBbXG4gKiAgIHsgaWQ6IDEsIHZhbHVlOiAnQXBwbGUnIH0sXG4gKiAgIHsgaWQ6IDIsIHZhbHVlOiAnQmFuYW5hJyB9LFxuICogICB7IGlkOiAzLCB2YWx1ZTogJ0NoZXJyeScgfSxcbiAqIF07XG4gKlxuICogPERyb3Bkb3duXG4gKiAgIHNlbGVjdGVkSXRlbT17aXRlbXNbMF19XG4gKiAgIG9uQ2hhbmdlPXsoaXRlbSkgPT4gaGFuZGxlU2VsZWN0aW9uKGl0ZW0pfVxuICogICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBhIGZydWl0XCJcbiAqID5cbiAqICAge2l0ZW1zLm1hcChpdGVtID0+IChcbiAqICAgICA8RHJvcGRvd25PcHRpb24ga2V5PXtpdGVtLmlkfSB2YWx1ZT17aXRlbS5pZH0+XG4gKiAgICAgICB7aXRlbS52YWx1ZX1cbiAqICAgICA8L0Ryb3Bkb3duT3B0aW9uPlxuICogICApKX1cbiAqIDwvRHJvcGRvd24+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiAvLyBDb250cm9sbGVkIG9wZW4gc3RhdGVcbiAqIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gKiA8RHJvcGRvd25cbiAqICAgaXNPcGVuPXtpc09wZW59XG4gKiAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gKiAgIHNlbGVjdGVkSXRlbT17c2VsZWN0ZWR9XG4gKiA+XG4gKiAgIHtvcHRpb25zLm1hcChvcHQgPT4gKFxuICogICAgIDxEcm9wZG93bk9wdGlvbiBrZXk9e29wdC5pZH0gdmFsdWU9e29wdC5pZH0+XG4gKiAgICAgICB7b3B0LmxhYmVsfVxuICogICAgIDwvRHJvcGRvd25PcHRpb24+XG4gKiAgICkpfVxuICogPC9Ecm9wZG93bj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIFdpdGggY3VzdG9tIHByb3BzIGZvciBzdWItY29tcG9uZW50cyBhbmQgZm9yY2VkIHVwd2FyZCBwbGFjZW1lbnRcbiAqIDxEcm9wZG93blxuICogICBzZWxlY3RlZEl0ZW09e3NlbGVjdGVkfVxuICogICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICogICBkcm9wZG93blByb3BzPXt7XG4gKiAgICAgYmFzZTogeyBpZDogJ215LWRyb3Bkb3duJyB9LFxuICogICAgIHRvZ2dsZUJ1dHRvbjogeyAnZGF0YS10ZXN0aWQnOiAnZHJvcGRvd24tdG9nZ2xlJyB9LFxuICogICAgIHRvZ2dsZUJ1dHRvbkFycm93OiB7IGNsYXNzTmFtZTogJ2N1c3RvbS1hcnJvdycgfSxcbiAqICAgICBkcm9wZG93blBvc2l0aW9uOiBEcm9wZG93blBvc2l0aW9ucy50b3AsXG4gKiAgIH19XG4gKiA+XG4gKiAgIHtvcHRpb25zLm1hcChvcHQgPT4gKFxuICogICAgIDxEcm9wZG93bk9wdGlvbiBrZXk9e29wdC5pZH0gdmFsdWU9e29wdC5pZH0+XG4gKiAgICAgICB7b3B0LmxhYmVsfVxuICogICAgIDwvRHJvcGRvd25PcHRpb24+XG4gKiAgICkpfVxuICogPC9Ecm9wZG93bj5cbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIERyb3Bkb3duT3B0aW9ufSAtIENoaWxkIGNvbXBvbmVudCBmb3IgaW5kaXZpZHVhbCBvcHRpb25zXG4gKiBAc2VlIHtAbGluayBEcm9wZG93blRvZ2dsZX0gLSBUb2dnbGUgYnV0dG9uIGNvbXBvbmVudFxuICogQHNlZSB7QGxpbmsgRHJvcGRvd25PcHRpb25zfSAtIE9wdGlvbnMgbWVudSBjb250YWluZXJcbiAqXG4gKiBAYWNjZXNzaWJpbGl0eVxuICogLSBBUklBIGF0dHJpYnV0ZXMgc2V0IGFjY29yZGluZyB0byBXQUktQVJJQSBjb21ib2JveCBwYXR0ZXJuXG4gKiAtIEtleWJvYXJkIG5hdmlnYXRpb24gKEFycm93IGtleXMsIEVudGVyLCBFc2NhcGUpXG4gKiAtIENsaWNrIG91dHNpZGUgdG8gY2xvc2VcbiAqIC0gU2NyZWVuIHJlYWRlciBmcmllbmRseVxuICogLSBGb2N1cyBtYW5hZ2VtZW50XG4gKlxuICogQHNlZSBodHRwczovL3d3dy53My5vcmcvV0FJL0FSSUEvYXBnL2V4YW1wbGUtaW5kZXgvY29tYm9ib3gvY29tYm9ib3gtc2VsZWN0LW9ubHkuaHRtbFxuICovXG5jb25zdCBEcm9wZG93biA9IDxUIGV4dGVuZHMgRHJvcGRvd25PcHRpb25Qcm9wcz4oe1xuICBzZWxlY3RlZEl0ZW0sXG4gIGRpc2FibGVkLFxuICBpc0Rpc2FibGVkLFxuICBpc09wZW46IGlzSW5pdE9wZW4sXG4gIGNoaWxkcmVuLFxuICBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLFxuICBjbGFzc05hbWUsXG4gIHBsYWNlaG9sZGVyID0gJ1NlbGVjdCBzb21ldGhpbmcnLFxuICBtYXhIZWlnaHQgPSAyMDAsXG4gIGF2YXRhckJvcmRlciA9IGZhbHNlLFxuICBsYWJlbCxcbiAgbGFiZWxCYWRnZSxcbiAgaGVscGVyVGV4dCxcbiAgZXJyb3JzLFxuICBzdWNjZXNzLFxuICBpY29uLFxuICB3aWR0aCxcbiAgZHJvcGRvd25Qcm9wczogY29tcG9uZW50UHJvcHMsXG59OiBEcm9wZG93blByb3BzPFQ+KSA9PiB7XG4gIGNvbnN0IGlzRHJvcGRvd25EaXNhYmxlZCA9IHJlc29sdmVEaXNhYmxlZCgnRHJvcGRvd24nLCBkaXNhYmxlZCwgaXNEaXNhYmxlZCk7XG4gIGNvbnN0IHN0YXR1cyA9IHN1Y2Nlc3MgPyAnc3VjY2VzcycgOiBlcnJvcnMgPyAnZXJyb3InIDogJ2Jhc2ljJztcbiAgY29uc3QgeyBkcm9wZG93blBvc2l0aW9uID0gRHJvcGRvd25Qb3NpdGlvbnMuYXV0byB9ID0gY29tcG9uZW50UHJvcHMgPz8ge307XG4gIC8vIGB3aWR0aGAgaGFzIG5vIGRlZmF1bHQ6IHdpdGhvdXQgaXQgZXZlcnkgbGV2ZWwga2VlcHMgc2hyaW5rLXdyYXBwaW5nLCB3aGljaFxuICAvLyBpcyB0aGUgaGlzdG9yaWNhbCBiZWhhdmlvdXIuIFdoZW4gc2V0LCBhbGwgdGhyZWUgbmVzdGVkIGxldmVsc1xuICAvLyAod3JhcHBlciAtPiBiYXNlIC0+IHRvZ2dsZSkgaGF2ZSB0byBiZSBzdHJldGNoZWQg4oCUIHNpemluZyBvbmx5IG9uZSBpcyBhXG4gIC8vIG5vLW9wLCBiZWNhdXNlIHRoZSBsZXZlbCBhYm92ZSBpdCBpcyBzdGlsbCBzaXplZCB0byBpdHMgY29udGVudC5cbiAgLy9cbiAgLy8gT25seSB0aGUgb3V0ZXJtb3N0IGxldmVsIGdldHMgdGhlIHJlcXVlc3RlZCB2YWx1ZTsgdGhlIGlubmVyIHR3byBnZXQgMTAwJS5cbiAgLy8gUmVwZWF0aW5nIHRoZSB2YWx1ZSB3b3VsZCBjb21wb3VuZCByZWxhdGl2ZSB1bml0czogYHdpZHRoPVwiNjAlXCJgIHdvdWxkXG4gIC8vIG90aGVyd2lzZSByZW5kZXIgdGhlIGJhc2UgYXQgNjAlIG9mIHRoZSB3cmFwcGVyIGFuZCB0aGUgdG9nZ2xlIGF0IDYwJSBvZlxuICAvLyB0aGF0LCBpLmUuIDIxLjYlIG9mIHRoZSBjb250YWluZXIuXG4gIC8vXG4gIC8vIFNwcmVhZCByYXRoZXIgdGhhbiBwYXNzZWQgYXMgYGNzcz17Li4ufWA6IEVtb3Rpb24gd3JhcHMgYW4gZWxlbWVudCB3aGVuZXZlclxuICAvLyBgY3NzYCBpcyBwcmVzZW50IGluIGl0cyBwcm9wcywgZXZlbiB3aGVuIGl0cyB2YWx1ZSBpcyB1bmRlZmluZWQsIGFuZCB0aGF0XG4gIC8vIHJlLXNlcmlhbGl6ZXMgYW55IGluY29taW5nIGBjbGFzc05hbWVgIChlLmcuIGZyb20gYHN0eWxlZChEcm9wZG93bilgKS5cbiAgLy8gT21pdHRpbmcgdGhlIGtleSBrZWVwcyB0aGUgbm8td2lkdGggcGF0aCBpZGVudGljYWwgdG8gd3JpdGluZyBubyBgY3NzYCBwcm9wLlxuICBjb25zdCB3cmFwcGVyQ3NzUHJvcHMgPSB3aWR0aCA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogeyBjc3M6IHsgd2lkdGggfSB9O1xuICBjb25zdCBiYXNlQ3NzUHJvcHMgPVxuICAgIHdpZHRoID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiB7IGNzczogeyB3aWR0aDogJzEwMCUnIH0gfTtcbiAgY29uc3QgdG9nZ2xlQ3NzUHJvcHMgPVxuICAgIHdpZHRoID09PSB1bmRlZmluZWRcbiAgICAgID8gdW5kZWZpbmVkXG4gICAgICA6IHsgY3NzOiBbeyB3aWR0aDogJzEwMCUnIH0sIGNvbXBvbmVudFByb3BzPy50b2dnbGVCdXR0b24/LmNzc10gfTtcblxuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKCk7XG4gIGNvbnN0IGRyb3Bkb3duUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgbGlzdFJlZiA9IHVzZVJlZjxIVE1MVUxpc3RFbGVtZW50PihudWxsKTtcblxuICBjb25zdCBkcm9wZG93bklkID0gdXNlSWQoKTtcbiAgLy8gTmFtZXMgdGhlIHRvZ2dsZTsgbGVmdCBvdXQgd2l0aG91dCBhIGxhYmVsLCBzbyBpdCBuZXZlciBwb2ludHMgYXQgYVxuICAvLyBtaXNzaW5nIGVsZW1lbnQuXG4gIGNvbnN0IGxhYmVsSWQgPSBsYWJlbCA/IGBkcm9wZG93bi1sYWJlbC0ke2Ryb3Bkb3duSWR9YCA6IHVuZGVmaW5lZDtcbiAgY29uc3QgYmFkZ2UgPVxuICAgIGxhYmVsICYmIGxhYmVsQmFkZ2VcbiAgICAgID8geyAuLi5sYWJlbEJhZGdlLCBpZDogYGRyb3Bkb3duLWJhZGdlLSR7ZHJvcGRvd25JZH1gIH1cbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gIGNvbnN0IFtpc0ZvY3VzZWQsIHNldElzRm9jdXNlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZShpc0luaXRPcGVuIHx8IGZhbHNlKTtcbiAgY29uc3QgW2NvbG9ycywgc2V0Q29sb3JzXSA9IHVzZVN0YXRlPEFycmF5PHN0cmluZyB8IHVuZGVmaW5lZD4+KFtdKTtcbiAgY29uc3QgW2FjdGl2ZUl0ZW0sIHNldEFjdGl2ZUl0ZW1dID0gdXNlU3RhdGU8VCB8IHVuZGVmaW5lZD4oc2VsZWN0ZWRJdGVtKTtcbiAgY29uc3QgW3BsYWNlbWVudCwgc2V0UGxhY2VtZW50XSA9IHVzZVN0YXRlPCd0b3AnIHwgJ2JvdHRvbSc+KCdib3R0b20nKTtcbiAgLy8gSGlnaGxpZ2h0ZWQgb3B0aW9uLiBGb2N1cyBzdGF5cyBvbiB0aGUgdG9nZ2xlICh0aGUgY29tYm9ib3gpLCB3aGljaFxuICAvLyBkcml2ZXMgdGhlIGxpc3QgYW5kIHBvaW50cyBhdCB0aGUgb3B0aW9uIHdpdGggYXJpYS1hY3RpdmVkZXNjZW5kYW50LlxuICBjb25zdCBbYWN0aXZlVmFsdWUsIHNldEFjdGl2ZVZhbHVlXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bWJlciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBsaXN0SWQgPSBgZHJvcGRvd24tcG9wdXAtJHtkcm9wZG93bklkfWA7XG5cbiAgY29uc3QgY2xvc2UgPSAoKSA9PiB7XG4gICAgc2V0SXNPcGVuKGZhbHNlKTtcbiAgICBzZXRBY3RpdmVWYWx1ZShudWxsKTtcbiAgfTtcblxuICBjb25zdCBvbkNoYW5nZTogRHJvcGRvd25Db250ZXh0VHlwZVsnb25DaGFuZ2UnXSA9IChpdGVtKSA9PiB7XG4gICAgY29uc3QgaW5uZXJJdGVtID0gb3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBpdGVtKVswXTtcblxuICAgIGNsb3NlKCk7XG5cbiAgICBpZiAoaXNEcm9wZG93bkRpc2FibGVkIHx8ICFpbm5lckl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaW5uZXJJdGVtLnZhbHVlID09PSBhY3RpdmVJdGVtPy52YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldEFjdGl2ZUl0ZW0oaW5uZXJJdGVtKTtcbiAgICBpZiAoaGFuZGxlQ2hhbmdlKSB7XG4gICAgICBoYW5kbGVDaGFuZ2UoaW5uZXJJdGVtKTtcbiAgICB9XG4gIH07XG5cbiAgdXNlQ2xpY2tPdXRzaWRlKGRyb3Bkb3duUmVmLCAoKSA9PiBpc09wZW4gJiYgY2xvc2UoKSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNEcm9wZG93bkRpc2FibGVkKSB7XG4gICAgICBzZXRDb2xvcnMoW3RoZW1lLmNvbG9ycy5ncmV5RGFya2VyNjAsIHRoZW1lLmNvbG9ycy5ncmV5MjBdKTtcbiAgICB9IGVsc2UgaWYgKGlzT3Blbikge1xuICAgICAgc2V0Q29sb3JzKFt0aGVtZS5jb2xvcnMud2hpdGUsIHRoZW1lLmNvbG9ycy53aGl0ZTYwXSk7XG4gICAgfSBlbHNlIGlmIChpc0ZvY3VzZWQpIHtcbiAgICAgIHNldENvbG9ycyhbdGhlbWUuY29sb3JzLmdyZXlEYXJrZXIsIHRoZW1lLmNvbG9ycy5ncmV5RGFya2VyNjBdKTtcbiAgICB9XG4gIH0sIFtpc09wZW4sIGlzRHJvcGRvd25EaXNhYmxlZCwgaXNGb2N1c2VkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRBY3RpdmVJdGVtKHNlbGVjdGVkSXRlbSk7XG4gIH0sIFtzZWxlY3RlZEl0ZW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc0Ryb3Bkb3duRGlzYWJsZWQgJiYgaXNPcGVuKSB7XG4gICAgICBjbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzRHJvcGRvd25EaXNhYmxlZF0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc09wZW4gfHwgIWRyb3Bkb3duUmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIGlmIChkcm9wZG93blBvc2l0aW9uICE9PSBEcm9wZG93blBvc2l0aW9ucy5hdXRvKSB7XG4gICAgICBzZXRQbGFjZW1lbnQoZHJvcGRvd25Qb3NpdGlvbik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVjdCA9IGRyb3Bkb3duUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgbGlzdEhlaWdodCA9IGxpc3RSZWYuY3VycmVudD8ub2Zmc2V0SGVpZ2h0IHx8IG1heEhlaWdodDtcbiAgICBjb25zdCBzcGFjZUJlbG93ID0gd2luZG93LmlubmVySGVpZ2h0IC0gcmVjdC5ib3R0b207XG4gICAgc2V0UGxhY2VtZW50KHNwYWNlQmVsb3cgPCBsaXN0SGVpZ2h0ID8gJ3RvcCcgOiAnYm90dG9tJyk7XG4gIH0sIFtpc09wZW5dKTtcblxuICBjb25zdCBjaGlsZHJlbkFycmF5ID0gUmVhY3QuQ2hpbGRyZW4udG9BcnJheShjaGlsZHJlbikuZmlsdGVyKEJvb2xlYW4pO1xuICAvLyBHcm91cHMgdW53cmFwcGVkOiB3aGF0IGBvbkNoYW5nZWAgY2FuIHBpY2sgZnJvbS5cbiAgY29uc3Qgb3B0aW9ucyA9IGZsYXR0ZW5Ecm9wZG93bk9wdGlvbnMoY2hpbGRyZW5BcnJheSkubWFwKFxuICAgIChvcHRpb24pID0+IG9wdGlvbi5wcm9wcyBhcyB1bmtub3duIGFzIFQsXG4gICk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgY29uc3QgaXRlbXMgPSAoY2hpbGRyZW5BcnJheSBhcyBSZWFjdC5SZWFjdEVsZW1lbnQ8YW55PltdKS5tYXAoXG4gICAgKGNoaWxkLCBpbmRleCkgPT4ge1xuICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICBpbmRleCxcbiAgICAgICAgb25DbGljazogb25DaGFuZ2UuYmluZCh0aGlzKSxcbiAgICAgICAgLi4uY2hpbGQucHJvcHMsXG4gICAgICB9KTtcbiAgICB9LFxuICApO1xuXG4gIGNvbnN0IG1lbnVJdGVtcyA9IHRvRHJvcGRvd25NZW51SXRlbXMoY2hpbGRyZW5BcnJheSk7XG5cbiAgLyoqIE9wZW5zIHdpdGggdGhlIHNlbGVjdGVkIG9wdGlvbiBoaWdobGlnaHRlZCwgZWxzZSBwZXIgdGhlIGtleSBwcmVzc2VkLiAqL1xuICBjb25zdCBvcGVuID0gKGtleSA9ICdBcnJvd0Rvd24nKSA9PiB7XG4gICAgc2V0SXNPcGVuKHRydWUpO1xuICAgIGNvbnN0IHNlbGVjdGVkID0gZmxhdHRlbkl0ZW1zKG1lbnVJdGVtcykuZmluZChcbiAgICAgIChpdGVtKSA9PiAhaXRlbS5kaXNhYmxlZCAmJiBpdGVtLnZhbHVlID09PSBhY3RpdmVJdGVtPy52YWx1ZSxcbiAgICApO1xuICAgIHNldEFjdGl2ZVZhbHVlKFxuICAgICAgc2VsZWN0ZWQ/LnZhbHVlID8/IGdldE5leHRBY3RpdmVWYWx1ZShtZW51SXRlbXMsIG51bGwsIGtleSkgPz8gbnVsbCxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IHRvZ2dsZUtleXMgPSB1c2VUb2dnbGVMaXN0S2V5cyh7XG4gICAgbGlzdElkLFxuICAgIGlzT3BlbixcbiAgICBkaXNhYmxlZDogaXNEcm9wZG93bkRpc2FibGVkLFxuICAgIG1lbnVJdGVtcyxcbiAgICBhY3RpdmVWYWx1ZSxcbiAgICBzZXRBY3RpdmVWYWx1ZSxcbiAgICBvcGVuLFxuICAgIGNsb3NlLFxuICAgIG9uUGljazogKHZhbHVlKSA9PiBvbkNoYW5nZSh2YWx1ZSBhcyBzdHJpbmcpLFxuICAgIG9uS2V5RG93bjogY29tcG9uZW50UHJvcHM/LnRvZ2dsZUJ1dHRvbj8ub25LZXlEb3duLFxuICAgIG9uS2V5VXA6IGNvbXBvbmVudFByb3BzPy50b2dnbGVCdXR0b24/Lm9uS2V5VXAsXG4gIH0pO1xuXG4gIGNvbnN0IGNvbnRleHRWYWx1ZTogRHJvcGRvd25Db250ZXh0VHlwZSA9IFJlYWN0LnVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgYWN0aXZlSXRlbSxcbiAgICAgIG1heEhlaWdodCxcbiAgICAgIGxpc3RSZWYsXG4gICAgICBwbGFjZW1lbnQsXG4gICAgICBhY3RpdmVWYWx1ZSxcbiAgICAgIHNldEFjdGl2ZVZhbHVlLFxuICAgIH0pLFxuICAgIFtvbkNoYW5nZSwgYWN0aXZlSXRlbSwgbWF4SGVpZ2h0LCBwbGFjZW1lbnQsIGFjdGl2ZVZhbHVlXSxcbiAgKTtcblxuICBjb25zdCB2YWx1ZSA9IChcbiAgICBhY3RpdmVJdGVtXG4gICAgICA/IGFjdGl2ZUl0ZW0ubGFiZWwgfHxcbiAgICAgICAgYWN0aXZlSXRlbS5jaGlsZHJlbiB8fFxuICAgICAgICBhY3RpdmVJdGVtLnZhbHVlIHx8XG4gICAgICAgIGFjdGl2ZUl0ZW0gfHxcbiAgICAgICAgcGxhY2Vob2xkZXJcbiAgICAgIDogcGxhY2Vob2xkZXJcbiAgKSBhcyBSZWFjdE5vZGU7XG5cbiAgY29uc3QgcmF3QXZhdGFyID1cbiAgICBhY3RpdmVJdGVtICYmIChhY3RpdmVJdGVtIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KS5hdmF0YXI7XG5cbiAgY29uc3Qgc2VsZWN0ZWRBdmF0YXIgPSAhaXNOaWxsKHJhd0F2YXRhcikgPyAoXG4gICAgdHlwZW9mIHJhd0F2YXRhciA9PT0gJ3N0cmluZycgPyAoXG4gICAgICA8QXZhdGFyXG4gICAgICAgIHNpemU9e0F2YXRhclNpemVzLnNtYWxsfVxuICAgICAgICBpbWFnZT17cmF3QXZhdGFyfVxuICAgICAgICBib3JkZXI9e2F2YXRhckJvcmRlcn1cbiAgICAgIC8+XG4gICAgKSA6IFJlYWN0LmlzVmFsaWRFbGVtZW50KHJhd0F2YXRhcikgPyAoXG4gICAgICAocmF3QXZhdGFyIGFzIFJlYWN0Tm9kZSlcbiAgICApIDogbnVsbFxuICApIDogbnVsbDtcblxuICBjb25zdCBsZWFkaW5nRWxlbWVudCA9ICFpc05pbGwoc2VsZWN0ZWRBdmF0YXIpID8gKFxuICAgIChzZWxlY3RlZEF2YXRhciBhcyBSZWFjdE5vZGUpXG4gICkgOiBpY29uID8gKFxuICAgIDxJY29uXG4gICAgICBuYW1lPXtpY29ufVxuICAgICAgc2l6ZT17MTZ9XG4gICAgICBjb2xvcj17aXNEcm9wZG93bkRpc2FibGVkID8gdGhlbWUuY29sb3JzLmdyZXkgOiB0aGVtZS5jb2xvcnMuZ3JleURhcmtlcjgwfVxuICAgIC8+XG4gICkgOiBudWxsO1xuXG4gIGNvbnN0IHRvZ2dsZUNvbnRlbnQgPSAhaXNOaWxsKGxlYWRpbmdFbGVtZW50KSA/IChcbiAgICA8U2VsZWN0ZWRDb250ZW50PlxuICAgICAgPExlYWRpbmdFbGVtZW50PntsZWFkaW5nRWxlbWVudH08L0xlYWRpbmdFbGVtZW50PlxuICAgICAgPFNlbGVjdGVkTGFiZWw+e3ZhbHVlfTwvU2VsZWN0ZWRMYWJlbD5cbiAgICA8L1NlbGVjdGVkQ29udGVudD5cbiAgKSA6IChcbiAgICA8U2VsZWN0ZWRMYWJlbD57dmFsdWV9PC9TZWxlY3RlZExhYmVsPlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPERyb3Bkb3duRmllbGRXcmFwcGVyIHsuLi53cmFwcGVyQ3NzUHJvcHN9PlxuICAgICAge2xhYmVsID8gKFxuICAgICAgICA8TGFiZWwgaWQ9e2xhYmVsSWR9IGRpc2FibGVkPXtpc0Ryb3Bkb3duRGlzYWJsZWR9IGJhZGdlPXtiYWRnZX0+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L0xhYmVsPlxuICAgICAgKSA6IG51bGx9XG4gICAgICA8RHJvcGRvd25Db250ZXh0LlByb3ZpZGVyIHZhbHVlPXtjb250ZXh0VmFsdWV9PlxuICAgICAgICA8RHJvcGRvd25CYXNlXG4gICAgICAgICAgey4uLmNvbXBvbmVudFByb3BzPy5iYXNlfVxuICAgICAgICAgIHsuLi5iYXNlQ3NzUHJvcHN9XG4gICAgICAgICAgcmVmPXtkcm9wZG93blJlZn1cbiAgICAgICAgICBkYXRhLXRlc3RpZD1cImRyb3Bkb3duXCI+XG4gICAgICAgICAgPERyb3Bkb3duVG9nZ2xlXG4gICAgICAgICAgICB7Li4uY29tcG9uZW50UHJvcHM/LnRvZ2dsZUJ1dHRvbn1cbiAgICAgICAgICAgIHsuLi50b2dnbGVDc3NQcm9wc31cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgaXNPcGVuPXtpc09wZW59XG4gICAgICAgICAgICBkaXNhYmxlZD17aXNEcm9wZG93bkRpc2FibGVkfVxuICAgICAgICAgICAgc3RhdHVzPXtzdGF0dXN9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiAoaXNPcGVuID8gY2xvc2UoKSA6IG9wZW4oKSl9XG4gICAgICAgICAgICB7Li4udG9nZ2xlS2V5c31cbiAgICAgICAgICAgIG9uRm9jdXM9e3NldElzRm9jdXNlZC5iaW5kKG51bGwsIHRydWUpfVxuICAgICAgICAgICAgY29sb3JzPXtjb2xvcnN9XG4gICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e2xhYmVsSWR9XG4gICAgICAgICAgICB7Li4uKGJhZGdlICYmIHsgJ2FyaWEtZGVzY3JpYmVkYnknOiBiYWRnZS5pZCB9KX1cbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e2xpc3RJZH0+XG4gICAgICAgICAgICB7dG9nZ2xlQ29udGVudH1cbiAgICAgICAgICAgIDxEcm9wZG93bkFycm93XG4gICAgICAgICAgICAgIHsuLi5jb21wb25lbnRQcm9wcz8udG9nZ2xlQnV0dG9uQXJyb3d9XG4gICAgICAgICAgICAgIGlzVXA9e2lzT3Blbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Ecm9wZG93blRvZ2dsZT5cblxuICAgICAgICAgIHtpc09wZW4gPyAoXG4gICAgICAgICAgICA8RHJvcGRvd25PcHRpb25zIGlkPXtsaXN0SWR9PntpdGVtc308L0Ryb3Bkb3duT3B0aW9ucz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ecm9wZG93bkJhc2U+XG4gICAgICA8L0Ryb3Bkb3duQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgIHtoZWxwZXJUZXh0IHx8IGVycm9ycyA/IChcbiAgICAgICAgPEZvcm1IZWxwZXJUZXh0XG4gICAgICAgICAgcm9sZT1cInN0YXR1c1wiXG4gICAgICAgICAgc3RhdHVzPXtzdGF0dXN9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRHJvcGRvd25EaXNhYmxlZH0+XG4gICAgICAgICAge2Vycm9ycz8ubWVzc2FnZSB8fCBoZWxwZXJUZXh0fVxuICAgICAgICA8L0Zvcm1IZWxwZXJUZXh0PlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9Ecm9wZG93bkZpZWxkV3JhcHBlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERyb3Bkb3duO1xuIl19 */",
|
|
28664
|
+
styles: "display:inline-block;position:relative;max-width:100%/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9Ecm9wZG93bi9Ecm9wZG93bi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUQrQiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91aS1raXQvdWkta2l0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVN0YXRlLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlUmVmLFxuICB1c2VJZCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IHVzZUNsaWNrT3V0c2lkZSB9IGZyb20gJ0Bzc2EtdWkta2l0L2hvb2tzJztcbmltcG9ydCB7IGlzTmlsbCB9IGZyb20gJ0Bzc2EtdWkta2l0L3V0aWxzJztcblxuaW1wb3J0IERyb3Bkb3duVG9nZ2xlIGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duVG9nZ2xlJztcbmltcG9ydCBEcm9wZG93bkFycm93IGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duQXJyb3cnO1xuaW1wb3J0IERyb3Bkb3duT3B0aW9ucyBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMnO1xuaW1wb3J0IHtcbiAgZmlsdGVyRHJvcGRvd25PcHRpb25zLFxuICBmbGF0dGVuRHJvcGRvd25PcHRpb25zLFxuICB0b0Ryb3Bkb3duTWVudUl0ZW1zLFxufSBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMvdXRpbHMnO1xuaW1wb3J0IHsgdXNlVG9nZ2xlTGlzdEtleXMgfSBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMvdXNlVG9nZ2xlTGlzdEtleXMnO1xuaW1wb3J0IHsgRHJvcGRvd25TZWFyY2ggfSBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMvRHJvcGRvd25TZWFyY2gnO1xuaW1wb3J0IHsgZ2V0TmV4dEFjdGl2ZVZhbHVlIH0gZnJvbSAnQGNvbXBvbmVudHMvQ29udGV4dE1lbnUnO1xuaW1wb3J0IHsgZmxhdHRlbkl0ZW1zIH0gZnJvbSAnQGNvbXBvbmVudHMvQ29udGV4dE1lbnUvdXRpbHMnO1xuaW1wb3J0IEF2YXRhciwgeyBBdmF0YXJTaXplcyB9IGZyb20gJ0Bjb21wb25lbnRzL0F2YXRhcic7XG5pbXBvcnQgSWNvbiBmcm9tICdAY29tcG9uZW50cy9JY29uJztcbmltcG9ydCBMYWJlbCBmcm9tICdAY29tcG9uZW50cy9MYWJlbCc7XG5pbXBvcnQgRm9ybUhlbHBlclRleHQgZnJvbSAnQGNvbXBvbmVudHMvRm9ybUhlbHBlclRleHQnO1xuaW1wb3J0IERyb3Bkb3duQ29udGV4dCBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bi9Ecm9wZG93bi5jb250ZXh0JztcbmltcG9ydCB7IHJlc29sdmVEaXNhYmxlZCB9IGZyb20gJ0B1dGlscy9kZXByZWNhdGlvbic7XG5pbXBvcnQgeyBEcm9wZG93bk9wdGlvblByb3BzIH0gZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25PcHRpb25zL3R5cGVzJztcblxuaW1wb3J0IHsgRHJvcGRvd25Db250ZXh0VHlwZSwgRHJvcGRvd25Qb3NpdGlvbnMsIERyb3Bkb3duUHJvcHMgfSBmcm9tICcuL3R5cGVzJztcblxuLypcbiAqIEJvdGggbGV2ZWxzIGFyZSBzaHJpbmstdG8tZml0LCBhbmQgYSBzaHJpbmstdG8tZml0IGJveCBzaXplcyB0byBpdHNcbiAqIG1pbi1jb250ZW50IHdoZW4gdGhhdCBleGNlZWRzIHRoZSBzcGFjZSBhdmFpbGFibGUgLS0gZm9yIGEgbm93cmFwIGxhYmVsIHRoYXRcbiAqIGlzIHRoZSBlbnRpcmUgc3RyaW5nLCBzbyB0aGUgZHJvcGRvd24gd291bGQgZ3JvdyBwYXN0IGl0cyBjb250YWluZXIgaW5zdGVhZFxuICogb2YgZWxsaXBzaXNpbmcuIGBtYXgtd2lkdGg6IDEwMCVgIGdpdmVzIGVhY2ggbGV2ZWwgYSBkZWZpbml0ZSB3aWR0aCB0b1xuICogcmVzb2x2ZSBhZ2FpbnN0LCB3aGljaCBpcyB3aGF0IGFjdHVhbGx5IGxldHMgdGhlIGxhYmVsIGNsaXAuXG4gKi9cbmNvbnN0IERyb3Bkb3duRmllbGRXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXgtd2lkdGg6IDEwMCU7XG5gO1xuXG5jb25zdCBEcm9wZG93bkJhc2UgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuYDtcblxuY29uc3QgU2VsZWN0ZWRDb250ZW50ID0gc3R5bGVkLnNwYW5gXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgbWluLXdpZHRoOiAwO1xuYDtcblxuLyoqXG4gKiBLZWVwcyB0aGUgc2VsZWN0ZWQgdmFsdWUgb24gYSBzaW5nbGUgbGluZSBhbmQgZWxsaXBzaXNlcyBpdC4gV2l0aG91dCB0aGlzIHRoZVxuICogbGFiZWwgd3JhcHMgYW5kLCBiZWNhdXNlIHRoZSB0b2dnbGUgaXMgYSBmaXhlZCA0NHB4LCBzcGlsbHMgYWJvdmUgYW5kIGJlbG93XG4gKiB0aGUgYm9yZGVyLiBgbWluLXdpZHRoOiAwYCBpcyB3aGF0IGxldHMgdGhlIHRvZ2dsZSBzaHJpbmsgYmVsb3cgdGhlIGxhYmVsJ3NcbiAqIGludHJpbnNpYyB3aWR0aCBhdCBhbGwg4oCUIGEgbm93cmFwIGZsZXggaXRlbSBvdGhlcndpc2UgcmVwb3J0cyBpdHMgZnVsbCB0ZXh0XG4gKiB3aWR0aCBhcyBpdHMgbWluaW11bSwgc28gdGhlIGRyb3Bkb3duIHdvdWxkIGtlZXAgZ3Jvd2luZyBpbnN0ZWFkIG9mIGNsaXBwaW5nLlxuICovXG5jb25zdCBTZWxlY3RlZExhYmVsID0gc3R5bGVkLnNwYW5gXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBtaW4td2lkdGg6IDA7XG5gO1xuXG5jb25zdCBMZWFkaW5nRWxlbWVudCA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG5gO1xuXG4vKipcbiAqIERyb3Bkb3duIC0gU2VsZWN0LWxpa2UgZHJvcGRvd24gY29tcG9uZW50IGZvciBzaW5nbGUgc2VsZWN0aW9uXG4gKlxuICogQSBmbGV4aWJsZSBkcm9wZG93biBjb21wb25lbnQgdGhhdCBhbGxvd3MgdXNlcnMgdG8gc2VsZWN0IG9uZSBvcHRpb24gZnJvbVxuICogYSBsaXN0IG9mIGNob2ljZXMuIFVzZXMgYSBjb21wb3VuZCBjb21wb25lbnQgcGF0dGVybiB3aXRoIERyb3Bkb3duT3B0aW9uXG4gKiBjaGlsZHJlbi4gUHJvdmlkZXMga2V5Ym9hcmQgbmF2aWdhdGlvbiwgYWNjZXNzaWJpbGl0eSBmZWF0dXJlcywgY2xpY2stb3V0c2lkZVxuICogdG8gY2xvc2UgZnVuY3Rpb25hbGl0eSwgYW5kIGF1dG9tYXRpYyB2aWV3cG9ydC1hd2FyZSBwbGFjZW1lbnQgb2YgdGhlIG9wdGlvbnMgbGlzdC5cbiAqXG4gKiBPbiBldmVyeSBvcGVuIHRoZSBjb21wb25lbnQgbWVhc3VyZXMgYXZhaWxhYmxlIHNwYWNlIGJlbG93IHRoZSB0b2dnbGUgYnV0dG9uXG4gKiBhbmQgZmxpcHMgdGhlIGxpc3QgdXB3YXJkIHdoZW4gdGhlcmUgaXMgbm90IGVub3VnaCByb29tLCBwcmV2ZW50aW5nIHRoZSBsaXN0XG4gKiBmcm9tIGJlaW5nIGNsaXBwZWQgYnkgdGhlIHZpZXdwb3J0IGVkZ2UuIFRoaXMgYmVoYXZpb3IgY2FuIGJlIG92ZXJyaWRkZW4gdmlhXG4gKiBkcm9wZG93blByb3BzLmRyb3Bkb3duUG9zaXRpb24uXG4gKlxuICogQ29tcG9uZW50IHN0cnVjdHVyZTpcbiAqIC0gRHJvcGRvd24gKHJvb3QgY29udGFpbmVyIHdpdGggY29udGV4dClcbiAqICAgLSBEcm9wZG93blRvZ2dsZSAoYnV0dG9uIHRoYXQgb3BlbnMvY2xvc2VzIGRyb3Bkb3duKVxuICogICAtIERyb3Bkb3duT3B0aW9ucyAobWVudSBjb250YWluZXIgdGhhdCBhcHBlYXJzIHdoZW4gb3BlbilcbiAqICAgICAtIERyb3Bkb3duT3B0aW9uIChpbmRpdmlkdWFsIHNlbGVjdGFibGUgaXRlbXMpXG4gKlxuICogQGNhdGVnb3J5IEZvcm0gQ29udHJvbHNcbiAqIEBzdWJjYXRlZ29yeSBTZWxlY3Rpb25cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBjb25zdCBpdGVtcyA9IFtcbiAqICAgeyBpZDogMSwgdmFsdWU6ICdBcHBsZScgfSxcbiAqICAgeyBpZDogMiwgdmFsdWU6ICdCYW5hbmEnIH0sXG4gKiAgIHsgaWQ6IDMsIHZhbHVlOiAnQ2hlcnJ5JyB9LFxuICogXTtcbiAqXG4gKiA8RHJvcGRvd25cbiAqICAgc2VsZWN0ZWRJdGVtPXtpdGVtc1swXX1cbiAqICAgb25DaGFuZ2U9eyhpdGVtKSA9PiBoYW5kbGVTZWxlY3Rpb24oaXRlbSl9XG4gKiAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IGEgZnJ1aXRcIlxuICogPlxuICogICB7aXRlbXMubWFwKGl0ZW0gPT4gKFxuICogICAgIDxEcm9wZG93bk9wdGlvbiBrZXk9e2l0ZW0uaWR9IHZhbHVlPXtpdGVtLmlkfT5cbiAqICAgICAgIHtpdGVtLnZhbHVlfVxuICogICAgIDwvRHJvcGRvd25PcHRpb24+XG4gKiAgICkpfVxuICogPC9Ecm9wZG93bj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIENvbnRyb2xsZWQgb3BlbiBzdGF0ZVxuICogY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAqIDxEcm9wZG93blxuICogICBpc09wZW49e2lzT3Blbn1cbiAqICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAqICAgc2VsZWN0ZWRJdGVtPXtzZWxlY3RlZH1cbiAqID5cbiAqICAge29wdGlvbnMubWFwKG9wdCA9PiAoXG4gKiAgICAgPERyb3Bkb3duT3B0aW9uIGtleT17b3B0LmlkfSB2YWx1ZT17b3B0LmlkfT5cbiAqICAgICAgIHtvcHQubGFiZWx9XG4gKiAgICAgPC9Ecm9wZG93bk9wdGlvbj5cbiAqICAgKSl9XG4gKiA8L0Ryb3Bkb3duPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogLy8gV2l0aCBjdXN0b20gcHJvcHMgZm9yIHN1Yi1jb21wb25lbnRzIGFuZCBmb3JjZWQgdXB3YXJkIHBsYWNlbWVudFxuICogPERyb3Bkb3duXG4gKiAgIHNlbGVjdGVkSXRlbT17c2VsZWN0ZWR9XG4gKiAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gKiAgIGRyb3Bkb3duUHJvcHM9e3tcbiAqICAgICBiYXNlOiB7IGlkOiAnbXktZHJvcGRvd24nIH0sXG4gKiAgICAgdG9nZ2xlQnV0dG9uOiB7ICdkYXRhLXRlc3RpZCc6ICdkcm9wZG93bi10b2dnbGUnIH0sXG4gKiAgICAgdG9nZ2xlQnV0dG9uQXJyb3c6IHsgY2xhc3NOYW1lOiAnY3VzdG9tLWFycm93JyB9LFxuICogICAgIGRyb3Bkb3duUG9zaXRpb246IERyb3Bkb3duUG9zaXRpb25zLnRvcCxcbiAqICAgfX1cbiAqID5cbiAqICAge29wdGlvbnMubWFwKG9wdCA9PiAoXG4gKiAgICAgPERyb3Bkb3duT3B0aW9uIGtleT17b3B0LmlkfSB2YWx1ZT17b3B0LmlkfT5cbiAqICAgICAgIHtvcHQubGFiZWx9XG4gKiAgICAgPC9Ecm9wZG93bk9wdGlvbj5cbiAqICAgKSl9XG4gKiA8L0Ryb3Bkb3duPlxuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgRHJvcGRvd25PcHRpb259IC0gQ2hpbGQgY29tcG9uZW50IGZvciBpbmRpdmlkdWFsIG9wdGlvbnNcbiAqIEBzZWUge0BsaW5rIERyb3Bkb3duVG9nZ2xlfSAtIFRvZ2dsZSBidXR0b24gY29tcG9uZW50XG4gKiBAc2VlIHtAbGluayBEcm9wZG93bk9wdGlvbnN9IC0gT3B0aW9ucyBtZW51IGNvbnRhaW5lclxuICpcbiAqIEBhY2Nlc3NpYmlsaXR5XG4gKiAtIEFSSUEgYXR0cmlidXRlcyBzZXQgYWNjb3JkaW5nIHRvIFdBSS1BUklBIGNvbWJvYm94IHBhdHRlcm5cbiAqIC0gS2V5Ym9hcmQgbmF2aWdhdGlvbiAoQXJyb3cga2V5cywgRW50ZXIsIEVzY2FwZSlcbiAqIC0gQ2xpY2sgb3V0c2lkZSB0byBjbG9zZVxuICogLSBTY3JlZW4gcmVhZGVyIGZyaWVuZGx5XG4gKiAtIEZvY3VzIG1hbmFnZW1lbnRcbiAqXG4gKiBAc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvQVJJQS9hcGcvZXhhbXBsZS1pbmRleC9jb21ib2JveC9jb21ib2JveC1zZWxlY3Qtb25seS5odG1sXG4gKi9cbmNvbnN0IERyb3Bkb3duID0gPFQgZXh0ZW5kcyBEcm9wZG93bk9wdGlvblByb3BzPih7XG4gIHNlbGVjdGVkSXRlbSxcbiAgZGlzYWJsZWQsXG4gIGlzRGlzYWJsZWQsXG4gIGlzT3BlbjogaXNJbml0T3BlbixcbiAgY2hpbGRyZW4sXG4gIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsXG4gIGNsYXNzTmFtZSxcbiAgcGxhY2Vob2xkZXIgPSAnU2VsZWN0IHNvbWV0aGluZycsXG4gIG1heEhlaWdodCA9IDIwMCxcbiAgYXZhdGFyQm9yZGVyID0gZmFsc2UsXG4gIGxhYmVsLFxuICBsYWJlbEJhZGdlLFxuICBoZWxwZXJUZXh0LFxuICBlcnJvcnMsXG4gIHN1Y2Nlc3MsXG4gIGljb24sXG4gIHdpZHRoLFxuICBzZWFyY2hhYmxlID0gZmFsc2UsXG4gIHNlYXJjaFBsYWNlaG9sZGVyID0gJ1NlYXJjaCcsXG4gIHNlYXJjaEVtcHR5U3RhdGUgPSAnTm8gcmVzdWx0cyBmb3VuZCcsXG4gIGRyb3Bkb3duUHJvcHM6IGNvbXBvbmVudFByb3BzLFxufTogRHJvcGRvd25Qcm9wczxUPikgPT4ge1xuICBjb25zdCBpc0Ryb3Bkb3duRGlzYWJsZWQgPSByZXNvbHZlRGlzYWJsZWQoJ0Ryb3Bkb3duJywgZGlzYWJsZWQsIGlzRGlzYWJsZWQpO1xuICBjb25zdCBzdGF0dXMgPSBzdWNjZXNzID8gJ3N1Y2Nlc3MnIDogZXJyb3JzID8gJ2Vycm9yJyA6ICdiYXNpYyc7XG4gIGNvbnN0IHsgZHJvcGRvd25Qb3NpdGlvbiA9IERyb3Bkb3duUG9zaXRpb25zLmF1dG8gfSA9IGNvbXBvbmVudFByb3BzID8/IHt9O1xuICAvLyBgd2lkdGhgIGhhcyBubyBkZWZhdWx0OiB3aXRob3V0IGl0IGV2ZXJ5IGxldmVsIGtlZXBzIHNocmluay13cmFwcGluZywgd2hpY2hcbiAgLy8gaXMgdGhlIGhpc3RvcmljYWwgYmVoYXZpb3VyLiBXaGVuIHNldCwgYWxsIHRocmVlIG5lc3RlZCBsZXZlbHNcbiAgLy8gKHdyYXBwZXIgLT4gYmFzZSAtPiB0b2dnbGUpIGhhdmUgdG8gYmUgc3RyZXRjaGVkIOKAlCBzaXppbmcgb25seSBvbmUgaXMgYVxuICAvLyBuby1vcCwgYmVjYXVzZSB0aGUgbGV2ZWwgYWJvdmUgaXQgaXMgc3RpbGwgc2l6ZWQgdG8gaXRzIGNvbnRlbnQuXG4gIC8vXG4gIC8vIE9ubHkgdGhlIG91dGVybW9zdCBsZXZlbCBnZXRzIHRoZSByZXF1ZXN0ZWQgdmFsdWU7IHRoZSBpbm5lciB0d28gZ2V0IDEwMCUuXG4gIC8vIFJlcGVhdGluZyB0aGUgdmFsdWUgd291bGQgY29tcG91bmQgcmVsYXRpdmUgdW5pdHM6IGB3aWR0aD1cIjYwJVwiYCB3b3VsZFxuICAvLyBvdGhlcndpc2UgcmVuZGVyIHRoZSBiYXNlIGF0IDYwJSBvZiB0aGUgd3JhcHBlciBhbmQgdGhlIHRvZ2dsZSBhdCA2MCUgb2ZcbiAgLy8gdGhhdCwgaS5lLiAyMS42JSBvZiB0aGUgY29udGFpbmVyLlxuICAvL1xuICAvLyBTcHJlYWQgcmF0aGVyIHRoYW4gcGFzc2VkIGFzIGBjc3M9ey4uLn1gOiBFbW90aW9uIHdyYXBzIGFuIGVsZW1lbnQgd2hlbmV2ZXJcbiAgLy8gYGNzc2AgaXMgcHJlc2VudCBpbiBpdHMgcHJvcHMsIGV2ZW4gd2hlbiBpdHMgdmFsdWUgaXMgdW5kZWZpbmVkLCBhbmQgdGhhdFxuICAvLyByZS1zZXJpYWxpemVzIGFueSBpbmNvbWluZyBgY2xhc3NOYW1lYCAoZS5nLiBmcm9tIGBzdHlsZWQoRHJvcGRvd24pYCkuXG4gIC8vIE9taXR0aW5nIHRoZSBrZXkga2VlcHMgdGhlIG5vLXdpZHRoIHBhdGggaWRlbnRpY2FsIHRvIHdyaXRpbmcgbm8gYGNzc2AgcHJvcC5cbiAgY29uc3Qgd3JhcHBlckNzc1Byb3BzID0gd2lkdGggPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHsgY3NzOiB7IHdpZHRoIH0gfTtcbiAgY29uc3QgYmFzZUNzc1Byb3BzID1cbiAgICB3aWR0aCA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogeyBjc3M6IHsgd2lkdGg6ICcxMDAlJyB9IH07XG4gIGNvbnN0IHRvZ2dsZUNzc1Byb3BzID1cbiAgICB3aWR0aCA9PT0gdW5kZWZpbmVkXG4gICAgICA/IHVuZGVmaW5lZFxuICAgICAgOiB7IGNzczogW3sgd2lkdGg6ICcxMDAlJyB9LCBjb21wb25lbnRQcm9wcz8udG9nZ2xlQnV0dG9uPy5jc3NdIH07XG5cbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuICBjb25zdCBkcm9wZG93blJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IGxpc3RSZWYgPSB1c2VSZWY8SFRNTFVMaXN0RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHRvZ2dsZVJlZiA9IHVzZVJlZjxIVE1MQnV0dG9uRWxlbWVudD4obnVsbCk7XG5cbiAgY29uc3QgZHJvcGRvd25JZCA9IHVzZUlkKCk7XG4gIC8vIE5hbWVzIHRoZSB0b2dnbGU7IGxlZnQgb3V0IHdpdGhvdXQgYSBsYWJlbCwgc28gaXQgbmV2ZXIgcG9pbnRzIGF0IGFcbiAgLy8gbWlzc2luZyBlbGVtZW50LlxuICBjb25zdCBsYWJlbElkID0gbGFiZWwgPyBgZHJvcGRvd24tbGFiZWwtJHtkcm9wZG93bklkfWAgOiB1bmRlZmluZWQ7XG4gIGNvbnN0IGJhZGdlID1cbiAgICBsYWJlbCAmJiBsYWJlbEJhZGdlXG4gICAgICA/IHsgLi4ubGFiZWxCYWRnZSwgaWQ6IGBkcm9wZG93bi1iYWRnZS0ke2Ryb3Bkb3duSWR9YCB9XG4gICAgICA6IHVuZGVmaW5lZDtcblxuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoaXNJbml0T3BlbiB8fCBmYWxzZSk7XG4gIGNvbnN0IFtjb2xvcnMsIHNldENvbG9yc10gPSB1c2VTdGF0ZTxBcnJheTxzdHJpbmcgfCB1bmRlZmluZWQ+PihbXSk7XG4gIGNvbnN0IFthY3RpdmVJdGVtLCBzZXRBY3RpdmVJdGVtXSA9IHVzZVN0YXRlPFQgfCB1bmRlZmluZWQ+KHNlbGVjdGVkSXRlbSk7XG4gIGNvbnN0IFtwbGFjZW1lbnQsIHNldFBsYWNlbWVudF0gPSB1c2VTdGF0ZTwndG9wJyB8ICdib3R0b20nPignYm90dG9tJyk7XG4gIC8vIEhpZ2hsaWdodGVkIG9wdGlvbi4gRm9jdXMgc3RheXMgb24gdGhlIHRvZ2dsZSAodGhlIGNvbWJvYm94KSwgd2hpY2hcbiAgLy8gZHJpdmVzIHRoZSBsaXN0IGFuZCBwb2ludHMgYXQgdGhlIG9wdGlvbiB3aXRoIGFyaWEtYWN0aXZlZGVzY2VuZGFudC5cbiAgY29uc3QgW2FjdGl2ZVZhbHVlLCBzZXRBY3RpdmVWYWx1ZV0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudW1iZXIgfCBudWxsPihudWxsKTtcbiAgY29uc3QgbGlzdElkID0gYGRyb3Bkb3duLXBvcHVwLSR7ZHJvcGRvd25JZH1gO1xuICAvLyBTZWFyY2ggdGV4dDsgb25seSB1c2VkIHdpdGggYHNlYXJjaGFibGVgLCBjbGVhcmVkIG9uIGNsb3NlLlxuICBjb25zdCBbcXVlcnksIHNldFF1ZXJ5XSA9IHVzZVN0YXRlKCcnKTtcblxuICBjb25zdCBjbG9zZSA9ICgpID0+IHtcbiAgICBzZXRJc09wZW4oZmFsc2UpO1xuICAgIHNldEFjdGl2ZVZhbHVlKG51bGwpO1xuICAgIHNldFF1ZXJ5KCcnKTtcbiAgICAvLyBUaGUgc2VhcmNoIGJveCB1bm1vdW50cyB3aXRoIHRoZSBsaXN0OyBoYW5kIGZvY3VzIGJhY2sgdG8gdGhlIHRvZ2dsZVxuICAgIC8vIHJhdGhlciB0aGFuIGRyb3BwaW5nIGl0IG9uIDxib2R5Pi5cbiAgICBpZiAoXG4gICAgICBzZWFyY2hhYmxlICYmXG4gICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSB0b2dnbGVSZWYuY3VycmVudCAmJlxuICAgICAgZHJvcGRvd25SZWYuY3VycmVudD8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudClcbiAgICApIHtcbiAgICAgIHRvZ2dsZVJlZi5jdXJyZW50Py5mb2N1cygpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvbkNoYW5nZTogRHJvcGRvd25Db250ZXh0VHlwZVsnb25DaGFuZ2UnXSA9IChpdGVtKSA9PiB7XG4gICAgY29uc3QgaW5uZXJJdGVtID0gb3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBpdGVtKVswXTtcblxuICAgIGNsb3NlKCk7XG5cbiAgICBpZiAoaXNEcm9wZG93bkRpc2FibGVkIHx8ICFpbm5lckl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaW5uZXJJdGVtLnZhbHVlID09PSBhY3RpdmVJdGVtPy52YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldEFjdGl2ZUl0ZW0oaW5uZXJJdGVtKTtcbiAgICBpZiAoaGFuZGxlQ2hhbmdlKSB7XG4gICAgICBoYW5kbGVDaGFuZ2UoaW5uZXJJdGVtKTtcbiAgICB9XG4gIH07XG5cbiAgdXNlQ2xpY2tPdXRzaWRlKGRyb3Bkb3duUmVmLCAoKSA9PiBpc09wZW4gJiYgY2xvc2UoKSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNEcm9wZG93bkRpc2FibGVkKSB7XG4gICAgICBzZXRDb2xvcnMoW3RoZW1lLmNvbG9ycy5ncmV5RGFya2VyNjAsIHRoZW1lLmNvbG9ycy5ncmV5MjBdKTtcbiAgICB9IGVsc2UgaWYgKGlzT3Blbikge1xuICAgICAgc2V0Q29sb3JzKFt0aGVtZS5jb2xvcnMud2hpdGUsIHRoZW1lLmNvbG9ycy53aGl0ZTYwXSk7XG4gICAgfSBlbHNlIGlmIChpc0ZvY3VzZWQpIHtcbiAgICAgIHNldENvbG9ycyhbdGhlbWUuY29sb3JzLmdyZXlEYXJrZXIsIHRoZW1lLmNvbG9ycy5ncmV5RGFya2VyNjBdKTtcbiAgICB9XG4gIH0sIFtpc09wZW4sIGlzRHJvcGRvd25EaXNhYmxlZCwgaXNGb2N1c2VkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRBY3RpdmVJdGVtKHNlbGVjdGVkSXRlbSk7XG4gIH0sIFtzZWxlY3RlZEl0ZW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc0Ryb3Bkb3duRGlzYWJsZWQgJiYgaXNPcGVuKSB7XG4gICAgICBjbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzRHJvcGRvd25EaXNhYmxlZF0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc09wZW4gfHwgIWRyb3Bkb3duUmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIGlmIChkcm9wZG93blBvc2l0aW9uICE9PSBEcm9wZG93blBvc2l0aW9ucy5hdXRvKSB7XG4gICAgICBzZXRQbGFjZW1lbnQoZHJvcGRvd25Qb3NpdGlvbik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVjdCA9IGRyb3Bkb3duUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgLy8gV2l0aCBzZWFyY2ggdGhlIGxpc3Qgc2l0cyBpbiBhIGNhcmQgdW5kZXIgdGhlIHNlYXJjaCBib3guXG4gICAgY29uc3QgcG9wdXAgPSBzZWFyY2hhYmxlID8gbGlzdFJlZi5jdXJyZW50Py5wYXJlbnRFbGVtZW50IDogbGlzdFJlZi5jdXJyZW50O1xuICAgIGNvbnN0IGxpc3RIZWlnaHQgPSBwb3B1cD8ub2Zmc2V0SGVpZ2h0IHx8IG1heEhlaWdodDtcbiAgICBjb25zdCBzcGFjZUJlbG93ID0gd2luZG93LmlubmVySGVpZ2h0IC0gcmVjdC5ib3R0b207XG4gICAgc2V0UGxhY2VtZW50KHNwYWNlQmVsb3cgPCBsaXN0SGVpZ2h0ID8gJ3RvcCcgOiAnYm90dG9tJyk7XG4gIH0sIFtpc09wZW5dKTtcblxuICBjb25zdCBjaGlsZHJlbkFycmF5ID0gUmVhY3QuQ2hpbGRyZW4udG9BcnJheShjaGlsZHJlbikuZmlsdGVyKEJvb2xlYW4pO1xuICAvLyBHcm91cHMgdW53cmFwcGVkOiB3aGF0IGBvbkNoYW5nZWAgY2FuIHBpY2sgZnJvbS5cbiAgY29uc3Qgb3B0aW9ucyA9IGZsYXR0ZW5Ecm9wZG93bk9wdGlvbnMoY2hpbGRyZW5BcnJheSkubWFwKFxuICAgIChvcHRpb24pID0+IG9wdGlvbi5wcm9wcyBhcyB1bmtub3duIGFzIFQsXG4gICk7XG5cbiAgY29uc3QgdmlzaWJsZUNoaWxkcmVuID0gc2VhcmNoYWJsZVxuICAgID8gZmlsdGVyRHJvcGRvd25PcHRpb25zKGNoaWxkcmVuQXJyYXksIHF1ZXJ5KVxuICAgIDogY2hpbGRyZW5BcnJheTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBjb25zdCBpdGVtcyA9ICh2aXNpYmxlQ2hpbGRyZW4gYXMgUmVhY3QuUmVhY3RFbGVtZW50PGFueT5bXSkubWFwKFxuICAgIChjaGlsZCwgaW5kZXgpID0+IHtcbiAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGQsIHtcbiAgICAgICAgaW5kZXgsXG4gICAgICAgIG9uQ2xpY2s6IG9uQ2hhbmdlLmJpbmQodGhpcyksXG4gICAgICAgIC4uLmNoaWxkLnByb3BzLFxuICAgICAgfSk7XG4gICAgfSxcbiAgKTtcblxuICBjb25zdCBtZW51SXRlbXMgPSB0b0Ryb3Bkb3duTWVudUl0ZW1zKHZpc2libGVDaGlsZHJlbik7XG5cbiAgLyoqIFRoZSBzZWxlY3RlZCBvcHRpb24gaWYgbGlzdGVkLCBlbHNlIHRoZSBmaXJzdCAob3IgbGFzdCwgZm9yIEFycm93VXApLiAqL1xuICBjb25zdCBnZXRJbml0aWFsQWN0aXZlVmFsdWUgPSAoXG4gICAgZW50cmllczogdHlwZW9mIG1lbnVJdGVtcyxcbiAgICBrZXkgPSAnQXJyb3dEb3duJyxcbiAgKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBmbGF0dGVuSXRlbXMoZW50cmllcykuZmluZChcbiAgICAgIChpdGVtKSA9PiAhaXRlbS5kaXNhYmxlZCAmJiBpdGVtLnZhbHVlID09PSBhY3RpdmVJdGVtPy52YWx1ZSxcbiAgICApO1xuICAgIHJldHVybiBzZWxlY3RlZD8udmFsdWUgPz8gZ2V0TmV4dEFjdGl2ZVZhbHVlKGVudHJpZXMsIG51bGwsIGtleSkgPz8gbnVsbDtcbiAgfTtcblxuICAvKiogT3BlbnMgd2l0aCB0aGUgc2VsZWN0ZWQgb3B0aW9uIGhpZ2hsaWdodGVkLCBlbHNlIHBlciB0aGUga2V5IHByZXNzZWQuICovXG4gIGNvbnN0IG9wZW4gPSAoa2V5ID0gJ0Fycm93RG93bicpID0+IHtcbiAgICBzZXRJc09wZW4odHJ1ZSk7XG4gICAgc2V0QWN0aXZlVmFsdWUoZ2V0SW5pdGlhbEFjdGl2ZVZhbHVlKG1lbnVJdGVtcywga2V5KSk7XG4gIH07XG5cbiAgY29uc3QgdG9nZ2xlS2V5cyA9IHVzZVRvZ2dsZUxpc3RLZXlzKHtcbiAgICBsaXN0SWQsXG4gICAgaXNPcGVuLFxuICAgIGRpc2FibGVkOiBpc0Ryb3Bkb3duRGlzYWJsZWQsXG4gICAgbWVudUl0ZW1zLFxuICAgIGFjdGl2ZVZhbHVlLFxuICAgIHNldEFjdGl2ZVZhbHVlLFxuICAgIG9wZW4sXG4gICAgY2xvc2UsXG4gICAgb25QaWNrOiAodmFsdWUpID0+IG9uQ2hhbmdlKHZhbHVlIGFzIHN0cmluZyksXG4gICAgb25LZXlEb3duOiBjb21wb25lbnRQcm9wcz8udG9nZ2xlQnV0dG9uPy5vbktleURvd24sXG4gICAgb25LZXlVcDogY29tcG9uZW50UHJvcHM/LnRvZ2dsZUJ1dHRvbj8ub25LZXlVcCxcbiAgfSk7XG5cbiAgLy8gVGhlIHNlYXJjaCBib3ggZHJpdmVzIHRoZSBsaXN0IHdoaWxlIGl0IGlzIG9wZW4uXG4gIGNvbnN0IHNlYXJjaEtleXMgPSB1c2VUb2dnbGVMaXN0S2V5czxIVE1MSW5wdXRFbGVtZW50Pih7XG4gICAgbGlzdElkLFxuICAgIGlzT3BlbixcbiAgICBkaXNhYmxlZDogaXNEcm9wZG93bkRpc2FibGVkLFxuICAgIG1lbnVJdGVtcyxcbiAgICBhY3RpdmVWYWx1ZSxcbiAgICBzZXRBY3RpdmVWYWx1ZSxcbiAgICBvcGVuLFxuICAgIGNsb3NlLFxuICAgIG9uUGljazogKHZhbHVlKSA9PiBvbkNoYW5nZSh2YWx1ZSBhcyBzdHJpbmcpLFxuICAgIHR5cGluZzogdHJ1ZSxcbiAgICAvLyBFc2NhcGUgY2xlYXJzIHRoZSBzZWFyY2ggZmlyc3QsIHRoZW4gY2xvc2VzLlxuICAgIG9uS2V5RG93bjogKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJyAmJiBxdWVyeSkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBjaGFuZ2VRdWVyeSgnJyk7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG5cbiAgLyoqIFVwZGF0ZXMgdGhlIHNlYXJjaCBhbmQgbW92ZXMgdGhlIGhpZ2hsaWdodCB0byBzdWl0IGl0LiAqL1xuICBjb25zdCBjaGFuZ2VRdWVyeSA9IChuZXh0OiBzdHJpbmcpID0+IHtcbiAgICBzZXRRdWVyeShuZXh0KTtcbiAgICBjb25zdCBtYXRjaGVzID0gdG9Ecm9wZG93bk1lbnVJdGVtcyhcbiAgICAgIGZpbHRlckRyb3Bkb3duT3B0aW9ucyhjaGlsZHJlbkFycmF5LCBuZXh0KSxcbiAgICApO1xuICAgIC8vIEEgY2xlYXJlZCBzZWFyY2ggZ29lcyBiYWNrIHRvIHdoZXJlIG9wZW5pbmcgc3RhcnRzOyBhIHNlYXJjaCB0byBpdHNcbiAgICAvLyBmaXJzdCBtYXRjaC5cbiAgICBzZXRBY3RpdmVWYWx1ZShcbiAgICAgIG5leHQudHJpbSgpXG4gICAgICAgID8gKGdldE5leHRBY3RpdmVWYWx1ZShtYXRjaGVzLCBudWxsLCAnQXJyb3dEb3duJykgPz8gbnVsbClcbiAgICAgICAgOiBnZXRJbml0aWFsQWN0aXZlVmFsdWUobWF0Y2hlcyksXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBjb250ZXh0VmFsdWU6IERyb3Bkb3duQ29udGV4dFR5cGUgPSBSZWFjdC51c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBvbkNoYW5nZSxcbiAgICAgIGFjdGl2ZUl0ZW0sXG4gICAgICBtYXhIZWlnaHQsXG4gICAgICBsaXN0UmVmLFxuICAgICAgcGxhY2VtZW50LFxuICAgICAgYWN0aXZlVmFsdWUsXG4gICAgICBzZXRBY3RpdmVWYWx1ZSxcbiAgICAgIHNlYXJjaGFibGUsXG4gICAgICBlbXB0eVN0YXRlOiBxdWVyeSA/IHNlYXJjaEVtcHR5U3RhdGUgOiB1bmRlZmluZWQsXG4gICAgfSksXG4gICAgW1xuICAgICAgb25DaGFuZ2UsXG4gICAgICBhY3RpdmVJdGVtLFxuICAgICAgbWF4SGVpZ2h0LFxuICAgICAgcGxhY2VtZW50LFxuICAgICAgYWN0aXZlVmFsdWUsXG4gICAgICBzZWFyY2hhYmxlLFxuICAgICAgcXVlcnksXG4gICAgICBzZWFyY2hFbXB0eVN0YXRlLFxuICAgIF0sXG4gICk7XG5cbiAgY29uc3QgdmFsdWUgPSAoXG4gICAgYWN0aXZlSXRlbVxuICAgICAgPyBhY3RpdmVJdGVtLmxhYmVsIHx8XG4gICAgICAgIGFjdGl2ZUl0ZW0uY2hpbGRyZW4gfHxcbiAgICAgICAgYWN0aXZlSXRlbS52YWx1ZSB8fFxuICAgICAgICBhY3RpdmVJdGVtIHx8XG4gICAgICAgIHBsYWNlaG9sZGVyXG4gICAgICA6IHBsYWNlaG9sZGVyXG4gICkgYXMgUmVhY3ROb2RlO1xuXG4gIGNvbnN0IHJhd0F2YXRhciA9XG4gICAgYWN0aXZlSXRlbSAmJiAoYWN0aXZlSXRlbSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikuYXZhdGFyO1xuXG4gIGNvbnN0IHNlbGVjdGVkQXZhdGFyID0gIWlzTmlsbChyYXdBdmF0YXIpID8gKFxuICAgIHR5cGVvZiByYXdBdmF0YXIgPT09ICdzdHJpbmcnID8gKFxuICAgICAgPEF2YXRhclxuICAgICAgICBzaXplPXtBdmF0YXJTaXplcy5zbWFsbH1cbiAgICAgICAgaW1hZ2U9e3Jhd0F2YXRhcn1cbiAgICAgICAgYm9yZGVyPXthdmF0YXJCb3JkZXJ9XG4gICAgICAvPlxuICAgICkgOiBSZWFjdC5pc1ZhbGlkRWxlbWVudChyYXdBdmF0YXIpID8gKFxuICAgICAgKHJhd0F2YXRhciBhcyBSZWFjdE5vZGUpXG4gICAgKSA6IG51bGxcbiAgKSA6IG51bGw7XG5cbiAgY29uc3QgbGVhZGluZ0VsZW1lbnQgPSAhaXNOaWxsKHNlbGVjdGVkQXZhdGFyKSA/IChcbiAgICAoc2VsZWN0ZWRBdmF0YXIgYXMgUmVhY3ROb2RlKVxuICApIDogaWNvbiA/IChcbiAgICA8SWNvblxuICAgICAgbmFtZT17aWNvbn1cbiAgICAgIHNpemU9ezE2fVxuICAgICAgY29sb3I9e2lzRHJvcGRvd25EaXNhYmxlZCA/IHRoZW1lLmNvbG9ycy5ncmV5IDogdGhlbWUuY29sb3JzLmdyZXlEYXJrZXI4MH1cbiAgICAvPlxuICApIDogbnVsbDtcblxuICBjb25zdCB0b2dnbGVDb250ZW50ID0gIWlzTmlsbChsZWFkaW5nRWxlbWVudCkgPyAoXG4gICAgPFNlbGVjdGVkQ29udGVudD5cbiAgICAgIDxMZWFkaW5nRWxlbWVudD57bGVhZGluZ0VsZW1lbnR9PC9MZWFkaW5nRWxlbWVudD5cbiAgICAgIDxTZWxlY3RlZExhYmVsPnt2YWx1ZX08L1NlbGVjdGVkTGFiZWw+XG4gICAgPC9TZWxlY3RlZENvbnRlbnQ+XG4gICkgOiAoXG4gICAgPFNlbGVjdGVkTGFiZWw+e3ZhbHVlfTwvU2VsZWN0ZWRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxEcm9wZG93bkZpZWxkV3JhcHBlciB7Li4ud3JhcHBlckNzc1Byb3BzfT5cbiAgICAgIHtsYWJlbCA/IChcbiAgICAgICAgPExhYmVsIGlkPXtsYWJlbElkfSBkaXNhYmxlZD17aXNEcm9wZG93bkRpc2FibGVkfSBiYWRnZT17YmFkZ2V9PlxuICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9MYWJlbD5cbiAgICAgICkgOiBudWxsfVxuICAgICAgPERyb3Bkb3duQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17Y29udGV4dFZhbHVlfT5cbiAgICAgICAgPERyb3Bkb3duQmFzZVxuICAgICAgICAgIHsuLi5jb21wb25lbnRQcm9wcz8uYmFzZX1cbiAgICAgICAgICB7Li4uYmFzZUNzc1Byb3BzfVxuICAgICAgICAgIHJlZj17ZHJvcGRvd25SZWZ9XG4gICAgICAgICAgZGF0YS10ZXN0aWQ9XCJkcm9wZG93blwiPlxuICAgICAgICAgIDxEcm9wZG93blRvZ2dsZVxuICAgICAgICAgICAgey4uLmNvbXBvbmVudFByb3BzPy50b2dnbGVCdXR0b259XG4gICAgICAgICAgICB7Li4udG9nZ2xlQ3NzUHJvcHN9XG4gICAgICAgICAgICByZWY9e3RvZ2dsZVJlZn1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgaXNPcGVuPXtpc09wZW59XG4gICAgICAgICAgICBkaXNhYmxlZD17aXNEcm9wZG93bkRpc2FibGVkfVxuICAgICAgICAgICAgc3RhdHVzPXtzdGF0dXN9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiAoaXNPcGVuID8gY2xvc2UoKSA6IG9wZW4oKSl9XG4gICAgICAgICAgICB7Li4udG9nZ2xlS2V5c31cbiAgICAgICAgICAgIG9uRm9jdXM9e3NldElzRm9jdXNlZC5iaW5kKG51bGwsIHRydWUpfVxuICAgICAgICAgICAgY29sb3JzPXtjb2xvcnN9XG4gICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e2xhYmVsSWR9XG4gICAgICAgICAgICB7Li4uKGJhZGdlICYmIHsgJ2FyaWEtZGVzY3JpYmVkYnknOiBiYWRnZS5pZCB9KX1cbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e2xpc3RJZH0+XG4gICAgICAgICAgICB7dG9nZ2xlQ29udGVudH1cbiAgICAgICAgICAgIDxEcm9wZG93bkFycm93XG4gICAgICAgICAgICAgIHsuLi5jb21wb25lbnRQcm9wcz8udG9nZ2xlQnV0dG9uQXJyb3d9XG4gICAgICAgICAgICAgIGlzVXA9e2lzT3Blbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Ecm9wZG93blRvZ2dsZT5cblxuICAgICAgICAgIHtpc09wZW4gJiYgc2VhcmNoYWJsZSA/IChcbiAgICAgICAgICAgIDxEcm9wZG93blNlYXJjaFxuICAgICAgICAgICAgICB7Li4uc2VhcmNoS2V5c31cbiAgICAgICAgICAgICAgcXVlcnk9e3F1ZXJ5fVxuICAgICAgICAgICAgICBvblF1ZXJ5Q2hhbmdlPXtjaGFuZ2VRdWVyeX1cbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3NlYXJjaFBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICBsaXN0SWQ9e2xpc3RJZH1cbiAgICAgICAgICAgICAgcGxhY2VtZW50PXtwbGFjZW1lbnR9PlxuICAgICAgICAgICAgICA8RHJvcGRvd25PcHRpb25zIGlkPXtsaXN0SWR9PntpdGVtc308L0Ryb3Bkb3duT3B0aW9ucz5cbiAgICAgICAgICAgIDwvRHJvcGRvd25TZWFyY2g+XG4gICAgICAgICAgKSA6IGlzT3BlbiA/IChcbiAgICAgICAgICAgIDxEcm9wZG93bk9wdGlvbnMgaWQ9e2xpc3RJZH0+e2l0ZW1zfTwvRHJvcGRvd25PcHRpb25zPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L0Ryb3Bkb3duQmFzZT5cbiAgICAgIDwvRHJvcGRvd25Db250ZXh0LlByb3ZpZGVyPlxuICAgICAge2hlbHBlclRleHQgfHwgZXJyb3JzID8gKFxuICAgICAgICA8Rm9ybUhlbHBlclRleHRcbiAgICAgICAgICByb2xlPVwic3RhdHVzXCJcbiAgICAgICAgICBzdGF0dXM9e3N0YXR1c31cbiAgICAgICAgICBkaXNhYmxlZD17aXNEcm9wZG93bkRpc2FibGVkfT5cbiAgICAgICAgICB7ZXJyb3JzPy5tZXNzYWdlIHx8IGhlbHBlclRleHR9XG4gICAgICAgIDwvRm9ybUhlbHBlclRleHQ+XG4gICAgICApIDogbnVsbH1cbiAgICA8L0Ryb3Bkb3duRmllbGRXcmFwcGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRHJvcGRvd247XG4iXX0= */",
|
|
28527
28665
|
toString: Dropdown_EMOTION_STRINGIFIED_CSS_ERROR_
|
|
28528
28666
|
});
|
|
28529
28667
|
const SelectedContent = /*#__PURE__*/base_default()("span", process.env.NODE_ENV === "production" ? {
|
|
@@ -28536,7 +28674,7 @@ const SelectedContent = /*#__PURE__*/base_default()("span", process.env.NODE_ENV
|
|
|
28536
28674
|
styles: "display:inline-flex;align-items:center;gap:8px;min-width:0"
|
|
28537
28675
|
} : {
|
|
28538
28676
|
name: "1cckekq",
|
|
28539
|
-
styles: "display:inline-flex;align-items:center;gap:8px;min-width:0/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9Ecm9wZG93bi9Ecm9wZG93bi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcURtQyIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91aS1raXQvdWkta2l0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVN0YXRlLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlUmVmLFxuICB1c2VJZCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IHVzZUNsaWNrT3V0c2lkZSB9IGZyb20gJ0Bzc2EtdWkta2l0L2hvb2tzJztcbmltcG9ydCB7IGlzTmlsbCB9IGZyb20gJ0Bzc2EtdWkta2l0L3V0aWxzJztcblxuaW1wb3J0IERyb3Bkb3duVG9nZ2xlIGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duVG9nZ2xlJztcbmltcG9ydCBEcm9wZG93bkFycm93IGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duQXJyb3cnO1xuaW1wb3J0IERyb3Bkb3duT3B0aW9ucyBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMnO1xuaW1wb3J0IHtcbiAgZmxhdHRlbkRyb3Bkb3duT3B0aW9ucyxcbiAgdG9Ecm9wZG93bk1lbnVJdGVtcyxcbn0gZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25PcHRpb25zL3V0aWxzJztcbmltcG9ydCB7IHVzZVRvZ2dsZUxpc3RLZXlzIH0gZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25PcHRpb25zL3VzZVRvZ2dsZUxpc3RLZXlzJztcbmltcG9ydCB7IGdldE5leHRBY3RpdmVWYWx1ZSB9IGZyb20gJ0Bjb21wb25lbnRzL0NvbnRleHRNZW51JztcbmltcG9ydCB7IGZsYXR0ZW5JdGVtcyB9IGZyb20gJ0Bjb21wb25lbnRzL0NvbnRleHRNZW51L3V0aWxzJztcbmltcG9ydCBBdmF0YXIsIHsgQXZhdGFyU2l6ZXMgfSBmcm9tICdAY29tcG9uZW50cy9BdmF0YXInO1xuaW1wb3J0IEljb24gZnJvbSAnQGNvbXBvbmVudHMvSWNvbic7XG5pbXBvcnQgTGFiZWwgZnJvbSAnQGNvbXBvbmVudHMvTGFiZWwnO1xuaW1wb3J0IEZvcm1IZWxwZXJUZXh0IGZyb20gJ0Bjb21wb25lbnRzL0Zvcm1IZWxwZXJUZXh0JztcbmltcG9ydCBEcm9wZG93bkNvbnRleHQgZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24uY29udGV4dCc7XG5pbXBvcnQgeyByZXNvbHZlRGlzYWJsZWQgfSBmcm9tICdAdXRpbHMvZGVwcmVjYXRpb24nO1xuaW1wb3J0IHsgRHJvcGRvd25PcHRpb25Qcm9wcyB9IGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duT3B0aW9ucy90eXBlcyc7XG5cbmltcG9ydCB7IERyb3Bkb3duQ29udGV4dFR5cGUsIERyb3Bkb3duUG9zaXRpb25zLCBEcm9wZG93blByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qXG4gKiBCb3RoIGxldmVscyBhcmUgc2hyaW5rLXRvLWZpdCwgYW5kIGEgc2hyaW5rLXRvLWZpdCBib3ggc2l6ZXMgdG8gaXRzXG4gKiBtaW4tY29udGVudCB3aGVuIHRoYXQgZXhjZWVkcyB0aGUgc3BhY2UgYXZhaWxhYmxlIC0tIGZvciBhIG5vd3JhcCBsYWJlbCB0aGF0XG4gKiBpcyB0aGUgZW50aXJlIHN0cmluZywgc28gdGhlIGRyb3Bkb3duIHdvdWxkIGdyb3cgcGFzdCBpdHMgY29udGFpbmVyIGluc3RlYWRcbiAqIG9mIGVsbGlwc2lzaW5nLiBgbWF4LXdpZHRoOiAxMDAlYCBnaXZlcyBlYWNoIGxldmVsIGEgZGVmaW5pdGUgd2lkdGggdG9cbiAqIHJlc29sdmUgYWdhaW5zdCwgd2hpY2ggaXMgd2hhdCBhY3R1YWxseSBsZXRzIHRoZSBsYWJlbCBjbGlwLlxuICovXG5jb25zdCBEcm9wZG93bkZpZWxkV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CYXNlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogMTAwJTtcbmA7XG5cbmNvbnN0IFNlbGVjdGVkQ29udGVudCA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIG1pbi13aWR0aDogMDtcbmA7XG5cbi8qKlxuICogS2VlcHMgdGhlIHNlbGVjdGVkIHZhbHVlIG9uIGEgc2luZ2xlIGxpbmUgYW5kIGVsbGlwc2lzZXMgaXQuIFdpdGhvdXQgdGhpcyB0aGVcbiAqIGxhYmVsIHdyYXBzIGFuZCwgYmVjYXVzZSB0aGUgdG9nZ2xlIGlzIGEgZml4ZWQgNDRweCwgc3BpbGxzIGFib3ZlIGFuZCBiZWxvd1xuICogdGhlIGJvcmRlci4gYG1pbi13aWR0aDogMGAgaXMgd2hhdCBsZXRzIHRoZSB0b2dnbGUgc2hyaW5rIGJlbG93IHRoZSBsYWJlbCdzXG4gKiBpbnRyaW5zaWMgd2lkdGggYXQgYWxsIOKAlCBhIG5vd3JhcCBmbGV4IGl0ZW0gb3RoZXJ3aXNlIHJlcG9ydHMgaXRzIGZ1bGwgdGV4dFxuICogd2lkdGggYXMgaXRzIG1pbmltdW0sIHNvIHRoZSBkcm9wZG93biB3b3VsZCBrZWVwIGdyb3dpbmcgaW5zdGVhZCBvZiBjbGlwcGluZy5cbiAqL1xuY29uc3QgU2VsZWN0ZWRMYWJlbCA9IHN0eWxlZC5zcGFuYFxuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgbWluLXdpZHRoOiAwO1xuYDtcblxuY29uc3QgTGVhZGluZ0VsZW1lbnQgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYDtcblxuLyoqXG4gKiBEcm9wZG93biAtIFNlbGVjdC1saWtlIGRyb3Bkb3duIGNvbXBvbmVudCBmb3Igc2luZ2xlIHNlbGVjdGlvblxuICpcbiAqIEEgZmxleGlibGUgZHJvcGRvd24gY29tcG9uZW50IHRoYXQgYWxsb3dzIHVzZXJzIHRvIHNlbGVjdCBvbmUgb3B0aW9uIGZyb21cbiAqIGEgbGlzdCBvZiBjaG9pY2VzLiBVc2VzIGEgY29tcG91bmQgY29tcG9uZW50IHBhdHRlcm4gd2l0aCBEcm9wZG93bk9wdGlvblxuICogY2hpbGRyZW4uIFByb3ZpZGVzIGtleWJvYXJkIG5hdmlnYXRpb24sIGFjY2Vzc2liaWxpdHkgZmVhdHVyZXMsIGNsaWNrLW91dHNpZGVcbiAqIHRvIGNsb3NlIGZ1bmN0aW9uYWxpdHksIGFuZCBhdXRvbWF0aWMgdmlld3BvcnQtYXdhcmUgcGxhY2VtZW50IG9mIHRoZSBvcHRpb25zIGxpc3QuXG4gKlxuICogT24gZXZlcnkgb3BlbiB0aGUgY29tcG9uZW50IG1lYXN1cmVzIGF2YWlsYWJsZSBzcGFjZSBiZWxvdyB0aGUgdG9nZ2xlIGJ1dHRvblxuICogYW5kIGZsaXBzIHRoZSBsaXN0IHVwd2FyZCB3aGVuIHRoZXJlIGlzIG5vdCBlbm91Z2ggcm9vbSwgcHJldmVudGluZyB0aGUgbGlzdFxuICogZnJvbSBiZWluZyBjbGlwcGVkIGJ5IHRoZSB2aWV3cG9ydCBlZGdlLiBUaGlzIGJlaGF2aW9yIGNhbiBiZSBvdmVycmlkZGVuIHZpYVxuICogZHJvcGRvd25Qcm9wcy5kcm9wZG93blBvc2l0aW9uLlxuICpcbiAqIENvbXBvbmVudCBzdHJ1Y3R1cmU6XG4gKiAtIERyb3Bkb3duIChyb290IGNvbnRhaW5lciB3aXRoIGNvbnRleHQpXG4gKiAgIC0gRHJvcGRvd25Ub2dnbGUgKGJ1dHRvbiB0aGF0IG9wZW5zL2Nsb3NlcyBkcm9wZG93bilcbiAqICAgLSBEcm9wZG93bk9wdGlvbnMgKG1lbnUgY29udGFpbmVyIHRoYXQgYXBwZWFycyB3aGVuIG9wZW4pXG4gKiAgICAgLSBEcm9wZG93bk9wdGlvbiAoaW5kaXZpZHVhbCBzZWxlY3RhYmxlIGl0ZW1zKVxuICpcbiAqIEBjYXRlZ29yeSBGb3JtIENvbnRyb2xzXG4gKiBAc3ViY2F0ZWdvcnkgU2VsZWN0aW9uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgaXRlbXMgPSBbXG4gKiAgIHsgaWQ6IDEsIHZhbHVlOiAnQXBwbGUnIH0sXG4gKiAgIHsgaWQ6IDIsIHZhbHVlOiAnQmFuYW5hJyB9LFxuICogICB7IGlkOiAzLCB2YWx1ZTogJ0NoZXJyeScgfSxcbiAqIF07XG4gKlxuICogPERyb3Bkb3duXG4gKiAgIHNlbGVjdGVkSXRlbT17aXRlbXNbMF19XG4gKiAgIG9uQ2hhbmdlPXsoaXRlbSkgPT4gaGFuZGxlU2VsZWN0aW9uKGl0ZW0pfVxuICogICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBhIGZydWl0XCJcbiAqID5cbiAqICAge2l0ZW1zLm1hcChpdGVtID0+IChcbiAqICAgICA8RHJvcGRvd25PcHRpb24ga2V5PXtpdGVtLmlkfSB2YWx1ZT17aXRlbS5pZH0+XG4gKiAgICAgICB7aXRlbS52YWx1ZX1cbiAqICAgICA8L0Ryb3Bkb3duT3B0aW9uPlxuICogICApKX1cbiAqIDwvRHJvcGRvd24+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiAvLyBDb250cm9sbGVkIG9wZW4gc3RhdGVcbiAqIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gKiA8RHJvcGRvd25cbiAqICAgaXNPcGVuPXtpc09wZW59XG4gKiAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gKiAgIHNlbGVjdGVkSXRlbT17c2VsZWN0ZWR9XG4gKiA+XG4gKiAgIHtvcHRpb25zLm1hcChvcHQgPT4gKFxuICogICAgIDxEcm9wZG93bk9wdGlvbiBrZXk9e29wdC5pZH0gdmFsdWU9e29wdC5pZH0+XG4gKiAgICAgICB7b3B0LmxhYmVsfVxuICogICAgIDwvRHJvcGRvd25PcHRpb24+XG4gKiAgICkpfVxuICogPC9Ecm9wZG93bj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIFdpdGggY3VzdG9tIHByb3BzIGZvciBzdWItY29tcG9uZW50cyBhbmQgZm9yY2VkIHVwd2FyZCBwbGFjZW1lbnRcbiAqIDxEcm9wZG93blxuICogICBzZWxlY3RlZEl0ZW09e3NlbGVjdGVkfVxuICogICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICogICBkcm9wZG93blByb3BzPXt7XG4gKiAgICAgYmFzZTogeyBpZDogJ215LWRyb3Bkb3duJyB9LFxuICogICAgIHRvZ2dsZUJ1dHRvbjogeyAnZGF0YS10ZXN0aWQnOiAnZHJvcGRvd24tdG9nZ2xlJyB9LFxuICogICAgIHRvZ2dsZUJ1dHRvbkFycm93OiB7IGNsYXNzTmFtZTogJ2N1c3RvbS1hcnJvdycgfSxcbiAqICAgICBkcm9wZG93blBvc2l0aW9uOiBEcm9wZG93blBvc2l0aW9ucy50b3AsXG4gKiAgIH19XG4gKiA+XG4gKiAgIHtvcHRpb25zLm1hcChvcHQgPT4gKFxuICogICAgIDxEcm9wZG93bk9wdGlvbiBrZXk9e29wdC5pZH0gdmFsdWU9e29wdC5pZH0+XG4gKiAgICAgICB7b3B0LmxhYmVsfVxuICogICAgIDwvRHJvcGRvd25PcHRpb24+XG4gKiAgICkpfVxuICogPC9Ecm9wZG93bj5cbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIERyb3Bkb3duT3B0aW9ufSAtIENoaWxkIGNvbXBvbmVudCBmb3IgaW5kaXZpZHVhbCBvcHRpb25zXG4gKiBAc2VlIHtAbGluayBEcm9wZG93blRvZ2dsZX0gLSBUb2dnbGUgYnV0dG9uIGNvbXBvbmVudFxuICogQHNlZSB7QGxpbmsgRHJvcGRvd25PcHRpb25zfSAtIE9wdGlvbnMgbWVudSBjb250YWluZXJcbiAqXG4gKiBAYWNjZXNzaWJpbGl0eVxuICogLSBBUklBIGF0dHJpYnV0ZXMgc2V0IGFjY29yZGluZyB0byBXQUktQVJJQSBjb21ib2JveCBwYXR0ZXJuXG4gKiAtIEtleWJvYXJkIG5hdmlnYXRpb24gKEFycm93IGtleXMsIEVudGVyLCBFc2NhcGUpXG4gKiAtIENsaWNrIG91dHNpZGUgdG8gY2xvc2VcbiAqIC0gU2NyZWVuIHJlYWRlciBmcmllbmRseVxuICogLSBGb2N1cyBtYW5hZ2VtZW50XG4gKlxuICogQHNlZSBodHRwczovL3d3dy53My5vcmcvV0FJL0FSSUEvYXBnL2V4YW1wbGUtaW5kZXgvY29tYm9ib3gvY29tYm9ib3gtc2VsZWN0LW9ubHkuaHRtbFxuICovXG5jb25zdCBEcm9wZG93biA9IDxUIGV4dGVuZHMgRHJvcGRvd25PcHRpb25Qcm9wcz4oe1xuICBzZWxlY3RlZEl0ZW0sXG4gIGRpc2FibGVkLFxuICBpc0Rpc2FibGVkLFxuICBpc09wZW46IGlzSW5pdE9wZW4sXG4gIGNoaWxkcmVuLFxuICBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLFxuICBjbGFzc05hbWUsXG4gIHBsYWNlaG9sZGVyID0gJ1NlbGVjdCBzb21ldGhpbmcnLFxuICBtYXhIZWlnaHQgPSAyMDAsXG4gIGF2YXRhckJvcmRlciA9IGZhbHNlLFxuICBsYWJlbCxcbiAgbGFiZWxCYWRnZSxcbiAgaGVscGVyVGV4dCxcbiAgZXJyb3JzLFxuICBzdWNjZXNzLFxuICBpY29uLFxuICB3aWR0aCxcbiAgZHJvcGRvd25Qcm9wczogY29tcG9uZW50UHJvcHMsXG59OiBEcm9wZG93blByb3BzPFQ+KSA9PiB7XG4gIGNvbnN0IGlzRHJvcGRvd25EaXNhYmxlZCA9IHJlc29sdmVEaXNhYmxlZCgnRHJvcGRvd24nLCBkaXNhYmxlZCwgaXNEaXNhYmxlZCk7XG4gIGNvbnN0IHN0YXR1cyA9IHN1Y2Nlc3MgPyAnc3VjY2VzcycgOiBlcnJvcnMgPyAnZXJyb3InIDogJ2Jhc2ljJztcbiAgY29uc3QgeyBkcm9wZG93blBvc2l0aW9uID0gRHJvcGRvd25Qb3NpdGlvbnMuYXV0byB9ID0gY29tcG9uZW50UHJvcHMgPz8ge307XG4gIC8vIGB3aWR0aGAgaGFzIG5vIGRlZmF1bHQ6IHdpdGhvdXQgaXQgZXZlcnkgbGV2ZWwga2VlcHMgc2hyaW5rLXdyYXBwaW5nLCB3aGljaFxuICAvLyBpcyB0aGUgaGlzdG9yaWNhbCBiZWhhdmlvdXIuIFdoZW4gc2V0LCBhbGwgdGhyZWUgbmVzdGVkIGxldmVsc1xuICAvLyAod3JhcHBlciAtPiBiYXNlIC0+IHRvZ2dsZSkgaGF2ZSB0byBiZSBzdHJldGNoZWQg4oCUIHNpemluZyBvbmx5IG9uZSBpcyBhXG4gIC8vIG5vLW9wLCBiZWNhdXNlIHRoZSBsZXZlbCBhYm92ZSBpdCBpcyBzdGlsbCBzaXplZCB0byBpdHMgY29udGVudC5cbiAgLy9cbiAgLy8gT25seSB0aGUgb3V0ZXJtb3N0IGxldmVsIGdldHMgdGhlIHJlcXVlc3RlZCB2YWx1ZTsgdGhlIGlubmVyIHR3byBnZXQgMTAwJS5cbiAgLy8gUmVwZWF0aW5nIHRoZSB2YWx1ZSB3b3VsZCBjb21wb3VuZCByZWxhdGl2ZSB1bml0czogYHdpZHRoPVwiNjAlXCJgIHdvdWxkXG4gIC8vIG90aGVyd2lzZSByZW5kZXIgdGhlIGJhc2UgYXQgNjAlIG9mIHRoZSB3cmFwcGVyIGFuZCB0aGUgdG9nZ2xlIGF0IDYwJSBvZlxuICAvLyB0aGF0LCBpLmUuIDIxLjYlIG9mIHRoZSBjb250YWluZXIuXG4gIC8vXG4gIC8vIFNwcmVhZCByYXRoZXIgdGhhbiBwYXNzZWQgYXMgYGNzcz17Li4ufWA6IEVtb3Rpb24gd3JhcHMgYW4gZWxlbWVudCB3aGVuZXZlclxuICAvLyBgY3NzYCBpcyBwcmVzZW50IGluIGl0cyBwcm9wcywgZXZlbiB3aGVuIGl0cyB2YWx1ZSBpcyB1bmRlZmluZWQsIGFuZCB0aGF0XG4gIC8vIHJlLXNlcmlhbGl6ZXMgYW55IGluY29taW5nIGBjbGFzc05hbWVgIChlLmcuIGZyb20gYHN0eWxlZChEcm9wZG93bilgKS5cbiAgLy8gT21pdHRpbmcgdGhlIGtleSBrZWVwcyB0aGUgbm8td2lkdGggcGF0aCBpZGVudGljYWwgdG8gd3JpdGluZyBubyBgY3NzYCBwcm9wLlxuICBjb25zdCB3cmFwcGVyQ3NzUHJvcHMgPSB3aWR0aCA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogeyBjc3M6IHsgd2lkdGggfSB9O1xuICBjb25zdCBiYXNlQ3NzUHJvcHMgPVxuICAgIHdpZHRoID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiB7IGNzczogeyB3aWR0aDogJzEwMCUnIH0gfTtcbiAgY29uc3QgdG9nZ2xlQ3NzUHJvcHMgPVxuICAgIHdpZHRoID09PSB1bmRlZmluZWRcbiAgICAgID8gdW5kZWZpbmVkXG4gICAgICA6IHsgY3NzOiBbeyB3aWR0aDogJzEwMCUnIH0sIGNvbXBvbmVudFByb3BzPy50b2dnbGVCdXR0b24/LmNzc10gfTtcblxuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKCk7XG4gIGNvbnN0IGRyb3Bkb3duUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgbGlzdFJlZiA9IHVzZVJlZjxIVE1MVUxpc3RFbGVtZW50PihudWxsKTtcblxuICBjb25zdCBkcm9wZG93bklkID0gdXNlSWQoKTtcbiAgLy8gTmFtZXMgdGhlIHRvZ2dsZTsgbGVmdCBvdXQgd2l0aG91dCBhIGxhYmVsLCBzbyBpdCBuZXZlciBwb2ludHMgYXQgYVxuICAvLyBtaXNzaW5nIGVsZW1lbnQuXG4gIGNvbnN0IGxhYmVsSWQgPSBsYWJlbCA/IGBkcm9wZG93bi1sYWJlbC0ke2Ryb3Bkb3duSWR9YCA6IHVuZGVmaW5lZDtcbiAgY29uc3QgYmFkZ2UgPVxuICAgIGxhYmVsICYmIGxhYmVsQmFkZ2VcbiAgICAgID8geyAuLi5sYWJlbEJhZGdlLCBpZDogYGRyb3Bkb3duLWJhZGdlLSR7ZHJvcGRvd25JZH1gIH1cbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gIGNvbnN0IFtpc0ZvY3VzZWQsIHNldElzRm9jdXNlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZShpc0luaXRPcGVuIHx8IGZhbHNlKTtcbiAgY29uc3QgW2NvbG9ycywgc2V0Q29sb3JzXSA9IHVzZVN0YXRlPEFycmF5PHN0cmluZyB8IHVuZGVmaW5lZD4+KFtdKTtcbiAgY29uc3QgW2FjdGl2ZUl0ZW0sIHNldEFjdGl2ZUl0ZW1dID0gdXNlU3RhdGU8VCB8IHVuZGVmaW5lZD4oc2VsZWN0ZWRJdGVtKTtcbiAgY29uc3QgW3BsYWNlbWVudCwgc2V0UGxhY2VtZW50XSA9IHVzZVN0YXRlPCd0b3AnIHwgJ2JvdHRvbSc+KCdib3R0b20nKTtcbiAgLy8gSGlnaGxpZ2h0ZWQgb3B0aW9uLiBGb2N1cyBzdGF5cyBvbiB0aGUgdG9nZ2xlICh0aGUgY29tYm9ib3gpLCB3aGljaFxuICAvLyBkcml2ZXMgdGhlIGxpc3QgYW5kIHBvaW50cyBhdCB0aGUgb3B0aW9uIHdpdGggYXJpYS1hY3RpdmVkZXNjZW5kYW50LlxuICBjb25zdCBbYWN0aXZlVmFsdWUsIHNldEFjdGl2ZVZhbHVlXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bWJlciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBsaXN0SWQgPSBgZHJvcGRvd24tcG9wdXAtJHtkcm9wZG93bklkfWA7XG5cbiAgY29uc3QgY2xvc2UgPSAoKSA9PiB7XG4gICAgc2V0SXNPcGVuKGZhbHNlKTtcbiAgICBzZXRBY3RpdmVWYWx1ZShudWxsKTtcbiAgfTtcblxuICBjb25zdCBvbkNoYW5nZTogRHJvcGRvd25Db250ZXh0VHlwZVsnb25DaGFuZ2UnXSA9IChpdGVtKSA9PiB7XG4gICAgY29uc3QgaW5uZXJJdGVtID0gb3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBpdGVtKVswXTtcblxuICAgIGNsb3NlKCk7XG5cbiAgICBpZiAoaXNEcm9wZG93bkRpc2FibGVkIHx8ICFpbm5lckl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaW5uZXJJdGVtLnZhbHVlID09PSBhY3RpdmVJdGVtPy52YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldEFjdGl2ZUl0ZW0oaW5uZXJJdGVtKTtcbiAgICBpZiAoaGFuZGxlQ2hhbmdlKSB7XG4gICAgICBoYW5kbGVDaGFuZ2UoaW5uZXJJdGVtKTtcbiAgICB9XG4gIH07XG5cbiAgdXNlQ2xpY2tPdXRzaWRlKGRyb3Bkb3duUmVmLCAoKSA9PiBpc09wZW4gJiYgY2xvc2UoKSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNEcm9wZG93bkRpc2FibGVkKSB7XG4gICAgICBzZXRDb2xvcnMoW3RoZW1lLmNvbG9ycy5ncmV5RGFya2VyNjAsIHRoZW1lLmNvbG9ycy5ncmV5MjBdKTtcbiAgICB9IGVsc2UgaWYgKGlzT3Blbikge1xuICAgICAgc2V0Q29sb3JzKFt0aGVtZS5jb2xvcnMud2hpdGUsIHRoZW1lLmNvbG9ycy53aGl0ZTYwXSk7XG4gICAgfSBlbHNlIGlmIChpc0ZvY3VzZWQpIHtcbiAgICAgIHNldENvbG9ycyhbdGhlbWUuY29sb3JzLmdyZXlEYXJrZXIsIHRoZW1lLmNvbG9ycy5ncmV5RGFya2VyNjBdKTtcbiAgICB9XG4gIH0sIFtpc09wZW4sIGlzRHJvcGRvd25EaXNhYmxlZCwgaXNGb2N1c2VkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRBY3RpdmVJdGVtKHNlbGVjdGVkSXRlbSk7XG4gIH0sIFtzZWxlY3RlZEl0ZW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc0Ryb3Bkb3duRGlzYWJsZWQgJiYgaXNPcGVuKSB7XG4gICAgICBjbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzRHJvcGRvd25EaXNhYmxlZF0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc09wZW4gfHwgIWRyb3Bkb3duUmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIGlmIChkcm9wZG93blBvc2l0aW9uICE9PSBEcm9wZG93blBvc2l0aW9ucy5hdXRvKSB7XG4gICAgICBzZXRQbGFjZW1lbnQoZHJvcGRvd25Qb3NpdGlvbik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVjdCA9IGRyb3Bkb3duUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgbGlzdEhlaWdodCA9IGxpc3RSZWYuY3VycmVudD8ub2Zmc2V0SGVpZ2h0IHx8IG1heEhlaWdodDtcbiAgICBjb25zdCBzcGFjZUJlbG93ID0gd2luZG93LmlubmVySGVpZ2h0IC0gcmVjdC5ib3R0b207XG4gICAgc2V0UGxhY2VtZW50KHNwYWNlQmVsb3cgPCBsaXN0SGVpZ2h0ID8gJ3RvcCcgOiAnYm90dG9tJyk7XG4gIH0sIFtpc09wZW5dKTtcblxuICBjb25zdCBjaGlsZHJlbkFycmF5ID0gUmVhY3QuQ2hpbGRyZW4udG9BcnJheShjaGlsZHJlbikuZmlsdGVyKEJvb2xlYW4pO1xuICAvLyBHcm91cHMgdW53cmFwcGVkOiB3aGF0IGBvbkNoYW5nZWAgY2FuIHBpY2sgZnJvbS5cbiAgY29uc3Qgb3B0aW9ucyA9IGZsYXR0ZW5Ecm9wZG93bk9wdGlvbnMoY2hpbGRyZW5BcnJheSkubWFwKFxuICAgIChvcHRpb24pID0+IG9wdGlvbi5wcm9wcyBhcyB1bmtub3duIGFzIFQsXG4gICk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgY29uc3QgaXRlbXMgPSAoY2hpbGRyZW5BcnJheSBhcyBSZWFjdC5SZWFjdEVsZW1lbnQ8YW55PltdKS5tYXAoXG4gICAgKGNoaWxkLCBpbmRleCkgPT4ge1xuICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICBpbmRleCxcbiAgICAgICAgb25DbGljazogb25DaGFuZ2UuYmluZCh0aGlzKSxcbiAgICAgICAgLi4uY2hpbGQucHJvcHMsXG4gICAgICB9KTtcbiAgICB9LFxuICApO1xuXG4gIGNvbnN0IG1lbnVJdGVtcyA9IHRvRHJvcGRvd25NZW51SXRlbXMoY2hpbGRyZW5BcnJheSk7XG5cbiAgLyoqIE9wZW5zIHdpdGggdGhlIHNlbGVjdGVkIG9wdGlvbiBoaWdobGlnaHRlZCwgZWxzZSBwZXIgdGhlIGtleSBwcmVzc2VkLiAqL1xuICBjb25zdCBvcGVuID0gKGtleSA9ICdBcnJvd0Rvd24nKSA9PiB7XG4gICAgc2V0SXNPcGVuKHRydWUpO1xuICAgIGNvbnN0IHNlbGVjdGVkID0gZmxhdHRlbkl0ZW1zKG1lbnVJdGVtcykuZmluZChcbiAgICAgIChpdGVtKSA9PiAhaXRlbS5kaXNhYmxlZCAmJiBpdGVtLnZhbHVlID09PSBhY3RpdmVJdGVtPy52YWx1ZSxcbiAgICApO1xuICAgIHNldEFjdGl2ZVZhbHVlKFxuICAgICAgc2VsZWN0ZWQ/LnZhbHVlID8/IGdldE5leHRBY3RpdmVWYWx1ZShtZW51SXRlbXMsIG51bGwsIGtleSkgPz8gbnVsbCxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IHRvZ2dsZUtleXMgPSB1c2VUb2dnbGVMaXN0S2V5cyh7XG4gICAgbGlzdElkLFxuICAgIGlzT3BlbixcbiAgICBkaXNhYmxlZDogaXNEcm9wZG93bkRpc2FibGVkLFxuICAgIG1lbnVJdGVtcyxcbiAgICBhY3RpdmVWYWx1ZSxcbiAgICBzZXRBY3RpdmVWYWx1ZSxcbiAgICBvcGVuLFxuICAgIGNsb3NlLFxuICAgIG9uUGljazogKHZhbHVlKSA9PiBvbkNoYW5nZSh2YWx1ZSBhcyBzdHJpbmcpLFxuICAgIG9uS2V5RG93bjogY29tcG9uZW50UHJvcHM/LnRvZ2dsZUJ1dHRvbj8ub25LZXlEb3duLFxuICAgIG9uS2V5VXA6IGNvbXBvbmVudFByb3BzPy50b2dnbGVCdXR0b24/Lm9uS2V5VXAsXG4gIH0pO1xuXG4gIGNvbnN0IGNvbnRleHRWYWx1ZTogRHJvcGRvd25Db250ZXh0VHlwZSA9IFJlYWN0LnVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgYWN0aXZlSXRlbSxcbiAgICAgIG1heEhlaWdodCxcbiAgICAgIGxpc3RSZWYsXG4gICAgICBwbGFjZW1lbnQsXG4gICAgICBhY3RpdmVWYWx1ZSxcbiAgICAgIHNldEFjdGl2ZVZhbHVlLFxuICAgIH0pLFxuICAgIFtvbkNoYW5nZSwgYWN0aXZlSXRlbSwgbWF4SGVpZ2h0LCBwbGFjZW1lbnQsIGFjdGl2ZVZhbHVlXSxcbiAgKTtcblxuICBjb25zdCB2YWx1ZSA9IChcbiAgICBhY3RpdmVJdGVtXG4gICAgICA/IGFjdGl2ZUl0ZW0ubGFiZWwgfHxcbiAgICAgICAgYWN0aXZlSXRlbS5jaGlsZHJlbiB8fFxuICAgICAgICBhY3RpdmVJdGVtLnZhbHVlIHx8XG4gICAgICAgIGFjdGl2ZUl0ZW0gfHxcbiAgICAgICAgcGxhY2Vob2xkZXJcbiAgICAgIDogcGxhY2Vob2xkZXJcbiAgKSBhcyBSZWFjdE5vZGU7XG5cbiAgY29uc3QgcmF3QXZhdGFyID1cbiAgICBhY3RpdmVJdGVtICYmIChhY3RpdmVJdGVtIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KS5hdmF0YXI7XG5cbiAgY29uc3Qgc2VsZWN0ZWRBdmF0YXIgPSAhaXNOaWxsKHJhd0F2YXRhcikgPyAoXG4gICAgdHlwZW9mIHJhd0F2YXRhciA9PT0gJ3N0cmluZycgPyAoXG4gICAgICA8QXZhdGFyXG4gICAgICAgIHNpemU9e0F2YXRhclNpemVzLnNtYWxsfVxuICAgICAgICBpbWFnZT17cmF3QXZhdGFyfVxuICAgICAgICBib3JkZXI9e2F2YXRhckJvcmRlcn1cbiAgICAgIC8+XG4gICAgKSA6IFJlYWN0LmlzVmFsaWRFbGVtZW50KHJhd0F2YXRhcikgPyAoXG4gICAgICAocmF3QXZhdGFyIGFzIFJlYWN0Tm9kZSlcbiAgICApIDogbnVsbFxuICApIDogbnVsbDtcblxuICBjb25zdCBsZWFkaW5nRWxlbWVudCA9ICFpc05pbGwoc2VsZWN0ZWRBdmF0YXIpID8gKFxuICAgIChzZWxlY3RlZEF2YXRhciBhcyBSZWFjdE5vZGUpXG4gICkgOiBpY29uID8gKFxuICAgIDxJY29uXG4gICAgICBuYW1lPXtpY29ufVxuICAgICAgc2l6ZT17MTZ9XG4gICAgICBjb2xvcj17aXNEcm9wZG93bkRpc2FibGVkID8gdGhlbWUuY29sb3JzLmdyZXkgOiB0aGVtZS5jb2xvcnMuZ3JleURhcmtlcjgwfVxuICAgIC8+XG4gICkgOiBudWxsO1xuXG4gIGNvbnN0IHRvZ2dsZUNvbnRlbnQgPSAhaXNOaWxsKGxlYWRpbmdFbGVtZW50KSA/IChcbiAgICA8U2VsZWN0ZWRDb250ZW50PlxuICAgICAgPExlYWRpbmdFbGVtZW50PntsZWFkaW5nRWxlbWVudH08L0xlYWRpbmdFbGVtZW50PlxuICAgICAgPFNlbGVjdGVkTGFiZWw+e3ZhbHVlfTwvU2VsZWN0ZWRMYWJlbD5cbiAgICA8L1NlbGVjdGVkQ29udGVudD5cbiAgKSA6IChcbiAgICA8U2VsZWN0ZWRMYWJlbD57dmFsdWV9PC9TZWxlY3RlZExhYmVsPlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPERyb3Bkb3duRmllbGRXcmFwcGVyIHsuLi53cmFwcGVyQ3NzUHJvcHN9PlxuICAgICAge2xhYmVsID8gKFxuICAgICAgICA8TGFiZWwgaWQ9e2xhYmVsSWR9IGRpc2FibGVkPXtpc0Ryb3Bkb3duRGlzYWJsZWR9IGJhZGdlPXtiYWRnZX0+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L0xhYmVsPlxuICAgICAgKSA6IG51bGx9XG4gICAgICA8RHJvcGRvd25Db250ZXh0LlByb3ZpZGVyIHZhbHVlPXtjb250ZXh0VmFsdWV9PlxuICAgICAgICA8RHJvcGRvd25CYXNlXG4gICAgICAgICAgey4uLmNvbXBvbmVudFByb3BzPy5iYXNlfVxuICAgICAgICAgIHsuLi5iYXNlQ3NzUHJvcHN9XG4gICAgICAgICAgcmVmPXtkcm9wZG93blJlZn1cbiAgICAgICAgICBkYXRhLXRlc3RpZD1cImRyb3Bkb3duXCI+XG4gICAgICAgICAgPERyb3Bkb3duVG9nZ2xlXG4gICAgICAgICAgICB7Li4uY29tcG9uZW50UHJvcHM/LnRvZ2dsZUJ1dHRvbn1cbiAgICAgICAgICAgIHsuLi50b2dnbGVDc3NQcm9wc31cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgaXNPcGVuPXtpc09wZW59XG4gICAgICAgICAgICBkaXNhYmxlZD17aXNEcm9wZG93bkRpc2FibGVkfVxuICAgICAgICAgICAgc3RhdHVzPXtzdGF0dXN9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiAoaXNPcGVuID8gY2xvc2UoKSA6IG9wZW4oKSl9XG4gICAgICAgICAgICB7Li4udG9nZ2xlS2V5c31cbiAgICAgICAgICAgIG9uRm9jdXM9e3NldElzRm9jdXNlZC5iaW5kKG51bGwsIHRydWUpfVxuICAgICAgICAgICAgY29sb3JzPXtjb2xvcnN9XG4gICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e2xhYmVsSWR9XG4gICAgICAgICAgICB7Li4uKGJhZGdlICYmIHsgJ2FyaWEtZGVzY3JpYmVkYnknOiBiYWRnZS5pZCB9KX1cbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e2xpc3RJZH0+XG4gICAgICAgICAgICB7dG9nZ2xlQ29udGVudH1cbiAgICAgICAgICAgIDxEcm9wZG93bkFycm93XG4gICAgICAgICAgICAgIHsuLi5jb21wb25lbnRQcm9wcz8udG9nZ2xlQnV0dG9uQXJyb3d9XG4gICAgICAgICAgICAgIGlzVXA9e2lzT3Blbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Ecm9wZG93blRvZ2dsZT5cblxuICAgICAgICAgIHtpc09wZW4gPyAoXG4gICAgICAgICAgICA8RHJvcGRvd25PcHRpb25zIGlkPXtsaXN0SWR9PntpdGVtc308L0Ryb3Bkb3duT3B0aW9ucz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ecm9wZG93bkJhc2U+XG4gICAgICA8L0Ryb3Bkb3duQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgIHtoZWxwZXJUZXh0IHx8IGVycm9ycyA/IChcbiAgICAgICAgPEZvcm1IZWxwZXJUZXh0XG4gICAgICAgICAgcm9sZT1cInN0YXR1c1wiXG4gICAgICAgICAgc3RhdHVzPXtzdGF0dXN9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRHJvcGRvd25EaXNhYmxlZH0+XG4gICAgICAgICAge2Vycm9ycz8ubWVzc2FnZSB8fCBoZWxwZXJUZXh0fVxuICAgICAgICA8L0Zvcm1IZWxwZXJUZXh0PlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9Ecm9wZG93bkZpZWxkV3JhcHBlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERyb3Bkb3duO1xuIl19 */",
|
|
28677
|
+
styles: "display:inline-flex;align-items:center;gap:8px;min-width:0/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9Ecm9wZG93bi9Ecm9wZG93bi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdURtQyIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91aS1raXQvdWkta2l0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVN0YXRlLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlUmVmLFxuICB1c2VJZCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IHVzZUNsaWNrT3V0c2lkZSB9IGZyb20gJ0Bzc2EtdWkta2l0L2hvb2tzJztcbmltcG9ydCB7IGlzTmlsbCB9IGZyb20gJ0Bzc2EtdWkta2l0L3V0aWxzJztcblxuaW1wb3J0IERyb3Bkb3duVG9nZ2xlIGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duVG9nZ2xlJztcbmltcG9ydCBEcm9wZG93bkFycm93IGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duQXJyb3cnO1xuaW1wb3J0IERyb3Bkb3duT3B0aW9ucyBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMnO1xuaW1wb3J0IHtcbiAgZmlsdGVyRHJvcGRvd25PcHRpb25zLFxuICBmbGF0dGVuRHJvcGRvd25PcHRpb25zLFxuICB0b0Ryb3Bkb3duTWVudUl0ZW1zLFxufSBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMvdXRpbHMnO1xuaW1wb3J0IHsgdXNlVG9nZ2xlTGlzdEtleXMgfSBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMvdXNlVG9nZ2xlTGlzdEtleXMnO1xuaW1wb3J0IHsgRHJvcGRvd25TZWFyY2ggfSBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMvRHJvcGRvd25TZWFyY2gnO1xuaW1wb3J0IHsgZ2V0TmV4dEFjdGl2ZVZhbHVlIH0gZnJvbSAnQGNvbXBvbmVudHMvQ29udGV4dE1lbnUnO1xuaW1wb3J0IHsgZmxhdHRlbkl0ZW1zIH0gZnJvbSAnQGNvbXBvbmVudHMvQ29udGV4dE1lbnUvdXRpbHMnO1xuaW1wb3J0IEF2YXRhciwgeyBBdmF0YXJTaXplcyB9IGZyb20gJ0Bjb21wb25lbnRzL0F2YXRhcic7XG5pbXBvcnQgSWNvbiBmcm9tICdAY29tcG9uZW50cy9JY29uJztcbmltcG9ydCBMYWJlbCBmcm9tICdAY29tcG9uZW50cy9MYWJlbCc7XG5pbXBvcnQgRm9ybUhlbHBlclRleHQgZnJvbSAnQGNvbXBvbmVudHMvRm9ybUhlbHBlclRleHQnO1xuaW1wb3J0IERyb3Bkb3duQ29udGV4dCBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bi9Ecm9wZG93bi5jb250ZXh0JztcbmltcG9ydCB7IHJlc29sdmVEaXNhYmxlZCB9IGZyb20gJ0B1dGlscy9kZXByZWNhdGlvbic7XG5pbXBvcnQgeyBEcm9wZG93bk9wdGlvblByb3BzIH0gZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25PcHRpb25zL3R5cGVzJztcblxuaW1wb3J0IHsgRHJvcGRvd25Db250ZXh0VHlwZSwgRHJvcGRvd25Qb3NpdGlvbnMsIERyb3Bkb3duUHJvcHMgfSBmcm9tICcuL3R5cGVzJztcblxuLypcbiAqIEJvdGggbGV2ZWxzIGFyZSBzaHJpbmstdG8tZml0LCBhbmQgYSBzaHJpbmstdG8tZml0IGJveCBzaXplcyB0byBpdHNcbiAqIG1pbi1jb250ZW50IHdoZW4gdGhhdCBleGNlZWRzIHRoZSBzcGFjZSBhdmFpbGFibGUgLS0gZm9yIGEgbm93cmFwIGxhYmVsIHRoYXRcbiAqIGlzIHRoZSBlbnRpcmUgc3RyaW5nLCBzbyB0aGUgZHJvcGRvd24gd291bGQgZ3JvdyBwYXN0IGl0cyBjb250YWluZXIgaW5zdGVhZFxuICogb2YgZWxsaXBzaXNpbmcuIGBtYXgtd2lkdGg6IDEwMCVgIGdpdmVzIGVhY2ggbGV2ZWwgYSBkZWZpbml0ZSB3aWR0aCB0b1xuICogcmVzb2x2ZSBhZ2FpbnN0LCB3aGljaCBpcyB3aGF0IGFjdHVhbGx5IGxldHMgdGhlIGxhYmVsIGNsaXAuXG4gKi9cbmNvbnN0IERyb3Bkb3duRmllbGRXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXgtd2lkdGg6IDEwMCU7XG5gO1xuXG5jb25zdCBEcm9wZG93bkJhc2UgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuYDtcblxuY29uc3QgU2VsZWN0ZWRDb250ZW50ID0gc3R5bGVkLnNwYW5gXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgbWluLXdpZHRoOiAwO1xuYDtcblxuLyoqXG4gKiBLZWVwcyB0aGUgc2VsZWN0ZWQgdmFsdWUgb24gYSBzaW5nbGUgbGluZSBhbmQgZWxsaXBzaXNlcyBpdC4gV2l0aG91dCB0aGlzIHRoZVxuICogbGFiZWwgd3JhcHMgYW5kLCBiZWNhdXNlIHRoZSB0b2dnbGUgaXMgYSBmaXhlZCA0NHB4LCBzcGlsbHMgYWJvdmUgYW5kIGJlbG93XG4gKiB0aGUgYm9yZGVyLiBgbWluLXdpZHRoOiAwYCBpcyB3aGF0IGxldHMgdGhlIHRvZ2dsZSBzaHJpbmsgYmVsb3cgdGhlIGxhYmVsJ3NcbiAqIGludHJpbnNpYyB3aWR0aCBhdCBhbGwg4oCUIGEgbm93cmFwIGZsZXggaXRlbSBvdGhlcndpc2UgcmVwb3J0cyBpdHMgZnVsbCB0ZXh0XG4gKiB3aWR0aCBhcyBpdHMgbWluaW11bSwgc28gdGhlIGRyb3Bkb3duIHdvdWxkIGtlZXAgZ3Jvd2luZyBpbnN0ZWFkIG9mIGNsaXBwaW5nLlxuICovXG5jb25zdCBTZWxlY3RlZExhYmVsID0gc3R5bGVkLnNwYW5gXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBtaW4td2lkdGg6IDA7XG5gO1xuXG5jb25zdCBMZWFkaW5nRWxlbWVudCA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG5gO1xuXG4vKipcbiAqIERyb3Bkb3duIC0gU2VsZWN0LWxpa2UgZHJvcGRvd24gY29tcG9uZW50IGZvciBzaW5nbGUgc2VsZWN0aW9uXG4gKlxuICogQSBmbGV4aWJsZSBkcm9wZG93biBjb21wb25lbnQgdGhhdCBhbGxvd3MgdXNlcnMgdG8gc2VsZWN0IG9uZSBvcHRpb24gZnJvbVxuICogYSBsaXN0IG9mIGNob2ljZXMuIFVzZXMgYSBjb21wb3VuZCBjb21wb25lbnQgcGF0dGVybiB3aXRoIERyb3Bkb3duT3B0aW9uXG4gKiBjaGlsZHJlbi4gUHJvdmlkZXMga2V5Ym9hcmQgbmF2aWdhdGlvbiwgYWNjZXNzaWJpbGl0eSBmZWF0dXJlcywgY2xpY2stb3V0c2lkZVxuICogdG8gY2xvc2UgZnVuY3Rpb25hbGl0eSwgYW5kIGF1dG9tYXRpYyB2aWV3cG9ydC1hd2FyZSBwbGFjZW1lbnQgb2YgdGhlIG9wdGlvbnMgbGlzdC5cbiAqXG4gKiBPbiBldmVyeSBvcGVuIHRoZSBjb21wb25lbnQgbWVhc3VyZXMgYXZhaWxhYmxlIHNwYWNlIGJlbG93IHRoZSB0b2dnbGUgYnV0dG9uXG4gKiBhbmQgZmxpcHMgdGhlIGxpc3QgdXB3YXJkIHdoZW4gdGhlcmUgaXMgbm90IGVub3VnaCByb29tLCBwcmV2ZW50aW5nIHRoZSBsaXN0XG4gKiBmcm9tIGJlaW5nIGNsaXBwZWQgYnkgdGhlIHZpZXdwb3J0IGVkZ2UuIFRoaXMgYmVoYXZpb3IgY2FuIGJlIG92ZXJyaWRkZW4gdmlhXG4gKiBkcm9wZG93blByb3BzLmRyb3Bkb3duUG9zaXRpb24uXG4gKlxuICogQ29tcG9uZW50IHN0cnVjdHVyZTpcbiAqIC0gRHJvcGRvd24gKHJvb3QgY29udGFpbmVyIHdpdGggY29udGV4dClcbiAqICAgLSBEcm9wZG93blRvZ2dsZSAoYnV0dG9uIHRoYXQgb3BlbnMvY2xvc2VzIGRyb3Bkb3duKVxuICogICAtIERyb3Bkb3duT3B0aW9ucyAobWVudSBjb250YWluZXIgdGhhdCBhcHBlYXJzIHdoZW4gb3BlbilcbiAqICAgICAtIERyb3Bkb3duT3B0aW9uIChpbmRpdmlkdWFsIHNlbGVjdGFibGUgaXRlbXMpXG4gKlxuICogQGNhdGVnb3J5IEZvcm0gQ29udHJvbHNcbiAqIEBzdWJjYXRlZ29yeSBTZWxlY3Rpb25cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBjb25zdCBpdGVtcyA9IFtcbiAqICAgeyBpZDogMSwgdmFsdWU6ICdBcHBsZScgfSxcbiAqICAgeyBpZDogMiwgdmFsdWU6ICdCYW5hbmEnIH0sXG4gKiAgIHsgaWQ6IDMsIHZhbHVlOiAnQ2hlcnJ5JyB9LFxuICogXTtcbiAqXG4gKiA8RHJvcGRvd25cbiAqICAgc2VsZWN0ZWRJdGVtPXtpdGVtc1swXX1cbiAqICAgb25DaGFuZ2U9eyhpdGVtKSA9PiBoYW5kbGVTZWxlY3Rpb24oaXRlbSl9XG4gKiAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IGEgZnJ1aXRcIlxuICogPlxuICogICB7aXRlbXMubWFwKGl0ZW0gPT4gKFxuICogICAgIDxEcm9wZG93bk9wdGlvbiBrZXk9e2l0ZW0uaWR9IHZhbHVlPXtpdGVtLmlkfT5cbiAqICAgICAgIHtpdGVtLnZhbHVlfVxuICogICAgIDwvRHJvcGRvd25PcHRpb24+XG4gKiAgICkpfVxuICogPC9Ecm9wZG93bj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIENvbnRyb2xsZWQgb3BlbiBzdGF0ZVxuICogY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAqIDxEcm9wZG93blxuICogICBpc09wZW49e2lzT3Blbn1cbiAqICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAqICAgc2VsZWN0ZWRJdGVtPXtzZWxlY3RlZH1cbiAqID5cbiAqICAge29wdGlvbnMubWFwKG9wdCA9PiAoXG4gKiAgICAgPERyb3Bkb3duT3B0aW9uIGtleT17b3B0LmlkfSB2YWx1ZT17b3B0LmlkfT5cbiAqICAgICAgIHtvcHQubGFiZWx9XG4gKiAgICAgPC9Ecm9wZG93bk9wdGlvbj5cbiAqICAgKSl9XG4gKiA8L0Ryb3Bkb3duPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogLy8gV2l0aCBjdXN0b20gcHJvcHMgZm9yIHN1Yi1jb21wb25lbnRzIGFuZCBmb3JjZWQgdXB3YXJkIHBsYWNlbWVudFxuICogPERyb3Bkb3duXG4gKiAgIHNlbGVjdGVkSXRlbT17c2VsZWN0ZWR9XG4gKiAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gKiAgIGRyb3Bkb3duUHJvcHM9e3tcbiAqICAgICBiYXNlOiB7IGlkOiAnbXktZHJvcGRvd24nIH0sXG4gKiAgICAgdG9nZ2xlQnV0dG9uOiB7ICdkYXRhLXRlc3RpZCc6ICdkcm9wZG93bi10b2dnbGUnIH0sXG4gKiAgICAgdG9nZ2xlQnV0dG9uQXJyb3c6IHsgY2xhc3NOYW1lOiAnY3VzdG9tLWFycm93JyB9LFxuICogICAgIGRyb3Bkb3duUG9zaXRpb246IERyb3Bkb3duUG9zaXRpb25zLnRvcCxcbiAqICAgfX1cbiAqID5cbiAqICAge29wdGlvbnMubWFwKG9wdCA9PiAoXG4gKiAgICAgPERyb3Bkb3duT3B0aW9uIGtleT17b3B0LmlkfSB2YWx1ZT17b3B0LmlkfT5cbiAqICAgICAgIHtvcHQubGFiZWx9XG4gKiAgICAgPC9Ecm9wZG93bk9wdGlvbj5cbiAqICAgKSl9XG4gKiA8L0Ryb3Bkb3duPlxuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgRHJvcGRvd25PcHRpb259IC0gQ2hpbGQgY29tcG9uZW50IGZvciBpbmRpdmlkdWFsIG9wdGlvbnNcbiAqIEBzZWUge0BsaW5rIERyb3Bkb3duVG9nZ2xlfSAtIFRvZ2dsZSBidXR0b24gY29tcG9uZW50XG4gKiBAc2VlIHtAbGluayBEcm9wZG93bk9wdGlvbnN9IC0gT3B0aW9ucyBtZW51IGNvbnRhaW5lclxuICpcbiAqIEBhY2Nlc3NpYmlsaXR5XG4gKiAtIEFSSUEgYXR0cmlidXRlcyBzZXQgYWNjb3JkaW5nIHRvIFdBSS1BUklBIGNvbWJvYm94IHBhdHRlcm5cbiAqIC0gS2V5Ym9hcmQgbmF2aWdhdGlvbiAoQXJyb3cga2V5cywgRW50ZXIsIEVzY2FwZSlcbiAqIC0gQ2xpY2sgb3V0c2lkZSB0byBjbG9zZVxuICogLSBTY3JlZW4gcmVhZGVyIGZyaWVuZGx5XG4gKiAtIEZvY3VzIG1hbmFnZW1lbnRcbiAqXG4gKiBAc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvQVJJQS9hcGcvZXhhbXBsZS1pbmRleC9jb21ib2JveC9jb21ib2JveC1zZWxlY3Qtb25seS5odG1sXG4gKi9cbmNvbnN0IERyb3Bkb3duID0gPFQgZXh0ZW5kcyBEcm9wZG93bk9wdGlvblByb3BzPih7XG4gIHNlbGVjdGVkSXRlbSxcbiAgZGlzYWJsZWQsXG4gIGlzRGlzYWJsZWQsXG4gIGlzT3BlbjogaXNJbml0T3BlbixcbiAgY2hpbGRyZW4sXG4gIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsXG4gIGNsYXNzTmFtZSxcbiAgcGxhY2Vob2xkZXIgPSAnU2VsZWN0IHNvbWV0aGluZycsXG4gIG1heEhlaWdodCA9IDIwMCxcbiAgYXZhdGFyQm9yZGVyID0gZmFsc2UsXG4gIGxhYmVsLFxuICBsYWJlbEJhZGdlLFxuICBoZWxwZXJUZXh0LFxuICBlcnJvcnMsXG4gIHN1Y2Nlc3MsXG4gIGljb24sXG4gIHdpZHRoLFxuICBzZWFyY2hhYmxlID0gZmFsc2UsXG4gIHNlYXJjaFBsYWNlaG9sZGVyID0gJ1NlYXJjaCcsXG4gIHNlYXJjaEVtcHR5U3RhdGUgPSAnTm8gcmVzdWx0cyBmb3VuZCcsXG4gIGRyb3Bkb3duUHJvcHM6IGNvbXBvbmVudFByb3BzLFxufTogRHJvcGRvd25Qcm9wczxUPikgPT4ge1xuICBjb25zdCBpc0Ryb3Bkb3duRGlzYWJsZWQgPSByZXNvbHZlRGlzYWJsZWQoJ0Ryb3Bkb3duJywgZGlzYWJsZWQsIGlzRGlzYWJsZWQpO1xuICBjb25zdCBzdGF0dXMgPSBzdWNjZXNzID8gJ3N1Y2Nlc3MnIDogZXJyb3JzID8gJ2Vycm9yJyA6ICdiYXNpYyc7XG4gIGNvbnN0IHsgZHJvcGRvd25Qb3NpdGlvbiA9IERyb3Bkb3duUG9zaXRpb25zLmF1dG8gfSA9IGNvbXBvbmVudFByb3BzID8/IHt9O1xuICAvLyBgd2lkdGhgIGhhcyBubyBkZWZhdWx0OiB3aXRob3V0IGl0IGV2ZXJ5IGxldmVsIGtlZXBzIHNocmluay13cmFwcGluZywgd2hpY2hcbiAgLy8gaXMgdGhlIGhpc3RvcmljYWwgYmVoYXZpb3VyLiBXaGVuIHNldCwgYWxsIHRocmVlIG5lc3RlZCBsZXZlbHNcbiAgLy8gKHdyYXBwZXIgLT4gYmFzZSAtPiB0b2dnbGUpIGhhdmUgdG8gYmUgc3RyZXRjaGVkIOKAlCBzaXppbmcgb25seSBvbmUgaXMgYVxuICAvLyBuby1vcCwgYmVjYXVzZSB0aGUgbGV2ZWwgYWJvdmUgaXQgaXMgc3RpbGwgc2l6ZWQgdG8gaXRzIGNvbnRlbnQuXG4gIC8vXG4gIC8vIE9ubHkgdGhlIG91dGVybW9zdCBsZXZlbCBnZXRzIHRoZSByZXF1ZXN0ZWQgdmFsdWU7IHRoZSBpbm5lciB0d28gZ2V0IDEwMCUuXG4gIC8vIFJlcGVhdGluZyB0aGUgdmFsdWUgd291bGQgY29tcG91bmQgcmVsYXRpdmUgdW5pdHM6IGB3aWR0aD1cIjYwJVwiYCB3b3VsZFxuICAvLyBvdGhlcndpc2UgcmVuZGVyIHRoZSBiYXNlIGF0IDYwJSBvZiB0aGUgd3JhcHBlciBhbmQgdGhlIHRvZ2dsZSBhdCA2MCUgb2ZcbiAgLy8gdGhhdCwgaS5lLiAyMS42JSBvZiB0aGUgY29udGFpbmVyLlxuICAvL1xuICAvLyBTcHJlYWQgcmF0aGVyIHRoYW4gcGFzc2VkIGFzIGBjc3M9ey4uLn1gOiBFbW90aW9uIHdyYXBzIGFuIGVsZW1lbnQgd2hlbmV2ZXJcbiAgLy8gYGNzc2AgaXMgcHJlc2VudCBpbiBpdHMgcHJvcHMsIGV2ZW4gd2hlbiBpdHMgdmFsdWUgaXMgdW5kZWZpbmVkLCBhbmQgdGhhdFxuICAvLyByZS1zZXJpYWxpemVzIGFueSBpbmNvbWluZyBgY2xhc3NOYW1lYCAoZS5nLiBmcm9tIGBzdHlsZWQoRHJvcGRvd24pYCkuXG4gIC8vIE9taXR0aW5nIHRoZSBrZXkga2VlcHMgdGhlIG5vLXdpZHRoIHBhdGggaWRlbnRpY2FsIHRvIHdyaXRpbmcgbm8gYGNzc2AgcHJvcC5cbiAgY29uc3Qgd3JhcHBlckNzc1Byb3BzID0gd2lkdGggPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHsgY3NzOiB7IHdpZHRoIH0gfTtcbiAgY29uc3QgYmFzZUNzc1Byb3BzID1cbiAgICB3aWR0aCA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogeyBjc3M6IHsgd2lkdGg6ICcxMDAlJyB9IH07XG4gIGNvbnN0IHRvZ2dsZUNzc1Byb3BzID1cbiAgICB3aWR0aCA9PT0gdW5kZWZpbmVkXG4gICAgICA/IHVuZGVmaW5lZFxuICAgICAgOiB7IGNzczogW3sgd2lkdGg6ICcxMDAlJyB9LCBjb21wb25lbnRQcm9wcz8udG9nZ2xlQnV0dG9uPy5jc3NdIH07XG5cbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuICBjb25zdCBkcm9wZG93blJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IGxpc3RSZWYgPSB1c2VSZWY8SFRNTFVMaXN0RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHRvZ2dsZVJlZiA9IHVzZVJlZjxIVE1MQnV0dG9uRWxlbWVudD4obnVsbCk7XG5cbiAgY29uc3QgZHJvcGRvd25JZCA9IHVzZUlkKCk7XG4gIC8vIE5hbWVzIHRoZSB0b2dnbGU7IGxlZnQgb3V0IHdpdGhvdXQgYSBsYWJlbCwgc28gaXQgbmV2ZXIgcG9pbnRzIGF0IGFcbiAgLy8gbWlzc2luZyBlbGVtZW50LlxuICBjb25zdCBsYWJlbElkID0gbGFiZWwgPyBgZHJvcGRvd24tbGFiZWwtJHtkcm9wZG93bklkfWAgOiB1bmRlZmluZWQ7XG4gIGNvbnN0IGJhZGdlID1cbiAgICBsYWJlbCAmJiBsYWJlbEJhZGdlXG4gICAgICA/IHsgLi4ubGFiZWxCYWRnZSwgaWQ6IGBkcm9wZG93bi1iYWRnZS0ke2Ryb3Bkb3duSWR9YCB9XG4gICAgICA6IHVuZGVmaW5lZDtcblxuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoaXNJbml0T3BlbiB8fCBmYWxzZSk7XG4gIGNvbnN0IFtjb2xvcnMsIHNldENvbG9yc10gPSB1c2VTdGF0ZTxBcnJheTxzdHJpbmcgfCB1bmRlZmluZWQ+PihbXSk7XG4gIGNvbnN0IFthY3RpdmVJdGVtLCBzZXRBY3RpdmVJdGVtXSA9IHVzZVN0YXRlPFQgfCB1bmRlZmluZWQ+KHNlbGVjdGVkSXRlbSk7XG4gIGNvbnN0IFtwbGFjZW1lbnQsIHNldFBsYWNlbWVudF0gPSB1c2VTdGF0ZTwndG9wJyB8ICdib3R0b20nPignYm90dG9tJyk7XG4gIC8vIEhpZ2hsaWdodGVkIG9wdGlvbi4gRm9jdXMgc3RheXMgb24gdGhlIHRvZ2dsZSAodGhlIGNvbWJvYm94KSwgd2hpY2hcbiAgLy8gZHJpdmVzIHRoZSBsaXN0IGFuZCBwb2ludHMgYXQgdGhlIG9wdGlvbiB3aXRoIGFyaWEtYWN0aXZlZGVzY2VuZGFudC5cbiAgY29uc3QgW2FjdGl2ZVZhbHVlLCBzZXRBY3RpdmVWYWx1ZV0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudW1iZXIgfCBudWxsPihudWxsKTtcbiAgY29uc3QgbGlzdElkID0gYGRyb3Bkb3duLXBvcHVwLSR7ZHJvcGRvd25JZH1gO1xuICAvLyBTZWFyY2ggdGV4dDsgb25seSB1c2VkIHdpdGggYHNlYXJjaGFibGVgLCBjbGVhcmVkIG9uIGNsb3NlLlxuICBjb25zdCBbcXVlcnksIHNldFF1ZXJ5XSA9IHVzZVN0YXRlKCcnKTtcblxuICBjb25zdCBjbG9zZSA9ICgpID0+IHtcbiAgICBzZXRJc09wZW4oZmFsc2UpO1xuICAgIHNldEFjdGl2ZVZhbHVlKG51bGwpO1xuICAgIHNldFF1ZXJ5KCcnKTtcbiAgICAvLyBUaGUgc2VhcmNoIGJveCB1bm1vdW50cyB3aXRoIHRoZSBsaXN0OyBoYW5kIGZvY3VzIGJhY2sgdG8gdGhlIHRvZ2dsZVxuICAgIC8vIHJhdGhlciB0aGFuIGRyb3BwaW5nIGl0IG9uIDxib2R5Pi5cbiAgICBpZiAoXG4gICAgICBzZWFyY2hhYmxlICYmXG4gICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSB0b2dnbGVSZWYuY3VycmVudCAmJlxuICAgICAgZHJvcGRvd25SZWYuY3VycmVudD8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudClcbiAgICApIHtcbiAgICAgIHRvZ2dsZVJlZi5jdXJyZW50Py5mb2N1cygpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvbkNoYW5nZTogRHJvcGRvd25Db250ZXh0VHlwZVsnb25DaGFuZ2UnXSA9IChpdGVtKSA9PiB7XG4gICAgY29uc3QgaW5uZXJJdGVtID0gb3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBpdGVtKVswXTtcblxuICAgIGNsb3NlKCk7XG5cbiAgICBpZiAoaXNEcm9wZG93bkRpc2FibGVkIHx8ICFpbm5lckl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaW5uZXJJdGVtLnZhbHVlID09PSBhY3RpdmVJdGVtPy52YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldEFjdGl2ZUl0ZW0oaW5uZXJJdGVtKTtcbiAgICBpZiAoaGFuZGxlQ2hhbmdlKSB7XG4gICAgICBoYW5kbGVDaGFuZ2UoaW5uZXJJdGVtKTtcbiAgICB9XG4gIH07XG5cbiAgdXNlQ2xpY2tPdXRzaWRlKGRyb3Bkb3duUmVmLCAoKSA9PiBpc09wZW4gJiYgY2xvc2UoKSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNEcm9wZG93bkRpc2FibGVkKSB7XG4gICAgICBzZXRDb2xvcnMoW3RoZW1lLmNvbG9ycy5ncmV5RGFya2VyNjAsIHRoZW1lLmNvbG9ycy5ncmV5MjBdKTtcbiAgICB9IGVsc2UgaWYgKGlzT3Blbikge1xuICAgICAgc2V0Q29sb3JzKFt0aGVtZS5jb2xvcnMud2hpdGUsIHRoZW1lLmNvbG9ycy53aGl0ZTYwXSk7XG4gICAgfSBlbHNlIGlmIChpc0ZvY3VzZWQpIHtcbiAgICAgIHNldENvbG9ycyhbdGhlbWUuY29sb3JzLmdyZXlEYXJrZXIsIHRoZW1lLmNvbG9ycy5ncmV5RGFya2VyNjBdKTtcbiAgICB9XG4gIH0sIFtpc09wZW4sIGlzRHJvcGRvd25EaXNhYmxlZCwgaXNGb2N1c2VkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRBY3RpdmVJdGVtKHNlbGVjdGVkSXRlbSk7XG4gIH0sIFtzZWxlY3RlZEl0ZW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc0Ryb3Bkb3duRGlzYWJsZWQgJiYgaXNPcGVuKSB7XG4gICAgICBjbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzRHJvcGRvd25EaXNhYmxlZF0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc09wZW4gfHwgIWRyb3Bkb3duUmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIGlmIChkcm9wZG93blBvc2l0aW9uICE9PSBEcm9wZG93blBvc2l0aW9ucy5hdXRvKSB7XG4gICAgICBzZXRQbGFjZW1lbnQoZHJvcGRvd25Qb3NpdGlvbik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVjdCA9IGRyb3Bkb3duUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgLy8gV2l0aCBzZWFyY2ggdGhlIGxpc3Qgc2l0cyBpbiBhIGNhcmQgdW5kZXIgdGhlIHNlYXJjaCBib3guXG4gICAgY29uc3QgcG9wdXAgPSBzZWFyY2hhYmxlID8gbGlzdFJlZi5jdXJyZW50Py5wYXJlbnRFbGVtZW50IDogbGlzdFJlZi5jdXJyZW50O1xuICAgIGNvbnN0IGxpc3RIZWlnaHQgPSBwb3B1cD8ub2Zmc2V0SGVpZ2h0IHx8IG1heEhlaWdodDtcbiAgICBjb25zdCBzcGFjZUJlbG93ID0gd2luZG93LmlubmVySGVpZ2h0IC0gcmVjdC5ib3R0b207XG4gICAgc2V0UGxhY2VtZW50KHNwYWNlQmVsb3cgPCBsaXN0SGVpZ2h0ID8gJ3RvcCcgOiAnYm90dG9tJyk7XG4gIH0sIFtpc09wZW5dKTtcblxuICBjb25zdCBjaGlsZHJlbkFycmF5ID0gUmVhY3QuQ2hpbGRyZW4udG9BcnJheShjaGlsZHJlbikuZmlsdGVyKEJvb2xlYW4pO1xuICAvLyBHcm91cHMgdW53cmFwcGVkOiB3aGF0IGBvbkNoYW5nZWAgY2FuIHBpY2sgZnJvbS5cbiAgY29uc3Qgb3B0aW9ucyA9IGZsYXR0ZW5Ecm9wZG93bk9wdGlvbnMoY2hpbGRyZW5BcnJheSkubWFwKFxuICAgIChvcHRpb24pID0+IG9wdGlvbi5wcm9wcyBhcyB1bmtub3duIGFzIFQsXG4gICk7XG5cbiAgY29uc3QgdmlzaWJsZUNoaWxkcmVuID0gc2VhcmNoYWJsZVxuICAgID8gZmlsdGVyRHJvcGRvd25PcHRpb25zKGNoaWxkcmVuQXJyYXksIHF1ZXJ5KVxuICAgIDogY2hpbGRyZW5BcnJheTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBjb25zdCBpdGVtcyA9ICh2aXNpYmxlQ2hpbGRyZW4gYXMgUmVhY3QuUmVhY3RFbGVtZW50PGFueT5bXSkubWFwKFxuICAgIChjaGlsZCwgaW5kZXgpID0+IHtcbiAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGQsIHtcbiAgICAgICAgaW5kZXgsXG4gICAgICAgIG9uQ2xpY2s6IG9uQ2hhbmdlLmJpbmQodGhpcyksXG4gICAgICAgIC4uLmNoaWxkLnByb3BzLFxuICAgICAgfSk7XG4gICAgfSxcbiAgKTtcblxuICBjb25zdCBtZW51SXRlbXMgPSB0b0Ryb3Bkb3duTWVudUl0ZW1zKHZpc2libGVDaGlsZHJlbik7XG5cbiAgLyoqIFRoZSBzZWxlY3RlZCBvcHRpb24gaWYgbGlzdGVkLCBlbHNlIHRoZSBmaXJzdCAob3IgbGFzdCwgZm9yIEFycm93VXApLiAqL1xuICBjb25zdCBnZXRJbml0aWFsQWN0aXZlVmFsdWUgPSAoXG4gICAgZW50cmllczogdHlwZW9mIG1lbnVJdGVtcyxcbiAgICBrZXkgPSAnQXJyb3dEb3duJyxcbiAgKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBmbGF0dGVuSXRlbXMoZW50cmllcykuZmluZChcbiAgICAgIChpdGVtKSA9PiAhaXRlbS5kaXNhYmxlZCAmJiBpdGVtLnZhbHVlID09PSBhY3RpdmVJdGVtPy52YWx1ZSxcbiAgICApO1xuICAgIHJldHVybiBzZWxlY3RlZD8udmFsdWUgPz8gZ2V0TmV4dEFjdGl2ZVZhbHVlKGVudHJpZXMsIG51bGwsIGtleSkgPz8gbnVsbDtcbiAgfTtcblxuICAvKiogT3BlbnMgd2l0aCB0aGUgc2VsZWN0ZWQgb3B0aW9uIGhpZ2hsaWdodGVkLCBlbHNlIHBlciB0aGUga2V5IHByZXNzZWQuICovXG4gIGNvbnN0IG9wZW4gPSAoa2V5ID0gJ0Fycm93RG93bicpID0+IHtcbiAgICBzZXRJc09wZW4odHJ1ZSk7XG4gICAgc2V0QWN0aXZlVmFsdWUoZ2V0SW5pdGlhbEFjdGl2ZVZhbHVlKG1lbnVJdGVtcywga2V5KSk7XG4gIH07XG5cbiAgY29uc3QgdG9nZ2xlS2V5cyA9IHVzZVRvZ2dsZUxpc3RLZXlzKHtcbiAgICBsaXN0SWQsXG4gICAgaXNPcGVuLFxuICAgIGRpc2FibGVkOiBpc0Ryb3Bkb3duRGlzYWJsZWQsXG4gICAgbWVudUl0ZW1zLFxuICAgIGFjdGl2ZVZhbHVlLFxuICAgIHNldEFjdGl2ZVZhbHVlLFxuICAgIG9wZW4sXG4gICAgY2xvc2UsXG4gICAgb25QaWNrOiAodmFsdWUpID0+IG9uQ2hhbmdlKHZhbHVlIGFzIHN0cmluZyksXG4gICAgb25LZXlEb3duOiBjb21wb25lbnRQcm9wcz8udG9nZ2xlQnV0dG9uPy5vbktleURvd24sXG4gICAgb25LZXlVcDogY29tcG9uZW50UHJvcHM/LnRvZ2dsZUJ1dHRvbj8ub25LZXlVcCxcbiAgfSk7XG5cbiAgLy8gVGhlIHNlYXJjaCBib3ggZHJpdmVzIHRoZSBsaXN0IHdoaWxlIGl0IGlzIG9wZW4uXG4gIGNvbnN0IHNlYXJjaEtleXMgPSB1c2VUb2dnbGVMaXN0S2V5czxIVE1MSW5wdXRFbGVtZW50Pih7XG4gICAgbGlzdElkLFxuICAgIGlzT3BlbixcbiAgICBkaXNhYmxlZDogaXNEcm9wZG93bkRpc2FibGVkLFxuICAgIG1lbnVJdGVtcyxcbiAgICBhY3RpdmVWYWx1ZSxcbiAgICBzZXRBY3RpdmVWYWx1ZSxcbiAgICBvcGVuLFxuICAgIGNsb3NlLFxuICAgIG9uUGljazogKHZhbHVlKSA9PiBvbkNoYW5nZSh2YWx1ZSBhcyBzdHJpbmcpLFxuICAgIHR5cGluZzogdHJ1ZSxcbiAgICAvLyBFc2NhcGUgY2xlYXJzIHRoZSBzZWFyY2ggZmlyc3QsIHRoZW4gY2xvc2VzLlxuICAgIG9uS2V5RG93bjogKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJyAmJiBxdWVyeSkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBjaGFuZ2VRdWVyeSgnJyk7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG5cbiAgLyoqIFVwZGF0ZXMgdGhlIHNlYXJjaCBhbmQgbW92ZXMgdGhlIGhpZ2hsaWdodCB0byBzdWl0IGl0LiAqL1xuICBjb25zdCBjaGFuZ2VRdWVyeSA9IChuZXh0OiBzdHJpbmcpID0+IHtcbiAgICBzZXRRdWVyeShuZXh0KTtcbiAgICBjb25zdCBtYXRjaGVzID0gdG9Ecm9wZG93bk1lbnVJdGVtcyhcbiAgICAgIGZpbHRlckRyb3Bkb3duT3B0aW9ucyhjaGlsZHJlbkFycmF5LCBuZXh0KSxcbiAgICApO1xuICAgIC8vIEEgY2xlYXJlZCBzZWFyY2ggZ29lcyBiYWNrIHRvIHdoZXJlIG9wZW5pbmcgc3RhcnRzOyBhIHNlYXJjaCB0byBpdHNcbiAgICAvLyBmaXJzdCBtYXRjaC5cbiAgICBzZXRBY3RpdmVWYWx1ZShcbiAgICAgIG5leHQudHJpbSgpXG4gICAgICAgID8gKGdldE5leHRBY3RpdmVWYWx1ZShtYXRjaGVzLCBudWxsLCAnQXJyb3dEb3duJykgPz8gbnVsbClcbiAgICAgICAgOiBnZXRJbml0aWFsQWN0aXZlVmFsdWUobWF0Y2hlcyksXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBjb250ZXh0VmFsdWU6IERyb3Bkb3duQ29udGV4dFR5cGUgPSBSZWFjdC51c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBvbkNoYW5nZSxcbiAgICAgIGFjdGl2ZUl0ZW0sXG4gICAgICBtYXhIZWlnaHQsXG4gICAgICBsaXN0UmVmLFxuICAgICAgcGxhY2VtZW50LFxuICAgICAgYWN0aXZlVmFsdWUsXG4gICAgICBzZXRBY3RpdmVWYWx1ZSxcbiAgICAgIHNlYXJjaGFibGUsXG4gICAgICBlbXB0eVN0YXRlOiBxdWVyeSA/IHNlYXJjaEVtcHR5U3RhdGUgOiB1bmRlZmluZWQsXG4gICAgfSksXG4gICAgW1xuICAgICAgb25DaGFuZ2UsXG4gICAgICBhY3RpdmVJdGVtLFxuICAgICAgbWF4SGVpZ2h0LFxuICAgICAgcGxhY2VtZW50LFxuICAgICAgYWN0aXZlVmFsdWUsXG4gICAgICBzZWFyY2hhYmxlLFxuICAgICAgcXVlcnksXG4gICAgICBzZWFyY2hFbXB0eVN0YXRlLFxuICAgIF0sXG4gICk7XG5cbiAgY29uc3QgdmFsdWUgPSAoXG4gICAgYWN0aXZlSXRlbVxuICAgICAgPyBhY3RpdmVJdGVtLmxhYmVsIHx8XG4gICAgICAgIGFjdGl2ZUl0ZW0uY2hpbGRyZW4gfHxcbiAgICAgICAgYWN0aXZlSXRlbS52YWx1ZSB8fFxuICAgICAgICBhY3RpdmVJdGVtIHx8XG4gICAgICAgIHBsYWNlaG9sZGVyXG4gICAgICA6IHBsYWNlaG9sZGVyXG4gICkgYXMgUmVhY3ROb2RlO1xuXG4gIGNvbnN0IHJhd0F2YXRhciA9XG4gICAgYWN0aXZlSXRlbSAmJiAoYWN0aXZlSXRlbSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikuYXZhdGFyO1xuXG4gIGNvbnN0IHNlbGVjdGVkQXZhdGFyID0gIWlzTmlsbChyYXdBdmF0YXIpID8gKFxuICAgIHR5cGVvZiByYXdBdmF0YXIgPT09ICdzdHJpbmcnID8gKFxuICAgICAgPEF2YXRhclxuICAgICAgICBzaXplPXtBdmF0YXJTaXplcy5zbWFsbH1cbiAgICAgICAgaW1hZ2U9e3Jhd0F2YXRhcn1cbiAgICAgICAgYm9yZGVyPXthdmF0YXJCb3JkZXJ9XG4gICAgICAvPlxuICAgICkgOiBSZWFjdC5pc1ZhbGlkRWxlbWVudChyYXdBdmF0YXIpID8gKFxuICAgICAgKHJhd0F2YXRhciBhcyBSZWFjdE5vZGUpXG4gICAgKSA6IG51bGxcbiAgKSA6IG51bGw7XG5cbiAgY29uc3QgbGVhZGluZ0VsZW1lbnQgPSAhaXNOaWxsKHNlbGVjdGVkQXZhdGFyKSA/IChcbiAgICAoc2VsZWN0ZWRBdmF0YXIgYXMgUmVhY3ROb2RlKVxuICApIDogaWNvbiA/IChcbiAgICA8SWNvblxuICAgICAgbmFtZT17aWNvbn1cbiAgICAgIHNpemU9ezE2fVxuICAgICAgY29sb3I9e2lzRHJvcGRvd25EaXNhYmxlZCA/IHRoZW1lLmNvbG9ycy5ncmV5IDogdGhlbWUuY29sb3JzLmdyZXlEYXJrZXI4MH1cbiAgICAvPlxuICApIDogbnVsbDtcblxuICBjb25zdCB0b2dnbGVDb250ZW50ID0gIWlzTmlsbChsZWFkaW5nRWxlbWVudCkgPyAoXG4gICAgPFNlbGVjdGVkQ29udGVudD5cbiAgICAgIDxMZWFkaW5nRWxlbWVudD57bGVhZGluZ0VsZW1lbnR9PC9MZWFkaW5nRWxlbWVudD5cbiAgICAgIDxTZWxlY3RlZExhYmVsPnt2YWx1ZX08L1NlbGVjdGVkTGFiZWw+XG4gICAgPC9TZWxlY3RlZENvbnRlbnQ+XG4gICkgOiAoXG4gICAgPFNlbGVjdGVkTGFiZWw+e3ZhbHVlfTwvU2VsZWN0ZWRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxEcm9wZG93bkZpZWxkV3JhcHBlciB7Li4ud3JhcHBlckNzc1Byb3BzfT5cbiAgICAgIHtsYWJlbCA/IChcbiAgICAgICAgPExhYmVsIGlkPXtsYWJlbElkfSBkaXNhYmxlZD17aXNEcm9wZG93bkRpc2FibGVkfSBiYWRnZT17YmFkZ2V9PlxuICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9MYWJlbD5cbiAgICAgICkgOiBudWxsfVxuICAgICAgPERyb3Bkb3duQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17Y29udGV4dFZhbHVlfT5cbiAgICAgICAgPERyb3Bkb3duQmFzZVxuICAgICAgICAgIHsuLi5jb21wb25lbnRQcm9wcz8uYmFzZX1cbiAgICAgICAgICB7Li4uYmFzZUNzc1Byb3BzfVxuICAgICAgICAgIHJlZj17ZHJvcGRvd25SZWZ9XG4gICAgICAgICAgZGF0YS10ZXN0aWQ9XCJkcm9wZG93blwiPlxuICAgICAgICAgIDxEcm9wZG93blRvZ2dsZVxuICAgICAgICAgICAgey4uLmNvbXBvbmVudFByb3BzPy50b2dnbGVCdXR0b259XG4gICAgICAgICAgICB7Li4udG9nZ2xlQ3NzUHJvcHN9XG4gICAgICAgICAgICByZWY9e3RvZ2dsZVJlZn1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgaXNPcGVuPXtpc09wZW59XG4gICAgICAgICAgICBkaXNhYmxlZD17aXNEcm9wZG93bkRpc2FibGVkfVxuICAgICAgICAgICAgc3RhdHVzPXtzdGF0dXN9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiAoaXNPcGVuID8gY2xvc2UoKSA6IG9wZW4oKSl9XG4gICAgICAgICAgICB7Li4udG9nZ2xlS2V5c31cbiAgICAgICAgICAgIG9uRm9jdXM9e3NldElzRm9jdXNlZC5iaW5kKG51bGwsIHRydWUpfVxuICAgICAgICAgICAgY29sb3JzPXtjb2xvcnN9XG4gICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e2xhYmVsSWR9XG4gICAgICAgICAgICB7Li4uKGJhZGdlICYmIHsgJ2FyaWEtZGVzY3JpYmVkYnknOiBiYWRnZS5pZCB9KX1cbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e2xpc3RJZH0+XG4gICAgICAgICAgICB7dG9nZ2xlQ29udGVudH1cbiAgICAgICAgICAgIDxEcm9wZG93bkFycm93XG4gICAgICAgICAgICAgIHsuLi5jb21wb25lbnRQcm9wcz8udG9nZ2xlQnV0dG9uQXJyb3d9XG4gICAgICAgICAgICAgIGlzVXA9e2lzT3Blbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Ecm9wZG93blRvZ2dsZT5cblxuICAgICAgICAgIHtpc09wZW4gJiYgc2VhcmNoYWJsZSA/IChcbiAgICAgICAgICAgIDxEcm9wZG93blNlYXJjaFxuICAgICAgICAgICAgICB7Li4uc2VhcmNoS2V5c31cbiAgICAgICAgICAgICAgcXVlcnk9e3F1ZXJ5fVxuICAgICAgICAgICAgICBvblF1ZXJ5Q2hhbmdlPXtjaGFuZ2VRdWVyeX1cbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3NlYXJjaFBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICBsaXN0SWQ9e2xpc3RJZH1cbiAgICAgICAgICAgICAgcGxhY2VtZW50PXtwbGFjZW1lbnR9PlxuICAgICAgICAgICAgICA8RHJvcGRvd25PcHRpb25zIGlkPXtsaXN0SWR9PntpdGVtc308L0Ryb3Bkb3duT3B0aW9ucz5cbiAgICAgICAgICAgIDwvRHJvcGRvd25TZWFyY2g+XG4gICAgICAgICAgKSA6IGlzT3BlbiA/IChcbiAgICAgICAgICAgIDxEcm9wZG93bk9wdGlvbnMgaWQ9e2xpc3RJZH0+e2l0ZW1zfTwvRHJvcGRvd25PcHRpb25zPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L0Ryb3Bkb3duQmFzZT5cbiAgICAgIDwvRHJvcGRvd25Db250ZXh0LlByb3ZpZGVyPlxuICAgICAge2hlbHBlclRleHQgfHwgZXJyb3JzID8gKFxuICAgICAgICA8Rm9ybUhlbHBlclRleHRcbiAgICAgICAgICByb2xlPVwic3RhdHVzXCJcbiAgICAgICAgICBzdGF0dXM9e3N0YXR1c31cbiAgICAgICAgICBkaXNhYmxlZD17aXNEcm9wZG93bkRpc2FibGVkfT5cbiAgICAgICAgICB7ZXJyb3JzPy5tZXNzYWdlIHx8IGhlbHBlclRleHR9XG4gICAgICAgIDwvRm9ybUhlbHBlclRleHQ+XG4gICAgICApIDogbnVsbH1cbiAgICA8L0Ryb3Bkb3duRmllbGRXcmFwcGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRHJvcGRvd247XG4iXX0= */",
|
|
28540
28678
|
toString: Dropdown_EMOTION_STRINGIFIED_CSS_ERROR_
|
|
28541
28679
|
});
|
|
28542
28680
|
|
|
@@ -28557,7 +28695,7 @@ const SelectedLabel = /*#__PURE__*/base_default()("span", process.env.NODE_ENV =
|
|
|
28557
28695
|
styles: "overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0"
|
|
28558
28696
|
} : {
|
|
28559
28697
|
name: "1soau38",
|
|
28560
|
-
styles: "overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9Ecm9wZG93bi9Ecm9wZG93bi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUVpQyIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91aS1raXQvdWkta2l0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVN0YXRlLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlUmVmLFxuICB1c2VJZCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IHVzZUNsaWNrT3V0c2lkZSB9IGZyb20gJ0Bzc2EtdWkta2l0L2hvb2tzJztcbmltcG9ydCB7IGlzTmlsbCB9IGZyb20gJ0Bzc2EtdWkta2l0L3V0aWxzJztcblxuaW1wb3J0IERyb3Bkb3duVG9nZ2xlIGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duVG9nZ2xlJztcbmltcG9ydCBEcm9wZG93bkFycm93IGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duQXJyb3cnO1xuaW1wb3J0IERyb3Bkb3duT3B0aW9ucyBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMnO1xuaW1wb3J0IHtcbiAgZmxhdHRlbkRyb3Bkb3duT3B0aW9ucyxcbiAgdG9Ecm9wZG93bk1lbnVJdGVtcyxcbn0gZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25PcHRpb25zL3V0aWxzJztcbmltcG9ydCB7IHVzZVRvZ2dsZUxpc3RLZXlzIH0gZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25PcHRpb25zL3VzZVRvZ2dsZUxpc3RLZXlzJztcbmltcG9ydCB7IGdldE5leHRBY3RpdmVWYWx1ZSB9IGZyb20gJ0Bjb21wb25lbnRzL0NvbnRleHRNZW51JztcbmltcG9ydCB7IGZsYXR0ZW5JdGVtcyB9IGZyb20gJ0Bjb21wb25lbnRzL0NvbnRleHRNZW51L3V0aWxzJztcbmltcG9ydCBBdmF0YXIsIHsgQXZhdGFyU2l6ZXMgfSBmcm9tICdAY29tcG9uZW50cy9BdmF0YXInO1xuaW1wb3J0IEljb24gZnJvbSAnQGNvbXBvbmVudHMvSWNvbic7XG5pbXBvcnQgTGFiZWwgZnJvbSAnQGNvbXBvbmVudHMvTGFiZWwnO1xuaW1wb3J0IEZvcm1IZWxwZXJUZXh0IGZyb20gJ0Bjb21wb25lbnRzL0Zvcm1IZWxwZXJUZXh0JztcbmltcG9ydCBEcm9wZG93bkNvbnRleHQgZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24uY29udGV4dCc7XG5pbXBvcnQgeyByZXNvbHZlRGlzYWJsZWQgfSBmcm9tICdAdXRpbHMvZGVwcmVjYXRpb24nO1xuaW1wb3J0IHsgRHJvcGRvd25PcHRpb25Qcm9wcyB9IGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duT3B0aW9ucy90eXBlcyc7XG5cbmltcG9ydCB7IERyb3Bkb3duQ29udGV4dFR5cGUsIERyb3Bkb3duUG9zaXRpb25zLCBEcm9wZG93blByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qXG4gKiBCb3RoIGxldmVscyBhcmUgc2hyaW5rLXRvLWZpdCwgYW5kIGEgc2hyaW5rLXRvLWZpdCBib3ggc2l6ZXMgdG8gaXRzXG4gKiBtaW4tY29udGVudCB3aGVuIHRoYXQgZXhjZWVkcyB0aGUgc3BhY2UgYXZhaWxhYmxlIC0tIGZvciBhIG5vd3JhcCBsYWJlbCB0aGF0XG4gKiBpcyB0aGUgZW50aXJlIHN0cmluZywgc28gdGhlIGRyb3Bkb3duIHdvdWxkIGdyb3cgcGFzdCBpdHMgY29udGFpbmVyIGluc3RlYWRcbiAqIG9mIGVsbGlwc2lzaW5nLiBgbWF4LXdpZHRoOiAxMDAlYCBnaXZlcyBlYWNoIGxldmVsIGEgZGVmaW5pdGUgd2lkdGggdG9cbiAqIHJlc29sdmUgYWdhaW5zdCwgd2hpY2ggaXMgd2hhdCBhY3R1YWxseSBsZXRzIHRoZSBsYWJlbCBjbGlwLlxuICovXG5jb25zdCBEcm9wZG93bkZpZWxkV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CYXNlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogMTAwJTtcbmA7XG5cbmNvbnN0IFNlbGVjdGVkQ29udGVudCA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIG1pbi13aWR0aDogMDtcbmA7XG5cbi8qKlxuICogS2VlcHMgdGhlIHNlbGVjdGVkIHZhbHVlIG9uIGEgc2luZ2xlIGxpbmUgYW5kIGVsbGlwc2lzZXMgaXQuIFdpdGhvdXQgdGhpcyB0aGVcbiAqIGxhYmVsIHdyYXBzIGFuZCwgYmVjYXVzZSB0aGUgdG9nZ2xlIGlzIGEgZml4ZWQgNDRweCwgc3BpbGxzIGFib3ZlIGFuZCBiZWxvd1xuICogdGhlIGJvcmRlci4gYG1pbi13aWR0aDogMGAgaXMgd2hhdCBsZXRzIHRoZSB0b2dnbGUgc2hyaW5rIGJlbG93IHRoZSBsYWJlbCdzXG4gKiBpbnRyaW5zaWMgd2lkdGggYXQgYWxsIOKAlCBhIG5vd3JhcCBmbGV4IGl0ZW0gb3RoZXJ3aXNlIHJlcG9ydHMgaXRzIGZ1bGwgdGV4dFxuICogd2lkdGggYXMgaXRzIG1pbmltdW0sIHNvIHRoZSBkcm9wZG93biB3b3VsZCBrZWVwIGdyb3dpbmcgaW5zdGVhZCBvZiBjbGlwcGluZy5cbiAqL1xuY29uc3QgU2VsZWN0ZWRMYWJlbCA9IHN0eWxlZC5zcGFuYFxuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgbWluLXdpZHRoOiAwO1xuYDtcblxuY29uc3QgTGVhZGluZ0VsZW1lbnQgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYDtcblxuLyoqXG4gKiBEcm9wZG93biAtIFNlbGVjdC1saWtlIGRyb3Bkb3duIGNvbXBvbmVudCBmb3Igc2luZ2xlIHNlbGVjdGlvblxuICpcbiAqIEEgZmxleGlibGUgZHJvcGRvd24gY29tcG9uZW50IHRoYXQgYWxsb3dzIHVzZXJzIHRvIHNlbGVjdCBvbmUgb3B0aW9uIGZyb21cbiAqIGEgbGlzdCBvZiBjaG9pY2VzLiBVc2VzIGEgY29tcG91bmQgY29tcG9uZW50IHBhdHRlcm4gd2l0aCBEcm9wZG93bk9wdGlvblxuICogY2hpbGRyZW4uIFByb3ZpZGVzIGtleWJvYXJkIG5hdmlnYXRpb24sIGFjY2Vzc2liaWxpdHkgZmVhdHVyZXMsIGNsaWNrLW91dHNpZGVcbiAqIHRvIGNsb3NlIGZ1bmN0aW9uYWxpdHksIGFuZCBhdXRvbWF0aWMgdmlld3BvcnQtYXdhcmUgcGxhY2VtZW50IG9mIHRoZSBvcHRpb25zIGxpc3QuXG4gKlxuICogT24gZXZlcnkgb3BlbiB0aGUgY29tcG9uZW50IG1lYXN1cmVzIGF2YWlsYWJsZSBzcGFjZSBiZWxvdyB0aGUgdG9nZ2xlIGJ1dHRvblxuICogYW5kIGZsaXBzIHRoZSBsaXN0IHVwd2FyZCB3aGVuIHRoZXJlIGlzIG5vdCBlbm91Z2ggcm9vbSwgcHJldmVudGluZyB0aGUgbGlzdFxuICogZnJvbSBiZWluZyBjbGlwcGVkIGJ5IHRoZSB2aWV3cG9ydCBlZGdlLiBUaGlzIGJlaGF2aW9yIGNhbiBiZSBvdmVycmlkZGVuIHZpYVxuICogZHJvcGRvd25Qcm9wcy5kcm9wZG93blBvc2l0aW9uLlxuICpcbiAqIENvbXBvbmVudCBzdHJ1Y3R1cmU6XG4gKiAtIERyb3Bkb3duIChyb290IGNvbnRhaW5lciB3aXRoIGNvbnRleHQpXG4gKiAgIC0gRHJvcGRvd25Ub2dnbGUgKGJ1dHRvbiB0aGF0IG9wZW5zL2Nsb3NlcyBkcm9wZG93bilcbiAqICAgLSBEcm9wZG93bk9wdGlvbnMgKG1lbnUgY29udGFpbmVyIHRoYXQgYXBwZWFycyB3aGVuIG9wZW4pXG4gKiAgICAgLSBEcm9wZG93bk9wdGlvbiAoaW5kaXZpZHVhbCBzZWxlY3RhYmxlIGl0ZW1zKVxuICpcbiAqIEBjYXRlZ29yeSBGb3JtIENvbnRyb2xzXG4gKiBAc3ViY2F0ZWdvcnkgU2VsZWN0aW9uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgaXRlbXMgPSBbXG4gKiAgIHsgaWQ6IDEsIHZhbHVlOiAnQXBwbGUnIH0sXG4gKiAgIHsgaWQ6IDIsIHZhbHVlOiAnQmFuYW5hJyB9LFxuICogICB7IGlkOiAzLCB2YWx1ZTogJ0NoZXJyeScgfSxcbiAqIF07XG4gKlxuICogPERyb3Bkb3duXG4gKiAgIHNlbGVjdGVkSXRlbT17aXRlbXNbMF19XG4gKiAgIG9uQ2hhbmdlPXsoaXRlbSkgPT4gaGFuZGxlU2VsZWN0aW9uKGl0ZW0pfVxuICogICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBhIGZydWl0XCJcbiAqID5cbiAqICAge2l0ZW1zLm1hcChpdGVtID0+IChcbiAqICAgICA8RHJvcGRvd25PcHRpb24ga2V5PXtpdGVtLmlkfSB2YWx1ZT17aXRlbS5pZH0+XG4gKiAgICAgICB7aXRlbS52YWx1ZX1cbiAqICAgICA8L0Ryb3Bkb3duT3B0aW9uPlxuICogICApKX1cbiAqIDwvRHJvcGRvd24+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiAvLyBDb250cm9sbGVkIG9wZW4gc3RhdGVcbiAqIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gKiA8RHJvcGRvd25cbiAqICAgaXNPcGVuPXtpc09wZW59XG4gKiAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gKiAgIHNlbGVjdGVkSXRlbT17c2VsZWN0ZWR9XG4gKiA+XG4gKiAgIHtvcHRpb25zLm1hcChvcHQgPT4gKFxuICogICAgIDxEcm9wZG93bk9wdGlvbiBrZXk9e29wdC5pZH0gdmFsdWU9e29wdC5pZH0+XG4gKiAgICAgICB7b3B0LmxhYmVsfVxuICogICAgIDwvRHJvcGRvd25PcHRpb24+XG4gKiAgICkpfVxuICogPC9Ecm9wZG93bj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIFdpdGggY3VzdG9tIHByb3BzIGZvciBzdWItY29tcG9uZW50cyBhbmQgZm9yY2VkIHVwd2FyZCBwbGFjZW1lbnRcbiAqIDxEcm9wZG93blxuICogICBzZWxlY3RlZEl0ZW09e3NlbGVjdGVkfVxuICogICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICogICBkcm9wZG93blByb3BzPXt7XG4gKiAgICAgYmFzZTogeyBpZDogJ215LWRyb3Bkb3duJyB9LFxuICogICAgIHRvZ2dsZUJ1dHRvbjogeyAnZGF0YS10ZXN0aWQnOiAnZHJvcGRvd24tdG9nZ2xlJyB9LFxuICogICAgIHRvZ2dsZUJ1dHRvbkFycm93OiB7IGNsYXNzTmFtZTogJ2N1c3RvbS1hcnJvdycgfSxcbiAqICAgICBkcm9wZG93blBvc2l0aW9uOiBEcm9wZG93blBvc2l0aW9ucy50b3AsXG4gKiAgIH19XG4gKiA+XG4gKiAgIHtvcHRpb25zLm1hcChvcHQgPT4gKFxuICogICAgIDxEcm9wZG93bk9wdGlvbiBrZXk9e29wdC5pZH0gdmFsdWU9e29wdC5pZH0+XG4gKiAgICAgICB7b3B0LmxhYmVsfVxuICogICAgIDwvRHJvcGRvd25PcHRpb24+XG4gKiAgICkpfVxuICogPC9Ecm9wZG93bj5cbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIERyb3Bkb3duT3B0aW9ufSAtIENoaWxkIGNvbXBvbmVudCBmb3IgaW5kaXZpZHVhbCBvcHRpb25zXG4gKiBAc2VlIHtAbGluayBEcm9wZG93blRvZ2dsZX0gLSBUb2dnbGUgYnV0dG9uIGNvbXBvbmVudFxuICogQHNlZSB7QGxpbmsgRHJvcGRvd25PcHRpb25zfSAtIE9wdGlvbnMgbWVudSBjb250YWluZXJcbiAqXG4gKiBAYWNjZXNzaWJpbGl0eVxuICogLSBBUklBIGF0dHJpYnV0ZXMgc2V0IGFjY29yZGluZyB0byBXQUktQVJJQSBjb21ib2JveCBwYXR0ZXJuXG4gKiAtIEtleWJvYXJkIG5hdmlnYXRpb24gKEFycm93IGtleXMsIEVudGVyLCBFc2NhcGUpXG4gKiAtIENsaWNrIG91dHNpZGUgdG8gY2xvc2VcbiAqIC0gU2NyZWVuIHJlYWRlciBmcmllbmRseVxuICogLSBGb2N1cyBtYW5hZ2VtZW50XG4gKlxuICogQHNlZSBodHRwczovL3d3dy53My5vcmcvV0FJL0FSSUEvYXBnL2V4YW1wbGUtaW5kZXgvY29tYm9ib3gvY29tYm9ib3gtc2VsZWN0LW9ubHkuaHRtbFxuICovXG5jb25zdCBEcm9wZG93biA9IDxUIGV4dGVuZHMgRHJvcGRvd25PcHRpb25Qcm9wcz4oe1xuICBzZWxlY3RlZEl0ZW0sXG4gIGRpc2FibGVkLFxuICBpc0Rpc2FibGVkLFxuICBpc09wZW46IGlzSW5pdE9wZW4sXG4gIGNoaWxkcmVuLFxuICBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLFxuICBjbGFzc05hbWUsXG4gIHBsYWNlaG9sZGVyID0gJ1NlbGVjdCBzb21ldGhpbmcnLFxuICBtYXhIZWlnaHQgPSAyMDAsXG4gIGF2YXRhckJvcmRlciA9IGZhbHNlLFxuICBsYWJlbCxcbiAgbGFiZWxCYWRnZSxcbiAgaGVscGVyVGV4dCxcbiAgZXJyb3JzLFxuICBzdWNjZXNzLFxuICBpY29uLFxuICB3aWR0aCxcbiAgZHJvcGRvd25Qcm9wczogY29tcG9uZW50UHJvcHMsXG59OiBEcm9wZG93blByb3BzPFQ+KSA9PiB7XG4gIGNvbnN0IGlzRHJvcGRvd25EaXNhYmxlZCA9IHJlc29sdmVEaXNhYmxlZCgnRHJvcGRvd24nLCBkaXNhYmxlZCwgaXNEaXNhYmxlZCk7XG4gIGNvbnN0IHN0YXR1cyA9IHN1Y2Nlc3MgPyAnc3VjY2VzcycgOiBlcnJvcnMgPyAnZXJyb3InIDogJ2Jhc2ljJztcbiAgY29uc3QgeyBkcm9wZG93blBvc2l0aW9uID0gRHJvcGRvd25Qb3NpdGlvbnMuYXV0byB9ID0gY29tcG9uZW50UHJvcHMgPz8ge307XG4gIC8vIGB3aWR0aGAgaGFzIG5vIGRlZmF1bHQ6IHdpdGhvdXQgaXQgZXZlcnkgbGV2ZWwga2VlcHMgc2hyaW5rLXdyYXBwaW5nLCB3aGljaFxuICAvLyBpcyB0aGUgaGlzdG9yaWNhbCBiZWhhdmlvdXIuIFdoZW4gc2V0LCBhbGwgdGhyZWUgbmVzdGVkIGxldmVsc1xuICAvLyAod3JhcHBlciAtPiBiYXNlIC0+IHRvZ2dsZSkgaGF2ZSB0byBiZSBzdHJldGNoZWQg4oCUIHNpemluZyBvbmx5IG9uZSBpcyBhXG4gIC8vIG5vLW9wLCBiZWNhdXNlIHRoZSBsZXZlbCBhYm92ZSBpdCBpcyBzdGlsbCBzaXplZCB0byBpdHMgY29udGVudC5cbiAgLy9cbiAgLy8gT25seSB0aGUgb3V0ZXJtb3N0IGxldmVsIGdldHMgdGhlIHJlcXVlc3RlZCB2YWx1ZTsgdGhlIGlubmVyIHR3byBnZXQgMTAwJS5cbiAgLy8gUmVwZWF0aW5nIHRoZSB2YWx1ZSB3b3VsZCBjb21wb3VuZCByZWxhdGl2ZSB1bml0czogYHdpZHRoPVwiNjAlXCJgIHdvdWxkXG4gIC8vIG90aGVyd2lzZSByZW5kZXIgdGhlIGJhc2UgYXQgNjAlIG9mIHRoZSB3cmFwcGVyIGFuZCB0aGUgdG9nZ2xlIGF0IDYwJSBvZlxuICAvLyB0aGF0LCBpLmUuIDIxLjYlIG9mIHRoZSBjb250YWluZXIuXG4gIC8vXG4gIC8vIFNwcmVhZCByYXRoZXIgdGhhbiBwYXNzZWQgYXMgYGNzcz17Li4ufWA6IEVtb3Rpb24gd3JhcHMgYW4gZWxlbWVudCB3aGVuZXZlclxuICAvLyBgY3NzYCBpcyBwcmVzZW50IGluIGl0cyBwcm9wcywgZXZlbiB3aGVuIGl0cyB2YWx1ZSBpcyB1bmRlZmluZWQsIGFuZCB0aGF0XG4gIC8vIHJlLXNlcmlhbGl6ZXMgYW55IGluY29taW5nIGBjbGFzc05hbWVgIChlLmcuIGZyb20gYHN0eWxlZChEcm9wZG93bilgKS5cbiAgLy8gT21pdHRpbmcgdGhlIGtleSBrZWVwcyB0aGUgbm8td2lkdGggcGF0aCBpZGVudGljYWwgdG8gd3JpdGluZyBubyBgY3NzYCBwcm9wLlxuICBjb25zdCB3cmFwcGVyQ3NzUHJvcHMgPSB3aWR0aCA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogeyBjc3M6IHsgd2lkdGggfSB9O1xuICBjb25zdCBiYXNlQ3NzUHJvcHMgPVxuICAgIHdpZHRoID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiB7IGNzczogeyB3aWR0aDogJzEwMCUnIH0gfTtcbiAgY29uc3QgdG9nZ2xlQ3NzUHJvcHMgPVxuICAgIHdpZHRoID09PSB1bmRlZmluZWRcbiAgICAgID8gdW5kZWZpbmVkXG4gICAgICA6IHsgY3NzOiBbeyB3aWR0aDogJzEwMCUnIH0sIGNvbXBvbmVudFByb3BzPy50b2dnbGVCdXR0b24/LmNzc10gfTtcblxuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKCk7XG4gIGNvbnN0IGRyb3Bkb3duUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgbGlzdFJlZiA9IHVzZVJlZjxIVE1MVUxpc3RFbGVtZW50PihudWxsKTtcblxuICBjb25zdCBkcm9wZG93bklkID0gdXNlSWQoKTtcbiAgLy8gTmFtZXMgdGhlIHRvZ2dsZTsgbGVmdCBvdXQgd2l0aG91dCBhIGxhYmVsLCBzbyBpdCBuZXZlciBwb2ludHMgYXQgYVxuICAvLyBtaXNzaW5nIGVsZW1lbnQuXG4gIGNvbnN0IGxhYmVsSWQgPSBsYWJlbCA/IGBkcm9wZG93bi1sYWJlbC0ke2Ryb3Bkb3duSWR9YCA6IHVuZGVmaW5lZDtcbiAgY29uc3QgYmFkZ2UgPVxuICAgIGxhYmVsICYmIGxhYmVsQmFkZ2VcbiAgICAgID8geyAuLi5sYWJlbEJhZGdlLCBpZDogYGRyb3Bkb3duLWJhZGdlLSR7ZHJvcGRvd25JZH1gIH1cbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gIGNvbnN0IFtpc0ZvY3VzZWQsIHNldElzRm9jdXNlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZShpc0luaXRPcGVuIHx8IGZhbHNlKTtcbiAgY29uc3QgW2NvbG9ycywgc2V0Q29sb3JzXSA9IHVzZVN0YXRlPEFycmF5PHN0cmluZyB8IHVuZGVmaW5lZD4+KFtdKTtcbiAgY29uc3QgW2FjdGl2ZUl0ZW0sIHNldEFjdGl2ZUl0ZW1dID0gdXNlU3RhdGU8VCB8IHVuZGVmaW5lZD4oc2VsZWN0ZWRJdGVtKTtcbiAgY29uc3QgW3BsYWNlbWVudCwgc2V0UGxhY2VtZW50XSA9IHVzZVN0YXRlPCd0b3AnIHwgJ2JvdHRvbSc+KCdib3R0b20nKTtcbiAgLy8gSGlnaGxpZ2h0ZWQgb3B0aW9uLiBGb2N1cyBzdGF5cyBvbiB0aGUgdG9nZ2xlICh0aGUgY29tYm9ib3gpLCB3aGljaFxuICAvLyBkcml2ZXMgdGhlIGxpc3QgYW5kIHBvaW50cyBhdCB0aGUgb3B0aW9uIHdpdGggYXJpYS1hY3RpdmVkZXNjZW5kYW50LlxuICBjb25zdCBbYWN0aXZlVmFsdWUsIHNldEFjdGl2ZVZhbHVlXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bWJlciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBsaXN0SWQgPSBgZHJvcGRvd24tcG9wdXAtJHtkcm9wZG93bklkfWA7XG5cbiAgY29uc3QgY2xvc2UgPSAoKSA9PiB7XG4gICAgc2V0SXNPcGVuKGZhbHNlKTtcbiAgICBzZXRBY3RpdmVWYWx1ZShudWxsKTtcbiAgfTtcblxuICBjb25zdCBvbkNoYW5nZTogRHJvcGRvd25Db250ZXh0VHlwZVsnb25DaGFuZ2UnXSA9IChpdGVtKSA9PiB7XG4gICAgY29uc3QgaW5uZXJJdGVtID0gb3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBpdGVtKVswXTtcblxuICAgIGNsb3NlKCk7XG5cbiAgICBpZiAoaXNEcm9wZG93bkRpc2FibGVkIHx8ICFpbm5lckl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaW5uZXJJdGVtLnZhbHVlID09PSBhY3RpdmVJdGVtPy52YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldEFjdGl2ZUl0ZW0oaW5uZXJJdGVtKTtcbiAgICBpZiAoaGFuZGxlQ2hhbmdlKSB7XG4gICAgICBoYW5kbGVDaGFuZ2UoaW5uZXJJdGVtKTtcbiAgICB9XG4gIH07XG5cbiAgdXNlQ2xpY2tPdXRzaWRlKGRyb3Bkb3duUmVmLCAoKSA9PiBpc09wZW4gJiYgY2xvc2UoKSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNEcm9wZG93bkRpc2FibGVkKSB7XG4gICAgICBzZXRDb2xvcnMoW3RoZW1lLmNvbG9ycy5ncmV5RGFya2VyNjAsIHRoZW1lLmNvbG9ycy5ncmV5MjBdKTtcbiAgICB9IGVsc2UgaWYgKGlzT3Blbikge1xuICAgICAgc2V0Q29sb3JzKFt0aGVtZS5jb2xvcnMud2hpdGUsIHRoZW1lLmNvbG9ycy53aGl0ZTYwXSk7XG4gICAgfSBlbHNlIGlmIChpc0ZvY3VzZWQpIHtcbiAgICAgIHNldENvbG9ycyhbdGhlbWUuY29sb3JzLmdyZXlEYXJrZXIsIHRoZW1lLmNvbG9ycy5ncmV5RGFya2VyNjBdKTtcbiAgICB9XG4gIH0sIFtpc09wZW4sIGlzRHJvcGRvd25EaXNhYmxlZCwgaXNGb2N1c2VkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRBY3RpdmVJdGVtKHNlbGVjdGVkSXRlbSk7XG4gIH0sIFtzZWxlY3RlZEl0ZW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc0Ryb3Bkb3duRGlzYWJsZWQgJiYgaXNPcGVuKSB7XG4gICAgICBjbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzRHJvcGRvd25EaXNhYmxlZF0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc09wZW4gfHwgIWRyb3Bkb3duUmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIGlmIChkcm9wZG93blBvc2l0aW9uICE9PSBEcm9wZG93blBvc2l0aW9ucy5hdXRvKSB7XG4gICAgICBzZXRQbGFjZW1lbnQoZHJvcGRvd25Qb3NpdGlvbik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVjdCA9IGRyb3Bkb3duUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgbGlzdEhlaWdodCA9IGxpc3RSZWYuY3VycmVudD8ub2Zmc2V0SGVpZ2h0IHx8IG1heEhlaWdodDtcbiAgICBjb25zdCBzcGFjZUJlbG93ID0gd2luZG93LmlubmVySGVpZ2h0IC0gcmVjdC5ib3R0b207XG4gICAgc2V0UGxhY2VtZW50KHNwYWNlQmVsb3cgPCBsaXN0SGVpZ2h0ID8gJ3RvcCcgOiAnYm90dG9tJyk7XG4gIH0sIFtpc09wZW5dKTtcblxuICBjb25zdCBjaGlsZHJlbkFycmF5ID0gUmVhY3QuQ2hpbGRyZW4udG9BcnJheShjaGlsZHJlbikuZmlsdGVyKEJvb2xlYW4pO1xuICAvLyBHcm91cHMgdW53cmFwcGVkOiB3aGF0IGBvbkNoYW5nZWAgY2FuIHBpY2sgZnJvbS5cbiAgY29uc3Qgb3B0aW9ucyA9IGZsYXR0ZW5Ecm9wZG93bk9wdGlvbnMoY2hpbGRyZW5BcnJheSkubWFwKFxuICAgIChvcHRpb24pID0+IG9wdGlvbi5wcm9wcyBhcyB1bmtub3duIGFzIFQsXG4gICk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgY29uc3QgaXRlbXMgPSAoY2hpbGRyZW5BcnJheSBhcyBSZWFjdC5SZWFjdEVsZW1lbnQ8YW55PltdKS5tYXAoXG4gICAgKGNoaWxkLCBpbmRleCkgPT4ge1xuICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICBpbmRleCxcbiAgICAgICAgb25DbGljazogb25DaGFuZ2UuYmluZCh0aGlzKSxcbiAgICAgICAgLi4uY2hpbGQucHJvcHMsXG4gICAgICB9KTtcbiAgICB9LFxuICApO1xuXG4gIGNvbnN0IG1lbnVJdGVtcyA9IHRvRHJvcGRvd25NZW51SXRlbXMoY2hpbGRyZW5BcnJheSk7XG5cbiAgLyoqIE9wZW5zIHdpdGggdGhlIHNlbGVjdGVkIG9wdGlvbiBoaWdobGlnaHRlZCwgZWxzZSBwZXIgdGhlIGtleSBwcmVzc2VkLiAqL1xuICBjb25zdCBvcGVuID0gKGtleSA9ICdBcnJvd0Rvd24nKSA9PiB7XG4gICAgc2V0SXNPcGVuKHRydWUpO1xuICAgIGNvbnN0IHNlbGVjdGVkID0gZmxhdHRlbkl0ZW1zKG1lbnVJdGVtcykuZmluZChcbiAgICAgIChpdGVtKSA9PiAhaXRlbS5kaXNhYmxlZCAmJiBpdGVtLnZhbHVlID09PSBhY3RpdmVJdGVtPy52YWx1ZSxcbiAgICApO1xuICAgIHNldEFjdGl2ZVZhbHVlKFxuICAgICAgc2VsZWN0ZWQ/LnZhbHVlID8/IGdldE5leHRBY3RpdmVWYWx1ZShtZW51SXRlbXMsIG51bGwsIGtleSkgPz8gbnVsbCxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IHRvZ2dsZUtleXMgPSB1c2VUb2dnbGVMaXN0S2V5cyh7XG4gICAgbGlzdElkLFxuICAgIGlzT3BlbixcbiAgICBkaXNhYmxlZDogaXNEcm9wZG93bkRpc2FibGVkLFxuICAgIG1lbnVJdGVtcyxcbiAgICBhY3RpdmVWYWx1ZSxcbiAgICBzZXRBY3RpdmVWYWx1ZSxcbiAgICBvcGVuLFxuICAgIGNsb3NlLFxuICAgIG9uUGljazogKHZhbHVlKSA9PiBvbkNoYW5nZSh2YWx1ZSBhcyBzdHJpbmcpLFxuICAgIG9uS2V5RG93bjogY29tcG9uZW50UHJvcHM/LnRvZ2dsZUJ1dHRvbj8ub25LZXlEb3duLFxuICAgIG9uS2V5VXA6IGNvbXBvbmVudFByb3BzPy50b2dnbGVCdXR0b24/Lm9uS2V5VXAsXG4gIH0pO1xuXG4gIGNvbnN0IGNvbnRleHRWYWx1ZTogRHJvcGRvd25Db250ZXh0VHlwZSA9IFJlYWN0LnVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgYWN0aXZlSXRlbSxcbiAgICAgIG1heEhlaWdodCxcbiAgICAgIGxpc3RSZWYsXG4gICAgICBwbGFjZW1lbnQsXG4gICAgICBhY3RpdmVWYWx1ZSxcbiAgICAgIHNldEFjdGl2ZVZhbHVlLFxuICAgIH0pLFxuICAgIFtvbkNoYW5nZSwgYWN0aXZlSXRlbSwgbWF4SGVpZ2h0LCBwbGFjZW1lbnQsIGFjdGl2ZVZhbHVlXSxcbiAgKTtcblxuICBjb25zdCB2YWx1ZSA9IChcbiAgICBhY3RpdmVJdGVtXG4gICAgICA/IGFjdGl2ZUl0ZW0ubGFiZWwgfHxcbiAgICAgICAgYWN0aXZlSXRlbS5jaGlsZHJlbiB8fFxuICAgICAgICBhY3RpdmVJdGVtLnZhbHVlIHx8XG4gICAgICAgIGFjdGl2ZUl0ZW0gfHxcbiAgICAgICAgcGxhY2Vob2xkZXJcbiAgICAgIDogcGxhY2Vob2xkZXJcbiAgKSBhcyBSZWFjdE5vZGU7XG5cbiAgY29uc3QgcmF3QXZhdGFyID1cbiAgICBhY3RpdmVJdGVtICYmIChhY3RpdmVJdGVtIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KS5hdmF0YXI7XG5cbiAgY29uc3Qgc2VsZWN0ZWRBdmF0YXIgPSAhaXNOaWxsKHJhd0F2YXRhcikgPyAoXG4gICAgdHlwZW9mIHJhd0F2YXRhciA9PT0gJ3N0cmluZycgPyAoXG4gICAgICA8QXZhdGFyXG4gICAgICAgIHNpemU9e0F2YXRhclNpemVzLnNtYWxsfVxuICAgICAgICBpbWFnZT17cmF3QXZhdGFyfVxuICAgICAgICBib3JkZXI9e2F2YXRhckJvcmRlcn1cbiAgICAgIC8+XG4gICAgKSA6IFJlYWN0LmlzVmFsaWRFbGVtZW50KHJhd0F2YXRhcikgPyAoXG4gICAgICAocmF3QXZhdGFyIGFzIFJlYWN0Tm9kZSlcbiAgICApIDogbnVsbFxuICApIDogbnVsbDtcblxuICBjb25zdCBsZWFkaW5nRWxlbWVudCA9ICFpc05pbGwoc2VsZWN0ZWRBdmF0YXIpID8gKFxuICAgIChzZWxlY3RlZEF2YXRhciBhcyBSZWFjdE5vZGUpXG4gICkgOiBpY29uID8gKFxuICAgIDxJY29uXG4gICAgICBuYW1lPXtpY29ufVxuICAgICAgc2l6ZT17MTZ9XG4gICAgICBjb2xvcj17aXNEcm9wZG93bkRpc2FibGVkID8gdGhlbWUuY29sb3JzLmdyZXkgOiB0aGVtZS5jb2xvcnMuZ3JleURhcmtlcjgwfVxuICAgIC8+XG4gICkgOiBudWxsO1xuXG4gIGNvbnN0IHRvZ2dsZUNvbnRlbnQgPSAhaXNOaWxsKGxlYWRpbmdFbGVtZW50KSA/IChcbiAgICA8U2VsZWN0ZWRDb250ZW50PlxuICAgICAgPExlYWRpbmdFbGVtZW50PntsZWFkaW5nRWxlbWVudH08L0xlYWRpbmdFbGVtZW50PlxuICAgICAgPFNlbGVjdGVkTGFiZWw+e3ZhbHVlfTwvU2VsZWN0ZWRMYWJlbD5cbiAgICA8L1NlbGVjdGVkQ29udGVudD5cbiAgKSA6IChcbiAgICA8U2VsZWN0ZWRMYWJlbD57dmFsdWV9PC9TZWxlY3RlZExhYmVsPlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPERyb3Bkb3duRmllbGRXcmFwcGVyIHsuLi53cmFwcGVyQ3NzUHJvcHN9PlxuICAgICAge2xhYmVsID8gKFxuICAgICAgICA8TGFiZWwgaWQ9e2xhYmVsSWR9IGRpc2FibGVkPXtpc0Ryb3Bkb3duRGlzYWJsZWR9IGJhZGdlPXtiYWRnZX0+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L0xhYmVsPlxuICAgICAgKSA6IG51bGx9XG4gICAgICA8RHJvcGRvd25Db250ZXh0LlByb3ZpZGVyIHZhbHVlPXtjb250ZXh0VmFsdWV9PlxuICAgICAgICA8RHJvcGRvd25CYXNlXG4gICAgICAgICAgey4uLmNvbXBvbmVudFByb3BzPy5iYXNlfVxuICAgICAgICAgIHsuLi5iYXNlQ3NzUHJvcHN9XG4gICAgICAgICAgcmVmPXtkcm9wZG93blJlZn1cbiAgICAgICAgICBkYXRhLXRlc3RpZD1cImRyb3Bkb3duXCI+XG4gICAgICAgICAgPERyb3Bkb3duVG9nZ2xlXG4gICAgICAgICAgICB7Li4uY29tcG9uZW50UHJvcHM/LnRvZ2dsZUJ1dHRvbn1cbiAgICAgICAgICAgIHsuLi50b2dnbGVDc3NQcm9wc31cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgaXNPcGVuPXtpc09wZW59XG4gICAgICAgICAgICBkaXNhYmxlZD17aXNEcm9wZG93bkRpc2FibGVkfVxuICAgICAgICAgICAgc3RhdHVzPXtzdGF0dXN9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiAoaXNPcGVuID8gY2xvc2UoKSA6IG9wZW4oKSl9XG4gICAgICAgICAgICB7Li4udG9nZ2xlS2V5c31cbiAgICAgICAgICAgIG9uRm9jdXM9e3NldElzRm9jdXNlZC5iaW5kKG51bGwsIHRydWUpfVxuICAgICAgICAgICAgY29sb3JzPXtjb2xvcnN9XG4gICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e2xhYmVsSWR9XG4gICAgICAgICAgICB7Li4uKGJhZGdlICYmIHsgJ2FyaWEtZGVzY3JpYmVkYnknOiBiYWRnZS5pZCB9KX1cbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e2xpc3RJZH0+XG4gICAgICAgICAgICB7dG9nZ2xlQ29udGVudH1cbiAgICAgICAgICAgIDxEcm9wZG93bkFycm93XG4gICAgICAgICAgICAgIHsuLi5jb21wb25lbnRQcm9wcz8udG9nZ2xlQnV0dG9uQXJyb3d9XG4gICAgICAgICAgICAgIGlzVXA9e2lzT3Blbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Ecm9wZG93blRvZ2dsZT5cblxuICAgICAgICAgIHtpc09wZW4gPyAoXG4gICAgICAgICAgICA8RHJvcGRvd25PcHRpb25zIGlkPXtsaXN0SWR9PntpdGVtc308L0Ryb3Bkb3duT3B0aW9ucz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ecm9wZG93bkJhc2U+XG4gICAgICA8L0Ryb3Bkb3duQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgIHtoZWxwZXJUZXh0IHx8IGVycm9ycyA/IChcbiAgICAgICAgPEZvcm1IZWxwZXJUZXh0XG4gICAgICAgICAgcm9sZT1cInN0YXR1c1wiXG4gICAgICAgICAgc3RhdHVzPXtzdGF0dXN9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRHJvcGRvd25EaXNhYmxlZH0+XG4gICAgICAgICAge2Vycm9ycz8ubWVzc2FnZSB8fCBoZWxwZXJUZXh0fVxuICAgICAgICA8L0Zvcm1IZWxwZXJUZXh0PlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9Ecm9wZG93bkZpZWxkV3JhcHBlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERyb3Bkb3duO1xuIl19 */",
|
|
28698
|
+
styles: "overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9Ecm9wZG93bi9Ecm9wZG93bi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUVpQyIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91aS1raXQvdWkta2l0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVN0YXRlLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlUmVmLFxuICB1c2VJZCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IHVzZUNsaWNrT3V0c2lkZSB9IGZyb20gJ0Bzc2EtdWkta2l0L2hvb2tzJztcbmltcG9ydCB7IGlzTmlsbCB9IGZyb20gJ0Bzc2EtdWkta2l0L3V0aWxzJztcblxuaW1wb3J0IERyb3Bkb3duVG9nZ2xlIGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duVG9nZ2xlJztcbmltcG9ydCBEcm9wZG93bkFycm93IGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duQXJyb3cnO1xuaW1wb3J0IERyb3Bkb3duT3B0aW9ucyBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMnO1xuaW1wb3J0IHtcbiAgZmlsdGVyRHJvcGRvd25PcHRpb25zLFxuICBmbGF0dGVuRHJvcGRvd25PcHRpb25zLFxuICB0b0Ryb3Bkb3duTWVudUl0ZW1zLFxufSBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMvdXRpbHMnO1xuaW1wb3J0IHsgdXNlVG9nZ2xlTGlzdEtleXMgfSBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMvdXNlVG9nZ2xlTGlzdEtleXMnO1xuaW1wb3J0IHsgRHJvcGRvd25TZWFyY2ggfSBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMvRHJvcGRvd25TZWFyY2gnO1xuaW1wb3J0IHsgZ2V0TmV4dEFjdGl2ZVZhbHVlIH0gZnJvbSAnQGNvbXBvbmVudHMvQ29udGV4dE1lbnUnO1xuaW1wb3J0IHsgZmxhdHRlbkl0ZW1zIH0gZnJvbSAnQGNvbXBvbmVudHMvQ29udGV4dE1lbnUvdXRpbHMnO1xuaW1wb3J0IEF2YXRhciwgeyBBdmF0YXJTaXplcyB9IGZyb20gJ0Bjb21wb25lbnRzL0F2YXRhcic7XG5pbXBvcnQgSWNvbiBmcm9tICdAY29tcG9uZW50cy9JY29uJztcbmltcG9ydCBMYWJlbCBmcm9tICdAY29tcG9uZW50cy9MYWJlbCc7XG5pbXBvcnQgRm9ybUhlbHBlclRleHQgZnJvbSAnQGNvbXBvbmVudHMvRm9ybUhlbHBlclRleHQnO1xuaW1wb3J0IERyb3Bkb3duQ29udGV4dCBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bi9Ecm9wZG93bi5jb250ZXh0JztcbmltcG9ydCB7IHJlc29sdmVEaXNhYmxlZCB9IGZyb20gJ0B1dGlscy9kZXByZWNhdGlvbic7XG5pbXBvcnQgeyBEcm9wZG93bk9wdGlvblByb3BzIH0gZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25PcHRpb25zL3R5cGVzJztcblxuaW1wb3J0IHsgRHJvcGRvd25Db250ZXh0VHlwZSwgRHJvcGRvd25Qb3NpdGlvbnMsIERyb3Bkb3duUHJvcHMgfSBmcm9tICcuL3R5cGVzJztcblxuLypcbiAqIEJvdGggbGV2ZWxzIGFyZSBzaHJpbmstdG8tZml0LCBhbmQgYSBzaHJpbmstdG8tZml0IGJveCBzaXplcyB0byBpdHNcbiAqIG1pbi1jb250ZW50IHdoZW4gdGhhdCBleGNlZWRzIHRoZSBzcGFjZSBhdmFpbGFibGUgLS0gZm9yIGEgbm93cmFwIGxhYmVsIHRoYXRcbiAqIGlzIHRoZSBlbnRpcmUgc3RyaW5nLCBzbyB0aGUgZHJvcGRvd24gd291bGQgZ3JvdyBwYXN0IGl0cyBjb250YWluZXIgaW5zdGVhZFxuICogb2YgZWxsaXBzaXNpbmcuIGBtYXgtd2lkdGg6IDEwMCVgIGdpdmVzIGVhY2ggbGV2ZWwgYSBkZWZpbml0ZSB3aWR0aCB0b1xuICogcmVzb2x2ZSBhZ2FpbnN0LCB3aGljaCBpcyB3aGF0IGFjdHVhbGx5IGxldHMgdGhlIGxhYmVsIGNsaXAuXG4gKi9cbmNvbnN0IERyb3Bkb3duRmllbGRXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXgtd2lkdGg6IDEwMCU7XG5gO1xuXG5jb25zdCBEcm9wZG93bkJhc2UgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuYDtcblxuY29uc3QgU2VsZWN0ZWRDb250ZW50ID0gc3R5bGVkLnNwYW5gXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgbWluLXdpZHRoOiAwO1xuYDtcblxuLyoqXG4gKiBLZWVwcyB0aGUgc2VsZWN0ZWQgdmFsdWUgb24gYSBzaW5nbGUgbGluZSBhbmQgZWxsaXBzaXNlcyBpdC4gV2l0aG91dCB0aGlzIHRoZVxuICogbGFiZWwgd3JhcHMgYW5kLCBiZWNhdXNlIHRoZSB0b2dnbGUgaXMgYSBmaXhlZCA0NHB4LCBzcGlsbHMgYWJvdmUgYW5kIGJlbG93XG4gKiB0aGUgYm9yZGVyLiBgbWluLXdpZHRoOiAwYCBpcyB3aGF0IGxldHMgdGhlIHRvZ2dsZSBzaHJpbmsgYmVsb3cgdGhlIGxhYmVsJ3NcbiAqIGludHJpbnNpYyB3aWR0aCBhdCBhbGwg4oCUIGEgbm93cmFwIGZsZXggaXRlbSBvdGhlcndpc2UgcmVwb3J0cyBpdHMgZnVsbCB0ZXh0XG4gKiB3aWR0aCBhcyBpdHMgbWluaW11bSwgc28gdGhlIGRyb3Bkb3duIHdvdWxkIGtlZXAgZ3Jvd2luZyBpbnN0ZWFkIG9mIGNsaXBwaW5nLlxuICovXG5jb25zdCBTZWxlY3RlZExhYmVsID0gc3R5bGVkLnNwYW5gXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBtaW4td2lkdGg6IDA7XG5gO1xuXG5jb25zdCBMZWFkaW5nRWxlbWVudCA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG5gO1xuXG4vKipcbiAqIERyb3Bkb3duIC0gU2VsZWN0LWxpa2UgZHJvcGRvd24gY29tcG9uZW50IGZvciBzaW5nbGUgc2VsZWN0aW9uXG4gKlxuICogQSBmbGV4aWJsZSBkcm9wZG93biBjb21wb25lbnQgdGhhdCBhbGxvd3MgdXNlcnMgdG8gc2VsZWN0IG9uZSBvcHRpb24gZnJvbVxuICogYSBsaXN0IG9mIGNob2ljZXMuIFVzZXMgYSBjb21wb3VuZCBjb21wb25lbnQgcGF0dGVybiB3aXRoIERyb3Bkb3duT3B0aW9uXG4gKiBjaGlsZHJlbi4gUHJvdmlkZXMga2V5Ym9hcmQgbmF2aWdhdGlvbiwgYWNjZXNzaWJpbGl0eSBmZWF0dXJlcywgY2xpY2stb3V0c2lkZVxuICogdG8gY2xvc2UgZnVuY3Rpb25hbGl0eSwgYW5kIGF1dG9tYXRpYyB2aWV3cG9ydC1hd2FyZSBwbGFjZW1lbnQgb2YgdGhlIG9wdGlvbnMgbGlzdC5cbiAqXG4gKiBPbiBldmVyeSBvcGVuIHRoZSBjb21wb25lbnQgbWVhc3VyZXMgYXZhaWxhYmxlIHNwYWNlIGJlbG93IHRoZSB0b2dnbGUgYnV0dG9uXG4gKiBhbmQgZmxpcHMgdGhlIGxpc3QgdXB3YXJkIHdoZW4gdGhlcmUgaXMgbm90IGVub3VnaCByb29tLCBwcmV2ZW50aW5nIHRoZSBsaXN0XG4gKiBmcm9tIGJlaW5nIGNsaXBwZWQgYnkgdGhlIHZpZXdwb3J0IGVkZ2UuIFRoaXMgYmVoYXZpb3IgY2FuIGJlIG92ZXJyaWRkZW4gdmlhXG4gKiBkcm9wZG93blByb3BzLmRyb3Bkb3duUG9zaXRpb24uXG4gKlxuICogQ29tcG9uZW50IHN0cnVjdHVyZTpcbiAqIC0gRHJvcGRvd24gKHJvb3QgY29udGFpbmVyIHdpdGggY29udGV4dClcbiAqICAgLSBEcm9wZG93blRvZ2dsZSAoYnV0dG9uIHRoYXQgb3BlbnMvY2xvc2VzIGRyb3Bkb3duKVxuICogICAtIERyb3Bkb3duT3B0aW9ucyAobWVudSBjb250YWluZXIgdGhhdCBhcHBlYXJzIHdoZW4gb3BlbilcbiAqICAgICAtIERyb3Bkb3duT3B0aW9uIChpbmRpdmlkdWFsIHNlbGVjdGFibGUgaXRlbXMpXG4gKlxuICogQGNhdGVnb3J5IEZvcm0gQ29udHJvbHNcbiAqIEBzdWJjYXRlZ29yeSBTZWxlY3Rpb25cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBjb25zdCBpdGVtcyA9IFtcbiAqICAgeyBpZDogMSwgdmFsdWU6ICdBcHBsZScgfSxcbiAqICAgeyBpZDogMiwgdmFsdWU6ICdCYW5hbmEnIH0sXG4gKiAgIHsgaWQ6IDMsIHZhbHVlOiAnQ2hlcnJ5JyB9LFxuICogXTtcbiAqXG4gKiA8RHJvcGRvd25cbiAqICAgc2VsZWN0ZWRJdGVtPXtpdGVtc1swXX1cbiAqICAgb25DaGFuZ2U9eyhpdGVtKSA9PiBoYW5kbGVTZWxlY3Rpb24oaXRlbSl9XG4gKiAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IGEgZnJ1aXRcIlxuICogPlxuICogICB7aXRlbXMubWFwKGl0ZW0gPT4gKFxuICogICAgIDxEcm9wZG93bk9wdGlvbiBrZXk9e2l0ZW0uaWR9IHZhbHVlPXtpdGVtLmlkfT5cbiAqICAgICAgIHtpdGVtLnZhbHVlfVxuICogICAgIDwvRHJvcGRvd25PcHRpb24+XG4gKiAgICkpfVxuICogPC9Ecm9wZG93bj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIENvbnRyb2xsZWQgb3BlbiBzdGF0ZVxuICogY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAqIDxEcm9wZG93blxuICogICBpc09wZW49e2lzT3Blbn1cbiAqICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAqICAgc2VsZWN0ZWRJdGVtPXtzZWxlY3RlZH1cbiAqID5cbiAqICAge29wdGlvbnMubWFwKG9wdCA9PiAoXG4gKiAgICAgPERyb3Bkb3duT3B0aW9uIGtleT17b3B0LmlkfSB2YWx1ZT17b3B0LmlkfT5cbiAqICAgICAgIHtvcHQubGFiZWx9XG4gKiAgICAgPC9Ecm9wZG93bk9wdGlvbj5cbiAqICAgKSl9XG4gKiA8L0Ryb3Bkb3duPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogLy8gV2l0aCBjdXN0b20gcHJvcHMgZm9yIHN1Yi1jb21wb25lbnRzIGFuZCBmb3JjZWQgdXB3YXJkIHBsYWNlbWVudFxuICogPERyb3Bkb3duXG4gKiAgIHNlbGVjdGVkSXRlbT17c2VsZWN0ZWR9XG4gKiAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gKiAgIGRyb3Bkb3duUHJvcHM9e3tcbiAqICAgICBiYXNlOiB7IGlkOiAnbXktZHJvcGRvd24nIH0sXG4gKiAgICAgdG9nZ2xlQnV0dG9uOiB7ICdkYXRhLXRlc3RpZCc6ICdkcm9wZG93bi10b2dnbGUnIH0sXG4gKiAgICAgdG9nZ2xlQnV0dG9uQXJyb3c6IHsgY2xhc3NOYW1lOiAnY3VzdG9tLWFycm93JyB9LFxuICogICAgIGRyb3Bkb3duUG9zaXRpb246IERyb3Bkb3duUG9zaXRpb25zLnRvcCxcbiAqICAgfX1cbiAqID5cbiAqICAge29wdGlvbnMubWFwKG9wdCA9PiAoXG4gKiAgICAgPERyb3Bkb3duT3B0aW9uIGtleT17b3B0LmlkfSB2YWx1ZT17b3B0LmlkfT5cbiAqICAgICAgIHtvcHQubGFiZWx9XG4gKiAgICAgPC9Ecm9wZG93bk9wdGlvbj5cbiAqICAgKSl9XG4gKiA8L0Ryb3Bkb3duPlxuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgRHJvcGRvd25PcHRpb259IC0gQ2hpbGQgY29tcG9uZW50IGZvciBpbmRpdmlkdWFsIG9wdGlvbnNcbiAqIEBzZWUge0BsaW5rIERyb3Bkb3duVG9nZ2xlfSAtIFRvZ2dsZSBidXR0b24gY29tcG9uZW50XG4gKiBAc2VlIHtAbGluayBEcm9wZG93bk9wdGlvbnN9IC0gT3B0aW9ucyBtZW51IGNvbnRhaW5lclxuICpcbiAqIEBhY2Nlc3NpYmlsaXR5XG4gKiAtIEFSSUEgYXR0cmlidXRlcyBzZXQgYWNjb3JkaW5nIHRvIFdBSS1BUklBIGNvbWJvYm94IHBhdHRlcm5cbiAqIC0gS2V5Ym9hcmQgbmF2aWdhdGlvbiAoQXJyb3cga2V5cywgRW50ZXIsIEVzY2FwZSlcbiAqIC0gQ2xpY2sgb3V0c2lkZSB0byBjbG9zZVxuICogLSBTY3JlZW4gcmVhZGVyIGZyaWVuZGx5XG4gKiAtIEZvY3VzIG1hbmFnZW1lbnRcbiAqXG4gKiBAc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvQVJJQS9hcGcvZXhhbXBsZS1pbmRleC9jb21ib2JveC9jb21ib2JveC1zZWxlY3Qtb25seS5odG1sXG4gKi9cbmNvbnN0IERyb3Bkb3duID0gPFQgZXh0ZW5kcyBEcm9wZG93bk9wdGlvblByb3BzPih7XG4gIHNlbGVjdGVkSXRlbSxcbiAgZGlzYWJsZWQsXG4gIGlzRGlzYWJsZWQsXG4gIGlzT3BlbjogaXNJbml0T3BlbixcbiAgY2hpbGRyZW4sXG4gIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsXG4gIGNsYXNzTmFtZSxcbiAgcGxhY2Vob2xkZXIgPSAnU2VsZWN0IHNvbWV0aGluZycsXG4gIG1heEhlaWdodCA9IDIwMCxcbiAgYXZhdGFyQm9yZGVyID0gZmFsc2UsXG4gIGxhYmVsLFxuICBsYWJlbEJhZGdlLFxuICBoZWxwZXJUZXh0LFxuICBlcnJvcnMsXG4gIHN1Y2Nlc3MsXG4gIGljb24sXG4gIHdpZHRoLFxuICBzZWFyY2hhYmxlID0gZmFsc2UsXG4gIHNlYXJjaFBsYWNlaG9sZGVyID0gJ1NlYXJjaCcsXG4gIHNlYXJjaEVtcHR5U3RhdGUgPSAnTm8gcmVzdWx0cyBmb3VuZCcsXG4gIGRyb3Bkb3duUHJvcHM6IGNvbXBvbmVudFByb3BzLFxufTogRHJvcGRvd25Qcm9wczxUPikgPT4ge1xuICBjb25zdCBpc0Ryb3Bkb3duRGlzYWJsZWQgPSByZXNvbHZlRGlzYWJsZWQoJ0Ryb3Bkb3duJywgZGlzYWJsZWQsIGlzRGlzYWJsZWQpO1xuICBjb25zdCBzdGF0dXMgPSBzdWNjZXNzID8gJ3N1Y2Nlc3MnIDogZXJyb3JzID8gJ2Vycm9yJyA6ICdiYXNpYyc7XG4gIGNvbnN0IHsgZHJvcGRvd25Qb3NpdGlvbiA9IERyb3Bkb3duUG9zaXRpb25zLmF1dG8gfSA9IGNvbXBvbmVudFByb3BzID8/IHt9O1xuICAvLyBgd2lkdGhgIGhhcyBubyBkZWZhdWx0OiB3aXRob3V0IGl0IGV2ZXJ5IGxldmVsIGtlZXBzIHNocmluay13cmFwcGluZywgd2hpY2hcbiAgLy8gaXMgdGhlIGhpc3RvcmljYWwgYmVoYXZpb3VyLiBXaGVuIHNldCwgYWxsIHRocmVlIG5lc3RlZCBsZXZlbHNcbiAgLy8gKHdyYXBwZXIgLT4gYmFzZSAtPiB0b2dnbGUpIGhhdmUgdG8gYmUgc3RyZXRjaGVkIOKAlCBzaXppbmcgb25seSBvbmUgaXMgYVxuICAvLyBuby1vcCwgYmVjYXVzZSB0aGUgbGV2ZWwgYWJvdmUgaXQgaXMgc3RpbGwgc2l6ZWQgdG8gaXRzIGNvbnRlbnQuXG4gIC8vXG4gIC8vIE9ubHkgdGhlIG91dGVybW9zdCBsZXZlbCBnZXRzIHRoZSByZXF1ZXN0ZWQgdmFsdWU7IHRoZSBpbm5lciB0d28gZ2V0IDEwMCUuXG4gIC8vIFJlcGVhdGluZyB0aGUgdmFsdWUgd291bGQgY29tcG91bmQgcmVsYXRpdmUgdW5pdHM6IGB3aWR0aD1cIjYwJVwiYCB3b3VsZFxuICAvLyBvdGhlcndpc2UgcmVuZGVyIHRoZSBiYXNlIGF0IDYwJSBvZiB0aGUgd3JhcHBlciBhbmQgdGhlIHRvZ2dsZSBhdCA2MCUgb2ZcbiAgLy8gdGhhdCwgaS5lLiAyMS42JSBvZiB0aGUgY29udGFpbmVyLlxuICAvL1xuICAvLyBTcHJlYWQgcmF0aGVyIHRoYW4gcGFzc2VkIGFzIGBjc3M9ey4uLn1gOiBFbW90aW9uIHdyYXBzIGFuIGVsZW1lbnQgd2hlbmV2ZXJcbiAgLy8gYGNzc2AgaXMgcHJlc2VudCBpbiBpdHMgcHJvcHMsIGV2ZW4gd2hlbiBpdHMgdmFsdWUgaXMgdW5kZWZpbmVkLCBhbmQgdGhhdFxuICAvLyByZS1zZXJpYWxpemVzIGFueSBpbmNvbWluZyBgY2xhc3NOYW1lYCAoZS5nLiBmcm9tIGBzdHlsZWQoRHJvcGRvd24pYCkuXG4gIC8vIE9taXR0aW5nIHRoZSBrZXkga2VlcHMgdGhlIG5vLXdpZHRoIHBhdGggaWRlbnRpY2FsIHRvIHdyaXRpbmcgbm8gYGNzc2AgcHJvcC5cbiAgY29uc3Qgd3JhcHBlckNzc1Byb3BzID0gd2lkdGggPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHsgY3NzOiB7IHdpZHRoIH0gfTtcbiAgY29uc3QgYmFzZUNzc1Byb3BzID1cbiAgICB3aWR0aCA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogeyBjc3M6IHsgd2lkdGg6ICcxMDAlJyB9IH07XG4gIGNvbnN0IHRvZ2dsZUNzc1Byb3BzID1cbiAgICB3aWR0aCA9PT0gdW5kZWZpbmVkXG4gICAgICA/IHVuZGVmaW5lZFxuICAgICAgOiB7IGNzczogW3sgd2lkdGg6ICcxMDAlJyB9LCBjb21wb25lbnRQcm9wcz8udG9nZ2xlQnV0dG9uPy5jc3NdIH07XG5cbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuICBjb25zdCBkcm9wZG93blJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IGxpc3RSZWYgPSB1c2VSZWY8SFRNTFVMaXN0RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHRvZ2dsZVJlZiA9IHVzZVJlZjxIVE1MQnV0dG9uRWxlbWVudD4obnVsbCk7XG5cbiAgY29uc3QgZHJvcGRvd25JZCA9IHVzZUlkKCk7XG4gIC8vIE5hbWVzIHRoZSB0b2dnbGU7IGxlZnQgb3V0IHdpdGhvdXQgYSBsYWJlbCwgc28gaXQgbmV2ZXIgcG9pbnRzIGF0IGFcbiAgLy8gbWlzc2luZyBlbGVtZW50LlxuICBjb25zdCBsYWJlbElkID0gbGFiZWwgPyBgZHJvcGRvd24tbGFiZWwtJHtkcm9wZG93bklkfWAgOiB1bmRlZmluZWQ7XG4gIGNvbnN0IGJhZGdlID1cbiAgICBsYWJlbCAmJiBsYWJlbEJhZGdlXG4gICAgICA/IHsgLi4ubGFiZWxCYWRnZSwgaWQ6IGBkcm9wZG93bi1iYWRnZS0ke2Ryb3Bkb3duSWR9YCB9XG4gICAgICA6IHVuZGVmaW5lZDtcblxuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoaXNJbml0T3BlbiB8fCBmYWxzZSk7XG4gIGNvbnN0IFtjb2xvcnMsIHNldENvbG9yc10gPSB1c2VTdGF0ZTxBcnJheTxzdHJpbmcgfCB1bmRlZmluZWQ+PihbXSk7XG4gIGNvbnN0IFthY3RpdmVJdGVtLCBzZXRBY3RpdmVJdGVtXSA9IHVzZVN0YXRlPFQgfCB1bmRlZmluZWQ+KHNlbGVjdGVkSXRlbSk7XG4gIGNvbnN0IFtwbGFjZW1lbnQsIHNldFBsYWNlbWVudF0gPSB1c2VTdGF0ZTwndG9wJyB8ICdib3R0b20nPignYm90dG9tJyk7XG4gIC8vIEhpZ2hsaWdodGVkIG9wdGlvbi4gRm9jdXMgc3RheXMgb24gdGhlIHRvZ2dsZSAodGhlIGNvbWJvYm94KSwgd2hpY2hcbiAgLy8gZHJpdmVzIHRoZSBsaXN0IGFuZCBwb2ludHMgYXQgdGhlIG9wdGlvbiB3aXRoIGFyaWEtYWN0aXZlZGVzY2VuZGFudC5cbiAgY29uc3QgW2FjdGl2ZVZhbHVlLCBzZXRBY3RpdmVWYWx1ZV0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudW1iZXIgfCBudWxsPihudWxsKTtcbiAgY29uc3QgbGlzdElkID0gYGRyb3Bkb3duLXBvcHVwLSR7ZHJvcGRvd25JZH1gO1xuICAvLyBTZWFyY2ggdGV4dDsgb25seSB1c2VkIHdpdGggYHNlYXJjaGFibGVgLCBjbGVhcmVkIG9uIGNsb3NlLlxuICBjb25zdCBbcXVlcnksIHNldFF1ZXJ5XSA9IHVzZVN0YXRlKCcnKTtcblxuICBjb25zdCBjbG9zZSA9ICgpID0+IHtcbiAgICBzZXRJc09wZW4oZmFsc2UpO1xuICAgIHNldEFjdGl2ZVZhbHVlKG51bGwpO1xuICAgIHNldFF1ZXJ5KCcnKTtcbiAgICAvLyBUaGUgc2VhcmNoIGJveCB1bm1vdW50cyB3aXRoIHRoZSBsaXN0OyBoYW5kIGZvY3VzIGJhY2sgdG8gdGhlIHRvZ2dsZVxuICAgIC8vIHJhdGhlciB0aGFuIGRyb3BwaW5nIGl0IG9uIDxib2R5Pi5cbiAgICBpZiAoXG4gICAgICBzZWFyY2hhYmxlICYmXG4gICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSB0b2dnbGVSZWYuY3VycmVudCAmJlxuICAgICAgZHJvcGRvd25SZWYuY3VycmVudD8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudClcbiAgICApIHtcbiAgICAgIHRvZ2dsZVJlZi5jdXJyZW50Py5mb2N1cygpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvbkNoYW5nZTogRHJvcGRvd25Db250ZXh0VHlwZVsnb25DaGFuZ2UnXSA9IChpdGVtKSA9PiB7XG4gICAgY29uc3QgaW5uZXJJdGVtID0gb3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBpdGVtKVswXTtcblxuICAgIGNsb3NlKCk7XG5cbiAgICBpZiAoaXNEcm9wZG93bkRpc2FibGVkIHx8ICFpbm5lckl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaW5uZXJJdGVtLnZhbHVlID09PSBhY3RpdmVJdGVtPy52YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldEFjdGl2ZUl0ZW0oaW5uZXJJdGVtKTtcbiAgICBpZiAoaGFuZGxlQ2hhbmdlKSB7XG4gICAgICBoYW5kbGVDaGFuZ2UoaW5uZXJJdGVtKTtcbiAgICB9XG4gIH07XG5cbiAgdXNlQ2xpY2tPdXRzaWRlKGRyb3Bkb3duUmVmLCAoKSA9PiBpc09wZW4gJiYgY2xvc2UoKSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNEcm9wZG93bkRpc2FibGVkKSB7XG4gICAgICBzZXRDb2xvcnMoW3RoZW1lLmNvbG9ycy5ncmV5RGFya2VyNjAsIHRoZW1lLmNvbG9ycy5ncmV5MjBdKTtcbiAgICB9IGVsc2UgaWYgKGlzT3Blbikge1xuICAgICAgc2V0Q29sb3JzKFt0aGVtZS5jb2xvcnMud2hpdGUsIHRoZW1lLmNvbG9ycy53aGl0ZTYwXSk7XG4gICAgfSBlbHNlIGlmIChpc0ZvY3VzZWQpIHtcbiAgICAgIHNldENvbG9ycyhbdGhlbWUuY29sb3JzLmdyZXlEYXJrZXIsIHRoZW1lLmNvbG9ycy5ncmV5RGFya2VyNjBdKTtcbiAgICB9XG4gIH0sIFtpc09wZW4sIGlzRHJvcGRvd25EaXNhYmxlZCwgaXNGb2N1c2VkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRBY3RpdmVJdGVtKHNlbGVjdGVkSXRlbSk7XG4gIH0sIFtzZWxlY3RlZEl0ZW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc0Ryb3Bkb3duRGlzYWJsZWQgJiYgaXNPcGVuKSB7XG4gICAgICBjbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzRHJvcGRvd25EaXNhYmxlZF0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc09wZW4gfHwgIWRyb3Bkb3duUmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIGlmIChkcm9wZG93blBvc2l0aW9uICE9PSBEcm9wZG93blBvc2l0aW9ucy5hdXRvKSB7XG4gICAgICBzZXRQbGFjZW1lbnQoZHJvcGRvd25Qb3NpdGlvbik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVjdCA9IGRyb3Bkb3duUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgLy8gV2l0aCBzZWFyY2ggdGhlIGxpc3Qgc2l0cyBpbiBhIGNhcmQgdW5kZXIgdGhlIHNlYXJjaCBib3guXG4gICAgY29uc3QgcG9wdXAgPSBzZWFyY2hhYmxlID8gbGlzdFJlZi5jdXJyZW50Py5wYXJlbnRFbGVtZW50IDogbGlzdFJlZi5jdXJyZW50O1xuICAgIGNvbnN0IGxpc3RIZWlnaHQgPSBwb3B1cD8ub2Zmc2V0SGVpZ2h0IHx8IG1heEhlaWdodDtcbiAgICBjb25zdCBzcGFjZUJlbG93ID0gd2luZG93LmlubmVySGVpZ2h0IC0gcmVjdC5ib3R0b207XG4gICAgc2V0UGxhY2VtZW50KHNwYWNlQmVsb3cgPCBsaXN0SGVpZ2h0ID8gJ3RvcCcgOiAnYm90dG9tJyk7XG4gIH0sIFtpc09wZW5dKTtcblxuICBjb25zdCBjaGlsZHJlbkFycmF5ID0gUmVhY3QuQ2hpbGRyZW4udG9BcnJheShjaGlsZHJlbikuZmlsdGVyKEJvb2xlYW4pO1xuICAvLyBHcm91cHMgdW53cmFwcGVkOiB3aGF0IGBvbkNoYW5nZWAgY2FuIHBpY2sgZnJvbS5cbiAgY29uc3Qgb3B0aW9ucyA9IGZsYXR0ZW5Ecm9wZG93bk9wdGlvbnMoY2hpbGRyZW5BcnJheSkubWFwKFxuICAgIChvcHRpb24pID0+IG9wdGlvbi5wcm9wcyBhcyB1bmtub3duIGFzIFQsXG4gICk7XG5cbiAgY29uc3QgdmlzaWJsZUNoaWxkcmVuID0gc2VhcmNoYWJsZVxuICAgID8gZmlsdGVyRHJvcGRvd25PcHRpb25zKGNoaWxkcmVuQXJyYXksIHF1ZXJ5KVxuICAgIDogY2hpbGRyZW5BcnJheTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBjb25zdCBpdGVtcyA9ICh2aXNpYmxlQ2hpbGRyZW4gYXMgUmVhY3QuUmVhY3RFbGVtZW50PGFueT5bXSkubWFwKFxuICAgIChjaGlsZCwgaW5kZXgpID0+IHtcbiAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGQsIHtcbiAgICAgICAgaW5kZXgsXG4gICAgICAgIG9uQ2xpY2s6IG9uQ2hhbmdlLmJpbmQodGhpcyksXG4gICAgICAgIC4uLmNoaWxkLnByb3BzLFxuICAgICAgfSk7XG4gICAgfSxcbiAgKTtcblxuICBjb25zdCBtZW51SXRlbXMgPSB0b0Ryb3Bkb3duTWVudUl0ZW1zKHZpc2libGVDaGlsZHJlbik7XG5cbiAgLyoqIFRoZSBzZWxlY3RlZCBvcHRpb24gaWYgbGlzdGVkLCBlbHNlIHRoZSBmaXJzdCAob3IgbGFzdCwgZm9yIEFycm93VXApLiAqL1xuICBjb25zdCBnZXRJbml0aWFsQWN0aXZlVmFsdWUgPSAoXG4gICAgZW50cmllczogdHlwZW9mIG1lbnVJdGVtcyxcbiAgICBrZXkgPSAnQXJyb3dEb3duJyxcbiAgKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBmbGF0dGVuSXRlbXMoZW50cmllcykuZmluZChcbiAgICAgIChpdGVtKSA9PiAhaXRlbS5kaXNhYmxlZCAmJiBpdGVtLnZhbHVlID09PSBhY3RpdmVJdGVtPy52YWx1ZSxcbiAgICApO1xuICAgIHJldHVybiBzZWxlY3RlZD8udmFsdWUgPz8gZ2V0TmV4dEFjdGl2ZVZhbHVlKGVudHJpZXMsIG51bGwsIGtleSkgPz8gbnVsbDtcbiAgfTtcblxuICAvKiogT3BlbnMgd2l0aCB0aGUgc2VsZWN0ZWQgb3B0aW9uIGhpZ2hsaWdodGVkLCBlbHNlIHBlciB0aGUga2V5IHByZXNzZWQuICovXG4gIGNvbnN0IG9wZW4gPSAoa2V5ID0gJ0Fycm93RG93bicpID0+IHtcbiAgICBzZXRJc09wZW4odHJ1ZSk7XG4gICAgc2V0QWN0aXZlVmFsdWUoZ2V0SW5pdGlhbEFjdGl2ZVZhbHVlKG1lbnVJdGVtcywga2V5KSk7XG4gIH07XG5cbiAgY29uc3QgdG9nZ2xlS2V5cyA9IHVzZVRvZ2dsZUxpc3RLZXlzKHtcbiAgICBsaXN0SWQsXG4gICAgaXNPcGVuLFxuICAgIGRpc2FibGVkOiBpc0Ryb3Bkb3duRGlzYWJsZWQsXG4gICAgbWVudUl0ZW1zLFxuICAgIGFjdGl2ZVZhbHVlLFxuICAgIHNldEFjdGl2ZVZhbHVlLFxuICAgIG9wZW4sXG4gICAgY2xvc2UsXG4gICAgb25QaWNrOiAodmFsdWUpID0+IG9uQ2hhbmdlKHZhbHVlIGFzIHN0cmluZyksXG4gICAgb25LZXlEb3duOiBjb21wb25lbnRQcm9wcz8udG9nZ2xlQnV0dG9uPy5vbktleURvd24sXG4gICAgb25LZXlVcDogY29tcG9uZW50UHJvcHM/LnRvZ2dsZUJ1dHRvbj8ub25LZXlVcCxcbiAgfSk7XG5cbiAgLy8gVGhlIHNlYXJjaCBib3ggZHJpdmVzIHRoZSBsaXN0IHdoaWxlIGl0IGlzIG9wZW4uXG4gIGNvbnN0IHNlYXJjaEtleXMgPSB1c2VUb2dnbGVMaXN0S2V5czxIVE1MSW5wdXRFbGVtZW50Pih7XG4gICAgbGlzdElkLFxuICAgIGlzT3BlbixcbiAgICBkaXNhYmxlZDogaXNEcm9wZG93bkRpc2FibGVkLFxuICAgIG1lbnVJdGVtcyxcbiAgICBhY3RpdmVWYWx1ZSxcbiAgICBzZXRBY3RpdmVWYWx1ZSxcbiAgICBvcGVuLFxuICAgIGNsb3NlLFxuICAgIG9uUGljazogKHZhbHVlKSA9PiBvbkNoYW5nZSh2YWx1ZSBhcyBzdHJpbmcpLFxuICAgIHR5cGluZzogdHJ1ZSxcbiAgICAvLyBFc2NhcGUgY2xlYXJzIHRoZSBzZWFyY2ggZmlyc3QsIHRoZW4gY2xvc2VzLlxuICAgIG9uS2V5RG93bjogKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJyAmJiBxdWVyeSkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBjaGFuZ2VRdWVyeSgnJyk7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG5cbiAgLyoqIFVwZGF0ZXMgdGhlIHNlYXJjaCBhbmQgbW92ZXMgdGhlIGhpZ2hsaWdodCB0byBzdWl0IGl0LiAqL1xuICBjb25zdCBjaGFuZ2VRdWVyeSA9IChuZXh0OiBzdHJpbmcpID0+IHtcbiAgICBzZXRRdWVyeShuZXh0KTtcbiAgICBjb25zdCBtYXRjaGVzID0gdG9Ecm9wZG93bk1lbnVJdGVtcyhcbiAgICAgIGZpbHRlckRyb3Bkb3duT3B0aW9ucyhjaGlsZHJlbkFycmF5LCBuZXh0KSxcbiAgICApO1xuICAgIC8vIEEgY2xlYXJlZCBzZWFyY2ggZ29lcyBiYWNrIHRvIHdoZXJlIG9wZW5pbmcgc3RhcnRzOyBhIHNlYXJjaCB0byBpdHNcbiAgICAvLyBmaXJzdCBtYXRjaC5cbiAgICBzZXRBY3RpdmVWYWx1ZShcbiAgICAgIG5leHQudHJpbSgpXG4gICAgICAgID8gKGdldE5leHRBY3RpdmVWYWx1ZShtYXRjaGVzLCBudWxsLCAnQXJyb3dEb3duJykgPz8gbnVsbClcbiAgICAgICAgOiBnZXRJbml0aWFsQWN0aXZlVmFsdWUobWF0Y2hlcyksXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBjb250ZXh0VmFsdWU6IERyb3Bkb3duQ29udGV4dFR5cGUgPSBSZWFjdC51c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBvbkNoYW5nZSxcbiAgICAgIGFjdGl2ZUl0ZW0sXG4gICAgICBtYXhIZWlnaHQsXG4gICAgICBsaXN0UmVmLFxuICAgICAgcGxhY2VtZW50LFxuICAgICAgYWN0aXZlVmFsdWUsXG4gICAgICBzZXRBY3RpdmVWYWx1ZSxcbiAgICAgIHNlYXJjaGFibGUsXG4gICAgICBlbXB0eVN0YXRlOiBxdWVyeSA/IHNlYXJjaEVtcHR5U3RhdGUgOiB1bmRlZmluZWQsXG4gICAgfSksXG4gICAgW1xuICAgICAgb25DaGFuZ2UsXG4gICAgICBhY3RpdmVJdGVtLFxuICAgICAgbWF4SGVpZ2h0LFxuICAgICAgcGxhY2VtZW50LFxuICAgICAgYWN0aXZlVmFsdWUsXG4gICAgICBzZWFyY2hhYmxlLFxuICAgICAgcXVlcnksXG4gICAgICBzZWFyY2hFbXB0eVN0YXRlLFxuICAgIF0sXG4gICk7XG5cbiAgY29uc3QgdmFsdWUgPSAoXG4gICAgYWN0aXZlSXRlbVxuICAgICAgPyBhY3RpdmVJdGVtLmxhYmVsIHx8XG4gICAgICAgIGFjdGl2ZUl0ZW0uY2hpbGRyZW4gfHxcbiAgICAgICAgYWN0aXZlSXRlbS52YWx1ZSB8fFxuICAgICAgICBhY3RpdmVJdGVtIHx8XG4gICAgICAgIHBsYWNlaG9sZGVyXG4gICAgICA6IHBsYWNlaG9sZGVyXG4gICkgYXMgUmVhY3ROb2RlO1xuXG4gIGNvbnN0IHJhd0F2YXRhciA9XG4gICAgYWN0aXZlSXRlbSAmJiAoYWN0aXZlSXRlbSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikuYXZhdGFyO1xuXG4gIGNvbnN0IHNlbGVjdGVkQXZhdGFyID0gIWlzTmlsbChyYXdBdmF0YXIpID8gKFxuICAgIHR5cGVvZiByYXdBdmF0YXIgPT09ICdzdHJpbmcnID8gKFxuICAgICAgPEF2YXRhclxuICAgICAgICBzaXplPXtBdmF0YXJTaXplcy5zbWFsbH1cbiAgICAgICAgaW1hZ2U9e3Jhd0F2YXRhcn1cbiAgICAgICAgYm9yZGVyPXthdmF0YXJCb3JkZXJ9XG4gICAgICAvPlxuICAgICkgOiBSZWFjdC5pc1ZhbGlkRWxlbWVudChyYXdBdmF0YXIpID8gKFxuICAgICAgKHJhd0F2YXRhciBhcyBSZWFjdE5vZGUpXG4gICAgKSA6IG51bGxcbiAgKSA6IG51bGw7XG5cbiAgY29uc3QgbGVhZGluZ0VsZW1lbnQgPSAhaXNOaWxsKHNlbGVjdGVkQXZhdGFyKSA/IChcbiAgICAoc2VsZWN0ZWRBdmF0YXIgYXMgUmVhY3ROb2RlKVxuICApIDogaWNvbiA/IChcbiAgICA8SWNvblxuICAgICAgbmFtZT17aWNvbn1cbiAgICAgIHNpemU9ezE2fVxuICAgICAgY29sb3I9e2lzRHJvcGRvd25EaXNhYmxlZCA/IHRoZW1lLmNvbG9ycy5ncmV5IDogdGhlbWUuY29sb3JzLmdyZXlEYXJrZXI4MH1cbiAgICAvPlxuICApIDogbnVsbDtcblxuICBjb25zdCB0b2dnbGVDb250ZW50ID0gIWlzTmlsbChsZWFkaW5nRWxlbWVudCkgPyAoXG4gICAgPFNlbGVjdGVkQ29udGVudD5cbiAgICAgIDxMZWFkaW5nRWxlbWVudD57bGVhZGluZ0VsZW1lbnR9PC9MZWFkaW5nRWxlbWVudD5cbiAgICAgIDxTZWxlY3RlZExhYmVsPnt2YWx1ZX08L1NlbGVjdGVkTGFiZWw+XG4gICAgPC9TZWxlY3RlZENvbnRlbnQ+XG4gICkgOiAoXG4gICAgPFNlbGVjdGVkTGFiZWw+e3ZhbHVlfTwvU2VsZWN0ZWRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxEcm9wZG93bkZpZWxkV3JhcHBlciB7Li4ud3JhcHBlckNzc1Byb3BzfT5cbiAgICAgIHtsYWJlbCA/IChcbiAgICAgICAgPExhYmVsIGlkPXtsYWJlbElkfSBkaXNhYmxlZD17aXNEcm9wZG93bkRpc2FibGVkfSBiYWRnZT17YmFkZ2V9PlxuICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9MYWJlbD5cbiAgICAgICkgOiBudWxsfVxuICAgICAgPERyb3Bkb3duQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17Y29udGV4dFZhbHVlfT5cbiAgICAgICAgPERyb3Bkb3duQmFzZVxuICAgICAgICAgIHsuLi5jb21wb25lbnRQcm9wcz8uYmFzZX1cbiAgICAgICAgICB7Li4uYmFzZUNzc1Byb3BzfVxuICAgICAgICAgIHJlZj17ZHJvcGRvd25SZWZ9XG4gICAgICAgICAgZGF0YS10ZXN0aWQ9XCJkcm9wZG93blwiPlxuICAgICAgICAgIDxEcm9wZG93blRvZ2dsZVxuICAgICAgICAgICAgey4uLmNvbXBvbmVudFByb3BzPy50b2dnbGVCdXR0b259XG4gICAgICAgICAgICB7Li4udG9nZ2xlQ3NzUHJvcHN9XG4gICAgICAgICAgICByZWY9e3RvZ2dsZVJlZn1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgaXNPcGVuPXtpc09wZW59XG4gICAgICAgICAgICBkaXNhYmxlZD17aXNEcm9wZG93bkRpc2FibGVkfVxuICAgICAgICAgICAgc3RhdHVzPXtzdGF0dXN9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiAoaXNPcGVuID8gY2xvc2UoKSA6IG9wZW4oKSl9XG4gICAgICAgICAgICB7Li4udG9nZ2xlS2V5c31cbiAgICAgICAgICAgIG9uRm9jdXM9e3NldElzRm9jdXNlZC5iaW5kKG51bGwsIHRydWUpfVxuICAgICAgICAgICAgY29sb3JzPXtjb2xvcnN9XG4gICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e2xhYmVsSWR9XG4gICAgICAgICAgICB7Li4uKGJhZGdlICYmIHsgJ2FyaWEtZGVzY3JpYmVkYnknOiBiYWRnZS5pZCB9KX1cbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e2xpc3RJZH0+XG4gICAgICAgICAgICB7dG9nZ2xlQ29udGVudH1cbiAgICAgICAgICAgIDxEcm9wZG93bkFycm93XG4gICAgICAgICAgICAgIHsuLi5jb21wb25lbnRQcm9wcz8udG9nZ2xlQnV0dG9uQXJyb3d9XG4gICAgICAgICAgICAgIGlzVXA9e2lzT3Blbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Ecm9wZG93blRvZ2dsZT5cblxuICAgICAgICAgIHtpc09wZW4gJiYgc2VhcmNoYWJsZSA/IChcbiAgICAgICAgICAgIDxEcm9wZG93blNlYXJjaFxuICAgICAgICAgICAgICB7Li4uc2VhcmNoS2V5c31cbiAgICAgICAgICAgICAgcXVlcnk9e3F1ZXJ5fVxuICAgICAgICAgICAgICBvblF1ZXJ5Q2hhbmdlPXtjaGFuZ2VRdWVyeX1cbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3NlYXJjaFBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICBsaXN0SWQ9e2xpc3RJZH1cbiAgICAgICAgICAgICAgcGxhY2VtZW50PXtwbGFjZW1lbnR9PlxuICAgICAgICAgICAgICA8RHJvcGRvd25PcHRpb25zIGlkPXtsaXN0SWR9PntpdGVtc308L0Ryb3Bkb3duT3B0aW9ucz5cbiAgICAgICAgICAgIDwvRHJvcGRvd25TZWFyY2g+XG4gICAgICAgICAgKSA6IGlzT3BlbiA/IChcbiAgICAgICAgICAgIDxEcm9wZG93bk9wdGlvbnMgaWQ9e2xpc3RJZH0+e2l0ZW1zfTwvRHJvcGRvd25PcHRpb25zPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L0Ryb3Bkb3duQmFzZT5cbiAgICAgIDwvRHJvcGRvd25Db250ZXh0LlByb3ZpZGVyPlxuICAgICAge2hlbHBlclRleHQgfHwgZXJyb3JzID8gKFxuICAgICAgICA8Rm9ybUhlbHBlclRleHRcbiAgICAgICAgICByb2xlPVwic3RhdHVzXCJcbiAgICAgICAgICBzdGF0dXM9e3N0YXR1c31cbiAgICAgICAgICBkaXNhYmxlZD17aXNEcm9wZG93bkRpc2FibGVkfT5cbiAgICAgICAgICB7ZXJyb3JzPy5tZXNzYWdlIHx8IGhlbHBlclRleHR9XG4gICAgICAgIDwvRm9ybUhlbHBlclRleHQ+XG4gICAgICApIDogbnVsbH1cbiAgICA8L0Ryb3Bkb3duRmllbGRXcmFwcGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRHJvcGRvd247XG4iXX0= */",
|
|
28561
28699
|
toString: Dropdown_EMOTION_STRINGIFIED_CSS_ERROR_
|
|
28562
28700
|
});
|
|
28563
28701
|
const LeadingElement = /*#__PURE__*/base_default()("span", process.env.NODE_ENV === "production" ? {
|
|
@@ -28570,7 +28708,7 @@ const LeadingElement = /*#__PURE__*/base_default()("span", process.env.NODE_ENV
|
|
|
28570
28708
|
styles: "display:inline-flex;align-items:center;flex-shrink:0"
|
|
28571
28709
|
} : {
|
|
28572
28710
|
name: "3ahwa4",
|
|
28573
|
-
styles: "display:inline-flex;align-items:center;flex-shrink:0/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9Ecm9wZG93bi9Ecm9wZG93bi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEVrQyIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91aS1raXQvdWkta2l0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVN0YXRlLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlUmVmLFxuICB1c2VJZCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IHVzZUNsaWNrT3V0c2lkZSB9IGZyb20gJ0Bzc2EtdWkta2l0L2hvb2tzJztcbmltcG9ydCB7IGlzTmlsbCB9IGZyb20gJ0Bzc2EtdWkta2l0L3V0aWxzJztcblxuaW1wb3J0IERyb3Bkb3duVG9nZ2xlIGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duVG9nZ2xlJztcbmltcG9ydCBEcm9wZG93bkFycm93IGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duQXJyb3cnO1xuaW1wb3J0IERyb3Bkb3duT3B0aW9ucyBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMnO1xuaW1wb3J0IHtcbiAgZmxhdHRlbkRyb3Bkb3duT3B0aW9ucyxcbiAgdG9Ecm9wZG93bk1lbnVJdGVtcyxcbn0gZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25PcHRpb25zL3V0aWxzJztcbmltcG9ydCB7IHVzZVRvZ2dsZUxpc3RLZXlzIH0gZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25PcHRpb25zL3VzZVRvZ2dsZUxpc3RLZXlzJztcbmltcG9ydCB7IGdldE5leHRBY3RpdmVWYWx1ZSB9IGZyb20gJ0Bjb21wb25lbnRzL0NvbnRleHRNZW51JztcbmltcG9ydCB7IGZsYXR0ZW5JdGVtcyB9IGZyb20gJ0Bjb21wb25lbnRzL0NvbnRleHRNZW51L3V0aWxzJztcbmltcG9ydCBBdmF0YXIsIHsgQXZhdGFyU2l6ZXMgfSBmcm9tICdAY29tcG9uZW50cy9BdmF0YXInO1xuaW1wb3J0IEljb24gZnJvbSAnQGNvbXBvbmVudHMvSWNvbic7XG5pbXBvcnQgTGFiZWwgZnJvbSAnQGNvbXBvbmVudHMvTGFiZWwnO1xuaW1wb3J0IEZvcm1IZWxwZXJUZXh0IGZyb20gJ0Bjb21wb25lbnRzL0Zvcm1IZWxwZXJUZXh0JztcbmltcG9ydCBEcm9wZG93bkNvbnRleHQgZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24uY29udGV4dCc7XG5pbXBvcnQgeyByZXNvbHZlRGlzYWJsZWQgfSBmcm9tICdAdXRpbHMvZGVwcmVjYXRpb24nO1xuaW1wb3J0IHsgRHJvcGRvd25PcHRpb25Qcm9wcyB9IGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duT3B0aW9ucy90eXBlcyc7XG5cbmltcG9ydCB7IERyb3Bkb3duQ29udGV4dFR5cGUsIERyb3Bkb3duUG9zaXRpb25zLCBEcm9wZG93blByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qXG4gKiBCb3RoIGxldmVscyBhcmUgc2hyaW5rLXRvLWZpdCwgYW5kIGEgc2hyaW5rLXRvLWZpdCBib3ggc2l6ZXMgdG8gaXRzXG4gKiBtaW4tY29udGVudCB3aGVuIHRoYXQgZXhjZWVkcyB0aGUgc3BhY2UgYXZhaWxhYmxlIC0tIGZvciBhIG5vd3JhcCBsYWJlbCB0aGF0XG4gKiBpcyB0aGUgZW50aXJlIHN0cmluZywgc28gdGhlIGRyb3Bkb3duIHdvdWxkIGdyb3cgcGFzdCBpdHMgY29udGFpbmVyIGluc3RlYWRcbiAqIG9mIGVsbGlwc2lzaW5nLiBgbWF4LXdpZHRoOiAxMDAlYCBnaXZlcyBlYWNoIGxldmVsIGEgZGVmaW5pdGUgd2lkdGggdG9cbiAqIHJlc29sdmUgYWdhaW5zdCwgd2hpY2ggaXMgd2hhdCBhY3R1YWxseSBsZXRzIHRoZSBsYWJlbCBjbGlwLlxuICovXG5jb25zdCBEcm9wZG93bkZpZWxkV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuYDtcblxuY29uc3QgRHJvcGRvd25CYXNlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogMTAwJTtcbmA7XG5cbmNvbnN0IFNlbGVjdGVkQ29udGVudCA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIG1pbi13aWR0aDogMDtcbmA7XG5cbi8qKlxuICogS2VlcHMgdGhlIHNlbGVjdGVkIHZhbHVlIG9uIGEgc2luZ2xlIGxpbmUgYW5kIGVsbGlwc2lzZXMgaXQuIFdpdGhvdXQgdGhpcyB0aGVcbiAqIGxhYmVsIHdyYXBzIGFuZCwgYmVjYXVzZSB0aGUgdG9nZ2xlIGlzIGEgZml4ZWQgNDRweCwgc3BpbGxzIGFib3ZlIGFuZCBiZWxvd1xuICogdGhlIGJvcmRlci4gYG1pbi13aWR0aDogMGAgaXMgd2hhdCBsZXRzIHRoZSB0b2dnbGUgc2hyaW5rIGJlbG93IHRoZSBsYWJlbCdzXG4gKiBpbnRyaW5zaWMgd2lkdGggYXQgYWxsIOKAlCBhIG5vd3JhcCBmbGV4IGl0ZW0gb3RoZXJ3aXNlIHJlcG9ydHMgaXRzIGZ1bGwgdGV4dFxuICogd2lkdGggYXMgaXRzIG1pbmltdW0sIHNvIHRoZSBkcm9wZG93biB3b3VsZCBrZWVwIGdyb3dpbmcgaW5zdGVhZCBvZiBjbGlwcGluZy5cbiAqL1xuY29uc3QgU2VsZWN0ZWRMYWJlbCA9IHN0eWxlZC5zcGFuYFxuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgbWluLXdpZHRoOiAwO1xuYDtcblxuY29uc3QgTGVhZGluZ0VsZW1lbnQgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYDtcblxuLyoqXG4gKiBEcm9wZG93biAtIFNlbGVjdC1saWtlIGRyb3Bkb3duIGNvbXBvbmVudCBmb3Igc2luZ2xlIHNlbGVjdGlvblxuICpcbiAqIEEgZmxleGlibGUgZHJvcGRvd24gY29tcG9uZW50IHRoYXQgYWxsb3dzIHVzZXJzIHRvIHNlbGVjdCBvbmUgb3B0aW9uIGZyb21cbiAqIGEgbGlzdCBvZiBjaG9pY2VzLiBVc2VzIGEgY29tcG91bmQgY29tcG9uZW50IHBhdHRlcm4gd2l0aCBEcm9wZG93bk9wdGlvblxuICogY2hpbGRyZW4uIFByb3ZpZGVzIGtleWJvYXJkIG5hdmlnYXRpb24sIGFjY2Vzc2liaWxpdHkgZmVhdHVyZXMsIGNsaWNrLW91dHNpZGVcbiAqIHRvIGNsb3NlIGZ1bmN0aW9uYWxpdHksIGFuZCBhdXRvbWF0aWMgdmlld3BvcnQtYXdhcmUgcGxhY2VtZW50IG9mIHRoZSBvcHRpb25zIGxpc3QuXG4gKlxuICogT24gZXZlcnkgb3BlbiB0aGUgY29tcG9uZW50IG1lYXN1cmVzIGF2YWlsYWJsZSBzcGFjZSBiZWxvdyB0aGUgdG9nZ2xlIGJ1dHRvblxuICogYW5kIGZsaXBzIHRoZSBsaXN0IHVwd2FyZCB3aGVuIHRoZXJlIGlzIG5vdCBlbm91Z2ggcm9vbSwgcHJldmVudGluZyB0aGUgbGlzdFxuICogZnJvbSBiZWluZyBjbGlwcGVkIGJ5IHRoZSB2aWV3cG9ydCBlZGdlLiBUaGlzIGJlaGF2aW9yIGNhbiBiZSBvdmVycmlkZGVuIHZpYVxuICogZHJvcGRvd25Qcm9wcy5kcm9wZG93blBvc2l0aW9uLlxuICpcbiAqIENvbXBvbmVudCBzdHJ1Y3R1cmU6XG4gKiAtIERyb3Bkb3duIChyb290IGNvbnRhaW5lciB3aXRoIGNvbnRleHQpXG4gKiAgIC0gRHJvcGRvd25Ub2dnbGUgKGJ1dHRvbiB0aGF0IG9wZW5zL2Nsb3NlcyBkcm9wZG93bilcbiAqICAgLSBEcm9wZG93bk9wdGlvbnMgKG1lbnUgY29udGFpbmVyIHRoYXQgYXBwZWFycyB3aGVuIG9wZW4pXG4gKiAgICAgLSBEcm9wZG93bk9wdGlvbiAoaW5kaXZpZHVhbCBzZWxlY3RhYmxlIGl0ZW1zKVxuICpcbiAqIEBjYXRlZ29yeSBGb3JtIENvbnRyb2xzXG4gKiBAc3ViY2F0ZWdvcnkgU2VsZWN0aW9uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgaXRlbXMgPSBbXG4gKiAgIHsgaWQ6IDEsIHZhbHVlOiAnQXBwbGUnIH0sXG4gKiAgIHsgaWQ6IDIsIHZhbHVlOiAnQmFuYW5hJyB9LFxuICogICB7IGlkOiAzLCB2YWx1ZTogJ0NoZXJyeScgfSxcbiAqIF07XG4gKlxuICogPERyb3Bkb3duXG4gKiAgIHNlbGVjdGVkSXRlbT17aXRlbXNbMF19XG4gKiAgIG9uQ2hhbmdlPXsoaXRlbSkgPT4gaGFuZGxlU2VsZWN0aW9uKGl0ZW0pfVxuICogICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBhIGZydWl0XCJcbiAqID5cbiAqICAge2l0ZW1zLm1hcChpdGVtID0+IChcbiAqICAgICA8RHJvcGRvd25PcHRpb24ga2V5PXtpdGVtLmlkfSB2YWx1ZT17aXRlbS5pZH0+XG4gKiAgICAgICB7aXRlbS52YWx1ZX1cbiAqICAgICA8L0Ryb3Bkb3duT3B0aW9uPlxuICogICApKX1cbiAqIDwvRHJvcGRvd24+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiAvLyBDb250cm9sbGVkIG9wZW4gc3RhdGVcbiAqIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gKiA8RHJvcGRvd25cbiAqICAgaXNPcGVuPXtpc09wZW59XG4gKiAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gKiAgIHNlbGVjdGVkSXRlbT17c2VsZWN0ZWR9XG4gKiA+XG4gKiAgIHtvcHRpb25zLm1hcChvcHQgPT4gKFxuICogICAgIDxEcm9wZG93bk9wdGlvbiBrZXk9e29wdC5pZH0gdmFsdWU9e29wdC5pZH0+XG4gKiAgICAgICB7b3B0LmxhYmVsfVxuICogICAgIDwvRHJvcGRvd25PcHRpb24+XG4gKiAgICkpfVxuICogPC9Ecm9wZG93bj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIFdpdGggY3VzdG9tIHByb3BzIGZvciBzdWItY29tcG9uZW50cyBhbmQgZm9yY2VkIHVwd2FyZCBwbGFjZW1lbnRcbiAqIDxEcm9wZG93blxuICogICBzZWxlY3RlZEl0ZW09e3NlbGVjdGVkfVxuICogICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICogICBkcm9wZG93blByb3BzPXt7XG4gKiAgICAgYmFzZTogeyBpZDogJ215LWRyb3Bkb3duJyB9LFxuICogICAgIHRvZ2dsZUJ1dHRvbjogeyAnZGF0YS10ZXN0aWQnOiAnZHJvcGRvd24tdG9nZ2xlJyB9LFxuICogICAgIHRvZ2dsZUJ1dHRvbkFycm93OiB7IGNsYXNzTmFtZTogJ2N1c3RvbS1hcnJvdycgfSxcbiAqICAgICBkcm9wZG93blBvc2l0aW9uOiBEcm9wZG93blBvc2l0aW9ucy50b3AsXG4gKiAgIH19XG4gKiA+XG4gKiAgIHtvcHRpb25zLm1hcChvcHQgPT4gKFxuICogICAgIDxEcm9wZG93bk9wdGlvbiBrZXk9e29wdC5pZH0gdmFsdWU9e29wdC5pZH0+XG4gKiAgICAgICB7b3B0LmxhYmVsfVxuICogICAgIDwvRHJvcGRvd25PcHRpb24+XG4gKiAgICkpfVxuICogPC9Ecm9wZG93bj5cbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIERyb3Bkb3duT3B0aW9ufSAtIENoaWxkIGNvbXBvbmVudCBmb3IgaW5kaXZpZHVhbCBvcHRpb25zXG4gKiBAc2VlIHtAbGluayBEcm9wZG93blRvZ2dsZX0gLSBUb2dnbGUgYnV0dG9uIGNvbXBvbmVudFxuICogQHNlZSB7QGxpbmsgRHJvcGRvd25PcHRpb25zfSAtIE9wdGlvbnMgbWVudSBjb250YWluZXJcbiAqXG4gKiBAYWNjZXNzaWJpbGl0eVxuICogLSBBUklBIGF0dHJpYnV0ZXMgc2V0IGFjY29yZGluZyB0byBXQUktQVJJQSBjb21ib2JveCBwYXR0ZXJuXG4gKiAtIEtleWJvYXJkIG5hdmlnYXRpb24gKEFycm93IGtleXMsIEVudGVyLCBFc2NhcGUpXG4gKiAtIENsaWNrIG91dHNpZGUgdG8gY2xvc2VcbiAqIC0gU2NyZWVuIHJlYWRlciBmcmllbmRseVxuICogLSBGb2N1cyBtYW5hZ2VtZW50XG4gKlxuICogQHNlZSBodHRwczovL3d3dy53My5vcmcvV0FJL0FSSUEvYXBnL2V4YW1wbGUtaW5kZXgvY29tYm9ib3gvY29tYm9ib3gtc2VsZWN0LW9ubHkuaHRtbFxuICovXG5jb25zdCBEcm9wZG93biA9IDxUIGV4dGVuZHMgRHJvcGRvd25PcHRpb25Qcm9wcz4oe1xuICBzZWxlY3RlZEl0ZW0sXG4gIGRpc2FibGVkLFxuICBpc0Rpc2FibGVkLFxuICBpc09wZW46IGlzSW5pdE9wZW4sXG4gIGNoaWxkcmVuLFxuICBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLFxuICBjbGFzc05hbWUsXG4gIHBsYWNlaG9sZGVyID0gJ1NlbGVjdCBzb21ldGhpbmcnLFxuICBtYXhIZWlnaHQgPSAyMDAsXG4gIGF2YXRhckJvcmRlciA9IGZhbHNlLFxuICBsYWJlbCxcbiAgbGFiZWxCYWRnZSxcbiAgaGVscGVyVGV4dCxcbiAgZXJyb3JzLFxuICBzdWNjZXNzLFxuICBpY29uLFxuICB3aWR0aCxcbiAgZHJvcGRvd25Qcm9wczogY29tcG9uZW50UHJvcHMsXG59OiBEcm9wZG93blByb3BzPFQ+KSA9PiB7XG4gIGNvbnN0IGlzRHJvcGRvd25EaXNhYmxlZCA9IHJlc29sdmVEaXNhYmxlZCgnRHJvcGRvd24nLCBkaXNhYmxlZCwgaXNEaXNhYmxlZCk7XG4gIGNvbnN0IHN0YXR1cyA9IHN1Y2Nlc3MgPyAnc3VjY2VzcycgOiBlcnJvcnMgPyAnZXJyb3InIDogJ2Jhc2ljJztcbiAgY29uc3QgeyBkcm9wZG93blBvc2l0aW9uID0gRHJvcGRvd25Qb3NpdGlvbnMuYXV0byB9ID0gY29tcG9uZW50UHJvcHMgPz8ge307XG4gIC8vIGB3aWR0aGAgaGFzIG5vIGRlZmF1bHQ6IHdpdGhvdXQgaXQgZXZlcnkgbGV2ZWwga2VlcHMgc2hyaW5rLXdyYXBwaW5nLCB3aGljaFxuICAvLyBpcyB0aGUgaGlzdG9yaWNhbCBiZWhhdmlvdXIuIFdoZW4gc2V0LCBhbGwgdGhyZWUgbmVzdGVkIGxldmVsc1xuICAvLyAod3JhcHBlciAtPiBiYXNlIC0+IHRvZ2dsZSkgaGF2ZSB0byBiZSBzdHJldGNoZWQg4oCUIHNpemluZyBvbmx5IG9uZSBpcyBhXG4gIC8vIG5vLW9wLCBiZWNhdXNlIHRoZSBsZXZlbCBhYm92ZSBpdCBpcyBzdGlsbCBzaXplZCB0byBpdHMgY29udGVudC5cbiAgLy9cbiAgLy8gT25seSB0aGUgb3V0ZXJtb3N0IGxldmVsIGdldHMgdGhlIHJlcXVlc3RlZCB2YWx1ZTsgdGhlIGlubmVyIHR3byBnZXQgMTAwJS5cbiAgLy8gUmVwZWF0aW5nIHRoZSB2YWx1ZSB3b3VsZCBjb21wb3VuZCByZWxhdGl2ZSB1bml0czogYHdpZHRoPVwiNjAlXCJgIHdvdWxkXG4gIC8vIG90aGVyd2lzZSByZW5kZXIgdGhlIGJhc2UgYXQgNjAlIG9mIHRoZSB3cmFwcGVyIGFuZCB0aGUgdG9nZ2xlIGF0IDYwJSBvZlxuICAvLyB0aGF0LCBpLmUuIDIxLjYlIG9mIHRoZSBjb250YWluZXIuXG4gIC8vXG4gIC8vIFNwcmVhZCByYXRoZXIgdGhhbiBwYXNzZWQgYXMgYGNzcz17Li4ufWA6IEVtb3Rpb24gd3JhcHMgYW4gZWxlbWVudCB3aGVuZXZlclxuICAvLyBgY3NzYCBpcyBwcmVzZW50IGluIGl0cyBwcm9wcywgZXZlbiB3aGVuIGl0cyB2YWx1ZSBpcyB1bmRlZmluZWQsIGFuZCB0aGF0XG4gIC8vIHJlLXNlcmlhbGl6ZXMgYW55IGluY29taW5nIGBjbGFzc05hbWVgIChlLmcuIGZyb20gYHN0eWxlZChEcm9wZG93bilgKS5cbiAgLy8gT21pdHRpbmcgdGhlIGtleSBrZWVwcyB0aGUgbm8td2lkdGggcGF0aCBpZGVudGljYWwgdG8gd3JpdGluZyBubyBgY3NzYCBwcm9wLlxuICBjb25zdCB3cmFwcGVyQ3NzUHJvcHMgPSB3aWR0aCA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogeyBjc3M6IHsgd2lkdGggfSB9O1xuICBjb25zdCBiYXNlQ3NzUHJvcHMgPVxuICAgIHdpZHRoID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiB7IGNzczogeyB3aWR0aDogJzEwMCUnIH0gfTtcbiAgY29uc3QgdG9nZ2xlQ3NzUHJvcHMgPVxuICAgIHdpZHRoID09PSB1bmRlZmluZWRcbiAgICAgID8gdW5kZWZpbmVkXG4gICAgICA6IHsgY3NzOiBbeyB3aWR0aDogJzEwMCUnIH0sIGNvbXBvbmVudFByb3BzPy50b2dnbGVCdXR0b24/LmNzc10gfTtcblxuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKCk7XG4gIGNvbnN0IGRyb3Bkb3duUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgbGlzdFJlZiA9IHVzZVJlZjxIVE1MVUxpc3RFbGVtZW50PihudWxsKTtcblxuICBjb25zdCBkcm9wZG93bklkID0gdXNlSWQoKTtcbiAgLy8gTmFtZXMgdGhlIHRvZ2dsZTsgbGVmdCBvdXQgd2l0aG91dCBhIGxhYmVsLCBzbyBpdCBuZXZlciBwb2ludHMgYXQgYVxuICAvLyBtaXNzaW5nIGVsZW1lbnQuXG4gIGNvbnN0IGxhYmVsSWQgPSBsYWJlbCA/IGBkcm9wZG93bi1sYWJlbC0ke2Ryb3Bkb3duSWR9YCA6IHVuZGVmaW5lZDtcbiAgY29uc3QgYmFkZ2UgPVxuICAgIGxhYmVsICYmIGxhYmVsQmFkZ2VcbiAgICAgID8geyAuLi5sYWJlbEJhZGdlLCBpZDogYGRyb3Bkb3duLWJhZGdlLSR7ZHJvcGRvd25JZH1gIH1cbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gIGNvbnN0IFtpc0ZvY3VzZWQsIHNldElzRm9jdXNlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZShpc0luaXRPcGVuIHx8IGZhbHNlKTtcbiAgY29uc3QgW2NvbG9ycywgc2V0Q29sb3JzXSA9IHVzZVN0YXRlPEFycmF5PHN0cmluZyB8IHVuZGVmaW5lZD4+KFtdKTtcbiAgY29uc3QgW2FjdGl2ZUl0ZW0sIHNldEFjdGl2ZUl0ZW1dID0gdXNlU3RhdGU8VCB8IHVuZGVmaW5lZD4oc2VsZWN0ZWRJdGVtKTtcbiAgY29uc3QgW3BsYWNlbWVudCwgc2V0UGxhY2VtZW50XSA9IHVzZVN0YXRlPCd0b3AnIHwgJ2JvdHRvbSc+KCdib3R0b20nKTtcbiAgLy8gSGlnaGxpZ2h0ZWQgb3B0aW9uLiBGb2N1cyBzdGF5cyBvbiB0aGUgdG9nZ2xlICh0aGUgY29tYm9ib3gpLCB3aGljaFxuICAvLyBkcml2ZXMgdGhlIGxpc3QgYW5kIHBvaW50cyBhdCB0aGUgb3B0aW9uIHdpdGggYXJpYS1hY3RpdmVkZXNjZW5kYW50LlxuICBjb25zdCBbYWN0aXZlVmFsdWUsIHNldEFjdGl2ZVZhbHVlXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bWJlciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBsaXN0SWQgPSBgZHJvcGRvd24tcG9wdXAtJHtkcm9wZG93bklkfWA7XG5cbiAgY29uc3QgY2xvc2UgPSAoKSA9PiB7XG4gICAgc2V0SXNPcGVuKGZhbHNlKTtcbiAgICBzZXRBY3RpdmVWYWx1ZShudWxsKTtcbiAgfTtcblxuICBjb25zdCBvbkNoYW5nZTogRHJvcGRvd25Db250ZXh0VHlwZVsnb25DaGFuZ2UnXSA9IChpdGVtKSA9PiB7XG4gICAgY29uc3QgaW5uZXJJdGVtID0gb3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBpdGVtKVswXTtcblxuICAgIGNsb3NlKCk7XG5cbiAgICBpZiAoaXNEcm9wZG93bkRpc2FibGVkIHx8ICFpbm5lckl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaW5uZXJJdGVtLnZhbHVlID09PSBhY3RpdmVJdGVtPy52YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldEFjdGl2ZUl0ZW0oaW5uZXJJdGVtKTtcbiAgICBpZiAoaGFuZGxlQ2hhbmdlKSB7XG4gICAgICBoYW5kbGVDaGFuZ2UoaW5uZXJJdGVtKTtcbiAgICB9XG4gIH07XG5cbiAgdXNlQ2xpY2tPdXRzaWRlKGRyb3Bkb3duUmVmLCAoKSA9PiBpc09wZW4gJiYgY2xvc2UoKSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNEcm9wZG93bkRpc2FibGVkKSB7XG4gICAgICBzZXRDb2xvcnMoW3RoZW1lLmNvbG9ycy5ncmV5RGFya2VyNjAsIHRoZW1lLmNvbG9ycy5ncmV5MjBdKTtcbiAgICB9IGVsc2UgaWYgKGlzT3Blbikge1xuICAgICAgc2V0Q29sb3JzKFt0aGVtZS5jb2xvcnMud2hpdGUsIHRoZW1lLmNvbG9ycy53aGl0ZTYwXSk7XG4gICAgfSBlbHNlIGlmIChpc0ZvY3VzZWQpIHtcbiAgICAgIHNldENvbG9ycyhbdGhlbWUuY29sb3JzLmdyZXlEYXJrZXIsIHRoZW1lLmNvbG9ycy5ncmV5RGFya2VyNjBdKTtcbiAgICB9XG4gIH0sIFtpc09wZW4sIGlzRHJvcGRvd25EaXNhYmxlZCwgaXNGb2N1c2VkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRBY3RpdmVJdGVtKHNlbGVjdGVkSXRlbSk7XG4gIH0sIFtzZWxlY3RlZEl0ZW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc0Ryb3Bkb3duRGlzYWJsZWQgJiYgaXNPcGVuKSB7XG4gICAgICBjbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzRHJvcGRvd25EaXNhYmxlZF0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc09wZW4gfHwgIWRyb3Bkb3duUmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIGlmIChkcm9wZG93blBvc2l0aW9uICE9PSBEcm9wZG93blBvc2l0aW9ucy5hdXRvKSB7XG4gICAgICBzZXRQbGFjZW1lbnQoZHJvcGRvd25Qb3NpdGlvbik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVjdCA9IGRyb3Bkb3duUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgbGlzdEhlaWdodCA9IGxpc3RSZWYuY3VycmVudD8ub2Zmc2V0SGVpZ2h0IHx8IG1heEhlaWdodDtcbiAgICBjb25zdCBzcGFjZUJlbG93ID0gd2luZG93LmlubmVySGVpZ2h0IC0gcmVjdC5ib3R0b207XG4gICAgc2V0UGxhY2VtZW50KHNwYWNlQmVsb3cgPCBsaXN0SGVpZ2h0ID8gJ3RvcCcgOiAnYm90dG9tJyk7XG4gIH0sIFtpc09wZW5dKTtcblxuICBjb25zdCBjaGlsZHJlbkFycmF5ID0gUmVhY3QuQ2hpbGRyZW4udG9BcnJheShjaGlsZHJlbikuZmlsdGVyKEJvb2xlYW4pO1xuICAvLyBHcm91cHMgdW53cmFwcGVkOiB3aGF0IGBvbkNoYW5nZWAgY2FuIHBpY2sgZnJvbS5cbiAgY29uc3Qgb3B0aW9ucyA9IGZsYXR0ZW5Ecm9wZG93bk9wdGlvbnMoY2hpbGRyZW5BcnJheSkubWFwKFxuICAgIChvcHRpb24pID0+IG9wdGlvbi5wcm9wcyBhcyB1bmtub3duIGFzIFQsXG4gICk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgY29uc3QgaXRlbXMgPSAoY2hpbGRyZW5BcnJheSBhcyBSZWFjdC5SZWFjdEVsZW1lbnQ8YW55PltdKS5tYXAoXG4gICAgKGNoaWxkLCBpbmRleCkgPT4ge1xuICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICBpbmRleCxcbiAgICAgICAgb25DbGljazogb25DaGFuZ2UuYmluZCh0aGlzKSxcbiAgICAgICAgLi4uY2hpbGQucHJvcHMsXG4gICAgICB9KTtcbiAgICB9LFxuICApO1xuXG4gIGNvbnN0IG1lbnVJdGVtcyA9IHRvRHJvcGRvd25NZW51SXRlbXMoY2hpbGRyZW5BcnJheSk7XG5cbiAgLyoqIE9wZW5zIHdpdGggdGhlIHNlbGVjdGVkIG9wdGlvbiBoaWdobGlnaHRlZCwgZWxzZSBwZXIgdGhlIGtleSBwcmVzc2VkLiAqL1xuICBjb25zdCBvcGVuID0gKGtleSA9ICdBcnJvd0Rvd24nKSA9PiB7XG4gICAgc2V0SXNPcGVuKHRydWUpO1xuICAgIGNvbnN0IHNlbGVjdGVkID0gZmxhdHRlbkl0ZW1zKG1lbnVJdGVtcykuZmluZChcbiAgICAgIChpdGVtKSA9PiAhaXRlbS5kaXNhYmxlZCAmJiBpdGVtLnZhbHVlID09PSBhY3RpdmVJdGVtPy52YWx1ZSxcbiAgICApO1xuICAgIHNldEFjdGl2ZVZhbHVlKFxuICAgICAgc2VsZWN0ZWQ/LnZhbHVlID8/IGdldE5leHRBY3RpdmVWYWx1ZShtZW51SXRlbXMsIG51bGwsIGtleSkgPz8gbnVsbCxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IHRvZ2dsZUtleXMgPSB1c2VUb2dnbGVMaXN0S2V5cyh7XG4gICAgbGlzdElkLFxuICAgIGlzT3BlbixcbiAgICBkaXNhYmxlZDogaXNEcm9wZG93bkRpc2FibGVkLFxuICAgIG1lbnVJdGVtcyxcbiAgICBhY3RpdmVWYWx1ZSxcbiAgICBzZXRBY3RpdmVWYWx1ZSxcbiAgICBvcGVuLFxuICAgIGNsb3NlLFxuICAgIG9uUGljazogKHZhbHVlKSA9PiBvbkNoYW5nZSh2YWx1ZSBhcyBzdHJpbmcpLFxuICAgIG9uS2V5RG93bjogY29tcG9uZW50UHJvcHM/LnRvZ2dsZUJ1dHRvbj8ub25LZXlEb3duLFxuICAgIG9uS2V5VXA6IGNvbXBvbmVudFByb3BzPy50b2dnbGVCdXR0b24/Lm9uS2V5VXAsXG4gIH0pO1xuXG4gIGNvbnN0IGNvbnRleHRWYWx1ZTogRHJvcGRvd25Db250ZXh0VHlwZSA9IFJlYWN0LnVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgYWN0aXZlSXRlbSxcbiAgICAgIG1heEhlaWdodCxcbiAgICAgIGxpc3RSZWYsXG4gICAgICBwbGFjZW1lbnQsXG4gICAgICBhY3RpdmVWYWx1ZSxcbiAgICAgIHNldEFjdGl2ZVZhbHVlLFxuICAgIH0pLFxuICAgIFtvbkNoYW5nZSwgYWN0aXZlSXRlbSwgbWF4SGVpZ2h0LCBwbGFjZW1lbnQsIGFjdGl2ZVZhbHVlXSxcbiAgKTtcblxuICBjb25zdCB2YWx1ZSA9IChcbiAgICBhY3RpdmVJdGVtXG4gICAgICA/IGFjdGl2ZUl0ZW0ubGFiZWwgfHxcbiAgICAgICAgYWN0aXZlSXRlbS5jaGlsZHJlbiB8fFxuICAgICAgICBhY3RpdmVJdGVtLnZhbHVlIHx8XG4gICAgICAgIGFjdGl2ZUl0ZW0gfHxcbiAgICAgICAgcGxhY2Vob2xkZXJcbiAgICAgIDogcGxhY2Vob2xkZXJcbiAgKSBhcyBSZWFjdE5vZGU7XG5cbiAgY29uc3QgcmF3QXZhdGFyID1cbiAgICBhY3RpdmVJdGVtICYmIChhY3RpdmVJdGVtIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KS5hdmF0YXI7XG5cbiAgY29uc3Qgc2VsZWN0ZWRBdmF0YXIgPSAhaXNOaWxsKHJhd0F2YXRhcikgPyAoXG4gICAgdHlwZW9mIHJhd0F2YXRhciA9PT0gJ3N0cmluZycgPyAoXG4gICAgICA8QXZhdGFyXG4gICAgICAgIHNpemU9e0F2YXRhclNpemVzLnNtYWxsfVxuICAgICAgICBpbWFnZT17cmF3QXZhdGFyfVxuICAgICAgICBib3JkZXI9e2F2YXRhckJvcmRlcn1cbiAgICAgIC8+XG4gICAgKSA6IFJlYWN0LmlzVmFsaWRFbGVtZW50KHJhd0F2YXRhcikgPyAoXG4gICAgICAocmF3QXZhdGFyIGFzIFJlYWN0Tm9kZSlcbiAgICApIDogbnVsbFxuICApIDogbnVsbDtcblxuICBjb25zdCBsZWFkaW5nRWxlbWVudCA9ICFpc05pbGwoc2VsZWN0ZWRBdmF0YXIpID8gKFxuICAgIChzZWxlY3RlZEF2YXRhciBhcyBSZWFjdE5vZGUpXG4gICkgOiBpY29uID8gKFxuICAgIDxJY29uXG4gICAgICBuYW1lPXtpY29ufVxuICAgICAgc2l6ZT17MTZ9XG4gICAgICBjb2xvcj17aXNEcm9wZG93bkRpc2FibGVkID8gdGhlbWUuY29sb3JzLmdyZXkgOiB0aGVtZS5jb2xvcnMuZ3JleURhcmtlcjgwfVxuICAgIC8+XG4gICkgOiBudWxsO1xuXG4gIGNvbnN0IHRvZ2dsZUNvbnRlbnQgPSAhaXNOaWxsKGxlYWRpbmdFbGVtZW50KSA/IChcbiAgICA8U2VsZWN0ZWRDb250ZW50PlxuICAgICAgPExlYWRpbmdFbGVtZW50PntsZWFkaW5nRWxlbWVudH08L0xlYWRpbmdFbGVtZW50PlxuICAgICAgPFNlbGVjdGVkTGFiZWw+e3ZhbHVlfTwvU2VsZWN0ZWRMYWJlbD5cbiAgICA8L1NlbGVjdGVkQ29udGVudD5cbiAgKSA6IChcbiAgICA8U2VsZWN0ZWRMYWJlbD57dmFsdWV9PC9TZWxlY3RlZExhYmVsPlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPERyb3Bkb3duRmllbGRXcmFwcGVyIHsuLi53cmFwcGVyQ3NzUHJvcHN9PlxuICAgICAge2xhYmVsID8gKFxuICAgICAgICA8TGFiZWwgaWQ9e2xhYmVsSWR9IGRpc2FibGVkPXtpc0Ryb3Bkb3duRGlzYWJsZWR9IGJhZGdlPXtiYWRnZX0+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L0xhYmVsPlxuICAgICAgKSA6IG51bGx9XG4gICAgICA8RHJvcGRvd25Db250ZXh0LlByb3ZpZGVyIHZhbHVlPXtjb250ZXh0VmFsdWV9PlxuICAgICAgICA8RHJvcGRvd25CYXNlXG4gICAgICAgICAgey4uLmNvbXBvbmVudFByb3BzPy5iYXNlfVxuICAgICAgICAgIHsuLi5iYXNlQ3NzUHJvcHN9XG4gICAgICAgICAgcmVmPXtkcm9wZG93blJlZn1cbiAgICAgICAgICBkYXRhLXRlc3RpZD1cImRyb3Bkb3duXCI+XG4gICAgICAgICAgPERyb3Bkb3duVG9nZ2xlXG4gICAgICAgICAgICB7Li4uY29tcG9uZW50UHJvcHM/LnRvZ2dsZUJ1dHRvbn1cbiAgICAgICAgICAgIHsuLi50b2dnbGVDc3NQcm9wc31cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgaXNPcGVuPXtpc09wZW59XG4gICAgICAgICAgICBkaXNhYmxlZD17aXNEcm9wZG93bkRpc2FibGVkfVxuICAgICAgICAgICAgc3RhdHVzPXtzdGF0dXN9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiAoaXNPcGVuID8gY2xvc2UoKSA6IG9wZW4oKSl9XG4gICAgICAgICAgICB7Li4udG9nZ2xlS2V5c31cbiAgICAgICAgICAgIG9uRm9jdXM9e3NldElzRm9jdXNlZC5iaW5kKG51bGwsIHRydWUpfVxuICAgICAgICAgICAgY29sb3JzPXtjb2xvcnN9XG4gICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e2xhYmVsSWR9XG4gICAgICAgICAgICB7Li4uKGJhZGdlICYmIHsgJ2FyaWEtZGVzY3JpYmVkYnknOiBiYWRnZS5pZCB9KX1cbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e2xpc3RJZH0+XG4gICAgICAgICAgICB7dG9nZ2xlQ29udGVudH1cbiAgICAgICAgICAgIDxEcm9wZG93bkFycm93XG4gICAgICAgICAgICAgIHsuLi5jb21wb25lbnRQcm9wcz8udG9nZ2xlQnV0dG9uQXJyb3d9XG4gICAgICAgICAgICAgIGlzVXA9e2lzT3Blbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Ecm9wZG93blRvZ2dsZT5cblxuICAgICAgICAgIHtpc09wZW4gPyAoXG4gICAgICAgICAgICA8RHJvcGRvd25PcHRpb25zIGlkPXtsaXN0SWR9PntpdGVtc308L0Ryb3Bkb3duT3B0aW9ucz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Ecm9wZG93bkJhc2U+XG4gICAgICA8L0Ryb3Bkb3duQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgIHtoZWxwZXJUZXh0IHx8IGVycm9ycyA/IChcbiAgICAgICAgPEZvcm1IZWxwZXJUZXh0XG4gICAgICAgICAgcm9sZT1cInN0YXR1c1wiXG4gICAgICAgICAgc3RhdHVzPXtzdGF0dXN9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRHJvcGRvd25EaXNhYmxlZH0+XG4gICAgICAgICAge2Vycm9ycz8ubWVzc2FnZSB8fCBoZWxwZXJUZXh0fVxuICAgICAgICA8L0Zvcm1IZWxwZXJUZXh0PlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9Ecm9wZG93bkZpZWxkV3JhcHBlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERyb3Bkb3duO1xuIl19 */",
|
|
28711
|
+
styles: "display:inline-flex;align-items:center;flex-shrink:0/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9Ecm9wZG93bi9Ecm9wZG93bi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEVrQyIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91aS1raXQvdWkta2l0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVN0YXRlLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlUmVmLFxuICB1c2VJZCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IHVzZUNsaWNrT3V0c2lkZSB9IGZyb20gJ0Bzc2EtdWkta2l0L2hvb2tzJztcbmltcG9ydCB7IGlzTmlsbCB9IGZyb20gJ0Bzc2EtdWkta2l0L3V0aWxzJztcblxuaW1wb3J0IERyb3Bkb3duVG9nZ2xlIGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duVG9nZ2xlJztcbmltcG9ydCBEcm9wZG93bkFycm93IGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duQXJyb3cnO1xuaW1wb3J0IERyb3Bkb3duT3B0aW9ucyBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMnO1xuaW1wb3J0IHtcbiAgZmlsdGVyRHJvcGRvd25PcHRpb25zLFxuICBmbGF0dGVuRHJvcGRvd25PcHRpb25zLFxuICB0b0Ryb3Bkb3duTWVudUl0ZW1zLFxufSBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMvdXRpbHMnO1xuaW1wb3J0IHsgdXNlVG9nZ2xlTGlzdEtleXMgfSBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMvdXNlVG9nZ2xlTGlzdEtleXMnO1xuaW1wb3J0IHsgRHJvcGRvd25TZWFyY2ggfSBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMvRHJvcGRvd25TZWFyY2gnO1xuaW1wb3J0IHsgZ2V0TmV4dEFjdGl2ZVZhbHVlIH0gZnJvbSAnQGNvbXBvbmVudHMvQ29udGV4dE1lbnUnO1xuaW1wb3J0IHsgZmxhdHRlbkl0ZW1zIH0gZnJvbSAnQGNvbXBvbmVudHMvQ29udGV4dE1lbnUvdXRpbHMnO1xuaW1wb3J0IEF2YXRhciwgeyBBdmF0YXJTaXplcyB9IGZyb20gJ0Bjb21wb25lbnRzL0F2YXRhcic7XG5pbXBvcnQgSWNvbiBmcm9tICdAY29tcG9uZW50cy9JY29uJztcbmltcG9ydCBMYWJlbCBmcm9tICdAY29tcG9uZW50cy9MYWJlbCc7XG5pbXBvcnQgRm9ybUhlbHBlclRleHQgZnJvbSAnQGNvbXBvbmVudHMvRm9ybUhlbHBlclRleHQnO1xuaW1wb3J0IERyb3Bkb3duQ29udGV4dCBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bi9Ecm9wZG93bi5jb250ZXh0JztcbmltcG9ydCB7IHJlc29sdmVEaXNhYmxlZCB9IGZyb20gJ0B1dGlscy9kZXByZWNhdGlvbic7XG5pbXBvcnQgeyBEcm9wZG93bk9wdGlvblByb3BzIH0gZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25PcHRpb25zL3R5cGVzJztcblxuaW1wb3J0IHsgRHJvcGRvd25Db250ZXh0VHlwZSwgRHJvcGRvd25Qb3NpdGlvbnMsIERyb3Bkb3duUHJvcHMgfSBmcm9tICcuL3R5cGVzJztcblxuLypcbiAqIEJvdGggbGV2ZWxzIGFyZSBzaHJpbmstdG8tZml0LCBhbmQgYSBzaHJpbmstdG8tZml0IGJveCBzaXplcyB0byBpdHNcbiAqIG1pbi1jb250ZW50IHdoZW4gdGhhdCBleGNlZWRzIHRoZSBzcGFjZSBhdmFpbGFibGUgLS0gZm9yIGEgbm93cmFwIGxhYmVsIHRoYXRcbiAqIGlzIHRoZSBlbnRpcmUgc3RyaW5nLCBzbyB0aGUgZHJvcGRvd24gd291bGQgZ3JvdyBwYXN0IGl0cyBjb250YWluZXIgaW5zdGVhZFxuICogb2YgZWxsaXBzaXNpbmcuIGBtYXgtd2lkdGg6IDEwMCVgIGdpdmVzIGVhY2ggbGV2ZWwgYSBkZWZpbml0ZSB3aWR0aCB0b1xuICogcmVzb2x2ZSBhZ2FpbnN0LCB3aGljaCBpcyB3aGF0IGFjdHVhbGx5IGxldHMgdGhlIGxhYmVsIGNsaXAuXG4gKi9cbmNvbnN0IERyb3Bkb3duRmllbGRXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXgtd2lkdGg6IDEwMCU7XG5gO1xuXG5jb25zdCBEcm9wZG93bkJhc2UgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuYDtcblxuY29uc3QgU2VsZWN0ZWRDb250ZW50ID0gc3R5bGVkLnNwYW5gXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgbWluLXdpZHRoOiAwO1xuYDtcblxuLyoqXG4gKiBLZWVwcyB0aGUgc2VsZWN0ZWQgdmFsdWUgb24gYSBzaW5nbGUgbGluZSBhbmQgZWxsaXBzaXNlcyBpdC4gV2l0aG91dCB0aGlzIHRoZVxuICogbGFiZWwgd3JhcHMgYW5kLCBiZWNhdXNlIHRoZSB0b2dnbGUgaXMgYSBmaXhlZCA0NHB4LCBzcGlsbHMgYWJvdmUgYW5kIGJlbG93XG4gKiB0aGUgYm9yZGVyLiBgbWluLXdpZHRoOiAwYCBpcyB3aGF0IGxldHMgdGhlIHRvZ2dsZSBzaHJpbmsgYmVsb3cgdGhlIGxhYmVsJ3NcbiAqIGludHJpbnNpYyB3aWR0aCBhdCBhbGwg4oCUIGEgbm93cmFwIGZsZXggaXRlbSBvdGhlcndpc2UgcmVwb3J0cyBpdHMgZnVsbCB0ZXh0XG4gKiB3aWR0aCBhcyBpdHMgbWluaW11bSwgc28gdGhlIGRyb3Bkb3duIHdvdWxkIGtlZXAgZ3Jvd2luZyBpbnN0ZWFkIG9mIGNsaXBwaW5nLlxuICovXG5jb25zdCBTZWxlY3RlZExhYmVsID0gc3R5bGVkLnNwYW5gXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBtaW4td2lkdGg6IDA7XG5gO1xuXG5jb25zdCBMZWFkaW5nRWxlbWVudCA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG5gO1xuXG4vKipcbiAqIERyb3Bkb3duIC0gU2VsZWN0LWxpa2UgZHJvcGRvd24gY29tcG9uZW50IGZvciBzaW5nbGUgc2VsZWN0aW9uXG4gKlxuICogQSBmbGV4aWJsZSBkcm9wZG93biBjb21wb25lbnQgdGhhdCBhbGxvd3MgdXNlcnMgdG8gc2VsZWN0IG9uZSBvcHRpb24gZnJvbVxuICogYSBsaXN0IG9mIGNob2ljZXMuIFVzZXMgYSBjb21wb3VuZCBjb21wb25lbnQgcGF0dGVybiB3aXRoIERyb3Bkb3duT3B0aW9uXG4gKiBjaGlsZHJlbi4gUHJvdmlkZXMga2V5Ym9hcmQgbmF2aWdhdGlvbiwgYWNjZXNzaWJpbGl0eSBmZWF0dXJlcywgY2xpY2stb3V0c2lkZVxuICogdG8gY2xvc2UgZnVuY3Rpb25hbGl0eSwgYW5kIGF1dG9tYXRpYyB2aWV3cG9ydC1hd2FyZSBwbGFjZW1lbnQgb2YgdGhlIG9wdGlvbnMgbGlzdC5cbiAqXG4gKiBPbiBldmVyeSBvcGVuIHRoZSBjb21wb25lbnQgbWVhc3VyZXMgYXZhaWxhYmxlIHNwYWNlIGJlbG93IHRoZSB0b2dnbGUgYnV0dG9uXG4gKiBhbmQgZmxpcHMgdGhlIGxpc3QgdXB3YXJkIHdoZW4gdGhlcmUgaXMgbm90IGVub3VnaCByb29tLCBwcmV2ZW50aW5nIHRoZSBsaXN0XG4gKiBmcm9tIGJlaW5nIGNsaXBwZWQgYnkgdGhlIHZpZXdwb3J0IGVkZ2UuIFRoaXMgYmVoYXZpb3IgY2FuIGJlIG92ZXJyaWRkZW4gdmlhXG4gKiBkcm9wZG93blByb3BzLmRyb3Bkb3duUG9zaXRpb24uXG4gKlxuICogQ29tcG9uZW50IHN0cnVjdHVyZTpcbiAqIC0gRHJvcGRvd24gKHJvb3QgY29udGFpbmVyIHdpdGggY29udGV4dClcbiAqICAgLSBEcm9wZG93blRvZ2dsZSAoYnV0dG9uIHRoYXQgb3BlbnMvY2xvc2VzIGRyb3Bkb3duKVxuICogICAtIERyb3Bkb3duT3B0aW9ucyAobWVudSBjb250YWluZXIgdGhhdCBhcHBlYXJzIHdoZW4gb3BlbilcbiAqICAgICAtIERyb3Bkb3duT3B0aW9uIChpbmRpdmlkdWFsIHNlbGVjdGFibGUgaXRlbXMpXG4gKlxuICogQGNhdGVnb3J5IEZvcm0gQ29udHJvbHNcbiAqIEBzdWJjYXRlZ29yeSBTZWxlY3Rpb25cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBjb25zdCBpdGVtcyA9IFtcbiAqICAgeyBpZDogMSwgdmFsdWU6ICdBcHBsZScgfSxcbiAqICAgeyBpZDogMiwgdmFsdWU6ICdCYW5hbmEnIH0sXG4gKiAgIHsgaWQ6IDMsIHZhbHVlOiAnQ2hlcnJ5JyB9LFxuICogXTtcbiAqXG4gKiA8RHJvcGRvd25cbiAqICAgc2VsZWN0ZWRJdGVtPXtpdGVtc1swXX1cbiAqICAgb25DaGFuZ2U9eyhpdGVtKSA9PiBoYW5kbGVTZWxlY3Rpb24oaXRlbSl9XG4gKiAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IGEgZnJ1aXRcIlxuICogPlxuICogICB7aXRlbXMubWFwKGl0ZW0gPT4gKFxuICogICAgIDxEcm9wZG93bk9wdGlvbiBrZXk9e2l0ZW0uaWR9IHZhbHVlPXtpdGVtLmlkfT5cbiAqICAgICAgIHtpdGVtLnZhbHVlfVxuICogICAgIDwvRHJvcGRvd25PcHRpb24+XG4gKiAgICkpfVxuICogPC9Ecm9wZG93bj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIENvbnRyb2xsZWQgb3BlbiBzdGF0ZVxuICogY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAqIDxEcm9wZG93blxuICogICBpc09wZW49e2lzT3Blbn1cbiAqICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAqICAgc2VsZWN0ZWRJdGVtPXtzZWxlY3RlZH1cbiAqID5cbiAqICAge29wdGlvbnMubWFwKG9wdCA9PiAoXG4gKiAgICAgPERyb3Bkb3duT3B0aW9uIGtleT17b3B0LmlkfSB2YWx1ZT17b3B0LmlkfT5cbiAqICAgICAgIHtvcHQubGFiZWx9XG4gKiAgICAgPC9Ecm9wZG93bk9wdGlvbj5cbiAqICAgKSl9XG4gKiA8L0Ryb3Bkb3duPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogLy8gV2l0aCBjdXN0b20gcHJvcHMgZm9yIHN1Yi1jb21wb25lbnRzIGFuZCBmb3JjZWQgdXB3YXJkIHBsYWNlbWVudFxuICogPERyb3Bkb3duXG4gKiAgIHNlbGVjdGVkSXRlbT17c2VsZWN0ZWR9XG4gKiAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gKiAgIGRyb3Bkb3duUHJvcHM9e3tcbiAqICAgICBiYXNlOiB7IGlkOiAnbXktZHJvcGRvd24nIH0sXG4gKiAgICAgdG9nZ2xlQnV0dG9uOiB7ICdkYXRhLXRlc3RpZCc6ICdkcm9wZG93bi10b2dnbGUnIH0sXG4gKiAgICAgdG9nZ2xlQnV0dG9uQXJyb3c6IHsgY2xhc3NOYW1lOiAnY3VzdG9tLWFycm93JyB9LFxuICogICAgIGRyb3Bkb3duUG9zaXRpb246IERyb3Bkb3duUG9zaXRpb25zLnRvcCxcbiAqICAgfX1cbiAqID5cbiAqICAge29wdGlvbnMubWFwKG9wdCA9PiAoXG4gKiAgICAgPERyb3Bkb3duT3B0aW9uIGtleT17b3B0LmlkfSB2YWx1ZT17b3B0LmlkfT5cbiAqICAgICAgIHtvcHQubGFiZWx9XG4gKiAgICAgPC9Ecm9wZG93bk9wdGlvbj5cbiAqICAgKSl9XG4gKiA8L0Ryb3Bkb3duPlxuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgRHJvcGRvd25PcHRpb259IC0gQ2hpbGQgY29tcG9uZW50IGZvciBpbmRpdmlkdWFsIG9wdGlvbnNcbiAqIEBzZWUge0BsaW5rIERyb3Bkb3duVG9nZ2xlfSAtIFRvZ2dsZSBidXR0b24gY29tcG9uZW50XG4gKiBAc2VlIHtAbGluayBEcm9wZG93bk9wdGlvbnN9IC0gT3B0aW9ucyBtZW51IGNvbnRhaW5lclxuICpcbiAqIEBhY2Nlc3NpYmlsaXR5XG4gKiAtIEFSSUEgYXR0cmlidXRlcyBzZXQgYWNjb3JkaW5nIHRvIFdBSS1BUklBIGNvbWJvYm94IHBhdHRlcm5cbiAqIC0gS2V5Ym9hcmQgbmF2aWdhdGlvbiAoQXJyb3cga2V5cywgRW50ZXIsIEVzY2FwZSlcbiAqIC0gQ2xpY2sgb3V0c2lkZSB0byBjbG9zZVxuICogLSBTY3JlZW4gcmVhZGVyIGZyaWVuZGx5XG4gKiAtIEZvY3VzIG1hbmFnZW1lbnRcbiAqXG4gKiBAc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvQVJJQS9hcGcvZXhhbXBsZS1pbmRleC9jb21ib2JveC9jb21ib2JveC1zZWxlY3Qtb25seS5odG1sXG4gKi9cbmNvbnN0IERyb3Bkb3duID0gPFQgZXh0ZW5kcyBEcm9wZG93bk9wdGlvblByb3BzPih7XG4gIHNlbGVjdGVkSXRlbSxcbiAgZGlzYWJsZWQsXG4gIGlzRGlzYWJsZWQsXG4gIGlzT3BlbjogaXNJbml0T3BlbixcbiAgY2hpbGRyZW4sXG4gIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsXG4gIGNsYXNzTmFtZSxcbiAgcGxhY2Vob2xkZXIgPSAnU2VsZWN0IHNvbWV0aGluZycsXG4gIG1heEhlaWdodCA9IDIwMCxcbiAgYXZhdGFyQm9yZGVyID0gZmFsc2UsXG4gIGxhYmVsLFxuICBsYWJlbEJhZGdlLFxuICBoZWxwZXJUZXh0LFxuICBlcnJvcnMsXG4gIHN1Y2Nlc3MsXG4gIGljb24sXG4gIHdpZHRoLFxuICBzZWFyY2hhYmxlID0gZmFsc2UsXG4gIHNlYXJjaFBsYWNlaG9sZGVyID0gJ1NlYXJjaCcsXG4gIHNlYXJjaEVtcHR5U3RhdGUgPSAnTm8gcmVzdWx0cyBmb3VuZCcsXG4gIGRyb3Bkb3duUHJvcHM6IGNvbXBvbmVudFByb3BzLFxufTogRHJvcGRvd25Qcm9wczxUPikgPT4ge1xuICBjb25zdCBpc0Ryb3Bkb3duRGlzYWJsZWQgPSByZXNvbHZlRGlzYWJsZWQoJ0Ryb3Bkb3duJywgZGlzYWJsZWQsIGlzRGlzYWJsZWQpO1xuICBjb25zdCBzdGF0dXMgPSBzdWNjZXNzID8gJ3N1Y2Nlc3MnIDogZXJyb3JzID8gJ2Vycm9yJyA6ICdiYXNpYyc7XG4gIGNvbnN0IHsgZHJvcGRvd25Qb3NpdGlvbiA9IERyb3Bkb3duUG9zaXRpb25zLmF1dG8gfSA9IGNvbXBvbmVudFByb3BzID8/IHt9O1xuICAvLyBgd2lkdGhgIGhhcyBubyBkZWZhdWx0OiB3aXRob3V0IGl0IGV2ZXJ5IGxldmVsIGtlZXBzIHNocmluay13cmFwcGluZywgd2hpY2hcbiAgLy8gaXMgdGhlIGhpc3RvcmljYWwgYmVoYXZpb3VyLiBXaGVuIHNldCwgYWxsIHRocmVlIG5lc3RlZCBsZXZlbHNcbiAgLy8gKHdyYXBwZXIgLT4gYmFzZSAtPiB0b2dnbGUpIGhhdmUgdG8gYmUgc3RyZXRjaGVkIOKAlCBzaXppbmcgb25seSBvbmUgaXMgYVxuICAvLyBuby1vcCwgYmVjYXVzZSB0aGUgbGV2ZWwgYWJvdmUgaXQgaXMgc3RpbGwgc2l6ZWQgdG8gaXRzIGNvbnRlbnQuXG4gIC8vXG4gIC8vIE9ubHkgdGhlIG91dGVybW9zdCBsZXZlbCBnZXRzIHRoZSByZXF1ZXN0ZWQgdmFsdWU7IHRoZSBpbm5lciB0d28gZ2V0IDEwMCUuXG4gIC8vIFJlcGVhdGluZyB0aGUgdmFsdWUgd291bGQgY29tcG91bmQgcmVsYXRpdmUgdW5pdHM6IGB3aWR0aD1cIjYwJVwiYCB3b3VsZFxuICAvLyBvdGhlcndpc2UgcmVuZGVyIHRoZSBiYXNlIGF0IDYwJSBvZiB0aGUgd3JhcHBlciBhbmQgdGhlIHRvZ2dsZSBhdCA2MCUgb2ZcbiAgLy8gdGhhdCwgaS5lLiAyMS42JSBvZiB0aGUgY29udGFpbmVyLlxuICAvL1xuICAvLyBTcHJlYWQgcmF0aGVyIHRoYW4gcGFzc2VkIGFzIGBjc3M9ey4uLn1gOiBFbW90aW9uIHdyYXBzIGFuIGVsZW1lbnQgd2hlbmV2ZXJcbiAgLy8gYGNzc2AgaXMgcHJlc2VudCBpbiBpdHMgcHJvcHMsIGV2ZW4gd2hlbiBpdHMgdmFsdWUgaXMgdW5kZWZpbmVkLCBhbmQgdGhhdFxuICAvLyByZS1zZXJpYWxpemVzIGFueSBpbmNvbWluZyBgY2xhc3NOYW1lYCAoZS5nLiBmcm9tIGBzdHlsZWQoRHJvcGRvd24pYCkuXG4gIC8vIE9taXR0aW5nIHRoZSBrZXkga2VlcHMgdGhlIG5vLXdpZHRoIHBhdGggaWRlbnRpY2FsIHRvIHdyaXRpbmcgbm8gYGNzc2AgcHJvcC5cbiAgY29uc3Qgd3JhcHBlckNzc1Byb3BzID0gd2lkdGggPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHsgY3NzOiB7IHdpZHRoIH0gfTtcbiAgY29uc3QgYmFzZUNzc1Byb3BzID1cbiAgICB3aWR0aCA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogeyBjc3M6IHsgd2lkdGg6ICcxMDAlJyB9IH07XG4gIGNvbnN0IHRvZ2dsZUNzc1Byb3BzID1cbiAgICB3aWR0aCA9PT0gdW5kZWZpbmVkXG4gICAgICA/IHVuZGVmaW5lZFxuICAgICAgOiB7IGNzczogW3sgd2lkdGg6ICcxMDAlJyB9LCBjb21wb25lbnRQcm9wcz8udG9nZ2xlQnV0dG9uPy5jc3NdIH07XG5cbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuICBjb25zdCBkcm9wZG93blJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IGxpc3RSZWYgPSB1c2VSZWY8SFRNTFVMaXN0RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHRvZ2dsZVJlZiA9IHVzZVJlZjxIVE1MQnV0dG9uRWxlbWVudD4obnVsbCk7XG5cbiAgY29uc3QgZHJvcGRvd25JZCA9IHVzZUlkKCk7XG4gIC8vIE5hbWVzIHRoZSB0b2dnbGU7IGxlZnQgb3V0IHdpdGhvdXQgYSBsYWJlbCwgc28gaXQgbmV2ZXIgcG9pbnRzIGF0IGFcbiAgLy8gbWlzc2luZyBlbGVtZW50LlxuICBjb25zdCBsYWJlbElkID0gbGFiZWwgPyBgZHJvcGRvd24tbGFiZWwtJHtkcm9wZG93bklkfWAgOiB1bmRlZmluZWQ7XG4gIGNvbnN0IGJhZGdlID1cbiAgICBsYWJlbCAmJiBsYWJlbEJhZGdlXG4gICAgICA/IHsgLi4ubGFiZWxCYWRnZSwgaWQ6IGBkcm9wZG93bi1iYWRnZS0ke2Ryb3Bkb3duSWR9YCB9XG4gICAgICA6IHVuZGVmaW5lZDtcblxuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoaXNJbml0T3BlbiB8fCBmYWxzZSk7XG4gIGNvbnN0IFtjb2xvcnMsIHNldENvbG9yc10gPSB1c2VTdGF0ZTxBcnJheTxzdHJpbmcgfCB1bmRlZmluZWQ+PihbXSk7XG4gIGNvbnN0IFthY3RpdmVJdGVtLCBzZXRBY3RpdmVJdGVtXSA9IHVzZVN0YXRlPFQgfCB1bmRlZmluZWQ+KHNlbGVjdGVkSXRlbSk7XG4gIGNvbnN0IFtwbGFjZW1lbnQsIHNldFBsYWNlbWVudF0gPSB1c2VTdGF0ZTwndG9wJyB8ICdib3R0b20nPignYm90dG9tJyk7XG4gIC8vIEhpZ2hsaWdodGVkIG9wdGlvbi4gRm9jdXMgc3RheXMgb24gdGhlIHRvZ2dsZSAodGhlIGNvbWJvYm94KSwgd2hpY2hcbiAgLy8gZHJpdmVzIHRoZSBsaXN0IGFuZCBwb2ludHMgYXQgdGhlIG9wdGlvbiB3aXRoIGFyaWEtYWN0aXZlZGVzY2VuZGFudC5cbiAgY29uc3QgW2FjdGl2ZVZhbHVlLCBzZXRBY3RpdmVWYWx1ZV0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudW1iZXIgfCBudWxsPihudWxsKTtcbiAgY29uc3QgbGlzdElkID0gYGRyb3Bkb3duLXBvcHVwLSR7ZHJvcGRvd25JZH1gO1xuICAvLyBTZWFyY2ggdGV4dDsgb25seSB1c2VkIHdpdGggYHNlYXJjaGFibGVgLCBjbGVhcmVkIG9uIGNsb3NlLlxuICBjb25zdCBbcXVlcnksIHNldFF1ZXJ5XSA9IHVzZVN0YXRlKCcnKTtcblxuICBjb25zdCBjbG9zZSA9ICgpID0+IHtcbiAgICBzZXRJc09wZW4oZmFsc2UpO1xuICAgIHNldEFjdGl2ZVZhbHVlKG51bGwpO1xuICAgIHNldFF1ZXJ5KCcnKTtcbiAgICAvLyBUaGUgc2VhcmNoIGJveCB1bm1vdW50cyB3aXRoIHRoZSBsaXN0OyBoYW5kIGZvY3VzIGJhY2sgdG8gdGhlIHRvZ2dsZVxuICAgIC8vIHJhdGhlciB0aGFuIGRyb3BwaW5nIGl0IG9uIDxib2R5Pi5cbiAgICBpZiAoXG4gICAgICBzZWFyY2hhYmxlICYmXG4gICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSB0b2dnbGVSZWYuY3VycmVudCAmJlxuICAgICAgZHJvcGRvd25SZWYuY3VycmVudD8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudClcbiAgICApIHtcbiAgICAgIHRvZ2dsZVJlZi5jdXJyZW50Py5mb2N1cygpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvbkNoYW5nZTogRHJvcGRvd25Db250ZXh0VHlwZVsnb25DaGFuZ2UnXSA9IChpdGVtKSA9PiB7XG4gICAgY29uc3QgaW5uZXJJdGVtID0gb3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBpdGVtKVswXTtcblxuICAgIGNsb3NlKCk7XG5cbiAgICBpZiAoaXNEcm9wZG93bkRpc2FibGVkIHx8ICFpbm5lckl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaW5uZXJJdGVtLnZhbHVlID09PSBhY3RpdmVJdGVtPy52YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldEFjdGl2ZUl0ZW0oaW5uZXJJdGVtKTtcbiAgICBpZiAoaGFuZGxlQ2hhbmdlKSB7XG4gICAgICBoYW5kbGVDaGFuZ2UoaW5uZXJJdGVtKTtcbiAgICB9XG4gIH07XG5cbiAgdXNlQ2xpY2tPdXRzaWRlKGRyb3Bkb3duUmVmLCAoKSA9PiBpc09wZW4gJiYgY2xvc2UoKSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNEcm9wZG93bkRpc2FibGVkKSB7XG4gICAgICBzZXRDb2xvcnMoW3RoZW1lLmNvbG9ycy5ncmV5RGFya2VyNjAsIHRoZW1lLmNvbG9ycy5ncmV5MjBdKTtcbiAgICB9IGVsc2UgaWYgKGlzT3Blbikge1xuICAgICAgc2V0Q29sb3JzKFt0aGVtZS5jb2xvcnMud2hpdGUsIHRoZW1lLmNvbG9ycy53aGl0ZTYwXSk7XG4gICAgfSBlbHNlIGlmIChpc0ZvY3VzZWQpIHtcbiAgICAgIHNldENvbG9ycyhbdGhlbWUuY29sb3JzLmdyZXlEYXJrZXIsIHRoZW1lLmNvbG9ycy5ncmV5RGFya2VyNjBdKTtcbiAgICB9XG4gIH0sIFtpc09wZW4sIGlzRHJvcGRvd25EaXNhYmxlZCwgaXNGb2N1c2VkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRBY3RpdmVJdGVtKHNlbGVjdGVkSXRlbSk7XG4gIH0sIFtzZWxlY3RlZEl0ZW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc0Ryb3Bkb3duRGlzYWJsZWQgJiYgaXNPcGVuKSB7XG4gICAgICBjbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzRHJvcGRvd25EaXNhYmxlZF0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc09wZW4gfHwgIWRyb3Bkb3duUmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIGlmIChkcm9wZG93blBvc2l0aW9uICE9PSBEcm9wZG93blBvc2l0aW9ucy5hdXRvKSB7XG4gICAgICBzZXRQbGFjZW1lbnQoZHJvcGRvd25Qb3NpdGlvbik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVjdCA9IGRyb3Bkb3duUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgLy8gV2l0aCBzZWFyY2ggdGhlIGxpc3Qgc2l0cyBpbiBhIGNhcmQgdW5kZXIgdGhlIHNlYXJjaCBib3guXG4gICAgY29uc3QgcG9wdXAgPSBzZWFyY2hhYmxlID8gbGlzdFJlZi5jdXJyZW50Py5wYXJlbnRFbGVtZW50IDogbGlzdFJlZi5jdXJyZW50O1xuICAgIGNvbnN0IGxpc3RIZWlnaHQgPSBwb3B1cD8ub2Zmc2V0SGVpZ2h0IHx8IG1heEhlaWdodDtcbiAgICBjb25zdCBzcGFjZUJlbG93ID0gd2luZG93LmlubmVySGVpZ2h0IC0gcmVjdC5ib3R0b207XG4gICAgc2V0UGxhY2VtZW50KHNwYWNlQmVsb3cgPCBsaXN0SGVpZ2h0ID8gJ3RvcCcgOiAnYm90dG9tJyk7XG4gIH0sIFtpc09wZW5dKTtcblxuICBjb25zdCBjaGlsZHJlbkFycmF5ID0gUmVhY3QuQ2hpbGRyZW4udG9BcnJheShjaGlsZHJlbikuZmlsdGVyKEJvb2xlYW4pO1xuICAvLyBHcm91cHMgdW53cmFwcGVkOiB3aGF0IGBvbkNoYW5nZWAgY2FuIHBpY2sgZnJvbS5cbiAgY29uc3Qgb3B0aW9ucyA9IGZsYXR0ZW5Ecm9wZG93bk9wdGlvbnMoY2hpbGRyZW5BcnJheSkubWFwKFxuICAgIChvcHRpb24pID0+IG9wdGlvbi5wcm9wcyBhcyB1bmtub3duIGFzIFQsXG4gICk7XG5cbiAgY29uc3QgdmlzaWJsZUNoaWxkcmVuID0gc2VhcmNoYWJsZVxuICAgID8gZmlsdGVyRHJvcGRvd25PcHRpb25zKGNoaWxkcmVuQXJyYXksIHF1ZXJ5KVxuICAgIDogY2hpbGRyZW5BcnJheTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBjb25zdCBpdGVtcyA9ICh2aXNpYmxlQ2hpbGRyZW4gYXMgUmVhY3QuUmVhY3RFbGVtZW50PGFueT5bXSkubWFwKFxuICAgIChjaGlsZCwgaW5kZXgpID0+IHtcbiAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGQsIHtcbiAgICAgICAgaW5kZXgsXG4gICAgICAgIG9uQ2xpY2s6IG9uQ2hhbmdlLmJpbmQodGhpcyksXG4gICAgICAgIC4uLmNoaWxkLnByb3BzLFxuICAgICAgfSk7XG4gICAgfSxcbiAgKTtcblxuICBjb25zdCBtZW51SXRlbXMgPSB0b0Ryb3Bkb3duTWVudUl0ZW1zKHZpc2libGVDaGlsZHJlbik7XG5cbiAgLyoqIFRoZSBzZWxlY3RlZCBvcHRpb24gaWYgbGlzdGVkLCBlbHNlIHRoZSBmaXJzdCAob3IgbGFzdCwgZm9yIEFycm93VXApLiAqL1xuICBjb25zdCBnZXRJbml0aWFsQWN0aXZlVmFsdWUgPSAoXG4gICAgZW50cmllczogdHlwZW9mIG1lbnVJdGVtcyxcbiAgICBrZXkgPSAnQXJyb3dEb3duJyxcbiAgKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBmbGF0dGVuSXRlbXMoZW50cmllcykuZmluZChcbiAgICAgIChpdGVtKSA9PiAhaXRlbS5kaXNhYmxlZCAmJiBpdGVtLnZhbHVlID09PSBhY3RpdmVJdGVtPy52YWx1ZSxcbiAgICApO1xuICAgIHJldHVybiBzZWxlY3RlZD8udmFsdWUgPz8gZ2V0TmV4dEFjdGl2ZVZhbHVlKGVudHJpZXMsIG51bGwsIGtleSkgPz8gbnVsbDtcbiAgfTtcblxuICAvKiogT3BlbnMgd2l0aCB0aGUgc2VsZWN0ZWQgb3B0aW9uIGhpZ2hsaWdodGVkLCBlbHNlIHBlciB0aGUga2V5IHByZXNzZWQuICovXG4gIGNvbnN0IG9wZW4gPSAoa2V5ID0gJ0Fycm93RG93bicpID0+IHtcbiAgICBzZXRJc09wZW4odHJ1ZSk7XG4gICAgc2V0QWN0aXZlVmFsdWUoZ2V0SW5pdGlhbEFjdGl2ZVZhbHVlKG1lbnVJdGVtcywga2V5KSk7XG4gIH07XG5cbiAgY29uc3QgdG9nZ2xlS2V5cyA9IHVzZVRvZ2dsZUxpc3RLZXlzKHtcbiAgICBsaXN0SWQsXG4gICAgaXNPcGVuLFxuICAgIGRpc2FibGVkOiBpc0Ryb3Bkb3duRGlzYWJsZWQsXG4gICAgbWVudUl0ZW1zLFxuICAgIGFjdGl2ZVZhbHVlLFxuICAgIHNldEFjdGl2ZVZhbHVlLFxuICAgIG9wZW4sXG4gICAgY2xvc2UsXG4gICAgb25QaWNrOiAodmFsdWUpID0+IG9uQ2hhbmdlKHZhbHVlIGFzIHN0cmluZyksXG4gICAgb25LZXlEb3duOiBjb21wb25lbnRQcm9wcz8udG9nZ2xlQnV0dG9uPy5vbktleURvd24sXG4gICAgb25LZXlVcDogY29tcG9uZW50UHJvcHM/LnRvZ2dsZUJ1dHRvbj8ub25LZXlVcCxcbiAgfSk7XG5cbiAgLy8gVGhlIHNlYXJjaCBib3ggZHJpdmVzIHRoZSBsaXN0IHdoaWxlIGl0IGlzIG9wZW4uXG4gIGNvbnN0IHNlYXJjaEtleXMgPSB1c2VUb2dnbGVMaXN0S2V5czxIVE1MSW5wdXRFbGVtZW50Pih7XG4gICAgbGlzdElkLFxuICAgIGlzT3BlbixcbiAgICBkaXNhYmxlZDogaXNEcm9wZG93bkRpc2FibGVkLFxuICAgIG1lbnVJdGVtcyxcbiAgICBhY3RpdmVWYWx1ZSxcbiAgICBzZXRBY3RpdmVWYWx1ZSxcbiAgICBvcGVuLFxuICAgIGNsb3NlLFxuICAgIG9uUGljazogKHZhbHVlKSA9PiBvbkNoYW5nZSh2YWx1ZSBhcyBzdHJpbmcpLFxuICAgIHR5cGluZzogdHJ1ZSxcbiAgICAvLyBFc2NhcGUgY2xlYXJzIHRoZSBzZWFyY2ggZmlyc3QsIHRoZW4gY2xvc2VzLlxuICAgIG9uS2V5RG93bjogKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJyAmJiBxdWVyeSkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBjaGFuZ2VRdWVyeSgnJyk7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG5cbiAgLyoqIFVwZGF0ZXMgdGhlIHNlYXJjaCBhbmQgbW92ZXMgdGhlIGhpZ2hsaWdodCB0byBzdWl0IGl0LiAqL1xuICBjb25zdCBjaGFuZ2VRdWVyeSA9IChuZXh0OiBzdHJpbmcpID0+IHtcbiAgICBzZXRRdWVyeShuZXh0KTtcbiAgICBjb25zdCBtYXRjaGVzID0gdG9Ecm9wZG93bk1lbnVJdGVtcyhcbiAgICAgIGZpbHRlckRyb3Bkb3duT3B0aW9ucyhjaGlsZHJlbkFycmF5LCBuZXh0KSxcbiAgICApO1xuICAgIC8vIEEgY2xlYXJlZCBzZWFyY2ggZ29lcyBiYWNrIHRvIHdoZXJlIG9wZW5pbmcgc3RhcnRzOyBhIHNlYXJjaCB0byBpdHNcbiAgICAvLyBmaXJzdCBtYXRjaC5cbiAgICBzZXRBY3RpdmVWYWx1ZShcbiAgICAgIG5leHQudHJpbSgpXG4gICAgICAgID8gKGdldE5leHRBY3RpdmVWYWx1ZShtYXRjaGVzLCBudWxsLCAnQXJyb3dEb3duJykgPz8gbnVsbClcbiAgICAgICAgOiBnZXRJbml0aWFsQWN0aXZlVmFsdWUobWF0Y2hlcyksXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBjb250ZXh0VmFsdWU6IERyb3Bkb3duQ29udGV4dFR5cGUgPSBSZWFjdC51c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBvbkNoYW5nZSxcbiAgICAgIGFjdGl2ZUl0ZW0sXG4gICAgICBtYXhIZWlnaHQsXG4gICAgICBsaXN0UmVmLFxuICAgICAgcGxhY2VtZW50LFxuICAgICAgYWN0aXZlVmFsdWUsXG4gICAgICBzZXRBY3RpdmVWYWx1ZSxcbiAgICAgIHNlYXJjaGFibGUsXG4gICAgICBlbXB0eVN0YXRlOiBxdWVyeSA/IHNlYXJjaEVtcHR5U3RhdGUgOiB1bmRlZmluZWQsXG4gICAgfSksXG4gICAgW1xuICAgICAgb25DaGFuZ2UsXG4gICAgICBhY3RpdmVJdGVtLFxuICAgICAgbWF4SGVpZ2h0LFxuICAgICAgcGxhY2VtZW50LFxuICAgICAgYWN0aXZlVmFsdWUsXG4gICAgICBzZWFyY2hhYmxlLFxuICAgICAgcXVlcnksXG4gICAgICBzZWFyY2hFbXB0eVN0YXRlLFxuICAgIF0sXG4gICk7XG5cbiAgY29uc3QgdmFsdWUgPSAoXG4gICAgYWN0aXZlSXRlbVxuICAgICAgPyBhY3RpdmVJdGVtLmxhYmVsIHx8XG4gICAgICAgIGFjdGl2ZUl0ZW0uY2hpbGRyZW4gfHxcbiAgICAgICAgYWN0aXZlSXRlbS52YWx1ZSB8fFxuICAgICAgICBhY3RpdmVJdGVtIHx8XG4gICAgICAgIHBsYWNlaG9sZGVyXG4gICAgICA6IHBsYWNlaG9sZGVyXG4gICkgYXMgUmVhY3ROb2RlO1xuXG4gIGNvbnN0IHJhd0F2YXRhciA9XG4gICAgYWN0aXZlSXRlbSAmJiAoYWN0aXZlSXRlbSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikuYXZhdGFyO1xuXG4gIGNvbnN0IHNlbGVjdGVkQXZhdGFyID0gIWlzTmlsbChyYXdBdmF0YXIpID8gKFxuICAgIHR5cGVvZiByYXdBdmF0YXIgPT09ICdzdHJpbmcnID8gKFxuICAgICAgPEF2YXRhclxuICAgICAgICBzaXplPXtBdmF0YXJTaXplcy5zbWFsbH1cbiAgICAgICAgaW1hZ2U9e3Jhd0F2YXRhcn1cbiAgICAgICAgYm9yZGVyPXthdmF0YXJCb3JkZXJ9XG4gICAgICAvPlxuICAgICkgOiBSZWFjdC5pc1ZhbGlkRWxlbWVudChyYXdBdmF0YXIpID8gKFxuICAgICAgKHJhd0F2YXRhciBhcyBSZWFjdE5vZGUpXG4gICAgKSA6IG51bGxcbiAgKSA6IG51bGw7XG5cbiAgY29uc3QgbGVhZGluZ0VsZW1lbnQgPSAhaXNOaWxsKHNlbGVjdGVkQXZhdGFyKSA/IChcbiAgICAoc2VsZWN0ZWRBdmF0YXIgYXMgUmVhY3ROb2RlKVxuICApIDogaWNvbiA/IChcbiAgICA8SWNvblxuICAgICAgbmFtZT17aWNvbn1cbiAgICAgIHNpemU9ezE2fVxuICAgICAgY29sb3I9e2lzRHJvcGRvd25EaXNhYmxlZCA/IHRoZW1lLmNvbG9ycy5ncmV5IDogdGhlbWUuY29sb3JzLmdyZXlEYXJrZXI4MH1cbiAgICAvPlxuICApIDogbnVsbDtcblxuICBjb25zdCB0b2dnbGVDb250ZW50ID0gIWlzTmlsbChsZWFkaW5nRWxlbWVudCkgPyAoXG4gICAgPFNlbGVjdGVkQ29udGVudD5cbiAgICAgIDxMZWFkaW5nRWxlbWVudD57bGVhZGluZ0VsZW1lbnR9PC9MZWFkaW5nRWxlbWVudD5cbiAgICAgIDxTZWxlY3RlZExhYmVsPnt2YWx1ZX08L1NlbGVjdGVkTGFiZWw+XG4gICAgPC9TZWxlY3RlZENvbnRlbnQ+XG4gICkgOiAoXG4gICAgPFNlbGVjdGVkTGFiZWw+e3ZhbHVlfTwvU2VsZWN0ZWRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxEcm9wZG93bkZpZWxkV3JhcHBlciB7Li4ud3JhcHBlckNzc1Byb3BzfT5cbiAgICAgIHtsYWJlbCA/IChcbiAgICAgICAgPExhYmVsIGlkPXtsYWJlbElkfSBkaXNhYmxlZD17aXNEcm9wZG93bkRpc2FibGVkfSBiYWRnZT17YmFkZ2V9PlxuICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9MYWJlbD5cbiAgICAgICkgOiBudWxsfVxuICAgICAgPERyb3Bkb3duQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17Y29udGV4dFZhbHVlfT5cbiAgICAgICAgPERyb3Bkb3duQmFzZVxuICAgICAgICAgIHsuLi5jb21wb25lbnRQcm9wcz8uYmFzZX1cbiAgICAgICAgICB7Li4uYmFzZUNzc1Byb3BzfVxuICAgICAgICAgIHJlZj17ZHJvcGRvd25SZWZ9XG4gICAgICAgICAgZGF0YS10ZXN0aWQ9XCJkcm9wZG93blwiPlxuICAgICAgICAgIDxEcm9wZG93blRvZ2dsZVxuICAgICAgICAgICAgey4uLmNvbXBvbmVudFByb3BzPy50b2dnbGVCdXR0b259XG4gICAgICAgICAgICB7Li4udG9nZ2xlQ3NzUHJvcHN9XG4gICAgICAgICAgICByZWY9e3RvZ2dsZVJlZn1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgaXNPcGVuPXtpc09wZW59XG4gICAgICAgICAgICBkaXNhYmxlZD17aXNEcm9wZG93bkRpc2FibGVkfVxuICAgICAgICAgICAgc3RhdHVzPXtzdGF0dXN9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiAoaXNPcGVuID8gY2xvc2UoKSA6IG9wZW4oKSl9XG4gICAgICAgICAgICB7Li4udG9nZ2xlS2V5c31cbiAgICAgICAgICAgIG9uRm9jdXM9e3NldElzRm9jdXNlZC5iaW5kKG51bGwsIHRydWUpfVxuICAgICAgICAgICAgY29sb3JzPXtjb2xvcnN9XG4gICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e2xhYmVsSWR9XG4gICAgICAgICAgICB7Li4uKGJhZGdlICYmIHsgJ2FyaWEtZGVzY3JpYmVkYnknOiBiYWRnZS5pZCB9KX1cbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e2xpc3RJZH0+XG4gICAgICAgICAgICB7dG9nZ2xlQ29udGVudH1cbiAgICAgICAgICAgIDxEcm9wZG93bkFycm93XG4gICAgICAgICAgICAgIHsuLi5jb21wb25lbnRQcm9wcz8udG9nZ2xlQnV0dG9uQXJyb3d9XG4gICAgICAgICAgICAgIGlzVXA9e2lzT3Blbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Ecm9wZG93blRvZ2dsZT5cblxuICAgICAgICAgIHtpc09wZW4gJiYgc2VhcmNoYWJsZSA/IChcbiAgICAgICAgICAgIDxEcm9wZG93blNlYXJjaFxuICAgICAgICAgICAgICB7Li4uc2VhcmNoS2V5c31cbiAgICAgICAgICAgICAgcXVlcnk9e3F1ZXJ5fVxuICAgICAgICAgICAgICBvblF1ZXJ5Q2hhbmdlPXtjaGFuZ2VRdWVyeX1cbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3NlYXJjaFBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICBsaXN0SWQ9e2xpc3RJZH1cbiAgICAgICAgICAgICAgcGxhY2VtZW50PXtwbGFjZW1lbnR9PlxuICAgICAgICAgICAgICA8RHJvcGRvd25PcHRpb25zIGlkPXtsaXN0SWR9PntpdGVtc308L0Ryb3Bkb3duT3B0aW9ucz5cbiAgICAgICAgICAgIDwvRHJvcGRvd25TZWFyY2g+XG4gICAgICAgICAgKSA6IGlzT3BlbiA/IChcbiAgICAgICAgICAgIDxEcm9wZG93bk9wdGlvbnMgaWQ9e2xpc3RJZH0+e2l0ZW1zfTwvRHJvcGRvd25PcHRpb25zPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L0Ryb3Bkb3duQmFzZT5cbiAgICAgIDwvRHJvcGRvd25Db250ZXh0LlByb3ZpZGVyPlxuICAgICAge2hlbHBlclRleHQgfHwgZXJyb3JzID8gKFxuICAgICAgICA8Rm9ybUhlbHBlclRleHRcbiAgICAgICAgICByb2xlPVwic3RhdHVzXCJcbiAgICAgICAgICBzdGF0dXM9e3N0YXR1c31cbiAgICAgICAgICBkaXNhYmxlZD17aXNEcm9wZG93bkRpc2FibGVkfT5cbiAgICAgICAgICB7ZXJyb3JzPy5tZXNzYWdlIHx8IGhlbHBlclRleHR9XG4gICAgICAgIDwvRm9ybUhlbHBlclRleHQ+XG4gICAgICApIDogbnVsbH1cbiAgICA8L0Ryb3Bkb3duRmllbGRXcmFwcGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRHJvcGRvd247XG4iXX0= */",
|
|
28574
28712
|
toString: Dropdown_EMOTION_STRINGIFIED_CSS_ERROR_
|
|
28575
28713
|
});
|
|
28576
28714
|
|
|
@@ -28686,6 +28824,9 @@ const Dropdown = ({
|
|
|
28686
28824
|
success,
|
|
28687
28825
|
icon,
|
|
28688
28826
|
width,
|
|
28827
|
+
searchable = false,
|
|
28828
|
+
searchPlaceholder = 'Search',
|
|
28829
|
+
searchEmptyState = 'No results found',
|
|
28689
28830
|
dropdownProps: componentProps
|
|
28690
28831
|
}) => {
|
|
28691
28832
|
const isDropdownDisabled = resolveDisabled('Dropdown', disabled, isDisabled);
|
|
@@ -28725,6 +28866,7 @@ const Dropdown = ({
|
|
|
28725
28866
|
const theme = (0,react_namespaceObject.useTheme)();
|
|
28726
28867
|
const dropdownRef = (0,external_react_.useRef)(null);
|
|
28727
28868
|
const listRef = (0,external_react_.useRef)(null);
|
|
28869
|
+
const toggleRef = (0,external_react_.useRef)(null);
|
|
28728
28870
|
const dropdownId = (0,external_react_.useId)();
|
|
28729
28871
|
// Names the toggle; left out without a label, so it never points at a
|
|
28730
28872
|
// missing element.
|
|
@@ -28742,9 +28884,17 @@ const Dropdown = ({
|
|
|
28742
28884
|
// drives the list and points at the option with aria-activedescendant.
|
|
28743
28885
|
const [activeValue, setActiveValue] = (0,external_react_.useState)(null);
|
|
28744
28886
|
const listId = `dropdown-popup-${dropdownId}`;
|
|
28887
|
+
// Search text; only used with `searchable`, cleared on close.
|
|
28888
|
+
const [query, setQuery] = (0,external_react_.useState)('');
|
|
28745
28889
|
const close = () => {
|
|
28746
28890
|
setIsOpen(false);
|
|
28747
28891
|
setActiveValue(null);
|
|
28892
|
+
setQuery('');
|
|
28893
|
+
// The search box unmounts with the list; hand focus back to the toggle
|
|
28894
|
+
// rather than dropping it on <body>.
|
|
28895
|
+
if (searchable && document.activeElement !== toggleRef.current && dropdownRef.current?.contains(document.activeElement)) {
|
|
28896
|
+
toggleRef.current?.focus();
|
|
28897
|
+
}
|
|
28748
28898
|
};
|
|
28749
28899
|
const onChange = item => {
|
|
28750
28900
|
const innerItem = options.filter(option => option.value === item)[0];
|
|
@@ -28785,29 +28935,37 @@ const Dropdown = ({
|
|
|
28785
28935
|
return;
|
|
28786
28936
|
}
|
|
28787
28937
|
const rect = dropdownRef.current.getBoundingClientRect();
|
|
28788
|
-
|
|
28938
|
+
// With search the list sits in a card under the search box.
|
|
28939
|
+
const popup = searchable ? listRef.current?.parentElement : listRef.current;
|
|
28940
|
+
const listHeight = popup?.offsetHeight || maxHeight;
|
|
28789
28941
|
const spaceBelow = window.innerHeight - rect.bottom;
|
|
28790
28942
|
setPlacement(spaceBelow < listHeight ? 'top' : 'bottom');
|
|
28791
28943
|
}, [isOpen]);
|
|
28792
28944
|
const childrenArray = external_react_default().Children.toArray(children).filter(Boolean);
|
|
28793
28945
|
// Groups unwrapped: what `onChange` can pick from.
|
|
28794
28946
|
const options = flattenDropdownOptions(childrenArray).map(option => option.props);
|
|
28947
|
+
const visibleChildren = searchable ? filterDropdownOptions(childrenArray, query) : childrenArray;
|
|
28795
28948
|
|
|
28796
28949
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
28797
|
-
const items =
|
|
28950
|
+
const items = visibleChildren.map((child, index) => {
|
|
28798
28951
|
return /*#__PURE__*/external_react_default().cloneElement(child, {
|
|
28799
28952
|
index,
|
|
28800
28953
|
onClick: onChange.bind(undefined),
|
|
28801
28954
|
...child.props
|
|
28802
28955
|
});
|
|
28803
28956
|
});
|
|
28804
|
-
const menuItems = toDropdownMenuItems(
|
|
28957
|
+
const menuItems = toDropdownMenuItems(visibleChildren);
|
|
28958
|
+
|
|
28959
|
+
/** The selected option if listed, else the first (or last, for ArrowUp). */
|
|
28960
|
+
const getInitialActiveValue = (entries, key = 'ArrowDown') => {
|
|
28961
|
+
const selected = flattenItems(entries).find(item => !item.disabled && item.value === activeItem?.value);
|
|
28962
|
+
return selected?.value ?? getNextActiveValue(entries, null, key) ?? null;
|
|
28963
|
+
};
|
|
28805
28964
|
|
|
28806
28965
|
/** Opens with the selected option highlighted, else per the key pressed. */
|
|
28807
28966
|
const open = (key = 'ArrowDown') => {
|
|
28808
28967
|
setIsOpen(true);
|
|
28809
|
-
|
|
28810
|
-
setActiveValue(selected?.value ?? getNextActiveValue(menuItems, null, key) ?? null);
|
|
28968
|
+
setActiveValue(getInitialActiveValue(menuItems, key));
|
|
28811
28969
|
};
|
|
28812
28970
|
const toggleKeys = useToggleListKeys({
|
|
28813
28971
|
listId,
|
|
@@ -28822,6 +28980,36 @@ const Dropdown = ({
|
|
|
28822
28980
|
onKeyDown: componentProps?.toggleButton?.onKeyDown,
|
|
28823
28981
|
onKeyUp: componentProps?.toggleButton?.onKeyUp
|
|
28824
28982
|
});
|
|
28983
|
+
|
|
28984
|
+
// The search box drives the list while it is open.
|
|
28985
|
+
const searchKeys = useToggleListKeys({
|
|
28986
|
+
listId,
|
|
28987
|
+
isOpen,
|
|
28988
|
+
disabled: isDropdownDisabled,
|
|
28989
|
+
menuItems,
|
|
28990
|
+
activeValue,
|
|
28991
|
+
setActiveValue,
|
|
28992
|
+
open,
|
|
28993
|
+
close,
|
|
28994
|
+
onPick: value => onChange(value),
|
|
28995
|
+
typing: true,
|
|
28996
|
+
// Escape clears the search first, then closes.
|
|
28997
|
+
onKeyDown: event => {
|
|
28998
|
+
if (event.key === 'Escape' && query) {
|
|
28999
|
+
event.preventDefault();
|
|
29000
|
+
changeQuery('');
|
|
29001
|
+
}
|
|
29002
|
+
}
|
|
29003
|
+
});
|
|
29004
|
+
|
|
29005
|
+
/** Updates the search and moves the highlight to suit it. */
|
|
29006
|
+
const changeQuery = next => {
|
|
29007
|
+
setQuery(next);
|
|
29008
|
+
const matches = toDropdownMenuItems(filterDropdownOptions(childrenArray, next));
|
|
29009
|
+
// A cleared search goes back to where opening starts; a search to its
|
|
29010
|
+
// first match.
|
|
29011
|
+
setActiveValue(next.trim() ? getNextActiveValue(matches, null, 'ArrowDown') ?? null : getInitialActiveValue(matches));
|
|
29012
|
+
};
|
|
28825
29013
|
const contextValue = external_react_default().useMemo(() => ({
|
|
28826
29014
|
onChange,
|
|
28827
29015
|
activeItem,
|
|
@@ -28829,8 +29017,10 @@ const Dropdown = ({
|
|
|
28829
29017
|
listRef,
|
|
28830
29018
|
placement,
|
|
28831
29019
|
activeValue,
|
|
28832
|
-
setActiveValue
|
|
28833
|
-
|
|
29020
|
+
setActiveValue,
|
|
29021
|
+
searchable,
|
|
29022
|
+
emptyState: query ? searchEmptyState : undefined
|
|
29023
|
+
}), [onChange, activeItem, maxHeight, placement, activeValue, searchable, query, searchEmptyState]);
|
|
28834
29024
|
const value = activeItem ? activeItem.label || activeItem.children || activeItem.value || activeItem || placeholder : placeholder;
|
|
28835
29025
|
const rawAvatar = activeItem && activeItem.avatar;
|
|
28836
29026
|
const selectedAvatar = !(0,utils_namespaceObject.isNill)(rawAvatar) ? typeof rawAvatar === 'string' ? (0,jsx_runtime_namespaceObject.jsx)(Avatar_Avatar, {
|
|
@@ -28869,6 +29059,7 @@ const Dropdown = ({
|
|
|
28869
29059
|
children: [(0,jsx_runtime_namespaceObject.jsxs)(DropdownToggle_DropdownToggle, {
|
|
28870
29060
|
...componentProps?.toggleButton,
|
|
28871
29061
|
...toggleCssProps,
|
|
29062
|
+
ref: toggleRef,
|
|
28872
29063
|
className: className,
|
|
28873
29064
|
isOpen: isOpen,
|
|
28874
29065
|
disabled: isDropdownDisabled,
|
|
@@ -28886,7 +29077,18 @@ const Dropdown = ({
|
|
|
28886
29077
|
...componentProps?.toggleButtonArrow,
|
|
28887
29078
|
isUp: isOpen
|
|
28888
29079
|
})]
|
|
28889
|
-
}), isOpen ? (0,jsx_runtime_namespaceObject.jsx)(
|
|
29080
|
+
}), isOpen && searchable ? (0,jsx_runtime_namespaceObject.jsx)(DropdownSearch, {
|
|
29081
|
+
...searchKeys,
|
|
29082
|
+
query: query,
|
|
29083
|
+
onQueryChange: changeQuery,
|
|
29084
|
+
placeholder: searchPlaceholder,
|
|
29085
|
+
listId: listId,
|
|
29086
|
+
placement: placement,
|
|
29087
|
+
children: (0,jsx_runtime_namespaceObject.jsx)(DropdownOptions_DropdownOptions, {
|
|
29088
|
+
id: listId,
|
|
29089
|
+
children: items
|
|
29090
|
+
})
|
|
29091
|
+
}) : isOpen ? (0,jsx_runtime_namespaceObject.jsx)(DropdownOptions_DropdownOptions, {
|
|
28890
29092
|
id: listId,
|
|
28891
29093
|
children: items
|
|
28892
29094
|
}) : null]
|
|
@@ -28927,7 +29129,7 @@ const DropdownOption_multipleStyles = ({
|
|
|
28927
29129
|
theme,
|
|
28928
29130
|
isDisabled
|
|
28929
29131
|
}) => {
|
|
28930
|
-
return /*#__PURE__*/(0,react_namespaceObject.css)("background:none;color:", isDisabled ? theme.colors.greyDisabledCheckbox : theme.colors.greyDisabled, ";&:hover{background:none;}" + (process.env.NODE_ENV === "production" ? "" : ";label:multipleStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
29132
|
+
return /*#__PURE__*/(0,react_namespaceObject.css)("background:none;color:", isDisabled ? theme.colors.greyDisabledCheckbox : theme.colors.greyDisabled, ";&:hover{background:none;}" + (process.env.NODE_ENV === "production" ? "" : ";label:multipleStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbi9Ecm9wZG93bk9wdGlvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0NZIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbi9Ecm9wZG93bk9wdGlvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFRoZW1lLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBDb21tb25Qcm9wcyB9IGZyb20gJ0BnbG9iYWwtdHlwZXMvZW1vdGlvbic7XG5pbXBvcnQgeyByZXNvbHZlRGlzYWJsZWQgfSBmcm9tICdAdXRpbHMvZGVwcmVjYXRpb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIERyb3Bkb3duSXRlbVByb3BzXG4gIGV4dGVuZHNcbiAgICBDb21tb25Qcm9wcyxcbiAgICBPbWl0PFJlYWN0LkxpSFRNTEF0dHJpYnV0ZXM8SFRNTExJRWxlbWVudD4sICd2YWx1ZScgfCAnb25DbGljayc+IHtcbiAgb25DbGljaz86IChlOiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxFbGVtZW50PikgPT4gdm9pZDtcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xuICBpc011bHRpcGxlPzogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdGhpcyBvcHRpb24gaXMgZGlzYWJsZWQuIE9ubHkgc3R5bGVkIGluIGBpc011bHRpcGxlYCBtb2RlLiAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgb3B0aW9uIGlzIGRpc2FibGVkLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGRpc2FibGVkYCBpbnN0ZWFkLiBSZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHJlbGVhc2UuXG4gICAqL1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgbm9Ib3Zlcj86IGJvb2xlYW47XG4gIHZhbHVlPzogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbjtcbiAgbGFiZWw/OiBzdHJpbmcgfCBudW1iZXI7XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xuICAvKiogQXZhdGFyIG9yIGljb24gdG8gZGlzcGxheSBiZWZvcmUgdGhlIG9wdGlvbiBjb250ZW50IChlLmcuIDxBdmF0YXIgc2l6ZT17MjB9IGltYWdlPXt1cmx9IC8+KSAqL1xuICBhdmF0YXI/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIC8qKlxuICAgKiBQbGFpbiB0ZXh0IG9mIHRoZSBvcHRpb24sIGZvciBzZWFyY2ggYW5kIHR5cGUtdG8tZmluZC4gTmVlZGVkIHdoZW5cbiAgICogYGNoaWxkcmVuYCBpcyBtYXJrdXAgcmF0aGVyIHRoYW4gdGV4dDsgZGVmYXVsdHMgdG8gdGhlIHRleHQgbGFiZWwuXG4gICAqL1xuICB0ZXh0VmFsdWU/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBNdWx0aXBsZVN0eWxlc1Byb3BzIHtcbiAgdGhlbWU6IFRoZW1lO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuY29uc3QgbXVsdGlwbGVTdHlsZXMgPSAoeyB0aGVtZSwgaXNEaXNhYmxlZCB9OiBNdWx0aXBsZVN0eWxlc1Byb3BzKSA9PiB7XG4gIHJldHVybiBjc3NgXG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogJHtpc0Rpc2FibGVkXG4gICAgICA/IHRoZW1lLmNvbG9ycy5ncmV5RGlzYWJsZWRDaGVja2JveFxuICAgICAgOiB0aGVtZS5jb2xvcnMuZ3JleURpc2FibGVkfTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuICBgO1xufTtcblxuY29uc3QgRHJvcGRvd25PcHRpb25CYXNlID0gc3R5bGVkLmxpPE9taXQ8RHJvcGRvd25JdGVtUHJvcHMsICdkaXNhYmxlZCc+PmBcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAvKiBUaGUgcm93IGlzIGEgZml4ZWQgNDBweCBidXQgaXRzIGNvbnRlbnQgKGEgfjE5cHggbGluZSBib3gpIGlzIHNob3J0ZXIsIHNvXG4gICAgIGFzIGEgcGxhaW4gYmxvY2sgdGhlIHRleHQgc2F0IGZsdXNoIGFnYWluc3QgdGhlIHRvcCBwYWRkaW5nIGVkZ2UgYW5kIGFsbFxuICAgICB0aGUgbGVmdG92ZXIgc3BhY2UgZmVsbCBiZWxvdyBpdC4gQ2VudGVyaW5nIGl0IGtlZXBzIHRoZSBsYWJlbCBhbGlnbmVkXG4gICAgIHdpdGggdGhlIHJvdydzIGhpZ2hsaWdodCBiYW5kLiAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogOHB4IDEycHg7XG5cbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAkeyh7IGlzQWN0aXZlLCB0aGVtZSB9KSA9PlxuICAgIGlzQWN0aXZlID8gdGhlbWUuY29sb3JzLmdyZXlTZWxlY3RlZE1lbnVJdGVtIDogJ2luaGVyaXQnfTtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5ncmV5TGlnaHRlcn07XG4gIH1cblxuICAkeyh7IGlzTXVsdGlwbGUsIGlzRGlzYWJsZWQsIHRoZW1lIH0pID0+XG4gICAgaXNNdWx0aXBsZSAmJlxuICAgIG11bHRpcGxlU3R5bGVzKHtcbiAgICAgIHRoZW1lLFxuICAgICAgaXNEaXNhYmxlZCxcbiAgICB9KX1cbmA7XG5cbi8qKlxuICogRHJvcGRvd25PcHRpb24gLSBBIHNpbmdsZSBzZWxlY3RhYmxlIHJvdyBpbnNpZGUgYERyb3Bkb3duYCBvclxuICogYE11bHRpcGxlRHJvcGRvd25gLlxuICpcbiAqIFRoaW4gd3JhcHBlciBvdmVyIGEgc3R5bGVkIGA8bGk+YC4gSXQgZXhpc3RzIHNvIHRoYXQgYGRpc2FibGVkYCBjYW4gYmVcbiAqIGFjY2VwdGVkIGFzIHRoZSBzdXBwb3J0ZWQgcHJvcCBuYW1lIHdpdGhvdXQgZW1vdGlvbiBmb3J3YXJkaW5nIGl0IHRvIHRoZVxuICogRE9NLCB3aGVyZSBgZGlzYWJsZWRgIGlzIG5vdCB2YWxpZCBvbiBhbiBgPGxpPmAuXG4gKlxuICogIyMjIFRoZSBwYXJlbnQgc3VwcGxpZXMgdGhlIHZpc2libGUgbGFiZWxcbiAqIE9wdGlvbnMgYXJlIG5vdCByZW5kZXJlZCBhcyB3cml0dGVuOiB0aGUgZW5jbG9zaW5nIGRyb3Bkb3duIGNsb25lcyBlYWNoIG9uZVxuICogYW5kIGluamVjdHMgdGhlIGxhYmVsLCByZXNvbHZlZCBhcyAqKmBjaGlsZHJlbmAg4oaSIGBsYWJlbGAg4oaSIGB2YWx1ZWAqKi4gU29cbiAqIGA8RHJvcGRvd25PcHRpb24gdmFsdWU9XCJTYWxlc1wiIC8+YCBkaXNwbGF5cyBcIlNhbGVzXCIgd2l0aCBubyBjaGlsZHJlbiBuZWVkZWQsXG4gKiBgbGFiZWxgIG92ZXJyaWRlcyB0aGF0IGZvciBhIGRpZmZlcmVudCBkaXNwbGF5IHN0cmluZywgYW5kIGBjaGlsZHJlbmAgd2luc1xuICogb3ZlciBib3RoIHdoZW4gYSByb3cgbmVlZHMgY3VzdG9tIG1hcmt1cC5cbiAqXG4gKiBUaGUgY2xvbmUgYWxzbyB3cmFwcyB0aGUgbGFiZWwgZm9yIHRydW5jYXRpb24gYW5kIGF0dGFjaGVzIGEgdG9vbHRpcCwgc28gcHV0XG4gKiBjdXN0b20gY29udGVudCBpbiBgY2hpbGRyZW5gIHJhdGhlciB0aGFuIHN0eWxpbmcgdGhlIGA8bGk+YCBkaXJlY3RseS5cbiAqXG4gKiAjIyMgU2VsZWN0aW9uIHN0YXRlIGNvbWVzIGZyb20gdGhlIHBhcmVudFxuICogYGlzQWN0aXZlYCwgYGlzTXVsdGlwbGVgIGFuZCB0aGUgY2xpY2sgd2lyaW5nIGFyZSBzZXQgYnkgYERyb3Bkb3duYCAvXG4gKiBgTXVsdGlwbGVEcm9wZG93bmA7IHlvdSBzdXBwbHkgYHZhbHVlYCBhbmQgbGV0IHRoZSBwYXJlbnQgcmVwb3J0IHNlbGVjdGlvblxuICogdGhyb3VnaCBpdHMgb3duIGBvbkNoYW5nZWAuIE5vdGUgYGRpc2FibGVkYCBpcyBvbmx5IHN0eWxlZCBpbiBgaXNNdWx0aXBsZWBcbiAqIG1vZGUuXG4gKlxuICogQGNhdGVnb3J5IEZvcm0gQ29udHJvbHNcbiAqIEBzdWJjYXRlZ29yeSBTZWxlY3Rpb25cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiAvLyBMYWJlbCBmYWxscyBiYWNrIHRvIGB2YWx1ZWBcbiAqIDxEcm9wZG93biBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfT5cbiAqICAge3RlYW1zLm1hcCgodGVhbSkgPT4gKFxuICogICAgIDxEcm9wZG93bk9wdGlvbiBrZXk9e3RlYW0uaWR9IHZhbHVlPXt0ZWFtLm5hbWV9IC8+XG4gKiAgICkpfVxuICogPC9Ecm9wZG93bj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIFJlcG9ydCBhbiBpZCwgZGlzcGxheSBzb21ldGhpbmcgZWxzZVxuICogPERyb3Bkb3duT3B0aW9uIHZhbHVlPXt1c2VyLmlkfSBsYWJlbD17dXNlci5mdWxsTmFtZX0gLz5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIEN1c3RvbSByb3cgY29udGVudDsgYGF2YXRhcmAgZmlsbHMgdGhlIGxlYWRpbmcgc2xvdFxuICogPERyb3Bkb3duT3B0aW9uIHZhbHVlPXt1c2VyLmlkfSBhdmF0YXI9ezxBdmF0YXIgc2l6ZT17MjB9IGltYWdlPXt1c2VyLnBob3RvfSAvPn0+XG4gKiAgIHt1c2VyLmZ1bGxOYW1lfSDigJQge3VzZXIucm9sZX1cbiAqIDwvRHJvcGRvd25PcHRpb24+XG4gKiBgYGBcbiAqL1xuY29uc3QgRHJvcGRvd25PcHRpb24gPSBmb3J3YXJkUmVmPEhUTUxMSUVsZW1lbnQsIERyb3Bkb3duSXRlbVByb3BzPihcbiAgZnVuY3Rpb24gRHJvcGRvd25PcHRpb24oXG4gICAgLy8gYHRleHRWYWx1ZWAgaXMgcmVhZCBieSB0aGUgcGFyZW50IGRyb3Bkb3duOyBrZXB0IG9mZiB0aGUgPGxpPi5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgeyBkaXNhYmxlZCwgaXNEaXNhYmxlZCwgdmFsdWUsIHRleHRWYWx1ZSwgLi4ucmVzdCB9LFxuICAgIHJlZixcbiAgKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxEcm9wZG93bk9wdGlvbkJhc2VcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIGlzRGlzYWJsZWQ9e3Jlc29sdmVEaXNhYmxlZCgnRHJvcGRvd25PcHRpb24nLCBkaXNhYmxlZCwgaXNEaXNhYmxlZCl9XG4gICAgICAgIC8vIGB2YWx1ZWAgaXMgd2lkZW5lZCB0byBib29sZWFucyBoZXJlIGJ1dCBuYXJyb3cgb24gPGxpPjsgZm9yd2FyZGVkXG4gICAgICAgIC8vIGFzLWlzIHRvIHByZXNlcnZlIHRoZSBwcmUtZXhpc3RpbmcgcnVudGltZSBiZWhhdmlvdXIuXG4gICAgICAgIHZhbHVlPXtcbiAgICAgICAgICB2YWx1ZSBhcyBSZWFjdC5Db21wb25lbnRQcm9wczx0eXBlb2YgRHJvcGRvd25PcHRpb25CYXNlPlsndmFsdWUnXVxuICAgICAgICB9XG4gICAgICAgIHsuLi5yZXN0fVxuICAgICAgLz5cbiAgICApO1xuICB9LFxuKTtcblxuZXhwb3J0IGRlZmF1bHQgRHJvcGRvd25PcHRpb247XG4iXX0= */");
|
|
28931
29133
|
};
|
|
28932
29134
|
const DropdownOptionBase = /*#__PURE__*/base_default()("li", process.env.NODE_ENV === "production" ? {
|
|
28933
29135
|
target: "e784n6w0"
|
|
@@ -28946,7 +29148,7 @@ const DropdownOptionBase = /*#__PURE__*/base_default()("li", process.env.NODE_EN
|
|
|
28946
29148
|
}) => isMultiple && DropdownOption_multipleStyles({
|
|
28947
29149
|
theme,
|
|
28948
29150
|
isDisabled
|
|
28949
|
-
}), ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
29151
|
+
}), ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbi9Ecm9wZG93bk9wdGlvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUR5RSIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91aS1raXQvdWkta2l0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvRHJvcGRvd25PcHRpb24vRHJvcGRvd25PcHRpb24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IGZvcndhcmRSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBUaGVtZSwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgQ29tbW9uUHJvcHMgfSBmcm9tICdAZ2xvYmFsLXR5cGVzL2Vtb3Rpb24nO1xuaW1wb3J0IHsgcmVzb2x2ZURpc2FibGVkIH0gZnJvbSAnQHV0aWxzL2RlcHJlY2F0aW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBEcm9wZG93bkl0ZW1Qcm9wc1xuICBleHRlbmRzXG4gICAgQ29tbW9uUHJvcHMsXG4gICAgT21pdDxSZWFjdC5MaUhUTUxBdHRyaWJ1dGVzPEhUTUxMSUVsZW1lbnQ+LCAndmFsdWUnIHwgJ29uQ2xpY2snPiB7XG4gIG9uQ2xpY2s/OiAoZTogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudD4pID0+IHZvaWQ7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNdWx0aXBsZT86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRoaXMgb3B0aW9uIGlzIGRpc2FibGVkLiBPbmx5IHN0eWxlZCBpbiBgaXNNdWx0aXBsZWAgbW9kZS4gKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB0aGlzIG9wdGlvbiBpcyBkaXNhYmxlZC5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBkaXNhYmxlZGAgaW5zdGVhZC4gUmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLlxuICAgKi9cbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gIG5vSG92ZXI/OiBib29sZWFuO1xuICB2YWx1ZT86IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW47XG4gIGxhYmVsPzogc3RyaW5nIHwgbnVtYmVyO1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgLyoqIEF2YXRhciBvciBpY29uIHRvIGRpc3BsYXkgYmVmb3JlIHRoZSBvcHRpb24gY29udGVudCAoZS5nLiA8QXZhdGFyIHNpemU9ezIwfSBpbWFnZT17dXJsfSAvPikgKi9cbiAgYXZhdGFyPzogUmVhY3QuUmVhY3ROb2RlO1xuICAvKipcbiAgICogUGxhaW4gdGV4dCBvZiB0aGUgb3B0aW9uLCBmb3Igc2VhcmNoIGFuZCB0eXBlLXRvLWZpbmQuIE5lZWRlZCB3aGVuXG4gICAqIGBjaGlsZHJlbmAgaXMgbWFya3VwIHJhdGhlciB0aGFuIHRleHQ7IGRlZmF1bHRzIHRvIHRoZSB0ZXh0IGxhYmVsLlxuICAgKi9cbiAgdGV4dFZhbHVlPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgTXVsdGlwbGVTdHlsZXNQcm9wcyB7XG4gIHRoZW1lOiBUaGVtZTtcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbmNvbnN0IG11bHRpcGxlU3R5bGVzID0gKHsgdGhlbWUsIGlzRGlzYWJsZWQgfTogTXVsdGlwbGVTdHlsZXNQcm9wcykgPT4ge1xuICByZXR1cm4gY3NzYFxuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICR7aXNEaXNhYmxlZFxuICAgICAgPyB0aGVtZS5jb2xvcnMuZ3JleURpc2FibGVkQ2hlY2tib3hcbiAgICAgIDogdGhlbWUuY29sb3JzLmdyZXlEaXNhYmxlZH07XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cbiAgYDtcbn07XG5cbmNvbnN0IERyb3Bkb3duT3B0aW9uQmFzZSA9IHN0eWxlZC5saTxPbWl0PERyb3Bkb3duSXRlbVByb3BzLCAnZGlzYWJsZWQnPj5gXG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLyogVGhlIHJvdyBpcyBhIGZpeGVkIDQwcHggYnV0IGl0cyBjb250ZW50IChhIH4xOXB4IGxpbmUgYm94KSBpcyBzaG9ydGVyLCBzb1xuICAgICBhcyBhIHBsYWluIGJsb2NrIHRoZSB0ZXh0IHNhdCBmbHVzaCBhZ2FpbnN0IHRoZSB0b3AgcGFkZGluZyBlZGdlIGFuZCBhbGxcbiAgICAgdGhlIGxlZnRvdmVyIHNwYWNlIGZlbGwgYmVsb3cgaXQuIENlbnRlcmluZyBpdCBrZWVwcyB0aGUgbGFiZWwgYWxpZ25lZFxuICAgICB3aXRoIHRoZSByb3cncyBoaWdobGlnaHQgYmFuZC4gKi9cbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuXG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogJHsoeyBpc0FjdGl2ZSwgdGhlbWUgfSkgPT5cbiAgICBpc0FjdGl2ZSA/IHRoZW1lLmNvbG9ycy5ncmV5U2VsZWN0ZWRNZW51SXRlbSA6ICdpbmhlcml0J307XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZ3JleUxpZ2h0ZXJ9O1xuICB9XG5cbiAgJHsoeyBpc011bHRpcGxlLCBpc0Rpc2FibGVkLCB0aGVtZSB9KSA9PlxuICAgIGlzTXVsdGlwbGUgJiZcbiAgICBtdWx0aXBsZVN0eWxlcyh7XG4gICAgICB0aGVtZSxcbiAgICAgIGlzRGlzYWJsZWQsXG4gICAgfSl9XG5gO1xuXG4vKipcbiAqIERyb3Bkb3duT3B0aW9uIC0gQSBzaW5nbGUgc2VsZWN0YWJsZSByb3cgaW5zaWRlIGBEcm9wZG93bmAgb3JcbiAqIGBNdWx0aXBsZURyb3Bkb3duYC5cbiAqXG4gKiBUaGluIHdyYXBwZXIgb3ZlciBhIHN0eWxlZCBgPGxpPmAuIEl0IGV4aXN0cyBzbyB0aGF0IGBkaXNhYmxlZGAgY2FuIGJlXG4gKiBhY2NlcHRlZCBhcyB0aGUgc3VwcG9ydGVkIHByb3AgbmFtZSB3aXRob3V0IGVtb3Rpb24gZm9yd2FyZGluZyBpdCB0byB0aGVcbiAqIERPTSwgd2hlcmUgYGRpc2FibGVkYCBpcyBub3QgdmFsaWQgb24gYW4gYDxsaT5gLlxuICpcbiAqICMjIyBUaGUgcGFyZW50IHN1cHBsaWVzIHRoZSB2aXNpYmxlIGxhYmVsXG4gKiBPcHRpb25zIGFyZSBub3QgcmVuZGVyZWQgYXMgd3JpdHRlbjogdGhlIGVuY2xvc2luZyBkcm9wZG93biBjbG9uZXMgZWFjaCBvbmVcbiAqIGFuZCBpbmplY3RzIHRoZSBsYWJlbCwgcmVzb2x2ZWQgYXMgKipgY2hpbGRyZW5gIOKGkiBgbGFiZWxgIOKGkiBgdmFsdWVgKiouIFNvXG4gKiBgPERyb3Bkb3duT3B0aW9uIHZhbHVlPVwiU2FsZXNcIiAvPmAgZGlzcGxheXMgXCJTYWxlc1wiIHdpdGggbm8gY2hpbGRyZW4gbmVlZGVkLFxuICogYGxhYmVsYCBvdmVycmlkZXMgdGhhdCBmb3IgYSBkaWZmZXJlbnQgZGlzcGxheSBzdHJpbmcsIGFuZCBgY2hpbGRyZW5gIHdpbnNcbiAqIG92ZXIgYm90aCB3aGVuIGEgcm93IG5lZWRzIGN1c3RvbSBtYXJrdXAuXG4gKlxuICogVGhlIGNsb25lIGFsc28gd3JhcHMgdGhlIGxhYmVsIGZvciB0cnVuY2F0aW9uIGFuZCBhdHRhY2hlcyBhIHRvb2x0aXAsIHNvIHB1dFxuICogY3VzdG9tIGNvbnRlbnQgaW4gYGNoaWxkcmVuYCByYXRoZXIgdGhhbiBzdHlsaW5nIHRoZSBgPGxpPmAgZGlyZWN0bHkuXG4gKlxuICogIyMjIFNlbGVjdGlvbiBzdGF0ZSBjb21lcyBmcm9tIHRoZSBwYXJlbnRcbiAqIGBpc0FjdGl2ZWAsIGBpc011bHRpcGxlYCBhbmQgdGhlIGNsaWNrIHdpcmluZyBhcmUgc2V0IGJ5IGBEcm9wZG93bmAgL1xuICogYE11bHRpcGxlRHJvcGRvd25gOyB5b3Ugc3VwcGx5IGB2YWx1ZWAgYW5kIGxldCB0aGUgcGFyZW50IHJlcG9ydCBzZWxlY3Rpb25cbiAqIHRocm91Z2ggaXRzIG93biBgb25DaGFuZ2VgLiBOb3RlIGBkaXNhYmxlZGAgaXMgb25seSBzdHlsZWQgaW4gYGlzTXVsdGlwbGVgXG4gKiBtb2RlLlxuICpcbiAqIEBjYXRlZ29yeSBGb3JtIENvbnRyb2xzXG4gKiBAc3ViY2F0ZWdvcnkgU2VsZWN0aW9uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogLy8gTGFiZWwgZmFsbHMgYmFjayB0byBgdmFsdWVgXG4gKiA8RHJvcGRvd24gb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX0+XG4gKiAgIHt0ZWFtcy5tYXAoKHRlYW0pID0+IChcbiAqICAgICA8RHJvcGRvd25PcHRpb24ga2V5PXt0ZWFtLmlkfSB2YWx1ZT17dGVhbS5uYW1lfSAvPlxuICogICApKX1cbiAqIDwvRHJvcGRvd24+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiAvLyBSZXBvcnQgYW4gaWQsIGRpc3BsYXkgc29tZXRoaW5nIGVsc2VcbiAqIDxEcm9wZG93bk9wdGlvbiB2YWx1ZT17dXNlci5pZH0gbGFiZWw9e3VzZXIuZnVsbE5hbWV9IC8+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiAvLyBDdXN0b20gcm93IGNvbnRlbnQ7IGBhdmF0YXJgIGZpbGxzIHRoZSBsZWFkaW5nIHNsb3RcbiAqIDxEcm9wZG93bk9wdGlvbiB2YWx1ZT17dXNlci5pZH0gYXZhdGFyPXs8QXZhdGFyIHNpemU9ezIwfSBpbWFnZT17dXNlci5waG90b30gLz59PlxuICogICB7dXNlci5mdWxsTmFtZX0g4oCUIHt1c2VyLnJvbGV9XG4gKiA8L0Ryb3Bkb3duT3B0aW9uPlxuICogYGBgXG4gKi9cbmNvbnN0IERyb3Bkb3duT3B0aW9uID0gZm9yd2FyZFJlZjxIVE1MTElFbGVtZW50LCBEcm9wZG93bkl0ZW1Qcm9wcz4oXG4gIGZ1bmN0aW9uIERyb3Bkb3duT3B0aW9uKFxuICAgIC8vIGB0ZXh0VmFsdWVgIGlzIHJlYWQgYnkgdGhlIHBhcmVudCBkcm9wZG93bjsga2VwdCBvZmYgdGhlIDxsaT4uXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIHsgZGlzYWJsZWQsIGlzRGlzYWJsZWQsIHZhbHVlLCB0ZXh0VmFsdWUsIC4uLnJlc3QgfSxcbiAgICByZWYsXG4gICkge1xuICAgIHJldHVybiAoXG4gICAgICA8RHJvcGRvd25PcHRpb25CYXNlXG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBpc0Rpc2FibGVkPXtyZXNvbHZlRGlzYWJsZWQoJ0Ryb3Bkb3duT3B0aW9uJywgZGlzYWJsZWQsIGlzRGlzYWJsZWQpfVxuICAgICAgICAvLyBgdmFsdWVgIGlzIHdpZGVuZWQgdG8gYm9vbGVhbnMgaGVyZSBidXQgbmFycm93IG9uIDxsaT47IGZvcndhcmRlZFxuICAgICAgICAvLyBhcy1pcyB0byBwcmVzZXJ2ZSB0aGUgcHJlLWV4aXN0aW5nIHJ1bnRpbWUgYmVoYXZpb3VyLlxuICAgICAgICB2YWx1ZT17XG4gICAgICAgICAgdmFsdWUgYXMgUmVhY3QuQ29tcG9uZW50UHJvcHM8dHlwZW9mIERyb3Bkb3duT3B0aW9uQmFzZT5bJ3ZhbHVlJ11cbiAgICAgICAgfVxuICAgICAgICB7Li4ucmVzdH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfSxcbik7XG5cbmV4cG9ydCBkZWZhdWx0IERyb3Bkb3duT3B0aW9uO1xuIl19 */"));
|
|
28950
29152
|
|
|
28951
29153
|
/**
|
|
28952
29154
|
* DropdownOption - A single selectable row inside `Dropdown` or
|
|
@@ -28999,10 +29201,14 @@ const DropdownOptionBase = /*#__PURE__*/base_default()("li", process.env.NODE_EN
|
|
|
28999
29201
|
* </DropdownOption>
|
|
29000
29202
|
* ```
|
|
29001
29203
|
*/
|
|
29002
|
-
const DropdownOption = /*#__PURE__*/(0,external_react_.forwardRef)(function DropdownOption(
|
|
29204
|
+
const DropdownOption = /*#__PURE__*/(0,external_react_.forwardRef)(function DropdownOption(
|
|
29205
|
+
// `textValue` is read by the parent dropdown; kept off the <li>.
|
|
29206
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
29207
|
+
{
|
|
29003
29208
|
disabled,
|
|
29004
29209
|
isDisabled,
|
|
29005
29210
|
value,
|
|
29211
|
+
textValue,
|
|
29006
29212
|
...rest
|
|
29007
29213
|
}, ref) {
|
|
29008
29214
|
return (0,jsx_runtime_namespaceObject.jsx)(DropdownOptionBase, {
|
|
@@ -29041,13 +29247,23 @@ function MultipleDropdownOptions_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You
|
|
|
29041
29247
|
// Focus stays on the toggle while the list is used with the pointer.
|
|
29042
29248
|
const MultipleDropdownOptions_keepToggleFocus = event => event.preventDefault();
|
|
29043
29249
|
|
|
29250
|
+
// Inside the search card, which already carries the shadow.
|
|
29251
|
+
const MultipleDropdownOptions_inSearchCard = process.env.NODE_ENV === "production" ? {
|
|
29252
|
+
name: "1t90u8d",
|
|
29253
|
+
styles: "box-shadow:none"
|
|
29254
|
+
} : {
|
|
29255
|
+
name: "1ptujvo-inSearchCard",
|
|
29256
|
+
styles: "box-shadow:none;label:inSearchCard;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9NdWx0aXBsZURyb3Bkb3duT3B0aW9ucy9NdWx0aXBsZURyb3Bkb3duT3B0aW9ucy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUJ3QiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91aS1raXQvdWkta2l0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvTXVsdGlwbGVEcm9wZG93bk9wdGlvbnMvTXVsdGlwbGVEcm9wZG93bk9wdGlvbnMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW91c2VFdmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHsgQ29udGV4dE1lbnUgfSBmcm9tICdAY29tcG9uZW50cy9Db250ZXh0TWVudSc7XG5pbXBvcnQgeyB1c2VNdWx0aXBsZURyb3Bkb3duQ29udGV4dCB9IGZyb20gJ0Bjb21wb25lbnRzL011bHRpcGxlRHJvcGRvd24vTXVsdGlwbGVEcm9wZG93bi5jb250ZXh0JztcbmltcG9ydCB7XG4gIE9wdGlvblZhbHVlLFxuICB0b0Ryb3Bkb3duTWVudUl0ZW1zLFxufSBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMvdXRpbHMnO1xuaW1wb3J0IHsgcmVzb2x2ZUFyaWFQcm9wIH0gZnJvbSAnQHV0aWxzL2RlcHJlY2F0aW9uJztcblxuaW1wb3J0IHsgRHJvcGRvd25JdGVtc0xpc3RQcm9wcyB9IGZyb20gJy4vdHlwZXMnO1xuXG4vLyBGb2N1cyBzdGF5cyBvbiB0aGUgdG9nZ2xlIHdoaWxlIHRoZSBsaXN0IGlzIHVzZWQgd2l0aCB0aGUgcG9pbnRlci5cbmNvbnN0IGtlZXBUb2dnbGVGb2N1cyA9IChldmVudDogTW91c2VFdmVudCkgPT4gZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuLy8gSW5zaWRlIHRoZSBzZWFyY2ggY2FyZCwgd2hpY2ggYWxyZWFkeSBjYXJyaWVzIHRoZSBzaGFkb3cuXG5jb25zdCBpblNlYXJjaENhcmQgPSBjc3NgXG4gIGJveC1zaGFkb3c6IG5vbmU7XG5gO1xuXG4vLyBQb3NpdGlvbmVkIGFnYWluc3QgdGhlIE11bHRpcGxlRHJvcGRvd24gYmFzZSwgdW5kZXIgdGhlIHRvZ2dsZS5cbmNvbnN0IGxpc3RQb3NpdGlvbiA9IGNzc2BcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDRweCAwIDA7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG4vKipcbiAqIE11bHRpcGxlRHJvcGRvd25PcHRpb25zIC0gT3B0aW9ucyBtZW51IGNvbnRhaW5lciBmb3IgTXVsdGlwbGVEcm9wZG93blxuICpcbiAqIFJlbmRlcnMgdGhlIGBEcm9wZG93bk9wdGlvbmAgY2hpbGRyZW4gYXMgYSBgQ29udGV4dE1lbnVgIHVuZGVyIHRoZVxuICogTXVsdGlwbGVEcm9wZG93biB0b2dnbGU6IGEgY2hlY2tib3ggcGVyIHJvdyBpbiBtdWx0aS1zZWxlY3QgbW9kZSwgYSBjaGVja1xuICogbWFyayBvbiB0aGUgc2VsZWN0ZWQgcm93IG90aGVyd2lzZS4gRm9jdXMgc3RheXMgb24gdGhlIHRvZ2dsZTsgdGhlXG4gKiBoaWdobGlnaHRlZCBvcHRpb24gaXMgZHJpdmVuIGZyb20gdGhlcmUgYW5kIGFubm91bmNlZCB0aHJvdWdoXG4gKiBgYXJpYS1hY3RpdmVkZXNjZW5kYW50YC5cbiAqXG4gKiBAY2F0ZWdvcnkgRm9ybSBDb250cm9sc1xuICogQHN1YmNhdGVnb3J5IFNlbGVjdGlvblxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIFJlbmRlcmVkIGJ5IE11bHRpcGxlRHJvcGRvd24gZnJvbSBpdHMgRHJvcGRvd25PcHRpb24gY2hpbGRyZW5cbiAqIDxNdWx0aXBsZURyb3Bkb3duIGxhYmVsPVwiRnJ1aXRzXCIgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX0+XG4gKiAgIDxEcm9wZG93bk9wdGlvbiB2YWx1ZT1cImFwcGxlXCI+QXBwbGU8L0Ryb3Bkb3duT3B0aW9uPlxuICogICA8RHJvcGRvd25PcHRpb24gdmFsdWU9XCJiYW5hbmFcIj5CYW5hbmE8L0Ryb3Bkb3duT3B0aW9uPlxuICogPC9NdWx0aXBsZURyb3Bkb3duPlxuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgTXVsdGlwbGVEcm9wZG93bn0gLSBQYXJlbnQgY29tcG9uZW50XG4gKlxuICogQGFjY2Vzc2liaWxpdHlcbiAqIC0gVXNlcyByb2xlPVwibGlzdGJveFwiIChtdWx0aS1zZWxlY3RhYmxlIGluIG11bHRpLXNlbGVjdCBtb2RlKSB3aXRoIHJvbGU9XCJvcHRpb25cIiByb3dzXG4gKiAtIEFycm93IGtleXMsIEhvbWUsIEVuZCwgRW50ZXIsIFNwYWNlIGFuZCBFc2NhcGUgb24gdGhlIHRvZ2dsZVxuICovXG5jb25zdCBNdWx0aXBsZURyb3Bkb3duT3B0aW9ucyA9ICh7XG4gICdhcmlhLWxhYmVsbGVkYnknOiBhcmlhTGFiZWxsZWRieU5hdGl2ZSxcbiAgYXJpYUxhYmVsbGVkYnksXG4gIGlkLFxuICBjaGlsZHJlbixcbn06IERyb3Bkb3duSXRlbXNMaXN0UHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIG9uQ2hhbmdlLFxuICAgIGFsbEl0ZW1zLFxuICAgIGlzTXVsdGlwbGUsXG4gICAgbWF4SGVpZ2h0LFxuICAgIGFjdGl2ZVZhbHVlID0gbnVsbCxcbiAgICBzZXRBY3RpdmVWYWx1ZSxcbiAgICBzZWFyY2hhYmxlLFxuICAgIGVtcHR5U3RhdGUsXG4gIH0gPSB1c2VNdWx0aXBsZURyb3Bkb3duQ29udGV4dCgpO1xuICBjb25zdCBsYWJlbGxlZGJ5ID0gcmVzb2x2ZUFyaWFQcm9wKFxuICAgICdNdWx0aXBsZURyb3Bkb3duT3B0aW9ucycsXG4gICAgJ2FyaWEtbGFiZWxsZWRieScsXG4gICAgYXJpYUxhYmVsbGVkYnlOYXRpdmUsXG4gICAgYXJpYUxhYmVsbGVkYnksXG4gICk7XG5cbiAgY29uc3Qgc2VsZWN0ZWQgPSBPYmplY3QudmFsdWVzKGFsbEl0ZW1zKVxuICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaXNTZWxlY3RlZClcbiAgICAubWFwKChpdGVtKSA9PiBpdGVtLnZhbHVlIGFzIE9wdGlvblZhbHVlKTtcbiAgY29uc3QgY29tbW9uUHJvcHMgPSB7XG4gICAgaWQsXG4gICAgJ2FyaWEtbGFiZWxsZWRieSc6IGxhYmVsbGVkYnksXG4gICAgY3NzOiBzZWFyY2hhYmxlID8gaW5TZWFyY2hDYXJkIDogbGlzdFBvc2l0aW9uLFxuICAgIGl0ZW1zOiB0b0Ryb3Bkb3duTWVudUl0ZW1zKGNoaWxkcmVuKSxcbiAgICBvbkFjdGlvbjogKHZhbHVlOiBPcHRpb25WYWx1ZSkgPT4gb25DaGFuZ2UoYWxsSXRlbXNbdmFsdWVdKSxcbiAgICBhY3RpdmVWYWx1ZSxcbiAgICBvbkFjdGl2ZVZhbHVlQ2hhbmdlOiBzZXRBY3RpdmVWYWx1ZSxcbiAgICBtYXhIZWlnaHQsXG4gICAgZW1wdHlTdGF0ZSxcbiAgICB0YWJJbmRleDogLTEsXG4gICAgb25Nb3VzZURvd246IGtlZXBUb2dnbGVGb2N1cyxcbiAgfTtcblxuICByZXR1cm4gaXNNdWx0aXBsZSA/IChcbiAgICA8Q29udGV4dE1lbnU8T3B0aW9uVmFsdWU+XG4gICAgICB7Li4uY29tbW9uUHJvcHN9XG4gICAgICBzZWxlY3Rpb25Nb2RlPVwibXVsdGlwbGVcIlxuICAgICAgdmFsdWU9e3NlbGVjdGVkfVxuICAgIC8+XG4gICkgOiAoXG4gICAgPENvbnRleHRNZW51PE9wdGlvblZhbHVlPlxuICAgICAgey4uLmNvbW1vblByb3BzfVxuICAgICAgc2VsZWN0aW9uTW9kZT1cInNpbmdsZVwiXG4gICAgICB2YWx1ZT17c2VsZWN0ZWRbMF0gPz8gbnVsbH1cbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTXVsdGlwbGVEcm9wZG93bk9wdGlvbnM7XG4iXX0= */",
|
|
29257
|
+
toString: MultipleDropdownOptions_EMOTION_STRINGIFIED_CSS_ERROR_
|
|
29258
|
+
};
|
|
29259
|
+
|
|
29044
29260
|
// Positioned against the MultipleDropdown base, under the toggle.
|
|
29045
29261
|
const MultipleDropdownOptions_listPosition = process.env.NODE_ENV === "production" ? {
|
|
29046
29262
|
name: "1vwkqf6",
|
|
29047
29263
|
styles: "position:absolute;top:100%;left:0;width:100%;margin:4px 0 0;z-index:1"
|
|
29048
29264
|
} : {
|
|
29049
29265
|
name: "12j8rfy-listPosition",
|
|
29050
|
-
styles: "position:absolute;top:100%;left:0;width:100%;margin:4px 0 0;z-index:1;label:listPosition;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
29266
|
+
styles: "position:absolute;top:100%;left:0;width:100%;margin:4px 0 0;z-index:1;label:listPosition;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9NdWx0aXBsZURyb3Bkb3duT3B0aW9ucy9NdWx0aXBsZURyb3Bkb3duT3B0aW9ucy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0J3QiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91aS1raXQvdWkta2l0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvTXVsdGlwbGVEcm9wZG93bk9wdGlvbnMvTXVsdGlwbGVEcm9wZG93bk9wdGlvbnMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW91c2VFdmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHsgQ29udGV4dE1lbnUgfSBmcm9tICdAY29tcG9uZW50cy9Db250ZXh0TWVudSc7XG5pbXBvcnQgeyB1c2VNdWx0aXBsZURyb3Bkb3duQ29udGV4dCB9IGZyb20gJ0Bjb21wb25lbnRzL011bHRpcGxlRHJvcGRvd24vTXVsdGlwbGVEcm9wZG93bi5jb250ZXh0JztcbmltcG9ydCB7XG4gIE9wdGlvblZhbHVlLFxuICB0b0Ryb3Bkb3duTWVudUl0ZW1zLFxufSBmcm9tICdAY29tcG9uZW50cy9Ecm9wZG93bk9wdGlvbnMvdXRpbHMnO1xuaW1wb3J0IHsgcmVzb2x2ZUFyaWFQcm9wIH0gZnJvbSAnQHV0aWxzL2RlcHJlY2F0aW9uJztcblxuaW1wb3J0IHsgRHJvcGRvd25JdGVtc0xpc3RQcm9wcyB9IGZyb20gJy4vdHlwZXMnO1xuXG4vLyBGb2N1cyBzdGF5cyBvbiB0aGUgdG9nZ2xlIHdoaWxlIHRoZSBsaXN0IGlzIHVzZWQgd2l0aCB0aGUgcG9pbnRlci5cbmNvbnN0IGtlZXBUb2dnbGVGb2N1cyA9IChldmVudDogTW91c2VFdmVudCkgPT4gZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuLy8gSW5zaWRlIHRoZSBzZWFyY2ggY2FyZCwgd2hpY2ggYWxyZWFkeSBjYXJyaWVzIHRoZSBzaGFkb3cuXG5jb25zdCBpblNlYXJjaENhcmQgPSBjc3NgXG4gIGJveC1zaGFkb3c6IG5vbmU7XG5gO1xuXG4vLyBQb3NpdGlvbmVkIGFnYWluc3QgdGhlIE11bHRpcGxlRHJvcGRvd24gYmFzZSwgdW5kZXIgdGhlIHRvZ2dsZS5cbmNvbnN0IGxpc3RQb3NpdGlvbiA9IGNzc2BcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDRweCAwIDA7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG4vKipcbiAqIE11bHRpcGxlRHJvcGRvd25PcHRpb25zIC0gT3B0aW9ucyBtZW51IGNvbnRhaW5lciBmb3IgTXVsdGlwbGVEcm9wZG93blxuICpcbiAqIFJlbmRlcnMgdGhlIGBEcm9wZG93bk9wdGlvbmAgY2hpbGRyZW4gYXMgYSBgQ29udGV4dE1lbnVgIHVuZGVyIHRoZVxuICogTXVsdGlwbGVEcm9wZG93biB0b2dnbGU6IGEgY2hlY2tib3ggcGVyIHJvdyBpbiBtdWx0aS1zZWxlY3QgbW9kZSwgYSBjaGVja1xuICogbWFyayBvbiB0aGUgc2VsZWN0ZWQgcm93IG90aGVyd2lzZS4gRm9jdXMgc3RheXMgb24gdGhlIHRvZ2dsZTsgdGhlXG4gKiBoaWdobGlnaHRlZCBvcHRpb24gaXMgZHJpdmVuIGZyb20gdGhlcmUgYW5kIGFubm91bmNlZCB0aHJvdWdoXG4gKiBgYXJpYS1hY3RpdmVkZXNjZW5kYW50YC5cbiAqXG4gKiBAY2F0ZWdvcnkgRm9ybSBDb250cm9sc1xuICogQHN1YmNhdGVnb3J5IFNlbGVjdGlvblxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIFJlbmRlcmVkIGJ5IE11bHRpcGxlRHJvcGRvd24gZnJvbSBpdHMgRHJvcGRvd25PcHRpb24gY2hpbGRyZW5cbiAqIDxNdWx0aXBsZURyb3Bkb3duIGxhYmVsPVwiRnJ1aXRzXCIgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX0+XG4gKiAgIDxEcm9wZG93bk9wdGlvbiB2YWx1ZT1cImFwcGxlXCI+QXBwbGU8L0Ryb3Bkb3duT3B0aW9uPlxuICogICA8RHJvcGRvd25PcHRpb24gdmFsdWU9XCJiYW5hbmFcIj5CYW5hbmE8L0Ryb3Bkb3duT3B0aW9uPlxuICogPC9NdWx0aXBsZURyb3Bkb3duPlxuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgTXVsdGlwbGVEcm9wZG93bn0gLSBQYXJlbnQgY29tcG9uZW50XG4gKlxuICogQGFjY2Vzc2liaWxpdHlcbiAqIC0gVXNlcyByb2xlPVwibGlzdGJveFwiIChtdWx0aS1zZWxlY3RhYmxlIGluIG11bHRpLXNlbGVjdCBtb2RlKSB3aXRoIHJvbGU9XCJvcHRpb25cIiByb3dzXG4gKiAtIEFycm93IGtleXMsIEhvbWUsIEVuZCwgRW50ZXIsIFNwYWNlIGFuZCBFc2NhcGUgb24gdGhlIHRvZ2dsZVxuICovXG5jb25zdCBNdWx0aXBsZURyb3Bkb3duT3B0aW9ucyA9ICh7XG4gICdhcmlhLWxhYmVsbGVkYnknOiBhcmlhTGFiZWxsZWRieU5hdGl2ZSxcbiAgYXJpYUxhYmVsbGVkYnksXG4gIGlkLFxuICBjaGlsZHJlbixcbn06IERyb3Bkb3duSXRlbXNMaXN0UHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIG9uQ2hhbmdlLFxuICAgIGFsbEl0ZW1zLFxuICAgIGlzTXVsdGlwbGUsXG4gICAgbWF4SGVpZ2h0LFxuICAgIGFjdGl2ZVZhbHVlID0gbnVsbCxcbiAgICBzZXRBY3RpdmVWYWx1ZSxcbiAgICBzZWFyY2hhYmxlLFxuICAgIGVtcHR5U3RhdGUsXG4gIH0gPSB1c2VNdWx0aXBsZURyb3Bkb3duQ29udGV4dCgpO1xuICBjb25zdCBsYWJlbGxlZGJ5ID0gcmVzb2x2ZUFyaWFQcm9wKFxuICAgICdNdWx0aXBsZURyb3Bkb3duT3B0aW9ucycsXG4gICAgJ2FyaWEtbGFiZWxsZWRieScsXG4gICAgYXJpYUxhYmVsbGVkYnlOYXRpdmUsXG4gICAgYXJpYUxhYmVsbGVkYnksXG4gICk7XG5cbiAgY29uc3Qgc2VsZWN0ZWQgPSBPYmplY3QudmFsdWVzKGFsbEl0ZW1zKVxuICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaXNTZWxlY3RlZClcbiAgICAubWFwKChpdGVtKSA9PiBpdGVtLnZhbHVlIGFzIE9wdGlvblZhbHVlKTtcbiAgY29uc3QgY29tbW9uUHJvcHMgPSB7XG4gICAgaWQsXG4gICAgJ2FyaWEtbGFiZWxsZWRieSc6IGxhYmVsbGVkYnksXG4gICAgY3NzOiBzZWFyY2hhYmxlID8gaW5TZWFyY2hDYXJkIDogbGlzdFBvc2l0aW9uLFxuICAgIGl0ZW1zOiB0b0Ryb3Bkb3duTWVudUl0ZW1zKGNoaWxkcmVuKSxcbiAgICBvbkFjdGlvbjogKHZhbHVlOiBPcHRpb25WYWx1ZSkgPT4gb25DaGFuZ2UoYWxsSXRlbXNbdmFsdWVdKSxcbiAgICBhY3RpdmVWYWx1ZSxcbiAgICBvbkFjdGl2ZVZhbHVlQ2hhbmdlOiBzZXRBY3RpdmVWYWx1ZSxcbiAgICBtYXhIZWlnaHQsXG4gICAgZW1wdHlTdGF0ZSxcbiAgICB0YWJJbmRleDogLTEsXG4gICAgb25Nb3VzZURvd246IGtlZXBUb2dnbGVGb2N1cyxcbiAgfTtcblxuICByZXR1cm4gaXNNdWx0aXBsZSA/IChcbiAgICA8Q29udGV4dE1lbnU8T3B0aW9uVmFsdWU+XG4gICAgICB7Li4uY29tbW9uUHJvcHN9XG4gICAgICBzZWxlY3Rpb25Nb2RlPVwibXVsdGlwbGVcIlxuICAgICAgdmFsdWU9e3NlbGVjdGVkfVxuICAgIC8+XG4gICkgOiAoXG4gICAgPENvbnRleHRNZW51PE9wdGlvblZhbHVlPlxuICAgICAgey4uLmNvbW1vblByb3BzfVxuICAgICAgc2VsZWN0aW9uTW9kZT1cInNpbmdsZVwiXG4gICAgICB2YWx1ZT17c2VsZWN0ZWRbMF0gPz8gbnVsbH1cbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTXVsdGlwbGVEcm9wZG93bk9wdGlvbnM7XG4iXX0= */",
|
|
29051
29267
|
toString: MultipleDropdownOptions_EMOTION_STRINGIFIED_CSS_ERROR_
|
|
29052
29268
|
};
|
|
29053
29269
|
|
|
@@ -29090,19 +29306,22 @@ const MultipleDropdownOptions = ({
|
|
|
29090
29306
|
isMultiple,
|
|
29091
29307
|
maxHeight,
|
|
29092
29308
|
activeValue = null,
|
|
29093
|
-
setActiveValue
|
|
29309
|
+
setActiveValue,
|
|
29310
|
+
searchable,
|
|
29311
|
+
emptyState
|
|
29094
29312
|
} = useMultipleDropdownContext();
|
|
29095
29313
|
const labelledby = resolveAriaProp('MultipleDropdownOptions', 'aria-labelledby', ariaLabelledbyNative, ariaLabelledby);
|
|
29096
29314
|
const selected = Object.values(allItems).filter(item => item.isSelected).map(item => item.value);
|
|
29097
29315
|
const commonProps = {
|
|
29098
29316
|
id,
|
|
29099
29317
|
'aria-labelledby': labelledby,
|
|
29100
|
-
css: MultipleDropdownOptions_listPosition,
|
|
29318
|
+
css: searchable ? MultipleDropdownOptions_inSearchCard : MultipleDropdownOptions_listPosition,
|
|
29101
29319
|
items: toDropdownMenuItems(children),
|
|
29102
29320
|
onAction: value => onChange(allItems[value]),
|
|
29103
29321
|
activeValue,
|
|
29104
29322
|
onActiveValueChange: setActiveValue,
|
|
29105
29323
|
maxHeight,
|
|
29324
|
+
emptyState,
|
|
29106
29325
|
tabIndex: -1,
|
|
29107
29326
|
onMouseDown: MultipleDropdownOptions_keepToggleFocus
|
|
29108
29327
|
};
|
|
@@ -29183,6 +29402,7 @@ function MultipleDropdown_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tr
|
|
|
29183
29402
|
|
|
29184
29403
|
|
|
29185
29404
|
|
|
29405
|
+
|
|
29186
29406
|
const DropdownPlaceholderLabel = /*#__PURE__*/base_default()("div", process.env.NODE_ENV === "production" ? {
|
|
29187
29407
|
target: "ezz35kx0"
|
|
29188
29408
|
} : {
|
|
@@ -29193,7 +29413,7 @@ const DropdownPlaceholderLabel = /*#__PURE__*/base_default()("div", process.env.
|
|
|
29193
29413
|
styles: "white-space:nowrap;overflow:hidden;text-overflow:ellipsis"
|
|
29194
29414
|
} : {
|
|
29195
29415
|
name: "l8l8b8",
|
|
29196
|
-
styles: "white-space:nowrap;overflow:hidden;text-overflow:ellipsis/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9NdWx0aXBsZURyb3Bkb3duL011bHRpcGxlRHJvcGRvd24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBCMkMiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWkta2l0L3VpLWtpdC9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL011bHRpcGxlRHJvcGRvd24vTXVsdGlwbGVEcm9wZG93bi50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlSWQsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHVzZUNsaWNrT3V0c2lkZSB9IGZyb20gJ0Bzc2EtdWkta2l0L2hvb2tzJztcbmltcG9ydCB7IG1hcE9iakluZGV4ZWQgfSBmcm9tICdAc3NhLXVpLWtpdC91dGlscyc7XG5pbXBvcnQgeyB1c2VNZXJnZVJlZnMgfSBmcm9tICdAZmxvYXRpbmctdWkvcmVhY3QnO1xuXG5pbXBvcnQgRHJvcGRvd25CYXNlIGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duQmFzZSc7XG5pbXBvcnQgRHJvcGRvd25Ub2dnbGUgZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25Ub2dnbGUnO1xuaW1wb3J0IERyb3Bkb3duQXJyb3cgZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25BcnJvdyc7XG5pbXBvcnQgTXVsdGlwbGVEcm9wZG93bk9wdGlvbnMgZnJvbSAnQGNvbXBvbmVudHMvTXVsdGlwbGVEcm9wZG93bk9wdGlvbnMnO1xuaW1wb3J0IHtcbiAgT3B0aW9uVmFsdWUsXG4gIGZsYXR0ZW5Ecm9wZG93bk9wdGlvbnMsXG4gIHRvRHJvcGRvd25NZW51SXRlbXMsXG59IGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duT3B0aW9ucy91dGlscyc7XG5pbXBvcnQgeyB1c2VUb2dnbGVMaXN0S2V5cyB9IGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duT3B0aW9ucy91c2VUb2dnbGVMaXN0S2V5cyc7XG5pbXBvcnQgeyBnZXROZXh0QWN0aXZlVmFsdWUgfSBmcm9tICdAY29tcG9uZW50cy9Db250ZXh0TWVudSc7XG5pbXBvcnQgeyBmbGF0dGVuSXRlbXMgfSBmcm9tICdAY29tcG9uZW50cy9Db250ZXh0TWVudS91dGlscyc7XG5pbXBvcnQgTXVsdGlwbGVEcm9wZG93bkNvbnRleHQgZnJvbSAnQGNvbXBvbmVudHMvTXVsdGlwbGVEcm9wZG93bi9NdWx0aXBsZURyb3Bkb3duLmNvbnRleHQnO1xuaW1wb3J0IHsgRHJvcGRvd25PcHRpb25Qcm9wcyB9IGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duT3B0aW9ucy90eXBlcyc7XG5pbXBvcnQgeyByZXNvbHZlRGlzYWJsZWQgfSBmcm9tICdAdXRpbHMvZGVwcmVjYXRpb24nO1xuXG5pbXBvcnQgeyBEcm9wZG93bkNvbnRleHRUeXBlLCBEcm9wZG93blByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRBY3RpdmVJdGVtcyB9IGZyb20gJ0Bjb21wb25lbnRzL011bHRpcGxlRHJvcGRvd24vdXRpbHMnO1xuaW1wb3J0IE11bHRpcGxlRHJvcGRvd25Ob3RpZmljYXRpb24gZnJvbSAnQGNvbXBvbmVudHMvTXVsdGlwbGVEcm9wZG93bk5vdGlmaWNhdGlvbic7XG5cbmNvbnN0IERyb3Bkb3duUGxhY2Vob2xkZXJMYWJlbCA9IHN0eWxlZC5kaXZgXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuYDtcblxuZnVuY3Rpb24gTXVsdGlwbGVEcm9wZG93bklubmVyPFQgZXh0ZW5kcyBEcm9wZG93bk9wdGlvblByb3BzPihcbiAge1xuICAgIHNlbGVjdGVkSXRlbXMgPSBbXSxcbiAgICBkaXNhYmxlZCxcbiAgICBpc0Rpc2FibGVkLFxuICAgIGlzT3BlbjogaXNJbml0T3BlbixcbiAgICBpc011bHRpcGxlID0gdHJ1ZSxcbiAgICBwbGFjZWhvbGRlciA9ICdTZWxlY3Qgc29tZXRoaW5nJyxcbiAgICBzaG93UGxhY2Vob2xkZXIgPSB0cnVlLFxuICAgIGxhYmVsLFxuICAgIGNoaWxkcmVuLFxuICAgIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsXG4gICAgY2xhc3NOYW1lLFxuICAgIG1heEhlaWdodCA9IDIwMCxcbiAgICB3aWR0aCxcbiAgfTogRHJvcGRvd25Qcm9wczxUPixcbiAgcmVmPzogUmVhY3QuRm9yd2FyZGVkUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4sXG4pIHtcbiAgY29uc3QgaXNEcm9wZG93bkRpc2FibGVkID0gcmVzb2x2ZURpc2FibGVkKFxuICAgICdNdWx0aXBsZURyb3Bkb3duJyxcbiAgICBkaXNhYmxlZCxcbiAgICBpc0Rpc2FibGVkLFxuICApO1xuICBjb25zdCBkcm9wZG93bkJhc2VSZWY6IFJlYWN0LlJlZk9iamVjdDxIVE1MRGl2RWxlbWVudCB8IG51bGw+ID1cbiAgICB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBkcm9wZG93bklkID0gdXNlSWQoKTtcbiAgLy8gYHdpZHRoYCBoYXMgbm8gZGVmYXVsdCDigJQgd2l0aG91dCBpdCB0aGUgYmFzZSBhbmQgdGhlIHRvZ2dsZSBib3RoXG4gIC8vIHNocmluay13cmFwLCB3aGljaCBpcyB0aGUgaGlzdG9yaWNhbCBiZWhhdmlvdXIuIFdoZW4gc2V0IGl0IGhhcyB0byBjbGVhclxuICAvLyB0aGUgYmFzZSdzIGBtaW4td2lkdGhgIGFuZCB0aGUgbXVsdGlwbGUgdG9nZ2xlJ3MgYG1heC13aWR0aGAsIG90aGVyd2lzZVxuICAvLyB0aG9zZSBjYXBzIHNpbGVudGx5IHdpbiBvdmVyIHRoZSBleHBsaWNpdCB2YWx1ZS5cbiAgLy9cbiAgLy8gT25seSB0aGUgb3V0ZXIgYmFzZSBnZXRzIHRoZSByZXF1ZXN0ZWQgdmFsdWU7IHRoZSB0b2dnbGUgZ2V0cyAxMDAlLlxuICAvLyBSZXBlYXRpbmcgdGhlIHZhbHVlIHdvdWxkIGNvbXBvdW5kIHJlbGF0aXZlIHVuaXRzOiBgd2lkdGg9XCI2MCVcImAgd291bGRcbiAgLy8gb3RoZXJ3aXNlIHJlbmRlciB0aGUgdG9nZ2xlIGF0IDYwJSBvZiBhbiBhbHJlYWR5LTYwJSBiYXNlLlxuICAvL1xuICAvLyBTcHJlYWQgcmF0aGVyIHRoYW4gcGFzc2VkIGFzIGBjc3M9ey4uLn1gOiBFbW90aW9uIHdyYXBzIGFuIGVsZW1lbnQgd2hlbmV2ZXJcbiAgLy8gYGNzc2AgaXMgcHJlc2VudCBpbiBpdHMgcHJvcHMsIGV2ZW4gd2hlbiBpdHMgdmFsdWUgaXMgdW5kZWZpbmVkLCBhbmQgdGhhdFxuICAvLyByZS1zZXJpYWxpemVzIGFueSBpbmNvbWluZyBgY2xhc3NOYW1lYCAoZS5nLiBmcm9tXG4gIC8vIGBzdHlsZWQoTXVsdGlwbGVEcm9wZG93bilgKS4gT21pdHRpbmcgdGhlIGtleSBrZWVwcyB0aGUgbm8td2lkdGggcGF0aFxuICAvLyBpZGVudGljYWwgdG8gd3JpdGluZyBubyBgY3NzYCBwcm9wLlxuICBjb25zdCBiYXNlQ3NzUHJvcHMgPVxuICAgIHdpZHRoID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiB7IGNzczogeyB3aWR0aCwgbWluV2lkdGg6IDAgfSB9O1xuICBjb25zdCB0b2dnbGVDc3NQcm9wcyA9XG4gICAgd2lkdGggPT09IHVuZGVmaW5lZFxuICAgICAgPyB1bmRlZmluZWRcbiAgICAgIDogeyBjc3M6IHsgd2lkdGg6ICcxMDAlJywgbWF4V2lkdGg6ICdub25lJyB9IH07XG4gIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZShpc0luaXRPcGVuIHx8IGZhbHNlKTtcbiAgY29uc3QgW29wdGlvbnNXaXRoS2V5LCBzZXRPcHRpb25zV2l0aEtleV0gPSB1c2VTdGF0ZTxcbiAgICBSZWNvcmQ8bnVtYmVyIHwgc3RyaW5nLCBUPlxuICA+KHt9KTtcbiAgLy8gSGlnaGxpZ2h0ZWQgb3B0aW9uLiBGb2N1cyBzdGF5cyBvbiB0aGUgdG9nZ2xlICh0aGUgY29tYm9ib3gpLCB3aGljaFxuICAvLyBkcml2ZXMgdGhlIGxpc3QgYW5kIHBvaW50cyBhdCB0aGUgb3B0aW9uIHdpdGggYXJpYS1hY3RpdmVkZXNjZW5kYW50LlxuICBjb25zdCBbYWN0aXZlVmFsdWUsIHNldEFjdGl2ZVZhbHVlXSA9IHVzZVN0YXRlPE9wdGlvblZhbHVlIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGxpc3RJZCA9IGBkcm9wZG93bi1wb3B1cC0ke2Ryb3Bkb3duSWR9YDtcbiAgY29uc3QgW3ZhbHVlcywgc2V0VmFsdWVzXSA9IHVzZVN0YXRlPEFycmF5PHVua25vd24+PihbXSk7XG4gIGNvbnN0IFt2YWx1ZXNXaXRob3V0UGxhY2Vob2xkZXIsIHNldFZhbHVlc1dpdGhvdXRQbGFjZWhvbGRlcl0gPSB1c2VTdGF0ZTxcbiAgICBBcnJheTx1bmtub3duPlxuICA+KFtdKTtcblxuICBjb25zdCBtZW1vU2VsZWN0ZWRJdGVtcyA9IFJlYWN0LnVzZU1lbW8oXG4gICAgKCkgPT4gc2VsZWN0ZWRJdGVtcyxcbiAgICBbSlNPTi5zdHJpbmdpZnkoc2VsZWN0ZWRJdGVtcyldLFxuICApO1xuXG4gIGNvbnN0IGNoaWxkcmVuQXJyYXkgPSBSZWFjdC5DaGlsZHJlbi50b0FycmF5KGNoaWxkcmVuKS5maWx0ZXIoQm9vbGVhbik7XG4gIGNvbnN0IG1lbnVJdGVtcyA9IHRvRHJvcGRvd25NZW51SXRlbXMoY2hpbGRyZW5BcnJheSk7XG5cbiAgY29uc3QgY2xvc2UgPSAoKSA9PiB7XG4gICAgc2V0SXNPcGVuKGZhbHNlKTtcbiAgICBzZXRBY3RpdmVWYWx1ZShudWxsKTtcbiAgfTtcblxuICAvKiogT3BlbnMgd2l0aCB0aGUgZmlyc3Qgc2VsZWN0ZWQgb3B0aW9uIGhpZ2hsaWdodGVkLCBlbHNlIHBlciB0aGUga2V5IHByZXNzZWQuICovXG4gIGNvbnN0IG9wZW4gPSAoa2V5ID0gJ0Fycm93RG93bicpID0+IHtcbiAgICBzZXRJc09wZW4odHJ1ZSk7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBmbGF0dGVuSXRlbXMobWVudUl0ZW1zKS5maW5kKFxuICAgICAgKGl0ZW0pID0+ICFpdGVtLmRpc2FibGVkICYmIG9wdGlvbnNXaXRoS2V5W2l0ZW0udmFsdWVdPy5pc1NlbGVjdGVkLFxuICAgICk7XG4gICAgc2V0QWN0aXZlVmFsdWUoXG4gICAgICBzZWxlY3RlZD8udmFsdWUgPz8gZ2V0TmV4dEFjdGl2ZVZhbHVlKG1lbnVJdGVtcywgbnVsbCwga2V5KSA/PyBudWxsLFxuICAgICk7XG4gIH07XG5cbiAgY29uc3Qgb25DaGFuZ2UgPSAoaXRlbTogRHJvcGRvd25PcHRpb25Qcm9wcykgPT4ge1xuICAgIGlmIChpc0Ryb3Bkb3duRGlzYWJsZWQgfHwgIWl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFpc011bHRpcGxlICYmIG9wdGlvbnNXaXRoS2V5W2l0ZW0udmFsdWVdLmlzU2VsZWN0ZWQpIHtcbiAgICAgIGNsb3NlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBuZXdPcHRpb25zV2l0aEtleSA9IHt9O1xuICAgIGxldCBpc1NlbGVjdGVkID0gdHJ1ZTtcbiAgICBpZiAoaXNNdWx0aXBsZSkge1xuICAgICAgaXNTZWxlY3RlZCA9ICFvcHRpb25zV2l0aEtleVtpdGVtLnZhbHVlXS5pc1NlbGVjdGVkO1xuICAgICAgbmV3T3B0aW9uc1dpdGhLZXkgPSB7XG4gICAgICAgIC4uLm9wdGlvbnNXaXRoS2V5LFxuICAgICAgICBbaXRlbS52YWx1ZV06IHtcbiAgICAgICAgICAuLi5vcHRpb25zV2l0aEtleVtpdGVtLnZhbHVlXSxcbiAgICAgICAgICBpc1NlbGVjdGVkLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIHNldE9wdGlvbnNXaXRoS2V5KG5ld09wdGlvbnNXaXRoS2V5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3T3B0aW9uc1dpdGhLZXkgPSBtYXBPYmpJbmRleGVkKFxuICAgICAgICAob3B0aW9uKSA9PiAoe1xuICAgICAgICAgIC4uLm9wdGlvbixcbiAgICAgICAgICBpc1NlbGVjdGVkOiBvcHRpb24udmFsdWUgPT09IGl0ZW0udmFsdWUsXG4gICAgICAgIH0pLFxuICAgICAgICBvcHRpb25zV2l0aEtleSxcbiAgICAgICk7XG4gICAgICBzZXRPcHRpb25zV2l0aEtleShuZXdPcHRpb25zV2l0aEtleSk7XG4gICAgICBjbG9zZSgpO1xuICAgIH1cblxuICAgIGlmIChoYW5kbGVDaGFuZ2UpIHtcbiAgICAgIGhhbmRsZUNoYW5nZShpdGVtLnZhbHVlLCBpc1NlbGVjdGVkKTtcbiAgICB9XG4gIH07XG5cbiAgdXNlQ2xpY2tPdXRzaWRlKGRyb3Bkb3duQmFzZVJlZiwgKCkgPT4gaXNPcGVuICYmIGNsb3NlKCkpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzRHJvcGRvd25EaXNhYmxlZCAmJiBpc09wZW4pIHtcbiAgICAgIGNsb3NlKCk7XG4gICAgfVxuICB9LCBbaXNEcm9wZG93bkRpc2FibGVkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBrZXllZE9wdGlvbnM6IFJlY29yZDxudW1iZXIgfCBzdHJpbmcsIFQ+ID0ge307XG4gICAgKGZsYXR0ZW5Ecm9wZG93bk9wdGlvbnMoY2hpbGRyZW5BcnJheSkgYXMgUmVhY3QuUmVhY3RFbGVtZW50PFQ+W10pLmZvckVhY2goXG4gICAgICAoY2hpbGQpID0+IHtcbiAgICAgICAga2V5ZWRPcHRpb25zW2NoaWxkLnByb3BzLnZhbHVlXSA9IHtcbiAgICAgICAgICAuLi5jaGlsZC5wcm9wcyxcbiAgICAgICAgICBpc1NlbGVjdGVkOiAhIW1lbW9TZWxlY3RlZEl0ZW1zLmZpbmQoXG4gICAgICAgICAgICAoc2VsZWN0ZWRJdGVtKSA9PiBzZWxlY3RlZEl0ZW0udmFsdWUgPT09IGNoaWxkLnByb3BzLnZhbHVlLFxuICAgICAgICAgICksXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgICk7XG5cbiAgICBzZXRPcHRpb25zV2l0aEtleShrZXllZE9wdGlvbnMpO1xuICB9LCBbbWVtb1NlbGVjdGVkSXRlbXMsIGNoaWxkcmVuXSk7XG5cbiAgY29uc3QgdG9nZ2xlS2V5cyA9IHVzZVRvZ2dsZUxpc3RLZXlzKHtcbiAgICBsaXN0SWQsXG4gICAgaXNPcGVuLFxuICAgIGRpc2FibGVkOiBpc0Ryb3Bkb3duRGlzYWJsZWQsXG4gICAgbWVudUl0ZW1zLFxuICAgIGFjdGl2ZVZhbHVlLFxuICAgIHNldEFjdGl2ZVZhbHVlLFxuICAgIG9wZW4sXG4gICAgY2xvc2UsXG4gICAgLy8gVG9nZ2xlcyB0aGUgb3B0aW9uOyB0aGUgbGlzdCBzdGF5cyBvcGVuIGluIG11bHRpLXNlbGVjdCBtb2RlLlxuICAgIG9uUGljazogKHZhbHVlKSA9PiBvbkNoYW5nZShvcHRpb25zV2l0aEtleVt2YWx1ZV0pLFxuICB9KTtcblxuICBjb25zdCBjb250ZXh0VmFsdWU6IERyb3Bkb3duQ29udGV4dFR5cGU8RHJvcGRvd25PcHRpb25Qcm9wcz4gPSBSZWFjdC51c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBvbkNoYW5nZSxcbiAgICAgIGFsbEl0ZW1zOiBvcHRpb25zV2l0aEtleSxcbiAgICAgIGlzTXVsdGlwbGUsXG4gICAgICBtYXhIZWlnaHQsXG4gICAgICBhY3RpdmVWYWx1ZSxcbiAgICAgIHNldEFjdGl2ZVZhbHVlLFxuICAgIH0pLFxuICAgIFtvbkNoYW5nZSwgb3B0aW9uc1dpdGhLZXksIGlzTXVsdGlwbGUsIG1heEhlaWdodCwgYWN0aXZlVmFsdWVdLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgbmV3VmFsdWVzID0gZ2V0QWN0aXZlSXRlbXMoeyBhbGxJdGVtczogb3B0aW9uc1dpdGhLZXksIHBsYWNlaG9sZGVyIH0pO1xuICAgIGNvbnN0IG5ld1ZhbHVlc1dpdGhvdXRQbGFjZWhvbGRlciA9IG5ld1ZhbHVlcy5maWx0ZXIoXG4gICAgICAoaXRlbSkgPT4gaXRlbSAhPT0gcGxhY2Vob2xkZXIsXG4gICAgKTtcbiAgICBzZXRWYWx1ZXMobmV3VmFsdWVzKTtcbiAgICBzZXRWYWx1ZXNXaXRob3V0UGxhY2Vob2xkZXIobmV3VmFsdWVzV2l0aG91dFBsYWNlaG9sZGVyKTtcbiAgfSwgW29wdGlvbnNXaXRoS2V5XSk7XG5cbiAgcmV0dXJuIChcbiAgICA8TXVsdGlwbGVEcm9wZG93bkNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2NvbnRleHRWYWx1ZX0+XG4gICAgICA8RHJvcGRvd25CYXNlXG4gICAgICAgIHsuLi5iYXNlQ3NzUHJvcHN9XG4gICAgICAgIHJlZj17dXNlTWVyZ2VSZWZzKFtkcm9wZG93bkJhc2VSZWYsIHJlZl0pfVxuICAgICAgICBkYXRhLXRlc3RpZD1cImRyb3Bkb3duXCI+XG4gICAgICAgIDxEcm9wZG93blRvZ2dsZVxuICAgICAgICAgIHsuLi50b2dnbGVDc3NQcm9wc31cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgICBpc09wZW49e2lzT3Blbn1cbiAgICAgICAgICBkaXNhYmxlZD17aXNEcm9wZG93bkRpc2FibGVkfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IChpc09wZW4gPyBjbG9zZSgpIDogb3BlbigpKX1cbiAgICAgICAgICB7Li4udG9nZ2xlS2V5c31cbiAgICAgICAgICBhcmlhLWNvbnRyb2xzPXtsaXN0SWR9XG4gICAgICAgICAgaXNNdWx0aXBsZT17aXNNdWx0aXBsZX1cbiAgICAgICAgICBzZWxlY3RlZENvdW50PXt2YWx1ZXNXaXRob3V0UGxhY2Vob2xkZXIubGVuZ3RofT5cbiAgICAgICAgICB7aXNNdWx0aXBsZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93blBsYWNlaG9sZGVyTGFiZWw+XG4gICAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgICAgIHtzaG93UGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgICAgID8gdmFsdWVzLmxlbmd0aCA+IDAgJiYgYDogJHt2YWx1ZXNbMF19YFxuICAgICAgICAgICAgICAgICAgOiB2YWx1ZXNXaXRob3V0UGxhY2Vob2xkZXIubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgICAgICAgICBgOiAke3ZhbHVlc1dpdGhvdXRQbGFjZWhvbGRlclswXX1gfVxuICAgICAgICAgICAgICA8L0Ryb3Bkb3duUGxhY2Vob2xkZXJMYWJlbD5cbiAgICAgICAgICAgICAge3ZhbHVlcy5sZW5ndGggPiAxID8gKFxuICAgICAgICAgICAgICAgIDxNdWx0aXBsZURyb3Bkb3duTm90aWZpY2F0aW9uIGFzPXsnZGl2J30+XG4gICAgICAgICAgICAgICAgICAre3ZhbHVlcy5sZW5ndGggLSAxfVxuICAgICAgICAgICAgICAgIDwvTXVsdGlwbGVEcm9wZG93bk5vdGlmaWNhdGlvbj5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAnJ1xuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIHZhbHVlcy5qb2luKCcnKVxuICAgICAgICAgICl9XG4gICAgICAgICAgPERyb3Bkb3duQXJyb3cgaXNVcD17aXNPcGVufSAvPlxuICAgICAgICA8L0Ryb3Bkb3duVG9nZ2xlPlxuXG4gICAgICAgIHtpc09wZW4gPyAoXG4gICAgICAgICAgPE11bHRpcGxlRHJvcGRvd25PcHRpb25zIGlkPXtsaXN0SWR9PlxuICAgICAgICAgICAge2NoaWxkcmVuQXJyYXl9XG4gICAgICAgICAgPC9NdWx0aXBsZURyb3Bkb3duT3B0aW9ucz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L0Ryb3Bkb3duQmFzZT5cbiAgICA8L011bHRpcGxlRHJvcGRvd25Db250ZXh0LlByb3ZpZGVyPlxuICApO1xufVxuXG4vKipcbiAqIE11bHRpcGxlRHJvcGRvd24gLSBEcm9wZG93biBjb21wb25lbnQgZm9yIG11bHRpLXNlbGVjdCBhbmQgc2luZ2xlLXNlbGVjdFxuICpcbiAqIEEgZmxleGlibGUgZHJvcGRvd24gdGhhdCBsZXRzIHVzZXJzIHNlbGVjdCBvbmUgb3IgbW9yZSBvcHRpb25zIGZyb20gYSBsaXN0LlxuICogSW4gbXVsdGktc2VsZWN0IG1vZGUgKGBpc011bHRpcGxlPXRydWVgLCBkZWZhdWx0KSBlYWNoIG9wdGlvbiB0b2dnbGVzIGluZGVwZW5kZW50bHk7XG4gKiB0aGUgdG9nZ2xlIGJ1dHRvbiBzaG93cyB0aGUgZmlyc3Qgc2VsZWN0ZWQgdmFsdWUgYW5kIGEgYCtOYCBiYWRnZSBmb3Igb3ZlcmZsb3cuXG4gKiBJbiBzaW5nbGUtc2VsZWN0IG1vZGUgKGBpc011bHRpcGxlPWZhbHNlYCkgc2VsZWN0aW5nIGFuIG9wdGlvbiBjbG9zZXMgdGhlIG1lbnUuXG4gKiBGb3J3YXJkcyBpdHMgcmVmIHRvIHRoZSByb290IGNvbnRhaW5lciBkaXYuXG4gKlxuICogQ29tcG9uZW50IHN0cnVjdHVyZTpcbiAqIC0gTXVsdGlwbGVEcm9wZG93biAocm9vdCBjb250YWluZXIgd2l0aCBjb250ZXh0KVxuICogICAtIERyb3Bkb3duVG9nZ2xlIChidXR0b24gdGhhdCBvcGVucy9jbG9zZXMgdGhlIG1lbnUpXG4gKiAgIC0gTXVsdGlwbGVEcm9wZG93bk9wdGlvbnMgKG1lbnUgY29udGFpbmVyIHJlbmRlcmVkIHdoZW4gb3BlbilcbiAqICAgICAtIERyb3Bkb3duT3B0aW9uIChpbmRpdmlkdWFsIHNlbGVjdGFibGUgaXRlbXMpXG4gKlxuICogQGNhdGVnb3J5IEZvcm0gQ29udHJvbHNcbiAqIEBzdWJjYXRlZ29yeSBTZWxlY3Rpb25cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiAvLyBCYXNpYyBtdWx0aS1zZWxlY3RcbiAqIDxNdWx0aXBsZURyb3Bkb3duXG4gKiAgIGxhYmVsPVwiRnJ1aXRzXCJcbiAqICAgc2VsZWN0ZWRJdGVtcz17W3sgdmFsdWU6ICdhcHBsZScgfV19XG4gKiAgIG9uQ2hhbmdlPXsodmFsdWUsIGlzU2VsZWN0ZWQpID0+IGhhbmRsZUNoYW5nZSh2YWx1ZSwgaXNTZWxlY3RlZCl9XG4gKiA+XG4gKiAgIDxEcm9wZG93bk9wdGlvbiB2YWx1ZT1cImFwcGxlXCI+QXBwbGU8L0Ryb3Bkb3duT3B0aW9uPlxuICogICA8RHJvcGRvd25PcHRpb24gdmFsdWU9XCJiYW5hbmFcIj5CYW5hbmE8L0Ryb3Bkb3duT3B0aW9uPlxuICogICA8RHJvcGRvd25PcHRpb24gdmFsdWU9XCJjaGVycnlcIj5DaGVycnk8L0Ryb3Bkb3duT3B0aW9uPlxuICogPC9NdWx0aXBsZURyb3Bkb3duPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogLy8gU2luZ2xlLXNlbGVjdCBtb2RlIChjbG9zZXMgb24gcGljaylcbiAqIDxNdWx0aXBsZURyb3Bkb3duXG4gKiAgIGxhYmVsPVwiQ291bnRyeVwiXG4gKiAgIGlzTXVsdGlwbGU9e2ZhbHNlfVxuICogICBzZWxlY3RlZEl0ZW1zPXtzZWxlY3RlZH1cbiAqICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAqID5cbiAqICAgPERyb3Bkb3duT3B0aW9uIHZhbHVlPVwidXNcIj5Vbml0ZWQgU3RhdGVzPC9Ecm9wZG93bk9wdGlvbj5cbiAqICAgPERyb3Bkb3duT3B0aW9uIHZhbHVlPVwidWtcIj5Vbml0ZWQgS2luZ2RvbTwvRHJvcGRvd25PcHRpb24+XG4gKiA8L011bHRpcGxlRHJvcGRvd24+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiAvLyBIaWRlIHBsYWNlaG9sZGVyIHRleHQsIG9ubHkgc2hvdyBiYWRnZSBjb3VudFxuICogPE11bHRpcGxlRHJvcGRvd25cbiAqICAgbGFiZWw9XCJUYWdzXCJcbiAqICAgc2hvd1BsYWNlaG9sZGVyPXtmYWxzZX1cbiAqICAgc2VsZWN0ZWRJdGVtcz17dGFnc31cbiAqICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAqID5cbiAqICAge3RhZ3MubWFwKHRhZyA9PiAoXG4gKiAgICAgPERyb3Bkb3duT3B0aW9uIGtleT17dGFnLnZhbHVlfSB2YWx1ZT17dGFnLnZhbHVlfT57dGFnLmxhYmVsfTwvRHJvcGRvd25PcHRpb24+XG4gKiAgICkpfVxuICogPC9NdWx0aXBsZURyb3Bkb3duPlxuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgRHJvcGRvd25PcHRpb259IC0gQ2hpbGQgY29tcG9uZW50IGZvciBpbmRpdmlkdWFsIG9wdGlvbnNcbiAqIEBzZWUge0BsaW5rIERyb3Bkb3duVG9nZ2xlfSAtIFRvZ2dsZSBidXR0b24gY29tcG9uZW50XG4gKiBAc2VlIHtAbGluayBNdWx0aXBsZURyb3Bkb3duT3B0aW9uc30gLSBPcHRpb25zIG1lbnUgY29udGFpbmVyXG4gKlxuICogQGFjY2Vzc2liaWxpdHlcbiAqIC0gQVJJQSBhdHRyaWJ1dGVzIHNldCBhY2NvcmRpbmcgdG8gV0FJLUFSSUEgY29tYm9ib3ggcGF0dGVyblxuICogLSBGb2N1cyBzdGF5cyBvbiB0aGUgdG9nZ2xlLCB3aGljaCBwb2ludHMgYXQgdGhlIGhpZ2hsaWdodGVkIG9wdGlvbiB3aXRoXG4gKiAgIGBhcmlhLWFjdGl2ZWRlc2NlbmRhbnRgXG4gKiAtIEFycm93IGtleXMsIEhvbWUgYW5kIEVuZCBtb3ZlIHRoZSBoaWdobGlnaHQ7IEVudGVyIG9yIFNwYWNlIHRvZ2dsZXMgaXRcbiAqICAgKHBpY2tzIGFuZCBjbG9zZXMgaW4gc2luZ2xlLXNlbGVjdCBtb2RlKTsgRXNjYXBlIGFuZCBUYWIgY2xvc2VcbiAqIC0gQ2xpY2sgb3V0c2lkZSB0byBjbG9zZVxuICogLSBTY3JlZW4gcmVhZGVyIGZyaWVuZGx5IHdpdGggYXJpYS1leHBhbmRlZCBhbmQgYXJpYS1jb250cm9sc1xuICpcbiAqIEBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1dBSS9BUklBL2FwZy9leGFtcGxlLWluZGV4L2NvbWJvYm94L2NvbWJvYm94LXNlbGVjdC1vbmx5Lmh0bWxcbiAqL1xuY29uc3QgTXVsdGlwbGVEcm9wZG93biA9IFJlYWN0LmZvcndhcmRSZWY8XG4gIEhUTUxEaXZFbGVtZW50LFxuICBEcm9wZG93blByb3BzPERyb3Bkb3duT3B0aW9uUHJvcHM+XG4+KE11bHRpcGxlRHJvcGRvd25Jbm5lcik7XG5cbmV4cG9ydCBkZWZhdWx0IE11bHRpcGxlRHJvcGRvd247XG4iXX0= */",
|
|
29416
|
+
styles: "white-space:nowrap;overflow:hidden;text-overflow:ellipsis/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VpLWtpdC91aS1raXQvcGFja2FnZXMvY29yZS9zcmMvY29tcG9uZW50cy9NdWx0aXBsZURyb3Bkb3duL011bHRpcGxlRHJvcGRvd24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRCMkMiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWkta2l0L3VpLWtpdC9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL011bHRpcGxlRHJvcGRvd24vTXVsdGlwbGVEcm9wZG93bi50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlSWQsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHVzZUNsaWNrT3V0c2lkZSB9IGZyb20gJ0Bzc2EtdWkta2l0L2hvb2tzJztcbmltcG9ydCB7IG1hcE9iakluZGV4ZWQgfSBmcm9tICdAc3NhLXVpLWtpdC91dGlscyc7XG5pbXBvcnQgeyB1c2VNZXJnZVJlZnMgfSBmcm9tICdAZmxvYXRpbmctdWkvcmVhY3QnO1xuXG5pbXBvcnQgRHJvcGRvd25CYXNlIGZyb20gJ0Bjb21wb25lbnRzL0Ryb3Bkb3duQmFzZSc7XG5pbXBvcnQgRHJvcGRvd25Ub2dnbGUgZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25Ub2dnbGUnO1xuaW1wb3J0IERyb3Bkb3duQXJyb3cgZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25BcnJvdyc7XG5pbXBvcnQgTXVsdGlwbGVEcm9wZG93bk9wdGlvbnMgZnJvbSAnQGNvbXBvbmVudHMvTXVsdGlwbGVEcm9wZG93bk9wdGlvbnMnO1xuaW1wb3J0IHtcbiAgT3B0aW9uVmFsdWUsXG4gIGZpbHRlckRyb3Bkb3duT3B0aW9ucyxcbiAgZmxhdHRlbkRyb3Bkb3duT3B0aW9ucyxcbiAgdG9Ecm9wZG93bk1lbnVJdGVtcyxcbn0gZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25PcHRpb25zL3V0aWxzJztcbmltcG9ydCB7IHVzZVRvZ2dsZUxpc3RLZXlzIH0gZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25PcHRpb25zL3VzZVRvZ2dsZUxpc3RLZXlzJztcbmltcG9ydCB7IERyb3Bkb3duU2VhcmNoIH0gZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25PcHRpb25zL0Ryb3Bkb3duU2VhcmNoJztcbmltcG9ydCB7IGdldE5leHRBY3RpdmVWYWx1ZSB9IGZyb20gJ0Bjb21wb25lbnRzL0NvbnRleHRNZW51JztcbmltcG9ydCB7IGZsYXR0ZW5JdGVtcyB9IGZyb20gJ0Bjb21wb25lbnRzL0NvbnRleHRNZW51L3V0aWxzJztcbmltcG9ydCBNdWx0aXBsZURyb3Bkb3duQ29udGV4dCBmcm9tICdAY29tcG9uZW50cy9NdWx0aXBsZURyb3Bkb3duL011bHRpcGxlRHJvcGRvd24uY29udGV4dCc7XG5pbXBvcnQgeyBEcm9wZG93bk9wdGlvblByb3BzIH0gZnJvbSAnQGNvbXBvbmVudHMvRHJvcGRvd25PcHRpb25zL3R5cGVzJztcbmltcG9ydCB7IHJlc29sdmVEaXNhYmxlZCB9IGZyb20gJ0B1dGlscy9kZXByZWNhdGlvbic7XG5cbmltcG9ydCB7IERyb3Bkb3duQ29udGV4dFR5cGUsIERyb3Bkb3duUHJvcHMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGdldEFjdGl2ZUl0ZW1zIH0gZnJvbSAnQGNvbXBvbmVudHMvTXVsdGlwbGVEcm9wZG93bi91dGlscyc7XG5pbXBvcnQgTXVsdGlwbGVEcm9wZG93bk5vdGlmaWNhdGlvbiBmcm9tICdAY29tcG9uZW50cy9NdWx0aXBsZURyb3Bkb3duTm90aWZpY2F0aW9uJztcblxuY29uc3QgRHJvcGRvd25QbGFjZWhvbGRlckxhYmVsID0gc3R5bGVkLmRpdmBcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5gO1xuXG5mdW5jdGlvbiBNdWx0aXBsZURyb3Bkb3duSW5uZXI8VCBleHRlbmRzIERyb3Bkb3duT3B0aW9uUHJvcHM+KFxuICB7XG4gICAgc2VsZWN0ZWRJdGVtcyA9IFtdLFxuICAgIGRpc2FibGVkLFxuICAgIGlzRGlzYWJsZWQsXG4gICAgaXNPcGVuOiBpc0luaXRPcGVuLFxuICAgIGlzTXVsdGlwbGUgPSB0cnVlLFxuICAgIHBsYWNlaG9sZGVyID0gJ1NlbGVjdCBzb21ldGhpbmcnLFxuICAgIHNob3dQbGFjZWhvbGRlciA9IHRydWUsXG4gICAgbGFiZWwsXG4gICAgY2hpbGRyZW4sXG4gICAgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSxcbiAgICBjbGFzc05hbWUsXG4gICAgbWF4SGVpZ2h0ID0gMjAwLFxuICAgIHdpZHRoLFxuICAgIHNlYXJjaGFibGUgPSBmYWxzZSxcbiAgICBzZWFyY2hQbGFjZWhvbGRlciA9ICdTZWFyY2gnLFxuICAgIHNlYXJjaEVtcHR5U3RhdGUgPSAnTm8gcmVzdWx0cyBmb3VuZCcsXG4gIH06IERyb3Bkb3duUHJvcHM8VD4sXG4gIHJlZj86IFJlYWN0LkZvcndhcmRlZFJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+LFxuKSB7XG4gIGNvbnN0IGlzRHJvcGRvd25EaXNhYmxlZCA9IHJlc29sdmVEaXNhYmxlZChcbiAgICAnTXVsdGlwbGVEcm9wZG93bicsXG4gICAgZGlzYWJsZWQsXG4gICAgaXNEaXNhYmxlZCxcbiAgKTtcbiAgY29uc3QgZHJvcGRvd25CYXNlUmVmOiBSZWFjdC5SZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPiA9XG4gICAgdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgdG9nZ2xlUmVmID0gdXNlUmVmPEhUTUxCdXR0b25FbGVtZW50PihudWxsKTtcbiAgY29uc3QgZHJvcGRvd25JZCA9IHVzZUlkKCk7XG4gIC8vIGB3aWR0aGAgaGFzIG5vIGRlZmF1bHQg4oCUIHdpdGhvdXQgaXQgdGhlIGJhc2UgYW5kIHRoZSB0b2dnbGUgYm90aFxuICAvLyBzaHJpbmstd3JhcCwgd2hpY2ggaXMgdGhlIGhpc3RvcmljYWwgYmVoYXZpb3VyLiBXaGVuIHNldCBpdCBoYXMgdG8gY2xlYXJcbiAgLy8gdGhlIGJhc2UncyBgbWluLXdpZHRoYCBhbmQgdGhlIG11bHRpcGxlIHRvZ2dsZSdzIGBtYXgtd2lkdGhgLCBvdGhlcndpc2VcbiAgLy8gdGhvc2UgY2FwcyBzaWxlbnRseSB3aW4gb3ZlciB0aGUgZXhwbGljaXQgdmFsdWUuXG4gIC8vXG4gIC8vIE9ubHkgdGhlIG91dGVyIGJhc2UgZ2V0cyB0aGUgcmVxdWVzdGVkIHZhbHVlOyB0aGUgdG9nZ2xlIGdldHMgMTAwJS5cbiAgLy8gUmVwZWF0aW5nIHRoZSB2YWx1ZSB3b3VsZCBjb21wb3VuZCByZWxhdGl2ZSB1bml0czogYHdpZHRoPVwiNjAlXCJgIHdvdWxkXG4gIC8vIG90aGVyd2lzZSByZW5kZXIgdGhlIHRvZ2dsZSBhdCA2MCUgb2YgYW4gYWxyZWFkeS02MCUgYmFzZS5cbiAgLy9cbiAgLy8gU3ByZWFkIHJhdGhlciB0aGFuIHBhc3NlZCBhcyBgY3NzPXsuLi59YDogRW1vdGlvbiB3cmFwcyBhbiBlbGVtZW50IHdoZW5ldmVyXG4gIC8vIGBjc3NgIGlzIHByZXNlbnQgaW4gaXRzIHByb3BzLCBldmVuIHdoZW4gaXRzIHZhbHVlIGlzIHVuZGVmaW5lZCwgYW5kIHRoYXRcbiAgLy8gcmUtc2VyaWFsaXplcyBhbnkgaW5jb21pbmcgYGNsYXNzTmFtZWAgKGUuZy4gZnJvbVxuICAvLyBgc3R5bGVkKE11bHRpcGxlRHJvcGRvd24pYCkuIE9taXR0aW5nIHRoZSBrZXkga2VlcHMgdGhlIG5vLXdpZHRoIHBhdGhcbiAgLy8gaWRlbnRpY2FsIHRvIHdyaXRpbmcgbm8gYGNzc2AgcHJvcC5cbiAgY29uc3QgYmFzZUNzc1Byb3BzID1cbiAgICB3aWR0aCA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogeyBjc3M6IHsgd2lkdGgsIG1pbldpZHRoOiAwIH0gfTtcbiAgY29uc3QgdG9nZ2xlQ3NzUHJvcHMgPVxuICAgIHdpZHRoID09PSB1bmRlZmluZWRcbiAgICAgID8gdW5kZWZpbmVkXG4gICAgICA6IHsgY3NzOiB7IHdpZHRoOiAnMTAwJScsIG1heFdpZHRoOiAnbm9uZScgfSB9O1xuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoaXNJbml0T3BlbiB8fCBmYWxzZSk7XG4gIGNvbnN0IFtvcHRpb25zV2l0aEtleSwgc2V0T3B0aW9uc1dpdGhLZXldID0gdXNlU3RhdGU8XG4gICAgUmVjb3JkPG51bWJlciB8IHN0cmluZywgVD5cbiAgPih7fSk7XG4gIC8vIEhpZ2hsaWdodGVkIG9wdGlvbi4gRm9jdXMgc3RheXMgb24gdGhlIHRvZ2dsZSAodGhlIGNvbWJvYm94KSwgd2hpY2hcbiAgLy8gZHJpdmVzIHRoZSBsaXN0IGFuZCBwb2ludHMgYXQgdGhlIG9wdGlvbiB3aXRoIGFyaWEtYWN0aXZlZGVzY2VuZGFudC5cbiAgY29uc3QgW2FjdGl2ZVZhbHVlLCBzZXRBY3RpdmVWYWx1ZV0gPSB1c2VTdGF0ZTxPcHRpb25WYWx1ZSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBsaXN0SWQgPSBgZHJvcGRvd24tcG9wdXAtJHtkcm9wZG93bklkfWA7XG4gIC8vIFNlYXJjaCB0ZXh0OyBvbmx5IHVzZWQgd2l0aCBgc2VhcmNoYWJsZWAsIGNsZWFyZWQgb24gY2xvc2UuXG4gIGNvbnN0IFtxdWVyeSwgc2V0UXVlcnldID0gdXNlU3RhdGUoJycpO1xuICBjb25zdCBbdmFsdWVzLCBzZXRWYWx1ZXNdID0gdXNlU3RhdGU8QXJyYXk8dW5rbm93bj4+KFtdKTtcbiAgY29uc3QgW3ZhbHVlc1dpdGhvdXRQbGFjZWhvbGRlciwgc2V0VmFsdWVzV2l0aG91dFBsYWNlaG9sZGVyXSA9IHVzZVN0YXRlPFxuICAgIEFycmF5PHVua25vd24+XG4gID4oW10pO1xuXG4gIGNvbnN0IG1lbW9TZWxlY3RlZEl0ZW1zID0gUmVhY3QudXNlTWVtbyhcbiAgICAoKSA9PiBzZWxlY3RlZEl0ZW1zLFxuICAgIFtKU09OLnN0cmluZ2lmeShzZWxlY3RlZEl0ZW1zKV0sXG4gICk7XG5cbiAgY29uc3QgY2hpbGRyZW5BcnJheSA9IFJlYWN0LkNoaWxkcmVuLnRvQXJyYXkoY2hpbGRyZW4pLmZpbHRlcihCb29sZWFuKTtcbiAgY29uc3QgdmlzaWJsZUNoaWxkcmVuID0gc2VhcmNoYWJsZVxuICAgID8gZmlsdGVyRHJvcGRvd25PcHRpb25zKGNoaWxkcmVuQXJyYXksIHF1ZXJ5KVxuICAgIDogY2hpbGRyZW5BcnJheTtcbiAgY29uc3QgbWVudUl0ZW1zID0gdG9Ecm9wZG93bk1lbnVJdGVtcyh2aXNpYmxlQ2hpbGRyZW4pO1xuXG4gIGNvbnN0IGNsb3NlID0gKCkgPT4ge1xuICAgIHNldElzT3BlbihmYWxzZSk7XG4gICAgc2V0QWN0aXZlVmFsdWUobnVsbCk7XG4gICAgc2V0UXVlcnkoJycpO1xuICAgIC8vIFRoZSBzZWFyY2ggYm94IHVubW91bnRzIHdpdGggdGhlIGxpc3Q7IGhhbmQgZm9jdXMgYmFjayB0byB0aGUgdG9nZ2xlXG4gICAgLy8gcmF0aGVyIHRoYW4gZHJvcHBpbmcgaXQgb24gPGJvZHk+LlxuICAgIGlmIChcbiAgICAgIHNlYXJjaGFibGUgJiZcbiAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgIT09IHRvZ2dsZVJlZi5jdXJyZW50ICYmXG4gICAgICBkcm9wZG93bkJhc2VSZWYuY3VycmVudD8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudClcbiAgICApIHtcbiAgICAgIHRvZ2dsZVJlZi5jdXJyZW50Py5mb2N1cygpO1xuICAgIH1cbiAgfTtcblxuICAvKiogVGhlIGZpcnN0IHNlbGVjdGVkIG9wdGlvbiBpZiBsaXN0ZWQsIGVsc2UgdGhlIGZpcnN0IChvciBsYXN0LCBmb3IgQXJyb3dVcCkuICovXG4gIGNvbnN0IGdldEluaXRpYWxBY3RpdmVWYWx1ZSA9IChcbiAgICBlbnRyaWVzOiB0eXBlb2YgbWVudUl0ZW1zLFxuICAgIGtleSA9ICdBcnJvd0Rvd24nLFxuICApID0+IHtcbiAgICBjb25zdCBzZWxlY3RlZCA9IGZsYXR0ZW5JdGVtcyhlbnRyaWVzKS5maW5kKFxuICAgICAgKGl0ZW0pID0+ICFpdGVtLmRpc2FibGVkICYmIG9wdGlvbnNXaXRoS2V5W2l0ZW0udmFsdWVdPy5pc1NlbGVjdGVkLFxuICAgICk7XG4gICAgcmV0dXJuIHNlbGVjdGVkPy52YWx1ZSA/PyBnZXROZXh0QWN0aXZlVmFsdWUoZW50cmllcywgbnVsbCwga2V5KSA/PyBudWxsO1xuICB9O1xuXG4gIC8qKiBPcGVucyB3aXRoIHRoZSBmaXJzdCBzZWxlY3RlZCBvcHRpb24gaGlnaGxpZ2h0ZWQsIGVsc2UgcGVyIHRoZSBrZXkgcHJlc3NlZC4gKi9cbiAgY29uc3Qgb3BlbiA9IChrZXkgPSAnQXJyb3dEb3duJykgPT4ge1xuICAgIHNldElzT3Blbih0cnVlKTtcbiAgICBzZXRBY3RpdmVWYWx1ZShnZXRJbml0aWFsQWN0aXZlVmFsdWUobWVudUl0ZW1zLCBrZXkpKTtcbiAgfTtcblxuICBjb25zdCBvbkNoYW5nZSA9IChpdGVtOiBEcm9wZG93bk9wdGlvblByb3BzKSA9PiB7XG4gICAgaWYgKGlzRHJvcGRvd25EaXNhYmxlZCB8fCAhaXRlbSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIWlzTXVsdGlwbGUgJiYgb3B0aW9uc1dpdGhLZXlbaXRlbS52YWx1ZV0uaXNTZWxlY3RlZCkge1xuICAgICAgY2xvc2UoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IG5ld09wdGlvbnNXaXRoS2V5ID0ge307XG4gICAgbGV0IGlzU2VsZWN0ZWQgPSB0cnVlO1xuICAgIGlmIChpc011bHRpcGxlKSB7XG4gICAgICBpc1NlbGVjdGVkID0gIW9wdGlvbnNXaXRoS2V5W2l0ZW0udmFsdWVdLmlzU2VsZWN0ZWQ7XG4gICAgICBuZXdPcHRpb25zV2l0aEtleSA9IHtcbiAgICAgICAgLi4ub3B0aW9uc1dpdGhLZXksXG4gICAgICAgIFtpdGVtLnZhbHVlXToge1xuICAgICAgICAgIC4uLm9wdGlvbnNXaXRoS2V5W2l0ZW0udmFsdWVdLFxuICAgICAgICAgIGlzU2VsZWN0ZWQsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgc2V0T3B0aW9uc1dpdGhLZXkobmV3T3B0aW9uc1dpdGhLZXkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXdPcHRpb25zV2l0aEtleSA9IG1hcE9iakluZGV4ZWQoXG4gICAgICAgIChvcHRpb24pID0+ICh7XG4gICAgICAgICAgLi4ub3B0aW9uLFxuICAgICAgICAgIGlzU2VsZWN0ZWQ6IG9wdGlvbi52YWx1ZSA9PT0gaXRlbS52YWx1ZSxcbiAgICAgICAgfSksXG4gICAgICAgIG9wdGlvbnNXaXRoS2V5LFxuICAgICAgKTtcbiAgICAgIHNldE9wdGlvbnNXaXRoS2V5KG5ld09wdGlvbnNXaXRoS2V5KTtcbiAgICAgIGNsb3NlKCk7XG4gICAgfVxuXG4gICAgaWYgKGhhbmRsZUNoYW5nZSkge1xuICAgICAgaGFuZGxlQ2hhbmdlKGl0ZW0udmFsdWUsIGlzU2VsZWN0ZWQpO1xuICAgIH1cbiAgfTtcblxuICB1c2VDbGlja091dHNpZGUoZHJvcGRvd25CYXNlUmVmLCAoKSA9PiBpc09wZW4gJiYgY2xvc2UoKSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNEcm9wZG93bkRpc2FibGVkICYmIGlzT3Blbikge1xuICAgICAgY2xvc2UoKTtcbiAgICB9XG4gIH0sIFtpc0Ryb3Bkb3duRGlzYWJsZWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGtleWVkT3B0aW9uczogUmVjb3JkPG51bWJlciB8IHN0cmluZywgVD4gPSB7fTtcbiAgICAoZmxhdHRlbkRyb3Bkb3duT3B0aW9ucyhjaGlsZHJlbkFycmF5KSBhcyBSZWFjdC5SZWFjdEVsZW1lbnQ8VD5bXSkuZm9yRWFjaChcbiAgICAgIChjaGlsZCkgPT4ge1xuICAgICAgICBrZXllZE9wdGlvbnNbY2hpbGQucHJvcHMudmFsdWVdID0ge1xuICAgICAgICAgIC4uLmNoaWxkLnByb3BzLFxuICAgICAgICAgIGlzU2VsZWN0ZWQ6ICEhbWVtb1NlbGVjdGVkSXRlbXMuZmluZChcbiAgICAgICAgICAgIChzZWxlY3RlZEl0ZW0pID0+IHNlbGVjdGVkSXRlbS52YWx1ZSA9PT0gY2hpbGQucHJvcHMudmFsdWUsXG4gICAgICAgICAgKSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHNldE9wdGlvbnNXaXRoS2V5KGtleWVkT3B0aW9ucyk7XG4gIH0sIFttZW1vU2VsZWN0ZWRJdGVtcywgY2hpbGRyZW5dKTtcblxuICBjb25zdCB0b2dnbGVLZXlzID0gdXNlVG9nZ2xlTGlzdEtleXMoe1xuICAgIGxpc3RJZCxcbiAgICBpc09wZW4sXG4gICAgZGlzYWJsZWQ6IGlzRHJvcGRvd25EaXNhYmxlZCxcbiAgICBtZW51SXRlbXMsXG4gICAgYWN0aXZlVmFsdWUsXG4gICAgc2V0QWN0aXZlVmFsdWUsXG4gICAgb3BlbixcbiAgICBjbG9zZSxcbiAgICAvLyBUb2dnbGVzIHRoZSBvcHRpb247IHRoZSBsaXN0IHN0YXlzIG9wZW4gaW4gbXVsdGktc2VsZWN0IG1vZGUuXG4gICAgb25QaWNrOiAodmFsdWUpID0+IG9uQ2hhbmdlKG9wdGlvbnNXaXRoS2V5W3ZhbHVlXSksXG4gIH0pO1xuXG4gIC8vIFRoZSBzZWFyY2ggYm94IGRyaXZlcyB0aGUgbGlzdCB3aGlsZSBpdCBpcyBvcGVuLlxuICBjb25zdCBzZWFyY2hLZXlzID0gdXNlVG9nZ2xlTGlzdEtleXM8SFRNTElucHV0RWxlbWVudD4oe1xuICAgIGxpc3RJZCxcbiAgICBpc09wZW4sXG4gICAgZGlzYWJsZWQ6IGlzRHJvcGRvd25EaXNhYmxlZCxcbiAgICBtZW51SXRlbXMsXG4gICAgYWN0aXZlVmFsdWUsXG4gICAgc2V0QWN0aXZlVmFsdWUsXG4gICAgb3BlbixcbiAgICBjbG9zZSxcbiAgICBvblBpY2s6ICh2YWx1ZSkgPT4gb25DaGFuZ2Uob3B0aW9uc1dpdGhLZXlbdmFsdWVdKSxcbiAgICB0eXBpbmc6IHRydWUsXG4gICAgLy8gRXNjYXBlIGNsZWFycyB0aGUgc2VhcmNoIGZpcnN0LCB0aGVuIGNsb3Nlcy5cbiAgICBvbktleURvd246IChldmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScgJiYgcXVlcnkpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgY2hhbmdlUXVlcnkoJycpO1xuICAgICAgfVxuICAgIH0sXG4gIH0pO1xuXG4gIC8qKiBVcGRhdGVzIHRoZSBzZWFyY2ggYW5kIG1vdmVzIHRoZSBoaWdobGlnaHQgdG8gc3VpdCBpdC4gKi9cbiAgY29uc3QgY2hhbmdlUXVlcnkgPSAobmV4dDogc3RyaW5nKSA9PiB7XG4gICAgc2V0UXVlcnkobmV4dCk7XG4gICAgY29uc3QgbWF0Y2hlcyA9IHRvRHJvcGRvd25NZW51SXRlbXMoXG4gICAgICBmaWx0ZXJEcm9wZG93bk9wdGlvbnMoY2hpbGRyZW5BcnJheSwgbmV4dCksXG4gICAgKTtcbiAgICAvLyBBIGNsZWFyZWQgc2VhcmNoIGdvZXMgYmFjayB0byB3aGVyZSBvcGVuaW5nIHN0YXJ0czsgYSBzZWFyY2ggdG8gaXRzXG4gICAgLy8gZmlyc3QgbWF0Y2guXG4gICAgc2V0QWN0aXZlVmFsdWUoXG4gICAgICBuZXh0LnRyaW0oKVxuICAgICAgICA/IChnZXROZXh0QWN0aXZlVmFsdWUobWF0Y2hlcywgbnVsbCwgJ0Fycm93RG93bicpID8/IG51bGwpXG4gICAgICAgIDogZ2V0SW5pdGlhbEFjdGl2ZVZhbHVlKG1hdGNoZXMpLFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgY29udGV4dFZhbHVlOiBEcm9wZG93bkNvbnRleHRUeXBlPERyb3Bkb3duT3B0aW9uUHJvcHM+ID0gUmVhY3QudXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgb25DaGFuZ2UsXG4gICAgICBhbGxJdGVtczogb3B0aW9uc1dpdGhLZXksXG4gICAgICBpc011bHRpcGxlLFxuICAgICAgbWF4SGVpZ2h0LFxuICAgICAgYWN0aXZlVmFsdWUsXG4gICAgICBzZXRBY3RpdmVWYWx1ZSxcbiAgICAgIHNlYXJjaGFibGUsXG4gICAgICBlbXB0eVN0YXRlOiBxdWVyeSA/IHNlYXJjaEVtcHR5U3RhdGUgOiB1bmRlZmluZWQsXG4gICAgfSksXG4gICAgW1xuICAgICAgb25DaGFuZ2UsXG4gICAgICBvcHRpb25zV2l0aEtleSxcbiAgICAgIGlzTXVsdGlwbGUsXG4gICAgICBtYXhIZWlnaHQsXG4gICAgICBhY3RpdmVWYWx1ZSxcbiAgICAgIHNlYXJjaGFibGUsXG4gICAgICBxdWVyeSxcbiAgICAgIHNlYXJjaEVtcHR5U3RhdGUsXG4gICAgXSxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IG5ld1ZhbHVlcyA9IGdldEFjdGl2ZUl0ZW1zKHsgYWxsSXRlbXM6IG9wdGlvbnNXaXRoS2V5LCBwbGFjZWhvbGRlciB9KTtcbiAgICBjb25zdCBuZXdWYWx1ZXNXaXRob3V0UGxhY2Vob2xkZXIgPSBuZXdWYWx1ZXMuZmlsdGVyKFxuICAgICAgKGl0ZW0pID0+IGl0ZW0gIT09IHBsYWNlaG9sZGVyLFxuICAgICk7XG4gICAgc2V0VmFsdWVzKG5ld1ZhbHVlcyk7XG4gICAgc2V0VmFsdWVzV2l0aG91dFBsYWNlaG9sZGVyKG5ld1ZhbHVlc1dpdGhvdXRQbGFjZWhvbGRlcik7XG4gIH0sIFtvcHRpb25zV2l0aEtleV0pO1xuXG4gIHJldHVybiAoXG4gICAgPE11bHRpcGxlRHJvcGRvd25Db250ZXh0LlByb3ZpZGVyIHZhbHVlPXtjb250ZXh0VmFsdWV9PlxuICAgICAgPERyb3Bkb3duQmFzZVxuICAgICAgICB7Li4uYmFzZUNzc1Byb3BzfVxuICAgICAgICByZWY9e3VzZU1lcmdlUmVmcyhbZHJvcGRvd25CYXNlUmVmLCByZWZdKX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJkcm9wZG93blwiPlxuICAgICAgICA8RHJvcGRvd25Ub2dnbGVcbiAgICAgICAgICB7Li4udG9nZ2xlQ3NzUHJvcHN9XG4gICAgICAgICAgcmVmPXt0b2dnbGVSZWZ9XG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgaXNPcGVuPXtpc09wZW59XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRHJvcGRvd25EaXNhYmxlZH1cbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiAoaXNPcGVuID8gY2xvc2UoKSA6IG9wZW4oKSl9XG4gICAgICAgICAgey4uLnRvZ2dsZUtleXN9XG4gICAgICAgICAgYXJpYS1jb250cm9scz17bGlzdElkfVxuICAgICAgICAgIGlzTXVsdGlwbGU9e2lzTXVsdGlwbGV9XG4gICAgICAgICAgc2VsZWN0ZWRDb3VudD17dmFsdWVzV2l0aG91dFBsYWNlaG9sZGVyLmxlbmd0aH0+XG4gICAgICAgICAge2lzTXVsdGlwbGUgPyAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8RHJvcGRvd25QbGFjZWhvbGRlckxhYmVsPlxuICAgICAgICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgICAgICAgICB7c2hvd1BsYWNlaG9sZGVyXG4gICAgICAgICAgICAgICAgICA/IHZhbHVlcy5sZW5ndGggPiAwICYmIGA6ICR7dmFsdWVzWzBdfWBcbiAgICAgICAgICAgICAgICAgIDogdmFsdWVzV2l0aG91dFBsYWNlaG9sZGVyLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgICAgICAgICAgYDogJHt2YWx1ZXNXaXRob3V0UGxhY2Vob2xkZXJbMF19YH1cbiAgICAgICAgICAgICAgPC9Ecm9wZG93blBsYWNlaG9sZGVyTGFiZWw+XG4gICAgICAgICAgICAgIHt2YWx1ZXMubGVuZ3RoID4gMSA/IChcbiAgICAgICAgICAgICAgICA8TXVsdGlwbGVEcm9wZG93bk5vdGlmaWNhdGlvbiBhcz17J2Rpdid9PlxuICAgICAgICAgICAgICAgICAgK3t2YWx1ZXMubGVuZ3RoIC0gMX1cbiAgICAgICAgICAgICAgICA8L011bHRpcGxlRHJvcGRvd25Ob3RpZmljYXRpb24+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgJydcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICB2YWx1ZXMuam9pbignJylcbiAgICAgICAgICApfVxuICAgICAgICAgIDxEcm9wZG93bkFycm93IGlzVXA9e2lzT3Blbn0gLz5cbiAgICAgICAgPC9Ecm9wZG93blRvZ2dsZT5cblxuICAgICAgICB7aXNPcGVuICYmIHNlYXJjaGFibGUgPyAoXG4gICAgICAgICAgPERyb3Bkb3duU2VhcmNoXG4gICAgICAgICAgICB7Li4uc2VhcmNoS2V5c31cbiAgICAgICAgICAgIHF1ZXJ5PXtxdWVyeX1cbiAgICAgICAgICAgIG9uUXVlcnlDaGFuZ2U9e2NoYW5nZVF1ZXJ5fVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3NlYXJjaFBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgbGlzdElkPXtsaXN0SWR9XG4gICAgICAgICAgICB6SW5kZXg9ezF9PlxuICAgICAgICAgICAgPE11bHRpcGxlRHJvcGRvd25PcHRpb25zIGlkPXtsaXN0SWR9PlxuICAgICAgICAgICAgICB7dmlzaWJsZUNoaWxkcmVufVxuICAgICAgICAgICAgPC9NdWx0aXBsZURyb3Bkb3duT3B0aW9ucz5cbiAgICAgICAgICA8L0Ryb3Bkb3duU2VhcmNoPlxuICAgICAgICApIDogaXNPcGVuID8gKFxuICAgICAgICAgIDxNdWx0aXBsZURyb3Bkb3duT3B0aW9ucyBpZD17bGlzdElkfT5cbiAgICAgICAgICAgIHtjaGlsZHJlbkFycmF5fVxuICAgICAgICAgIDwvTXVsdGlwbGVEcm9wZG93bk9wdGlvbnM+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ecm9wZG93bkJhc2U+XG4gICAgPC9NdWx0aXBsZURyb3Bkb3duQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn1cblxuLyoqXG4gKiBNdWx0aXBsZURyb3Bkb3duIC0gRHJvcGRvd24gY29tcG9uZW50IGZvciBtdWx0aS1zZWxlY3QgYW5kIHNpbmdsZS1zZWxlY3RcbiAqXG4gKiBBIGZsZXhpYmxlIGRyb3Bkb3duIHRoYXQgbGV0cyB1c2VycyBzZWxlY3Qgb25lIG9yIG1vcmUgb3B0aW9ucyBmcm9tIGEgbGlzdC5cbiAqIEluIG11bHRpLXNlbGVjdCBtb2RlIChgaXNNdWx0aXBsZT10cnVlYCwgZGVmYXVsdCkgZWFjaCBvcHRpb24gdG9nZ2xlcyBpbmRlcGVuZGVudGx5O1xuICogdGhlIHRvZ2dsZSBidXR0b24gc2hvd3MgdGhlIGZpcnN0IHNlbGVjdGVkIHZhbHVlIGFuZCBhIGArTmAgYmFkZ2UgZm9yIG92ZXJmbG93LlxuICogSW4gc2luZ2xlLXNlbGVjdCBtb2RlIChgaXNNdWx0aXBsZT1mYWxzZWApIHNlbGVjdGluZyBhbiBvcHRpb24gY2xvc2VzIHRoZSBtZW51LlxuICogRm9yd2FyZHMgaXRzIHJlZiB0byB0aGUgcm9vdCBjb250YWluZXIgZGl2LlxuICpcbiAqIENvbXBvbmVudCBzdHJ1Y3R1cmU6XG4gKiAtIE11bHRpcGxlRHJvcGRvd24gKHJvb3QgY29udGFpbmVyIHdpdGggY29udGV4dClcbiAqICAgLSBEcm9wZG93blRvZ2dsZSAoYnV0dG9uIHRoYXQgb3BlbnMvY2xvc2VzIHRoZSBtZW51KVxuICogICAtIE11bHRpcGxlRHJvcGRvd25PcHRpb25zIChtZW51IGNvbnRhaW5lciByZW5kZXJlZCB3aGVuIG9wZW4pXG4gKiAgICAgLSBEcm9wZG93bk9wdGlvbiAoaW5kaXZpZHVhbCBzZWxlY3RhYmxlIGl0ZW1zKVxuICpcbiAqIEBjYXRlZ29yeSBGb3JtIENvbnRyb2xzXG4gKiBAc3ViY2F0ZWdvcnkgU2VsZWN0aW9uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogLy8gQmFzaWMgbXVsdGktc2VsZWN0XG4gKiA8TXVsdGlwbGVEcm9wZG93blxuICogICBsYWJlbD1cIkZydWl0c1wiXG4gKiAgIHNlbGVjdGVkSXRlbXM9e1t7IHZhbHVlOiAnYXBwbGUnIH1dfVxuICogICBvbkNoYW5nZT17KHZhbHVlLCBpc1NlbGVjdGVkKSA9PiBoYW5kbGVDaGFuZ2UodmFsdWUsIGlzU2VsZWN0ZWQpfVxuICogPlxuICogICA8RHJvcGRvd25PcHRpb24gdmFsdWU9XCJhcHBsZVwiPkFwcGxlPC9Ecm9wZG93bk9wdGlvbj5cbiAqICAgPERyb3Bkb3duT3B0aW9uIHZhbHVlPVwiYmFuYW5hXCI+QmFuYW5hPC9Ecm9wZG93bk9wdGlvbj5cbiAqICAgPERyb3Bkb3duT3B0aW9uIHZhbHVlPVwiY2hlcnJ5XCI+Q2hlcnJ5PC9Ecm9wZG93bk9wdGlvbj5cbiAqIDwvTXVsdGlwbGVEcm9wZG93bj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIFNpbmdsZS1zZWxlY3QgbW9kZSAoY2xvc2VzIG9uIHBpY2spXG4gKiA8TXVsdGlwbGVEcm9wZG93blxuICogICBsYWJlbD1cIkNvdW50cnlcIlxuICogICBpc011bHRpcGxlPXtmYWxzZX1cbiAqICAgc2VsZWN0ZWRJdGVtcz17c2VsZWN0ZWR9XG4gKiAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gKiA+XG4gKiAgIDxEcm9wZG93bk9wdGlvbiB2YWx1ZT1cInVzXCI+VW5pdGVkIFN0YXRlczwvRHJvcGRvd25PcHRpb24+XG4gKiAgIDxEcm9wZG93bk9wdGlvbiB2YWx1ZT1cInVrXCI+VW5pdGVkIEtpbmdkb208L0Ryb3Bkb3duT3B0aW9uPlxuICogPC9NdWx0aXBsZURyb3Bkb3duPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogLy8gSGlkZSBwbGFjZWhvbGRlciB0ZXh0LCBvbmx5IHNob3cgYmFkZ2UgY291bnRcbiAqIDxNdWx0aXBsZURyb3Bkb3duXG4gKiAgIGxhYmVsPVwiVGFnc1wiXG4gKiAgIHNob3dQbGFjZWhvbGRlcj17ZmFsc2V9XG4gKiAgIHNlbGVjdGVkSXRlbXM9e3RhZ3N9XG4gKiAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gKiA+XG4gKiAgIHt0YWdzLm1hcCh0YWcgPT4gKFxuICogICAgIDxEcm9wZG93bk9wdGlvbiBrZXk9e3RhZy52YWx1ZX0gdmFsdWU9e3RhZy52YWx1ZX0+e3RhZy5sYWJlbH08L0Ryb3Bkb3duT3B0aW9uPlxuICogICApKX1cbiAqIDwvTXVsdGlwbGVEcm9wZG93bj5cbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIERyb3Bkb3duT3B0aW9ufSAtIENoaWxkIGNvbXBvbmVudCBmb3IgaW5kaXZpZHVhbCBvcHRpb25zXG4gKiBAc2VlIHtAbGluayBEcm9wZG93blRvZ2dsZX0gLSBUb2dnbGUgYnV0dG9uIGNvbXBvbmVudFxuICogQHNlZSB7QGxpbmsgTXVsdGlwbGVEcm9wZG93bk9wdGlvbnN9IC0gT3B0aW9ucyBtZW51IGNvbnRhaW5lclxuICpcbiAqIEBhY2Nlc3NpYmlsaXR5XG4gKiAtIEFSSUEgYXR0cmlidXRlcyBzZXQgYWNjb3JkaW5nIHRvIFdBSS1BUklBIGNvbWJvYm94IHBhdHRlcm5cbiAqIC0gRm9jdXMgc3RheXMgb24gdGhlIHRvZ2dsZSwgd2hpY2ggcG9pbnRzIGF0IHRoZSBoaWdobGlnaHRlZCBvcHRpb24gd2l0aFxuICogICBgYXJpYS1hY3RpdmVkZXNjZW5kYW50YFxuICogLSBBcnJvdyBrZXlzLCBIb21lIGFuZCBFbmQgbW92ZSB0aGUgaGlnaGxpZ2h0OyBFbnRlciBvciBTcGFjZSB0b2dnbGVzIGl0XG4gKiAgIChwaWNrcyBhbmQgY2xvc2VzIGluIHNpbmdsZS1zZWxlY3QgbW9kZSk7IEVzY2FwZSBhbmQgVGFiIGNsb3NlXG4gKiAtIENsaWNrIG91dHNpZGUgdG8gY2xvc2VcbiAqIC0gU2NyZWVuIHJlYWRlciBmcmllbmRseSB3aXRoIGFyaWEtZXhwYW5kZWQgYW5kIGFyaWEtY29udHJvbHNcbiAqXG4gKiBAc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvQVJJQS9hcGcvZXhhbXBsZS1pbmRleC9jb21ib2JveC9jb21ib2JveC1zZWxlY3Qtb25seS5odG1sXG4gKi9cbmNvbnN0IE11bHRpcGxlRHJvcGRvd24gPSBSZWFjdC5mb3J3YXJkUmVmPFxuICBIVE1MRGl2RWxlbWVudCxcbiAgRHJvcGRvd25Qcm9wczxEcm9wZG93bk9wdGlvblByb3BzPlxuPihNdWx0aXBsZURyb3Bkb3duSW5uZXIpO1xuXG5leHBvcnQgZGVmYXVsdCBNdWx0aXBsZURyb3Bkb3duO1xuIl19 */",
|
|
29197
29417
|
toString: MultipleDropdown_EMOTION_STRINGIFIED_CSS_ERROR_
|
|
29198
29418
|
});
|
|
29199
29419
|
function MultipleDropdownInner({
|
|
@@ -29209,10 +29429,14 @@ function MultipleDropdownInner({
|
|
|
29209
29429
|
onChange: handleChange,
|
|
29210
29430
|
className,
|
|
29211
29431
|
maxHeight = 200,
|
|
29212
|
-
width
|
|
29432
|
+
width,
|
|
29433
|
+
searchable = false,
|
|
29434
|
+
searchPlaceholder = 'Search',
|
|
29435
|
+
searchEmptyState = 'No results found'
|
|
29213
29436
|
}, ref) {
|
|
29214
29437
|
const isDropdownDisabled = resolveDisabled('MultipleDropdown', disabled, isDisabled);
|
|
29215
29438
|
const dropdownBaseRef = (0,external_react_.useRef)(null);
|
|
29439
|
+
const toggleRef = (0,external_react_.useRef)(null);
|
|
29216
29440
|
const dropdownId = (0,external_react_.useId)();
|
|
29217
29441
|
// `width` has no default — without it the base and the toggle both
|
|
29218
29442
|
// shrink-wrap, which is the historical behaviour. When set it has to clear
|
|
@@ -29246,21 +29470,35 @@ function MultipleDropdownInner({
|
|
|
29246
29470
|
// drives the list and points at the option with aria-activedescendant.
|
|
29247
29471
|
const [activeValue, setActiveValue] = (0,external_react_.useState)(null);
|
|
29248
29472
|
const listId = `dropdown-popup-${dropdownId}`;
|
|
29473
|
+
// Search text; only used with `searchable`, cleared on close.
|
|
29474
|
+
const [query, setQuery] = (0,external_react_.useState)('');
|
|
29249
29475
|
const [values, setValues] = (0,external_react_.useState)([]);
|
|
29250
29476
|
const [valuesWithoutPlaceholder, setValuesWithoutPlaceholder] = (0,external_react_.useState)([]);
|
|
29251
29477
|
const memoSelectedItems = external_react_default().useMemo(() => selectedItems, [JSON.stringify(selectedItems)]);
|
|
29252
29478
|
const childrenArray = external_react_default().Children.toArray(children).filter(Boolean);
|
|
29253
|
-
const
|
|
29479
|
+
const visibleChildren = searchable ? filterDropdownOptions(childrenArray, query) : childrenArray;
|
|
29480
|
+
const menuItems = toDropdownMenuItems(visibleChildren);
|
|
29254
29481
|
const close = () => {
|
|
29255
29482
|
setIsOpen(false);
|
|
29256
29483
|
setActiveValue(null);
|
|
29484
|
+
setQuery('');
|
|
29485
|
+
// The search box unmounts with the list; hand focus back to the toggle
|
|
29486
|
+
// rather than dropping it on <body>.
|
|
29487
|
+
if (searchable && document.activeElement !== toggleRef.current && dropdownBaseRef.current?.contains(document.activeElement)) {
|
|
29488
|
+
toggleRef.current?.focus();
|
|
29489
|
+
}
|
|
29490
|
+
};
|
|
29491
|
+
|
|
29492
|
+
/** The first selected option if listed, else the first (or last, for ArrowUp). */
|
|
29493
|
+
const getInitialActiveValue = (entries, key = 'ArrowDown') => {
|
|
29494
|
+
const selected = flattenItems(entries).find(item => !item.disabled && optionsWithKey[item.value]?.isSelected);
|
|
29495
|
+
return selected?.value ?? getNextActiveValue(entries, null, key) ?? null;
|
|
29257
29496
|
};
|
|
29258
29497
|
|
|
29259
29498
|
/** Opens with the first selected option highlighted, else per the key pressed. */
|
|
29260
29499
|
const open = (key = 'ArrowDown') => {
|
|
29261
29500
|
setIsOpen(true);
|
|
29262
|
-
|
|
29263
|
-
setActiveValue(selected?.value ?? getNextActiveValue(menuItems, null, key) ?? null);
|
|
29501
|
+
setActiveValue(getInitialActiveValue(menuItems, key));
|
|
29264
29502
|
};
|
|
29265
29503
|
const onChange = item => {
|
|
29266
29504
|
if (isDropdownDisabled || !item) {
|
|
@@ -29322,14 +29560,46 @@ function MultipleDropdownInner({
|
|
|
29322
29560
|
// Toggles the option; the list stays open in multi-select mode.
|
|
29323
29561
|
onPick: value => onChange(optionsWithKey[value])
|
|
29324
29562
|
});
|
|
29563
|
+
|
|
29564
|
+
// The search box drives the list while it is open.
|
|
29565
|
+
const searchKeys = useToggleListKeys({
|
|
29566
|
+
listId,
|
|
29567
|
+
isOpen,
|
|
29568
|
+
disabled: isDropdownDisabled,
|
|
29569
|
+
menuItems,
|
|
29570
|
+
activeValue,
|
|
29571
|
+
setActiveValue,
|
|
29572
|
+
open,
|
|
29573
|
+
close,
|
|
29574
|
+
onPick: value => onChange(optionsWithKey[value]),
|
|
29575
|
+
typing: true,
|
|
29576
|
+
// Escape clears the search first, then closes.
|
|
29577
|
+
onKeyDown: event => {
|
|
29578
|
+
if (event.key === 'Escape' && query) {
|
|
29579
|
+
event.preventDefault();
|
|
29580
|
+
changeQuery('');
|
|
29581
|
+
}
|
|
29582
|
+
}
|
|
29583
|
+
});
|
|
29584
|
+
|
|
29585
|
+
/** Updates the search and moves the highlight to suit it. */
|
|
29586
|
+
const changeQuery = next => {
|
|
29587
|
+
setQuery(next);
|
|
29588
|
+
const matches = toDropdownMenuItems(filterDropdownOptions(childrenArray, next));
|
|
29589
|
+
// A cleared search goes back to where opening starts; a search to its
|
|
29590
|
+
// first match.
|
|
29591
|
+
setActiveValue(next.trim() ? getNextActiveValue(matches, null, 'ArrowDown') ?? null : getInitialActiveValue(matches));
|
|
29592
|
+
};
|
|
29325
29593
|
const contextValue = external_react_default().useMemo(() => ({
|
|
29326
29594
|
onChange,
|
|
29327
29595
|
allItems: optionsWithKey,
|
|
29328
29596
|
isMultiple,
|
|
29329
29597
|
maxHeight,
|
|
29330
29598
|
activeValue,
|
|
29331
|
-
setActiveValue
|
|
29332
|
-
|
|
29599
|
+
setActiveValue,
|
|
29600
|
+
searchable,
|
|
29601
|
+
emptyState: query ? searchEmptyState : undefined
|
|
29602
|
+
}), [onChange, optionsWithKey, isMultiple, maxHeight, activeValue, searchable, query, searchEmptyState]);
|
|
29333
29603
|
(0,external_react_.useEffect)(() => {
|
|
29334
29604
|
const newValues = getActiveItems({
|
|
29335
29605
|
allItems: optionsWithKey,
|
|
@@ -29347,6 +29617,7 @@ function MultipleDropdownInner({
|
|
|
29347
29617
|
"data-testid": "dropdown",
|
|
29348
29618
|
children: [(0,jsx_runtime_namespaceObject.jsxs)(DropdownToggle_DropdownToggle, {
|
|
29349
29619
|
...toggleCssProps,
|
|
29620
|
+
ref: toggleRef,
|
|
29350
29621
|
className: className,
|
|
29351
29622
|
isOpen: isOpen,
|
|
29352
29623
|
disabled: isDropdownDisabled,
|
|
@@ -29365,7 +29636,18 @@ function MultipleDropdownInner({
|
|
|
29365
29636
|
}) : values.join(''), (0,jsx_runtime_namespaceObject.jsx)(DropdownArrow_DropdownArrow, {
|
|
29366
29637
|
isUp: isOpen
|
|
29367
29638
|
})]
|
|
29368
|
-
}), isOpen ? (0,jsx_runtime_namespaceObject.jsx)(
|
|
29639
|
+
}), isOpen && searchable ? (0,jsx_runtime_namespaceObject.jsx)(DropdownSearch, {
|
|
29640
|
+
...searchKeys,
|
|
29641
|
+
query: query,
|
|
29642
|
+
onQueryChange: changeQuery,
|
|
29643
|
+
placeholder: searchPlaceholder,
|
|
29644
|
+
listId: listId,
|
|
29645
|
+
zIndex: 1,
|
|
29646
|
+
children: (0,jsx_runtime_namespaceObject.jsx)(MultipleDropdownOptions_MultipleDropdownOptions, {
|
|
29647
|
+
id: listId,
|
|
29648
|
+
children: visibleChildren
|
|
29649
|
+
})
|
|
29650
|
+
}) : isOpen ? (0,jsx_runtime_namespaceObject.jsx)(MultipleDropdownOptions_MultipleDropdownOptions, {
|
|
29369
29651
|
id: listId,
|
|
29370
29652
|
children: childrenArray
|
|
29371
29653
|
}) : null]
|
|
@@ -30869,7 +31151,7 @@ const MAX_HEIGHT = 350;
|
|
|
30869
31151
|
|
|
30870
31152
|
// Focus has to stay in the input while the list is used with the pointer, so
|
|
30871
31153
|
// pressing inside the list must not move it.
|
|
30872
|
-
const
|
|
31154
|
+
const TypeaheadOptions_keepInputFocus = event => event.preventDefault();
|
|
30873
31155
|
|
|
30874
31156
|
/**
|
|
30875
31157
|
* TypeaheadOptions - The Typeahead's option list: a `ContextMenu` driven from
|
|
@@ -30909,7 +31191,7 @@ const TypeaheadOptions = ({
|
|
|
30909
31191
|
// Not a tab stop: the keyboard is handled by the input.
|
|
30910
31192
|
,
|
|
30911
31193
|
tabIndex: -1,
|
|
30912
|
-
onMouseDown:
|
|
31194
|
+
onMouseDown: TypeaheadOptions_keepInputFocus
|
|
30913
31195
|
});
|
|
30914
31196
|
};
|
|
30915
31197
|
;// ./src/components/Typeahead/Typeahead.tsx
|