@sbb-esta/lyne-elements 3.3.2 → 3.4.0
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/core/i18n/i18n.d.ts +5 -0
- package/core/i18n/i18n.d.ts.map +1 -1
- package/core/i18n/i18n.js +108 -84
- package/core/i18n.js +84 -80
- package/core/mixins/element-internals-mixin.js +6 -6
- package/core/mixins/form-associated-input-mixin.d.ts +1 -0
- package/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
- package/core/mixins/form-associated-input-mixin.js +2 -2
- package/core/styles/core/mediaqueries.scss +1 -1
- package/core/styles/core.scss +34 -1
- package/core/styles/mixins/typo.scss +88 -41
- package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +530 -0
- package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +1123 -0
- package/core.css +30 -0
- package/custom-elements.json +1176 -471
- package/date-input/date-input.component.d.ts +5 -4
- package/date-input/date-input.component.d.ts.map +1 -1
- package/date-input/date-input.component.js +19 -21
- package/development/core/i18n/i18n.d.ts +5 -0
- package/development/core/i18n/i18n.d.ts.map +1 -1
- package/development/core/i18n/i18n.js +38 -10
- package/development/core/i18n.js +5 -1
- package/development/core/mixins/element-internals-mixin.js +3 -3
- package/development/core/mixins/form-associated-input-mixin.d.ts +1 -0
- package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-input-mixin.js +3 -2
- package/development/date-input/date-input.component.d.ts +5 -4
- package/development/date-input/date-input.component.d.ts.map +1 -1
- package/development/date-input/date-input.component.js +5 -8
- package/development/dialog/dialog-title/dialog-title.component.js +2 -6
- package/development/file-selector/common/file-selector-common.d.ts +2 -1
- package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
- package/development/file-selector/common/file-selector-common.js +64 -19
- package/development/file-selector/common.js +1 -1
- package/development/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
- package/development/file-selector/file-selector/file-selector.component.js +12 -17
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts +0 -7
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +32 -76
- package/development/{file-selector-common-csww18o8.js → file-selector-common-BxXdRZxt.js} +3 -3
- package/development/file-selector.js +1 -1
- package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
- package/development/form-field/form-field/form-field.component.js +4 -4
- package/development/navigation/common/navigation-action-common.js +5 -8
- package/development/navigation/navigation/navigation.component.js +21 -4
- package/development/navigation/navigation-marker/navigation-marker.component.js +5 -8
- package/development/navigation/navigation-section/navigation-section.component.js +6 -19
- package/development/paginator/common/paginator-common.d.ts +3 -0
- package/development/paginator/common/paginator-common.d.ts.map +1 -1
- package/development/paginator/common/paginator-common.js +68 -10
- package/development/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
- package/development/paginator/compact-paginator/compact-paginator.component.js +8 -3
- package/development/paginator/paginator/paginator.component.d.ts +5 -0
- package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
- package/development/paginator/paginator/paginator.component.js +28 -6
- package/development/sidebar/sidebar-title/sidebar-title.component.js +1 -1
- package/development/tabs/tab-group/tab-group.component.js +3 -4
- package/development/time-input/time-input.component.d.ts +5 -4
- package/development/time-input/time-input.component.d.ts.map +1 -1
- package/development/time-input/time-input.component.js +5 -8
- package/development/title/title-base.js +14 -67
- package/development/title/title.component.js +17 -14
- package/development/toast/toast.component.js +6 -9
- package/development/train/train-wagon/train-wagon.component.js +6 -9
- package/dialog/dialog-title/dialog-title.component.js +1 -1
- package/file-selector/common/file-selector-common.d.ts +2 -1
- package/file-selector/common/file-selector-common.d.ts.map +1 -1
- package/file-selector/common/file-selector-common.js +88 -63
- package/file-selector/common.js +1 -1
- package/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
- package/file-selector/file-selector/file-selector.component.js +26 -31
- package/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts +0 -7
- package/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
- package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +50 -74
- package/file-selector-common-Cn6U8goV.js +5 -0
- package/file-selector.js +1 -1
- package/form-field/form-field/form-field.component.d.ts.map +1 -1
- package/form-field/form-field/form-field.component.js +3 -3
- package/navigation/common/navigation-action-common.js +8 -8
- package/navigation/navigation/navigation.component.js +1 -1
- package/navigation/navigation-marker/navigation-marker.component.js +1 -1
- package/navigation/navigation-section/navigation-section.component.js +14 -14
- package/package.json +1 -1
- package/paginator/common/paginator-common.d.ts +3 -0
- package/paginator/common/paginator-common.d.ts.map +1 -1
- package/paginator/common/paginator-common.js +103 -63
- package/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
- package/paginator/compact-paginator/compact-paginator.component.js +13 -8
- package/paginator/paginator/paginator.component.d.ts +5 -0
- package/paginator/paginator/paginator.component.d.ts.map +1 -1
- package/paginator/paginator/paginator.component.js +77 -61
- package/sidebar/sidebar-title/sidebar-title.component.js +14 -14
- package/standard-theme.css +30 -0
- package/tabs/tab-group/tab-group.component.js +7 -7
- package/time-input/time-input.component.d.ts +5 -4
- package/time-input/time-input.component.d.ts.map +1 -1
- package/time-input/time-input.component.js +21 -22
- package/title/title-base.js +33 -33
- package/title/title.component.js +9 -9
- package/toast/toast.component.js +1 -1
- package/train/train-wagon/train-wagon.component.js +6 -6
- package/file-selector-common-Dw5d8vA4.js +0 -5
|
@@ -10,6 +10,7 @@ import { css, LitElement, nothing, html } from "lit";
|
|
|
10
10
|
import { customElement, property } from "lit/decorators.js";
|
|
11
11
|
import { repeat } from "lit/directives/repeat.js";
|
|
12
12
|
import { sbbInputModalityDetector } from "../../core/a11y.js";
|
|
13
|
+
import { forceType } from "../../core/decorators.js";
|
|
13
14
|
import { i18nItemsPerPage, i18nPage } from "../../core/i18n.js";
|
|
14
15
|
import { SbbPaginatorCommonElementMixin } from "../common.js";
|
|
15
16
|
import "../../form-field.js";
|
|
@@ -258,7 +259,7 @@ const style = css`*,
|
|
|
258
259
|
}`;
|
|
259
260
|
const MAX_PAGE_NUMBERS_DISPLAYED = 3;
|
|
260
261
|
let SbbPaginatorElement = (() => {
|
|
261
|
-
var _pageSizeOptions_accessor_storage, _pagerPosition_accessor_storage, _a;
|
|
262
|
+
var _pageSizeOptions_accessor_storage, _pagerPosition_accessor_storage, _accessibilityItemsPerPageLabel_accessor_storage, _a;
|
|
262
263
|
let _classDecorators = [customElement("sbb-paginator")];
|
|
263
264
|
let _classDescriptor;
|
|
264
265
|
let _classExtraInitializers = [];
|
|
@@ -270,14 +271,19 @@ let SbbPaginatorElement = (() => {
|
|
|
270
271
|
let _pagerPosition_decorators;
|
|
271
272
|
let _pagerPosition_initializers = [];
|
|
272
273
|
let _pagerPosition_extraInitializers = [];
|
|
274
|
+
let _accessibilityItemsPerPageLabel_decorators;
|
|
275
|
+
let _accessibilityItemsPerPageLabel_initializers = [];
|
|
276
|
+
let _accessibilityItemsPerPageLabel_extraInitializers = [];
|
|
273
277
|
_a = class extends _classSuper {
|
|
274
278
|
constructor() {
|
|
275
279
|
super(...arguments);
|
|
276
280
|
__privateAdd(this, _pageSizeOptions_accessor_storage);
|
|
277
281
|
__privateAdd(this, _pagerPosition_accessor_storage);
|
|
282
|
+
__privateAdd(this, _accessibilityItemsPerPageLabel_accessor_storage);
|
|
278
283
|
__privateSet(this, _pageSizeOptions_accessor_storage, __runInitializers(this, _pageSizeOptions_initializers, []));
|
|
279
284
|
__privateSet(this, _pagerPosition_accessor_storage, (__runInitializers(this, _pageSizeOptions_extraInitializers), __runInitializers(this, _pagerPosition_initializers, "start")));
|
|
280
|
-
this
|
|
285
|
+
__privateSet(this, _accessibilityItemsPerPageLabel_accessor_storage, (__runInitializers(this, _pagerPosition_extraInitializers), __runInitializers(this, _accessibilityItemsPerPageLabel_initializers, "")));
|
|
286
|
+
this._markForFocus = (__runInitializers(this, _accessibilityItemsPerPageLabel_extraInitializers), null);
|
|
281
287
|
}
|
|
282
288
|
/** The available `pageSize` choices. */
|
|
283
289
|
get pageSizeOptions() {
|
|
@@ -296,6 +302,16 @@ let SbbPaginatorElement = (() => {
|
|
|
296
302
|
set pagerPosition(value) {
|
|
297
303
|
__privateSet(this, _pagerPosition_accessor_storage, value);
|
|
298
304
|
}
|
|
305
|
+
/**
|
|
306
|
+
* Accessibility label for the items per page. Defaults to `Items per page.`.
|
|
307
|
+
* Can be set for cases like a carousel, where `slide` or `image` fits better.
|
|
308
|
+
*/
|
|
309
|
+
get accessibilityItemsPerPageLabel() {
|
|
310
|
+
return __privateGet(this, _accessibilityItemsPerPageLabel_accessor_storage);
|
|
311
|
+
}
|
|
312
|
+
set accessibilityItemsPerPageLabel(value) {
|
|
313
|
+
__privateSet(this, _accessibilityItemsPerPageLabel_accessor_storage, value);
|
|
314
|
+
}
|
|
299
315
|
updated(changedProperties) {
|
|
300
316
|
super.updated(changedProperties);
|
|
301
317
|
if (this._markForFocus && sbbInputModalityDetector.mostRecentModality === "keyboard") {
|
|
@@ -357,7 +373,9 @@ let SbbPaginatorElement = (() => {
|
|
|
357
373
|
_renderItemPerPageTemplate() {
|
|
358
374
|
return this.pageSizeOptions && this.pageSizeOptions.length > 0 ? html`
|
|
359
375
|
<div class="sbb-paginator__page-size-options">
|
|
360
|
-
<label for="select"
|
|
376
|
+
<label for="select"
|
|
377
|
+
>${this.accessibilityItemsPerPageLabel ? this.accessibilityItemsPerPageLabel : i18nItemsPerPage[this.language.current]}</label
|
|
378
|
+
>
|
|
361
379
|
<sbb-form-field
|
|
362
380
|
borderless
|
|
363
381
|
width="collapse"
|
|
@@ -390,7 +408,7 @@ let SbbPaginatorElement = (() => {
|
|
|
390
408
|
?disabled=${this.disabled}
|
|
391
409
|
class="sbb-paginator__page--number-item"
|
|
392
410
|
data-index=${item}
|
|
393
|
-
aria-label="${i18nPage[this.language.current]} ${item + 1}"
|
|
411
|
+
aria-label="${this.accessibilityPageLabel ? this.accessibilityPageLabel : i18nPage[this.language.current]} ${item + 1}"
|
|
394
412
|
aria-current=${this.pageIndex === item ? "true" : nothing}
|
|
395
413
|
@click=${() => this.pageIndex = item}
|
|
396
414
|
@keyup=${this._handleKeyUp}
|
|
@@ -415,16 +433,20 @@ let SbbPaginatorElement = (() => {
|
|
|
415
433
|
</div>
|
|
416
434
|
`;
|
|
417
435
|
}
|
|
418
|
-
}, _pageSizeOptions_accessor_storage = new WeakMap(), _pagerPosition_accessor_storage = new WeakMap(), _classThis = _a, (() => {
|
|
436
|
+
}, _pageSizeOptions_accessor_storage = new WeakMap(), _pagerPosition_accessor_storage = new WeakMap(), _accessibilityItemsPerPageLabel_accessor_storage = new WeakMap(), _classThis = _a, (() => {
|
|
419
437
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
420
438
|
_pageSizeOptions_decorators = [property({ attribute: "page-size-options", type: Array })];
|
|
421
439
|
_pagerPosition_decorators = [property({ attribute: "pager-position", reflect: true })];
|
|
440
|
+
_accessibilityItemsPerPageLabel_decorators = [forceType(), property({ attribute: "accessibility-items-per-page-label" })];
|
|
422
441
|
__esDecorate(_a, null, _pageSizeOptions_decorators, { kind: "accessor", name: "pageSizeOptions", static: false, private: false, access: { has: (obj) => "pageSizeOptions" in obj, get: (obj) => obj.pageSizeOptions, set: (obj, value) => {
|
|
423
442
|
obj.pageSizeOptions = value;
|
|
424
443
|
} }, metadata: _metadata }, _pageSizeOptions_initializers, _pageSizeOptions_extraInitializers);
|
|
425
444
|
__esDecorate(_a, null, _pagerPosition_decorators, { kind: "accessor", name: "pagerPosition", static: false, private: false, access: { has: (obj) => "pagerPosition" in obj, get: (obj) => obj.pagerPosition, set: (obj, value) => {
|
|
426
445
|
obj.pagerPosition = value;
|
|
427
446
|
} }, metadata: _metadata }, _pagerPosition_initializers, _pagerPosition_extraInitializers);
|
|
447
|
+
__esDecorate(_a, null, _accessibilityItemsPerPageLabel_decorators, { kind: "accessor", name: "accessibilityItemsPerPageLabel", static: false, private: false, access: { has: (obj) => "accessibilityItemsPerPageLabel" in obj, get: (obj) => obj.accessibilityItemsPerPageLabel, set: (obj, value) => {
|
|
448
|
+
obj.accessibilityItemsPerPageLabel = value;
|
|
449
|
+
} }, metadata: _metadata }, _accessibilityItemsPerPageLabel_initializers, _accessibilityItemsPerPageLabel_extraInitializers);
|
|
428
450
|
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
429
451
|
_classThis = _classDescriptor.value;
|
|
430
452
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
@@ -436,4 +458,4 @@ let SbbPaginatorElement = (() => {
|
|
|
436
458
|
export {
|
|
437
459
|
SbbPaginatorElement
|
|
438
460
|
};
|
|
439
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3BhZ2luYXRvci9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZXBlYXQgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZXBlYXQuanMnO1xuXG5pbXBvcnQgeyBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgaTE4bkl0ZW1zUGVyUGFnZSwgaTE4blBhZ2UgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTZWxlY3RFbGVtZW50IH0gZnJvbSAnLi4vLi4vc2VsZWN0LmpzJztcbmltcG9ydCB7IFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpbiB9IGZyb20gJy4uL2NvbW1vbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3BhZ2luYXRvci5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2Zvcm0tZmllbGQuanMnO1xuaW1wb3J0ICcuLi8uLi9zZWxlY3QuanMnO1xuaW1wb3J0ICcuLi8uLi9vcHRpb24uanMnO1xuaW1wb3J0ICcuLi8uLi9zY3JlZW4tcmVhZGVyLW9ubHkuanMnO1xuXG5jb25zdCBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCA9IDM7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBwYWdpbmF0b3IgY29tcG9uZW50LlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItcGFnaW5hdG9yJylcbmNsYXNzIFNiYlBhZ2luYXRvckVsZW1lbnQgZXh0ZW5kcyBTYmJQYWdpbmF0b3JDb21tb25FbGVtZW50TWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgcGFnZTogJ3BhZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBUaGUgYXZhaWxhYmxlIGBwYWdlU2l6ZWAgY2hvaWNlcy4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGFnZS1zaXplLW9wdGlvbnMnLCB0eXBlOiBBcnJheSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgcGFnZVNpemVPcHRpb25zOiBudW1iZXJbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbiBvZiB0aGUgcHJldi9uZXh0IGJ1dHRvbnM6IGlmIGBwYWdlU2l6ZU9wdGlvbnNgIGlzIHNldCxcbiAgICogdGhlIHNiYi1zZWxlY3QgZm9yIHRoZSBwYWdlU2l6ZSBjaGFuZ2Ugd2lsbCBiZSBwb3NpdGlvbmVkIG9wcG9zaXRlbHksIHdpdGggdGhlIHBhZ2UgbnVtYmVycyBhbHdheXMgaW4gdGhlIGNlbnRlci5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3BhZ2VyLXBvc2l0aW9uJywgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgb3ZlcnJpZGUgYWNjZXNzb3IgcGFnZXJQb3NpdGlvbjpcbiAgICB8ICdzdGFydCdcbiAgICB8ICdlbmQnID0gJ3N0YXJ0JztcblxuICBwcml2YXRlIF9tYXJrRm9yRm9jdXM6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB1cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLnVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgLyoqIFRhYiBuYXZpZ2F0aW9uIGNhbiBmb3JjZSBhIHJlcmVuZGVyIHdoZW4gZWxsaXBzaXMgZWxlbWVudHMgbmVlZCB0byBiZSBkaXNwbGF5ZWQ7IHRoZSBmb2N1cyBtdXN0IHN0YXkgb24gdGhlIGNvcnJlY3QgZWxlbWVudC4gKi9cbiAgICBpZiAodGhpcy5fbWFya0ZvckZvY3VzICYmIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5tb3N0UmVjZW50TW9kYWxpdHkgPT09ICdrZXlib2FyZCcpIHtcbiAgICAgIGNvbnN0IGZvY3VzRWxlbWVudCA9IHRoaXMuX2dldFZpc2libGVQYWdlcygpLmZpbmQoXG4gICAgICAgIChlKSA9PiB0aGlzLnBhZ2VJbmRleCA9PT0gK2UuZ2V0QXR0cmlidXRlKCdkYXRhLWluZGV4JykhLFxuICAgICAgKTtcbiAgICAgIGlmIChmb2N1c0VsZW1lbnQpIHtcbiAgICAgICAgKGZvY3VzRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuZm9jdXMoKTtcbiAgICAgIH1cbiAgICAgIC8vIFJlc2V0IG1hcmsgZm9yIGZvY3VzXG4gICAgICB0aGlzLl9tYXJrRm9yRm9jdXMgPSBudWxsO1xuICAgIH1cbiAgfVxuICAvKiogUmV0dXJucyB0aGUgZGlzcGxheWVkIHBhZ2UgZWxlbWVudHMuICovXG4gIHByaXZhdGUgX2dldFZpc2libGVQYWdlcygpOiBFbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvckFsbCgnLnNiYi1wYWdpbmF0b3JfX3BhZ2UtLW51bWJlci1pdGVtJykpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGN1bGF0ZSB0aGUgcGFnZXMgc2V0IGJhc2VkIG9uIHRoZSBmb2xsb3dpbmcgcnVsZXM6XG4gICAqICAtIHRoZSBmaXJzdCBwYWdlIG11c3QgYWx3YXlzIGJlIHZpc2libGU7XG4gICAqICAtIHRoZSBsYXN0IHBhZ2UgbXVzdCBhbHdheXMgYmUgdmlzaWJsZTtcbiAgICogIC0gaWYgdGhlcmUgYXJlIG1vcmUgdGhhbiBgTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRURgIG90aGVyIHBhZ2VzLCBlbGxpcHNpcyBidXR0b24gbXVzdCBiZSB1c2VkLlxuICAgKi9cbiAgcHJpdmF0ZSBfZ2V0VmlzaWJsZVBhZ2VzSW5kZXgoKTogKG51bWJlciB8ICdlbGxpcHNpcycpW10ge1xuICAgIGNvbnN0IHRvdGFsUGFnZXM6IG51bWJlciA9IHRoaXMubnVtYmVyT2ZQYWdlcygpO1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlSW5kZXg6IG51bWJlciA9IHRoaXMucGFnZUluZGV4O1xuXG4gICAgaWYgKHRvdGFsUGFnZXMgPD0gTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQgKyAyKSB7XG4gICAgICByZXR1cm4gdGhpcy5fcmFuZ2UodG90YWxQYWdlcyk7XG4gICAgfSBlbHNlIGlmIChjdXJyZW50UGFnZUluZGV4IDwgTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQpIHtcbiAgICAgIHJldHVybiBbLi4udGhpcy5fcmFuZ2UoTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQgKyAxKSwgJ2VsbGlwc2lzJywgdG90YWxQYWdlcyAtIDFdO1xuICAgIH0gZWxzZSBpZiAoY3VycmVudFBhZ2VJbmRleCA+PSB0b3RhbFBhZ2VzIC0gTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIDAsXG4gICAgICAgICdlbGxpcHNpcycsXG4gICAgICAgIC4uLnRoaXMuX3JhbmdlKE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEICsgMSwgdG90YWxQYWdlcyAtIDEgLSBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCksXG4gICAgICBdO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICAwLFxuICAgICAgICAnZWxsaXBzaXMnLFxuICAgICAgICBjdXJyZW50UGFnZUluZGV4IC0gMSxcbiAgICAgICAgY3VycmVudFBhZ2VJbmRleCxcbiAgICAgICAgY3VycmVudFBhZ2VJbmRleCArIDEsXG4gICAgICAgICdlbGxpcHNpcycsXG4gICAgICAgIHRvdGFsUGFnZXMgLSAxLFxuICAgICAgXTtcbiAgICB9XG4gIH1cblxuICAvKiogQ3JlYXRlcyBhbiBhcnJheSBvZiBjb25zZWN1dGl2ZSBudW1iZXJzIGdpdmVuIHRoZSBsZW5ndGggYW5kIHRoZSBzdGFydGluZyB2YWx1ZS4gKi9cbiAgcHJpdmF0ZSBfcmFuZ2UobGVuZ3RoOiBudW1iZXIsIG9mZnNldDogbnVtYmVyID0gMCk6IG51bWJlcltdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aCB9LCAoXywgaykgPT4gayArIG9mZnNldCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVLZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgIT09ICcgJyAmJiBldmVudC5rZXkgIT09ICdFbnRlcicpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5fZ2V0VmlzaWJsZVBhZ2VzKCkuZmluZCgoZTogRWxlbWVudCkgPT4gZSA9PT0gZXZlbnQudGFyZ2V0KTtcbiAgICBpZiAoY3VycmVudCkge1xuICAgICAgdGhpcy5fbWFya0ZvckZvY3VzID0gdGhpcy5wYWdlSW5kZXg7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVySXRlbVBlclBhZ2VUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB8IHR5cGVvZiBub3RoaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wYWdlU2l6ZU9wdGlvbnMgJiYgdGhpcy5wYWdlU2l6ZU9wdGlvbnMubGVuZ3RoID4gMFxuICAgICAgPyBodG1sYFxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLXNpemUtb3B0aW9uc1wiPlxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNlbGVjdFwiPiR7aTE4bkl0ZW1zUGVyUGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfTwvbGFiZWw+XG4gICAgICAgICAgICA8c2JiLWZvcm0tZmllbGRcbiAgICAgICAgICAgICAgYm9yZGVybGVzc1xuICAgICAgICAgICAgICB3aWR0aD1cImNvbGxhcHNlXCJcbiAgICAgICAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX1cbiAgICAgICAgICAgICAgc2l6ZT0ke3RoaXMuc2l6ZX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNiYi1zZWxlY3RcbiAgICAgICAgICAgICAgICBpZD1cInNlbGVjdFwiXG4gICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgICB2YWx1ZT0ke3RoaXMucGFnZVNpemVPcHRpb25zPy5maW5kKChlKSA9PiBlID09PSB0aGlzLnBhZ2VTaXplKSA/P1xuICAgICAgICAgICAgICAgIHRoaXMucGFnZVNpemVPcHRpb25zIVswXX1cbiAgICAgICAgICAgICAgICBAY2hhbmdlPSR7KGU6IEV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgKHRoaXMucGFnZVNpemUgPSArKChlLnRhcmdldCBhcyBTYmJTZWxlY3RFbGVtZW50KS52YWx1ZSBhcyBzdHJpbmcpKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICR7cmVwZWF0KFxuICAgICAgICAgICAgICAgICAgdGhpcy5wYWdlU2l6ZU9wdGlvbnMhLFxuICAgICAgICAgICAgICAgICAgKGVsZW1lbnQpID0+IGh0bWxgPHNiYi1vcHRpb24gdmFsdWU9JHtlbGVtZW50fT4ke2VsZW1lbnR9PC9zYmItb3B0aW9uPmAsXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9zYmItc2VsZWN0PlxuICAgICAgICAgICAgPC9zYmItZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgYFxuICAgICAgOiBub3RoaW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVyUGFnZU51bWJlcnMoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHVsIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZXNcIj5cbiAgICAgICAgJHtyZXBlYXQoXG4gICAgICAgICAgdGhpcy5fZ2V0VmlzaWJsZVBhZ2VzSW5kZXgoKSxcbiAgICAgICAgICAoaXRlbTogbnVtYmVyIHwgJ2VsbGlwc2lzJyk6IFRlbXBsYXRlUmVzdWx0ID0+XG4gICAgICAgICAgICBpdGVtID09PSAnZWxsaXBzaXMnXG4gICAgICAgICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2UtLWVsbGlwc2lzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZS0tZWxsaXBzaXMtaXRlbVwiPuKApjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgYFxuICAgICAgICAgICAgICA6IGh0bWxgXG4gICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgID9kYXRhLXNlbGVjdGVkPSR7dGhpcy5wYWdlSW5kZXggPT09IGl0ZW19XG4gICAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2UtLW51bWJlci1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICBkYXRhLWluZGV4PSR7aXRlbX1cbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiJHtpMThuUGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfSAke2l0ZW0gKyAxfVwiXG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1jdXJyZW50PSR7dGhpcy5wYWdlSW5kZXggPT09IGl0ZW0gPyAndHJ1ZScgOiBub3RoaW5nfVxuICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpID0+ICh0aGlzLnBhZ2VJbmRleCA9IGl0ZW0pfVxuICAgICAgICAgICAgICAgICAgICAgIEBrZXl1cD0ke3RoaXMuX2hhbmRsZUtleVVwfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXItaXRlbS1sYWJlbFwiPiR7aXRlbSArIDF9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgYCxcbiAgICAgICAgKX1cbiAgICAgIDwvdWw+XG4gICAgYDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJQYWdpbmF0b3IoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1wYWdpbmF0b3JcIj5cbiAgICAgICAgJHtcbiAgICAgICAgICB0aGlzLnBhZ2VyUG9zaXRpb24gPT09ICdzdGFydCdcbiAgICAgICAgICAgID8gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3dyYXBwaW5nLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAke3RoaXMucmVuZGVyUHJldk5leHRCdXR0b25zKCl9ICR7dGhpcy5fcmVuZGVyUGFnZU51bWJlcnMoKX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgJHt0aGlzLl9yZW5kZXJJdGVtUGVyUGFnZVRlbXBsYXRlKCl9YFxuICAgICAgICAgICAgOiBodG1sYCR7dGhpcy5fcmVuZGVySXRlbVBlclBhZ2VUZW1wbGF0ZSgpfVxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fd3JhcHBpbmctZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVyUGFnZU51bWJlcnMoKX0gJHt0aGlzLnJlbmRlclByZXZOZXh0QnV0dG9ucygpfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5gXG4gICAgICAgIH08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItcGFnaW5hdG9yJzogU2JiUGFnaW5hdG9yRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXVCQSxNQUFNLDZCQUE2QjtJQU83Qix1QkFBbUIsTUFBQTs7MEJBRHhCLGNBQWMsZUFBZSxDQUFDOzs7O29CQUNHLCtCQUErQixVQUFVOzs7Ozs7O0FBQWpELEVBQUEsbUJBQVEsWUFBMEM7QUFBQTs7QUFRMUU7QUFNMEQ7QUFOMUMseUJBQUEsbUNBQUEsa0JBQUEsTUFBQSwrQkFBNEIsQ0FBQSxDQUFFO0FBTXFDLHlCQUFBLGtDQUFBLGtCQUFBLE1BQUEsa0NBQUEsR0FBQSxrQkFB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
|
|
461
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3BhZ2luYXRvci9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZXBlYXQgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZXBlYXQuanMnO1xuXG5pbXBvcnQgeyBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGkxOG5JdGVtc1BlclBhZ2UsIGkxOG5QYWdlIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiU2VsZWN0RWxlbWVudCB9IGZyb20gJy4uLy4uL3NlbGVjdC5qcyc7XG5pbXBvcnQgeyBTYmJQYWdpbmF0b3JDb21tb25FbGVtZW50TWl4aW4gfSBmcm9tICcuLi9jb21tb24uanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9wYWdpbmF0b3Iuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9mb3JtLWZpZWxkLmpzJztcbmltcG9ydCAnLi4vLi4vc2VsZWN0LmpzJztcbmltcG9ydCAnLi4vLi4vb3B0aW9uLmpzJztcbmltcG9ydCAnLi4vLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxuY29uc3QgTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQgPSAzO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgcGFnaW5hdG9yIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXBhZ2luYXRvcicpXG5jbGFzcyBTYmJQYWdpbmF0b3JFbGVtZW50IGV4dGVuZHMgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIHBhZ2U6ICdwYWdlJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogVGhlIGF2YWlsYWJsZSBgcGFnZVNpemVgIGNob2ljZXMuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3BhZ2Utc2l6ZS1vcHRpb25zJywgdHlwZTogQXJyYXkgfSlcbiAgcHVibGljIGFjY2Vzc29yIHBhZ2VTaXplT3B0aW9uczogbnVtYmVyW10gPSBbXTtcblxuICAvKipcbiAgICogUG9zaXRpb24gb2YgdGhlIHByZXYvbmV4dCBidXR0b25zOiBpZiBgcGFnZVNpemVPcHRpb25zYCBpcyBzZXQsXG4gICAqIHRoZSBzYmItc2VsZWN0IGZvciB0aGUgcGFnZVNpemUgY2hhbmdlIHdpbGwgYmUgcG9zaXRpb25lZCBvcHBvc2l0ZWx5LCB3aXRoIHRoZSBwYWdlIG51bWJlcnMgYWx3YXlzIGluIHRoZSBjZW50ZXIuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwYWdlci1wb3NpdGlvbicsIHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIG92ZXJyaWRlIGFjY2Vzc29yIHBhZ2VyUG9zaXRpb246XG4gICAgfCAnc3RhcnQnXG4gICAgfCAnZW5kJyA9ICdzdGFydCc7XG5cbiAgLyoqXG4gICAqIEFjY2Vzc2liaWxpdHkgbGFiZWwgZm9yIHRoZSBpdGVtcyBwZXIgcGFnZS4gRGVmYXVsdHMgdG8gYEl0ZW1zIHBlciBwYWdlLmAuXG4gICAqIENhbiBiZSBzZXQgZm9yIGNhc2VzIGxpa2UgYSBjYXJvdXNlbCwgd2hlcmUgYHNsaWRlYCBvciBgaW1hZ2VgIGZpdHMgYmV0dGVyLlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktaXRlbXMtcGVyLXBhZ2UtbGFiZWwnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5SXRlbXNQZXJQYWdlTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgX21hcmtGb3JGb2N1czogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIudXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAvKiogVGFiIG5hdmlnYXRpb24gY2FuIGZvcmNlIGEgcmVyZW5kZXIgd2hlbiBlbGxpcHNpcyBlbGVtZW50cyBuZWVkIHRvIGJlIGRpc3BsYXllZDsgdGhlIGZvY3VzIG11c3Qgc3RheSBvbiB0aGUgY29ycmVjdCBlbGVtZW50LiAqL1xuICAgIGlmICh0aGlzLl9tYXJrRm9yRm9jdXMgJiYgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJykge1xuICAgICAgY29uc3QgZm9jdXNFbGVtZW50ID0gdGhpcy5fZ2V0VmlzaWJsZVBhZ2VzKCkuZmluZChcbiAgICAgICAgKGUpID0+IHRoaXMucGFnZUluZGV4ID09PSArZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtaW5kZXgnKSEsXG4gICAgICApO1xuICAgICAgaWYgKGZvY3VzRWxlbWVudCkge1xuICAgICAgICAoZm9jdXNFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5mb2N1cygpO1xuICAgICAgfVxuICAgICAgLy8gUmVzZXQgbWFyayBmb3IgZm9jdXNcbiAgICAgIHRoaXMuX21hcmtGb3JGb2N1cyA9IG51bGw7XG4gICAgfVxuICB9XG4gIC8qKiBSZXR1cm5zIHRoZSBkaXNwbGF5ZWQgcGFnZSBlbGVtZW50cy4gKi9cbiAgcHJpdmF0ZSBfZ2V0VmlzaWJsZVBhZ2VzKCk6IEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yQWxsKCcuc2JiLXBhZ2luYXRvcl9fcGFnZS0tbnVtYmVyLWl0ZW0nKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlIHRoZSBwYWdlcyBzZXQgYmFzZWQgb24gdGhlIGZvbGxvd2luZyBydWxlczpcbiAgICogIC0gdGhlIGZpcnN0IHBhZ2UgbXVzdCBhbHdheXMgYmUgdmlzaWJsZTtcbiAgICogIC0gdGhlIGxhc3QgcGFnZSBtdXN0IGFsd2F5cyBiZSB2aXNpYmxlO1xuICAgKiAgLSBpZiB0aGVyZSBhcmUgbW9yZSB0aGFuIGBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRGAgb3RoZXIgcGFnZXMsIGVsbGlwc2lzIGJ1dHRvbiBtdXN0IGJlIHVzZWQuXG4gICAqL1xuICBwcml2YXRlIF9nZXRWaXNpYmxlUGFnZXNJbmRleCgpOiAobnVtYmVyIHwgJ2VsbGlwc2lzJylbXSB7XG4gICAgY29uc3QgdG90YWxQYWdlczogbnVtYmVyID0gdGhpcy5udW1iZXJPZlBhZ2VzKCk7XG4gICAgY29uc3QgY3VycmVudFBhZ2VJbmRleDogbnVtYmVyID0gdGhpcy5wYWdlSW5kZXg7XG5cbiAgICBpZiAodG90YWxQYWdlcyA8PSBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCArIDIpIHtcbiAgICAgIHJldHVybiB0aGlzLl9yYW5nZSh0b3RhbFBhZ2VzKTtcbiAgICB9IGVsc2UgaWYgKGN1cnJlbnRQYWdlSW5kZXggPCBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCkge1xuICAgICAgcmV0dXJuIFsuLi50aGlzLl9yYW5nZShNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCArIDEpLCAnZWxsaXBzaXMnLCB0b3RhbFBhZ2VzIC0gMV07XG4gICAgfSBlbHNlIGlmIChjdXJyZW50UGFnZUluZGV4ID49IHRvdGFsUGFnZXMgLSBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgMCxcbiAgICAgICAgJ2VsbGlwc2lzJyxcbiAgICAgICAgLi4udGhpcy5fcmFuZ2UoTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQgKyAxLCB0b3RhbFBhZ2VzIC0gMSAtIE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEKSxcbiAgICAgIF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIDAsXG4gICAgICAgICdlbGxpcHNpcycsXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXggLSAxLFxuICAgICAgICBjdXJyZW50UGFnZUluZGV4LFxuICAgICAgICBjdXJyZW50UGFnZUluZGV4ICsgMSxcbiAgICAgICAgJ2VsbGlwc2lzJyxcbiAgICAgICAgdG90YWxQYWdlcyAtIDEsXG4gICAgICBdO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDcmVhdGVzIGFuIGFycmF5IG9mIGNvbnNlY3V0aXZlIG51bWJlcnMgZ2l2ZW4gdGhlIGxlbmd0aCBhbmQgdGhlIHN0YXJ0aW5nIHZhbHVlLiAqL1xuICBwcml2YXRlIF9yYW5nZShsZW5ndGg6IG51bWJlciwgb2Zmc2V0OiBudW1iZXIgPSAwKTogbnVtYmVyW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoIH0sIChfLCBrKSA9PiBrICsgb2Zmc2V0KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSAhPT0gJyAnICYmIGV2ZW50LmtleSAhPT0gJ0VudGVyJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLl9nZXRWaXNpYmxlUGFnZXMoKS5maW5kKChlOiBFbGVtZW50KSA9PiBlID09PSBldmVudC50YXJnZXQpO1xuICAgIGlmIChjdXJyZW50KSB7XG4gICAgICB0aGlzLl9tYXJrRm9yRm9jdXMgPSB0aGlzLnBhZ2VJbmRleDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJJdGVtUGVyUGFnZVRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHwgdHlwZW9mIG5vdGhpbmcge1xuICAgIHJldHVybiB0aGlzLnBhZ2VTaXplT3B0aW9ucyAmJiB0aGlzLnBhZ2VTaXplT3B0aW9ucy5sZW5ndGggPiAwXG4gICAgICA/IGh0bWxgXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2Utc2l6ZS1vcHRpb25zXCI+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwic2VsZWN0XCJcbiAgICAgICAgICAgICAgPiR7dGhpcy5hY2Nlc3NpYmlsaXR5SXRlbXNQZXJQYWdlTGFiZWxcbiAgICAgICAgICAgICAgICA/IHRoaXMuYWNjZXNzaWJpbGl0eUl0ZW1zUGVyUGFnZUxhYmVsXG4gICAgICAgICAgICAgICAgOiBpMThuSXRlbXNQZXJQYWdlW3RoaXMubGFuZ3VhZ2UuY3VycmVudF19PC9sYWJlbFxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPHNiYi1mb3JtLWZpZWxkXG4gICAgICAgICAgICAgIGJvcmRlcmxlc3NcbiAgICAgICAgICAgICAgd2lkdGg9XCJjb2xsYXBzZVwiXG4gICAgICAgICAgICAgID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9XG4gICAgICAgICAgICAgIHNpemU9JHt0aGlzLnNpemV9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzYmItc2VsZWN0XG4gICAgICAgICAgICAgICAgaWQ9XCJzZWxlY3RcIlxuICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgdmFsdWU9JHt0aGlzLnBhZ2VTaXplT3B0aW9ucz8uZmluZCgoZSkgPT4gZSA9PT0gdGhpcy5wYWdlU2l6ZSkgPz9cbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2VTaXplT3B0aW9ucyFbMF19XG4gICAgICAgICAgICAgICAgQGNoYW5nZT0keyhlOiBFdmVudCkgPT5cbiAgICAgICAgICAgICAgICAgICh0aGlzLnBhZ2VTaXplID0gKygoZS50YXJnZXQgYXMgU2JiU2VsZWN0RWxlbWVudCkudmFsdWUgYXMgc3RyaW5nKSl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAke3JlcGVhdChcbiAgICAgICAgICAgICAgICAgIHRoaXMucGFnZVNpemVPcHRpb25zISxcbiAgICAgICAgICAgICAgICAgIChlbGVtZW50KSA9PiBodG1sYDxzYmItb3B0aW9uIHZhbHVlPSR7ZWxlbWVudH0+JHtlbGVtZW50fTwvc2JiLW9wdGlvbj5gLFxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvc2JiLXNlbGVjdD5cbiAgICAgICAgICAgIDwvc2JiLWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIGBcbiAgICAgIDogbm90aGluZztcbiAgfVxuXG4gIHByaXZhdGUgX3JlbmRlclBhZ2VOdW1iZXJzKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDx1bCBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2VzXCI+XG4gICAgICAgICR7cmVwZWF0KFxuICAgICAgICAgIHRoaXMuX2dldFZpc2libGVQYWdlc0luZGV4KCksXG4gICAgICAgICAgKGl0ZW06IG51bWJlciB8ICdlbGxpcHNpcycpOiBUZW1wbGF0ZVJlc3VsdCA9PlxuICAgICAgICAgICAgaXRlbSA9PT0gJ2VsbGlwc2lzJ1xuICAgICAgICAgICAgICA/IGh0bWxgXG4gICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1lbGxpcHNpc1wiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2UtLWVsbGlwc2lzLWl0ZW1cIj7igKY8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIGBcbiAgICAgICAgICAgICAgOiBodG1sYFxuICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZS0tbnVtYmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICA/ZGF0YS1zZWxlY3RlZD0ke3RoaXMucGFnZUluZGV4ID09PSBpdGVtfVxuICAgICAgICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXItaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgZGF0YS1pbmRleD0ke2l0ZW19XG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIiR7dGhpcy5hY2Nlc3NpYmlsaXR5UGFnZUxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuYWNjZXNzaWJpbGl0eVBhZ2VMYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpMThuUGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfSAke2l0ZW0gKyAxfVwiXG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1jdXJyZW50PSR7dGhpcy5wYWdlSW5kZXggPT09IGl0ZW0gPyAndHJ1ZScgOiBub3RoaW5nfVxuICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpID0+ICh0aGlzLnBhZ2VJbmRleCA9IGl0ZW0pfVxuICAgICAgICAgICAgICAgICAgICAgIEBrZXl1cD0ke3RoaXMuX2hhbmRsZUtleVVwfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXItaXRlbS1sYWJlbFwiPiR7aXRlbSArIDF9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgYCxcbiAgICAgICAgKX1cbiAgICAgIDwvdWw+XG4gICAgYDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJQYWdpbmF0b3IoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1wYWdpbmF0b3JcIj5cbiAgICAgICAgJHtcbiAgICAgICAgICB0aGlzLnBhZ2VyUG9zaXRpb24gPT09ICdzdGFydCdcbiAgICAgICAgICAgID8gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3dyYXBwaW5nLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAke3RoaXMucmVuZGVyUHJldk5leHRCdXR0b25zKCl9ICR7dGhpcy5fcmVuZGVyUGFnZU51bWJlcnMoKX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgJHt0aGlzLl9yZW5kZXJJdGVtUGVyUGFnZVRlbXBsYXRlKCl9YFxuICAgICAgICAgICAgOiBodG1sYCR7dGhpcy5fcmVuZGVySXRlbVBlclBhZ2VUZW1wbGF0ZSgpfVxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fd3JhcHBpbmctZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVyUGFnZU51bWJlcnMoKX0gJHt0aGlzLnJlbmRlclByZXZOZXh0QnV0dG9ucygpfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5gXG4gICAgICAgIH08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItcGFnaW5hdG9yJzogU2JiUGFnaW5hdG9yRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QkEsTUFBTSw2QkFBNkI7SUFPN0IsdUJBQW1CLE1BQUE7OzBCQUR4QixjQUFjLGVBQWUsQ0FBQzs7OztvQkFDRywrQkFBK0IsVUFBVTs7Ozs7Ozs7OztBQUFqRCxFQUFBLG1CQUFRLFlBQTBDO0FBQUE7O0FBUTFFO0FBTTBEO0FBVTFEO0FBaEJnQix5QkFBQSxtQ0FBQSxrQkFBQSxNQUFBLCtCQUE0QixDQUFBLENBQUU7QUFNcUMseUJBQUEsa0NBQUEsa0JBQUEsTUFBQSxrQ0FBQSxHQUFBLGtCQUFBLE1BQUEsNkJBRXZFLE9BQU87QUFRSCx5QkFBQSxtREFBQSxrQkFBQSxNQUFBLGdDQUFBLEdBQUEsa0JBQUEsTUFBQSw4Q0FBeUMsRUFBRTtBQUVuRCxXQUFBLGlCQUFhLGtCQUFBLE1BQUEsaURBQUEsR0FBa0I7QUFBQSxJQTZKekM7QUFBQTtBQUFBLElBL0tFLElBQWdCLGtCQUFlO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUEvQixJQUFnQixnQkFBZSxPQUFBO0FBQUEseUJBQUEsbUNBQUE7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FB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
|
|
@@ -11,7 +11,7 @@ import { SbbTitleBase } from "../../title.js";
|
|
|
11
11
|
import { css } from "lit";
|
|
12
12
|
const style = css`:host {
|
|
13
13
|
hyphens: auto;
|
|
14
|
-
padding-block-start: calc(0.5 * (var(--sbb-sidebar__close-button-size) -
|
|
14
|
+
padding-block-start: calc(0.5 * (var(--sbb-sidebar__close-button-size) - 1em * var(--sbb-typo-line-height-titles)));
|
|
15
15
|
min-height: var(--sbb-sidebar__close-button-size);
|
|
16
16
|
}`;
|
|
17
17
|
let SbbSidebarTitleElement = (() => {
|
|
@@ -40,14 +40,13 @@ const style = css`*,
|
|
|
40
40
|
margin-block-start: var(--sbb-spacing-responsive-m);
|
|
41
41
|
transition: height var(--sbb-tab-group-animation-duration) var(--sbb-animation-easing);
|
|
42
42
|
}
|
|
43
|
-
.tab-content ::slotted(
|
|
43
|
+
.tab-content ::slotted(sbb-tab) {
|
|
44
44
|
visibility: hidden;
|
|
45
45
|
opacity: 0;
|
|
46
46
|
height: 0;
|
|
47
47
|
overflow: hidden;
|
|
48
|
-
position: relative;
|
|
49
48
|
}
|
|
50
|
-
.tab-content ::slotted(
|
|
49
|
+
.tab-content ::slotted(sbb-tab[active]) {
|
|
51
50
|
visibility: visible;
|
|
52
51
|
opacity: 1;
|
|
53
52
|
height: fit-content;
|
|
@@ -374,4 +373,4 @@ let SbbTabGroupElement = (() => {
|
|
|
374
373
|
export {
|
|
375
374
|
SbbTabGroupElement
|
|
376
375
|
};
|
|
377
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvdGFiLWdyb3VwL3RhYi1ncm91cC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTXV0YXRpb25Db250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9tdXRhdGlvbi1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaXNBcnJvd0tleVByZXNzZWQgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IHRocm90dGxlIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGFiTGFiZWxFbGVtZW50IH0gZnJvbSAnLi4vdGFiLWxhYmVsLmpzJztcbmltcG9ydCB7IFNiYlRhYkVsZW1lbnQgfSBmcm9tICcuLi90YWIuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90YWItZ3JvdXAuc2Nzcz9saXQmaW5saW5lJztcblxuZXhwb3J0IHR5cGUgU2JiVGFiQ2hhbmdlZEV2ZW50RGV0YWlscyA9IHtcbiAgYWN0aXZlSW5kZXg6IG51bWJlcjtcbiAgYWN0aXZlVGFiTGFiZWw6IFNiYlRhYkxhYmVsRWxlbWVudDtcbiAgYWN0aXZlVGFiOiBTYmJUYWJFbGVtZW50O1xuICBwcmV2aW91c0luZGV4OiBudW1iZXI7XG4gIHByZXZpb3VzVGFiTGFiZWw6IFNiYlRhYkxhYmVsRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgcHJldmlvdXNUYWI6IFNiYlRhYkVsZW1lbnQgfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyZmFjZVNiYlRhYkdyb3VwQWN0aW9ucyB7XG4gIGFjdGl2YXRlKCk6IHZvaWQ7XG4gIGRlYWN0aXZhdGUoKTogdm9pZDtcbiAgZW5hYmxlKCk6IHZvaWQ7XG4gIGRpc2FibGUoKTogdm9pZDtcbiAgc2VsZWN0KCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWIgZXh0ZW5kcyBTYmJUYWJMYWJlbEVsZW1lbnQge1xuICBhY3RpdmU6IGJvb2xlYW47XG4gIGRpc2FibGVkOiBib29sZWFuO1xuICB0YWI/OiBTYmJUYWJFbGVtZW50O1xuICBpbmRleD86IG51bWJlcjtcbiAgdGFiR3JvdXBBY3Rpb25zPzogSW50ZXJmYWNlU2JiVGFiR3JvdXBBY3Rpb25zO1xuICBzaXplOiAncycgfCAnbCcgfCAneGwnO1xufVxuXG5jb25zdCB0YWJPYnNlcnZlckNvbmZpZzogTXV0YXRpb25PYnNlcnZlckluaXQgPSB7XG4gIGF0dHJpYnV0ZUZpbHRlcjogWydhY3RpdmUnLCAnZGlzYWJsZWQnXSxcbn07XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIG9uZSBvciBtb3JlIHRhYnMsIGVhY2ggb25lIHdpdGggYSBsYWJlbCBhbmQgYSBjb250ZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGBzYmItdGFiLWdyb3VwYCB2aWFcbiAqIGBzYmItdGFiLWxhYmVsYCBhbmQgYHNiYi10YWJgIGluc3RhbmNlcy5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXRhYi1ncm91cCcpXG5jbGFzcyBTYmJUYWJHcm91cEVsZW1lbnQgZXh0ZW5kcyBTYmJIeWRyYXRpb25NaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICB0YWJjaGFuZ2U6ICd0YWJjaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIHByaXZhdGUgX3RhYnM6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiW10gPSBbXTtcbiAgcHJpdmF0ZSBfc2VsZWN0ZWRUYWI/OiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYjtcbiAgcHJpdmF0ZSBfdGFiR3JvdXBFbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3RhYkNvbnRlbnRFbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3RhYkF0dHJpYnV0ZU9ic2VydmVyID0gbmV3IE11dGF0aW9uQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNvbmZpZzogdGFiT2JzZXJ2ZXJDb25maWcsXG4gICAgY2FsbGJhY2s6IChtdXRhdGlvbnNMaXN0KSA9PiB0aGlzLl9vblRhYkF0dHJpYnV0ZXNDaGFuZ2UobXV0YXRpb25zTGlzdCksXG4gIH0pO1xuICBwcml2YXRlIF90YWJHcm91cFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKGVudHJpZXMpID0+IHRoaXMuX29uVGFiR3JvdXBFbGVtZW50UmVzaXplKGVudHJpZXMpLFxuICB9KTtcbiAgcHJpdmF0ZSBfdGFiQ29udGVudFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKGVudHJpZXMpID0+IHRoaXMuX29uVGFiQ29udGVudEVsZW1lbnRSZXNpemUoZW50cmllcyksXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBzLCBsIG9yIHhsLlxuICAgKiBAZGVmYXVsdCAnbCcgLyAncycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IHNpemUodmFsdWU6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiWydzaXplJ10pIHtcbiAgICB0aGlzLl9zaXplID0gdmFsdWU7XG4gICAgdGhpcy5fdXBkYXRlU2l6ZSgpO1xuICB9XG4gIHB1YmxpYyBnZXQgc2l6ZSgpOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYlsnc2l6ZSddIHtcbiAgICByZXR1cm4gdGhpcy5fc2l6ZTtcbiAgfVxuICBwcml2YXRlIF9zaXplOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYlsnc2l6ZSddID0gaXNMZWFuKCkgPyAncycgOiAnbCc7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGluaXRpYWwgdGFiLiBJZiBpdCBtYXRjaGVzIGEgZGlzYWJsZWQgdGFiIG9yIGV4Y2VlZHMgdGhlIGxlbmd0aCBvZlxuICAgKiB0aGUgdGFiIGdyb3VwLCB0aGUgZmlyc3QgZW5hYmxlZCB0YWIgd2lsbCBiZSBzZWxlY3RlZC5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdpbml0aWFsLXNlbGVjdGVkLWluZGV4JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBpbml0aWFsU2VsZWN0ZWRJbmRleDogbnVtYmVyID0gMDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChlKSA9PiB0aGlzLl9oYW5kbGVLZXlEb3duKGUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHRoaXMuX3RhYnMgPSB0aGlzLl9nZXRUYWJzKCk7XG4gICAgdGhpcy5fdGFicy5mb3JFYWNoKCh0YWIpID0+IHRoaXMuX2NvbmZpZ3VyZSh0YWIpKTtcbiAgICB0aGlzLl9pbml0U2VsZWN0aW9uKCk7XG4gICAgdGhpcy5fdGFiR3JvdXBSZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX3RhYkdyb3VwRWxlbWVudCk7XG4gIH1cblxuICAvKipcbiAgICogRGlzYWJsZXMgYSB0YWIgYnkgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYiB5b3Ugd2FudCB0byBkaXNhYmxlLlxuICAgKi9cbiAgcHVibGljIGRpc2FibGVUYWIodGFiSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuX3RhYnNbdGFiSW5kZXhdPy50YWJHcm91cEFjdGlvbnM/LmRpc2FibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGVzIGEgdGFiIGJ5IGluZGV4LlxuICAgKiBAcGFyYW0gdGFiSW5kZXggVGhlIGluZGV4IG9mIHRoZSB0YWIgeW91IHdhbnQgdG8gZW5hYmxlLlxuICAgKi9cbiAgcHVibGljIGVuYWJsZVRhYih0YWJJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fdGFic1t0YWJJbmRleF0/LnRhYkdyb3VwQWN0aW9ucz8uZW5hYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogQWN0aXZhdGVzIGEgdGFiIGJ5IGluZGV4LlxuICAgKiBAcGFyYW0gdGFiSW5kZXggVGhlIGluZGV4IG9mIHRoZSB0YWIgeW91IHdhbnQgdG8gYWN0aXZhdGUuXG4gICAqL1xuICBwdWJsaWMgYWN0aXZhdGVUYWIodGFiSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuX3RhYnNbdGFiSW5kZXhdPy50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0VGFicygpOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYltdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuID8/IFtdKS5maWx0ZXIoKGNoaWxkKSA9PlxuICAgICAgL15zYmItdGFiLWxhYmVsJC91LnRlc3QoY2hpbGQubG9jYWxOYW1lKSxcbiAgICApIGFzIEludGVyZmFjZVNiYlRhYkdyb3VwVGFiW107XG4gIH1cblxuICBwcml2YXRlIF9lbmFibGVkVGFicygpOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYltdIHtcbiAgICByZXR1cm4gdGhpcy5fdGFicy5maWx0ZXIoKHQpID0+ICF0Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVTaXplKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgdGFiIG9mIHRoaXMuX3RhYnMpIHtcbiAgICAgIHRhYi5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2l6ZScsIHRoaXMuc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25Db250ZW50U2xvdENoYW5nZSA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLl90YWJDb250ZW50RWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcignZGl2LnRhYi1jb250ZW50JykhO1xuICAgIGNvbnN0IGxvYWRlZFRhYnMgPSB0aGlzLl9nZXRUYWJzKCkuZmlsdGVyKCh0YWIpID0+ICF0aGlzLl90YWJzLmluY2x1ZGVzKHRhYikpO1xuXG4gICAgLy8gaWYgYSBuZXcgdGFiL2NvbnRlbnQgaXMgYWRkZWQgdG8gdGhlIHRhYiBncm91cFxuICAgIGlmIChsb2FkZWRUYWJzLmxlbmd0aCkge1xuICAgICAgbG9hZGVkVGFicy5mb3JFYWNoKCh0YWIpID0+IHRoaXMuX2NvbmZpZ3VyZSh0YWIpKTtcbiAgICAgIHRoaXMuX3RhYnMgPSB0aGlzLl90YWJzLmNvbmNhdChsb2FkZWRUYWJzKTtcblxuICAgICAgLy8gSWYgdGhlcmUgaXMgYW4gYWN0aXZlIHRhYiBpbiB0aGUgbmV3IGJhdGNoLCBpdCBiZWNvbWVzIHRoZSBuZXcgc2VsZWN0ZWRcbiAgICAgIGxvYWRlZFRhYnMuZmluZCgodGFiKSA9PiB0YWIuYWN0aXZlKT8udGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBfb25UYWJzU2xvdENoYW5nZSA9ICgpOiB2b2lkID0+IHtcbiAgICBjb25zdCB0YWJzID0gdGhpcy5fZ2V0VGFicygpO1xuXG4gICAgLy8gaWYgYSB0YWIgaXMgcmVtb3ZlZCBmcm9tIHRoZSB0YWIgZ3JvdXBcbiAgICBpZiAodGFicy5sZW5ndGggPCB0aGlzLl90YWJzLmxlbmd0aCkge1xuICAgICAgY29uc3QgcmVtb3ZlZFRhYnMgPSB0aGlzLl90YWJzLmZpbHRlcigodGFiKSA9PiAhdGFicy5pbmNsdWRlcyh0YWIpKTtcblxuICAgICAgcmVtb3ZlZFRhYnMuZm9yRWFjaCgocmVtb3ZlZFRhYikgPT4ge1xuICAgICAgICByZW1vdmVkVGFiLnRhYj8ucmVtb3ZlKCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuX3RhYnMgPSB0YWJzO1xuICAgIH1cbiAgICB0aGlzLl90YWJzLmZvckVhY2goKHRhYjogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWIpID0+IHRhYi5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2l6ZScsIHRoaXMuc2l6ZSkpO1xuICB9O1xuXG4gIHByaXZhdGUgX2Fzc2lnbklkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBzYmItdGFiLXBhbmVsLSR7KytuZXh0SWR9YDtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5pbml0aWFsU2VsZWN0ZWRJbmRleCA+PSAwICYmXG4gICAgICB0aGlzLmluaXRpYWxTZWxlY3RlZEluZGV4IDwgdGhpcy5fdGFicy5sZW5ndGggJiZcbiAgICAgICF0aGlzLl90YWJzW3RoaXMuaW5pdGlhbFNlbGVjdGVkSW5kZXhdLmRpc2FibGVkXG4gICAgKSB7XG4gICAgICB0aGlzLl90YWJzW3RoaXMuaW5pdGlhbFNlbGVjdGVkSW5kZXhdLnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2VuYWJsZWRUYWJzKClbMF0/LnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25UYWJBdHRyaWJ1dGVzQ2hhbmdlKG11dGF0aW9uc0xpc3Q6IE11dGF0aW9uUmVjb3JkW10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IG11dGF0aW9uIG9mIG11dGF0aW9uc0xpc3QpIHtcbiAgICAgIGlmIChtdXRhdGlvbi50eXBlICE9PSAnYXR0cmlidXRlcycpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgdGFiID0gbXV0YXRpb24udGFyZ2V0IGFzIEludGVyZmFjZVNiYlRhYkdyb3VwVGFiO1xuXG4gICAgICBpZiAobXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gJ2Rpc2FibGVkJykge1xuICAgICAgICBpZiAodGFiLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSAmJiB0YWIgIT09IHRoaXMuX3NlbGVjdGVkVGFiKSB7XG4gICAgICAgICAgdGFiLnRhYkdyb3VwQWN0aW9ucz8uZGlzYWJsZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKHRhYi5kaXNhYmxlZCkge1xuICAgICAgICAgIHRhYi50YWJHcm91cEFjdGlvbnM/LmVuYWJsZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAobXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gJ2FjdGl2ZScpIHtcbiAgICAgICAgaWYgKHRhYi5oYXNBdHRyaWJ1dGUoJ2FjdGl2ZScpICYmICF0YWIuZGlzYWJsZWQpIHtcbiAgICAgICAgICB0YWIudGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0YWIgPT09IHRoaXMuX3NlbGVjdGVkVGFiKSB7XG4gICAgICAgICAgdGFiLnRvZ2dsZUF0dHJpYnV0ZSgnYWN0aXZlJywgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vblRhYkdyb3VwRWxlbWVudFJlc2l6ZShlbnRyaWVzOiBSZXNpemVPYnNlcnZlckVudHJ5W10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgIGNvbnN0IHRhYlRpdGxlcyA9IChcbiAgICAgICAgZW50cnkudGFyZ2V0LmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxTbG90RWxlbWVudFxuICAgICAgKS5hc3NpZ25lZEVsZW1lbnRzKCkgYXMgU2JiVGFiTGFiZWxFbGVtZW50W107XG5cbiAgICAgIGZvciAoY29uc3QgdGFiIG9mIHRhYlRpdGxlcykge1xuICAgICAgICB0YWIudG9nZ2xlQXR0cmlidXRlKFxuICAgICAgICAgICdkYXRhLWhhcy1kaXZpZGVyJyxcbiAgICAgICAgICB0YWIgPT09IHRhYlRpdGxlc1swXSB8fCB0YWIub2Zmc2V0TGVmdCA9PT0gdGFiVGl0bGVzWzBdLm9mZnNldExlZnQsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLXRhYi1ncm91cC13aWR0aCcsIGAke3RoaXMuX3RhYkdyb3VwRWxlbWVudC5jbGllbnRXaWR0aH1weGApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uVGFiQ29udGVudEVsZW1lbnRSZXNpemUoZW50cmllczogUmVzaXplT2JzZXJ2ZXJFbnRyeVtdKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl90YWJDb250ZW50RWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgIGNvbnN0IGNvbnRlbnRIZWlnaHQgPSBNYXRoLmZsb29yKGVudHJ5LmNvbnRlbnRSZWN0LmhlaWdodCk7XG5cbiAgICAgIHRoaXMuX3RhYkNvbnRlbnRFbGVtZW50LnN0eWxlLmhlaWdodCA9IGAke2NvbnRlbnRIZWlnaHR9cHhgO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZSh0YWJMYWJlbDogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWIpOiB2b2lkIHtcbiAgICB0YWJMYWJlbC50YWJHcm91cEFjdGlvbnMgPSB7XG4gICAgICBhY3RpdmF0ZTogKCk6IHZvaWQgPT4ge1xuICAgICAgICB0YWJMYWJlbC50b2dnbGVBdHRyaWJ1dGUoJ2FjdGl2ZScsIHRydWUpO1xuICAgICAgICB0YWJMYWJlbC5hY3RpdmUgPSB0cnVlO1xuICAgICAgICB0YWJMYWJlbC50YWJJbmRleCA9IDA7XG4gICAgICAgIHRhYkxhYmVsLnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsICd0cnVlJyk7XG4gICAgICAgIHRhYkxhYmVsLnRhYj8udG9nZ2xlQXR0cmlidXRlKCdhY3RpdmUnLCB0cnVlKTtcbiAgICAgIH0sXG4gICAgICBkZWFjdGl2YXRlOiAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRhYkxhYmVsLnJlbW92ZUF0dHJpYnV0ZSgnYWN0aXZlJyk7XG4gICAgICAgIHRhYkxhYmVsLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0YWJMYWJlbC50YWJJbmRleCA9IC0xO1xuICAgICAgICB0YWJMYWJlbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCAnZmFsc2UnKTtcbiAgICAgICAgdGFiTGFiZWwudGFiPy5yZW1vdmVBdHRyaWJ1dGUoJ2FjdGl2ZScpO1xuICAgICAgfSxcbiAgICAgIGRpc2FibGU6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKHRhYkxhYmVsLmRpc2FibGVkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGFiTGFiZWwuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKSB7XG4gICAgICAgICAgdGFiTGFiZWwudG9nZ2xlQXR0cmlidXRlKCdkaXNhYmxlZCcsIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHRhYkxhYmVsLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgdGFiTGFiZWwudGFiSW5kZXggPSAtMTtcbiAgICAgICAgdGFiTGFiZWwuc2V0QXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJywgJ2ZhbHNlJyk7XG4gICAgICAgIHRhYkxhYmVsLnRhYj8ucmVtb3ZlQXR0cmlidXRlKCdhY3RpdmUnKTtcbiAgICAgICAgaWYgKHRhYkxhYmVsLmFjdGl2ZSkge1xuICAgICAgICAgIHRhYkxhYmVsLnJlbW92ZUF0dHJpYnV0ZSgnYWN0aXZlJyk7XG4gICAgICAgICAgdGFiTGFiZWwuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5fZW5hYmxlZFRhYnMoKVswXT8udGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGVuYWJsZTogKCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAodGFiTGFiZWwuZGlzYWJsZWQpIHtcbiAgICAgICAgICB0YWJMYWJlbC5yZW1vdmVBdHRyaWJ1dGUoJ2Rpc2FibGVkJyk7XG4gICAgICAgICAgdGFiTGFiZWwuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHNlbGVjdDogKCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAodGFiTGFiZWwgIT09IHRoaXMuX3NlbGVjdGVkVGFiICYmICF0YWJMYWJlbC5kaXNhYmxlZCkge1xuICAgICAgICAgIGNvbnN0IHByZXZUYWIgPSB0aGlzLl9zZWxlY3RlZFRhYjtcblxuICAgICAgICAgIGlmIChwcmV2VGFiKSB7XG4gICAgICAgICAgICBwcmV2VGFiLnRhYkdyb3VwQWN0aW9ucz8uZGVhY3RpdmF0ZSgpO1xuICAgICAgICAgICAgdGhpcy5fdGFiQ29udGVudFJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZShwcmV2VGFiLnRhYiEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRhYkxhYmVsLnRhYkdyb3VwQWN0aW9ucz8uYWN0aXZhdGUoKTtcbiAgICAgICAgICB0aGlzLl9zZWxlY3RlZFRhYiA9IHRhYkxhYmVsO1xuXG4gICAgICAgICAgdGhpcy5fdGFiQ29udGVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGFiTGFiZWwudGFiISk7XG4gICAgICAgICAgY29uc3QgdGFicyA9IHRoaXMuX3RhYnM7XG5cbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBAdHlwZSB7Q3VzdG9tRXZlbnQ8U2JiVGFiQ2hhbmdlZEV2ZW50RGV0YWlscz59XG4gICAgICAgICAgICogVGhlIHRhYmNoYW5nZSBldmVudCBpcyBkaXNwYXRjaGVkIHdoZW4gYSB0YWIgaXMgc2VsZWN0ZWQuXG4gICAgICAgICAgICovXG4gICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50PFNiYlRhYkNoYW5nZWRFdmVudERldGFpbHM+KCd0YWJjaGFuZ2UnLCB7XG4gICAgICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAgICAgICBhY3RpdmVJbmRleDogdGFicy5maW5kSW5kZXgoKGUpID0+IGUgPT09IHRhYkxhYmVsKSxcbiAgICAgICAgICAgICAgICBhY3RpdmVUYWJMYWJlbDogdGFiTGFiZWwsXG4gICAgICAgICAgICAgICAgYWN0aXZlVGFiOiB0YWJMYWJlbC50YWIgYXMgU2JiVGFiRWxlbWVudCxcbiAgICAgICAgICAgICAgICBwcmV2aW91c0luZGV4OiB0YWJzLmZpbmRJbmRleCgoZSkgPT4gZSA9PT0gcHJldlRhYiksXG4gICAgICAgICAgICAgICAgcHJldmlvdXNUYWJMYWJlbDogcHJldlRhYixcbiAgICAgICAgICAgICAgICBwcmV2aW91c1RhYjogcHJldlRhYj8udGFiIGFzIFNiYlRhYkVsZW1lbnQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2UgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYgJiYgdGFiTGFiZWwuZGlzYWJsZWQpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oJ1lvdSBjYW5ub3QgYWN0aXZhdGUgYSBkaXNhYmxlZCB0YWInKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgaWYgKHRhYkxhYmVsLm5leHRFbGVtZW50U2libGluZz8ubG9jYWxOYW1lID09PSAnc2JiLXRhYicpIHtcbiAgICAgIHRhYkxhYmVsLnRhYiA9IHRhYkxhYmVsLm5leHRFbGVtZW50U2libGluZyBhcyBTYmJUYWJFbGVtZW50O1xuICAgICAgdGFiTGFiZWwudGFiLmlkID0gdGhpcy5fYXNzaWduSWQoKTtcbiAgICAgIGlmICh0YWJMYWJlbC50YWIgaW5zdGFuY2VvZiBTYmJUYWJFbGVtZW50KSB7XG4gICAgICAgIHRhYkxhYmVsLnRhYi50YWJJbmRleCA9IDA7XG4gICAgICAgIHRhYkxhYmVsLnRhYi5jb25maWd1cmUoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYpIHtcbiAgICAgIHRhYkxhYmVsLmluc2VydEFkamFjZW50SFRNTCgnYWZ0ZXJlbmQnLCAnPHNiYi10YWI+Tm8gY29udGVudC48L3NiYi10YWI+Jyk7XG4gICAgICB0YWJMYWJlbC50YWIgPSB0YWJMYWJlbC5uZXh0RWxlbWVudFNpYmxpbmcgYXMgU2JiVGFiRWxlbWVudDtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYE1pc3NpbmcgY29udGVudDogeW91IHNob3VsZCBwcm92aWRlIGEgcmVsYXRlZCBjb250ZW50IGZvciB0aGUgdGFiICR7dGFiTGFiZWwub3V0ZXJIVE1MfS5gLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGFiTGFiZWwudGFiSW5kZXggPSAtMTtcbiAgICB0YWJMYWJlbC5kaXNhYmxlZCA9IHRhYkxhYmVsLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICB0YWJMYWJlbC5hY3RpdmUgPSB0YWJMYWJlbC5oYXNBdHRyaWJ1dGUoJ2FjdGl2ZScpICYmICF0YWJMYWJlbC5kaXNhYmxlZDtcbiAgICB0YWJMYWJlbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCBTdHJpbmcodGFiTGFiZWwuYWN0aXZlKSk7XG4gICAgdGFiTGFiZWwuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICB0YWJMYWJlbC50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICAgIH0pO1xuICAgIGlmICh0YWJMYWJlbC50YWIpIHtcbiAgICAgIHRhYkxhYmVsLnNldEF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycsIHRhYkxhYmVsLnRhYi5pZCk7XG4gICAgICB0YWJMYWJlbC50YWIudG9nZ2xlQXR0cmlidXRlKCdhY3RpdmUnLCB0YWJMYWJlbC5hY3RpdmUpO1xuICAgIH1cblxuICAgIHRoaXMuX3RhYkF0dHJpYnV0ZU9ic2VydmVyLm9ic2VydmUodGFiTGFiZWwpO1xuICAgIHRhYkxhYmVsLnNsb3QgPSAndGFiLWJhcic7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVLZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZWRUYWJzOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYltdID0gdGhpcy5fZW5hYmxlZFRhYnMoKTtcblxuICAgIGlmIChcbiAgICAgICFlbmFibGVkVGFicyB8fFxuICAgICAgLy8gZG9uJ3QgdHJhcCBuZXN0ZWQgaGFuZGxpbmdcbiAgICAgICgoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkgIT09IHRoaXMgJiYgKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLnBhcmVudEVsZW1lbnQgIT09IHRoaXMpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzQXJyb3dLZXlQcmVzc2VkKGV2dCkpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnQ6IG51bWJlciA9IGVuYWJsZWRUYWJzLmZpbmRJbmRleCgodDogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWIpID0+IHQuYWN0aXZlKTtcbiAgICAgIGNvbnN0IG5leHRJbmRleDogbnVtYmVyID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldnQsIGN1cnJlbnQsIGVuYWJsZWRUYWJzLmxlbmd0aCk7XG4gICAgICBlbmFibGVkVGFic1tuZXh0SW5kZXhdPy50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICAgICAgZW5hYmxlZFRhYnNbbmV4dEluZGV4XT8uZm9jdXMoKTtcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInRhYi1ncm91cFwiXG4gICAgICAgIHJvbGU9XCJ0YWJsaXN0XCJcbiAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCkgPT4gKHRoaXMuX3RhYkdyb3VwRWxlbWVudCA9IGVsIGFzIEhUTUxFbGVtZW50KSl9XG4gICAgICA+XG4gICAgICAgIDxzbG90IG5hbWU9XCJ0YWItYmFyXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9vblRhYnNTbG90Q2hhbmdlfT48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInRhYi1jb250ZW50XCI+XG4gICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhyb3R0bGUodGhpcy5fb25Db250ZW50U2xvdENoYW5nZSwgMTUwKX0+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRhYi1ncm91cCc6IFNiYlRhYkdyb3VwRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTJDQSxNQUFNLG9CQUEwQztBQUFBLEVBQzlDLGlCQUFpQixDQUFDLFVBQVUsVUFBVTs7QUFHeEMsSUFBSSxTQUFTO0lBVVAsc0JBQWtCLE1BQUE7OzBCQUR2QixjQUFjLGVBQWUsQ0FBQzs7OztvQkFDRSxrQkFBa0IsVUFBVTs7Ozs7O0FBQXBDLEVBQUEsbUJBQVEsWUFBNkI7QUFBQSxJQWdENUQsY0FBQTtBQUNFLFlBQUE7QUFIRjtBQXhDUSxXQUFBLFNBTkosa0JBQUEsTUFBQSwwQkFBQSxHQU11QyxDQUFBO0FBSW5DLFdBQUEsd0JBQXdCLElBQUksbUJBQW1CLE1BQU07QUFBQSxRQUMzRCxRQUFRO0FBQUEsUUFDUixRQUFRO0FBQUEsUUFDUixVQUFVLENBQUMsa0JBQWtCLEtBQUssdUJBQXVCLGFBQWE7QUFBQSxNQUFBLENBQ3ZFO0FBQ08sV0FBQSwwQkFBMEIsSUFBSSxpQkFBaUIsTUFBTTtBQUFBLFFBQzNELFFBQVE7QUFBQSxRQUNSLGFBQWE7QUFBQSxRQUNiLFVBQVUsQ0FBQyxZQUFZLEtBQUsseUJBQXlCLE9BQU87QUFBQSxNQUFBLENBQzdEO0FBQ08sV0FBQSw0QkFBNEIsSUFBSSxpQkFBaUIsTUFBTTtBQUFBLFFBQzdELFFBQVE7QUFBQSxRQUNSLGFBQWE7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
|
|
376
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvdGFiLWdyb3VwL3RhYi1ncm91cC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTXV0YXRpb25Db250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9tdXRhdGlvbi1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaXNBcnJvd0tleVByZXNzZWQgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IHRocm90dGxlIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGFiTGFiZWxFbGVtZW50IH0gZnJvbSAnLi4vdGFiLWxhYmVsLmpzJztcbmltcG9ydCB7IFNiYlRhYkVsZW1lbnQgfSBmcm9tICcuLi90YWIuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90YWItZ3JvdXAuc2Nzcz9saXQmaW5saW5lJztcblxuZXhwb3J0IHR5cGUgU2JiVGFiQ2hhbmdlZEV2ZW50RGV0YWlscyA9IHtcbiAgYWN0aXZlSW5kZXg6IG51bWJlcjtcbiAgYWN0aXZlVGFiTGFiZWw6IFNiYlRhYkxhYmVsRWxlbWVudDtcbiAgYWN0aXZlVGFiOiBTYmJUYWJFbGVtZW50O1xuICBwcmV2aW91c0luZGV4OiBudW1iZXI7XG4gIHByZXZpb3VzVGFiTGFiZWw6IFNiYlRhYkxhYmVsRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgcHJldmlvdXNUYWI6IFNiYlRhYkVsZW1lbnQgfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyZmFjZVNiYlRhYkdyb3VwQWN0aW9ucyB7XG4gIGFjdGl2YXRlKCk6IHZvaWQ7XG4gIGRlYWN0aXZhdGUoKTogdm9pZDtcbiAgZW5hYmxlKCk6IHZvaWQ7XG4gIGRpc2FibGUoKTogdm9pZDtcbiAgc2VsZWN0KCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWIgZXh0ZW5kcyBTYmJUYWJMYWJlbEVsZW1lbnQge1xuICBhY3RpdmU6IGJvb2xlYW47XG4gIGRpc2FibGVkOiBib29sZWFuO1xuICB0YWI/OiBTYmJUYWJFbGVtZW50O1xuICBpbmRleD86IG51bWJlcjtcbiAgdGFiR3JvdXBBY3Rpb25zPzogSW50ZXJmYWNlU2JiVGFiR3JvdXBBY3Rpb25zO1xuICBzaXplOiAncycgfCAnbCcgfCAneGwnO1xufVxuXG5jb25zdCB0YWJPYnNlcnZlckNvbmZpZzogTXV0YXRpb25PYnNlcnZlckluaXQgPSB7XG4gIGF0dHJpYnV0ZUZpbHRlcjogWydhY3RpdmUnLCAnZGlzYWJsZWQnXSxcbn07XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIG9uZSBvciBtb3JlIHRhYnMsIGVhY2ggb25lIHdpdGggYSBsYWJlbCBhbmQgYSBjb250ZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGBzYmItdGFiLWdyb3VwYCB2aWFcbiAqIGBzYmItdGFiLWxhYmVsYCBhbmQgYHNiYi10YWJgIGluc3RhbmNlcy5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXRhYi1ncm91cCcpXG5jbGFzcyBTYmJUYWJHcm91cEVsZW1lbnQgZXh0ZW5kcyBTYmJIeWRyYXRpb25NaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICB0YWJjaGFuZ2U6ICd0YWJjaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIHByaXZhdGUgX3RhYnM6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiW10gPSBbXTtcbiAgcHJpdmF0ZSBfc2VsZWN0ZWRUYWI/OiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYjtcbiAgcHJpdmF0ZSBfdGFiR3JvdXBFbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3RhYkNvbnRlbnRFbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3RhYkF0dHJpYnV0ZU9ic2VydmVyID0gbmV3IE11dGF0aW9uQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNvbmZpZzogdGFiT2JzZXJ2ZXJDb25maWcsXG4gICAgY2FsbGJhY2s6IChtdXRhdGlvbnNMaXN0KSA9PiB0aGlzLl9vblRhYkF0dHJpYnV0ZXNDaGFuZ2UobXV0YXRpb25zTGlzdCksXG4gIH0pO1xuICBwcml2YXRlIF90YWJHcm91cFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKGVudHJpZXMpID0+IHRoaXMuX29uVGFiR3JvdXBFbGVtZW50UmVzaXplKGVudHJpZXMpLFxuICB9KTtcbiAgcHJpdmF0ZSBfdGFiQ29udGVudFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKGVudHJpZXMpID0+IHRoaXMuX29uVGFiQ29udGVudEVsZW1lbnRSZXNpemUoZW50cmllcyksXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBzLCBsIG9yIHhsLlxuICAgKiBAZGVmYXVsdCAnbCcgLyAncycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IHNpemUodmFsdWU6IEludGVyZmFjZVNiYlRhYkdyb3VwVGFiWydzaXplJ10pIHtcbiAgICB0aGlzLl9zaXplID0gdmFsdWU7XG4gICAgdGhpcy5fdXBkYXRlU2l6ZSgpO1xuICB9XG4gIHB1YmxpYyBnZXQgc2l6ZSgpOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYlsnc2l6ZSddIHtcbiAgICByZXR1cm4gdGhpcy5fc2l6ZTtcbiAgfVxuICBwcml2YXRlIF9zaXplOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYlsnc2l6ZSddID0gaXNMZWFuKCkgPyAncycgOiAnbCc7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGluaXRpYWwgdGFiLiBJZiBpdCBtYXRjaGVzIGEgZGlzYWJsZWQgdGFiIG9yIGV4Y2VlZHMgdGhlIGxlbmd0aCBvZlxuICAgKiB0aGUgdGFiIGdyb3VwLCB0aGUgZmlyc3QgZW5hYmxlZCB0YWIgd2lsbCBiZSBzZWxlY3RlZC5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdpbml0aWFsLXNlbGVjdGVkLWluZGV4JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBpbml0aWFsU2VsZWN0ZWRJbmRleDogbnVtYmVyID0gMDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChlKSA9PiB0aGlzLl9oYW5kbGVLZXlEb3duKGUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHRoaXMuX3RhYnMgPSB0aGlzLl9nZXRUYWJzKCk7XG4gICAgdGhpcy5fdGFicy5mb3JFYWNoKCh0YWIpID0+IHRoaXMuX2NvbmZpZ3VyZSh0YWIpKTtcbiAgICB0aGlzLl9pbml0U2VsZWN0aW9uKCk7XG4gICAgdGhpcy5fdGFiR3JvdXBSZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX3RhYkdyb3VwRWxlbWVudCk7XG4gIH1cblxuICAvKipcbiAgICogRGlzYWJsZXMgYSB0YWIgYnkgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYiB5b3Ugd2FudCB0byBkaXNhYmxlLlxuICAgKi9cbiAgcHVibGljIGRpc2FibGVUYWIodGFiSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuX3RhYnNbdGFiSW5kZXhdPy50YWJHcm91cEFjdGlvbnM/LmRpc2FibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGVzIGEgdGFiIGJ5IGluZGV4LlxuICAgKiBAcGFyYW0gdGFiSW5kZXggVGhlIGluZGV4IG9mIHRoZSB0YWIgeW91IHdhbnQgdG8gZW5hYmxlLlxuICAgKi9cbiAgcHVibGljIGVuYWJsZVRhYih0YWJJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fdGFic1t0YWJJbmRleF0/LnRhYkdyb3VwQWN0aW9ucz8uZW5hYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogQWN0aXZhdGVzIGEgdGFiIGJ5IGluZGV4LlxuICAgKiBAcGFyYW0gdGFiSW5kZXggVGhlIGluZGV4IG9mIHRoZSB0YWIgeW91IHdhbnQgdG8gYWN0aXZhdGUuXG4gICAqL1xuICBwdWJsaWMgYWN0aXZhdGVUYWIodGFiSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuX3RhYnNbdGFiSW5kZXhdPy50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0VGFicygpOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYltdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuID8/IFtdKS5maWx0ZXIoKGNoaWxkKSA9PlxuICAgICAgL15zYmItdGFiLWxhYmVsJC91LnRlc3QoY2hpbGQubG9jYWxOYW1lKSxcbiAgICApIGFzIEludGVyZmFjZVNiYlRhYkdyb3VwVGFiW107XG4gIH1cblxuICBwcml2YXRlIF9lbmFibGVkVGFicygpOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYltdIHtcbiAgICByZXR1cm4gdGhpcy5fdGFicy5maWx0ZXIoKHQpID0+ICF0Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVTaXplKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgdGFiIG9mIHRoaXMuX3RhYnMpIHtcbiAgICAgIHRhYi5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2l6ZScsIHRoaXMuc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25Db250ZW50U2xvdENoYW5nZSA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLl90YWJDb250ZW50RWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcignZGl2LnRhYi1jb250ZW50JykhO1xuICAgIGNvbnN0IGxvYWRlZFRhYnMgPSB0aGlzLl9nZXRUYWJzKCkuZmlsdGVyKCh0YWIpID0+ICF0aGlzLl90YWJzLmluY2x1ZGVzKHRhYikpO1xuXG4gICAgLy8gaWYgYSBuZXcgdGFiL2NvbnRlbnQgaXMgYWRkZWQgdG8gdGhlIHRhYiBncm91cFxuICAgIGlmIChsb2FkZWRUYWJzLmxlbmd0aCkge1xuICAgICAgbG9hZGVkVGFicy5mb3JFYWNoKCh0YWIpID0+IHRoaXMuX2NvbmZpZ3VyZSh0YWIpKTtcbiAgICAgIHRoaXMuX3RhYnMgPSB0aGlzLl90YWJzLmNvbmNhdChsb2FkZWRUYWJzKTtcblxuICAgICAgLy8gSWYgdGhlcmUgaXMgYW4gYWN0aXZlIHRhYiBpbiB0aGUgbmV3IGJhdGNoLCBpdCBiZWNvbWVzIHRoZSBuZXcgc2VsZWN0ZWRcbiAgICAgIGxvYWRlZFRhYnMuZmluZCgodGFiKSA9PiB0YWIuYWN0aXZlKT8udGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBfb25UYWJzU2xvdENoYW5nZSA9ICgpOiB2b2lkID0+IHtcbiAgICBjb25zdCB0YWJzID0gdGhpcy5fZ2V0VGFicygpO1xuXG4gICAgLy8gaWYgYSB0YWIgaXMgcmVtb3ZlZCBmcm9tIHRoZSB0YWIgZ3JvdXBcbiAgICBpZiAodGFicy5sZW5ndGggPCB0aGlzLl90YWJzLmxlbmd0aCkge1xuICAgICAgY29uc3QgcmVtb3ZlZFRhYnMgPSB0aGlzLl90YWJzLmZpbHRlcigodGFiKSA9PiAhdGFicy5pbmNsdWRlcyh0YWIpKTtcblxuICAgICAgcmVtb3ZlZFRhYnMuZm9yRWFjaCgocmVtb3ZlZFRhYikgPT4ge1xuICAgICAgICByZW1vdmVkVGFiLnRhYj8ucmVtb3ZlKCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuX3RhYnMgPSB0YWJzO1xuICAgIH1cbiAgICB0aGlzLl90YWJzLmZvckVhY2goKHRhYjogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWIpID0+IHRhYi5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2l6ZScsIHRoaXMuc2l6ZSkpO1xuICB9O1xuXG4gIHByaXZhdGUgX2Fzc2lnbklkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBzYmItdGFiLXBhbmVsLSR7KytuZXh0SWR9YDtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5pbml0aWFsU2VsZWN0ZWRJbmRleCA+PSAwICYmXG4gICAgICB0aGlzLmluaXRpYWxTZWxlY3RlZEluZGV4IDwgdGhpcy5fdGFicy5sZW5ndGggJiZcbiAgICAgICF0aGlzLl90YWJzW3RoaXMuaW5pdGlhbFNlbGVjdGVkSW5kZXhdLmRpc2FibGVkXG4gICAgKSB7XG4gICAgICB0aGlzLl90YWJzW3RoaXMuaW5pdGlhbFNlbGVjdGVkSW5kZXhdLnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2VuYWJsZWRUYWJzKClbMF0/LnRhYkdyb3VwQWN0aW9ucz8uc2VsZWN0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25UYWJBdHRyaWJ1dGVzQ2hhbmdlKG11dGF0aW9uc0xpc3Q6IE11dGF0aW9uUmVjb3JkW10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IG11dGF0aW9uIG9mIG11dGF0aW9uc0xpc3QpIHtcbiAgICAgIGlmIChtdXRhdGlvbi50eXBlICE9PSAnYXR0cmlidXRlcycpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgdGFiID0gbXV0YXRpb24udGFyZ2V0IGFzIEludGVyZmFjZVNiYlRhYkdyb3VwVGFiO1xuXG4gICAgICBpZiAobXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gJ2Rpc2FibGVkJykge1xuICAgICAgICBpZiAodGFiLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSAmJiB0YWIgIT09IHRoaXMuX3NlbGVjdGVkVGFiKSB7XG4gICAgICAgICAgdGFiLnRhYkdyb3VwQWN0aW9ucz8uZGlzYWJsZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKHRhYi5kaXNhYmxlZCkge1xuICAgICAgICAgIHRhYi50YWJHcm91cEFjdGlvbnM/LmVuYWJsZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAobXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gJ2FjdGl2ZScpIHtcbiAgICAgICAgaWYgKHRhYi5oYXNBdHRyaWJ1dGUoJ2FjdGl2ZScpICYmICF0YWIuZGlzYWJsZWQpIHtcbiAgICAgICAgICB0YWIudGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0YWIgPT09IHRoaXMuX3NlbGVjdGVkVGFiKSB7XG4gICAgICAgICAgdGFiLnRvZ2dsZUF0dHJpYnV0ZSgnYWN0aXZlJywgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vblRhYkdyb3VwRWxlbWVudFJlc2l6ZShlbnRyaWVzOiBSZXNpemVPYnNlcnZlckVudHJ5W10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgIGNvbnN0IHRhYlRpdGxlcyA9IChcbiAgICAgICAgZW50cnkudGFyZ2V0LmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxTbG90RWxlbWVudFxuICAgICAgKS5hc3NpZ25lZEVsZW1lbnRzKCkgYXMgU2JiVGFiTGFiZWxFbGVtZW50W107XG5cbiAgICAgIGZvciAoY29uc3QgdGFiIG9mIHRhYlRpdGxlcykge1xuICAgICAgICB0YWIudG9nZ2xlQXR0cmlidXRlKFxuICAgICAgICAgICdkYXRhLWhhcy1kaXZpZGVyJyxcbiAgICAgICAgICB0YWIgPT09IHRhYlRpdGxlc1swXSB8fCB0YWIub2Zmc2V0TGVmdCA9PT0gdGFiVGl0bGVzWzBdLm9mZnNldExlZnQsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLXRhYi1ncm91cC13aWR0aCcsIGAke3RoaXMuX3RhYkdyb3VwRWxlbWVudC5jbGllbnRXaWR0aH1weGApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uVGFiQ29udGVudEVsZW1lbnRSZXNpemUoZW50cmllczogUmVzaXplT2JzZXJ2ZXJFbnRyeVtdKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl90YWJDb250ZW50RWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgIGNvbnN0IGNvbnRlbnRIZWlnaHQgPSBNYXRoLmZsb29yKGVudHJ5LmNvbnRlbnRSZWN0LmhlaWdodCk7XG5cbiAgICAgIHRoaXMuX3RhYkNvbnRlbnRFbGVtZW50LnN0eWxlLmhlaWdodCA9IGAke2NvbnRlbnRIZWlnaHR9cHhgO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZSh0YWJMYWJlbDogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWIpOiB2b2lkIHtcbiAgICB0YWJMYWJlbC50YWJHcm91cEFjdGlvbnMgPSB7XG4gICAgICBhY3RpdmF0ZTogKCk6IHZvaWQgPT4ge1xuICAgICAgICB0YWJMYWJlbC50b2dnbGVBdHRyaWJ1dGUoJ2FjdGl2ZScsIHRydWUpO1xuICAgICAgICB0YWJMYWJlbC5hY3RpdmUgPSB0cnVlO1xuICAgICAgICB0YWJMYWJlbC50YWJJbmRleCA9IDA7XG4gICAgICAgIHRhYkxhYmVsLnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsICd0cnVlJyk7XG4gICAgICAgIHRhYkxhYmVsLnRhYj8udG9nZ2xlQXR0cmlidXRlKCdhY3RpdmUnLCB0cnVlKTtcbiAgICAgIH0sXG4gICAgICBkZWFjdGl2YXRlOiAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRhYkxhYmVsLnJlbW92ZUF0dHJpYnV0ZSgnYWN0aXZlJyk7XG4gICAgICAgIHRhYkxhYmVsLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0YWJMYWJlbC50YWJJbmRleCA9IC0xO1xuICAgICAgICB0YWJMYWJlbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCAnZmFsc2UnKTtcbiAgICAgICAgdGFiTGFiZWwudGFiPy5yZW1vdmVBdHRyaWJ1dGUoJ2FjdGl2ZScpO1xuICAgICAgfSxcbiAgICAgIGRpc2FibGU6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKHRhYkxhYmVsLmRpc2FibGVkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGFiTGFiZWwuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKSB7XG4gICAgICAgICAgdGFiTGFiZWwudG9nZ2xlQXR0cmlidXRlKCdkaXNhYmxlZCcsIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHRhYkxhYmVsLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgdGFiTGFiZWwudGFiSW5kZXggPSAtMTtcbiAgICAgICAgdGFiTGFiZWwuc2V0QXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJywgJ2ZhbHNlJyk7XG4gICAgICAgIHRhYkxhYmVsLnRhYj8ucmVtb3ZlQXR0cmlidXRlKCdhY3RpdmUnKTtcbiAgICAgICAgaWYgKHRhYkxhYmVsLmFjdGl2ZSkge1xuICAgICAgICAgIHRhYkxhYmVsLnJlbW92ZUF0dHJpYnV0ZSgnYWN0aXZlJyk7XG4gICAgICAgICAgdGFiTGFiZWwuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5fZW5hYmxlZFRhYnMoKVswXT8udGFiR3JvdXBBY3Rpb25zPy5zZWxlY3QoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGVuYWJsZTogKCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAodGFiTGFiZWwuZGlzYWJsZWQpIHtcbiAgICAgICAgICB0YWJMYWJlbC5yZW1vdmVBdHRyaWJ1dGUoJ2Rpc2FibGVkJyk7XG4gICAgICAgICAgdGFiTGFiZWwuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHNlbGVjdDogKCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAodGFiTGFiZWwgIT09IHRoaXMuX3NlbGVjdGVkVGFiICYmICF0YWJMYWJlbC5kaXNhYmxlZCkge1xuICAgICAgICAgIGNvbnN0IHByZXZUYWIgPSB0aGlzLl9zZWxlY3RlZFRhYjtcblxuICAgICAgICAgIGlmIChwcmV2VGFiKSB7XG4gICAgICAgICAgICBwcmV2VGFiLnRhYkdyb3VwQWN0aW9ucz8uZGVhY3RpdmF0ZSgpO1xuICAgICAgICAgICAgdGhpcy5fdGFiQ29udGVudFJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZShwcmV2VGFiLnRhYiEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRhYkxhYmVsLnRhYkdyb3VwQWN0aW9ucz8uYWN0aXZhdGUoKTtcbiAgICAgICAgICB0aGlzLl9zZWxlY3RlZFRhYiA9IHRhYkxhYmVsO1xuXG4gICAgICAgICAgdGhpcy5fdGFiQ29udGVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGFiTGFiZWwudGFiISk7XG4gICAgICAgICAgY29uc3QgdGFicyA9IHRoaXMuX3RhYnM7XG5cbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBAdHlwZSB7Q3VzdG9tRXZlbnQ8U2JiVGFiQ2hhbmdlZEV2ZW50RGV0YWlscz59XG4gICAgICAgICAgICogVGhlIHRhYmNoYW5nZSBldmVudCBpcyBkaXNwYXRjaGVkIHdoZW4gYSB0YWIgaXMgc2VsZWN0ZWQuXG4gICAgICAgICAgICovXG4gICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50PFNiYlRhYkNoYW5nZWRFdmVudERldGFpbHM+KCd0YWJjaGFuZ2UnLCB7XG4gICAgICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAgICAgICBhY3RpdmVJbmRleDogdGFicy5maW5kSW5kZXgoKGUpID0+IGUgPT09IHRhYkxhYmVsKSxcbiAgICAgICAgICAgICAgICBhY3RpdmVUYWJMYWJlbDogdGFiTGFiZWwsXG4gICAgICAgICAgICAgICAgYWN0aXZlVGFiOiB0YWJMYWJlbC50YWIgYXMgU2JiVGFiRWxlbWVudCxcbiAgICAgICAgICAgICAgICBwcmV2aW91c0luZGV4OiB0YWJzLmZpbmRJbmRleCgoZSkgPT4gZSA9PT0gcHJldlRhYiksXG4gICAgICAgICAgICAgICAgcHJldmlvdXNUYWJMYWJlbDogcHJldlRhYixcbiAgICAgICAgICAgICAgICBwcmV2aW91c1RhYjogcHJldlRhYj8udGFiIGFzIFNiYlRhYkVsZW1lbnQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2UgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYgJiYgdGFiTGFiZWwuZGlzYWJsZWQpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oJ1lvdSBjYW5ub3QgYWN0aXZhdGUgYSBkaXNhYmxlZCB0YWInKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgaWYgKHRhYkxhYmVsLm5leHRFbGVtZW50U2libGluZz8ubG9jYWxOYW1lID09PSAnc2JiLXRhYicpIHtcbiAgICAgIHRhYkxhYmVsLnRhYiA9IHRhYkxhYmVsLm5leHRFbGVtZW50U2libGluZyBhcyBTYmJUYWJFbGVtZW50O1xuICAgICAgdGFiTGFiZWwudGFiLmlkID0gdGhpcy5fYXNzaWduSWQoKTtcbiAgICAgIGlmICh0YWJMYWJlbC50YWIgaW5zdGFuY2VvZiBTYmJUYWJFbGVtZW50KSB7XG4gICAgICAgIHRhYkxhYmVsLnRhYi50YWJJbmRleCA9IDA7XG4gICAgICAgIHRhYkxhYmVsLnRhYi5jb25maWd1cmUoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYpIHtcbiAgICAgIHRhYkxhYmVsLmluc2VydEFkamFjZW50SFRNTCgnYWZ0ZXJlbmQnLCAnPHNiYi10YWI+Tm8gY29udGVudC48L3NiYi10YWI+Jyk7XG4gICAgICB0YWJMYWJlbC50YWIgPSB0YWJMYWJlbC5uZXh0RWxlbWVudFNpYmxpbmcgYXMgU2JiVGFiRWxlbWVudDtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYE1pc3NpbmcgY29udGVudDogeW91IHNob3VsZCBwcm92aWRlIGEgcmVsYXRlZCBjb250ZW50IGZvciB0aGUgdGFiICR7dGFiTGFiZWwub3V0ZXJIVE1MfS5gLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGFiTGFiZWwudGFiSW5kZXggPSAtMTtcbiAgICB0YWJMYWJlbC5kaXNhYmxlZCA9IHRhYkxhYmVsLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICB0YWJMYWJlbC5hY3RpdmUgPSB0YWJMYWJlbC5oYXNBdHRyaWJ1dGUoJ2FjdGl2ZScpICYmICF0YWJMYWJlbC5kaXNhYmxlZDtcbiAgICB0YWJMYWJlbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCBTdHJpbmcodGFiTGFiZWwuYWN0aXZlKSk7XG4gICAgdGFiTGFiZWwuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICB0YWJMYWJlbC50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICAgIH0pO1xuICAgIGlmICh0YWJMYWJlbC50YWIpIHtcbiAgICAgIHRhYkxhYmVsLnNldEF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycsIHRhYkxhYmVsLnRhYi5pZCk7XG4gICAgICB0YWJMYWJlbC50YWIudG9nZ2xlQXR0cmlidXRlKCdhY3RpdmUnLCB0YWJMYWJlbC5hY3RpdmUpO1xuICAgIH1cblxuICAgIHRoaXMuX3RhYkF0dHJpYnV0ZU9ic2VydmVyLm9ic2VydmUodGFiTGFiZWwpO1xuICAgIHRhYkxhYmVsLnNsb3QgPSAndGFiLWJhcic7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVLZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZWRUYWJzOiBJbnRlcmZhY2VTYmJUYWJHcm91cFRhYltdID0gdGhpcy5fZW5hYmxlZFRhYnMoKTtcblxuICAgIGlmIChcbiAgICAgICFlbmFibGVkVGFicyB8fFxuICAgICAgLy8gZG9uJ3QgdHJhcCBuZXN0ZWQgaGFuZGxpbmdcbiAgICAgICgoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkgIT09IHRoaXMgJiYgKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLnBhcmVudEVsZW1lbnQgIT09IHRoaXMpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzQXJyb3dLZXlQcmVzc2VkKGV2dCkpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnQ6IG51bWJlciA9IGVuYWJsZWRUYWJzLmZpbmRJbmRleCgodDogSW50ZXJmYWNlU2JiVGFiR3JvdXBUYWIpID0+IHQuYWN0aXZlKTtcbiAgICAgIGNvbnN0IG5leHRJbmRleDogbnVtYmVyID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldnQsIGN1cnJlbnQsIGVuYWJsZWRUYWJzLmxlbmd0aCk7XG4gICAgICBlbmFibGVkVGFic1tuZXh0SW5kZXhdPy50YWJHcm91cEFjdGlvbnM/LnNlbGVjdCgpO1xuICAgICAgZW5hYmxlZFRhYnNbbmV4dEluZGV4XT8uZm9jdXMoKTtcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInRhYi1ncm91cFwiXG4gICAgICAgIHJvbGU9XCJ0YWJsaXN0XCJcbiAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCkgPT4gKHRoaXMuX3RhYkdyb3VwRWxlbWVudCA9IGVsIGFzIEhUTUxFbGVtZW50KSl9XG4gICAgICA+XG4gICAgICAgIDxzbG90IG5hbWU9XCJ0YWItYmFyXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9vblRhYnNTbG90Q2hhbmdlfT48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInRhYi1jb250ZW50XCI+XG4gICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhyb3R0bGUodGhpcy5fb25Db250ZW50U2xvdENoYW5nZSwgMTUwKX0+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRhYi1ncm91cCc6IFNiYlRhYkdyb3VwRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMkNBLE1BQU0sb0JBQTBDO0FBQUEsRUFDOUMsaUJBQWlCLENBQUMsVUFBVSxVQUFVOztBQUd4QyxJQUFJLFNBQVM7SUFVUCxzQkFBa0IsTUFBQTs7MEJBRHZCLGNBQWMsZUFBZSxDQUFDOzs7O29CQUNFLGtCQUFrQixVQUFVOzs7Ozs7QUFBcEMsRUFBQSxtQkFBUSxZQUE2QjtBQUFBLElBZ0Q1RCxjQUFBO0FBQ0UsWUFBQTtBQUhGO0FBeENRLFdBQUEsU0FOSixrQkFBQSxNQUFBLDBCQUFBLEdBTXVDLENBQUE7QUFJbkMsV0FBQSx3QkFBd0IsSUFBSSxtQkFBbUIsTUFBTTtBQUFBLFFBQzNELFFBQVE7QUFBQSxRQUNSLFFBQVE7QUFBQSxRQUNSLFVBQVUsQ0FBQyxrQkFBa0IsS0FBSyx1QkFBdUIsYUFBYTtBQUFBLE1BQUEsQ0FDdkU7QUFDTyxXQUFBLDBCQUEwQixJQUFJLGlCQUFpQixNQUFNO0FBQUEsUUFDM0QsUUFBUTtBQUFBLFFBQ1IsYUFBYTtBQUFBLFFBQ2IsVUFBVSxDQUFDLFlBQVksS0FBSyx5QkFBeUIsT0FBTztBQUFBLE1BQUEsQ0FDN0Q7QUFDTyxXQUFBLDRCQUE0QixJQUFJLGlCQUFpQixNQUFNO0FBQUEsUUFDN0QsUUFBUTtBQUFBLFFBQ1IsYUFBYTtB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
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { CSSResultGroup, LitElement } from 'lit';
|
|
2
|
-
import { SbbFormFieldElementControl } from '../form-field.js';
|
|
3
2
|
declare const SbbTimeInputElement_base: import('../core/mixins.js').AbstractConstructor<import('../core/mixins.js').SbbFormAssociatedInputMixinType> & typeof LitElement;
|
|
4
3
|
/**
|
|
5
4
|
* Custom input for a time.
|
|
6
5
|
*/
|
|
7
|
-
export declare class SbbTimeInputElement extends SbbTimeInputElement_base
|
|
6
|
+
export declare class SbbTimeInputElement extends SbbTimeInputElement_base {
|
|
8
7
|
static styles: CSSResultGroup;
|
|
9
8
|
/**
|
|
10
9
|
* The value of the time input. Reflects the current text value
|
|
@@ -16,7 +15,10 @@ export declare class SbbTimeInputElement extends SbbTimeInputElement_base implem
|
|
|
16
15
|
set valueAsDate(date: Date | null);
|
|
17
16
|
get valueAsDate(): Date | null;
|
|
18
17
|
private _valueAsTime?;
|
|
19
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* Whether the input is empty.
|
|
20
|
+
* @deprecated
|
|
21
|
+
*/
|
|
20
22
|
get empty(): boolean;
|
|
21
23
|
/**
|
|
22
24
|
* Stores the last string and parsed date object value to prevent repeated
|
|
@@ -42,7 +44,6 @@ export declare class SbbTimeInputElement extends SbbTimeInputElement_base implem
|
|
|
42
44
|
/** Only allow typing numbers and separator keys. */
|
|
43
45
|
private _preventCharInsert;
|
|
44
46
|
private _hasSelection;
|
|
45
|
-
private _dispatchFormFieldChange;
|
|
46
47
|
}
|
|
47
48
|
declare global {
|
|
48
49
|
interface HTMLElementTagNameMap {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-input.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/time-input/time-input.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAY,UAAU,EAAE,MAAM,KAAK,CAAC
|
|
1
|
+
{"version":3,"file":"time-input.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/time-input/time-input.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAY,UAAU,EAAE,MAAM,KAAK,CAAC;;AAyBhE;;GAEG;AACH,qBAEM,mBAAoB,SAAQ,wBAAuC;IACvE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD;;;OAGG;IACH,IAAoB,KAAK,CAAC,KAAK,EAAE,MAAM,EAYtC;IACD,IAAoB,KAAK,IAAI,MAAM,CAElC;IAED,iDAAiD;IACjD,IACW,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAcvC;IACD,IAAW,WAAW,IAAI,IAAI,GAAG,IAAI,CASpC;IACD,OAAO,CAAC,YAAY,CAAC,CAAc;IAEnC;;;OAGG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED;;;OAGG;IACH,OAAO,CAAC,WAAW,CAAC,CAAwB;IAE5C,OAAO,CAAC,SAAS,CAAmC;;IAWpC,iBAAiB,IAAI,IAAI;IAMzB,oBAAoB,IAAI,IAAI;cAIzB,eAAe,IAAI,IAAI;IAM1C,OAAO,CAAC,cAAc;IAOtB,kDAAkD;IAClD,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,WAAW;cAUA,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;cAMvC,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO;cAOtD,QAAQ,IAAI,IAAI;IAanC,OAAO,CAAC,qBAAqB;IAI7B,uFAAuF;IACvF,OAAO,CAAC,YAAY;IAIpB,qDAAqD;IACrD,OAAO,CAAC,kBAAkB;IAgC1B,OAAO,CAAC,aAAa;CAItB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF"}
|
|
@@ -5,7 +5,6 @@ import { sbbLiveAnnouncer } from "../core/a11y.js";
|
|
|
5
5
|
import { SbbLanguageController } from "../core/controllers.js";
|
|
6
6
|
import { i18nTimeInputChange, i18nTimeInvalid, i18nTimeMax, i18nTimeMaxLength } from "../core/i18n.js";
|
|
7
7
|
import { SbbFormAssociatedInputMixin } from "../core/mixins.js";
|
|
8
|
-
import { SbbFormFieldControlEvent } from "../form-field.js";
|
|
9
8
|
const style = css`*,
|
|
10
9
|
::before,
|
|
11
10
|
::after {
|
|
@@ -69,7 +68,6 @@ let SbbTimeInputElement = (() => {
|
|
|
69
68
|
value = this._formatTime();
|
|
70
69
|
}
|
|
71
70
|
super.value = value;
|
|
72
|
-
this._dispatchFormFieldChange();
|
|
73
71
|
}
|
|
74
72
|
get value() {
|
|
75
73
|
return super.value ?? "";
|
|
@@ -100,7 +98,10 @@ let SbbTimeInputElement = (() => {
|
|
|
100
98
|
return null;
|
|
101
99
|
}
|
|
102
100
|
}
|
|
103
|
-
/**
|
|
101
|
+
/**
|
|
102
|
+
* Whether the input is empty.
|
|
103
|
+
* @deprecated
|
|
104
|
+
*/
|
|
104
105
|
get empty() {
|
|
105
106
|
return !this.value || this.value.trim() === "";
|
|
106
107
|
}
|
|
@@ -116,7 +117,6 @@ let SbbTimeInputElement = (() => {
|
|
|
116
117
|
super.connectedCallback();
|
|
117
118
|
this.inputMode ||= "numeric";
|
|
118
119
|
this.placeholder ||= "HH:MM";
|
|
119
|
-
this._dispatchFormFieldChange();
|
|
120
120
|
}
|
|
121
121
|
disconnectedCallback() {
|
|
122
122
|
super.disconnectedCallback();
|
|
@@ -214,9 +214,6 @@ let SbbTimeInputElement = (() => {
|
|
|
214
214
|
const range = window.getSelection()?.getRangeAt(0);
|
|
215
215
|
return !!range && range.startOffset !== range.endOffset;
|
|
216
216
|
}
|
|
217
|
-
_dispatchFormFieldChange() {
|
|
218
|
-
this.closest?.("sbb-form-field")?.dispatchEvent(new SbbFormFieldControlEvent(this));
|
|
219
|
-
}
|
|
220
217
|
}, _classThis = _a, (() => {
|
|
221
218
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
222
219
|
_set_valueAsDate_decorators = [property({ attribute: false })];
|
|
@@ -232,4 +229,4 @@ let SbbTimeInputElement = (() => {
|
|
|
232
229
|
export {
|
|
233
230
|
SbbTimeInputElement
|
|
234
231
|
};
|
|
235
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy90aW1lLWlucHV0L3RpbWUtaW5wdXQuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGlzU2VydmVyLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBzYmJMaXZlQW5ub3VuY2VyIH0gZnJvbSAnLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHtcbiAgaTE4blRpbWVJbnB1dENoYW5nZSxcbiAgaTE4blRpbWVJbnZhbGlkLFxuICBpMThuVGltZU1heCxcbiAgaTE4blRpbWVNYXhMZW5ndGgsXG59IGZyb20gJy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBTYmJGb3JtQXNzb2NpYXRlZElucHV0TWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBTYmJGb3JtRmllbGRDb250cm9sRXZlbnQsIHR5cGUgU2JiRm9ybUZpZWxkRWxlbWVudENvbnRyb2wgfSBmcm9tICcuLi9mb3JtLWZpZWxkLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdGltZS1pbnB1dC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5jb25zdCBSRUdFWF9BTExPV0VEX0NIQVJBQ1RFUlMgPSAvWzAtOS46LFxcLTtfaEhdLztcbmNvbnN0IFJFR0VYX0RJU0FMTE9XRURfQ0hBUkFDVEVSUyA9IC9bXjAtOS46LFxcLTtfaEhdL2c7XG5jb25zdCBSRUdFWF9HUk9VUFNfV0lUSE9VVF9DT0xPTiA9IC9eKFswLTldezEsMn0pKFswLTldezJ9KSQvO1xuY29uc3QgUkVHRVhfR1JPVVBTX1dJVEhfQ09MT04gPSAvXihbMC05XXsxLDJ9KT9bLjosXFwtO19oSF0/KFswLTldezEsMn0pPyQvO1xuXG5pbnRlcmZhY2UgVGltZSB7XG4gIGhvdXJzOiBudW1iZXI7XG4gIG1pbnV0ZXM6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBDdXN0b20gaW5wdXQgZm9yIGEgdGltZS5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXRpbWUtaW5wdXQnKVxuY2xhc3MgU2JiVGltZUlucHV0RWxlbWVudFxuICBleHRlbmRzIFNiYkZvcm1Bc3NvY2lhdGVkSW5wdXRNaXhpbihMaXRFbGVtZW50KVxuICBpbXBsZW1lbnRzIFNiYkZvcm1GaWVsZEVsZW1lbnRDb250cm9sXG57XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIHRpbWUgaW5wdXQuIFJlZmxlY3RzIHRoZSBjdXJyZW50IHRleHQgdmFsdWVcbiAgICogb2YgdGhpcyBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIHZhbHVlID1cbiAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZydcbiAgICAgICAgPyB2YWx1ZS5yZXBsYWNlKFJFR0VYX0RJU0FMTE9XRURfQ0hBUkFDVEVSUywgJycpLnN1YnN0cmluZygwLCA1KVxuICAgICAgICA6ICcnO1xuICAgIHRoaXMuX3RyeVBhcnNlVmFsdWUodmFsdWUpO1xuICAgIC8vIEFzIGxvbmcgYXMgdGhpcyBlbGVtZW50IGhhcyBmb2N1cyB3ZSBkZWxheSBhdXRvbWF0aWNhbGx5IHVwZGF0aW5nXG4gICAgLy8gdGhlIHZhbHVlIHdpdGggdGhlIGZvcm1hdHRlZCBzdHJpbmcgb2YgdGhlIHBhcnNlZCBkYXRlLlxuICAgIGlmICghaXNTZXJ2ZXIgJiYgIXRoaXMubWF0Y2hlcygnOmZvY3VzJykgJiYgdGhpcy52YWx1ZUFzRGF0ZSAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLl9mb3JtYXRUaW1lKCk7XG4gICAgfVxuICAgIHN1cGVyLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5fZGlzcGF0Y2hGb3JtRmllbGRDaGFuZ2UoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN1cGVyLnZhbHVlID8/ICcnO1xuICB9XG5cbiAgLyoqIEZvcm1hdHMgdGhlIGN1cnJlbnQgaW5wdXQncyB2YWx1ZSBhcyBkYXRlLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6IGZhbHNlIH0pXG4gIHB1YmxpYyBzZXQgdmFsdWVBc0RhdGUoZGF0ZTogRGF0ZSB8IG51bGwpIHtcbiAgICBpZiAoZGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKGRhdGUudmFsdWVPZigpKSkge1xuICAgICAgdGhpcy5fdmFsdWVBc1RpbWUgPSB7XG4gICAgICAgIGhvdXJzOiBkYXRlLmdldEhvdXJzKCksXG4gICAgICAgIG1pbnV0ZXM6IGRhdGUuZ2V0TWludXRlcygpLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZFZhbHVlID0gdGhpcy5fZm9ybWF0VGltZSgpO1xuICAgICAgaWYgKHRoaXMudmFsdWUgIT09IGZvcm1hdHRlZFZhbHVlKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSBmb3JtYXR0ZWRWYWx1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fdmFsdWVBc1RpbWUgPSBudWxsO1xuICAgICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IHZhbHVlQXNEYXRlKCk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAodGhpcy5fdmFsdWVBc1RpbWUgJiYgdGhpcy5faXNUaW1lVmFsaWQodGhpcy5fdmFsdWVBc1RpbWUpKSB7XG4gICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoMCk7XG4gICAgICBkYXRlLnNldEhvdXJzKHRoaXMuX3ZhbHVlQXNUaW1lLmhvdXJzKTtcbiAgICAgIGRhdGUuc2V0TWludXRlcyh0aGlzLl92YWx1ZUFzVGltZS5taW51dGVzKTtcbiAgICAgIHJldHVybiBkYXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWVBc1RpbWU/OiBUaW1lIHwgbnVsbDtcblxuICAvKiogV2hldGhlciB0aGUgaW5wdXQgaXMgZW1wdHkuICovXG4gIHB1YmxpYyBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnZhbHVlIHx8IHRoaXMudmFsdWUudHJpbSgpID09PSAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9yZXMgdGhlIGxhc3Qgc3RyaW5nIGFuZCBwYXJzZWQgZGF0ZSBvYmplY3QgdmFsdWUgdG8gcHJldmVudCByZXBlYXRlZFxuICAgKiBwYXJzaW5nIG9mIHRoZSBzdHJpbmcgdmFsdWUuXG4gICAqL1xuICBwcml2YXRlIF92YWx1ZUNhY2hlPzogW3N0cmluZywgVGltZSB8IG51bGxdO1xuXG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2hhbmdlJywgKCkgPT4gdGhpcy5fdXBkYXRlVmFsdWVEYXRlRm9ybWF0KCksIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2hhbmdlJywgKCkgPT5cbiAgICAgIHNiYkxpdmVBbm5vdW5jZXIuYW5ub3VuY2UoaTE4blRpbWVJbnB1dENoYW5nZSh0aGlzLnZhbHVlKVt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XSksXG4gICAgKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChldmVudCkgPT4gdGhpcy5fcHJldmVudENoYXJJbnNlcnQoZXZlbnQpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuaW5wdXRNb2RlIHx8PSAnbnVtZXJpYyc7XG4gICAgdGhpcy5wbGFjZWhvbGRlciB8fD0gJ0hIOk1NJztcbiAgICB0aGlzLl9kaXNwYXRjaEZvcm1GaWVsZENoYW5nZSgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlRm9ybVZhbHVlKCk6IHZvaWQge1xuICAgIHRoaXMuX3RyeVBhcnNlVmFsdWUoKTtcbiAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLnZhbHVlQXNEYXRlICE9PSBudWxsID8gdGhpcy5fZm9ybWF0VGltZSgpIDogbnVsbDtcbiAgICB0aGlzLmludGVybmFscy5zZXRGb3JtVmFsdWUoZm9ybVZhbHVlLCB0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3RyeVBhcnNlVmFsdWUodmFsdWUgPSB0aGlzLnZhbHVlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3ZhbHVlQ2FjaGU/LlswXSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuX3ZhbHVlQXNUaW1lID0gdGhpcy5fcGFyc2VWYWx1ZSh2YWx1ZSk7XG4gICAgICB0aGlzLl92YWx1ZUNhY2hlID0gW3ZhbHVlLCB0aGlzLl92YWx1ZUFzVGltZSA/PyBudWxsXTtcbiAgICB9XG4gIH1cblxuICAvKiogVmFsaWRhdGUgaW5wdXQgYWdhaW5zdCB0aGUgZGVmaW5lZCBSZWdFeHBzLiAqL1xuICBwcml2YXRlIF9wYXJzZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBUaW1lIHwgbnVsbCB7XG4gICAgY29uc3QgdHJpbW1lZFZhbHVlID0gdmFsdWU/LnRyaW0oKTtcbiAgICBpZiAoIXRyaW1tZWRWYWx1ZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gU3BlY2lhbCBjYXNlOiB0aGUgaW5wdXQgaXMgMyBvciA0IGRpZ2l0czsgc3BsaXQgbGlrZTogQUI/OkNEXG4gICAgY29uc3QgbWF0Y2ggPVxuICAgICAgdHJpbW1lZFZhbHVlLm1hdGNoKFJFR0VYX0dST1VQU19XSVRIT1VUX0NPTE9OKSA/PyB0cmltbWVkVmFsdWUubWF0Y2goUkVHRVhfR1JPVVBTX1dJVEhfQ09MT04pO1xuICAgIGlmIChtYXRjaCkge1xuICAgICAgcmV0dXJuIHsgaG91cnM6ICttYXRjaFsxXSB8fCAwLCBtaW51dGVzOiArbWF0Y2hbMl0gfHwgMCB9O1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlVmFsdWVEYXRlRm9ybWF0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnZhbHVlQXNEYXRlKSB7XG4gICAgICBjb25zdCBmb3JtYXR0ZWREYXRlID0gdGhpcy5fZm9ybWF0VGltZSgpO1xuICAgICAgaWYgKHRoaXMudmFsdWUgIT09IGZvcm1hdHRlZERhdGUpIHtcbiAgICAgICAgc3VwZXIudmFsdWUgPSBmb3JtYXR0ZWREYXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Zvcm1hdFRpbWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWVBc0RhdGU7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBjb25zdCBob3VycyA9IFN0cmluZyh2YWx1ZS5nZXRIb3VycygpKS5wYWRTdGFydCgyLCAnMCcpO1xuICAgIGNvbnN0IG1pbnV0ZXMgPSBTdHJpbmcodmFsdWUuZ2V0TWludXRlcygpKS5wYWRTdGFydCgyLCAnMCcpO1xuICAgIHJldHVybiBgJHtob3Vyc306JHttaW51dGVzfWA7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcHJlcGFyZVBhc3RlZFRleHQodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGV4dFxuICAgICAgLnJlcGxhY2UoUkVHRVhfRElTQUxMT1dFRF9DSEFSQUNURVJTLCAnJylcbiAgICAgIC5zdWJzdHJpbmcoMCwgNSAtICh0aGlzLnRleHRDb250ZW50Py5sZW5ndGggPz8gMCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHNob3VsZFZhbGlkYXRlKG5hbWU6IFByb3BlcnR5S2V5IHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHN1cGVyLnNob3VsZFZhbGlkYXRlKG5hbWUpIHx8XG4gICAgICBbJ3ZhbHVlQXNEYXRlJywgJ21pbicsICdtYXgnLCAnZGF0ZUZpbHRlciddLmluY2x1ZGVzKG5hbWUgYXMgc3RyaW5nKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgc3VwZXIudmFsaWRhdGUoKTtcbiAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMuX3JlbW92ZVZhbGlkaXR5RXJyb3JzKCk7XG4gICAgfSBlbHNlIGlmICghdGhpcy5fdmFsdWVBc1RpbWUpIHtcbiAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKCdiYWRJbnB1dCcsIGkxOG5UaW1lSW52YWxpZFt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLl9pc1RpbWVWYWxpZCh0aGlzLl92YWx1ZUFzVGltZSkpIHtcbiAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKCdyYW5nZU92ZXJmbG93JywgaTE4blRpbWVNYXhbdGhpcy5sYW5ndWFnZS5jdXJyZW50XSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3JlbW92ZVZhbGlkaXR5RXJyb3JzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlVmFsaWRpdHlFcnJvcnMoKTogdm9pZCB7XG4gICAgKFsnYmFkSW5wdXQnLCAncmFuZ2VPdmVyZmxvdyddIGFzIGNvbnN0KS5mb3JFYWNoKChmKSA9PiB0aGlzLnJlbW92ZVZhbGlkaXR5RmxhZyhmKSk7XG4gIH1cblxuICAvKiogQ2hlY2tzIGlmIHZhbHVlcyBvZiBob3VycyBhbmQgbWludXRlcyBhcmUgcG9zc2libGUsIHRvIGF2b2lkIG5vbi1leGlzdGVudCB0aW1lcy4gKi9cbiAgcHJpdmF0ZSBfaXNUaW1lVmFsaWQodGltZTogVGltZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aW1lLmhvdXJzIDwgMjQgJiYgdGltZS5taW51dGVzIDwgNjA7XG4gIH1cblxuICAvKiogIE9ubHkgYWxsb3cgdHlwaW5nIG51bWJlcnMgYW5kIHNlcGFyYXRvciBrZXlzLiAqL1xuICBwcml2YXRlIF9wcmV2ZW50Q2hhckluc2VydChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGFsd2F5c0FsbG93ZWQgPSBbXG4gICAgICAnQmFja3NwYWNlJyxcbiAgICAgICdUYWInLFxuICAgICAgJ0VudGVyJyxcbiAgICAgICdBcnJvd1VwJyxcbiAgICAgICdBcnJvd0Rvd24nLFxuICAgICAgJ0Fycm93TGVmdCcsXG4gICAgICAnQXJyb3dSaWdodCcsXG4gICAgICAnSG9tZScsXG4gICAgICAnRW5kJyxcbiAgICAgICdQYWdlVXAnLFxuICAgICAgJ1BhZ2VEb3duJyxcbiAgICAgICdEZWxldGUnLFxuICAgIF07XG5cbiAgICBpZiAoXG4gICAgICBldmVudC5jdHJsS2V5IHx8XG4gICAgICBldmVudC5hbHRLZXkgfHxcbiAgICAgIGV2ZW50Lm1ldGFLZXkgfHxcbiAgICAgIGFsd2F5c0FsbG93ZWQuaW5jbHVkZXMoZXZlbnQua2V5KSB8fFxuICAgICAgKFJFR0VYX0FMTE9XRURfQ0hBUkFDVEVSUy50ZXN0KGV2ZW50LmtleSkgJiYgKHRoaXMudmFsdWUubGVuZ3RoIDwgNSB8fCB0aGlzLl9oYXNTZWxlY3Rpb24oKSkpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAodGhpcy52YWx1ZS5sZW5ndGggPj0gNSkge1xuICAgICAgc2JiTGl2ZUFubm91bmNlci5hbm5vdW5jZShpMThuVGltZU1heExlbmd0aFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFzU2VsZWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJhbmdlID0gd2luZG93LmdldFNlbGVjdGlvbigpPy5nZXRSYW5nZUF0KDApO1xuICAgIHJldHVybiAhIXJhbmdlICYmIHJhbmdlLnN0YXJ0T2Zmc2V0ICE9PSByYW5nZS5lbmRPZmZzZXQ7XG4gIH1cblxuICBwcml2YXRlIF9kaXNwYXRjaEZvcm1GaWVsZENoYW5nZSgpOiB2b2lkIHtcbiAgICAvKiogQGludGVybmFsICovXG4gICAgdGhpcy5jbG9zZXN0Py4oJ3NiYi1mb3JtLWZpZWxkJyk/LmRpc3BhdGNoRXZlbnQobmV3IFNiYkZvcm1GaWVsZENvbnRyb2xFdmVudCh0aGlzKSk7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10aW1lLWlucHV0JzogU2JiVGltZUlucHV0RWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQkEsTUFBTSwyQkFBMkI7QUFDakMsTUFBTSw4QkFBOEI7QUFDcEMsTUFBTSw2QkFBNkI7QUFDbkMsTUFBTSwwQkFBMEI7SUFZMUIsdUJBQW1CLE1BQUE7OzBCQUR4QixjQUFjLGdCQUFnQixDQUFDOzs7O29CQUV0Qiw0QkFBNEIsVUFB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
|
|
232
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy90aW1lLWlucHV0L3RpbWUtaW5wdXQuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGlzU2VydmVyLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBzYmJMaXZlQW5ub3VuY2VyIH0gZnJvbSAnLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHtcbiAgaTE4blRpbWVJbnB1dENoYW5nZSxcbiAgaTE4blRpbWVJbnZhbGlkLFxuICBpMThuVGltZU1heCxcbiAgaTE4blRpbWVNYXhMZW5ndGgsXG59IGZyb20gJy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBTYmJGb3JtQXNzb2NpYXRlZElucHV0TWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RpbWUtaW5wdXQuc2Nzcz9saXQmaW5saW5lJztcblxuY29uc3QgUkVHRVhfQUxMT1dFRF9DSEFSQUNURVJTID0gL1swLTkuOixcXC07X2hIXS87XG5jb25zdCBSRUdFWF9ESVNBTExPV0VEX0NIQVJBQ1RFUlMgPSAvW14wLTkuOixcXC07X2hIXS9nO1xuY29uc3QgUkVHRVhfR1JPVVBTX1dJVEhPVVRfQ09MT04gPSAvXihbMC05XXsxLDJ9KShbMC05XXsyfSkkLztcbmNvbnN0IFJFR0VYX0dST1VQU19XSVRIX0NPTE9OID0gL14oWzAtOV17MSwyfSk/Wy46LFxcLTtfaEhdPyhbMC05XXsxLDJ9KT8kLztcblxuaW50ZXJmYWNlIFRpbWUge1xuICBob3VyczogbnVtYmVyO1xuICBtaW51dGVzOiBudW1iZXI7XG59XG5cbi8qKlxuICogQ3VzdG9tIGlucHV0IGZvciBhIHRpbWUuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi10aW1lLWlucHV0JylcbmNsYXNzIFNiYlRpbWVJbnB1dEVsZW1lbnQgZXh0ZW5kcyBTYmJGb3JtQXNzb2NpYXRlZElucHV0TWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSB0aW1lIGlucHV0LiBSZWZsZWN0cyB0aGUgY3VycmVudCB0ZXh0IHZhbHVlXG4gICAqIG9mIHRoaXMgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB2YWx1ZSA9XG4gICAgICB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgID8gdmFsdWUucmVwbGFjZShSRUdFWF9ESVNBTExPV0VEX0NIQVJBQ1RFUlMsICcnKS5zdWJzdHJpbmcoMCwgNSlcbiAgICAgICAgOiAnJztcbiAgICB0aGlzLl90cnlQYXJzZVZhbHVlKHZhbHVlKTtcbiAgICAvLyBBcyBsb25nIGFzIHRoaXMgZWxlbWVudCBoYXMgZm9jdXMgd2UgZGVsYXkgYXV0b21hdGljYWxseSB1cGRhdGluZ1xuICAgIC8vIHRoZSB2YWx1ZSB3aXRoIHRoZSBmb3JtYXR0ZWQgc3RyaW5nIG9mIHRoZSBwYXJzZWQgZGF0ZS5cbiAgICBpZiAoIWlzU2VydmVyICYmICF0aGlzLm1hdGNoZXMoJzpmb2N1cycpICYmIHRoaXMudmFsdWVBc0RhdGUgIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5fZm9ybWF0VGltZSgpO1xuICAgIH1cbiAgICBzdXBlci52YWx1ZSA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3VwZXIudmFsdWUgPz8gJyc7XG4gIH1cblxuICAvKiogRm9ybWF0cyB0aGUgY3VycmVudCBpbnB1dCdzIHZhbHVlIGFzIGRhdGUuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogZmFsc2UgfSlcbiAgcHVibGljIHNldCB2YWx1ZUFzRGF0ZShkYXRlOiBEYXRlIHwgbnVsbCkge1xuICAgIGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4oZGF0ZS52YWx1ZU9mKCkpKSB7XG4gICAgICB0aGlzLl92YWx1ZUFzVGltZSA9IHtcbiAgICAgICAgaG91cnM6IGRhdGUuZ2V0SG91cnMoKSxcbiAgICAgICAgbWludXRlczogZGF0ZS5nZXRNaW51dGVzKCksXG4gICAgICB9O1xuICAgICAgY29uc3QgZm9ybWF0dGVkVmFsdWUgPSB0aGlzLl9mb3JtYXRUaW1lKCk7XG4gICAgICBpZiAodGhpcy52YWx1ZSAhPT0gZm9ybWF0dGVkVmFsdWUpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IGZvcm1hdHRlZFZhbHVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl92YWx1ZUFzVGltZSA9IG51bGw7XG4gICAgICB0aGlzLnZhbHVlID0gJyc7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgdmFsdWVBc0RhdGUoKTogRGF0ZSB8IG51bGwge1xuICAgIGlmICh0aGlzLl92YWx1ZUFzVGltZSAmJiB0aGlzLl9pc1RpbWVWYWxpZCh0aGlzLl92YWx1ZUFzVGltZSkpIHtcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgwKTtcbiAgICAgIGRhdGUuc2V0SG91cnModGhpcy5fdmFsdWVBc1RpbWUuaG91cnMpO1xuICAgICAgZGF0ZS5zZXRNaW51dGVzKHRoaXMuX3ZhbHVlQXNUaW1lLm1pbnV0ZXMpO1xuICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIF92YWx1ZUFzVGltZT86IFRpbWUgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBpbnB1dCBpcyBlbXB0eS5cbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIHB1YmxpYyBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnZhbHVlIHx8IHRoaXMudmFsdWUudHJpbSgpID09PSAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9yZXMgdGhlIGxhc3Qgc3RyaW5nIGFuZCBwYXJzZWQgZGF0ZSBvYmplY3QgdmFsdWUgdG8gcHJldmVudCByZXBlYXRlZFxuICAgKiBwYXJzaW5nIG9mIHRoZSBzdHJpbmcgdmFsdWUuXG4gICAqL1xuICBwcml2YXRlIF92YWx1ZUNhY2hlPzogW3N0cmluZywgVGltZSB8IG51bGxdO1xuXG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2hhbmdlJywgKCkgPT4gdGhpcy5fdXBkYXRlVmFsdWVEYXRlRm9ybWF0KCksIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2hhbmdlJywgKCkgPT5cbiAgICAgIHNiYkxpdmVBbm5vdW5jZXIuYW5ub3VuY2UoaTE4blRpbWVJbnB1dENoYW5nZSh0aGlzLnZhbHVlKVt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XSksXG4gICAgKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChldmVudCkgPT4gdGhpcy5fcHJldmVudENoYXJJbnNlcnQoZXZlbnQpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuaW5wdXRNb2RlIHx8PSAnbnVtZXJpYyc7XG4gICAgdGhpcy5wbGFjZWhvbGRlciB8fD0gJ0hIOk1NJztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl90cnlQYXJzZVZhbHVlKCk7XG4gICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy52YWx1ZUFzRGF0ZSAhPT0gbnVsbCA/IHRoaXMuX2Zvcm1hdFRpbWUoKSA6IG51bGw7XG4gICAgdGhpcy5pbnRlcm5hbHMuc2V0Rm9ybVZhbHVlKGZvcm1WYWx1ZSwgdGhpcy52YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF90cnlQYXJzZVZhbHVlKHZhbHVlID0gdGhpcy52YWx1ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl92YWx1ZUNhY2hlPy5bMF0gIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLl92YWx1ZUFzVGltZSA9IHRoaXMuX3BhcnNlVmFsdWUodmFsdWUpO1xuICAgICAgdGhpcy5fdmFsdWVDYWNoZSA9IFt2YWx1ZSwgdGhpcy5fdmFsdWVBc1RpbWUgPz8gbnVsbF07XG4gICAgfVxuICB9XG5cbiAgLyoqIFZhbGlkYXRlIGlucHV0IGFnYWluc3QgdGhlIGRlZmluZWQgUmVnRXhwcy4gKi9cbiAgcHJpdmF0ZSBfcGFyc2VWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogVGltZSB8IG51bGwge1xuICAgIGNvbnN0IHRyaW1tZWRWYWx1ZSA9IHZhbHVlPy50cmltKCk7XG4gICAgaWYgKCF0cmltbWVkVmFsdWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIFNwZWNpYWwgY2FzZTogdGhlIGlucHV0IGlzIDMgb3IgNCBkaWdpdHM7IHNwbGl0IGxpa2U6IEFCPzpDRFxuICAgIGNvbnN0IG1hdGNoID1cbiAgICAgIHRyaW1tZWRWYWx1ZS5tYXRjaChSRUdFWF9HUk9VUFNfV0lUSE9VVF9DT0xPTikgPz8gdHJpbW1lZFZhbHVlLm1hdGNoKFJFR0VYX0dST1VQU19XSVRIX0NPTE9OKTtcbiAgICBpZiAobWF0Y2gpIHtcbiAgICAgIHJldHVybiB7IGhvdXJzOiArbWF0Y2hbMV0gfHwgMCwgbWludXRlczogK21hdGNoWzJdIHx8IDAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVZhbHVlRGF0ZUZvcm1hdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52YWx1ZUFzRGF0ZSkge1xuICAgICAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IHRoaXMuX2Zvcm1hdFRpbWUoKTtcbiAgICAgIGlmICh0aGlzLnZhbHVlICE9PSBmb3JtYXR0ZWREYXRlKSB7XG4gICAgICAgIHN1cGVyLnZhbHVlID0gZm9ybWF0dGVkRGF0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9mb3JtYXRUaW1lKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlQXNEYXRlO1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3QgaG91cnMgPSBTdHJpbmcodmFsdWUuZ2V0SG91cnMoKSkucGFkU3RhcnQoMiwgJzAnKTtcbiAgICBjb25zdCBtaW51dGVzID0gU3RyaW5nKHZhbHVlLmdldE1pbnV0ZXMoKSkucGFkU3RhcnQoMiwgJzAnKTtcbiAgICByZXR1cm4gYCR7aG91cnN9OiR7bWludXRlc31gO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHByZXBhcmVQYXN0ZWRUZXh0KHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRleHRcbiAgICAgIC5yZXBsYWNlKFJFR0VYX0RJU0FMTE9XRURfQ0hBUkFDVEVSUywgJycpXG4gICAgICAuc3Vic3RyaW5nKDAsIDUgLSAodGhpcy50ZXh0Q29udGVudD8ubGVuZ3RoID8/IDApKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzaG91bGRWYWxpZGF0ZShuYW1lOiBQcm9wZXJ0eUtleSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBzdXBlci5zaG91bGRWYWxpZGF0ZShuYW1lKSB8fFxuICAgICAgWyd2YWx1ZUFzRGF0ZScsICdtaW4nLCAnbWF4JywgJ2RhdGVGaWx0ZXInXS5pbmNsdWRlcyhuYW1lIGFzIHN0cmluZylcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbGlkYXRlKCk6IHZvaWQge1xuICAgIHN1cGVyLnZhbGlkYXRlKCk7XG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLl9yZW1vdmVWYWxpZGl0eUVycm9ycygpO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuX3ZhbHVlQXNUaW1lKSB7XG4gICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZygnYmFkSW5wdXQnLCBpMThuVGltZUludmFsaWRbdGhpcy5sYW5ndWFnZS5jdXJyZW50XSk7XG4gICAgfSBlbHNlIGlmICghdGhpcy5faXNUaW1lVmFsaWQodGhpcy5fdmFsdWVBc1RpbWUpKSB7XG4gICAgICB0aGlzLnNldFZhbGlkaXR5RmxhZygncmFuZ2VPdmVyZmxvdycsIGkxOG5UaW1lTWF4W3RoaXMubGFuZ3VhZ2UuY3VycmVudF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9yZW1vdmVWYWxpZGl0eUVycm9ycygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZVZhbGlkaXR5RXJyb3JzKCk6IHZvaWQge1xuICAgIChbJ2JhZElucHV0JywgJ3JhbmdlT3ZlcmZsb3cnXSBhcyBjb25zdCkuZm9yRWFjaCgoZikgPT4gdGhpcy5yZW1vdmVWYWxpZGl0eUZsYWcoZikpO1xuICB9XG5cbiAgLyoqIENoZWNrcyBpZiB2YWx1ZXMgb2YgaG91cnMgYW5kIG1pbnV0ZXMgYXJlIHBvc3NpYmxlLCB0byBhdm9pZCBub24tZXhpc3RlbnQgdGltZXMuICovXG4gIHByaXZhdGUgX2lzVGltZVZhbGlkKHRpbWU6IFRpbWUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGltZS5ob3VycyA8IDI0ICYmIHRpbWUubWludXRlcyA8IDYwO1xuICB9XG5cbiAgLyoqICBPbmx5IGFsbG93IHR5cGluZyBudW1iZXJzIGFuZCBzZXBhcmF0b3Iga2V5cy4gKi9cbiAgcHJpdmF0ZSBfcHJldmVudENoYXJJbnNlcnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBhbHdheXNBbGxvd2VkID0gW1xuICAgICAgJ0JhY2tzcGFjZScsXG4gICAgICAnVGFiJyxcbiAgICAgICdFbnRlcicsXG4gICAgICAnQXJyb3dVcCcsXG4gICAgICAnQXJyb3dEb3duJyxcbiAgICAgICdBcnJvd0xlZnQnLFxuICAgICAgJ0Fycm93UmlnaHQnLFxuICAgICAgJ0hvbWUnLFxuICAgICAgJ0VuZCcsXG4gICAgICAnUGFnZVVwJyxcbiAgICAgICdQYWdlRG93bicsXG4gICAgICAnRGVsZXRlJyxcbiAgICBdO1xuXG4gICAgaWYgKFxuICAgICAgZXZlbnQuY3RybEtleSB8fFxuICAgICAgZXZlbnQuYWx0S2V5IHx8XG4gICAgICBldmVudC5tZXRhS2V5IHx8XG4gICAgICBhbHdheXNBbGxvd2VkLmluY2x1ZGVzKGV2ZW50LmtleSkgfHxcbiAgICAgIChSRUdFWF9BTExPV0VEX0NIQVJBQ1RFUlMudGVzdChldmVudC5rZXkpICYmICh0aGlzLnZhbHVlLmxlbmd0aCA8IDUgfHwgdGhpcy5faGFzU2VsZWN0aW9uKCkpKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID49IDUpIHtcbiAgICAgIHNiYkxpdmVBbm5vdW5jZXIuYW5ub3VuY2UoaTE4blRpbWVNYXhMZW5ndGhbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhc1NlbGVjdGlvbigpOiBib29sZWFuIHtcbiAgICBjb25zdCByYW5nZSA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKT8uZ2V0UmFuZ2VBdCgwKTtcbiAgICByZXR1cm4gISFyYW5nZSAmJiByYW5nZS5zdGFydE9mZnNldCAhPT0gcmFuZ2UuZW5kT2Zmc2V0O1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdGltZS1pbnB1dCc6IFNiYlRpbWVJbnB1dEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlQSxNQUFNLDJCQUEyQjtBQUNqQyxNQUFNLDhCQUE4QjtBQUNwQyxNQUFNLDZCQUE2QjtBQUNuQyxNQUFNLDBCQUEwQjtJQVkxQix1QkFBbUIsTUFBQTs7MEJBRHhCLGNBQWMsZ0JBQWdCLENBQUM7Ozs7b0JBQ0UsNEJBQTRCLFVBQVU7OztBQUE5QyxFQUFBLG1CQUFRLFlBQXVDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQU92RSxJQUFvQixNQUFNLE9BQWE7QUFDckMsY0FDRSxPQUFPLFVBQVUsV0FDYixNQUFNLFFBQVEsNkJBQTZCLEVBQUUsRUFBRSxVQUFVLEdBQUcsQ0FBQyxJQUM3RDtBQUNOLFdBQUssZUFBZSxLQUFLO0FBR3pCLFVBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxRQUFRLFFBQVEsS0FBSyxLQUFLLGdCQUFnQixNQUFNO0FBQ3JFLGdCQUFRLEtBQUssWUFBQTtBQUFBLE1BQ2Y7QUFDQSxZQUFNLFFBQVE7QUFBQSxJQUNoQjtBQUFBLElBQ0EsSUFBb0IsUUFBSztBQUN2QixhQUFPLE1BQU0sU0FBUztBQUFBLElBQ3hCO0FBQUE7QUFBQSxJQUlB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
|