@kirbydesign/designsystem 6.1.2-rc.ionic → 6.3.2-nopadding.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/esm2020/lib/components/dropdown/dropdown.component.mjs +10 -2
- package/esm2020/lib/components/fab-sheet/fab-sheet.component.mjs +11 -6
- package/esm2020/lib/components/icon/kirby-icon-settings.mjs +6 -1
- package/esm2020/lib/components/item/item.component.mjs +2 -2
- package/esm2020/lib/components/modal/services/modal.helper.mjs +11 -11
- package/esm2020/lib/components/page/page.component.mjs +14 -13
- package/esm2020/lib/components/segmented-control/segmented-control.component.mjs +20 -9
- package/fesm2015/kirbydesign-designsystem.mjs +67 -37
- package/fesm2015/kirbydesign-designsystem.mjs.map +1 -1
- package/fesm2020/kirbydesign-designsystem.mjs +67 -37
- package/fesm2020/kirbydesign-designsystem.mjs.map +1 -1
- package/icons/svg/car.svg +5 -0
- package/icons/svg/coinstack.svg +5 -0
- package/icons/svg/contact.svg +5 -0
- package/icons/svg/recurring.svg +5 -0
- package/icons/svg/salary.svg +5 -0
- package/lib/components/dropdown/dropdown.component.d.ts +1 -0
- package/lib/components/fab-sheet/fab-sheet.component.d.ts +3 -2
- package/lib/components/page/page.component.d.ts +2 -2
- package/lib/components/segmented-control/segmented-control.component.d.ts +8 -3
- package/package.json +2 -2
- package/scss/_trigger-publish.scss +1 -0
- package/scss/_trigger.scss +1 -0
- package/scss/awesome-stylesheet.scss +1 -0
- package/scss/base/_awesome-partial.scss +1 -0
- package/scss/base/_index.scss +1 -0
- package/scss/base/_interaction-states.scss +1 -0
- package/scss/base/index.scss +1 -0
- package/scss/interaction-state/_state-layer.scss +1 -0
- package/scss/interaction-state/_utilities.scss +1 -0
- package/scss/interaction-state/ionic/_active.scss +1 -0
- package/scss/interaction-state/ionic/_hover.scss +1 -0
- package/scss/interaction-state/ionic/_index.scss +1 -0
- package/scss/interaction-states/_hover.scss +1 -0
- package/scss/interaction-states/_index.scss +1 -0
|
@@ -328,6 +328,11 @@ export class DropdownComponent {
|
|
|
328
328
|
event.stopImmediatePropagation();
|
|
329
329
|
}
|
|
330
330
|
}
|
|
331
|
+
_onTouchStart(event) {
|
|
332
|
+
if (this.isOpen) {
|
|
333
|
+
event.stopPropagation();
|
|
334
|
+
}
|
|
335
|
+
}
|
|
331
336
|
_onFocus() {
|
|
332
337
|
if (this.disabled) {
|
|
333
338
|
this.elementRef.nativeElement.blur();
|
|
@@ -399,7 +404,7 @@ export class DropdownComponent {
|
|
|
399
404
|
}
|
|
400
405
|
DropdownComponent.OPEN_DELAY_IN_MS = 100;
|
|
401
406
|
/** @nocollapse */ DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DropdownComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.KeyboardHandlerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
402
|
-
/** @nocollapse */ DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: DropdownComponent, selector: "kirby-dropdown", inputs: { items: "items", selectedIndex: "selectedIndex", itemTextProperty: "itemTextProperty", placeholder: "placeholder", popout: "popout", attentionLevel: "attentionLevel", expand: "expand", disabled: "disabled", hasError: "hasError", size: "size", tabindex: "tabindex", usePopover: "usePopover" }, outputs: { change: "change" }, host: { listeners: { "keydown.tab": "_onTab($event)", "mousedown": "_onMouseDown($event)", "focus": "_onFocus()", "keydown.enter": "_onEnter($event)", "keydown.escape": "_onEnterOrEscape()", "blur": "_onBlur($event)", "keydown.space": "_onSpace($event)", "keydown.arrowup": "_onArrowKeys($event)", "keydown.arrowdown": "_onArrowKeys($event)", "keydown.arrowleft": "_onArrowKeys($event)", "keydown.arrowright": "_onArrowKeys($event)", "keydown.home": "_onHomeEndKeys($event)", "keydown.end": "_onHomeEndKeys($event)" }, properties: { "attr.disabled": "this._isDisabled", "class.error": "this.hasError", "class.with-popover": "this.usePopover", "attr.tabindex": "this._tabindex", "attr.no-blur": "this._noBlurOnScroll", "class.expand": "this._isBlockLevel", "attr.role": "this._role", "class.is-opening": "this._isOpening", "class.is-open": "this.isOpen", "class.popout-left": "this._popoutLeft", "class.popout-up": "this._popoutUp" } }, providers: [
|
|
407
|
+
/** @nocollapse */ DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: DropdownComponent, selector: "kirby-dropdown", inputs: { items: "items", selectedIndex: "selectedIndex", itemTextProperty: "itemTextProperty", placeholder: "placeholder", popout: "popout", attentionLevel: "attentionLevel", expand: "expand", disabled: "disabled", hasError: "hasError", size: "size", tabindex: "tabindex", usePopover: "usePopover" }, outputs: { change: "change" }, host: { listeners: { "keydown.tab": "_onTab($event)", "mousedown": "_onMouseDown($event)", "touchstart": "_onTouchStart($event)", "focus": "_onFocus()", "keydown.enter": "_onEnter($event)", "keydown.escape": "_onEnterOrEscape()", "blur": "_onBlur($event)", "keydown.space": "_onSpace($event)", "keydown.arrowup": "_onArrowKeys($event)", "keydown.arrowdown": "_onArrowKeys($event)", "keydown.arrowleft": "_onArrowKeys($event)", "keydown.arrowright": "_onArrowKeys($event)", "keydown.home": "_onHomeEndKeys($event)", "keydown.end": "_onHomeEndKeys($event)" }, properties: { "attr.disabled": "this._isDisabled", "class.error": "this.hasError", "class.with-popover": "this.usePopover", "attr.tabindex": "this._tabindex", "attr.no-blur": "this._noBlurOnScroll", "class.expand": "this._isBlockLevel", "attr.role": "this._role", "class.is-opening": "this._isOpening", "class.is-open": "this.isOpen", "class.popout-left": "this._popoutLeft", "class.popout-up": "this._popoutUp" } }, providers: [
|
|
403
408
|
{
|
|
404
409
|
provide: NG_VALUE_ACCESSOR,
|
|
405
410
|
useExisting: forwardRef((() => DropdownComponent)),
|
|
@@ -501,6 +506,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
|
|
|
501
506
|
}], _onMouseDown: [{
|
|
502
507
|
type: HostListener,
|
|
503
508
|
args: ['mousedown', ['$event']]
|
|
509
|
+
}], _onTouchStart: [{
|
|
510
|
+
type: HostListener,
|
|
511
|
+
args: ['touchstart', ['$event']]
|
|
504
512
|
}], _onFocus: [{
|
|
505
513
|
type: HostListener,
|
|
506
514
|
args: ['focus']
|
|
@@ -538,4 +546,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
|
|
|
538
546
|
type: HostListener,
|
|
539
547
|
args: ['keydown.end', ['$event']]
|
|
540
548
|
}] } });
|
|
541
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULG1CQUFtQixFQUNuQixXQUFXLEVBQ1gsU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFckYsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7QUFjcEUsTUFBTSxPQUFPLGlCQUFpQjtJQXVLNUIs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QUFpQjtzQkFEaEIsWUFBWTt1QkFBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUs3QyxpQkFBaUI7c0JBRHBCLGVBQWU7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkEyUXBELE1BQU07c0JBREwsWUFBWTt1QkFBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBU3ZDLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBU3JDLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxPQUFPO2dCQWNyQixnQkFBZ0I7c0JBRmYsWUFBWTt1QkFBQyxlQUFlOztzQkFDNUIsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBVzlCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBUWhDLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVXpDLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBV3pDLFlBQVk7c0JBSlgsWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQzFDLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUM1QyxZQUFZO3VCQUFDLG1CQUFtQixFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDNUMsWUFBWTt1QkFBQyxvQkFBb0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFnQjlDLGNBQWM7c0JBRmIsWUFBWTt1QkFBQyxjQUFjLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUN2QyxZQUFZO3VCQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBSZW5kZXJlcjIsXG4gIFJlbmRlcmVyU3R5bGVGbGFnczIsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IENhcmRDb21wb25lbnQgfSBmcm9tICcuLi9jYXJkL2NhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9pdGVtL2l0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IExpc3RJdGVtVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuLi9saXN0L2xpc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IEhvcml6b250YWxEaXJlY3Rpb24sIFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuLi9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50JztcblxuaW1wb3J0IHsgT3BlblN0YXRlLCBWZXJ0aWNhbERpcmVjdGlvbiB9IGZyb20gJy4vZHJvcGRvd24udHlwZXMnO1xuaW1wb3J0IHsgS2V5Ym9hcmRIYW5kbGVyU2VydmljZSB9IGZyb20gJy4va2V5Ym9hcmQtaGFuZGxlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna2lyYnktZHJvcGRvd24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERyb3Bkb3duQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHN0YXRpYyByZWFkb25seSBPUEVOX0RFTEFZX0lOX01TID0gMTAwO1xuICBwcml2YXRlIHN0YXRlID0gT3BlblN0YXRlLmNsb3NlZDtcbiAgcHJpdmF0ZSBob3Jpem9udGFsRGlyZWN0aW9uOiBIb3Jpem9udGFsRGlyZWN0aW9uIHwgYCR7SG9yaXpvbnRhbERpcmVjdGlvbn1gID1cbiAgICBIb3Jpem9udGFsRGlyZWN0aW9uLnJpZ2h0O1xuICBwcml2YXRlIHZlcnRpY2FsRGlyZWN0aW9uOiBWZXJ0aWNhbERpcmVjdGlvbiB8IGAke1ZlcnRpY2FsRGlyZWN0aW9ufWAgPSBWZXJ0aWNhbERpcmVjdGlvbi5kb3duO1xuXG4gIHByaXZhdGUgX2l0ZW1zOiBzdHJpbmdbXSB8IGFueVtdID0gW107XG4gIGdldCBpdGVtcygpOiBzdHJpbmdbXSB8IGFueVtdIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXM7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgaXRlbXModmFsdWU6IHN0cmluZ1tdIHwgYW55W10pIHtcbiAgICB0aGlzLl9pdGVtcyA9IHZhbHVlO1xuICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5pdGVtc1t0aGlzLnNlbGVjdGVkSW5kZXhdIHx8IG51bGw7XG4gIH1cblxuICBwcml2YXRlIF9zZWxlY3RlZEluZGV4OiBudW1iZXIgPSAtMTtcbiAgZ2V0IHNlbGVjdGVkSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJbmRleDtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBzZWxlY3RlZEluZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0ZWRJbmRleCAhPSB2YWx1ZSkge1xuICAgICAgdGhpcy5fc2VsZWN0ZWRJbmRleCA9IHZhbHVlO1xuICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLml0ZW1zW3RoaXMuc2VsZWN0ZWRJbmRleF0gfHwgbnVsbDtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBpdGVtVGV4dFByb3BlcnR5ID0gJ3RleHQnO1xuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyID0gJ1BsZWFzZSBzZWxlY3Q6JztcblxuICBASW5wdXQoKSBzZXQgcG9wb3V0KGRpcmVjdGlvbjogSG9yaXpvbnRhbERpcmVjdGlvbiB8IGAke0hvcml6b250YWxEaXJlY3Rpb259YCkge1xuICAgIHRoaXMuaG9yaXpvbnRhbERpcmVjdGlvbiA9IGRpcmVjdGlvbiB8fCBIb3Jpem9udGFsRGlyZWN0aW9uLnJpZ2h0O1xuICB9XG5cbiAgZ2V0IHBvcG91dCgpIHtcbiAgICByZXR1cm4gdGhpcy5ob3Jpem9udGFsRGlyZWN0aW9uO1xuICB9XG5cbiAgQElucHV0KClcbiAgYXR0ZW50aW9uTGV2ZWw6ICcxJyB8ICcyJyB8ICczJyB8ICc0JyA9ICczJztcbiAgcmVhZG9ubHkgYXR0ZW50aW9uTGV2ZWxPcGVuID0gJzInO1xuXG4gIEBJbnB1dCgpXG4gIGV4cGFuZD86ICdibG9jayc7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGlzYWJsZWQnKVxuICBnZXQgX2lzRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogbnVsbDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZXJyb3InKVxuICBASW5wdXQoKVxuICBoYXNFcnJvcjogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBzaXplOiAnc20nIHwgJ21kJyA9ICdtZCc7XG5cbiAgQElucHV0KClcbiAgdGFiaW5kZXggPSAwO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3Mud2l0aC1wb3BvdmVyJylcbiAgQElucHV0KClcbiAgdXNlUG9wb3ZlciA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gIGdldCBfdGFiaW5kZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgPyAtMSA6IHRoaXMudGFiaW5kZXg7XG4gIH1cblxuICAvLyBQcmV2ZW50IElvbmljIGJsdXIgb24gc2Nyb2xsXG4gIEBIb3N0QmluZGluZygnYXR0ci5uby1ibHVyJylcbiAgZ2V0IF9ub0JsdXJPblNjcm9sbCgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gYW4gaXRlbSBpcyBzZWxlY3RlZCAodGFwIG9uIG1vYmlsZSwgY2xpY2sva2V5cHJlc3Mgb24gd2ViKVxuICAgKi9cbiAgQE91dHB1dCgpIGNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZyB8IGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IGFueT4oKTtcblxuICBwcml2YXRlIF92YWx1ZTogc3RyaW5nIHwgYW55ID0gbnVsbDtcbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB8IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgZ2V0IHNlbGVjdGVkVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldFRleHRGcm9tSXRlbSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZXhwYW5kJylcbiAgZ2V0IF9pc0Jsb2NrTGV2ZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXhwYW5kID09PSAnYmxvY2snO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICBfcm9sZSA9ICdsaXN0Ym94JztcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLW9wZW5pbmcnKVxuICBnZXQgX2lzT3BlbmluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZSA9PT0gT3BlblN0YXRlLm9wZW5pbmc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLW9wZW4nKVxuICBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlID09PSBPcGVuU3RhdGUub3BlbjtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MucG9wb3V0LWxlZnQnKVxuICBnZXQgX3BvcG91dExlZnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaG9yaXpvbnRhbERpcmVjdGlvbiA9PT0gSG9yaXpvbnRhbERpcmVjdGlvbi5sZWZ0O1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5wb3BvdXQtdXAnKVxuICBnZXQgX3BvcG91dFVwKCkge1xuICAgIHJldHVybiB0aGlzLnZlcnRpY2FsRGlyZWN0aW9uID09PSBWZXJ0aWNhbERpcmVjdGlvbi51cDtcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGQoTGlzdEl0ZW1UZW1wbGF0ZURpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgQENvbnRlbnRDaGlsZHJlbihMaXN0SXRlbVRlbXBsYXRlRGlyZWN0aXZlLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgc2xvdHRlZEl0ZW1zOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+O1xuICBAVmlld0NoaWxkKENhcmRDb21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBjYXJkRWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoUG9wb3ZlckNvbXBvbmVudClcbiAgcG9wb3Zlcj86IFBvcG92ZXJDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoQnV0dG9uQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KVxuICBidXR0b25FbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgQFZpZXdDaGlsZHJlbihJdGVtQ29tcG9uZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAga2lyYnlJdGVtc0RlZmF1bHQ6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj47XG5cbiAgX2tpcmJ5SXRlbXNTbG90dGVkOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+O1xuICBAQ29udGVudENoaWxkcmVuKEl0ZW1Db21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBzZXQga2lyYnlJdGVtc1Nsb3R0ZWQoa2lyYnlJdGVtczogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+Pikge1xuICAgIGNvbnN0IGhhc1Nsb3R0ZWRJdGVtcyA9IHRoaXMuaXRlbUNsaWNrVW5saXN0ZW4/Lmxlbmd0aCA+IDA7XG4gICAgaWYgKGhhc1Nsb3R0ZWRJdGVtcykge1xuICAgICAgdGhpcy51bmxpc3RlbkFsbFNsb3R0ZWRJdGVtcygpO1xuICAgIH1cblxuICAgIC8vIFNldHVwIGEgY2xpY2sgbGlzdGVuZXIgZm9yIGVhY2ggbmV3IHNsb3R0ZWQgaXRlbXNcbiAgICBraXJieUl0ZW1zLmZvckVhY2goKGtpcmJ5SXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGtpcmJ5SXRlbS5uYXRpdmVFbGVtZW50LCAncm9sZScsICdvcHRpb24nKTtcbiAgICAgIGNvbnN0IHVubGlzdGVuID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oa2lyYnlJdGVtLm5hdGl2ZUVsZW1lbnQsICdjbGljaycsICgpID0+IHtcbiAgICAgICAgdGhpcy5vbkl0ZW1TZWxlY3QoaW5kZXgpO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuaXRlbUNsaWNrVW5saXN0ZW4ucHVzaCh1bmxpc3Rlbik7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9raXJieUl0ZW1zU2xvdHRlZCA9IGtpcmJ5SXRlbXM7XG4gIH1cblxuICBnZXQga2lyYnlJdGVtc1Nsb3R0ZWQoKTogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2tpcmJ5SXRlbXNTbG90dGVkO1xuICB9XG5cbiAgcHJpdmF0ZSBpdGVtQ2xpY2tVbmxpc3RlbjogKCgpID0+IHZvaWQpW10gPSBbXTtcbiAgcHJpdmF0ZSBpbnRlcnNlY3Rpb25PYnNlcnZlclJlZjogSW50ZXJzZWN0aW9uT2JzZXJ2ZXI7XG4gIHByaXZhdGUgc2hvd0Ryb3Bkb3duVGltZW91dElkOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGtleWJvYXJkSGFuZGxlclNlcnZpY2U6IEtleWJvYXJkSGFuZGxlclNlcnZpY2VcbiAgKSB7fVxuXG4gIG9uVG9nZ2xlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKCF0aGlzLmlzT3Blbikge1xuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gICAgdGhpcy50b2dnbGUoKTtcbiAgfVxuXG4gIHRvZ2dsZSgpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmlzT3BlbiA/IHRoaXMuY2xvc2UoKSA6IHRoaXMub3BlbigpO1xuICB9XG5cbiAgb25CdXR0b25Nb3VzZUV2ZW50KGV2ZW50OiBFdmVudCkge1xuICAgIC8vIFByZXZlbnQgYnV0dG9uIGZvY3VzO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICAvKiBVdGlsaXR5IHRoYXQgbWFrZXMgaXQgZWFzaWVyIHRvIHNldCBzdHlsZXMgb24gY2FyZCBlbGVtZW50IFxuICB3aGVuIHVzaW5nIHBvcG92ZXIqL1xuICBwcml2YXRlIHNldFBvcG92ZXJDYXJkU3R5bGUoc3R5bGU6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgIGlmICghdGhpcy51c2VQb3BvdmVyKSByZXR1cm47XG5cbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgdGhpcy5jYXJkRWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgc3R5bGUsXG4gICAgICB2YWx1ZSxcbiAgICAgIFJlbmRlcmVyU3R5bGVGbGFnczIuRGFzaENhc2VcbiAgICApO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLnVzZVBvcG92ZXIgJiYgdGhpcy5leHBhbmQgPT09ICdibG9jaycpIHtcbiAgICAgIGNvbnN0IHsgd2lkdGggfSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgdGhpcy5zZXRQb3BvdmVyQ2FyZFN0eWxlKCctLWtpcmJ5LWNhcmQtd2lkdGgnLCBgJHt3aWR0aH1weGApO1xuICAgICAgdGhpcy5zZXRQb3BvdmVyQ2FyZFN0eWxlKCdtYXgtd2lkdGgnLCAnaW5pdGlhbCcpO1xuICAgICAgdGhpcy5zZXRQb3BvdmVyQ2FyZFN0eWxlKCdtaW4td2lkdGgnLCAnaW5pdGlhbCcpO1xuICAgIH1cbiAgICB0aGlzLmluaXRpYWxpemVBbGlnbm1lbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUFsaWdubWVudCgpIHtcbiAgICBpZiAodGhpcy51c2VQb3BvdmVyKSByZXR1cm47XG4gICAgaWYgKCF0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyUmVmKSB7XG4gICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICByb290TWFyZ2luOiAnMHB4JyxcbiAgICAgIH07XG4gICAgICBjb25zdCBjYWxsYmFjazogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayA9IChlbnRyaWVzKSA9PiB7XG4gICAgICAgIC8vIE9ubHkgYXBwbHkgYWxpZ25tZW50IHdoZW4gb3BlbmluZzpcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUgIT09IE9wZW5TdGF0ZS5vcGVuaW5nKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2FuY2VsIGFueSBwZW5kaW5nIHRpbWVyIHRvIHNob3cgZHJvcGRvd246XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNob3dEcm9wZG93blRpbWVvdXRJZCk7XG4gICAgICAgIGNvbnN0IGVudHJ5ID0gZW50cmllc1swXTtcbiAgICAgICAgY29uc3QgaXNWaXNpYmxlID0gZW50cnkuYm91bmRpbmdDbGllbnRSZWN0LndpZHRoID4gMDtcbiAgICAgICAgaWYgKGlzVmlzaWJsZSAmJiBlbnRyeS5pbnRlcnNlY3Rpb25SYXRpbyA8IDEpIHtcbiAgICAgICAgICB0aGlzLnNldEhvcml6b250YWxEaXJlY3Rpb24oZW50cnkpO1xuICAgICAgICAgIHRoaXMuc2V0VmVydGljYWxEaXJlY3Rpb24oZW50cnkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2hvd0Ryb3Bkb3duKCk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfTtcbiAgICAgIHRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXJSZWYgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoY2FsbGJhY2ssIG9wdGlvbnMpO1xuICAgICAgdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlclJlZi5vYnNlcnZlKHRoaXMuY2FyZEVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRIb3Jpem9udGFsRGlyZWN0aW9uKGVudHJ5OiBJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5KSB7XG4gICAgLy8gSWYgcG9wb3V0IGRpcmVjdGlvbiBpcyBzZXQgdG8gcmlnaHQsIGFuZCB0aGUgZW50cnkgaXMgY3V0IG9mZiB0byB0aGUgcmlnaHQgYnkgJHtlbnRyeS5ib3VuZGluZ0NsaWVudFJlY3QucmlnaHQgLSBlbnRyeS5pbnRlcnNlY3Rpb25SZWN0LnJpZ2h0fXB4XG4gICAgLy8gaXQgaXMgc2V0IHRvIHBvcG91dCBsZWZ0IGluc3RlYWQsIGFuZCB2aWNlIHZlcnNhIGZvciBwb3BvdXQgZGlyZWN0aW9uIGxlZnRcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsRGlyZWN0aW9uID09PSBIb3Jpem9udGFsRGlyZWN0aW9uLnJpZ2h0KSB7XG4gICAgICBpZiAoZW50cnkuYm91bmRpbmdDbGllbnRSZWN0LnJpZ2h0ID4gZW50cnkucm9vdEJvdW5kcy5yaWdodCkge1xuICAgICAgICB0aGlzLmhvcml6b250YWxEaXJlY3Rpb24gPSBIb3Jpem9udGFsRGlyZWN0aW9uLmxlZnQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChlbnRyeS5ib3VuZGluZ0NsaWVudFJlY3QubGVmdCA8IGVudHJ5LnJvb3RCb3VuZHMubGVmdCkge1xuICAgICAgICB0aGlzLmhvcml6b250YWxEaXJlY3Rpb24gPSBIb3Jpem9udGFsRGlyZWN0aW9uLnJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0VmVydGljYWxEaXJlY3Rpb24oZW50cnk6IEludGVyc2VjdGlvbk9ic2VydmVyRW50cnkpIHtcbiAgICBpZiAoZW50cnkuYm91bmRpbmdDbGllbnRSZWN0LnRvcCA8IDApIHtcbiAgICAgIC8vIGVudHJ5IGlzIGN1dCBvZmYgYXQgdGhlIHRvcCBieSAke2VudHJ5LmJvdW5kaW5nQ2xpZW50UmVjdC50b3B9cHhcbiAgICAgIC8vIG9wZW4gZG93bndhcmRzOlxuICAgICAgdGhpcy52ZXJ0aWNhbERpcmVjdGlvbiA9IFZlcnRpY2FsRGlyZWN0aW9uLmRvd247XG4gICAgfVxuICAgIGlmIChlbnRyeS5ib3VuZGluZ0NsaWVudFJlY3QuYm90dG9tID4gZW50cnkucm9vdEJvdW5kcy5ib3R0b20pIHtcbiAgICAgIC8vIGVudHJ5IGlzIGN1dCBvZmYgYXQgdGhlIGJvdHRvbSBieSAke2VudHJ5LmJvdW5kaW5nQ2xpZW50UmVjdC5ib3R0b20gLSBlbnRyeS5pbnRlcnNlY3Rpb25SZWN0LmJvdHRvbX1weFxuICAgICAgY29uc3QgY29udGFpbmVyT2Zmc2V0VG9wID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO1xuICAgICAgY29uc3QgU1BBQ0lORyA9IDU7IC8vVE9ETzogR2V0IGZyb20gU0NTU1xuICAgICAgLy8gQ2hlY2sgaWYgdGhlIGNhcmQgY2FuIGZpdCBvbiB0b3Agb2YgYnV0dG9uOlxuICAgICAgaWYgKGNvbnRhaW5lck9mZnNldFRvcCA+IGVudHJ5LnRhcmdldC5jbGllbnRIZWlnaHQgKyBTUEFDSU5HKSB7XG4gICAgICAgIC8vIG9wZW4gdXB3YXJkczpcbiAgICAgICAgdGhpcy52ZXJ0aWNhbERpcmVjdGlvbiA9IFZlcnRpY2FsRGlyZWN0aW9uLnVwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9wZW4oKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmlzT3Blbikge1xuICAgICAgdGhpcy5zdGF0ZSA9IE9wZW5TdGF0ZS5vcGVuaW5nO1xuICAgICAgLy8gZW5zdXJlcyB0aGF0IHRoZSBkcm9wZG93biBpcyBvcGVuZWQgaW4gY2FzZSB0aGUgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayBpc24ndCBpbnZva2VkXG4gICAgICB0aGlzLnNob3dEcm9wZG93blRpbWVvdXRJZCA9IHNldFRpbWVvdXQoXG4gICAgICAgICgpID0+IHRoaXMuc2hvd0Ryb3Bkb3duKCksXG4gICAgICAgIERyb3Bkb3duQ29tcG9uZW50Lk9QRU5fREVMQVlfSU5fTVNcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzaG93RHJvcGRvd24oKSB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT09IE9wZW5TdGF0ZS5vcGVuaW5nKSB7XG4gICAgICB0aGlzLnN0YXRlID0gT3BlblN0YXRlLm9wZW47XG4gICAgICB0aGlzLnBvcG92ZXI/LnNob3coKTtcbiAgICAgIHRoaXMuc2Nyb2xsSXRlbUludG9WaWV3KHRoaXMuc2VsZWN0ZWRJbmRleCk7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgdGhpcy5zdGF0ZSA9IE9wZW5TdGF0ZS5jbG9zZWQ7XG4gICAgICAvLyBSZXNldCB2ZXJ0aWNhbCBkaXJlY3Rpb24gdG8gZGVmYXVsdFxuICAgICAgdGhpcy52ZXJ0aWNhbERpcmVjdGlvbiA9IFZlcnRpY2FsRGlyZWN0aW9uLmRvd247XG4gICAgICB0aGlzLnBvcG92ZXI/LmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICBvbkl0ZW1TZWxlY3QoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuc2VsZWN0SXRlbShpbmRleCk7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XG4gIHByaXZhdGUgX29uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzZWxlY3QncyB2YWx1ZS4gUGFydCBvZiB0aGUgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gICAqIHJlcXVpcmVkIHRvIGludGVncmF0ZSB3aXRoIEFuZ3VsYXIncyBjb3JlIGZvcm1zIEFQSS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIE5ldyB2YWx1ZSB0byBiZSB3cml0dGVuIHRvIHRoZSBtb2RlbC5cbiAgICovXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX3NlbGVjdEl0ZW1CeVZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlcyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGludm9rZWQgd2hlbiB0aGUgc2VsZWN0J3MgdmFsdWVcbiAgICogY2hhbmdlcyBmcm9tIHVzZXIgaW5wdXQuIFBhcnQgb2YgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZVxuICAgKiByZXF1aXJlZCB0byBpbnRlZ3JhdGUgd2l0aCBBbmd1bGFyJ3MgY29yZSBmb3JtcyBBUEkuXG4gICAqXG4gICAqIEBwYXJhbSBmbiBDYWxsYmFjayB0byBiZSB0cmlnZ2VyZWQgd2hlbiB0aGUgdmFsdWUgY2hhbmdlcy5cbiAgICovXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvKipcbiAgICogU2F2ZXMgYSBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBpbnZva2VkIHdoZW4gdGhlIHNlbGVjdCBpcyBibHVycmVkXG4gICAqIGJ5IHRoZSB1c2VyLiBQYXJ0IG9mIHRoZSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2UgcmVxdWlyZWRcbiAgICogdG8gaW50ZWdyYXRlIHdpdGggQW5ndWxhcidzIGNvcmUgZm9ybXMgQVBJLlxuICAgKlxuICAgKiBAcGFyYW0gZm4gQ2FsbGJhY2sgdG8gYmUgdHJpZ2dlcmVkIHdoZW4gdGhlIGNvbXBvbmVudCBoYXMgYmVlbiB0b3VjaGVkLlxuICAgKi9cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc2FibGVzIHRoZSBzZWxlY3QuIFBhcnQgb2YgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZSByZXF1aXJlZFxuICAgKiB0byBpbnRlZ3JhdGUgd2l0aCBBbmd1bGFyJ3MgY29yZSBmb3JtcyBBUEkuXG4gICAqXG4gICAqIEBwYXJhbSBpc0Rpc2FibGVkIFNldHMgd2hldGhlciB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkLlxuICAgKi9cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RJdGVtKGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAoaW5kZXggIT0gdGhpcy5zZWxlY3RlZEluZGV4KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSBpbmRleDtcbiAgICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICAgIHRoaXMuc2Nyb2xsSXRlbUludG9WaWV3KGluZGV4KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZWxlY3RJdGVtQnlWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gdGhpcy5pdGVtcy5pbmRleE9mKHZhbHVlKTtcbiAgfVxuXG4gIGdldFRleHRGcm9tSXRlbShpdGVtOiBzdHJpbmcgfCBhbnkpIHtcbiAgICBpZiAoIWl0ZW0pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdHlwZW9mIGl0ZW0gPT09ICdzdHJpbmcnID8gaXRlbSA6IGl0ZW1bdGhpcy5pdGVtVGV4dFByb3BlcnR5XTtcbiAgfVxuXG4gIHNjcm9sbEl0ZW1JbnRvVmlldyhpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3Qga2lyYnlJdGVtcyA9XG4gICAgICB0aGlzLmtpcmJ5SXRlbXNTbG90dGVkICYmIHRoaXMua2lyYnlJdGVtc1Nsb3R0ZWQubGVuZ3RoXG4gICAgICAgID8gdGhpcy5raXJieUl0ZW1zU2xvdHRlZFxuICAgICAgICA6IHRoaXMua2lyYnlJdGVtc0RlZmF1bHQ7XG4gICAgaWYgKGtpcmJ5SXRlbXMgJiYga2lyYnlJdGVtcy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkS2lyYnlJdGVtID0ga2lyYnlJdGVtcy50b0FycmF5KClbaW5kZXhdO1xuICAgICAgaWYgKHNlbGVjdGVkS2lyYnlJdGVtICYmIHNlbGVjdGVkS2lyYnlJdGVtLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgaXRlbUVsZW1lbnQgPSBzZWxlY3RlZEtpcmJ5SXRlbS5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBzY3JvbGxDb250YWluZXIgPSB0aGlzLmNhcmRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGl0ZW1Ub3AgPSBpdGVtRWxlbWVudC5vZmZzZXRUb3A7XG4gICAgICAgIGNvbnN0IGl0ZW1Cb3R0b20gPSBpdGVtRWxlbWVudC5vZmZzZXRUb3AgKyBpdGVtRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclZpc2libGVUb3AgPSBzY3JvbGxDb250YWluZXIuc2Nyb2xsVG9wO1xuICAgICAgICBjb25zdCBjb250YWluZXJWaXNpYmxlQm90dG9tID0gc2Nyb2xsQ29udGFpbmVyLmNsaWVudEhlaWdodCArIHNjcm9sbENvbnRhaW5lci5zY3JvbGxUb3A7XG4gICAgICAgIGlmIChpdGVtVG9wIDwgY29udGFpbmVyVmlzaWJsZVRvcCkge1xuICAgICAgICAgIHNjcm9sbENvbnRhaW5lci5zY3JvbGxUb3AgPSBpdGVtVG9wO1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW1Cb3R0b20gPiBjb250YWluZXJWaXNpYmxlQm90dG9tKSB7XG4gICAgICAgICAgc2Nyb2xsQ29udGFpbmVyLnNjcm9sbFRvcCA9IGl0ZW1Cb3R0b20gLSBzY3JvbGxDb250YWluZXIuY2xpZW50SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi50YWInLCBbJyRldmVudCddKVxuICBfb25UYWIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgX29uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gIF9vbkZvY3VzKCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgfVxuICB9XG5cbiAgX29uUG9wb3ZlcldpbGxIaWRlKCkge1xuICAgIHRoaXMuc3RhdGUgPSBPcGVuU3RhdGUuY2xvc2VkO1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVudGVyJylcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lc2NhcGUnKVxuICBfb25FbnRlck9yRXNjYXBlKCkge1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgfVxuXG4gIF9vblBvcG92ZXJDbGljayhldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignYmx1cicsIFsnJGV2ZW50J10pXG4gIF9vbkJsdXIoZXZlbnQ/OiBGb2N1c0V2ZW50KSB7XG4gICAgaWYgKHRoaXMudXNlUG9wb3ZlcikgcmV0dXJuO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uc3BhY2UnLCBbJyRldmVudCddKVxuICBfb25TcGFjZShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKCF0aGlzLmlzT3Blbikge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50J10pXG4gIF9vbkVudGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnRvZ2dsZSgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd3VwJywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd2Rvd24nLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93bGVmdCcsIFsnJGV2ZW50J10pXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dyaWdodCcsIFsnJGV2ZW50J10pXG4gIF9vbkFycm93S2V5cyhldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgLy8gTWlycm9yIGRlZmF1bHQgSFRNTDUgc2VsZWN0IGJlaGF2aW91ciAtIHByZXZlbnQgbGVmdC9yaWdodCBhcnJvd3Mgd2hlbiBvcGVuOlxuICAgIGlmICh0aGlzLmlzT3BlbiAmJiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JyB8fCBldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0JykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbmV3SW5kZXggPSB0aGlzLmtleWJvYXJkSGFuZGxlclNlcnZpY2UuaGFuZGxlKGV2ZW50LCB0aGlzLml0ZW1zLCB0aGlzLnNlbGVjdGVkSW5kZXgpO1xuICAgIGlmIChuZXdJbmRleCA+IC0xKSB7XG4gICAgICB0aGlzLnNlbGVjdEl0ZW0obmV3SW5kZXgpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmhvbWUnLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVuZCcsIFsnJGV2ZW50J10pXG4gIF9vbkhvbWVFbmRLZXlzKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICBjb25zdCBuZXdJbmRleCA9IHRoaXMua2V5Ym9hcmRIYW5kbGVyU2VydmljZS5oYW5kbGUoZXZlbnQsIHRoaXMuaXRlbXMsIHRoaXMuc2VsZWN0ZWRJbmRleCk7XG4gICAgaWYgKG5ld0luZGV4ID4gLTEpIHtcbiAgICAgIHRoaXMuc2VsZWN0SXRlbShuZXdJbmRleCk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgdW5saXN0ZW5BbGxTbG90dGVkSXRlbXMoKSB7XG4gICAgbGV0IHVubGlzdGVuSXRlbTogKCkgPT4gdm9pZDtcbiAgICB3aGlsZSAoKHVubGlzdGVuSXRlbSA9IHRoaXMuaXRlbUNsaWNrVW5saXN0ZW4ucG9wKCkpICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHVubGlzdGVuSXRlbSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudW5saXN0ZW5BbGxTbG90dGVkSXRlbXMoKTtcbiAgICBpZiAodGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlclJlZikge1xuICAgICAgdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlclJlZi5kaXNjb25uZWN0KCk7XG4gICAgfVxuICB9XG59XG4iLCI8YnV0dG9uXG4gIGtpcmJ5LWJ1dHRvblxuICBbc2l6ZV09XCJzaXplXCJcbiAgW2F0dGVudGlvbkxldmVsXT1cImlzT3BlbiA/IGF0dGVudGlvbkxldmVsT3BlbiA6IGF0dGVudGlvbkxldmVsXCJcbiAgdGFiaW5kZXg9XCItMVwiXG4gIChjbGljayk9XCJvblRvZ2dsZSgkZXZlbnQpXCJcbiAgKG1vdXNlZG93bik9XCJvbkJ1dHRvbk1vdXNlRXZlbnQoJGV2ZW50KVwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIHR5cGU9XCJidXR0b25cIlxuPlxuICA8c3BhbiBjbGFzcz1cInRleHRcIj57eyBzZWxlY3RlZFRleHQgfHwgcGxhY2Vob2xkZXIgfX08L3NwYW4+XG4gIDxraXJieS1pY29uIFtuYW1lXT1cImlzT3BlbiA/ICdhcnJvdy11cCcgOiAnYXJyb3ctZG93bidcIj48L2tpcmJ5LWljb24+XG48L2J1dHRvbj5cblxuPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInVzZVBvcG92ZXIgPyBwb3BvdmVyVGVtcGxhdGUgOiBpdGVtV3JhcHBlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjcG9wb3ZlclRlbXBsYXRlPlxuICA8a2lyYnktcG9wb3ZlclxuICAgIFt0YXJnZXRdPVwiYnV0dG9uRWxlbWVudFwiXG4gICAgW3BvcG91dF09XCJwb3BvdXRcIlxuICAgIChjbGljayk9XCJfb25Qb3BvdmVyQ2xpY2soJGV2ZW50KVwiXG4gICAgKHdpbGxIaWRlKT1cIl9vblBvcG92ZXJXaWxsSGlkZSgpXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtV3JhcHBlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwva2lyYnktcG9wb3Zlcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbVdyYXBwZXJUZW1wbGF0ZT5cbiAgPGtpcmJ5LWNhcmQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgIGl0ZW1UZW1wbGF0ZSB8fCBkZWZhdWx0SXRlbVRlbXBsYXRlO1xuICAgICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtLCBzZWxlY3RlZDogaSA9PT0gc2VsZWN0ZWRJbmRleCwgaW5kZXg6IGkgfVxuICAgICAgICBcIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2tpcmJ5LWNhcmQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRJdGVtVGVtcGxhdGUgbGV0LWl0ZW0gbGV0LXNlbGVjdGVkPVwic2VsZWN0ZWRcIiBsZXQtaW5kZXg9XCJpbmRleFwiPlxuICA8a2lyYnktaXRlbSBbc2VsZWN0YWJsZV09XCJ0cnVlXCIgW3NlbGVjdGVkXT1cInNlbGVjdGVkXCIgKGNsaWNrKT1cIm9uSXRlbVNlbGVjdChpbmRleClcIiByb2xlPVwib3B0aW9uXCI+XG4gICAgPCEtLSBUYWJpbmRleCBmaXhlcyBpc3N1ZSB3aXRoIHBvcG92ZXIgZHJvcGRvd24gbm90IHdvcmtpbmcgaW4gc2FmYXJpIC0tPlxuICAgIDxoMyB0YWJpbmRleD1cIjBcIj57eyBnZXRUZXh0RnJvbUl0ZW0oaXRlbSkgfX08L2gzPlxuICAgIDxraXJieS1pY29uICpuZ0lmPVwic2VsZWN0ZWRcIiBuYW1lPVwiY2hlY2ttYXJrLXNlbGVjdGVkXCIgc2xvdD1cImVuZFwiPjwva2lyYnktaWNvbj5cbiAgPC9raXJieS1pdGVtPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
549
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULG1CQUFtQixFQUNuQixXQUFXLEVBQ1gsU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFckYsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7QUFjcEUsTUFBTSxPQUFPLGlCQUFpQjtJQXVLNUIs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QyxZQUFZO3VCQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBSZW5kZXJlcjIsXG4gIFJlbmRlcmVyU3R5bGVGbGFnczIsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IENhcmRDb21wb25lbnQgfSBmcm9tICcuLi9jYXJkL2NhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9pdGVtL2l0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IExpc3RJdGVtVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuLi9saXN0L2xpc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IEhvcml6b250YWxEaXJlY3Rpb24sIFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuLi9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50JztcblxuaW1wb3J0IHsgT3BlblN0YXRlLCBWZXJ0aWNhbERpcmVjdGlvbiB9IGZyb20gJy4vZHJvcGRvd24udHlwZXMnO1xuaW1wb3J0IHsgS2V5Ym9hcmRIYW5kbGVyU2VydmljZSB9IGZyb20gJy4va2V5Ym9hcmQtaGFuZGxlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna2lyYnktZHJvcGRvd24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERyb3Bkb3duQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHN0YXRpYyByZWFkb25seSBPUEVOX0RFTEFZX0lOX01TID0gMTAwO1xuICBwcml2YXRlIHN0YXRlID0gT3BlblN0YXRlLmNsb3NlZDtcbiAgcHJpdmF0ZSBob3Jpem9udGFsRGlyZWN0aW9uOiBIb3Jpem9udGFsRGlyZWN0aW9uIHwgYCR7SG9yaXpvbnRhbERpcmVjdGlvbn1gID1cbiAgICBIb3Jpem9udGFsRGlyZWN0aW9uLnJpZ2h0O1xuICBwcml2YXRlIHZlcnRpY2FsRGlyZWN0aW9uOiBWZXJ0aWNhbERpcmVjdGlvbiB8IGAke1ZlcnRpY2FsRGlyZWN0aW9ufWAgPSBWZXJ0aWNhbERpcmVjdGlvbi5kb3duO1xuXG4gIHByaXZhdGUgX2l0ZW1zOiBzdHJpbmdbXSB8IGFueVtdID0gW107XG4gIGdldCBpdGVtcygpOiBzdHJpbmdbXSB8IGFueVtdIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXM7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgaXRlbXModmFsdWU6IHN0cmluZ1tdIHwgYW55W10pIHtcbiAgICB0aGlzLl9pdGVtcyA9IHZhbHVlO1xuICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5pdGVtc1t0aGlzLnNlbGVjdGVkSW5kZXhdIHx8IG51bGw7XG4gIH1cblxuICBwcml2YXRlIF9zZWxlY3RlZEluZGV4OiBudW1iZXIgPSAtMTtcbiAgZ2V0IHNlbGVjdGVkSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJbmRleDtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBzZWxlY3RlZEluZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0ZWRJbmRleCAhPSB2YWx1ZSkge1xuICAgICAgdGhpcy5fc2VsZWN0ZWRJbmRleCA9IHZhbHVlO1xuICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLml0ZW1zW3RoaXMuc2VsZWN0ZWRJbmRleF0gfHwgbnVsbDtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBpdGVtVGV4dFByb3BlcnR5ID0gJ3RleHQnO1xuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyID0gJ1BsZWFzZSBzZWxlY3Q6JztcblxuICBASW5wdXQoKSBzZXQgcG9wb3V0KGRpcmVjdGlvbjogSG9yaXpvbnRhbERpcmVjdGlvbiB8IGAke0hvcml6b250YWxEaXJlY3Rpb259YCkge1xuICAgIHRoaXMuaG9yaXpvbnRhbERpcmVjdGlvbiA9IGRpcmVjdGlvbiB8fCBIb3Jpem9udGFsRGlyZWN0aW9uLnJpZ2h0O1xuICB9XG5cbiAgZ2V0IHBvcG91dCgpIHtcbiAgICByZXR1cm4gdGhpcy5ob3Jpem9udGFsRGlyZWN0aW9uO1xuICB9XG5cbiAgQElucHV0KClcbiAgYXR0ZW50aW9uTGV2ZWw6ICcxJyB8ICcyJyB8ICczJyB8ICc0JyA9ICczJztcbiAgcmVhZG9ubHkgYXR0ZW50aW9uTGV2ZWxPcGVuID0gJzInO1xuXG4gIEBJbnB1dCgpXG4gIGV4cGFuZD86ICdibG9jayc7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGlzYWJsZWQnKVxuICBnZXQgX2lzRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogbnVsbDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZXJyb3InKVxuICBASW5wdXQoKVxuICBoYXNFcnJvcjogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBzaXplOiAnc20nIHwgJ21kJyA9ICdtZCc7XG5cbiAgQElucHV0KClcbiAgdGFiaW5kZXggPSAwO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3Mud2l0aC1wb3BvdmVyJylcbiAgQElucHV0KClcbiAgdXNlUG9wb3ZlciA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gIGdldCBfdGFiaW5kZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgPyAtMSA6IHRoaXMudGFiaW5kZXg7XG4gIH1cblxuICAvLyBQcmV2ZW50IElvbmljIGJsdXIgb24gc2Nyb2xsXG4gIEBIb3N0QmluZGluZygnYXR0ci5uby1ibHVyJylcbiAgZ2V0IF9ub0JsdXJPblNjcm9sbCgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gYW4gaXRlbSBpcyBzZWxlY3RlZCAodGFwIG9uIG1vYmlsZSwgY2xpY2sva2V5cHJlc3Mgb24gd2ViKVxuICAgKi9cbiAgQE91dHB1dCgpIGNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZyB8IGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IGFueT4oKTtcblxuICBwcml2YXRlIF92YWx1ZTogc3RyaW5nIHwgYW55ID0gbnVsbDtcbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB8IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgZ2V0IHNlbGVjdGVkVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldFRleHRGcm9tSXRlbSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZXhwYW5kJylcbiAgZ2V0IF9pc0Jsb2NrTGV2ZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXhwYW5kID09PSAnYmxvY2snO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICBfcm9sZSA9ICdsaXN0Ym94JztcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLW9wZW5pbmcnKVxuICBnZXQgX2lzT3BlbmluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZSA9PT0gT3BlblN0YXRlLm9wZW5pbmc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLW9wZW4nKVxuICBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlID09PSBPcGVuU3RhdGUub3BlbjtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MucG9wb3V0LWxlZnQnKVxuICBnZXQgX3BvcG91dExlZnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaG9yaXpvbnRhbERpcmVjdGlvbiA9PT0gSG9yaXpvbnRhbERpcmVjdGlvbi5sZWZ0O1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5wb3BvdXQtdXAnKVxuICBnZXQgX3BvcG91dFVwKCkge1xuICAgIHJldHVybiB0aGlzLnZlcnRpY2FsRGlyZWN0aW9uID09PSBWZXJ0aWNhbERpcmVjdGlvbi51cDtcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGQoTGlzdEl0ZW1UZW1wbGF0ZURpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgQENvbnRlbnRDaGlsZHJlbihMaXN0SXRlbVRlbXBsYXRlRGlyZWN0aXZlLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgc2xvdHRlZEl0ZW1zOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+O1xuICBAVmlld0NoaWxkKENhcmRDb21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBjYXJkRWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoUG9wb3ZlckNvbXBvbmVudClcbiAgcG9wb3Zlcj86IFBvcG92ZXJDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoQnV0dG9uQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KVxuICBidXR0b25FbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgQFZpZXdDaGlsZHJlbihJdGVtQ29tcG9uZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAga2lyYnlJdGVtc0RlZmF1bHQ6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj47XG5cbiAgX2tpcmJ5SXRlbXNTbG90dGVkOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+O1xuICBAQ29udGVudENoaWxkcmVuKEl0ZW1Db21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBzZXQga2lyYnlJdGVtc1Nsb3R0ZWQoa2lyYnlJdGVtczogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+Pikge1xuICAgIGNvbnN0IGhhc1Nsb3R0ZWRJdGVtcyA9IHRoaXMuaXRlbUNsaWNrVW5saXN0ZW4/Lmxlbmd0aCA+IDA7XG4gICAgaWYgKGhhc1Nsb3R0ZWRJdGVtcykge1xuICAgICAgdGhpcy51bmxpc3RlbkFsbFNsb3R0ZWRJdGVtcygpO1xuICAgIH1cblxuICAgIC8vIFNldHVwIGEgY2xpY2sgbGlzdGVuZXIgZm9yIGVhY2ggbmV3IHNsb3R0ZWQgaXRlbXNcbiAgICBraXJieUl0ZW1zLmZvckVhY2goKGtpcmJ5SXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGtpcmJ5SXRlbS5uYXRpdmVFbGVtZW50LCAncm9sZScsICdvcHRpb24nKTtcbiAgICAgIGNvbnN0IHVubGlzdGVuID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oa2lyYnlJdGVtLm5hdGl2ZUVsZW1lbnQsICdjbGljaycsICgpID0+IHtcbiAgICAgICAgdGhpcy5vbkl0ZW1TZWxlY3QoaW5kZXgpO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuaXRlbUNsaWNrVW5saXN0ZW4ucHVzaCh1bmxpc3Rlbik7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9raXJieUl0ZW1zU2xvdHRlZCA9IGtpcmJ5SXRlbXM7XG4gIH1cblxuICBnZXQga2lyYnlJdGVtc1Nsb3R0ZWQoKTogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2tpcmJ5SXRlbXNTbG90dGVkO1xuICB9XG5cbiAgcHJpdmF0ZSBpdGVtQ2xpY2tVbmxpc3RlbjogKCgpID0+IHZvaWQpW10gPSBbXTtcbiAgcHJpdmF0ZSBpbnRlcnNlY3Rpb25PYnNlcnZlclJlZjogSW50ZXJzZWN0aW9uT2JzZXJ2ZXI7XG4gIHByaXZhdGUgc2hvd0Ryb3Bkb3duVGltZW91dElkOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGtleWJvYXJkSGFuZGxlclNlcnZpY2U6IEtleWJvYXJkSGFuZGxlclNlcnZpY2VcbiAgKSB7fVxuXG4gIG9uVG9nZ2xlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKCF0aGlzLmlzT3Blbikge1xuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gICAgdGhpcy50b2dnbGUoKTtcbiAgfVxuXG4gIHRvZ2dsZSgpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmlzT3BlbiA/IHRoaXMuY2xvc2UoKSA6IHRoaXMub3BlbigpO1xuICB9XG5cbiAgb25CdXR0b25Nb3VzZUV2ZW50KGV2ZW50OiBFdmVudCkge1xuICAgIC8vIFByZXZlbnQgYnV0dG9uIGZvY3VzO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICAvKiBVdGlsaXR5IHRoYXQgbWFrZXMgaXQgZWFzaWVyIHRvIHNldCBzdHlsZXMgb24gY2FyZCBlbGVtZW50XG4gIHdoZW4gdXNpbmcgcG9wb3ZlciovXG4gIHByaXZhdGUgc2V0UG9wb3ZlckNhcmRTdHlsZShzdHlsZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLnVzZVBvcG92ZXIpIHJldHVybjtcblxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICB0aGlzLmNhcmRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICBzdHlsZSxcbiAgICAgIHZhbHVlLFxuICAgICAgUmVuZGVyZXJTdHlsZUZsYWdzMi5EYXNoQ2FzZVxuICAgICk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMudXNlUG9wb3ZlciAmJiB0aGlzLmV4cGFuZCA9PT0gJ2Jsb2NrJykge1xuICAgICAgY29uc3QgeyB3aWR0aCB9ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICB0aGlzLnNldFBvcG92ZXJDYXJkU3R5bGUoJy0ta2lyYnktY2FyZC13aWR0aCcsIGAke3dpZHRofXB4YCk7XG4gICAgICB0aGlzLnNldFBvcG92ZXJDYXJkU3R5bGUoJ21heC13aWR0aCcsICdpbml0aWFsJyk7XG4gICAgICB0aGlzLnNldFBvcG92ZXJDYXJkU3R5bGUoJ21pbi13aWR0aCcsICdpbml0aWFsJyk7XG4gICAgfVxuICAgIHRoaXMuaW5pdGlhbGl6ZUFsaWdubWVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplQWxpZ25tZW50KCkge1xuICAgIGlmICh0aGlzLnVzZVBvcG92ZXIpIHJldHVybjtcbiAgICBpZiAoIXRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXJSZWYpIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgIHJvb3RNYXJnaW46ICcwcHgnLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGNhbGxiYWNrOiBJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrID0gKGVudHJpZXMpID0+IHtcbiAgICAgICAgLy8gT25seSBhcHBseSBhbGlnbm1lbnQgd2hlbiBvcGVuaW5nOlxuICAgICAgICBpZiAodGhpcy5zdGF0ZSAhPT0gT3BlblN0YXRlLm9wZW5pbmcpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDYW5jZWwgYW55IHBlbmRpbmcgdGltZXIgdG8gc2hvdyBkcm9wZG93bjpcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc2hvd0Ryb3Bkb3duVGltZW91dElkKTtcbiAgICAgICAgY29uc3QgZW50cnkgPSBlbnRyaWVzWzBdO1xuICAgICAgICBjb25zdCBpc1Zpc2libGUgPSBlbnRyeS5ib3VuZGluZ0NsaWVudFJlY3Qud2lkdGggPiAwO1xuICAgICAgICBpZiAoaXNWaXNpYmxlICYmIGVudHJ5LmludGVyc2VjdGlvblJhdGlvIDwgMSkge1xuICAgICAgICAgIHRoaXMuc2V0SG9yaXpvbnRhbERpcmVjdGlvbihlbnRyeSk7XG4gICAgICAgICAgdGhpcy5zZXRWZXJ0aWNhbERpcmVjdGlvbihlbnRyeSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zaG93RHJvcGRvd24oKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9O1xuICAgICAgdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlclJlZiA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihjYWxsYmFjaywgb3B0aW9ucyk7XG4gICAgICB0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyUmVmLm9ic2VydmUodGhpcy5jYXJkRWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEhvcml6b250YWxEaXJlY3Rpb24oZW50cnk6IEludGVyc2VjdGlvbk9ic2VydmVyRW50cnkpIHtcbiAgICAvLyBJZiBwb3BvdXQgZGlyZWN0aW9uIGlzIHNldCB0byByaWdodCwgYW5kIHRoZSBlbnRyeSBpcyBjdXQgb2ZmIHRvIHRoZSByaWdodCBieSAke2VudHJ5LmJvdW5kaW5nQ2xpZW50UmVjdC5yaWdodCAtIGVudHJ5LmludGVyc2VjdGlvblJlY3QucmlnaHR9cHhcbiAgICAvLyBpdCBpcyBzZXQgdG8gcG9wb3V0IGxlZnQgaW5zdGVhZCwgYW5kIHZpY2UgdmVyc2EgZm9yIHBvcG91dCBkaXJlY3Rpb24gbGVmdFxuICAgIGlmICh0aGlzLmhvcml6b250YWxEaXJlY3Rpb24gPT09IEhvcml6b250YWxEaXJlY3Rpb24ucmlnaHQpIHtcbiAgICAgIGlmIChlbnRyeS5ib3VuZGluZ0NsaWVudFJlY3QucmlnaHQgPiBlbnRyeS5yb290Qm91bmRzLnJpZ2h0KSB7XG4gICAgICAgIHRoaXMuaG9yaXpvbnRhbERpcmVjdGlvbiA9IEhvcml6b250YWxEaXJlY3Rpb24ubGVmdDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGVudHJ5LmJvdW5kaW5nQ2xpZW50UmVjdC5sZWZ0IDwgZW50cnkucm9vdEJvdW5kcy5sZWZ0KSB7XG4gICAgICAgIHRoaXMuaG9yaXpvbnRhbERpcmVjdGlvbiA9IEhvcml6b250YWxEaXJlY3Rpb24ucmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRWZXJ0aWNhbERpcmVjdGlvbihlbnRyeTogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeSkge1xuICAgIGlmIChlbnRyeS5ib3VuZGluZ0NsaWVudFJlY3QudG9wIDwgMCkge1xuICAgICAgLy8gZW50cnkgaXMgY3V0IG9mZiBhdCB0aGUgdG9wIGJ5ICR7ZW50cnkuYm91bmRpbmdDbGllbnRSZWN0LnRvcH1weFxuICAgICAgLy8gb3BlbiBkb3dud2FyZHM6XG4gICAgICB0aGlzLnZlcnRpY2FsRGlyZWN0aW9uID0gVmVydGljYWxEaXJlY3Rpb24uZG93bjtcbiAgICB9XG4gICAgaWYgKGVudHJ5LmJvdW5kaW5nQ2xpZW50UmVjdC5ib3R0b20gPiBlbnRyeS5yb290Qm91bmRzLmJvdHRvbSkge1xuICAgICAgLy8gZW50cnkgaXMgY3V0IG9mZiBhdCB0aGUgYm90dG9tIGJ5ICR7ZW50cnkuYm91bmRpbmdDbGllbnRSZWN0LmJvdHRvbSAtIGVudHJ5LmludGVyc2VjdGlvblJlY3QuYm90dG9tfXB4XG4gICAgICBjb25zdCBjb250YWluZXJPZmZzZXRUb3AgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XG4gICAgICBjb25zdCBTUEFDSU5HID0gNTsgLy9UT0RPOiBHZXQgZnJvbSBTQ1NTXG4gICAgICAvLyBDaGVjayBpZiB0aGUgY2FyZCBjYW4gZml0IG9uIHRvcCBvZiBidXR0b246XG4gICAgICBpZiAoY29udGFpbmVyT2Zmc2V0VG9wID4gZW50cnkudGFyZ2V0LmNsaWVudEhlaWdodCArIFNQQUNJTkcpIHtcbiAgICAgICAgLy8gb3BlbiB1cHdhcmRzOlxuICAgICAgICB0aGlzLnZlcnRpY2FsRGlyZWN0aW9uID0gVmVydGljYWxEaXJlY3Rpb24udXA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb3BlbigpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuaXNPcGVuKSB7XG4gICAgICB0aGlzLnN0YXRlID0gT3BlblN0YXRlLm9wZW5pbmc7XG4gICAgICAvLyBlbnN1cmVzIHRoYXQgdGhlIGRyb3Bkb3duIGlzIG9wZW5lZCBpbiBjYXNlIHRoZSBJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrIGlzbid0IGludm9rZWRcbiAgICAgIHRoaXMuc2hvd0Ryb3Bkb3duVGltZW91dElkID0gc2V0VGltZW91dChcbiAgICAgICAgKCkgPT4gdGhpcy5zaG93RHJvcGRvd24oKSxcbiAgICAgICAgRHJvcGRvd25Db21wb25lbnQuT1BFTl9ERUxBWV9JTl9NU1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNob3dEcm9wZG93bigpIHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gT3BlblN0YXRlLm9wZW5pbmcpIHtcbiAgICAgIHRoaXMuc3RhdGUgPSBPcGVuU3RhdGUub3BlbjtcbiAgICAgIHRoaXMucG9wb3Zlcj8uc2hvdygpO1xuICAgICAgdGhpcy5zY3JvbGxJdGVtSW50b1ZpZXcodGhpcy5zZWxlY3RlZEluZGV4KTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICB0aGlzLnN0YXRlID0gT3BlblN0YXRlLmNsb3NlZDtcbiAgICAgIC8vIFJlc2V0IHZlcnRpY2FsIGRpcmVjdGlvbiB0byBkZWZhdWx0XG4gICAgICB0aGlzLnZlcnRpY2FsRGlyZWN0aW9uID0gVmVydGljYWxEaXJlY3Rpb24uZG93bjtcbiAgICAgIHRoaXMucG9wb3Zlcj8uaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uSXRlbVNlbGVjdChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5zZWxlY3RJdGVtKGluZGV4KTtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIF9vbkNoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgcHJpdmF0ZSBfb25Ub3VjaGVkID0gKCkgPT4ge307XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHNlbGVjdCdzIHZhbHVlLiBQYXJ0IG9mIHRoZSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgICogcmVxdWlyZWQgdG8gaW50ZWdyYXRlIHdpdGggQW5ndWxhcidzIGNvcmUgZm9ybXMgQVBJLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgTmV3IHZhbHVlIHRvIGJlIHdyaXR0ZW4gdG8gdGhlIG1vZGVsLlxuICAgKi9cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fc2VsZWN0SXRlbUJ5VmFsdWUodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNhdmVzIGEgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgaW52b2tlZCB3aGVuIHRoZSBzZWxlY3QncyB2YWx1ZVxuICAgKiBjaGFuZ2VzIGZyb20gdXNlciBpbnB1dC4gUGFydCBvZiB0aGUgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gICAqIHJlcXVpcmVkIHRvIGludGVncmF0ZSB3aXRoIEFuZ3VsYXIncyBjb3JlIGZvcm1zIEFQSS5cbiAgICpcbiAgICogQHBhcmFtIGZuIENhbGxiYWNrIHRvIGJlIHRyaWdnZXJlZCB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzLlxuICAgKi9cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlcyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGludm9rZWQgd2hlbiB0aGUgc2VsZWN0IGlzIGJsdXJyZWRcbiAgICogYnkgdGhlIHVzZXIuIFBhcnQgb2YgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZSByZXF1aXJlZFxuICAgKiB0byBpbnRlZ3JhdGUgd2l0aCBBbmd1bGFyJ3MgY29yZSBmb3JtcyBBUEkuXG4gICAqXG4gICAqIEBwYXJhbSBmbiBDYWxsYmFjayB0byBiZSB0cmlnZ2VyZWQgd2hlbiB0aGUgY29tcG9uZW50IGhhcyBiZWVuIHRvdWNoZWQuXG4gICAqL1xuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XG4gIH1cblxuICAvKipcbiAgICogRGlzYWJsZXMgdGhlIHNlbGVjdC4gUGFydCBvZiB0aGUgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlIHJlcXVpcmVkXG4gICAqIHRvIGludGVncmF0ZSB3aXRoIEFuZ3VsYXIncyBjb3JlIGZvcm1zIEFQSS5cbiAgICpcbiAgICogQHBhcmFtIGlzRGlzYWJsZWQgU2V0cyB3aGV0aGVyIHRoZSBjb21wb25lbnQgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdEl0ZW0oaW5kZXg6IG51bWJlcikge1xuICAgIGlmIChpbmRleCAhPSB0aGlzLnNlbGVjdGVkSW5kZXgpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IGluZGV4O1xuICAgICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgdGhpcy5zY3JvbGxJdGVtSW50b1ZpZXcoaW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NlbGVjdEl0ZW1CeVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSB0aGlzLml0ZW1zLmluZGV4T2YodmFsdWUpO1xuICB9XG5cbiAgZ2V0VGV4dEZyb21JdGVtKGl0ZW06IHN0cmluZyB8IGFueSkge1xuICAgIGlmICghaXRlbSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB0eXBlb2YgaXRlbSA9PT0gJ3N0cmluZycgPyBpdGVtIDogaXRlbVt0aGlzLml0ZW1UZXh0UHJvcGVydHldO1xuICB9XG5cbiAgc2Nyb2xsSXRlbUludG9WaWV3KGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBraXJieUl0ZW1zID1cbiAgICAgIHRoaXMua2lyYnlJdGVtc1Nsb3R0ZWQgJiYgdGhpcy5raXJieUl0ZW1zU2xvdHRlZC5sZW5ndGhcbiAgICAgICAgPyB0aGlzLmtpcmJ5SXRlbXNTbG90dGVkXG4gICAgICAgIDogdGhpcy5raXJieUl0ZW1zRGVmYXVsdDtcbiAgICBpZiAoa2lyYnlJdGVtcyAmJiBraXJieUl0ZW1zLmxlbmd0aCkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRLaXJieUl0ZW0gPSBraXJieUl0ZW1zLnRvQXJyYXkoKVtpbmRleF07XG4gICAgICBpZiAoc2VsZWN0ZWRLaXJieUl0ZW0gJiYgc2VsZWN0ZWRLaXJieUl0ZW0ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICBjb25zdCBpdGVtRWxlbWVudCA9IHNlbGVjdGVkS2lyYnlJdGVtLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHNjcm9sbENvbnRhaW5lciA9IHRoaXMuY2FyZEVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgaXRlbVRvcCA9IGl0ZW1FbGVtZW50Lm9mZnNldFRvcDtcbiAgICAgICAgY29uc3QgaXRlbUJvdHRvbSA9IGl0ZW1FbGVtZW50Lm9mZnNldFRvcCArIGl0ZW1FbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgICAgY29uc3QgY29udGFpbmVyVmlzaWJsZVRvcCA9IHNjcm9sbENvbnRhaW5lci5zY3JvbGxUb3A7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclZpc2libGVCb3R0b20gPSBzY3JvbGxDb250YWluZXIuY2xpZW50SGVpZ2h0ICsgc2Nyb2xsQ29udGFpbmVyLnNjcm9sbFRvcDtcbiAgICAgICAgaWYgKGl0ZW1Ub3AgPCBjb250YWluZXJWaXNpYmxlVG9wKSB7XG4gICAgICAgICAgc2Nyb2xsQ29udGFpbmVyLnNjcm9sbFRvcCA9IGl0ZW1Ub3A7XG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbUJvdHRvbSA+IGNvbnRhaW5lclZpc2libGVCb3R0b20pIHtcbiAgICAgICAgICBzY3JvbGxDb250YWluZXIuc2Nyb2xsVG9wID0gaXRlbUJvdHRvbSAtIHNjcm9sbENvbnRhaW5lci5jbGllbnRIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLnRhYicsIFsnJGV2ZW50J10pXG4gIF9vblRhYihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICBfb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBbJyRldmVudCddKVxuICBfb25Ub3VjaFN0YXJ0KGV2ZW50OiBUb3VjaEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gIF9vbkZvY3VzKCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgfVxuICB9XG5cbiAgX29uUG9wb3ZlcldpbGxIaWRlKCkge1xuICAgIHRoaXMuc3RhdGUgPSBPcGVuU3RhdGUuY2xvc2VkO1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVudGVyJylcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lc2NhcGUnKVxuICBfb25FbnRlck9yRXNjYXBlKCkge1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgfVxuXG4gIF9vblBvcG92ZXJDbGljayhldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignYmx1cicsIFsnJGV2ZW50J10pXG4gIF9vbkJsdXIoZXZlbnQ/OiBGb2N1c0V2ZW50KSB7XG4gICAgaWYgKHRoaXMudXNlUG9wb3ZlcikgcmV0dXJuO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uc3BhY2UnLCBbJyRldmVudCddKVxuICBfb25TcGFjZShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKCF0aGlzLmlzT3Blbikge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50J10pXG4gIF9vbkVudGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnRvZ2dsZSgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd3VwJywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd2Rvd24nLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93bGVmdCcsIFsnJGV2ZW50J10pXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dyaWdodCcsIFsnJGV2ZW50J10pXG4gIF9vbkFycm93S2V5cyhldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgLy8gTWlycm9yIGRlZmF1bHQgSFRNTDUgc2VsZWN0IGJlaGF2aW91ciAtIHByZXZlbnQgbGVmdC9yaWdodCBhcnJvd3Mgd2hlbiBvcGVuOlxuICAgIGlmICh0aGlzLmlzT3BlbiAmJiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JyB8fCBldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0JykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbmV3SW5kZXggPSB0aGlzLmtleWJvYXJkSGFuZGxlclNlcnZpY2UuaGFuZGxlKGV2ZW50LCB0aGlzLml0ZW1zLCB0aGlzLnNlbGVjdGVkSW5kZXgpO1xuICAgIGlmIChuZXdJbmRleCA+IC0xKSB7XG4gICAgICB0aGlzLnNlbGVjdEl0ZW0obmV3SW5kZXgpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmhvbWUnLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVuZCcsIFsnJGV2ZW50J10pXG4gIF9vbkhvbWVFbmRLZXlzKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICBjb25zdCBuZXdJbmRleCA9IHRoaXMua2V5Ym9hcmRIYW5kbGVyU2VydmljZS5oYW5kbGUoZXZlbnQsIHRoaXMuaXRlbXMsIHRoaXMuc2VsZWN0ZWRJbmRleCk7XG4gICAgaWYgKG5ld0luZGV4ID4gLTEpIHtcbiAgICAgIHRoaXMuc2VsZWN0SXRlbShuZXdJbmRleCk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgdW5saXN0ZW5BbGxTbG90dGVkSXRlbXMoKSB7XG4gICAgbGV0IHVubGlzdGVuSXRlbTogKCkgPT4gdm9pZDtcbiAgICB3aGlsZSAoKHVubGlzdGVuSXRlbSA9IHRoaXMuaXRlbUNsaWNrVW5saXN0ZW4ucG9wKCkpICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHVubGlzdGVuSXRlbSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudW5saXN0ZW5BbGxTbG90dGVkSXRlbXMoKTtcbiAgICBpZiAodGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlclJlZikge1xuICAgICAgdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlclJlZi5kaXNjb25uZWN0KCk7XG4gICAgfVxuICB9XG59XG4iLCI8YnV0dG9uXG4gIGtpcmJ5LWJ1dHRvblxuICBbc2l6ZV09XCJzaXplXCJcbiAgW2F0dGVudGlvbkxldmVsXT1cImlzT3BlbiA/IGF0dGVudGlvbkxldmVsT3BlbiA6IGF0dGVudGlvbkxldmVsXCJcbiAgdGFiaW5kZXg9XCItMVwiXG4gIChjbGljayk9XCJvblRvZ2dsZSgkZXZlbnQpXCJcbiAgKG1vdXNlZG93bik9XCJvbkJ1dHRvbk1vdXNlRXZlbnQoJGV2ZW50KVwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIHR5cGU9XCJidXR0b25cIlxuPlxuICA8c3BhbiBjbGFzcz1cInRleHRcIj57eyBzZWxlY3RlZFRleHQgfHwgcGxhY2Vob2xkZXIgfX08L3NwYW4+XG4gIDxraXJieS1pY29uIFtuYW1lXT1cImlzT3BlbiA/ICdhcnJvdy11cCcgOiAnYXJyb3ctZG93bidcIj48L2tpcmJ5LWljb24+XG48L2J1dHRvbj5cblxuPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInVzZVBvcG92ZXIgPyBwb3BvdmVyVGVtcGxhdGUgOiBpdGVtV3JhcHBlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjcG9wb3ZlclRlbXBsYXRlPlxuICA8a2lyYnktcG9wb3ZlclxuICAgIFt0YXJnZXRdPVwiYnV0dG9uRWxlbWVudFwiXG4gICAgW3BvcG91dF09XCJwb3BvdXRcIlxuICAgIChjbGljayk9XCJfb25Qb3BvdmVyQ2xpY2soJGV2ZW50KVwiXG4gICAgKHdpbGxIaWRlKT1cIl9vblBvcG92ZXJXaWxsSGlkZSgpXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtV3JhcHBlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwva2lyYnktcG9wb3Zlcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbVdyYXBwZXJUZW1wbGF0ZT5cbiAgPGtpcmJ5LWNhcmQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgIGl0ZW1UZW1wbGF0ZSB8fCBkZWZhdWx0SXRlbVRlbXBsYXRlO1xuICAgICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtLCBzZWxlY3RlZDogaSA9PT0gc2VsZWN0ZWRJbmRleCwgaW5kZXg6IGkgfVxuICAgICAgICBcIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2tpcmJ5LWNhcmQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRJdGVtVGVtcGxhdGUgbGV0LWl0ZW0gbGV0LXNlbGVjdGVkPVwic2VsZWN0ZWRcIiBsZXQtaW5kZXg9XCJpbmRleFwiPlxuICA8a2lyYnktaXRlbSBbc2VsZWN0YWJsZV09XCJ0cnVlXCIgW3NlbGVjdGVkXT1cInNlbGVjdGVkXCIgKGNsaWNrKT1cIm9uSXRlbVNlbGVjdChpbmRleClcIiByb2xlPVwib3B0aW9uXCI+XG4gICAgPCEtLSBUYWJpbmRleCBmaXhlcyBpc3N1ZSB3aXRoIHBvcG92ZXIgZHJvcGRvd24gbm90IHdvcmtpbmcgaW4gc2FmYXJpIC0tPlxuICAgIDxoMyB0YWJpbmRleD1cIjBcIj57eyBnZXRUZXh0RnJvbUl0ZW0oaXRlbSkgfX08L2gzPlxuICAgIDxraXJieS1pY29uICpuZ0lmPVwic2VsZWN0ZWRcIiBuYW1lPVwiY2hlY2ttYXJrLXNlbGVjdGVkXCIgc2xvdD1cImVuZFwiPjwva2lyYnktaWNvbj5cbiAgPC9raXJieS1pdGVtPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { DOCUMENT } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, HostBinding, Inject, Input, Renderer2, ViewChild, } from '@angular/core';
|
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, HostBinding, Inject, Input, Renderer2, ViewChild, } from '@angular/core';
|
|
3
3
|
import { IonFabButton } from '@ionic/angular';
|
|
4
4
|
import { ActionSheetComponent } from '../modal/action-sheet/action-sheet.component';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@ionic/angular";
|
|
7
7
|
import * as i2 from "@angular/common";
|
|
8
8
|
export class FabSheetComponent {
|
|
9
|
-
constructor(renderer, document) {
|
|
9
|
+
constructor(renderer, changeDetectorRef, document) {
|
|
10
10
|
this.renderer = renderer;
|
|
11
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
11
12
|
this.document = document;
|
|
12
13
|
this.disabled = false;
|
|
13
14
|
this.horizontalAlignment = 'right';
|
|
@@ -39,15 +40,19 @@ export class FabSheetComponent {
|
|
|
39
40
|
else {
|
|
40
41
|
this.renderer.removeClass(this.document.body, 'fab-sheet-active');
|
|
41
42
|
}
|
|
42
|
-
|
|
43
|
+
// Postpone backdrop visibility update to allow for animation of opacity
|
|
44
|
+
setTimeout(() => {
|
|
45
|
+
this._isBackdropVisible = this.isFabSheetOpen;
|
|
46
|
+
this.changeDetectorRef.markForCheck();
|
|
47
|
+
});
|
|
43
48
|
}
|
|
44
49
|
}
|
|
45
|
-
/** @nocollapse */ FabSheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: FabSheetComponent, deps: [{ token: i0.Renderer2 }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
+
/** @nocollapse */ FabSheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: FabSheetComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
46
51
|
/** @nocollapse */ FabSheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: FabSheetComponent, selector: "kirby-fab-sheet", inputs: { disabled: "disabled", horizontalAlignment: "horizontalAlignment" }, host: { properties: { "class.is-open": "this.isFabSheetOpen", "class.backdrop-visible": "this.isBackdropVisible" } }, queries: [{ propertyName: "actionSheet", first: true, predicate: ActionSheetComponent, descendants: true }], viewQueries: [{ propertyName: "ionFabButton", first: true, predicate: IonFabButton, descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<ion-backdrop\n *ngIf=\"actionSheet && isFabSheetOpen\"\n (ionBackdropTap)=\"hideActions(fab)\"\n (click)=\"hideActions(fab)\"\n></ion-backdrop>\n<ion-fab #fab (click)=\"disabled || onFabClick(fab)\">\n <ion-fab-button [disabled]=\"disabled\" [attr.disabled]=\"disabled ? true : null\" tabindex=\"-1\">\n <ng-content select=\"kirby-icon\"></ng-content>\n </ion-fab-button>\n <ion-fab-list *ngIf=\"actionSheet\" side=\"top\" class=\"{{ horizontalAlignment }}\">\n <ng-content select=\"kirby-action-sheet\"></ng-content>\n </ion-fab-list>\n</ion-fab>\n", styles: [":host{--kirby-action-sheet-margin-horizontal: 16px}ion-fab-button{--box-shadow: 0 20px 30px -15px rgba(28, 28, 28, .3), 0 0 5px 0 rgba(28, 28, 28, .08);width:64px;height:64px;-webkit-user-select:none;user-select:none;outline:none}@media (hover: hover){ion-fab-button:focus{--border-width: 1px;--border-style: solid;--border-color: rgb(77, 144, 254)}}ion-fab-button[disabled]{--background: var(--kirby-semi-light);--box-shadow: none;opacity:1}ion-fab{position:fixed;bottom:16px;right:16px}:host-context(.fixed-content) ion-fab{position:absolute}ion-backdrop{opacity:0;transition:opacity .75s;position:fixed;z-index:999}:host(.backdrop-visible) ion-backdrop{opacity:.4}@media (min-width: 721px){:host(.backdrop-visible) ion-backdrop{opacity:0}}ion-fab-list{margin-top:76px;margin-bottom:76px;right:0}\n"], components: [{ type: i1.IonBackdrop, selector: "ion-backdrop", inputs: ["stopPropagation", "tappable", "visible"] }, { type: i1.IonFab, selector: "ion-fab", inputs: ["activated", "edge", "horizontal", "vertical"] }, { type: i1.IonFabButton, selector: "ion-fab-button", inputs: ["activated", "closeIcon", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "show", "size", "target", "translucent", "type"] }, { type: i1.IonFabList, selector: "ion-fab-list", inputs: ["activated", "side"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
47
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: FabSheetComponent, decorators: [{
|
|
48
53
|
type: Component,
|
|
49
54
|
args: [{ selector: 'kirby-fab-sheet', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ion-backdrop\n *ngIf=\"actionSheet && isFabSheetOpen\"\n (ionBackdropTap)=\"hideActions(fab)\"\n (click)=\"hideActions(fab)\"\n></ion-backdrop>\n<ion-fab #fab (click)=\"disabled || onFabClick(fab)\">\n <ion-fab-button [disabled]=\"disabled\" [attr.disabled]=\"disabled ? true : null\" tabindex=\"-1\">\n <ng-content select=\"kirby-icon\"></ng-content>\n </ion-fab-button>\n <ion-fab-list *ngIf=\"actionSheet\" side=\"top\" class=\"{{ horizontalAlignment }}\">\n <ng-content select=\"kirby-action-sheet\"></ng-content>\n </ion-fab-list>\n</ion-fab>\n", styles: [":host{--kirby-action-sheet-margin-horizontal: 16px}ion-fab-button{--box-shadow: 0 20px 30px -15px rgba(28, 28, 28, .3), 0 0 5px 0 rgba(28, 28, 28, .08);width:64px;height:64px;-webkit-user-select:none;user-select:none;outline:none}@media (hover: hover){ion-fab-button:focus{--border-width: 1px;--border-style: solid;--border-color: rgb(77, 144, 254)}}ion-fab-button[disabled]{--background: var(--kirby-semi-light);--box-shadow: none;opacity:1}ion-fab{position:fixed;bottom:16px;right:16px}:host-context(.fixed-content) ion-fab{position:absolute}ion-backdrop{opacity:0;transition:opacity .75s;position:fixed;z-index:999}:host(.backdrop-visible) ion-backdrop{opacity:.4}@media (min-width: 721px){:host(.backdrop-visible) ion-backdrop{opacity:0}}ion-fab-list{margin-top:76px;margin-bottom:76px;right:0}\n"] }]
|
|
50
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
55
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
51
56
|
type: Inject,
|
|
52
57
|
args: [DOCUMENT]
|
|
53
58
|
}] }]; }, propDecorators: { disabled: [{
|
|
@@ -67,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
|
|
|
67
72
|
type: ViewChild,
|
|
68
73
|
args: [IonFabButton, { static: true, read: ElementRef }]
|
|
69
74
|
}] } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLXNoZWV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9mYWItc2hlZXQvZmFiLXNoZWV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9mYWItc2hlZXQvZmFiLXNoZWV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7OztBQVFwRixNQUFNLE9BQU8saUJBQWlCO0lBcUI1QixZQUNVLFFBQW1CLEVBQ25CLGlCQUFvQyxFQUNsQixRQUFhO1FBRi9CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNsQixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBdkJoQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLHdCQUFtQixHQUFnQyxPQUFPLENBQUM7UUFFNUQsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFNakMsdUJBQWtCLEdBQVksS0FBSyxDQUFDO0lBZXpDLENBQUM7SUFwQkosSUFDSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBR0QsSUFDSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQWFELGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFXO1FBQ3JCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVc7UUFDcEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDLENBQUM7U0FDaEU7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDLENBQUM7U0FDbkU7UUFFRCx3RUFBd0U7UUFDeEUsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQzlDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2lJQXJEVSxpQkFBaUIsNEVBd0JsQixRQUFRO3FIQXhCUCxpQkFBaUIsb1NBZ0JkLG9CQUFvQiw4RkFFdkIsWUFBWSwyQkFBd0IsVUFBVSwyQ0MxQzNELHFqQkFhQTsyRkRXYSxpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU07OzBCQTBCNUMsTUFBTTsyQkFBQyxRQUFROzRDQXZCVCxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFJRixjQUFjO3NCQURqQixXQUFXO3VCQUFDLGVBQWU7Z0JBT3hCLGlCQUFpQjtzQkFEcEIsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBS2tCLFdBQVc7c0JBQWpFLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUdyRCxZQUFZO3NCQURYLFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkZhYiwgSW9uRmFiQnV0dG9uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuXG5pbXBvcnQgeyBBY3Rpb25TaGVldENvbXBvbmVudCB9IGZyb20gJy4uL21vZGFsL2FjdGlvbi1zaGVldC9hY3Rpb24tc2hlZXQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna2lyYnktZmFiLXNoZWV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZhYi1zaGVldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZhYi1zaGVldC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRmFiU2hlZXRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaG9yaXpvbnRhbEFsaWdubWVudDogJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnID0gJ3JpZ2h0JztcblxuICBwcml2YXRlIF9pc0ZhYlNoZWV0T3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLW9wZW4nKVxuICBnZXQgaXNGYWJTaGVldE9wZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lzRmFiU2hlZXRPcGVuO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNCYWNrZHJvcFZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5iYWNrZHJvcC12aXNpYmxlJylcbiAgZ2V0IGlzQmFja2Ryb3BWaXNpYmxlKCkge1xuICAgIHJldHVybiB0aGlzLl9pc0JhY2tkcm9wVmlzaWJsZTtcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGQoQWN0aW9uU2hlZXRDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KSBhY3Rpb25TaGVldDogQWN0aW9uU2hlZXRDb21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZChJb25GYWJCdXR0b24sIHsgc3RhdGljOiB0cnVlLCByZWFkOiBFbGVtZW50UmVmIH0pXG4gIGlvbkZhYkJ1dHRvbjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueVxuICApIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFjdGlvblNoZWV0KSB7XG4gICAgICB0aGlzLmFjdGlvblNoZWV0LmhpZGVDYW5jZWwgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGhpZGVBY3Rpb25zKGZhYjogSW9uRmFiKSB7XG4gICAgZmFiLmNsb3NlKCk7XG4gICAgdGhpcy5faXNGYWJTaGVldE9wZW4gPSBmYWxzZTtcbiAgICB0aGlzLl9pc0JhY2tkcm9wVmlzaWJsZSA9IGZhbHNlO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5kb2N1bWVudC5ib2R5LCAnZmFiLXNoZWV0LWFjdGl2ZScpO1xuICB9XG5cbiAgb25GYWJDbGljayhmYWI6IElvbkZhYikge1xuICAgIHRoaXMuX2lzRmFiU2hlZXRPcGVuID0gIWZhYi5hY3RpdmF0ZWQ7XG4gICAgaWYgKHRoaXMuX2lzRmFiU2hlZXRPcGVuKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgJ2ZhYi1zaGVldC1hY3RpdmUnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksICdmYWItc2hlZXQtYWN0aXZlJyk7XG4gICAgfVxuXG4gICAgLy8gUG9zdHBvbmUgYmFja2Ryb3AgdmlzaWJpbGl0eSB1cGRhdGUgdG8gYWxsb3cgZm9yIGFuaW1hdGlvbiBvZiBvcGFjaXR5XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9pc0JhY2tkcm9wVmlzaWJsZSA9IHRoaXMuaXNGYWJTaGVldE9wZW47XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8aW9uLWJhY2tkcm9wXG4gICpuZ0lmPVwiYWN0aW9uU2hlZXQgJiYgaXNGYWJTaGVldE9wZW5cIlxuICAoaW9uQmFja2Ryb3BUYXApPVwiaGlkZUFjdGlvbnMoZmFiKVwiXG4gIChjbGljayk9XCJoaWRlQWN0aW9ucyhmYWIpXCJcbj48L2lvbi1iYWNrZHJvcD5cbjxpb24tZmFiICNmYWIgKGNsaWNrKT1cImRpc2FibGVkIHx8IG9uRmFiQ2xpY2soZmFiKVwiPlxuICA8aW9uLWZhYi1idXR0b24gW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyB0cnVlIDogbnVsbFwiIHRhYmluZGV4PVwiLTFcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJraXJieS1pY29uXCI+PC9uZy1jb250ZW50PlxuICA8L2lvbi1mYWItYnV0dG9uPlxuICA8aW9uLWZhYi1saXN0ICpuZ0lmPVwiYWN0aW9uU2hlZXRcIiBzaWRlPVwidG9wXCIgY2xhc3M9XCJ7eyBob3Jpem9udGFsQWxpZ25tZW50IH19XCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwia2lyYnktYWN0aW9uLXNoZWV0XCI+PC9uZy1jb250ZW50PlxuICA8L2lvbi1mYWItbGlzdD5cbjwvaW9uLWZhYj5cbiJdfQ==
|
|
@@ -14,11 +14,14 @@ export const kirbyIconSettings = {
|
|
|
14
14
|
{ name: 'backspace', svg: 'assets/kirby/icons/svg/backspace.svg' },
|
|
15
15
|
{ name: 'calendar', svg: 'assets/kirby/icons/svg/calendar.svg' },
|
|
16
16
|
{ name: 'camera', svg: 'assets/kirby/icons/svg/camera.svg' },
|
|
17
|
+
{ name: 'car', svg: 'assets/kirby/icons/svg/car.svg' },
|
|
17
18
|
{ name: 'checkbox-outline', svg: 'assets/kirby/icons/svg/checkbox-outline.svg' },
|
|
18
19
|
{ name: 'checkbox', svg: 'assets/kirby/icons/svg/checkbox.svg' },
|
|
19
20
|
{ name: 'checkmark-selected', svg: 'assets/kirby/icons/svg/checkmark-selected.svg' },
|
|
20
21
|
{ name: 'close', svg: 'assets/kirby/icons/svg/close.svg' },
|
|
21
22
|
{ name: 'cog', svg: 'assets/kirby/icons/svg/cog.svg' },
|
|
23
|
+
{ name: 'coinstack', svg: 'assets/kirby/icons/svg/coinstack.svg' },
|
|
24
|
+
{ name: 'contact', svg: 'assets/kirby/icons/svg/contact.svg' },
|
|
22
25
|
{ name: 'copy', svg: 'assets/kirby/icons/svg/copy.svg' },
|
|
23
26
|
{ name: 'flag', svg: 'assets/kirby/icons/svg/flag.svg' },
|
|
24
27
|
{ name: 'edit', svg: 'assets/kirby/icons/svg/edit.svg' },
|
|
@@ -46,6 +49,8 @@ export const kirbyIconSettings = {
|
|
|
46
49
|
{ name: 'person-outline', svg: 'assets/kirby/icons/svg/person-outline.svg' },
|
|
47
50
|
{ name: 'person', svg: 'assets/kirby/icons/svg/person.svg' },
|
|
48
51
|
{ name: 'qr', svg: 'assets/kirby/icons/svg/QR.svg' },
|
|
52
|
+
{ name: 'recurring', svg: 'assets/kirby/icons/svg/recurring.svg' },
|
|
53
|
+
{ name: 'salary', svg: 'assets/kirby/icons/svg/salary.svg' },
|
|
49
54
|
{ name: 'search', svg: 'assets/kirby/icons/svg/search.svg' },
|
|
50
55
|
{ name: 'share', svg: 'assets/kirby/icons/svg/share.svg' },
|
|
51
56
|
{ name: 'sort', svg: 'assets/kirby/icons/svg/sort.svg' },
|
|
@@ -66,4 +71,4 @@ export const kirbyIconSettings = {
|
|
|
66
71
|
],
|
|
67
72
|
};
|
|
68
73
|
export const defaultIcons = kirbyIconSettings.icons.map((icon) => icon.name);
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2lyYnktaWNvbi1zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9pY29uL2tpcmJ5LWljb24tc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsMEJBQTBCO0FBQzFCLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFpQjtJQUM3QyxLQUFLLEVBQUU7UUFDTCxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxHQUFHLEVBQUUsNkNBQTZDLEVBQUU7UUFDaEYsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxxQ0FBcUMsRUFBRTtRQUNoRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLGdDQUFnQyxFQUFFO1FBQ3RELEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsbUNBQW1DLEVBQUU7UUFDNUQsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSx3Q0FBd0MsRUFBRTtRQUN0RSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLHVDQUF1QyxFQUFFO1FBQ3BFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsdUNBQXVDLEVBQUU7UUFDcEUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSx1Q0FBdUMsRUFBRTtRQUNwRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLHFDQUFxQyxFQUFFO1FBQ2hFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsbUNBQW1DLEVBQUU7UUFDNUQsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxzQ0FBc0MsRUFBRTtRQUNsRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLHFDQUFxQyxFQUFFO1FBQ2hFLEVBQUUsSUFBSSxF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QUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJY29uU2V0dGluZ3MgfSBmcm9tICcuL2ljb24tc2V0dGluZ3MnO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZTpwcmV0dGllclxuZXhwb3J0IGNvbnN0IGtpcmJ5SWNvblNldHRpbmdzOiBJY29uU2V0dGluZ3MgPSB7XG4gIGljb25zOiBbXG4gICAgeyBuYW1lOiAnYWNjb3VudHMtb3V0bGluZScsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvYWNjb3VudHMtb3V0bGluZS5zdmcnIH0sXG4gICAgeyBuYW1lOiAnYWNjb3VudHMnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2FjY291bnRzLnN2ZycgfSxcbiAgICB7IG5hbWU6ICdhZGQnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2FkZC5zdmcnIH0sXG4gICAgeyBuYW1lOiAncmVtb3ZlJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9yZW1vdmUuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ3Vuc3Vic2NyaWJlJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy91bnN1YnNjcmliZS5zdmcnIH0sXG4gICAgeyBuYW1lOiAnYXJyb3ctYmFjaycsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvYXJyb3ctYmFjay5zdmcnIH0sXG4gICAgeyBuYW1lOiAnYXJyb3ctZG93bicsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvYXJyb3ctZG93bi5zdmcnIH0sXG4gICAgeyBuYW1lOiAnYXJyb3ctbW9yZScsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvYXJyb3ctbW9yZS5zdmcnIH0sXG4gICAgeyBuYW1lOiAnYXJyb3ctdXAnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2Fycm93LXVwLnN2ZycgfSxcbiAgICB7IG5hbWU6ICdhdHRhY2gnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2F0dGFjaC5zdmcnIH0sXG4gICAgeyBuYW1lOiAnYmFja3NwYWNlJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9iYWNrc3BhY2Uuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2NhbGVuZGFyJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9jYWxlbmRhci5zdmcnIH0sXG4gICAgeyBuYW1lOiAnY2FtZXJhJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9jYW1lcmEuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2NoZWNrYm94LW91dGxpbmUnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2NoZWNrYm94LW91dGxpbmUuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2NoZWNrYm94Jywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9jaGVja2JveC5zdmcnIH0sXG4gICAgeyBuYW1lOiAnY2hlY2ttYXJrLXNlbGVjdGVkJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9jaGVja21hcmstc2VsZWN0ZWQuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2Nsb3NlJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9jbG9zZS5zdmcnIH0sXG4gICAgeyBuYW1lOiAnY29nJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9jb2cuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2NvcHknLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2NvcHkuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2ZsYWcnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2ZsYWcuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2VkaXQnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2VkaXQuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2ZpbHRlcicsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvZmlsdGVyLnN2ZycgfSxcbiAgICB7IG5hbWU6ICdmbGFzaC1vZmYnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2ZsYXNoLW9mZi5zdmcnIH0sXG4gICAgeyBuYW1lOiAnZmxhc2gnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2ZsYXNoLnN2ZycgfSxcbiAgICB7IG5hbWU6ICdtb25leWJhZycsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvbW9uZXliYWcuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2hlbHAnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2hlbHAuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2hvbWUnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2hvbWUuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2luYm94Jywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9pbmJveC5zdmcnIH0sXG4gICAgeyBuYW1lOiAnaW5ib3gtb3V0bGluZScsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvaW5ib3gtb3V0bGluZS5zdmcnIH0sXG4gICAgeyBuYW1lOiAnaW5mb3JtYXRpb24nLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2luZm9ybWF0aW9uLnN2ZycgfSxcbiAgICB7IG5hbWU6ICdpbnN1cmFuY2UnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2luc3VyYW5jZS5zdmcnIH0sXG4gICAgeyBuYW1lOiAnaW52ZXN0bWVudCcsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvaW52ZXN0bWVudC5zdmcnIH0sXG4gICAgeyBuYW1lOiAna2lyYnknLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2tpcmJ5LnN2ZycgfSxcbiAgICB7IG5hbWU6ICdsaW5rJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9saW5rLnN2ZycgfSxcbiAgICB7IG5hbWU6ICdsb2ctb3V0Jywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9sb2ctb3V0LnN2ZycgfSxcbiAgICB7IG5hbWU6ICdtZW51LW91dGxpbmUnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL21lbnUtb3V0bGluZS5zdmcnIH0sXG4gICAgeyBuYW1lOiAnbWVudScsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvbWVudS5zdmcnIH0sXG4gICAgeyBuYW1lOiAnbWlzYycsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvbWlzYy5zdmcnIH0sXG4gICAgeyBuYW1lOiAnbW9yZScsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvbW9yZS5zdmcnIH0sXG4gICAgeyBuYW1lOiAnbW92ZScsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvbW92ZS5zdmcnIH0sXG4gICAgeyBuYW1lOiAncGF5bWVudC1jYXJkJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9wYXltZW50LWNhcmQuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ3BlbnNpb24nLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL3BlbnNpb24uc3ZnJyB9LFxuICAgIHsgbmFtZTogJ3BlcnNvbi1vdXRsaW5lJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9wZXJzb24tb3V0bGluZS5zdmcnIH0sXG4gICAgeyBuYW1lOiAncGVyc29uJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9wZXJzb24uc3ZnJyB9LFxuICAgIHsgbmFtZTogJ3FyJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9RUi5zdmcnIH0sXG4gICAgeyBuYW1lOiAnc2VhcmNoJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9zZWFyY2guc3ZnJyB9LFxuICAgIHsgbmFtZTogJ3NoYXJlJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9zaGFyZS5zdmcnIH0sXG4gICAgeyBuYW1lOiAnc29ydCcsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvc29ydC5zdmcnIH0sXG4gICAgeyBuYW1lOiAnc3VwcG9ydCcsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvc3VwcG9ydC5zdmcnIH0sXG4gICAgeyBuYW1lOiAnc3dhcCcsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvc3dhcC5zdmcnIH0sXG4gICAgeyBuYW1lOiAndHJhc2gnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL3RyYXNoLnN2ZycgfSxcbiAgICB7IG5hbWU6ICdmb3JlaWduLXBheW1lbnQnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2ZvcmVpZ24tcGF5bWVudC5zdmcnIH0sXG4gICAgeyBuYW1lOiAnY2xvY2snLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2Nsb2NrLnN2ZycgfSxcbiAgICB7IG5hbWU6ICd2ZXJpZnknLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL3ZlcmlmeS5zdmcnIH0sXG4gICAgeyBuYW1lOiAnd2FybmluZycsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvd2FybmluZy5zdmcnIH0sXG4gICAgeyBuYW1lOiAnd3JpdGUtbWVzc2FnZScsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvd3JpdGUtbWVzc2FnZS5zdmcnIH0sXG4gICAgeyBuYW1lOiAncmVvcmRlcicsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvcmVvcmRlci5zdmcnIH0sXG4gICAgeyBuYW1lOiAnYWNjaWRlbnQnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2FjY2lkZW50LnN2ZycgfSxcbiAgICB7IG5hbWU6ICdoZWFsdGgnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2hlYWx0aC5zdmcnIH0sXG4gICAgeyBuYW1lOiAnaWxsbmVzcycsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvaWxsbmVzcy5zdmcnIH0sXG4gICAgeyBuYW1lOiAnaW5jYXBhY2l0eScsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvaW5jYXBhY2l0eS5zdmcnIH0sXG4gICAgeyBuYW1lOiAnbGlmZScsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvbGlmZS5zdmcnIH0sXG4gIF0sXG59O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEljb25zID0ga2lyYnlJY29uU2V0dGluZ3MuaWNvbnMubWFwKChpY29uKSA9PiBpY29uLm5hbWUpO1xuIl19
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2lyYnktaWNvbi1zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9pY29uL2tpcmJ5LWljb24tc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsMEJBQTBCO0FBQzFCLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFpQjtJQUM3QyxLQUFLLEVBQUU7UUFDTCxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxHQUFHLEVBQUUsNkNBQTZDLEVBQUU7UUFDaEYsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxxQ0FBcUMsRUFBRTtRQUNoRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLGdDQUFnQyxFQUFFO1FBQ3RELEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsbUNBQW1DLEVBQUU7UUFDNUQsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSx3Q0FBd0MsRUFBRTtRQUN0RSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLHVDQUF1QyxFQUFFO1FBQ3BFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsdUNBQXVDLEVBQUU7UUFDcEUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSx1Q0FBdUMsRUFBRTtRQUNwRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLHFDQUFxQyxFQUFFO1FBQ2hFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsbUNBQW1DLEVBQUU7UUFDNUQsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxzQ0FBc0MsRUFBRTtRQUNsRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLHFDQUFxQyxFQUFFO1FBQ2hFLEVBQUUsSUFBSSxF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RUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxtQ0FBbUMsRUFBRTtRQUM1RCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLG9DQUFvQyxFQUFFO1FBQzlELEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsdUNBQXVDLEVBQUU7UUFDcEUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxpQ0FBaUMsRUFBRTtLQUN6RDtDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWNvblNldHRpbmdzIH0gZnJvbSAnLi9pY29uLXNldHRpbmdzJztcblxuLy8gdHNsaW50OmRpc2FibGU6cHJldHRpZXJcbmV4cG9ydCBjb25zdCBraXJieUljb25TZXR0aW5nczogSWNvblNldHRpbmdzID0ge1xuICBpY29uczogW1xuICAgIHsgbmFtZTogJ2FjY291bnRzLW91dGxpbmUnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2FjY291bnRzLW91dGxpbmUuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2FjY291bnRzJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9hY2NvdW50cy5zdmcnIH0sXG4gICAgeyBuYW1lOiAnYWRkJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9hZGQuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ3JlbW92ZScsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvcmVtb3ZlLnN2ZycgfSxcbiAgICB7IG5hbWU6ICd1bnN1YnNjcmliZScsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvdW5zdWJzY3JpYmUuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2Fycm93LWJhY2snLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2Fycm93LWJhY2suc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2Fycm93LWRvd24nLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2Fycm93LWRvd24uc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2Fycm93LW1vcmUnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2Fycm93LW1vcmUuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2Fycm93LXVwJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9hcnJvdy11cC5zdmcnIH0sXG4gICAgeyBuYW1lOiAnYXR0YWNoJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9hdHRhY2guc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2JhY2tzcGFjZScsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvYmFja3NwYWNlLnN2ZycgfSxcbiAgICB7IG5hbWU6ICdjYWxlbmRhcicsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvY2FsZW5kYXIuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2NhbWVyYScsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvY2FtZXJhLnN2ZycgfSxcbiAgICB7IG5hbWU6ICdjYXInLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2Nhci5zdmcnIH0sXG4gICAgeyBuYW1lOiAnY2hlY2tib3gtb3V0bGluZScsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvY2hlY2tib3gtb3V0bGluZS5zdmcnIH0sXG4gICAgeyBuYW1lOiAnY2hlY2tib3gnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2NoZWNrYm94LnN2ZycgfSxcbiAgICB7IG5hbWU6ICdjaGVja21hcmstc2VsZWN0ZWQnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2NoZWNrbWFyay1zZWxlY3RlZC5zdmcnIH0sXG4gICAgeyBuYW1lOiAnY2xvc2UnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2Nsb3NlLnN2ZycgfSxcbiAgICB7IG5hbWU6ICdjb2cnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2NvZy5zdmcnIH0sXG4gICAgeyBuYW1lOiAnY29pbnN0YWNrJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9jb2luc3RhY2suc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2NvbnRhY3QnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2NvbnRhY3Quc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2NvcHknLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2NvcHkuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2ZsYWcnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2ZsYWcuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2VkaXQnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2VkaXQuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2ZpbHRlcicsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvZmlsdGVyLnN2ZycgfSxcbiAgICB7IG5hbWU6ICdmbGFzaC1vZmYnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2ZsYXNoLW9mZi5zdmcnIH0sXG4gICAgeyBuYW1lOiAnZmxhc2gnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2ZsYXNoLnN2ZycgfSxcbiAgICB7IG5hbWU6ICdtb25leWJhZycsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvbW9uZXliYWcuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2hlbHAnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2hlbHAuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2hvbWUnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2hvbWUuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2luYm94Jywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9pbmJveC5zdmcnIH0sXG4gICAgeyBuYW1lOiAnaW5ib3gtb3V0bGluZScsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvaW5ib3gtb3V0bGluZS5zdmcnIH0sXG4gICAgeyBuYW1lOiAnaW5mb3JtYXRpb24nLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2luZm9ybWF0aW9uLnN2ZycgfSxcbiAgICB7IG5hbWU6ICdpbnN1cmFuY2UnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2luc3VyYW5jZS5zdmcnIH0sXG4gICAgeyBuYW1lOiAnaW52ZXN0bWVudCcsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvaW52ZXN0bWVudC5zdmcnIH0sXG4gICAgeyBuYW1lOiAna2lyYnknLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL2tpcmJ5LnN2ZycgfSxcbiAgICB7IG5hbWU6ICdsaW5rJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9saW5rLnN2ZycgfSxcbiAgICB7IG5hbWU6ICdsb2ctb3V0Jywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9sb2ctb3V0LnN2ZycgfSxcbiAgICB7IG5hbWU6ICdtZW51LW91dGxpbmUnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL21lbnUtb3V0bGluZS5zdmcnIH0sXG4gICAgeyBuYW1lOiAnbWVudScsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvbWVudS5zdmcnIH0sXG4gICAgeyBuYW1lOiAnbWlzYycsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvbWlzYy5zdmcnIH0sXG4gICAgeyBuYW1lOiAnbW9yZScsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvbW9yZS5zdmcnIH0sXG4gICAgeyBuYW1lOiAnbW92ZScsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvbW92ZS5zdmcnIH0sXG4gICAgeyBuYW1lOiAncGF5bWVudC1jYXJkJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9wYXltZW50LWNhcmQuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ3BlbnNpb24nLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL3BlbnNpb24uc3ZnJyB9LFxuICAgIHsgbmFtZTogJ3BlcnNvbi1vdXRsaW5lJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9wZXJzb24tb3V0bGluZS5zdmcnIH0sXG4gICAgeyBuYW1lOiAncGVyc29uJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9wZXJzb24uc3ZnJyB9LFxuICAgIHsgbmFtZTogJ3FyJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9RUi5zdmcnIH0sXG4gICAgeyBuYW1lOiAncmVjdXJyaW5nJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9yZWN1cnJpbmcuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ3NhbGFyeScsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvc2FsYXJ5LnN2ZycgfSxcbiAgICB7IG5hbWU6ICdzZWFyY2gnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL3NlYXJjaC5zdmcnIH0sXG4gICAgeyBuYW1lOiAnc2hhcmUnLCBzdmc6ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnL3NoYXJlLnN2ZycgfSxcbiAgICB7IG5hbWU6ICdzb3J0Jywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9zb3J0LnN2ZycgfSxcbiAgICB7IG5hbWU6ICdzdXBwb3J0Jywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9zdXBwb3J0LnN2ZycgfSxcbiAgICB7IG5hbWU6ICdzd2FwJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9zd2FwLnN2ZycgfSxcbiAgICB7IG5hbWU6ICd0cmFzaCcsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvdHJhc2guc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2ZvcmVpZ24tcGF5bWVudCcsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvZm9yZWlnbi1wYXltZW50LnN2ZycgfSxcbiAgICB7IG5hbWU6ICdjbG9jaycsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvY2xvY2suc3ZnJyB9LFxuICAgIHsgbmFtZTogJ3ZlcmlmeScsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvdmVyaWZ5LnN2ZycgfSxcbiAgICB7IG5hbWU6ICd3YXJuaW5nJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy93YXJuaW5nLnN2ZycgfSxcbiAgICB7IG5hbWU6ICd3cml0ZS1tZXNzYWdlJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy93cml0ZS1tZXNzYWdlLnN2ZycgfSxcbiAgICB7IG5hbWU6ICdyZW9yZGVyJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9yZW9yZGVyLnN2ZycgfSxcbiAgICB7IG5hbWU6ICdhY2NpZGVudCcsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvYWNjaWRlbnQuc3ZnJyB9LFxuICAgIHsgbmFtZTogJ2hlYWx0aCcsIHN2ZzogJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcvaGVhbHRoLnN2ZycgfSxcbiAgICB7IG5hbWU6ICdpbGxuZXNzJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9pbGxuZXNzLnN2ZycgfSxcbiAgICB7IG5hbWU6ICdpbmNhcGFjaXR5Jywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9pbmNhcGFjaXR5LnN2ZycgfSxcbiAgICB7IG5hbWU6ICdsaWZlJywgc3ZnOiAnYXNzZXRzL2tpcmJ5L2ljb25zL3N2Zy9saWZlLnN2ZycgfSxcbiAgXSxcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0SWNvbnMgPSBraXJieUljb25TZXR0aW5ncy5pY29ucy5tYXAoKGljb24pID0+IGljb24ubmFtZSk7XG4iXX0=
|
|
@@ -22,10 +22,10 @@ export class ItemComponent {
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
/** @nocollapse */ ItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
-
/** @nocollapse */ ItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: ItemComponent, selector: "kirby-item", inputs: { disabled: "disabled", selected: "selected", selectable: "selectable", reorderable: "reorderable", size: "size" }, host: { properties: { "class.selected": "this.selected", "class": "this.size" } }, ngImport: i0, template: "<ion-item\n lines=\"none\"\n [attr.disabled]=\"disabled\"\n [attr.button]=\"selectable ? true : null\"\n [attr.tabindex]=\"selectable ? null : 0\"\n detail=\"false\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <div class=\"outside\" slot=\"start\">\n <ng-content select=\"[slot='outside']\"></ng-content>\n </div>\n <ng-content></ng-content>\n <ion-reorder slot=\"end\" *ngIf=\"reorderable\">\n <kirby-icon name=\"reorder\"></kirby-icon>\n </ion-reorder>\n</ion-item>\n", styles: [":host{display:block;position:relative}:host ion-item{--padding-top: var(--item-padding-top, 0px);--padding-bottom: var(--item-padding-bottom, 0px);font-size:14px;--min-height: 56px;--padding-start: 16px;--inner-padding-top: 8px;--inner-padding-bottom: 8px;--inner-padding-end: 16px;--background: var(--kirby-item-background, var(--kirby-white));--background-activated: var( --kirby-item-background-activated, var(--kirby-white-shade) );--background-activated-opacity: .99;--background-focused: var( --kirby-item-background-focused, var(--kirby-background-color) );--background-focused-opacity: 1;--background-hover: var(--kirby-item-background-hover, var(--kirby-background-color));--background-hover-opacity: 1}@media screen and (orientation: landscape){:host ion-item{--ion-safe-area-left: 0px;--ion-safe-area-right: 0px}}:host ion-item ::ng-deep>[slot=end]{margin-inline-start:0;margin-inline-end:0;text-align:right}:host ion-item ::ng-deep>time[slot=end]{margin-inline-start:12px}:host ion-item ::ng-deep>data[slot=end],:host ion-item ::ng-deep>[detail][slot=end],:host ion-item ::ng-deep>ion-reorder[slot=end]{margin-inline-start:16px}:host ion-item ::ng-deep>h1,:host ion-item ::ng-deep>h2,:host ion-item ::ng-deep>h3,:host ion-item ::ng-deep>h4,:host ion-item ::ng-deep>h5,:host ion-item ::ng-deep>h6,:host ion-item ::ng-deep>p,:host ion-item ::ng-deep>data{font-size:16px;line-height:24px;color:var(--kirby-text-color-black);display:block;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}:host ion-item ::ng-deep>h1.kirby-text-bold,:host ion-item ::ng-deep>h2.kirby-text-bold,:host ion-item ::ng-deep>h3.kirby-text-bold,:host ion-item ::ng-deep>h4.kirby-text-bold,:host ion-item ::ng-deep>h5.kirby-text-bold,:host ion-item ::ng-deep>h6.kirby-text-bold,:host ion-item ::ng-deep>p.kirby-text-bold,:host ion-item ::ng-deep>data.kirby-text-bold{font-weight:700}:host ion-item ::ng-deep>p{font-size:14px}:host ion-item ::ng-deep>[subtitle],:host ion-item ::ng-deep>[detail]{font-size:12px;line-height:16px}:host ion-item ::ng-deep>[subtitle]:not(:last-child){margin-bottom:4px}:host ion-item ::ng-deep>[detail]{color:var(--kirby-text-color-semi-dark)}:host ion-item ::ng-deep>:not([slot]){width:100%}:host ion-item ::ng-deep>input[slot=end],:host ion-item ::ng-deep>kirby-form-field[slot=end] input{margin-inline-start:16px;width:auto;text-align:right}:host.sm ion-item{--min-height: 44px}:host.xs ion-item{--min-height: 32px;--inner-padding-top: 4px;--inner-padding-bottom: 4px}:host .outside{left:4px;margin:0;position:absolute;width:16px;z-index:1}:host-context(kirby-dropdown) ion-item,:host-context(kirby-popover) ion-item{--min-height: 44px}:host-context(kirby-list-item:first-of-type
|
|
25
|
+
/** @nocollapse */ ItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: ItemComponent, selector: "kirby-item", inputs: { disabled: "disabled", selected: "selected", selectable: "selectable", reorderable: "reorderable", size: "size" }, host: { properties: { "class.selected": "this.selected", "class": "this.size" } }, ngImport: i0, template: "<ion-item\n lines=\"none\"\n [attr.disabled]=\"disabled\"\n [attr.button]=\"selectable ? true : null\"\n [attr.tabindex]=\"selectable ? null : 0\"\n detail=\"false\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <div class=\"outside\" slot=\"start\">\n <ng-content select=\"[slot='outside']\"></ng-content>\n </div>\n <ng-content></ng-content>\n <ion-reorder slot=\"end\" *ngIf=\"reorderable\">\n <kirby-icon name=\"reorder\"></kirby-icon>\n </ion-reorder>\n</ion-item>\n", styles: [":host{display:block;position:relative}:host ion-item{--padding-top: var(--item-padding-top, 0px);--padding-bottom: var(--item-padding-bottom, 0px);font-size:14px;--min-height: 56px;--padding-start: 16px;--inner-padding-top: 8px;--inner-padding-bottom: 8px;--inner-padding-end: 16px;--background: var(--kirby-item-background, var(--kirby-white));--background-activated: var( --kirby-item-background-activated, var(--kirby-white-shade) );--background-activated-opacity: .99;--background-focused: var( --kirby-item-background-focused, var(--kirby-background-color) );--background-focused-opacity: 1;--background-hover: var(--kirby-item-background-hover, var(--kirby-background-color));--background-hover-opacity: 1}@media screen and (orientation: landscape){:host ion-item{--ion-safe-area-left: 0px;--ion-safe-area-right: 0px}}:host ion-item ::ng-deep>[slot=end]{margin-inline-start:0;margin-inline-end:0;text-align:right}:host ion-item ::ng-deep>time[slot=end]{margin-inline-start:12px}:host ion-item ::ng-deep>data[slot=end],:host ion-item ::ng-deep>[detail][slot=end],:host ion-item ::ng-deep>ion-reorder[slot=end]{margin-inline-start:16px}:host ion-item ::ng-deep>h1,:host ion-item ::ng-deep>h2,:host ion-item ::ng-deep>h3,:host ion-item ::ng-deep>h4,:host ion-item ::ng-deep>h5,:host ion-item ::ng-deep>h6,:host ion-item ::ng-deep>p,:host ion-item ::ng-deep>data{font-size:16px;line-height:24px;color:var(--kirby-text-color-black);display:block;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}:host ion-item ::ng-deep>h1.kirby-text-bold,:host ion-item ::ng-deep>h2.kirby-text-bold,:host ion-item ::ng-deep>h3.kirby-text-bold,:host ion-item ::ng-deep>h4.kirby-text-bold,:host ion-item ::ng-deep>h5.kirby-text-bold,:host ion-item ::ng-deep>h6.kirby-text-bold,:host ion-item ::ng-deep>p.kirby-text-bold,:host ion-item ::ng-deep>data.kirby-text-bold{font-weight:700}:host ion-item ::ng-deep>p{font-size:14px}:host ion-item ::ng-deep>[subtitle],:host ion-item ::ng-deep>[detail]{font-size:12px;line-height:16px}:host ion-item ::ng-deep>[subtitle]:not(:last-child){margin-bottom:4px}:host ion-item ::ng-deep>[detail]{color:var(--kirby-text-color-semi-dark)}:host ion-item ::ng-deep>:not([slot]){width:100%}:host ion-item ::ng-deep>input[slot=end],:host ion-item ::ng-deep>kirby-form-field[slot=end] input{margin-inline-start:16px;width:auto;text-align:right}:host.sm ion-item{--min-height: 44px}:host.xs ion-item{--min-height: 32px;--inner-padding-top: 4px;--inner-padding-bottom: 4px}:host .outside{left:4px;margin:0;position:absolute;width:16px;z-index:1}:host-context(kirby-dropdown) ion-item,:host-context(kirby-popover) ion-item{--min-height: 44px}:host-context(kirby-list-item:first-of-type kirby-card) ion-item{--padding-top: 0}:host-context(kirby-list-item:last-of-type kirby-card) ion-item{--padding-bottom: 0}:host(.selected) ion-item ::ng-deep>h1,:host(.selected) ion-item ::ng-deep>h2,:host(.selected) ion-item ::ng-deep>h3,:host(.selected) ion-item ::ng-deep>h4,:host(.selected) ion-item ::ng-deep>h5,:host(.selected) ion-item ::ng-deep>h6,:host(.selected) ion-item ::ng-deep>p,:host(.selected) ion-item ::ng-deep>data,:host-context(kirby-list .selected) ion-item ::ng-deep>h1,:host-context(kirby-list .selected) ion-item ::ng-deep>h2,:host-context(kirby-list .selected) ion-item ::ng-deep>h3,:host-context(kirby-list .selected) ion-item ::ng-deep>h4,:host-context(kirby-list .selected) ion-item ::ng-deep>h5,:host-context(kirby-list .selected) ion-item ::ng-deep>h6,:host-context(kirby-list .selected) ion-item ::ng-deep>p,:host-context(kirby-list .selected) ion-item ::ng-deep>data{font-weight:700}:host-context(.shape-rounded .is-single) ion-item{--border-radius: 16px}:host-context(.has-header .is-single) ion-item::part(native){border-top-left-radius:0;border-top-right-radius:0}:host-context(.has-footer .is-single) ion-item::part(native){border-bottom-left-radius:0;border-bottom-right-radius:0}:host-context(.shape-rounded.has-sections .list-items kirby-list-item:first-of-type) ion-item::part(native){border-top-left-radius:16px;border-top-right-radius:16px}\n"], components: [{ type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { type: i1.IonReorder, selector: "ion-reorder" }, { type: i2.IconComponent, selector: "kirby-icon", inputs: ["size", "name", "customName"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
26
26
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ItemComponent, decorators: [{
|
|
27
27
|
type: Component,
|
|
28
|
-
args: [{ selector: 'kirby-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ion-item\n lines=\"none\"\n [attr.disabled]=\"disabled\"\n [attr.button]=\"selectable ? true : null\"\n [attr.tabindex]=\"selectable ? null : 0\"\n detail=\"false\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <div class=\"outside\" slot=\"start\">\n <ng-content select=\"[slot='outside']\"></ng-content>\n </div>\n <ng-content></ng-content>\n <ion-reorder slot=\"end\" *ngIf=\"reorderable\">\n <kirby-icon name=\"reorder\"></kirby-icon>\n </ion-reorder>\n</ion-item>\n", styles: [":host{display:block;position:relative}:host ion-item{--padding-top: var(--item-padding-top, 0px);--padding-bottom: var(--item-padding-bottom, 0px);font-size:14px;--min-height: 56px;--padding-start: 16px;--inner-padding-top: 8px;--inner-padding-bottom: 8px;--inner-padding-end: 16px;--background: var(--kirby-item-background, var(--kirby-white));--background-activated: var( --kirby-item-background-activated, var(--kirby-white-shade) );--background-activated-opacity: .99;--background-focused: var( --kirby-item-background-focused, var(--kirby-background-color) );--background-focused-opacity: 1;--background-hover: var(--kirby-item-background-hover, var(--kirby-background-color));--background-hover-opacity: 1}@media screen and (orientation: landscape){:host ion-item{--ion-safe-area-left: 0px;--ion-safe-area-right: 0px}}:host ion-item ::ng-deep>[slot=end]{margin-inline-start:0;margin-inline-end:0;text-align:right}:host ion-item ::ng-deep>time[slot=end]{margin-inline-start:12px}:host ion-item ::ng-deep>data[slot=end],:host ion-item ::ng-deep>[detail][slot=end],:host ion-item ::ng-deep>ion-reorder[slot=end]{margin-inline-start:16px}:host ion-item ::ng-deep>h1,:host ion-item ::ng-deep>h2,:host ion-item ::ng-deep>h3,:host ion-item ::ng-deep>h4,:host ion-item ::ng-deep>h5,:host ion-item ::ng-deep>h6,:host ion-item ::ng-deep>p,:host ion-item ::ng-deep>data{font-size:16px;line-height:24px;color:var(--kirby-text-color-black);display:block;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}:host ion-item ::ng-deep>h1.kirby-text-bold,:host ion-item ::ng-deep>h2.kirby-text-bold,:host ion-item ::ng-deep>h3.kirby-text-bold,:host ion-item ::ng-deep>h4.kirby-text-bold,:host ion-item ::ng-deep>h5.kirby-text-bold,:host ion-item ::ng-deep>h6.kirby-text-bold,:host ion-item ::ng-deep>p.kirby-text-bold,:host ion-item ::ng-deep>data.kirby-text-bold{font-weight:700}:host ion-item ::ng-deep>p{font-size:14px}:host ion-item ::ng-deep>[subtitle],:host ion-item ::ng-deep>[detail]{font-size:12px;line-height:16px}:host ion-item ::ng-deep>[subtitle]:not(:last-child){margin-bottom:4px}:host ion-item ::ng-deep>[detail]{color:var(--kirby-text-color-semi-dark)}:host ion-item ::ng-deep>:not([slot]){width:100%}:host ion-item ::ng-deep>input[slot=end],:host ion-item ::ng-deep>kirby-form-field[slot=end] input{margin-inline-start:16px;width:auto;text-align:right}:host.sm ion-item{--min-height: 44px}:host.xs ion-item{--min-height: 32px;--inner-padding-top: 4px;--inner-padding-bottom: 4px}:host .outside{left:4px;margin:0;position:absolute;width:16px;z-index:1}:host-context(kirby-dropdown) ion-item,:host-context(kirby-popover) ion-item{--min-height: 44px}:host-context(kirby-list-item:first-of-type
|
|
28
|
+
args: [{ selector: 'kirby-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ion-item\n lines=\"none\"\n [attr.disabled]=\"disabled\"\n [attr.button]=\"selectable ? true : null\"\n [attr.tabindex]=\"selectable ? null : 0\"\n detail=\"false\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <div class=\"outside\" slot=\"start\">\n <ng-content select=\"[slot='outside']\"></ng-content>\n </div>\n <ng-content></ng-content>\n <ion-reorder slot=\"end\" *ngIf=\"reorderable\">\n <kirby-icon name=\"reorder\"></kirby-icon>\n </ion-reorder>\n</ion-item>\n", styles: [":host{display:block;position:relative}:host ion-item{--padding-top: var(--item-padding-top, 0px);--padding-bottom: var(--item-padding-bottom, 0px);font-size:14px;--min-height: 56px;--padding-start: 16px;--inner-padding-top: 8px;--inner-padding-bottom: 8px;--inner-padding-end: 16px;--background: var(--kirby-item-background, var(--kirby-white));--background-activated: var( --kirby-item-background-activated, var(--kirby-white-shade) );--background-activated-opacity: .99;--background-focused: var( --kirby-item-background-focused, var(--kirby-background-color) );--background-focused-opacity: 1;--background-hover: var(--kirby-item-background-hover, var(--kirby-background-color));--background-hover-opacity: 1}@media screen and (orientation: landscape){:host ion-item{--ion-safe-area-left: 0px;--ion-safe-area-right: 0px}}:host ion-item ::ng-deep>[slot=end]{margin-inline-start:0;margin-inline-end:0;text-align:right}:host ion-item ::ng-deep>time[slot=end]{margin-inline-start:12px}:host ion-item ::ng-deep>data[slot=end],:host ion-item ::ng-deep>[detail][slot=end],:host ion-item ::ng-deep>ion-reorder[slot=end]{margin-inline-start:16px}:host ion-item ::ng-deep>h1,:host ion-item ::ng-deep>h2,:host ion-item ::ng-deep>h3,:host ion-item ::ng-deep>h4,:host ion-item ::ng-deep>h5,:host ion-item ::ng-deep>h6,:host ion-item ::ng-deep>p,:host ion-item ::ng-deep>data{font-size:16px;line-height:24px;color:var(--kirby-text-color-black);display:block;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}:host ion-item ::ng-deep>h1.kirby-text-bold,:host ion-item ::ng-deep>h2.kirby-text-bold,:host ion-item ::ng-deep>h3.kirby-text-bold,:host ion-item ::ng-deep>h4.kirby-text-bold,:host ion-item ::ng-deep>h5.kirby-text-bold,:host ion-item ::ng-deep>h6.kirby-text-bold,:host ion-item ::ng-deep>p.kirby-text-bold,:host ion-item ::ng-deep>data.kirby-text-bold{font-weight:700}:host ion-item ::ng-deep>p{font-size:14px}:host ion-item ::ng-deep>[subtitle],:host ion-item ::ng-deep>[detail]{font-size:12px;line-height:16px}:host ion-item ::ng-deep>[subtitle]:not(:last-child){margin-bottom:4px}:host ion-item ::ng-deep>[detail]{color:var(--kirby-text-color-semi-dark)}:host ion-item ::ng-deep>:not([slot]){width:100%}:host ion-item ::ng-deep>input[slot=end],:host ion-item ::ng-deep>kirby-form-field[slot=end] input{margin-inline-start:16px;width:auto;text-align:right}:host.sm ion-item{--min-height: 44px}:host.xs ion-item{--min-height: 32px;--inner-padding-top: 4px;--inner-padding-bottom: 4px}:host .outside{left:4px;margin:0;position:absolute;width:16px;z-index:1}:host-context(kirby-dropdown) ion-item,:host-context(kirby-popover) ion-item{--min-height: 44px}:host-context(kirby-list-item:first-of-type kirby-card) ion-item{--padding-top: 0}:host-context(kirby-list-item:last-of-type kirby-card) ion-item{--padding-bottom: 0}:host(.selected) ion-item ::ng-deep>h1,:host(.selected) ion-item ::ng-deep>h2,:host(.selected) ion-item ::ng-deep>h3,:host(.selected) ion-item ::ng-deep>h4,:host(.selected) ion-item ::ng-deep>h5,:host(.selected) ion-item ::ng-deep>h6,:host(.selected) ion-item ::ng-deep>p,:host(.selected) ion-item ::ng-deep>data,:host-context(kirby-list .selected) ion-item ::ng-deep>h1,:host-context(kirby-list .selected) ion-item ::ng-deep>h2,:host-context(kirby-list .selected) ion-item ::ng-deep>h3,:host-context(kirby-list .selected) ion-item ::ng-deep>h4,:host-context(kirby-list .selected) ion-item ::ng-deep>h5,:host-context(kirby-list .selected) ion-item ::ng-deep>h6,:host-context(kirby-list .selected) ion-item ::ng-deep>p,:host-context(kirby-list .selected) ion-item ::ng-deep>data{font-weight:700}:host-context(.shape-rounded .is-single) ion-item{--border-radius: 16px}:host-context(.has-header .is-single) ion-item::part(native){border-top-left-radius:0;border-top-right-radius:0}:host-context(.has-footer .is-single) ion-item::part(native){border-bottom-left-radius:0;border-bottom-right-radius:0}:host-context(.shape-rounded.has-sections .list-items kirby-list-item:first-of-type) ion-item::part(native){border-top-left-radius:16px;border-top-right-radius:16px}\n"] }]
|
|
29
29
|
}], propDecorators: { disabled: [{
|
|
30
30
|
type: Input
|
|
31
31
|
}], selected: [{
|
|
@@ -17,6 +17,14 @@ export class ModalHelper {
|
|
|
17
17
|
async showModalWindow(config) {
|
|
18
18
|
config.flavor = config.flavor || 'modal';
|
|
19
19
|
const modalPresentingElement = await this.getPresentingElement(config.flavor);
|
|
20
|
+
let currentBackdrop;
|
|
21
|
+
const topMostModal = await this.ionicModalController.getTop();
|
|
22
|
+
if (topMostModal) {
|
|
23
|
+
currentBackdrop =
|
|
24
|
+
topMostModal.shadowRoot.querySelector('ion-backdrop');
|
|
25
|
+
}
|
|
26
|
+
const enterAnimation = this.modalAnimationBuilder.enterAnimation(currentBackdrop);
|
|
27
|
+
const leaveAnimation = this.modalAnimationBuilder.leaveAnimation(currentBackdrop);
|
|
20
28
|
const defaultModalSize = config.flavor === 'modal' ? 'medium' : null;
|
|
21
29
|
const modalSize = config.size || defaultModalSize;
|
|
22
30
|
const allow_scroll_class = 'allow-background-scroll';
|
|
@@ -27,14 +35,6 @@ export class ModalHelper {
|
|
|
27
35
|
if (config.interactWithBackground) {
|
|
28
36
|
this.windowRef.nativeWindow.document.body.classList.add(allow_scroll_class);
|
|
29
37
|
}
|
|
30
|
-
let currentBackdrop;
|
|
31
|
-
const topMostModal = await this.ionicModalController.getTop();
|
|
32
|
-
if (topMostModal) {
|
|
33
|
-
currentBackdrop =
|
|
34
|
-
topMostModal.shadowRoot.querySelector('ion-backdrop');
|
|
35
|
-
}
|
|
36
|
-
const enterAnimation = this.modalAnimationBuilder.enterAnimation(currentBackdrop);
|
|
37
|
-
const leaveAnimation = this.modalAnimationBuilder.leaveAnimation(currentBackdrop);
|
|
38
38
|
const ionModal = await this.ionicModalController.create({
|
|
39
39
|
component: config.flavor === 'compact' ? ModalCompactWrapperComponent : ModalWrapperComponent,
|
|
40
40
|
cssClass: [
|
|
@@ -52,8 +52,8 @@ export class ModalHelper {
|
|
|
52
52
|
swipeToClose: config.flavor != 'compact',
|
|
53
53
|
presentingElement: modalPresentingElement,
|
|
54
54
|
keyboardClose: false,
|
|
55
|
-
enterAnimation
|
|
56
|
-
leaveAnimation
|
|
55
|
+
enterAnimation,
|
|
56
|
+
leaveAnimation,
|
|
57
57
|
});
|
|
58
58
|
if (config.interactWithBackground) {
|
|
59
59
|
ionModal.onDidDismiss().then(() => {
|
|
@@ -107,4 +107,4 @@ ModalHelper.presentingElement = undefined;
|
|
|
107
107
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ModalHelper, decorators: [{
|
|
108
108
|
type: Injectable
|
|
109
109
|
}], ctorParameters: function () { return [{ type: i1.ModalController }, { type: i2.ModalAnimationBuilderService }, { type: i3.WindowRef }]; } });
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL21vZGFsL3NlcnZpY2VzL21vZGFsLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFFeEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFakYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7O0FBSWpGLE1BQU0sT0FBTyxXQUFXO0lBS3RCLFlBQ1Usb0JBQXFDLEVBQ3JDLHFCQUFtRCxFQUNuRCxTQUFvQjtRQUZwQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQWlCO1FBQ3JDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBOEI7UUFDbkQsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUMzQixDQUFDO0lBRUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFtQjtRQUM5QyxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDO1FBQ3pDLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTlFLE1BQU0sZ0JBQWdCLEdBQWMsTUFBTSxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2hGLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJ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O0lBRU0sS0FBSyxDQUFDLGNBQWMsQ0FDekIsNkJBQXFDLEVBQ3JDLFFBQWtDO1FBRWxDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLFlBQVkscUJBQXFCLENBQUMsRUFBRTtZQUNqRSxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7U0FDaEQ7UUFDRCxLQUFLLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxDQUFDOztBQWpIRCxzREFBc0Q7QUFDdEQsZ0RBQWdEO0FBQ2pDLDZCQUFpQixHQUFnQixTQUFVLENBQUE7MkhBSC9DLFdBQVc7K0hBQVgsV0FBVzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuXG5pbXBvcnQgeyBLaXJieUFuaW1hdGlvbiB9IGZyb20gJy4uLy4uLy4uL2FuaW1hdGlvbi9raXJieS1hbmltYXRpb24nO1xuaW1wb3J0IHsgV2luZG93UmVmIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvd2luZG93LXJlZic7XG5pbXBvcnQgeyBNb2RhbENvbXBhY3RXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vbW9kYWwtd3JhcHBlci9jb21wYWN0L21vZGFsLWNvbXBhY3Qtd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kYWxDb25maWcsIE1vZGFsRmxhdm9yLCBNb2RhbFNpemUgfSBmcm9tICcuLi9tb2RhbC13cmFwcGVyL2NvbmZpZy9tb2RhbC1jb25maWcnO1xuaW1wb3J0IHsgTW9kYWxXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vbW9kYWwtd3JhcHBlci9tb2RhbC13cmFwcGVyLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IE1vZGFsQW5pbWF0aW9uQnVpbGRlclNlcnZpY2UgfSBmcm9tICcuL21vZGFsLWFuaW1hdGlvbi1idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJy4vbW9kYWwuaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb2RhbEhlbHBlciB7XG4gIC8vIFRPRE86IE1ha2UgcHJlc2VudGluZ0VsZW1lbnQgYW4gaW5zdGFuY2UgZmllbGQgd2hlblxuICAvLyBmb3JSb290KCkvc2luZ2xldG9uIHNlcnZpY2VzIGhhcyBiZWVuIHNvbHZlZDpcbiAgcHJpdmF0ZSBzdGF0aWMgcHJlc2VudGluZ0VsZW1lbnQ6IEhUTUxFbGVtZW50ID0gdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW9uaWNNb2RhbENvbnRyb2xsZXI6IE1vZGFsQ29udHJvbGxlcixcbiAgICBwcml2YXRlIG1vZGFsQW5pbWF0aW9uQnVpbGRlcjogTW9kYWxBbmltYXRpb25CdWlsZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHdpbmRvd1JlZjogV2luZG93UmVmXG4gICkge31cblxuICBwdWJsaWMgYXN5bmMgc2hvd01vZGFsV2luZG93KGNvbmZpZzogTW9kYWxDb25maWcpOiBQcm9taXNlPE92ZXJsYXk+IHtcbiAgICBjb25maWcuZmxhdm9yID0gY29uZmlnLmZsYXZvciB8fCAnbW9kYWwnO1xuICAgIGNvbnN0IG1vZGFsUHJlc2VudGluZ0VsZW1lbnQgPSBhd2FpdCB0aGlzLmdldFByZXNlbnRpbmdFbGVtZW50KGNvbmZpZy5mbGF2b3IpO1xuXG4gICAgY29uc3QgZGVmYXVsdE1vZGFsU2l6ZTogTW9kYWxTaXplID0gY29uZmlnLmZsYXZvciA9PT0gJ21vZGFsJyA/ICdtZWRpdW0nIDogbnVsbDtcbiAgICBjb25zdCBtb2RhbFNpemUgPSBjb25maWcuc2l6ZSB8fCBkZWZhdWx0TW9kYWxTaXplO1xuICAgIGNvbnN0IGFsbG93X3Njcm9sbF9jbGFzcyA9ICdhbGxvdy1iYWNrZ3JvdW5kLXNjcm9sbCc7XG5cbiAgICBsZXQgY3VzdG9tQ3NzQ2xhc3NlcyA9IFtdO1xuICAgIGlmIChjb25maWcuY3NzQ2xhc3MpIHtcbiAgICAgIGN1c3RvbUNzc0NsYXNzZXMgPSBBcnJheS5pc0FycmF5KGNvbmZpZy5jc3NDbGFzcykgPyBjb25maWcuY3NzQ2xhc3MgOiBbY29uZmlnLmNzc0NsYXNzXTtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLmludGVyYWN0V2l0aEJhY2tncm91bmQpIHtcbiAgICAgIHRoaXMud2luZG93UmVmLm5hdGl2ZVdpbmRvdy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoYWxsb3dfc2Nyb2xsX2NsYXNzKTtcbiAgICB9XG5cbiAgICBsZXQgY3VycmVudEJhY2tkcm9wOiBIVE1MSW9uQmFja2Ryb3BFbGVtZW50O1xuICAgIGNvbnN0IHRvcE1vc3RNb2RhbCA9IGF3YWl0IHRoaXMuaW9uaWNNb2RhbENvbnRyb2xsZXIuZ2V0VG9wKCk7XG4gICAgaWYgKHRvcE1vc3RNb2RhbCkge1xuICAgICAgY3VycmVudEJhY2tkcm9wID1cbiAgICAgICAgdG9wTW9zdE1vZGFsLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcjxIVE1MSW9uQmFja2Ryb3BFbGVtZW50PignaW9uLWJhY2tkcm9wJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZW50ZXJBbmltYXRpb24gPSB0aGlzLm1vZGFsQW5pbWF0aW9uQnVpbGRlci5lbnRlckFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3ApO1xuICAgIGNvbnN0IGxlYXZlQW5pbWF0aW9uID0gdGhpcy5tb2RhbEFuaW1hdGlvbkJ1aWxkZXIubGVhdmVBbmltYXRpb24oY3VycmVudEJhY2tkcm9wKTtcblxuICAgIGNvbnN0IGlvbk1vZGFsID0gYXdhaXQgdGhpcy5pb25pY01vZGFsQ29udHJvbGxlci5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBjb25maWcuZmxhdm9yID09PSAnY29tcGFjdCcgPyBNb2RhbENvbXBhY3RXcmFwcGVyQ29tcG9uZW50IDogTW9kYWxXcmFwcGVyQ29tcG9uZW50LFxuICAgICAgY3NzQ2xhc3M6IFtcbiAgICAgICAgJ2tpcmJ5LW92ZXJsYXknLFxuICAgICAgICAna2lyYnktbW9kYWwnLFxuICAgICAgICBjb25maWcuZmxhdm9yID09PSAnZHJhd2VyJyA/ICdraXJieS1kcmF3ZXInIDogbnVsbCxcbiAgICAgICAgY29uZmlnLmZsYXZvciA9PT0gJ2NvbXBhY3QnID8gJ2tpcmJ5LW1vZGFsLWNvbXBhY3QnIDogbnVsbCxcbiAgICAgICAgbW9kYWxTaXplID8gJ2tpcmJ5LW1vZGFsLScgKyBtb2RhbFNpemUgOiBudWxsLFxuICAgICAgICBjb25maWcuaW50ZXJhY3RXaXRoQmFja2dyb3VuZCA/ICdpbnRlcmFjdC13aXRoLWJhY2tncm91bmQnIDogbnVsbCxcbiAgICAgICAgLi4uY3VzdG9tQ3NzQ2xhc3NlcyxcbiAgICAgIF0sXG4gICAgICBiYWNrZHJvcERpc21pc3M6IGNvbmZpZy5mbGF2b3IgPT09ICdjb21wYWN0JyB8fCBjb25maWcuaW50ZXJhY3RXaXRoQmFja2dyb3VuZCA/IGZhbHNlIDogdHJ1ZSxcbiAgICAgIHNob3dCYWNrZHJvcDogIWNvbmZpZy5pbnRlcmFjdFdpdGhCYWNrZ3JvdW5kLFxuICAgICAgY29tcG9uZW50UHJvcHM6IHsgY29uZmlnOiBjb25maWcgfSxcbiAgICAgIHN3aXBlVG9DbG9zZTogY29uZmlnLmZsYXZvciAhPSAnY29tcGFjdCcsXG4gICAgICBwcmVzZW50aW5nRWxlbWVudDogbW9kYWxQcmVzZW50aW5nRWxlbWVudCxcbiAgICAgIGtleWJvYXJkQ2xvc2U6IGZhbHNlLFxuICAgICAgZW50ZXJBbmltYXRpb246IGVudGVyQW5pbWF0aW9uLFxuICAgICAgbGVhdmVBbmltYXRpb246IGxlYXZlQW5pbWF0aW9uLFxuICAgIH0pO1xuXG4gICAgaWYgKGNvbmZpZy5pbnRlcmFjdFdpdGhCYWNrZ3JvdW5kKSB7XG4gICAgICBpb25Nb2RhbC5vbkRpZERpc21pc3MoKS50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy53aW5kb3dSZWYubmF0aXZlV2luZG93LmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZShhbGxvd19zY3JvbGxfY2xhc3MpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgYXdhaXQgaW9uTW9kYWwucHJlc2VudCgpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRpc21pc3M6IGlvbk1vZGFsLmRpc21pc3MuYmluZChpb25Nb2RhbCksXG4gICAgICBvbldpbGxEaXNtaXNzOiBpb25Nb2RhbC5vbldpbGxEaXNtaXNzKCksXG4gICAgICBvbkRpZERpc21pc3M6IGlvbk1vZGFsLm9uRGlkRGlzbWlzcygpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJQcmVzZW50aW5nRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIE1vZGFsSGVscGVyLnByZXNlbnRpbmdFbGVtZW50ID0gZWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0UHJlc2VudGluZ0VsZW1lbnQoZmxhdm9yPzogTW9kYWxGbGF2b3IpIHtcbiAgICBsZXQgbW9kYWxQcmVzZW50aW5nRWxlbWVudDogSFRNTEVsZW1lbnQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKCFmbGF2b3IgfHwgZmxhdm9yID09PSAnbW9kYWwnKSB7XG4gICAgICBjb25zdCB0b3BNb3N0TW9kYWwgPSBhd2FpdCB0aGlzLmlvbmljTW9kYWxDb250cm9sbGVyLmdldFRvcCgpO1xuICAgICAgaWYgKCF0b3BNb3N0TW9kYWwpIHtcbiAgICAgICAgbW9kYWxQcmVzZW50aW5nRWxlbWVudCA9IE1vZGFsSGVscGVyLnByZXNlbnRpbmdFbGVtZW50O1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgIXRvcE1vc3RNb2RhbC5jbGFzc0xpc3QuY29udGFpbnMoJ2tpcmJ5LWRyYXdlcicpICYmXG4gICAgICAgICF0b3BNb3N0TW9kYWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdraXJieS1tb2RhbC1jb21wYWN0JylcbiAgICAgICkge1xuICAgICAgICBtb2RhbFByZXNlbnRpbmdFbGVtZW50ID0gdG9wTW9zdE1vZGFsO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbW9kYWxQcmVzZW50aW5nRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzY3JvbGxUb1RvcChcbiAgICBub01vZGFsUmVnaXN0ZXJlZEVycm9yTWVzc2FnZTogc3RyaW5nLFxuICAgIGR1cmF0aW9uPzogS2lyYnlBbmltYXRpb24uRHVyYXRpb25cbiAgKSB7XG4gICAgY29uc3QgbW9kYWwgPSBhd2FpdCB0aGlzLmlvbmljTW9kYWxDb250cm9sbGVyLmdldFRvcCgpO1xuICAgIGlmICghbW9kYWwgfHwgIShtb2RhbC5jb21wb25lbnQgaW5zdGFuY2VvZiBNb2RhbFdyYXBwZXJDb21wb25lbnQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3Iobm9Nb2RhbFJlZ2lzdGVyZWRFcnJvck1lc3NhZ2UpO1xuICAgIH1cbiAgICBtb2RhbC5jb21wb25lbnQuc2Nyb2xsVG9Ub3AoZHVyYXRpb24pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNjcm9sbFRvQm90dG9tKFxuICAgIG5vTW9kYWxSZWdpc3RlcmVkRXJyb3JNZXNzYWdlOiBzdHJpbmcsXG4gICAgZHVyYXRpb24/OiBLaXJieUFuaW1hdGlvbi5EdXJhdGlvblxuICApIHtcbiAgICBjb25zdCBtb2RhbCA9IGF3YWl0IHRoaXMuaW9uaWNNb2RhbENvbnRyb2xsZXIuZ2V0VG9wKCk7XG4gICAgaWYgKCFtb2RhbCB8fCAhKG1vZGFsLmNvbXBvbmVudCBpbnN0YW5jZW9mIE1vZGFsV3JhcHBlckNvbXBvbmVudCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihub01vZGFsUmVnaXN0ZXJlZEVycm9yTWVzc2FnZSk7XG4gICAgfVxuICAgIG1vZGFsLmNvbXBvbmVudC5zY3JvbGxUb0JvdHRvbShkdXJhdGlvbik7XG4gIH1cbn1cbiJdfQ==
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL21vZGFsL3NlcnZpY2VzL21vZGFsLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFFeEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFakYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7O0FBSWpGLE1BQU0sT0FBTyxXQUFXO0lBS3RCLFlBQ1Usb0JBQXFDLEVBQ3JDLHFCQUFtRCxFQUNuRCxTQUFvQjtRQUZwQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQWlCO1FBQ3JDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBOEI7UUFDbkQsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUMzQixDQUFDO0lBRUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFtQjtRQUM5QyxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDO1FBQ3pDLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTlFLElBQUksZUFBdUMsQ0FBQztRQUM1QyxNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM5RCxJQUFJLFlBQVksRUFBRTtZQUNoQixlQUFlO2dCQUNiLFlB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QUN6Qiw2QkFBcUMsRUFDckMsUUFBa0M7UUFFbEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsWUFBWSxxQkFBcUIsQ0FBQyxFQUFFO1lBQ2pFLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztTQUNoRDtRQUNELEtBQUssQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7O0FBakhELHNEQUFzRDtBQUN0RCxnREFBZ0Q7QUFDakMsNkJBQWlCLEdBQWdCLFNBQVUsQ0FBQTsySEFIL0MsV0FBVzsrSEFBWCxXQUFXOzJGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb2RhbENvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5cbmltcG9ydCB7IEtpcmJ5QW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vYW5pbWF0aW9uL2tpcmJ5LWFuaW1hdGlvbic7XG5pbXBvcnQgeyBXaW5kb3dSZWYgfSBmcm9tICcuLi8uLi8uLi90eXBlcy93aW5kb3ctcmVmJztcbmltcG9ydCB7IE1vZGFsQ29tcGFjdFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi9tb2RhbC13cmFwcGVyL2NvbXBhY3QvbW9kYWwtY29tcGFjdC13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RhbENvbmZpZywgTW9kYWxGbGF2b3IsIE1vZGFsU2l6ZSB9IGZyb20gJy4uL21vZGFsLXdyYXBwZXIvY29uZmlnL21vZGFsLWNvbmZpZyc7XG5pbXBvcnQgeyBNb2RhbFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi9tb2RhbC13cmFwcGVyL21vZGFsLXdyYXBwZXIuY29tcG9uZW50JztcblxuaW1wb3J0IHsgTW9kYWxBbmltYXRpb25CdWlsZGVyU2VydmljZSB9IGZyb20gJy4vbW9kYWwtYW5pbWF0aW9uLWJ1aWxkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnLi9tb2RhbC5pbnRlcmZhY2VzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1vZGFsSGVscGVyIHtcbiAgLy8gVE9ETzogTWFrZSBwcmVzZW50aW5nRWxlbWVudCBhbiBpbnN0YW5jZSBmaWVsZCB3aGVuXG4gIC8vIGZvclJvb3QoKS9zaW5nbGV0b24gc2VydmljZXMgaGFzIGJlZW4gc29sdmVkOlxuICBwcml2YXRlIHN0YXRpYyBwcmVzZW50aW5nRWxlbWVudDogSFRNTEVsZW1lbnQgPSB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpb25pY01vZGFsQ29udHJvbGxlcjogTW9kYWxDb250cm9sbGVyLFxuICAgIHByaXZhdGUgbW9kYWxBbmltYXRpb25CdWlsZGVyOiBNb2RhbEFuaW1hdGlvbkJ1aWxkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgd2luZG93UmVmOiBXaW5kb3dSZWZcbiAgKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBzaG93TW9kYWxXaW5kb3coY29uZmlnOiBNb2RhbENvbmZpZyk6IFByb21pc2U8T3ZlcmxheT4ge1xuICAgIGNvbmZpZy5mbGF2b3IgPSBjb25maWcuZmxhdm9yIHx8ICdtb2RhbCc7XG4gICAgY29uc3QgbW9kYWxQcmVzZW50aW5nRWxlbWVudCA9IGF3YWl0IHRoaXMuZ2V0UHJlc2VudGluZ0VsZW1lbnQoY29uZmlnLmZsYXZvcik7XG5cbiAgICBsZXQgY3VycmVudEJhY2tkcm9wOiBIVE1MSW9uQmFja2Ryb3BFbGVtZW50O1xuICAgIGNvbnN0IHRvcE1vc3RNb2RhbCA9IGF3YWl0IHRoaXMuaW9uaWNNb2RhbENvbnRyb2xsZXIuZ2V0VG9wKCk7XG4gICAgaWYgKHRvcE1vc3RNb2RhbCkge1xuICAgICAgY3VycmVudEJhY2tkcm9wID1cbiAgICAgICAgdG9wTW9zdE1vZGFsLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcjxIVE1MSW9uQmFja2Ryb3BFbGVtZW50PignaW9uLWJhY2tkcm9wJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZW50ZXJBbmltYXRpb24gPSB0aGlzLm1vZGFsQW5pbWF0aW9uQnVpbGRlci5lbnRlckFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3ApO1xuICAgIGNvbnN0IGxlYXZlQW5pbWF0aW9uID0gdGhpcy5tb2RhbEFuaW1hdGlvbkJ1aWxkZXIubGVhdmVBbmltYXRpb24oY3VycmVudEJhY2tkcm9wKTtcblxuICAgIGNvbnN0IGRlZmF1bHRNb2RhbFNpemU6IE1vZGFsU2l6ZSA9IGNvbmZpZy5mbGF2b3IgPT09ICdtb2RhbCcgPyAnbWVkaXVtJyA6IG51bGw7XG4gICAgY29uc3QgbW9kYWxTaXplID0gY29uZmlnLnNpemUgfHwgZGVmYXVsdE1vZGFsU2l6ZTtcbiAgICBjb25zdCBhbGxvd19zY3JvbGxfY2xhc3MgPSAnYWxsb3ctYmFja2dyb3VuZC1zY3JvbGwnO1xuXG4gICAgbGV0IGN1c3RvbUNzc0NsYXNzZXMgPSBbXTtcbiAgICBpZiAoY29uZmlnLmNzc0NsYXNzKSB7XG4gICAgICBjdXN0b21Dc3NDbGFzc2VzID0gQXJyYXkuaXNBcnJheShjb25maWcuY3NzQ2xhc3MpID8gY29uZmlnLmNzc0NsYXNzIDogW2NvbmZpZy5jc3NDbGFzc107XG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy5pbnRlcmFjdFdpdGhCYWNrZ3JvdW5kKSB7XG4gICAgICB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKGFsbG93X3Njcm9sbF9jbGFzcyk7XG4gICAgfVxuXG4gICAgY29uc3QgaW9uTW9kYWwgPSBhd2FpdCB0aGlzLmlvbmljTW9kYWxDb250cm9sbGVyLmNyZWF0ZSh7XG4gICAgICBjb21wb25lbnQ6IGNvbmZpZy5mbGF2b3IgPT09ICdjb21wYWN0JyA/IE1vZGFsQ29tcGFjdFdyYXBwZXJDb21wb25lbnQgOiBNb2RhbFdyYXBwZXJDb21wb25lbnQsXG4gICAgICBjc3NDbGFzczogW1xuICAgICAgICAna2lyYnktb3ZlcmxheScsXG4gICAgICAgICdraXJieS1tb2RhbCcsXG4gICAgICAgIGNvbmZpZy5mbGF2b3IgPT09ICdkcmF3ZXInID8gJ2tpcmJ5LWRyYXdlcicgOiBudWxsLFxuICAgICAgICBjb25maWcuZmxhdm9yID09PSAnY29tcGFjdCcgPyAna2lyYnktbW9kYWwtY29tcGFjdCcgOiBudWxsLFxuICAgICAgICBtb2RhbFNpemUgPyAna2lyYnktbW9kYWwtJyArIG1vZGFsU2l6ZSA6IG51bGwsXG4gICAgICAgIGNvbmZpZy5pbnRlcmFjdFdpdGhCYWNrZ3JvdW5kID8gJ2ludGVyYWN0LXdpdGgtYmFja2dyb3VuZCcgOiBudWxsLFxuICAgICAgICAuLi5jdXN0b21Dc3NDbGFzc2VzLFxuICAgICAgXSxcbiAgICAgIGJhY2tkcm9wRGlzbWlzczogY29uZmlnLmZsYXZvciA9PT0gJ2NvbXBhY3QnIHx8IGNvbmZpZy5pbnRlcmFjdFdpdGhCYWNrZ3JvdW5kID8gZmFsc2UgOiB0cnVlLFxuICAgICAgc2hvd0JhY2tkcm9wOiAhY29uZmlnLmludGVyYWN0V2l0aEJhY2tncm91bmQsXG4gICAgICBjb21wb25lbnRQcm9wczogeyBjb25maWc6IGNvbmZpZyB9LFxuICAgICAgc3dpcGVUb0Nsb3NlOiBjb25maWcuZmxhdm9yICE9ICdjb21wYWN0JyxcbiAgICAgIHByZXNlbnRpbmdFbGVtZW50OiBtb2RhbFByZXNlbnRpbmdFbGVtZW50LFxuICAgICAga2V5Ym9hcmRDbG9zZTogZmFsc2UsXG4gICAgICBlbnRlckFuaW1hdGlvbixcbiAgICAgIGxlYXZlQW5pbWF0aW9uLFxuICAgIH0pO1xuXG4gICAgaWYgKGNvbmZpZy5pbnRlcmFjdFdpdGhCYWNrZ3JvdW5kKSB7XG4gICAgICBpb25Nb2RhbC5vbkRpZERpc21pc3MoKS50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy53aW5kb3dSZWYubmF0aXZlV2luZG93LmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZShhbGxvd19zY3JvbGxfY2xhc3MpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgYXdhaXQgaW9uTW9kYWwucHJlc2VudCgpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRpc21pc3M6IGlvbk1vZGFsLmRpc21pc3MuYmluZChpb25Nb2RhbCksXG4gICAgICBvbldpbGxEaXNtaXNzOiBpb25Nb2RhbC5vbldpbGxEaXNtaXNzKCksXG4gICAgICBvbkRpZERpc21pc3M6IGlvbk1vZGFsLm9uRGlkRGlzbWlzcygpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJQcmVzZW50aW5nRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIE1vZGFsSGVscGVyLnByZXNlbnRpbmdFbGVtZW50ID0gZWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0UHJlc2VudGluZ0VsZW1lbnQoZmxhdm9yPzogTW9kYWxGbGF2b3IpIHtcbiAgICBsZXQgbW9kYWxQcmVzZW50aW5nRWxlbWVudDogSFRNTEVsZW1lbnQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKCFmbGF2b3IgfHwgZmxhdm9yID09PSAnbW9kYWwnKSB7XG4gICAgICBjb25zdCB0b3BNb3N0TW9kYWwgPSBhd2FpdCB0aGlzLmlvbmljTW9kYWxDb250cm9sbGVyLmdldFRvcCgpO1xuICAgICAgaWYgKCF0b3BNb3N0TW9kYWwpIHtcbiAgICAgICAgbW9kYWxQcmVzZW50aW5nRWxlbWVudCA9IE1vZGFsSGVscGVyLnByZXNlbnRpbmdFbGVtZW50O1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgIXRvcE1vc3RNb2RhbC5jbGFzc0xpc3QuY29udGFpbnMoJ2tpcmJ5LWRyYXdlcicpICYmXG4gICAgICAgICF0b3BNb3N0TW9kYWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdraXJieS1tb2RhbC1jb21wYWN0JylcbiAgICAgICkge1xuICAgICAgICBtb2RhbFByZXNlbnRpbmdFbGVtZW50ID0gdG9wTW9zdE1vZGFsO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbW9kYWxQcmVzZW50aW5nRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzY3JvbGxUb1RvcChcbiAgICBub01vZGFsUmVnaXN0ZXJlZEVycm9yTWVzc2FnZTogc3RyaW5nLFxuICAgIGR1cmF0aW9uPzogS2lyYnlBbmltYXRpb24uRHVyYXRpb25cbiAgKSB7XG4gICAgY29uc3QgbW9kYWwgPSBhd2FpdCB0aGlzLmlvbmljTW9kYWxDb250cm9sbGVyLmdldFRvcCgpO1xuICAgIGlmICghbW9kYWwgfHwgIShtb2RhbC5jb21wb25lbnQgaW5zdGFuY2VvZiBNb2RhbFdyYXBwZXJDb21wb25lbnQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3Iobm9Nb2RhbFJlZ2lzdGVyZWRFcnJvck1lc3NhZ2UpO1xuICAgIH1cbiAgICBtb2RhbC5jb21wb25lbnQuc2Nyb2xsVG9Ub3AoZHVyYXRpb24pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNjcm9sbFRvQm90dG9tKFxuICAgIG5vTW9kYWxSZWdpc3RlcmVkRXJyb3JNZXNzYWdlOiBzdHJpbmcsXG4gICAgZHVyYXRpb24/OiBLaXJieUFuaW1hdGlvbi5EdXJhdGlvblxuICApIHtcbiAgICBjb25zdCBtb2RhbCA9IGF3YWl0IHRoaXMuaW9uaWNNb2RhbENvbnRyb2xsZXIuZ2V0VG9wKCk7XG4gICAgaWYgKCFtb2RhbCB8fCAhKG1vZGFsLmNvbXBvbmVudCBpbnN0YW5jZW9mIE1vZGFsV3JhcHBlckNvbXBvbmVudCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihub01vZGFsUmVnaXN0ZXJlZEVycm9yTWVzc2FnZSk7XG4gICAgfVxuICAgIG1vZGFsLmNvbXBvbmVudC5zY3JvbGxUb0JvdHRvbShkdXJhdGlvbik7XG4gIH1cbn1cbiJdfQ==
|