@skyux/popovers 8.0.0-alpha.2 → 8.0.0-alpha.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +390 -460
- package/esm2020/index.mjs +2 -1
- package/esm2020/lib/modules/dropdown/dropdown-button.component.mjs +3 -3
- package/esm2020/lib/modules/dropdown/dropdown-item.component.mjs +15 -15
- package/esm2020/lib/modules/dropdown/dropdown-menu.component.mjs +25 -25
- package/esm2020/lib/modules/dropdown/dropdown.component.mjs +32 -49
- package/esm2020/lib/modules/dropdown/dropdown.module.mjs +4 -4
- package/esm2020/lib/modules/popover/popover-adapter.service.mjs +3 -3
- package/esm2020/lib/modules/popover/popover-content.component.mjs +26 -26
- package/esm2020/lib/modules/popover/popover.component.mjs +39 -39
- package/esm2020/lib/modules/popover/popover.directive.mjs +14 -14
- package/esm2020/lib/modules/popover/popover.module.mjs +4 -4
- package/esm2020/lib/modules/shared/sky-popovers-resources.module.mjs +4 -4
- package/esm2020/testing/dropdown/dropdown-fixture.mjs +8 -8
- package/esm2020/testing/dropdown/dropdown-testing.module.mjs +4 -4
- package/esm2020/testing/popover/popover-fixture.mjs +6 -6
- package/esm2020/testing/popover/popover-testing.module.mjs +4 -4
- package/fesm2015/skyux-popovers-testing.mjs +21 -21
- package/fesm2015/skyux-popovers-testing.mjs.map +1 -1
- package/fesm2015/skyux-popovers.mjs +167 -185
- package/fesm2015/skyux-popovers.mjs.map +1 -1
- package/fesm2020/skyux-popovers-testing.mjs +21 -21
- package/fesm2020/skyux-popovers-testing.mjs.map +1 -1
- package/fesm2020/skyux-popovers.mjs +166 -183
- package/fesm2020/skyux-popovers.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/lib/modules/dropdown/dropdown.component.d.ts +4 -7
- package/lib/modules/dropdown/types/dropdown-button-type.d.ts +1 -1
- package/lib/modules/dropdown/types/dropdown-horizontal-alignment.d.ts +1 -1
- package/lib/modules/dropdown/types/dropdown-trigger-type.d.ts +1 -1
- package/lib/modules/popover/popover-animation-state.d.ts +1 -1
- package/lib/modules/popover/types/popover-alignment.d.ts +1 -1
- package/lib/modules/popover/types/popover-placement.d.ts +1 -1
- package/lib/modules/popover/types/popover-trigger.d.ts +1 -1
- package/lib/modules/popover/types/popover-type.d.ts +1 -1
- package/package.json +11 -11
|
@@ -1,23 +1,26 @@
|
|
|
1
|
-
var _SkyDropdownComponent_instances, _SkyDropdownComponent_affixer,
|
|
1
|
+
var _SkyDropdownComponent_instances, _SkyDropdownComponent_affixer, _SkyDropdownComponent_overlay, _SkyDropdownComponent_ngUnsubscribe, _SkyDropdownComponent_positionTimeout, _SkyDropdownComponent_affixService, _SkyDropdownComponent_changeDetector, _SkyDropdownComponent_overlayService, _SkyDropdownComponent_themeSvc, _SkyDropdownComponent_zIndex, _SkyDropdownComponent__buttonStyle, _SkyDropdownComponent__buttonType, _SkyDropdownComponent__dismissOnBlur, _SkyDropdownComponent__horizontalAlignment, _SkyDropdownComponent__isOpen, _SkyDropdownComponent__trigger, _SkyDropdownComponent__triggerButton, _SkyDropdownComponent_addEventListeners, _SkyDropdownComponent_createOverlay, _SkyDropdownComponent_destroyAffixer, _SkyDropdownComponent_destroyOverlay, _SkyDropdownComponent_createAffixer, _SkyDropdownComponent_handleIncomingMessages, _SkyDropdownComponent_sendMessage, _SkyDropdownComponent_positionDropdownMenu;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import { ChangeDetectionStrategy, Component, ElementRef,
|
|
4
|
-
import { SKY_STACKING_CONTEXT, SkyAffixAutoFitContext, } from '@skyux/core';
|
|
3
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, TemplateRef, ViewChild, inject, } from '@angular/core';
|
|
4
|
+
import { SKY_STACKING_CONTEXT, SkyAffixAutoFitContext, SkyAffixService, SkyOverlayService, } from '@skyux/core';
|
|
5
|
+
import { SkyThemeService } from '@skyux/theme';
|
|
5
6
|
import { Subject, fromEvent as observableFromEvent } from 'rxjs';
|
|
6
7
|
import { takeUntil } from 'rxjs/operators';
|
|
7
8
|
import { parseAffixHorizontalAlignment } from './dropdown-extensions';
|
|
8
9
|
import { SkyDropdownMessageType } from './types/dropdown-message-type';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@
|
|
11
|
-
import * as i2 from "@skyux/
|
|
12
|
-
import * as i3 from "@
|
|
13
|
-
import * as i4 from "@skyux/
|
|
14
|
-
|
|
11
|
+
import * as i1 from "@angular/common";
|
|
12
|
+
import * as i2 from "@skyux/indicators";
|
|
13
|
+
import * as i3 from "@skyux/theme";
|
|
14
|
+
import * as i4 from "@skyux/i18n";
|
|
15
|
+
const DEFAULT_BUTTON_STYLE = 'default';
|
|
15
16
|
const DEFAULT_BUTTON_TYPE = 'select';
|
|
17
|
+
const DEFAULT_HORIZONTAL_ALIGNMENT = 'left';
|
|
18
|
+
const DEFAULT_TRIGGER_TYPE = 'click';
|
|
16
19
|
/**
|
|
17
20
|
* Creates a dropdown menu that displays menu items that users may select.
|
|
18
21
|
*/
|
|
19
22
|
export class SkyDropdownComponent {
|
|
20
|
-
constructor(
|
|
23
|
+
constructor() {
|
|
21
24
|
_SkyDropdownComponent_instances.add(this);
|
|
22
25
|
/**
|
|
23
26
|
* Whether to disable the dropdown button.
|
|
@@ -33,28 +36,21 @@ export class SkyDropdownComponent {
|
|
|
33
36
|
this.isMouseEnter = false;
|
|
34
37
|
this.isVisible = false;
|
|
35
38
|
_SkyDropdownComponent_affixer.set(this, void 0);
|
|
36
|
-
_SkyDropdownComponent_ngUnsubscribe.set(this, new Subject());
|
|
37
39
|
_SkyDropdownComponent_overlay.set(this, void 0);
|
|
38
|
-
|
|
40
|
+
_SkyDropdownComponent_ngUnsubscribe.set(this, new Subject());
|
|
41
|
+
_SkyDropdownComponent_positionTimeout.set(this, void 0);
|
|
42
|
+
_SkyDropdownComponent_affixService.set(this, inject(SkyAffixService));
|
|
43
|
+
_SkyDropdownComponent_changeDetector.set(this, inject(ChangeDetectorRef));
|
|
44
|
+
_SkyDropdownComponent_overlayService.set(this, inject(SkyOverlayService));
|
|
45
|
+
_SkyDropdownComponent_themeSvc.set(this, inject(SkyThemeService, { optional: true }));
|
|
46
|
+
_SkyDropdownComponent_zIndex.set(this, inject(SKY_STACKING_CONTEXT, { optional: true })?.zIndex);
|
|
47
|
+
_SkyDropdownComponent__buttonStyle.set(this, DEFAULT_BUTTON_STYLE);
|
|
39
48
|
_SkyDropdownComponent__buttonType.set(this, DEFAULT_BUTTON_TYPE);
|
|
40
49
|
_SkyDropdownComponent__dismissOnBlur.set(this, true);
|
|
41
|
-
_SkyDropdownComponent__horizontalAlignment.set(this,
|
|
50
|
+
_SkyDropdownComponent__horizontalAlignment.set(this, DEFAULT_HORIZONTAL_ALIGNMENT);
|
|
42
51
|
_SkyDropdownComponent__isOpen.set(this, false);
|
|
43
|
-
_SkyDropdownComponent__trigger.set(this,
|
|
52
|
+
_SkyDropdownComponent__trigger.set(this, DEFAULT_TRIGGER_TYPE);
|
|
44
53
|
_SkyDropdownComponent__triggerButton.set(this, void 0);
|
|
45
|
-
_SkyDropdownComponent_positionTimeout.set(this, void 0);
|
|
46
|
-
_SkyDropdownComponent_changeDetector.set(this, void 0);
|
|
47
|
-
_SkyDropdownComponent_affixService.set(this, void 0);
|
|
48
|
-
_SkyDropdownComponent_overlayService.set(this, void 0);
|
|
49
|
-
_SkyDropdownComponent_logService.set(this, void 0);
|
|
50
|
-
_SkyDropdownComponent_themeSvc.set(this, void 0);
|
|
51
|
-
_SkyDropdownComponent_zIndex.set(this, void 0);
|
|
52
|
-
__classPrivateFieldSet(this, _SkyDropdownComponent_changeDetector, changeDetector, "f");
|
|
53
|
-
__classPrivateFieldSet(this, _SkyDropdownComponent_affixService, affixService, "f");
|
|
54
|
-
__classPrivateFieldSet(this, _SkyDropdownComponent_overlayService, overlayService, "f");
|
|
55
|
-
__classPrivateFieldSet(this, _SkyDropdownComponent_logService, logService, "f");
|
|
56
|
-
__classPrivateFieldSet(this, _SkyDropdownComponent_themeSvc, themeSvc, "f");
|
|
57
|
-
__classPrivateFieldSet(this, _SkyDropdownComponent_zIndex, stackingContext?.zIndex, "f");
|
|
58
54
|
}
|
|
59
55
|
/**
|
|
60
56
|
* The background color for the dropdown button. Available values are `default`,
|
|
@@ -63,7 +59,7 @@ export class SkyDropdownComponent {
|
|
|
63
59
|
* @default "default"
|
|
64
60
|
*/
|
|
65
61
|
set buttonStyle(value) {
|
|
66
|
-
__classPrivateFieldSet(this, _SkyDropdownComponent__buttonStyle, value ??
|
|
62
|
+
__classPrivateFieldSet(this, _SkyDropdownComponent__buttonStyle, value ?? DEFAULT_BUTTON_STYLE, "f");
|
|
67
63
|
}
|
|
68
64
|
get buttonStyle() {
|
|
69
65
|
return __classPrivateFieldGet(this, _SkyDropdownComponent__buttonStyle, "f");
|
|
@@ -77,12 +73,6 @@ export class SkyDropdownComponent {
|
|
|
77
73
|
*/
|
|
78
74
|
set buttonType(value) {
|
|
79
75
|
__classPrivateFieldSet(this, _SkyDropdownComponent__buttonType, value ?? DEFAULT_BUTTON_TYPE, "f");
|
|
80
|
-
if (value && !['select', 'context-menu', 'tab'].includes(value)) {
|
|
81
|
-
__classPrivateFieldGet(this, _SkyDropdownComponent_logService, "f").deprecated('SkyDropdownComponent.buttonType Font Awesome icon class option', {
|
|
82
|
-
deprecationMajorVersion: 7,
|
|
83
|
-
replacementRecommendation: 'Set `buttonType` to `select` and render a `<sky-icon>` element within the `<sky-dropdown-button>` element.',
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
76
|
}
|
|
87
77
|
get buttonType() {
|
|
88
78
|
return __classPrivateFieldGet(this, _SkyDropdownComponent__buttonType, "f");
|
|
@@ -102,7 +92,7 @@ export class SkyDropdownComponent {
|
|
|
102
92
|
* @default "left"
|
|
103
93
|
*/
|
|
104
94
|
set horizontalAlignment(value) {
|
|
105
|
-
__classPrivateFieldSet(this, _SkyDropdownComponent__horizontalAlignment, value ??
|
|
95
|
+
__classPrivateFieldSet(this, _SkyDropdownComponent__horizontalAlignment, value ?? DEFAULT_HORIZONTAL_ALIGNMENT, "f");
|
|
106
96
|
}
|
|
107
97
|
get horizontalAlignment() {
|
|
108
98
|
return __classPrivateFieldGet(this, _SkyDropdownComponent__horizontalAlignment, "f");
|
|
@@ -118,7 +108,7 @@ export class SkyDropdownComponent {
|
|
|
118
108
|
* @default "click"
|
|
119
109
|
*/
|
|
120
110
|
set trigger(value) {
|
|
121
|
-
__classPrivateFieldSet(this, _SkyDropdownComponent__trigger, value ??
|
|
111
|
+
__classPrivateFieldSet(this, _SkyDropdownComponent__trigger, value ?? DEFAULT_TRIGGER_TYPE, "f");
|
|
122
112
|
}
|
|
123
113
|
get trigger() {
|
|
124
114
|
return __classPrivateFieldGet(this, _SkyDropdownComponent__trigger, "f");
|
|
@@ -165,7 +155,7 @@ export class SkyDropdownComponent {
|
|
|
165
155
|
__classPrivateFieldGet(this, _SkyDropdownComponent_ngUnsubscribe, "f").complete();
|
|
166
156
|
}
|
|
167
157
|
}
|
|
168
|
-
_SkyDropdownComponent_affixer = new WeakMap(),
|
|
158
|
+
_SkyDropdownComponent_affixer = new WeakMap(), _SkyDropdownComponent_overlay = new WeakMap(), _SkyDropdownComponent_ngUnsubscribe = new WeakMap(), _SkyDropdownComponent_positionTimeout = new WeakMap(), _SkyDropdownComponent_affixService = new WeakMap(), _SkyDropdownComponent_changeDetector = new WeakMap(), _SkyDropdownComponent_overlayService = new WeakMap(), _SkyDropdownComponent_themeSvc = new WeakMap(), _SkyDropdownComponent_zIndex = new WeakMap(), _SkyDropdownComponent__buttonStyle = new WeakMap(), _SkyDropdownComponent__buttonType = new WeakMap(), _SkyDropdownComponent__dismissOnBlur = new WeakMap(), _SkyDropdownComponent__horizontalAlignment = new WeakMap(), _SkyDropdownComponent__isOpen = new WeakMap(), _SkyDropdownComponent__trigger = new WeakMap(), _SkyDropdownComponent__triggerButton = new WeakMap(), _SkyDropdownComponent_instances = new WeakSet(), _SkyDropdownComponent_addEventListeners = function _SkyDropdownComponent_addEventListeners() {
|
|
169
159
|
__classPrivateFieldGet(this, _SkyDropdownComponent_ngUnsubscribe, "f").next();
|
|
170
160
|
__classPrivateFieldGet(this, _SkyDropdownComponent_ngUnsubscribe, "f").complete();
|
|
171
161
|
__classPrivateFieldSet(this, _SkyDropdownComponent_ngUnsubscribe, new Subject(), "f");
|
|
@@ -341,19 +331,12 @@ _SkyDropdownComponent_affixer = new WeakMap(), _SkyDropdownComponent_ngUnsubscri
|
|
|
341
331
|
}
|
|
342
332
|
}), "f");
|
|
343
333
|
};
|
|
344
|
-
SkyDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1
|
|
345
|
-
SkyDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SkyDropdownComponent, selector: "sky-dropdown", inputs: { buttonStyle: "buttonStyle", buttonType: "buttonType", disabled: "disabled", dismissOnBlur: "dismissOnBlur", label: "label", horizontalAlignment: "horizontalAlignment", messageStream: "messageStream", title: "title", trigger: "trigger" }, viewQueries: [{ propertyName: "menuContainerElementRef", first: true, predicate: ["menuContainerElementRef"], descendants: true, read: ElementRef }, { propertyName: "menuContainerTemplateRef", first: true, predicate: ["menuContainerTemplateRef"], descendants: true, read: TemplateRef, static: true }, { propertyName: "triggerButton", first: true, predicate: ["triggerButton"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div class=\"sky-dropdown\">\n <button\n class=\"sky-btn sky-dropdown-button\"\n type=\"button\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-controls]=\"isOpen ? menuId : null\"\n [attr.aria-haspopup]=\"menuAriaRole\"\n [attr.aria-label]=\"\n label || ('skyux_dropdown_context_menu_default_label' | skyLibResources)\n \"\n [attr.title]=\"title\"\n [disabled]=\"disabled\"\n [ngClass]=\"[\n 'sky-dropdown-button-type-' + buttonType,\n 'sky-btn-' + buttonStyle\n ]\"\n #triggerButton\n >\n <ng-container [ngSwitch]=\"buttonType\">\n <ng-template ngSwitchCase=\"context-menu\">\n <sky-icon *skyThemeIf=\"'default'\" icon=\"ellipsis-h\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"ellipsis\"\n iconType=\"skyux\"\n ></sky-icon>\n </ng-template>\n\n <ng-template ngSwitchDefault>\n <div\n *ngIf=\"buttonType === 'select' || buttonType === 'tab' || !buttonType\"\n class=\"sky-dropdown-button-container\"\n >\n <div class=\"sky-dropdown-button-content-container\">\n <ng-content select=\"sky-dropdown-button\"> </ng-content>\n </div>\n <div class=\"sky-dropdown-button-icon-container\">\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-dropdown-caret\"\n icon=\"caret-down\"\n >\n </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n class=\"sky-dropdown-caret\"\n icon=\"chevron-down\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </div>\n </div>\n <div\n *ngIf=\"buttonType !== 'select' && buttonType !== 'tab' && buttonType\"\n >\n <sky-icon [icon]=\"buttonType\" size=\"lg\"></sky-icon>\n </div>\n </ng-template>\n </ng-container>\n </button>\n</div>\n\n<ng-template #menuContainerTemplateRef>\n <div\n class=\"sky-dropdown-menu-container\"\n [class.hidden]=\"!isVisible\"\n #menuContainerElementRef\n >\n <ng-content select=\"sky-dropdown-menu\"></ng-content>\n </div>\n</ng-template>\n", styles: [".sky-dropdown-button-type-tab{background-color:transparent;border:none;border-radius:4px 4px 0 0;color:var(--sky-text-color-deemphasized);cursor:pointer;display:inline-block;font-weight:600;line-height:1.8;padding:8px 16px;background-color:var(--sky-background-color-primary-dark);color:var(--sky-text-color-on-dark);max-width:100%;text-align:left}.sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){background-color:var(--sky-background-color-neutral-light);color:var(--sky-text-color-default);text-decoration:none}.sky-dropdown-button-type-tab.sky-btn-tab-disabled{background-color:var(--sky-background-color-disabled);cursor:not-allowed;pointer-events:none;outline:none;text-decoration:none}.sky-dropdown-button-type-tab.sky-btn-tab-disabled:hover{color:var(--sky-text-color-deemphasized);cursor:default;text-decoration:none}.sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){background-color:var(--sky-background-color-primary-dark);color:var(--sky-text-color-on-dark)}.sky-dropdown-button-type-context-menu{border-radius:50%;padding:3px 8px}:host-context(.sky-toolbar-container) .sky-dropdown-button.sky-btn-link{color:#212327}.sky-dropdown-caret{margin-left:10px}.sky-dropdown-button-container{display:flex}.sky-dropdown-button-content-container{flex-shrink:1;overflow:hidden;text-overflow:ellipsis}.sky-dropdown-button-icon-container{flex-grow:1}.sky-dropdown-menu-container{position:fixed}.hidden{visibility:hidden}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab{border:none;border-radius:0;color:var(--sky-text-color-deemphasized);font-weight:400;padding:10px 15px;transition:box-shadow .15s;background-color:transparent;color:var(--sky-text-color-default);box-shadow:none}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled):not(.sky-btn-tab-selected):not(.sky-dropdown-button-type-tab):not(:focus-visible){background-color:transparent;border-bottom:solid 1px var(--sky-highlight-color-info);color:var(--sky-text-color-default);padding-bottom:9px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:focus-visible{background-color:transparent;color:var(--sky-text-color-default);outline:none}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:focus-visible:not(:active){color:var(--sky-text-color-default);outline:solid 2px var(--sky-background-color-primary-dark);outline-offset:-2px;box-shadow:0 1px 8px #0000004d}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:active{color:var(--sky-text-color-default);padding-bottom:7px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab.sky-btn-tab-disabled{background-color:transparent;font-family:BLKB Sans,Helvetica Neue,Arial,sans-serif;color:var(--sky-text-color-deemphasized);font-weight:400;font-size:15px;font-style:italic}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab.sky-btn-tab-disabled .sky-btn-tab-close{font-size:16px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:not(:active){border-bottom:solid 3px #1870B8;padding-bottom:7px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){background-color:transparent;color:var(--sky-text-color-default)}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab .sky-btn-tab-close,:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab .sky-tab-header-count{color:var(--sky-text-color-deemphasized)}:host-context(.sky-theme-modern) .sky-dropdown-caret{margin-left:10px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-context-menu{border-radius:6px;padding:3px 8px;background-color:transparent}:host-context(.sky-theme-modern) .sky-dropdown-button-type-context-menu:not(:hover):not(:focus-visible){box-shadow:none}.sky-theme-modern .sky-dropdown-button-type-tab{border:none;border-radius:0;color:var(--sky-text-color-deemphasized);font-weight:400;padding:10px 15px;transition:box-shadow .15s;background-color:transparent;color:var(--sky-text-color-default);box-shadow:none}.sky-theme-modern .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled):not(.sky-btn-tab-selected):not(.sky-dropdown-button-type-tab):not(:focus-visible){background-color:transparent;border-bottom:solid 1px var(--sky-highlight-color-info);color:var(--sky-text-color-default);padding-bottom:9px}.sky-theme-modern .sky-dropdown-button-type-tab:focus-visible{background-color:transparent;color:var(--sky-text-color-default);outline:none}.sky-theme-modern .sky-dropdown-button-type-tab:focus-visible:not(:active){color:var(--sky-text-color-default);outline:solid 2px var(--sky-background-color-primary-dark);outline-offset:-2px;box-shadow:0 1px 8px #0000004d}.sky-theme-modern .sky-dropdown-button-type-tab:active{color:var(--sky-text-color-default);padding-bottom:7px}.sky-theme-modern .sky-dropdown-button-type-tab.sky-btn-tab-disabled{background-color:transparent;font-family:BLKB Sans,Helvetica Neue,Arial,sans-serif;color:var(--sky-text-color-deemphasized);font-weight:400;font-size:15px;font-style:italic}.sky-theme-modern .sky-dropdown-button-type-tab.sky-btn-tab-disabled .sky-btn-tab-close{font-size:16px}.sky-theme-modern .sky-dropdown-button-type-tab:not(:active){border-bottom:solid 3px #1870B8;padding-bottom:7px}.sky-theme-modern .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){background-color:transparent;color:var(--sky-text-color-default)}.sky-theme-modern .sky-dropdown-button-type-tab .sky-btn-tab-close,.sky-theme-modern .sky-dropdown-button-type-tab .sky-tab-header-count{color:var(--sky-text-color-deemphasized)}.sky-theme-modern .sky-dropdown-caret{margin-left:10px}.sky-theme-modern .sky-dropdown-button-type-context-menu{border-radius:6px;padding:3px 8px;background-color:transparent}.sky-theme-modern .sky-dropdown-button-type-context-menu:not(:hover):not(:focus-visible){box-shadow:none}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab{color:#fff}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab:hover{color:#fff}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab .sky-btn-tab-close,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab .sky-tab-header-count{color:#efefef}.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab,.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab:hover{color:#fff}.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab .sky-btn-tab-close,.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab .sky-tab-header-count{color:#efefef}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i2.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "pipe", type: i5.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
346
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1
|
|
334
|
+
SkyDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
335
|
+
SkyDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyDropdownComponent, selector: "sky-dropdown", inputs: { buttonStyle: "buttonStyle", buttonType: "buttonType", disabled: "disabled", dismissOnBlur: "dismissOnBlur", label: "label", horizontalAlignment: "horizontalAlignment", messageStream: "messageStream", title: "title", trigger: "trigger" }, viewQueries: [{ propertyName: "menuContainerElementRef", first: true, predicate: ["menuContainerElementRef"], descendants: true, read: ElementRef }, { propertyName: "menuContainerTemplateRef", first: true, predicate: ["menuContainerTemplateRef"], descendants: true, read: TemplateRef, static: true }, { propertyName: "triggerButton", first: true, predicate: ["triggerButton"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div class=\"sky-dropdown\">\n <button\n class=\"sky-btn sky-dropdown-button\"\n type=\"button\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-controls]=\"isOpen ? menuId : null\"\n [attr.aria-haspopup]=\"menuAriaRole\"\n [attr.aria-label]=\"\n label || ('skyux_dropdown_context_menu_default_label' | skyLibResources)\n \"\n [attr.title]=\"title\"\n [disabled]=\"disabled\"\n [ngClass]=\"[\n 'sky-dropdown-button-type-' + buttonType,\n 'sky-btn-' + buttonStyle\n ]\"\n #triggerButton\n >\n <ng-container [ngSwitch]=\"buttonType\">\n <ng-template ngSwitchCase=\"context-menu\">\n <sky-icon *skyThemeIf=\"'default'\" icon=\"ellipsis-h\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"ellipsis\"\n iconType=\"skyux\"\n ></sky-icon>\n </ng-template>\n\n <ng-template ngSwitchDefault>\n <div class=\"sky-dropdown-button-container\">\n <div class=\"sky-dropdown-button-content-container\">\n <ng-content select=\"sky-dropdown-button\"> </ng-content>\n </div>\n <div class=\"sky-dropdown-button-icon-container\">\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-dropdown-caret\"\n icon=\"caret-down\"\n >\n </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n class=\"sky-dropdown-caret\"\n icon=\"chevron-down\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </div>\n </div>\n </ng-template>\n </ng-container>\n </button>\n</div>\n\n<ng-template #menuContainerTemplateRef>\n <div\n class=\"sky-dropdown-menu-container\"\n [class.hidden]=\"!isVisible\"\n #menuContainerElementRef\n >\n <ng-content select=\"sky-dropdown-menu\"></ng-content>\n </div>\n</ng-template>\n", styles: [".sky-dropdown-button-type-tab{background-color:transparent;border:none;border-radius:4px 4px 0 0;color:var(--sky-text-color-deemphasized);cursor:pointer;display:inline-block;font-weight:600;line-height:1.8;padding:8px 16px;background-color:var(--sky-background-color-primary-dark);color:var(--sky-text-color-on-dark);max-width:100%;text-align:left}.sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){background-color:var(--sky-background-color-neutral-light);color:var(--sky-text-color-default);text-decoration:none}.sky-dropdown-button-type-tab.sky-btn-tab-disabled{background-color:var(--sky-background-color-disabled);cursor:not-allowed;pointer-events:none;outline:none;text-decoration:none}.sky-dropdown-button-type-tab.sky-btn-tab-disabled:hover{color:var(--sky-text-color-deemphasized);cursor:default;text-decoration:none}.sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){background-color:var(--sky-background-color-primary-dark);color:var(--sky-text-color-on-dark)}.sky-dropdown-button-type-context-menu{border-radius:50%;padding:3px 8px}:host-context(.sky-toolbar-container) .sky-dropdown-button.sky-btn-link{color:#212327}.sky-dropdown-caret{margin-left:10px}.sky-dropdown-button-container{display:flex}.sky-dropdown-button-content-container{flex-shrink:1;overflow:hidden;text-overflow:ellipsis}.sky-dropdown-button-icon-container{flex-grow:1}.sky-dropdown-menu-container{position:fixed}.hidden{visibility:hidden}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab{border:none;border-radius:0;color:var(--sky-text-color-deemphasized);font-weight:400;padding:10px 15px;transition:box-shadow .15s;background-color:transparent;color:var(--sky-text-color-default);box-shadow:none}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled):not(.sky-btn-tab-selected):not(.sky-dropdown-button-type-tab):not(:focus-visible){background-color:transparent;border-bottom:solid 1px var(--sky-highlight-color-info);color:var(--sky-text-color-default);padding-bottom:9px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:focus-visible{background-color:transparent;color:var(--sky-text-color-default);outline:none}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:focus-visible:not(:active){color:var(--sky-text-color-default);outline:solid 2px var(--sky-background-color-primary-dark);outline-offset:-2px;box-shadow:0 1px 8px #0000004d}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:active{color:var(--sky-text-color-default);padding-bottom:7px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab.sky-btn-tab-disabled{background-color:transparent;font-family:BLKB Sans,Helvetica Neue,Arial,sans-serif;color:var(--sky-text-color-deemphasized);font-weight:400;font-size:15px;font-style:italic}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab.sky-btn-tab-disabled .sky-btn-tab-close{font-size:16px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:not(:active){border-bottom:solid 3px #1870B8;padding-bottom:7px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){background-color:transparent;color:var(--sky-text-color-default)}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab .sky-btn-tab-close,:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab .sky-tab-header-count{color:var(--sky-text-color-deemphasized)}:host-context(.sky-theme-modern) .sky-dropdown-caret{margin-left:10px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-context-menu{border-radius:6px;padding:3px 8px;background-color:transparent}:host-context(.sky-theme-modern) .sky-dropdown-button-type-context-menu:not(:hover):not(:focus-visible){box-shadow:none}.sky-theme-modern .sky-dropdown-button-type-tab{border:none;border-radius:0;color:var(--sky-text-color-deemphasized);font-weight:400;padding:10px 15px;transition:box-shadow .15s;background-color:transparent;color:var(--sky-text-color-default);box-shadow:none}.sky-theme-modern .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled):not(.sky-btn-tab-selected):not(.sky-dropdown-button-type-tab):not(:focus-visible){background-color:transparent;border-bottom:solid 1px var(--sky-highlight-color-info);color:var(--sky-text-color-default);padding-bottom:9px}.sky-theme-modern .sky-dropdown-button-type-tab:focus-visible{background-color:transparent;color:var(--sky-text-color-default);outline:none}.sky-theme-modern .sky-dropdown-button-type-tab:focus-visible:not(:active){color:var(--sky-text-color-default);outline:solid 2px var(--sky-background-color-primary-dark);outline-offset:-2px;box-shadow:0 1px 8px #0000004d}.sky-theme-modern .sky-dropdown-button-type-tab:active{color:var(--sky-text-color-default);padding-bottom:7px}.sky-theme-modern .sky-dropdown-button-type-tab.sky-btn-tab-disabled{background-color:transparent;font-family:BLKB Sans,Helvetica Neue,Arial,sans-serif;color:var(--sky-text-color-deemphasized);font-weight:400;font-size:15px;font-style:italic}.sky-theme-modern .sky-dropdown-button-type-tab.sky-btn-tab-disabled .sky-btn-tab-close{font-size:16px}.sky-theme-modern .sky-dropdown-button-type-tab:not(:active){border-bottom:solid 3px #1870B8;padding-bottom:7px}.sky-theme-modern .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){background-color:transparent;color:var(--sky-text-color-default)}.sky-theme-modern .sky-dropdown-button-type-tab .sky-btn-tab-close,.sky-theme-modern .sky-dropdown-button-type-tab .sky-tab-header-count{color:var(--sky-text-color-deemphasized)}.sky-theme-modern .sky-dropdown-caret{margin-left:10px}.sky-theme-modern .sky-dropdown-button-type-context-menu{border-radius:6px;padding:3px 8px;background-color:transparent}.sky-theme-modern .sky-dropdown-button-type-context-menu:not(:hover):not(:focus-visible){box-shadow:none}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab{color:#fff}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab:hover{color:#fff}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab .sky-btn-tab-close,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab .sky-tab-header-count{color:#efefef}.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab,.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab:hover{color:#fff}.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab .sky-btn-tab-close,.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab .sky-tab-header-count{color:#efefef}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "pipe", type: i4.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
336
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyDropdownComponent, decorators: [{
|
|
347
337
|
type: Component,
|
|
348
|
-
args: [{ selector: 'sky-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-dropdown\">\n <button\n class=\"sky-btn sky-dropdown-button\"\n type=\"button\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-controls]=\"isOpen ? menuId : null\"\n [attr.aria-haspopup]=\"menuAriaRole\"\n [attr.aria-label]=\"\n label || ('skyux_dropdown_context_menu_default_label' | skyLibResources)\n \"\n [attr.title]=\"title\"\n [disabled]=\"disabled\"\n [ngClass]=\"[\n 'sky-dropdown-button-type-' + buttonType,\n 'sky-btn-' + buttonStyle\n ]\"\n #triggerButton\n >\n <ng-container [ngSwitch]=\"buttonType\">\n <ng-template ngSwitchCase=\"context-menu\">\n <sky-icon *skyThemeIf=\"'default'\" icon=\"ellipsis-h\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"ellipsis\"\n iconType=\"skyux\"\n ></sky-icon>\n </ng-template>\n\n <ng-template ngSwitchDefault>\n <div
|
|
349
|
-
}],
|
|
350
|
-
type: Optional
|
|
351
|
-
}] }, { type: undefined, decorators: [{
|
|
352
|
-
type: Optional
|
|
353
|
-
}, {
|
|
354
|
-
type: Inject,
|
|
355
|
-
args: [SKY_STACKING_CONTEXT]
|
|
356
|
-
}] }]; }, propDecorators: { buttonStyle: [{
|
|
338
|
+
args: [{ selector: 'sky-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-dropdown\">\n <button\n class=\"sky-btn sky-dropdown-button\"\n type=\"button\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-controls]=\"isOpen ? menuId : null\"\n [attr.aria-haspopup]=\"menuAriaRole\"\n [attr.aria-label]=\"\n label || ('skyux_dropdown_context_menu_default_label' | skyLibResources)\n \"\n [attr.title]=\"title\"\n [disabled]=\"disabled\"\n [ngClass]=\"[\n 'sky-dropdown-button-type-' + buttonType,\n 'sky-btn-' + buttonStyle\n ]\"\n #triggerButton\n >\n <ng-container [ngSwitch]=\"buttonType\">\n <ng-template ngSwitchCase=\"context-menu\">\n <sky-icon *skyThemeIf=\"'default'\" icon=\"ellipsis-h\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"ellipsis\"\n iconType=\"skyux\"\n ></sky-icon>\n </ng-template>\n\n <ng-template ngSwitchDefault>\n <div class=\"sky-dropdown-button-container\">\n <div class=\"sky-dropdown-button-content-container\">\n <ng-content select=\"sky-dropdown-button\"> </ng-content>\n </div>\n <div class=\"sky-dropdown-button-icon-container\">\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-dropdown-caret\"\n icon=\"caret-down\"\n >\n </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n class=\"sky-dropdown-caret\"\n icon=\"chevron-down\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </div>\n </div>\n </ng-template>\n </ng-container>\n </button>\n</div>\n\n<ng-template #menuContainerTemplateRef>\n <div\n class=\"sky-dropdown-menu-container\"\n [class.hidden]=\"!isVisible\"\n #menuContainerElementRef\n >\n <ng-content select=\"sky-dropdown-menu\"></ng-content>\n </div>\n</ng-template>\n", styles: [".sky-dropdown-button-type-tab{background-color:transparent;border:none;border-radius:4px 4px 0 0;color:var(--sky-text-color-deemphasized);cursor:pointer;display:inline-block;font-weight:600;line-height:1.8;padding:8px 16px;background-color:var(--sky-background-color-primary-dark);color:var(--sky-text-color-on-dark);max-width:100%;text-align:left}.sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){background-color:var(--sky-background-color-neutral-light);color:var(--sky-text-color-default);text-decoration:none}.sky-dropdown-button-type-tab.sky-btn-tab-disabled{background-color:var(--sky-background-color-disabled);cursor:not-allowed;pointer-events:none;outline:none;text-decoration:none}.sky-dropdown-button-type-tab.sky-btn-tab-disabled:hover{color:var(--sky-text-color-deemphasized);cursor:default;text-decoration:none}.sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){background-color:var(--sky-background-color-primary-dark);color:var(--sky-text-color-on-dark)}.sky-dropdown-button-type-context-menu{border-radius:50%;padding:3px 8px}:host-context(.sky-toolbar-container) .sky-dropdown-button.sky-btn-link{color:#212327}.sky-dropdown-caret{margin-left:10px}.sky-dropdown-button-container{display:flex}.sky-dropdown-button-content-container{flex-shrink:1;overflow:hidden;text-overflow:ellipsis}.sky-dropdown-button-icon-container{flex-grow:1}.sky-dropdown-menu-container{position:fixed}.hidden{visibility:hidden}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab{border:none;border-radius:0;color:var(--sky-text-color-deemphasized);font-weight:400;padding:10px 15px;transition:box-shadow .15s;background-color:transparent;color:var(--sky-text-color-default);box-shadow:none}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled):not(.sky-btn-tab-selected):not(.sky-dropdown-button-type-tab):not(:focus-visible){background-color:transparent;border-bottom:solid 1px var(--sky-highlight-color-info);color:var(--sky-text-color-default);padding-bottom:9px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:focus-visible{background-color:transparent;color:var(--sky-text-color-default);outline:none}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:focus-visible:not(:active){color:var(--sky-text-color-default);outline:solid 2px var(--sky-background-color-primary-dark);outline-offset:-2px;box-shadow:0 1px 8px #0000004d}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:active{color:var(--sky-text-color-default);padding-bottom:7px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab.sky-btn-tab-disabled{background-color:transparent;font-family:BLKB Sans,Helvetica Neue,Arial,sans-serif;color:var(--sky-text-color-deemphasized);font-weight:400;font-size:15px;font-style:italic}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab.sky-btn-tab-disabled .sky-btn-tab-close{font-size:16px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:not(:active){border-bottom:solid 3px #1870B8;padding-bottom:7px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){background-color:transparent;color:var(--sky-text-color-default)}:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab .sky-btn-tab-close,:host-context(.sky-theme-modern) .sky-dropdown-button-type-tab .sky-tab-header-count{color:var(--sky-text-color-deemphasized)}:host-context(.sky-theme-modern) .sky-dropdown-caret{margin-left:10px}:host-context(.sky-theme-modern) .sky-dropdown-button-type-context-menu{border-radius:6px;padding:3px 8px;background-color:transparent}:host-context(.sky-theme-modern) .sky-dropdown-button-type-context-menu:not(:hover):not(:focus-visible){box-shadow:none}.sky-theme-modern .sky-dropdown-button-type-tab{border:none;border-radius:0;color:var(--sky-text-color-deemphasized);font-weight:400;padding:10px 15px;transition:box-shadow .15s;background-color:transparent;color:var(--sky-text-color-default);box-shadow:none}.sky-theme-modern .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled):not(.sky-btn-tab-selected):not(.sky-dropdown-button-type-tab):not(:focus-visible){background-color:transparent;border-bottom:solid 1px var(--sky-highlight-color-info);color:var(--sky-text-color-default);padding-bottom:9px}.sky-theme-modern .sky-dropdown-button-type-tab:focus-visible{background-color:transparent;color:var(--sky-text-color-default);outline:none}.sky-theme-modern .sky-dropdown-button-type-tab:focus-visible:not(:active){color:var(--sky-text-color-default);outline:solid 2px var(--sky-background-color-primary-dark);outline-offset:-2px;box-shadow:0 1px 8px #0000004d}.sky-theme-modern .sky-dropdown-button-type-tab:active{color:var(--sky-text-color-default);padding-bottom:7px}.sky-theme-modern .sky-dropdown-button-type-tab.sky-btn-tab-disabled{background-color:transparent;font-family:BLKB Sans,Helvetica Neue,Arial,sans-serif;color:var(--sky-text-color-deemphasized);font-weight:400;font-size:15px;font-style:italic}.sky-theme-modern .sky-dropdown-button-type-tab.sky-btn-tab-disabled .sky-btn-tab-close{font-size:16px}.sky-theme-modern .sky-dropdown-button-type-tab:not(:active){border-bottom:solid 3px #1870B8;padding-bottom:7px}.sky-theme-modern .sky-dropdown-button-type-tab:hover:not(.sky-btn-tab-disabled){background-color:transparent;color:var(--sky-text-color-default)}.sky-theme-modern .sky-dropdown-button-type-tab .sky-btn-tab-close,.sky-theme-modern .sky-dropdown-button-type-tab .sky-tab-header-count{color:var(--sky-text-color-deemphasized)}.sky-theme-modern .sky-dropdown-caret{margin-left:10px}.sky-theme-modern .sky-dropdown-button-type-context-menu{border-radius:6px;padding:3px 8px;background-color:transparent}.sky-theme-modern .sky-dropdown-button-type-context-menu:not(:hover):not(:focus-visible){box-shadow:none}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab{color:#fff}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab:hover{color:#fff}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab .sky-btn-tab-close,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-dropdown-button-type-tab .sky-tab-header-count{color:#efefef}.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab,.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab:hover{color:#fff}.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab .sky-btn-tab-close,.sky-theme-modern.sky-theme-mode-dark .sky-dropdown-button-type-tab .sky-tab-header-count{color:#efefef}\n"] }]
|
|
339
|
+
}], propDecorators: { buttonStyle: [{
|
|
357
340
|
type: Input
|
|
358
341
|
}], buttonType: [{
|
|
359
342
|
type: Input
|
|
@@ -389,4 +372,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
389
372
|
static: true,
|
|
390
373
|
}]
|
|
391
374
|
}] } });
|
|
392
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BvcG92ZXJzL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3ZlcnMvc3JjL2xpYi9tb2R1bGVzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBR0wsUUFBUSxFQUNSLFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixzQkFBc0IsR0FPdkIsTUFBTSxhQUFhLENBQUM7QUFHckIsT0FBTyxFQUFjLE9BQU8sRUFBRSxTQUFTLElBQUksbUJBQW1CLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSXRFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7O0FBR3ZFLE1BQU0sbUJBQW1CLEdBQUcsUUFBUSxDQUFDO0FBRXJDOztHQUVHO0FBT0gsTUFBTSxPQUFPLG9CQUFvQjtJQW9NL0IsWUFDRSxjQUFpQyxFQUNqQyxZQUE2QixFQUM3QixjQUFpQyxFQUNqQyxVQUF5QixFQUNiLFFBQTBCLEVBR3RDLGVBQW9DOztRQWpLdEM7OztXQUdHO1FBRUksYUFBUSxHQUF3QixLQUFLLENBQUM7UUFzQzdDOzs7O1dBSUc7UUFFSSxrQkFBYSxHQUNsQixJQUFJLE9BQU8sRUFBc0Is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QyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLHVCQUFBLElBQUksNENBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDckM7SUFDSCxDQUFDLENBQUMsTUFBQSxDQUFDO0FBQ0wsQ0FBQztpSEEvYlUsb0JBQW9CLCtMQTJNckIsb0JBQW9CO3FHQTNNbkIsb0JBQW9CLDJaQWtJdkIsVUFBVSwrSEFtQlYsV0FBVyx1SEFNWCxVQUFVLDJDQ3pNcEIsd3JFQXVFQTsyRkR6QmEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGNBQWMsbUJBR1AsdUJBQXVCLENBQUMsTUFBTTs7MEJBMk01QyxRQUFROzswQkFDUixRQUFROzswQkFDUixNQUFNOzJCQUFDLG9CQUFvQjs0Q0FuTW5CLFdBQVc7c0JBRHJCLEtBQUs7Z0JBaUJLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBeUJDLFFBQVE7c0JBRGQsS0FBSztnQkFRSyxhQUFhO3NCQUR2QixLQUFLO2dCQWVDLEtBQUs7c0JBRFgsS0FBSztnQkFRSyxtQkFBbUI7c0JBRDdCLEtBQUs7Z0JBaUJDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBUUMsS0FBSztzQkFEWCxLQUFLO2dCQWNLLE9BQU87c0JBRGpCLEtBQUs7Z0JBcUJLLHVCQUF1QjtzQkFIakMsU0FBUzt1QkFBQyx5QkFBeUIsRUFBRTt3QkFDcEMsSUFBSSxFQUFFLFVBQVU7cUJBQ2pCO2dCQXFCTSx3QkFBd0I7c0JBSjlCLFNBQVM7dUJBQUMsMEJBQTBCLEVBQUU7d0JBQ3JDLElBQUksRUFBRSxXQUFXO3dCQUNqQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPVSxhQUFhO3NCQUp2QixTQUFTO3VCQUFDLGVBQWUsRUFBRTt3QkFDMUIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE1BQU0sRUFBRSxJQUFJO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTS1lfU1RBQ0tJTkdfQ09OVEVYVCxcbiAgU2t5QWZmaXhBdXRvRml0Q29udGV4dCxcbiAgU2t5QWZmaXhTZXJ2aWNlLFxuICBTa3lBZmZpeGVyLFxuICBTa3lMb2dTZXJ2aWNlLFxuICBTa3lPdmVybGF5SW5zdGFuY2UsXG4gIFNreU92ZXJsYXlTZXJ2aWNlLFxuICBTa3lTdGFja2luZ0NvbnRleHQsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreVRoZW1lU2VydmljZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIGZyb21FdmVudCBhcyBvYnNlcnZhYmxlRnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IHBhcnNlQWZmaXhIb3Jpem9udGFsQWxpZ25tZW50IH0gZnJvbSAnLi9kcm9wZG93bi1leHRlbnNpb25zJztcbmltcG9ydCB7IFNreURyb3Bkb3duQnV0dG9uVHlwZSB9IGZyb20gJy4vdHlwZXMvZHJvcGRvd24tYnV0dG9uLXR5cGUnO1xuaW1wb3J0IHsgU2t5RHJvcGRvd25Ib3Jpem9udGFsQWxpZ25tZW50IH0gZnJvbSAnLi90eXBlcy9kcm9wZG93bi1ob3Jpem9udGFsLWFsaWdubWVudCc7XG5pbXBvcnQgeyBTa3lEcm9wZG93bk1lc3NhZ2UgfSBmcm9tICcuL3R5cGVzL2Ryb3Bkb3duLW1lc3NhZ2UnO1xuaW1wb3J0IHsgU2t5RHJvcGRvd25NZXNzYWdlVHlwZSB9IGZyb20gJy4vdHlwZXMvZHJvcGRvd24tbWVzc2FnZS10eXBlJztcbmltcG9ydCB7IFNreURyb3Bkb3duVHJpZ2dlclR5cGUgfSBmcm9tICcuL3R5cGVzL2Ryb3Bkb3duLXRyaWdnZXItdHlwZSc7XG5cbmNvbnN0IERFRkFVTFRfQlVUVE9OX1RZUEUgPSAnc2VsZWN0JztcblxuLyoqXG4gKiBDcmVhdGVzIGEgZHJvcGRvd24gbWVudSB0aGF0IGRpc3BsYXlzIG1lbnUgaXRlbXMgdGhhdCB1c2VycyBtYXkgc2VsZWN0LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZHJvcGRvd24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBUaGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIGRyb3Bkb3duIGJ1dHRvbi4gQXZhaWxhYmxlIHZhbHVlcyBhcmUgYGRlZmF1bHRgLFxuICAgKiBgcHJpbWFyeWAsIGFuZCBgbGlua2AuIFRoZXNlIHZhbHVlcyBzZXQgdGhlIGJhY2tncm91bmQgY29sb3IgYW5kIGhvdmVyIGJlaGF2aW9yIGZyb20gdGhlXG4gICAqIFtzZWNvbmRhcnkgYW5kIHByaW1hcnkgYnV0dG9uIGNsYXNzZXNdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9idXR0b24pIHJlc3BlY3RpdmVseS5cbiAgICogQGRlZmF1bHQgXCJkZWZhdWx0XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYnV0dG9uU3R5bGUodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19idXR0b25TdHlsZSA9IHZhbHVlID8/ICdkZWZhdWx0JztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYnV0dG9uU3R5bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX2J1dHRvblN0eWxlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGJ1dHRvbiB0byByZW5kZXIgYXMgdGhlIGRyb3Bkb3duJ3MgdHJpZ2dlciBlbGVtZW50LiBUbyBkaXNwbGF5IGEgYnV0dG9uXG4gICAqIHdpdGggYSBjYXJldCwgc3BlY2lmeSBgJ3NlbGVjdCdgIGFuZCByZW5kZXIgdGhlIGJ1dHRvbiB0ZXh0IG9yIGljb24gaW4gYVxuICAgKiBgc2t5LWRyb3Bkb3duLWJ1dHRvbmAgZWxlbWVudC4gVG8gZGlzcGxheSBhIHJvdW5kIGJ1dHRvbiB3aXRoIGFuIGVsbGlwc2lzLCBzcGVjaWZ5XG4gICAqIGAnY29udGV4dC1tZW51J2AuXG4gICAqIEBkZWZhdWx0IFwic2VsZWN0XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYnV0dG9uVHlwZSh2YWx1ZTogU2t5RHJvcGRvd25CdXR0b25UeXBlIHwgc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2J1dHRvblR5cGUgPSB2YWx1ZSA/PyBERUZBVUxUX0JVVFRPTl9UWVBFO1xuXG4gICAgaWYgKHZhbHVlICYmICFbJ3NlbGVjdCcsICdjb250ZXh0LW1lbnUnLCAndGFiJ10uaW5jbHVkZXModmFsdWUpKSB7XG4gICAgICB0aGlzLiNsb2dTZXJ2aWNlLmRlcHJlY2F0ZWQoXG4gICAgICAgICdTa3lEcm9wZG93bkNvbXBvbmVudC5idXR0b25UeXBlIEZvbnQgQXdlc29tZSBpY29uIGNsYXNzIG9wdGlvbicsXG4gICAgICAgIHtcbiAgICAgICAgICBkZXByZWNhdGlvbk1ham9yVmVyc2lvbjogNyxcbiAgICAgICAgICByZXBsYWNlbWVudFJlY29tbWVuZGF0aW9uOlxuICAgICAgICAgICAgJ1NldCBgYnV0dG9uVHlwZWAgdG8gYHNlbGVjdGAgYW5kIHJlbmRlciBhIGA8c2t5LWljb24+YCBlbGVtZW50IHdpdGhpbiB0aGUgYDxza3ktZHJvcGRvd24tYnV0dG9uPmAgZWxlbWVudC4nLFxuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgYnV0dG9uVHlwZSgpOiBTa3lEcm9wZG93bkJ1dHRvblR5cGUgfCBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfYnV0dG9uVHlwZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRpc2FibGUgdGhlIGRyb3Bkb3duIGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNsb3NlIHRoZSBkcm9wZG93biB3aGVuIHVzZXJzIGNsaWNrIGF3YXkgZnJvbSB0aGUgbWVudS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNtaXNzT25CbHVyKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2Rpc21pc3NPbkJsdXIgPSB2YWx1ZSA/PyB0cnVlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNtaXNzT25CbHVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZGlzbWlzc09uQmx1cjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgQVJJQSBsYWJlbCBmb3IgdGhlIGRyb3Bkb3duLiBUaGlzIHNldHMgdGhlIGRyb3Bkb3duJ3MgYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZSB0byBwcm92aWRlIGEgdGV4dCBlcXVpdmFsZW50IGZvciBzY3JlZW4gcmVhZGVyc1xuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZSwgc2VlIHRoZSBbV0FJLUFSSUEgZGVmaW5pdGlvbl0oaHR0cHM6Ly93d3cudzMub3JnL1RSL3dhaS1hcmlhLyNhcmlhLWxhYmVsKS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgaG9yaXpvbnRhbCBhbGlnbm1lbnQgb2YgdGhlIGRyb3Bkb3duIG1lbnUgaW4gcmVsYXRpb24gdG8gdGhlIGRyb3Bkb3duIGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgXCJsZWZ0XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaG9yaXpvbnRhbEFsaWdubWVudChcbiAgICB2YWx1ZTogU2t5RHJvcGRvd25Ib3Jpem9udGFsQWxpZ25tZW50IHwgdW5kZWZpbmVkXG4gICkge1xuICAgIHRoaXMuI19ob3Jpem9udGFsQWxpZ25tZW50ID0gdmFsdWUgPz8gJ2xlZnQnO1xuICB9XG5cbiAgcHVibGljIGdldCBob3Jpem9udGFsQWxpZ25tZW50KCk6IFNreURyb3Bkb3duSG9yaXpvbnRhbEFsaWdubWVudCB7XG4gICAgcmV0dXJuIHRoaXMuI19ob3Jpem9udGFsQWxpZ25tZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBvYnNlcnZhYmxlIHRoYXQgc2VuZHMgY29tbWFuZHMgdG8gdGhlIGRyb3Bkb3duLiBUaGUgY29tbWFuZHMgc2hvdWxkIHJlc3BlY3RcbiAgICogdGhlIFtbU2t5RHJvcGRvd25NZXNzYWdlXV0gdHlwZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWVzc2FnZVN0cmVhbTogU3ViamVjdDxTa3lEcm9wZG93bk1lc3NhZ2U+IHwgdW5kZWZpbmVkID1cbiAgICBuZXcgU3ViamVjdDxTa3lEcm9wZG93bk1lc3NhZ2U+KCk7XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSB0byBkaXNwbGF5IGluIGEgdG9vbHRpcCB3aGVuIHVzZXJzIGhvdmVyIHRoZSBtb3VzZSBvdmVyIHRoZSBkcm9wZG93biBidXR0b24uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogSG93IHVzZXJzIGludGVyYWN0IHdpdGggdGhlIGRyb3Bkb3duIGJ1dHRvbiB0byBleHBvc2UgdGhlIGRyb3Bkb3duIG1lbnUuXG4gICAqIFdlIHJlY29tbWVuZCB0aGUgZGVmYXVsdCBgY2xpY2tgIHZhbHVlIGJlY2F1c2UgdGhlIGBob3ZlcmAgdmFsdWUgY2FuIHBvc2VcbiAgICogW2FjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSkgaXNzdWVzXG4gICAqIGZvciB1c2VycyBvbiB0b3VjaCBkZXZpY2VzIHN1Y2ggYXMgcGhvbmVzIGFuZCB0YWJsZXRzLlxuICAgKiBAZGVwcmVjYXRlZCBXZSByZWNvbW1lbmQgYWdhaW5zdCB1c2luZyB0aGlzIHByb3BlcnR5LiBJZiB5b3UgY2hvb3NlIHRvIHVzZSB0aGUgZGVwcmVjYXRlZFxuICAgKiBgaG92ZXJgIHZhbHVlIGFueXdheSwgd2UgcmVjb21tZW5kIHRoYXQgeW91IG5vdCB1c2UgaXQgaW4gY29tYmluYXRpb24gd2l0aCB0aGUgYHRpdGxlYFxuICAgKiBwcm9wZXJ0eS5cbiAgICogQGRlZmF1bHQgXCJjbGlja1wiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRyaWdnZXIodmFsdWU6IFNreURyb3Bkb3duVHJpZ2dlclR5cGUgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfdHJpZ2dlciA9IHZhbHVlID8/ICdjbGljayc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRyaWdnZXIoKTogU2t5RHJvcGRvd25UcmlnZ2VyVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuI190cmlnZ2VyO1xuICB9XG5cbiAgcHVibGljIHNldCBpc09wZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiNfaXNPcGVuID0gdmFsdWU7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2lzT3BlbjtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ21lbnVDb250YWluZXJFbGVtZW50UmVmJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gIH0pXG4gIHB1YmxpYyBzZXQgbWVudUNvbnRhaW5lckVsZW1lbnRSZWYodmFsdWU6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuI2Rlc3Ryb3lBZmZpeGVyKCk7XG4gICAgICB0aGlzLiNjcmVhdGVBZmZpeGVyKHZhbHVlKTtcbiAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc01vdXNlRW50ZXIgPSBmYWxzZTtcblxuICBwdWJsaWMgaXNWaXNpYmxlID0gZmFsc2U7XG5cbiAgcHVibGljIG1lbnVJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBtZW51QXJpYVJvbGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCdtZW51Q29udGFpbmVyVGVtcGxhdGVSZWYnLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgbWVudUNvbnRhaW5lclRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCd0cmlnZ2VyQnV0dG9uJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgc2V0IHRyaWdnZXJCdXR0b24odmFsdWU6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfdHJpZ2dlckJ1dHRvbiA9IHZhbHVlO1xuICAgIHRoaXMuI2FkZEV2ZW50TGlzdGVuZXJzKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRyaWdnZXJCdXR0b24oKTogRWxlbWVudFJlZiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI190cmlnZ2VyQnV0dG9uO1xuICB9XG5cbiAgI2FmZml4ZXI6IFNreUFmZml4ZXIgfCB1bmRlZmluZWQ7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNvdmVybGF5OiBTa3lPdmVybGF5SW5zdGFuY2UgfCB1bmRlZmluZWQ7XG5cbiAgI19idXR0b25TdHlsZSA9ICdkZWZhdWx0JztcblxuICAjX2J1dHRvblR5cGU6IFNreURyb3Bkb3duQnV0dG9uVHlwZSB8IHN0cmluZyA9IERFRkFVTFRfQlVUVE9OX1RZUEU7XG5cbiAgI19kaXNtaXNzT25CbHVyID0gdHJ1ZTtcblxuICAjX2hvcml6b250YWxBbGlnbm1lbnQ6IFNreURyb3Bkb3duSG9yaXpvbnRhbEFsaWdubWVudCA9ICdsZWZ0JztcblxuICAjX2lzT3BlbiA9IGZhbHNlO1xuXG4gICNfdHJpZ2dlcjogU2t5RHJvcGRvd25UcmlnZ2VyVHlwZSA9ICdjbGljayc7XG5cbiAgI190cmlnZ2VyQnV0dG9uOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gICNwb3NpdGlvblRpbWVvdXQ6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2U7XG4gICNvdmVybGF5U2VydmljZTogU2t5T3ZlcmxheVNlcnZpY2U7XG4gICNsb2dTZXJ2aWNlOiBTa3lMb2dTZXJ2aWNlO1xuICAjdGhlbWVTdmM6IFNreVRoZW1lU2VydmljZSB8IHVuZGVmaW5lZDtcbiAgI3pJbmRleDogT2JzZXJ2YWJsZTxudW1iZXI+IHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBhZmZpeFNlcnZpY2U6IFNreUFmZml4U2VydmljZSxcbiAgICBvdmVybGF5U2VydmljZTogU2t5T3ZlcmxheVNlcnZpY2UsXG4gICAgbG9nU2VydmljZTogU2t5TG9nU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoU0tZX1NUQUNLSU5HX0NPTlRFWFQpXG4gICAgc3RhY2tpbmdDb250ZXh0PzogU2t5U3RhY2tpbmdDb250ZXh0XG4gICkge1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gICAgdGhpcy4jYWZmaXhTZXJ2aWNlID0gYWZmaXhTZXJ2aWNlO1xuICAgIHRoaXMuI292ZXJsYXlTZXJ2aWNlID0gb3ZlcmxheVNlcnZpY2U7XG4gICAgdGhpcy4jbG9nU2VydmljZSA9IGxvZ1NlcnZpY2U7XG4gICAgdGhpcy4jdGhlbWVTdmMgPSB0aGVtZVN2YztcbiAgICB0aGlzLiN6SW5kZXggPSBzdGFja2luZ0NvbnRleHQ/LnpJbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1lc3NhZ2VTdHJlYW1cbiAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lEcm9wZG93bk1lc3NhZ2UpID0+IHtcbiAgICAgICAgdGhpcy4jaGFuZGxlSW5jb21pbmdNZXNzYWdlcyhtZXNzYWdlKTtcbiAgICAgIH0pO1xuXG4gICAgLy8gTG9hZCBwcm9wZXIgaWNvbnMgb24gdGhlbWUgY2hhbmdlLlxuICAgIHRoaXMuI3RoZW1lU3ZjPy5zZXR0aW5nc0NoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jZGVzdHJveUFmZml4ZXIoKTtcbiAgICB0aGlzLiNkZXN0cm95T3ZlcmxheSgpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLiNwb3NpdGlvblRpbWVvdXQpO1xuXG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgI2FkZEV2ZW50TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBjb25zdCBidXR0b25FbGVtZW50ID0gdGhpcy50cmlnZ2VyQnV0dG9uPy5uYXRpdmVFbGVtZW50O1xuICAgIGlmIChidXR0b25FbGVtZW50KSB7XG4gICAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGJ1dHRvbkVsZW1lbnQsICdjbGljaycpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy4jc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5PcGVuKTtcbiAgICAgICAgICAgIC8vIFdhaXQgZm9yIGRyb3Bkb3duIHRvIG9wZW4sIHRoZW4gc2V0IGZvY3VzIG9uIGZpcnN0IGl0ZW0uXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy4jc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5Gb2N1c0ZpcnN0SXRlbSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICBvYnNlcnZhYmxlRnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KGJ1dHRvbkVsZW1lbnQsICdrZXlkb3duJylcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ2VzY2FwZSc6XG4gICAgICAgICAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgICAgICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlKTtcbiAgICAgICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkZvY3VzVHJpZ2dlckJ1dHRvbik7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ3RhYic6XG4gICAgICAgICAgICAgIGlmICh0aGlzLmlzT3BlbiAmJiB0aGlzLmRpc21pc3NPbkJsdXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnYXJyb3d1cCc6XG4gICAgICAgICAgICBjYXNlICd1cCc6XG4gICAgICAgICAgICAgIGlmICghdGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLk9wZW4pO1xuICAgICAgICAgICAgICAgIHRoaXMuI3NlbmRNZXNzYWdlKFNreURyb3Bkb3duTWVzc2FnZVR5cGUuRm9jdXNMYXN0SXRlbSk7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnZW50ZXInOlxuICAgICAgICAgICAgY2FzZSAnYXJyb3dkb3duJzpcbiAgICAgICAgICAgIGNhc2UgJ2Rvd24nOlxuICAgICAgICAgICAgY2FzZSAnICc6IC8vIFNwYWNlYmFyLlxuICAgICAgICAgICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzT3Blbikge1xuICAgICAgICAgICAgICAgIHRoaXMuI3NlbmRNZXNzYWdlKFNreURyb3Bkb3duTWVzc2FnZVR5cGUuT3Blbik7XG4gICAgICAgICAgICAgICAgdGhpcy4jc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5Gb2N1c0ZpcnN0SXRlbSk7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGJ1dHRvbkVsZW1lbnQsICdtb3VzZWVudGVyJylcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzTW91c2VFbnRlciA9IHRydWU7XG4gICAgICAgICAgaWYgKHRoaXMudHJpZ2dlciA9PT0gJ2hvdmVyJykge1xuICAgICAgICAgICAgdGhpcy4jc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5PcGVuKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGJ1dHRvbkVsZW1lbnQsICdtb3VzZWxlYXZlJylcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzTW91c2VFbnRlciA9IGZhbHNlO1xuICAgICAgICAgIGlmICh0aGlzLnRyaWdnZXIgPT09ICdob3ZlcicpIHtcbiAgICAgICAgICAgIC8vIEFsbG93IHRoZSBkcm9wZG93biBtZW51IHRvIHNldCBpc01vdXNlRW50ZXIgYmVmb3JlIGNoZWNraW5nIGlmIHRoZSBjbG9zZSBhY3Rpb25cbiAgICAgICAgICAgIC8vIHNob3VsZCBiZSB0YWtlbi5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNNb3VzZUVudGVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4jc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5DbG9zZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgI2NyZWF0ZU92ZXJsYXkoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI292ZXJsYXkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tZW51Q29udGFpbmVyVGVtcGxhdGVSZWYpIHtcbiAgICAgIGNvbnN0IG92ZXJsYXkgPSB0aGlzLiNvdmVybGF5U2VydmljZS5jcmVhdGUoe1xuICAgICAgICBlbmFibGVTY3JvbGw6IHRydWUsXG4gICAgICAgIGVuYWJsZVBvaW50ZXJFdmVudHM6IHRydWUsXG4gICAgICB9KTtcblxuICAgICAgaWYgKHRoaXMuI3pJbmRleCkge1xuICAgICAgICB0aGlzLiN6SW5kZXhcbiAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgLnN1YnNjcmliZSgoekluZGV4KSA9PiB7XG4gICAgICAgICAgICBvdmVybGF5LmNvbXBvbmVudFJlZi5pbnN0YW5jZS56SW5kZXggPSB6SW5kZXgudG9TdHJpbmcoMTApO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBvdmVybGF5LmF0dGFjaFRlbXBsYXRlKHRoaXMubWVudUNvbnRhaW5lclRlbXBsYXRlUmVmKTtcblxuICAgICAgb3ZlcmxheS5iYWNrZHJvcENsaWNrXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuZGlzbWlzc09uQmx1cikge1xuICAgICAgICAgICAgdGhpcy4jc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5DbG9zZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgdGhpcy4jb3ZlcmxheSA9IG92ZXJsYXk7XG4gICAgfVxuICB9XG5cbiAgI2Rlc3Ryb3lBZmZpeGVyKCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGlzLiNhZmZpeGVyKSB7XG4gICAgICB0aGlzLiNhZmZpeGVyLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuI2FmZml4ZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgI2Rlc3Ryb3lPdmVybGF5KCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGlzLiNvdmVybGF5KSB7XG4gICAgICB0aGlzLiNvdmVybGF5U2VydmljZS5jbG9zZSh0aGlzLiNvdmVybGF5KTtcbiAgICAgIHRoaXMuI292ZXJsYXkgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgI2NyZWF0ZUFmZml4ZXIobWVudUNvbnRhaW5lckVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBjb25zdCBhZmZpeGVyID0gdGhpcy4jYWZmaXhTZXJ2aWNlLmNyZWF0ZUFmZml4ZXIobWVudUNvbnRhaW5lckVsZW1lbnRSZWYpO1xuXG4gICAgYWZmaXhlci5wbGFjZW1lbnRDaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNoYW5nZSkgPT4ge1xuICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IGNoYW5nZS5wbGFjZW1lbnQgIT09IG51bGw7XG4gICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLiNhZmZpeGVyID0gYWZmaXhlcjtcbiAgfVxuXG4gICNoYW5kbGVJbmNvbWluZ01lc3NhZ2VzKG1lc3NhZ2U6IFNreURyb3Bkb3duTWVzc2FnZSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHtcbiAgICAgICAgY2FzZSBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLk9wZW46XG4gICAgICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICAgICAgICAgIHRoaXMuI3Bvc2l0aW9uRHJvcGRvd25NZW51KCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlOlxuICAgICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy4jZGVzdHJveU92ZXJsYXkoKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIFNreURyb3Bkb3duTWVzc2FnZVR5cGUuUmVwb3NpdGlvbjpcbiAgICAgICAgICAvLyBPbmx5IHJlcG9zaXRpb24gdGhlIGRyb3Bkb3duIGlmIGl0IGlzIGFscmVhZHkgb3Blbi5cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICh0aGlzLmlzT3BlbiAmJiB0aGlzLiNhZmZpeGVyKSB7XG4gICAgICAgICAgICB0aGlzLiNhZmZpeGVyLnJlYWZmaXgoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkZvY3VzVHJpZ2dlckJ1dHRvbjpcbiAgICAgICAgICB0aGlzLnRyaWdnZXJCdXR0b24/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjc2VuZE1lc3NhZ2UodHlwZTogU2t5RHJvcGRvd25NZXNzYWdlVHlwZSk6IHZvaWQge1xuICAgIHRoaXMubWVzc2FnZVN0cmVhbT8ubmV4dCh7IHR5cGUgfSk7XG4gIH1cblxuICAjcG9zaXRpb25Ecm9wZG93bk1lbnUoKTogdm9pZCB7XG4gICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICB0aGlzLiNjcmVhdGVPdmVybGF5KCk7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG5cbiAgICAvLyBFeHBsaWNpdGx5IGRlY2xhcmUgdGhlIGBzZXRUaW1lb3V0YCBmcm9tIHRoZSBgd2luZG93YCBvYmplY3QgaW4gb3JkZXIgdG8gdXNlIHRoZSBET00gdHlwaW5nc1xuICAgIC8vIGR1cmluZyBhIHVuaXQgdGVzdCAoaW5zdGVhZCBvZiBjb25mdXNpbmcgdGhpcyB3aXRoIE5vZGUncyBgc2V0VGltZW91dGApLlxuICAgIHRoaXMuI3Bvc2l0aW9uVGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLiNhZmZpeGVyKSB7XG4gICAgICAgIHRoaXMuI2FmZml4ZXIuYWZmaXhUbyh0aGlzLnRyaWdnZXJCdXR0b24/Lm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgICAgICBhdXRvRml0Q29udGV4dDogU2t5QWZmaXhBdXRvRml0Q29udGV4dC5WaWV3cG9ydCxcbiAgICAgICAgICBlbmFibGVBdXRvRml0OiB0cnVlLFxuICAgICAgICAgIGhvcml6b250YWxBbGlnbm1lbnQ6IHBhcnNlQWZmaXhIb3Jpem9udGFsQWxpZ25tZW50KFxuICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsQWxpZ25tZW50XG4gICAgICAgICAgKSxcbiAgICAgICAgICBpc1N0aWNreTogdHJ1ZSxcbiAgICAgICAgICBwbGFjZW1lbnQ6ICdiZWxvdycsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaXNWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktZHJvcGRvd25cIj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwic2t5LWJ0biBza3ktZHJvcGRvd24tYnV0dG9uXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzT3BlblwiXG4gICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpc09wZW4gPyBtZW51SWQgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cIm1lbnVBcmlhUm9sZVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgIGxhYmVsIHx8ICgnc2t5dXhfZHJvcGRvd25fY29udGV4dF9tZW51X2RlZmF1bHRfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzKVxuICAgIFwiXG4gICAgW2F0dHIudGl0bGVdPVwidGl0bGVcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW25nQ2xhc3NdPVwiW1xuICAgICAgJ3NreS1kcm9wZG93bi1idXR0b24tdHlwZS0nICsgYnV0dG9uVHlwZSxcbiAgICAgICdza3ktYnRuLScgKyBidXR0b25TdHlsZVxuICAgIF1cIlxuICAgICN0cmlnZ2VyQnV0dG9uXG4gID5cbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJidXR0b25UeXBlXCI+XG4gICAgICA8bmctdGVtcGxhdGUgbmdTd2l0Y2hDYXNlPVwiY29udGV4dC1tZW51XCI+XG4gICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJlbGxpcHNpcy1oXCI+PC9za3ktaWNvbj5cbiAgICAgICAgPHNreS1pY29uXG4gICAgICAgICAgKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiXG4gICAgICAgICAgaWNvbj1cImVsbGlwc2lzXCJcbiAgICAgICAgICBpY29uVHlwZT1cInNreXV4XCJcbiAgICAgICAgPjwvc2t5LWljb24+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8bmctdGVtcGxhdGUgbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nSWY9XCJidXR0b25UeXBlID09PSAnc2VsZWN0JyB8fCBidXR0b25UeXBlID09PSAndGFiJyB8fCAhYnV0dG9uVHlwZVwiXG4gICAgICAgICAgY2xhc3M9XCJza3ktZHJvcGRvd24tYnV0dG9uLWNvbnRhaW5lclwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2t5LWRyb3Bkb3duLWJ1dHRvbi1jb250ZW50LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWRyb3Bkb3duLWJ1dHRvblwiPiA8L25nLWNvbnRlbnQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNreS1kcm9wZG93bi1idXR0b24taWNvbi1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICAgICAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWRyb3Bkb3duLWNhcmV0XCJcbiAgICAgICAgICAgICAgaWNvbj1cImNhcmV0LWRvd25cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9za3ktaWNvbj5cbiAgICAgICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICAgICAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktZHJvcGRvd24tY2FyZXRcIlxuICAgICAgICAgICAgICBpY29uPVwiY2hldnJvbi1kb3duXCJcbiAgICAgICAgICAgICAgaWNvblR5cGU9XCJza3l1eFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3NreS1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwiYnV0dG9uVHlwZSAhPT0gJ3NlbGVjdCcgJiYgYnV0dG9uVHlwZSAhPT0gJ3RhYicgJiYgYnV0dG9uVHlwZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c2t5LWljb24gW2ljb25dPVwiYnV0dG9uVHlwZVwiIHNpemU9XCJsZ1wiPjwvc2t5LWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNtZW51Q29udGFpbmVyVGVtcGxhdGVSZWY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1kcm9wZG93bi1tZW51LWNvbnRhaW5lclwiXG4gICAgW2NsYXNzLmhpZGRlbl09XCIhaXNWaXNpYmxlXCJcbiAgICAjbWVudUNvbnRhaW5lckVsZW1lbnRSZWZcbiAgPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1kcm9wZG93bi1tZW51XCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
375
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BvcG92ZXJzL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3ZlcnMvc3JjL2xpYi9tb2R1bGVzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBR0wsV0FBVyxFQUNYLFNBQVMsRUFDVCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixzQkFBc0IsRUFFdEIsZUFBZSxFQUdmLGlCQUFpQixHQUNsQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxJQUFJLG1CQUFtQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUl0RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7O0FBR3ZFLE1BQU0sb0JBQW9CLEdBQUcsU0FBUyxDQUFDO0FBQ3ZDLE1BQU0sbUJBQW1CLEdBQTBCLFFBQVEsQ0FBQztBQUM1RCxNQUFNLDRCQUE0QixHQUFnQyxNQUFNLENBQUM7QUFDekUsTUFBTSxvQkFBb0IsR0FBMkIsT0FBTyxDQUFDO0FBRTdEOztHQUVHO0FBT0gsTUFBTSxPQUFPLG9CQUFv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VUFBVSwyQ0MvTHBCLGc1REErREE7MkZEaEJhLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxjQUFjLG1CQUdQLHVCQUF1QixDQUFDLE1BQU07OEJBVXBDLFdBQVc7c0JBRHJCLEtBQUs7Z0JBaUJLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBY0MsUUFBUTtzQkFEZCxLQUFLO2dCQVFLLGFBQWE7c0JBRHZCLEtBQUs7Z0JBZUMsS0FBSztzQkFEWCxLQUFLO2dCQVFLLG1CQUFtQjtzQkFEN0IsS0FBSztnQkFpQkMsYUFBYTtzQkFEbkIsS0FBSztnQkFRQyxLQUFLO3NCQURYLEtBQUs7Z0JBY0ssT0FBTztzQkFEakIsS0FBSztnQkFxQkssdUJBQXVCO3NCQUhqQyxTQUFTO3VCQUFDLHlCQUF5QixFQUFFO3dCQUNwQyxJQUFJLEVBQUUsVUFBVTtxQkFDakI7Z0JBcUJNLHdCQUF3QjtzQkFKOUIsU0FBUzt1QkFBQywwQkFBMEIsRUFBRTt3QkFDckMsSUFBSSxFQUFFLFdBQVc7d0JBQ2pCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQU9VLGFBQWE7c0JBSnZCLFNBQVM7dUJBQUMsZUFBZSxFQUFFO3dCQUMxQixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsTUFBTSxFQUFFLElBQUk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU0tZX1NUQUNLSU5HX0NPTlRFWFQsXG4gIFNreUFmZml4QXV0b0ZpdENvbnRleHQsXG4gIFNreUFmZml4SG9yaXpvbnRhbEFsaWdubWVudCxcbiAgU2t5QWZmaXhTZXJ2aWNlLFxuICBTa3lBZmZpeGVyLFxuICBTa3lPdmVybGF5SW5zdGFuY2UsXG4gIFNreU92ZXJsYXlTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lUaGVtZVNlcnZpY2UgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBmcm9tRXZlbnQgYXMgb2JzZXJ2YWJsZUZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBwYXJzZUFmZml4SG9yaXpvbnRhbEFsaWdubWVudCB9IGZyb20gJy4vZHJvcGRvd24tZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBTa3lEcm9wZG93bkJ1dHRvblR5cGUgfSBmcm9tICcuL3R5cGVzL2Ryb3Bkb3duLWJ1dHRvbi10eXBlJztcbmltcG9ydCB7IFNreURyb3Bkb3duSG9yaXpvbnRhbEFsaWdubWVudCB9IGZyb20gJy4vdHlwZXMvZHJvcGRvd24taG9yaXpvbnRhbC1hbGlnbm1lbnQnO1xuaW1wb3J0IHsgU2t5RHJvcGRvd25NZXNzYWdlIH0gZnJvbSAnLi90eXBlcy9kcm9wZG93bi1tZXNzYWdlJztcbmltcG9ydCB7IFNreURyb3Bkb3duTWVzc2FnZVR5cGUgfSBmcm9tICcuL3R5cGVzL2Ryb3Bkb3duLW1lc3NhZ2UtdHlwZSc7XG5pbXBvcnQgeyBTa3lEcm9wZG93blRyaWdnZXJUeXBlIH0gZnJvbSAnLi90eXBlcy9kcm9wZG93bi10cmlnZ2VyLXR5cGUnO1xuXG5jb25zdCBERUZBVUxUX0JVVFRPTl9TVFlMRSA9ICdkZWZhdWx0JztcbmNvbnN0IERFRkFVTFRfQlVUVE9OX1RZUEU6IFNreURyb3Bkb3duQnV0dG9uVHlwZSA9ICdzZWxlY3QnO1xuY29uc3QgREVGQVVMVF9IT1JJWk9OVEFMX0FMSUdOTUVOVDogU2t5QWZmaXhIb3Jpem9udGFsQWxpZ25tZW50ID0gJ2xlZnQnO1xuY29uc3QgREVGQVVMVF9UUklHR0VSX1RZUEU6IFNreURyb3Bkb3duVHJpZ2dlclR5cGUgPSAnY2xpY2snO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBkcm9wZG93biBtZW51IHRoYXQgZGlzcGxheXMgbWVudSBpdGVtcyB0aGF0IHVzZXJzIG1heSBzZWxlY3QuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgZHJvcGRvd24gYnV0dG9uLiBBdmFpbGFibGUgdmFsdWVzIGFyZSBgZGVmYXVsdGAsXG4gICAqIGBwcmltYXJ5YCwgYW5kIGBsaW5rYC4gVGhlc2UgdmFsdWVzIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvciBhbmQgaG92ZXIgYmVoYXZpb3IgZnJvbSB0aGVcbiAgICogW3NlY29uZGFyeSBhbmQgcHJpbWFyeSBidXR0b24gY2xhc3Nlc10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2J1dHRvbikgcmVzcGVjdGl2ZWx5LlxuICAgKiBAZGVmYXVsdCBcImRlZmF1bHRcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBidXR0b25TdHlsZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2J1dHRvblN0eWxlID0gdmFsdWUgPz8gREVGQVVMVF9CVVRUT05fU1RZTEU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGJ1dHRvblN0eWxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI19idXR0b25TdHlsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBidXR0b24gdG8gcmVuZGVyIGFzIHRoZSBkcm9wZG93bidzIHRyaWdnZXIgZWxlbWVudC4gVG8gZGlzcGxheSBhIGJ1dHRvblxuICAgKiB3aXRoIGEgY2FyZXQsIHNwZWNpZnkgYCdzZWxlY3QnYCBhbmQgcmVuZGVyIHRoZSBidXR0b24gdGV4dCBvciBpY29uIGluIGFcbiAgICogYHNreS1kcm9wZG93bi1idXR0b25gIGVsZW1lbnQuIFRvIGRpc3BsYXkgYSByb3VuZCBidXR0b24gd2l0aCBhbiBlbGxpcHNpcywgc3BlY2lmeVxuICAgKiBgJ2NvbnRleHQtbWVudSdgLlxuICAgKiBAZGVmYXVsdCBcInNlbGVjdFwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGJ1dHRvblR5cGUodmFsdWU6IFNreURyb3Bkb3duQnV0dG9uVHlwZSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19idXR0b25UeXBlID0gdmFsdWUgPz8gREVGQVVMVF9CVVRUT05fVFlQRTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYnV0dG9uVHlwZSgpOiBTa3lEcm9wZG93bkJ1dHRvblR5cGUge1xuICAgIHJldHVybiB0aGlzLiNfYnV0dG9uVHlwZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRpc2FibGUgdGhlIGRyb3Bkb3duIGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNsb3NlIHRoZSBkcm9wZG93biB3aGVuIHVzZXJzIGNsaWNrIGF3YXkgZnJvbSB0aGUgbWVudS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNtaXNzT25CbHVyKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2Rpc21pc3NPbkJsdXIgPSB2YWx1ZSA/PyB0cnVlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNtaXNzT25CbHVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZGlzbWlzc09uQmx1cjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgQVJJQSBsYWJlbCBmb3IgdGhlIGRyb3Bkb3duLiBUaGlzIHNldHMgdGhlIGRyb3Bkb3duJ3MgYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZSB0byBwcm92aWRlIGEgdGV4dCBlcXVpdmFsZW50IGZvciBzY3JlZW4gcmVhZGVyc1xuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZSwgc2VlIHRoZSBbV0FJLUFSSUEgZGVmaW5pdGlvbl0oaHR0cHM6Ly93d3cudzMub3JnL1RSL3dhaS1hcmlhLyNhcmlhLWxhYmVsKS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgaG9yaXpvbnRhbCBhbGlnbm1lbnQgb2YgdGhlIGRyb3Bkb3duIG1lbnUgaW4gcmVsYXRpb24gdG8gdGhlIGRyb3Bkb3duIGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgXCJsZWZ0XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaG9yaXpvbnRhbEFsaWdubWVudChcbiAgICB2YWx1ZTogU2t5RHJvcGRvd25Ib3Jpem9udGFsQWxpZ25tZW50IHwgdW5kZWZpbmVkXG4gICkge1xuICAgIHRoaXMuI19ob3Jpem9udGFsQWxpZ25tZW50ID0gdmFsdWUgPz8gREVGQVVMVF9IT1JJWk9OVEFMX0FMSUdOTUVOVDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaG9yaXpvbnRhbEFsaWdubWVudCgpOiBTa3lEcm9wZG93bkhvcml6b250YWxBbGlnbm1lbnQge1xuICAgIHJldHVybiB0aGlzLiNfaG9yaXpvbnRhbEFsaWdubWVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgb2JzZXJ2YWJsZSB0aGF0IHNlbmRzIGNvbW1hbmRzIHRvIHRoZSBkcm9wZG93bi4gVGhlIGNvbW1hbmRzIHNob3VsZCByZXNwZWN0XG4gICAqIHRoZSBbW1NreURyb3Bkb3duTWVzc2FnZV1dIHR5cGUuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG1lc3NhZ2VTdHJlYW06IFN1YmplY3Q8U2t5RHJvcGRvd25NZXNzYWdlPiB8IHVuZGVmaW5lZCA9XG4gICAgbmV3IFN1YmplY3Q8U2t5RHJvcGRvd25NZXNzYWdlPigpO1xuXG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgdG8gZGlzcGxheSBpbiBhIHRvb2x0aXAgd2hlbiB1c2VycyBob3ZlciB0aGUgbW91c2Ugb3ZlciB0aGUgZHJvcGRvd24gYnV0dG9uLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEhvdyB1c2VycyBpbnRlcmFjdCB3aXRoIHRoZSBkcm9wZG93biBidXR0b24gdG8gZXhwb3NlIHRoZSBkcm9wZG93biBtZW51LlxuICAgKiBXZSByZWNvbW1lbmQgdGhlIGRlZmF1bHQgYGNsaWNrYCB2YWx1ZSBiZWNhdXNlIHRoZSBgaG92ZXJgIHZhbHVlIGNhbiBwb3NlXG4gICAqIFthY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpIGlzc3Vlc1xuICAgKiBmb3IgdXNlcnMgb24gdG91Y2ggZGV2aWNlcyBzdWNoIGFzIHBob25lcyBhbmQgdGFibGV0cy5cbiAgICogQGRlcHJlY2F0ZWQgV2UgcmVjb21tZW5kIGFnYWluc3QgdXNpbmcgdGhpcyBwcm9wZXJ0eS4gSWYgeW91IGNob29zZSB0byB1c2UgdGhlIGRlcHJlY2F0ZWRcbiAgICogYGhvdmVyYCB2YWx1ZSBhbnl3YXksIHdlIHJlY29tbWVuZCB0aGF0IHlvdSBub3QgdXNlIGl0IGluIGNvbWJpbmF0aW9uIHdpdGggdGhlIGB0aXRsZWBcbiAgICogcHJvcGVydHkuXG4gICAqIEBkZWZhdWx0IFwiY2xpY2tcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0cmlnZ2VyKHZhbHVlOiBTa3lEcm9wZG93blRyaWdnZXJUeXBlIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3RyaWdnZXIgPSB2YWx1ZSA/PyBERUZBVUxUX1RSSUdHRVJfVFlQRTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdHJpZ2dlcigpOiBTa3lEcm9wZG93blRyaWdnZXJUeXBlIHtcbiAgICByZXR1cm4gdGhpcy4jX3RyaWdnZXI7XG4gIH1cblxuICBwdWJsaWMgc2V0IGlzT3Blbih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI19pc09wZW4gPSB2YWx1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfaXNPcGVuO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnbWVudUNvbnRhaW5lckVsZW1lbnRSZWYnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgfSlcbiAgcHVibGljIHNldCBtZW51Q29udGFpbmVyRWxlbWVudFJlZih2YWx1ZTogRWxlbWVudFJlZiB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy4jZGVzdHJveUFmZml4ZXIoKTtcbiAgICAgIHRoaXMuI2NyZWF0ZUFmZml4ZXIodmFsdWUpO1xuICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzTW91c2VFbnRlciA9IGZhbHNlO1xuXG4gIHB1YmxpYyBpc1Zpc2libGUgPSBmYWxzZTtcblxuICBwdWJsaWMgbWVudUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIG1lbnVBcmlhUm9sZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ21lbnVDb250YWluZXJUZW1wbGF0ZVJlZicsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyBtZW51Q29udGFpbmVyVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ3RyaWdnZXJCdXR0b24nLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyBzZXQgdHJpZ2dlckJ1dHRvbih2YWx1ZTogRWxlbWVudFJlZiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI190cmlnZ2VyQnV0dG9uID0gdmFsdWU7XG4gICAgdGhpcy4jYWRkRXZlbnRMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdHJpZ2dlckJ1dHRvbigpOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX3RyaWdnZXJCdXR0b247XG4gIH1cblxuICAjYWZmaXhlcjogU2t5QWZmaXhlciB8IHVuZGVmaW5lZDtcbiAgI292ZXJsYXk6IFNreU92ZXJsYXlJbnN0YW5jZSB8IHVuZGVmaW5lZDtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAjcG9zaXRpb25UaW1lb3V0OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgI2FmZml4U2VydmljZSA9IGluamVjdChTa3lBZmZpeFNlcnZpY2UpO1xuICAjY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAjb3ZlcmxheVNlcnZpY2UgPSBpbmplY3QoU2t5T3ZlcmxheVNlcnZpY2UpO1xuICAjdGhlbWVTdmMgPSBpbmplY3QoU2t5VGhlbWVTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICAjekluZGV4ID0gaW5qZWN0KFNLWV9TVEFDS0lOR19DT05URVhULCB7IG9wdGlvbmFsOiB0cnVlIH0pPy56SW5kZXg7XG5cbiAgI19idXR0b25TdHlsZSA9IERFRkFVTFRfQlVUVE9OX1NUWUxFO1xuICAjX2J1dHRvblR5cGUgPSBERUZBVUxUX0JVVFRPTl9UWVBFO1xuICAjX2Rpc21pc3NPbkJsdXIgPSB0cnVlO1xuICAjX2hvcml6b250YWxBbGlnbm1lbnQgPSBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5UO1xuICAjX2lzT3BlbiA9IGZhbHNlO1xuICAjX3RyaWdnZXIgPSBERUZBVUxUX1RSSUdHRVJfVFlQRTtcbiAgI190cmlnZ2VyQnV0dG9uOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1lc3NhZ2VTdHJlYW1cbiAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lEcm9wZG93bk1lc3NhZ2UpID0+IHtcbiAgICAgICAgdGhpcy4jaGFuZGxlSW5jb21pbmdNZXNzYWdlcyhtZXNzYWdlKTtcbiAgICAgIH0pO1xuXG4gICAgLy8gTG9hZCBwcm9wZXIgaWNvbnMgb24gdGhlbWUgY2hhbmdlLlxuICAgIHRoaXMuI3RoZW1lU3ZjPy5zZXR0aW5nc0NoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jZGVzdHJveUFmZml4ZXIoKTtcbiAgICB0aGlzLiNkZXN0cm95T3ZlcmxheSgpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLiNwb3NpdGlvblRpbWVvdXQpO1xuXG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgI2FkZEV2ZW50TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBjb25zdCBidXR0b25FbGVtZW50ID0gdGhpcy50cmlnZ2VyQnV0dG9uPy5uYXRpdmVFbGVtZW50O1xuICAgIGlmIChidXR0b25FbGVtZW50KSB7XG4gICAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGJ1dHRvbkVsZW1lbnQsICdjbGljaycpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy4jc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5PcGVuKTtcbiAgICAgICAgICAgIC8vIFdhaXQgZm9yIGRyb3Bkb3duIHRvIG9wZW4sIHRoZW4gc2V0IGZvY3VzIG9uIGZpcnN0IGl0ZW0uXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy4jc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5Gb2N1c0ZpcnN0SXRlbSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICBvYnNlcnZhYmxlRnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KGJ1dHRvbkVsZW1lbnQsICdrZXlkb3duJylcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ2VzY2FwZSc6XG4gICAgICAgICAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgICAgICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlKTtcbiAgICAgICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkZvY3VzVHJpZ2dlckJ1dHRvbik7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ3RhYic6XG4gICAgICAgICAgICAgIGlmICh0aGlzLmlzT3BlbiAmJiB0aGlzLmRpc21pc3NPbkJsdXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnYXJyb3d1cCc6XG4gICAgICAgICAgICBjYXNlICd1cCc6XG4gICAgICAgICAgICAgIGlmICghdGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLk9wZW4pO1xuICAgICAgICAgICAgICAgIHRoaXMuI3NlbmRNZXNzYWdlKFNreURyb3Bkb3duTWVzc2FnZVR5cGUuRm9jdXNMYXN0SXRlbSk7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnZW50ZXInOlxuICAgICAgICAgICAgY2FzZSAnYXJyb3dkb3duJzpcbiAgICAgICAgICAgIGNhc2UgJ2Rvd24nOlxuICAgICAgICAgICAgY2FzZSAnICc6IC8vIFNwYWNlYmFyLlxuICAgICAgICAgICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzT3Blbikge1xuICAgICAgICAgICAgICAgIHRoaXMuI3NlbmRNZXNzYWdlKFNreURyb3Bkb3duTWVzc2FnZVR5cGUuT3Blbik7XG4gICAgICAgICAgICAgICAgdGhpcy4jc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5Gb2N1c0ZpcnN0SXRlbSk7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGJ1dHRvbkVsZW1lbnQsICdtb3VzZWVudGVyJylcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzTW91c2VFbnRlciA9IHRydWU7XG4gICAgICAgICAgaWYgKHRoaXMudHJpZ2dlciA9PT0gJ2hvdmVyJykge1xuICAgICAgICAgICAgdGhpcy4jc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5PcGVuKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGJ1dHRvbkVsZW1lbnQsICdtb3VzZWxlYXZlJylcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzTW91c2VFbnRlciA9IGZhbHNlO1xuICAgICAgICAgIGlmICh0aGlzLnRyaWdnZXIgPT09ICdob3ZlcicpIHtcbiAgICAgICAgICAgIC8vIEFsbG93IHRoZSBkcm9wZG93biBtZW51IHRvIHNldCBpc01vdXNlRW50ZXIgYmVmb3JlIGNoZWNraW5nIGlmIHRoZSBjbG9zZSBhY3Rpb25cbiAgICAgICAgICAgIC8vIHNob3VsZCBiZSB0YWtlbi5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNNb3VzZUVudGVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4jc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5DbG9zZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgI2NyZWF0ZU92ZXJsYXkoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI292ZXJsYXkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tZW51Q29udGFpbmVyVGVtcGxhdGVSZWYpIHtcbiAgICAgIGNvbnN0IG92ZXJsYXkgPSB0aGlzLiNvdmVybGF5U2VydmljZS5jcmVhdGUoe1xuICAgICAgICBlbmFibGVTY3JvbGw6IHRydWUsXG4gICAgICAgIGVuYWJsZVBvaW50ZXJFdmVudHM6IHRydWUsXG4gICAgICB9KTtcblxuICAgICAgaWYgKHRoaXMuI3pJbmRleCkge1xuICAgICAgICB0aGlzLiN6SW5kZXhcbiAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgLnN1YnNjcmliZSgoekluZGV4KSA9PiB7XG4gICAgICAgICAgICBvdmVybGF5LmNvbXBvbmVudFJlZi5pbnN0YW5jZS56SW5kZXggPSB6SW5kZXgudG9TdHJpbmcoMTApO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBvdmVybGF5LmF0dGFjaFRlbXBsYXRlKHRoaXMubWVudUNvbnRhaW5lclRlbXBsYXRlUmVmKTtcblxuICAgICAgb3ZlcmxheS5iYWNrZHJvcENsaWNrXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuZGlzbWlzc09uQmx1cikge1xuICAgICAgICAgICAgdGhpcy4jc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5DbG9zZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgdGhpcy4jb3ZlcmxheSA9IG92ZXJsYXk7XG4gICAgfVxuICB9XG5cbiAgI2Rlc3Ryb3lBZmZpeGVyKCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGlzLiNhZmZpeGVyKSB7XG4gICAgICB0aGlzLiNhZmZpeGVyLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuI2FmZml4ZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgI2Rlc3Ryb3lPdmVybGF5KCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGlzLiNvdmVybGF5KSB7XG4gICAgICB0aGlzLiNvdmVybGF5U2VydmljZS5jbG9zZSh0aGlzLiNvdmVybGF5KTtcbiAgICAgIHRoaXMuI292ZXJsYXkgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgI2NyZWF0ZUFmZml4ZXIobWVudUNvbnRhaW5lckVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBjb25zdCBhZmZpeGVyID0gdGhpcy4jYWZmaXhTZXJ2aWNlLmNyZWF0ZUFmZml4ZXIobWVudUNvbnRhaW5lckVsZW1lbnRSZWYpO1xuXG4gICAgYWZmaXhlci5wbGFjZW1lbnRDaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNoYW5nZSkgPT4ge1xuICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IGNoYW5nZS5wbGFjZW1lbnQgIT09IG51bGw7XG4gICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLiNhZmZpeGVyID0gYWZmaXhlcjtcbiAgfVxuXG4gICNoYW5kbGVJbmNvbWluZ01lc3NhZ2VzKG1lc3NhZ2U6IFNreURyb3Bkb3duTWVzc2FnZSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHtcbiAgICAgICAgY2FzZSBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLk9wZW46XG4gICAgICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICAgICAgICAgIHRoaXMuI3Bvc2l0aW9uRHJvcGRvd25NZW51KCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlOlxuICAgICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy4jZGVzdHJveU92ZXJsYXkoKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIFNreURyb3Bkb3duTWVzc2FnZVR5cGUuUmVwb3NpdGlvbjpcbiAgICAgICAgICAvLyBPbmx5IHJlcG9zaXRpb24gdGhlIGRyb3Bkb3duIGlmIGl0IGlzIGFscmVhZHkgb3Blbi5cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICh0aGlzLmlzT3BlbiAmJiB0aGlzLiNhZmZpeGVyKSB7XG4gICAgICAgICAgICB0aGlzLiNhZmZpeGVyLnJlYWZmaXgoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkZvY3VzVHJpZ2dlckJ1dHRvbjpcbiAgICAgICAgICB0aGlzLnRyaWdnZXJCdXR0b24/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjc2VuZE1lc3NhZ2UodHlwZTogU2t5RHJvcGRvd25NZXNzYWdlVHlwZSk6IHZvaWQge1xuICAgIHRoaXMubWVzc2FnZVN0cmVhbT8ubmV4dCh7IHR5cGUgfSk7XG4gIH1cblxuICAjcG9zaXRpb25Ecm9wZG93bk1lbnUoKTogdm9pZCB7XG4gICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICB0aGlzLiNjcmVhdGVPdmVybGF5KCk7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG5cbiAgICAvLyBFeHBsaWNpdGx5IGRlY2xhcmUgdGhlIGBzZXRUaW1lb3V0YCBmcm9tIHRoZSBgd2luZG93YCBvYmplY3QgaW4gb3JkZXIgdG8gdXNlIHRoZSBET00gdHlwaW5nc1xuICAgIC8vIGR1cmluZyBhIHVuaXQgdGVzdCAoaW5zdGVhZCBvZiBjb25mdXNpbmcgdGhpcyB3aXRoIE5vZGUncyBgc2V0VGltZW91dGApLlxuICAgIHRoaXMuI3Bvc2l0aW9uVGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLiNhZmZpeGVyKSB7XG4gICAgICAgIHRoaXMuI2FmZml4ZXIuYWZmaXhUbyh0aGlzLnRyaWdnZXJCdXR0b24/Lm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgICAgICBhdXRvRml0Q29udGV4dDogU2t5QWZmaXhBdXRvRml0Q29udGV4dC5WaWV3cG9ydCxcbiAgICAgICAgICBlbmFibGVBdXRvRml0OiB0cnVlLFxuICAgICAgICAgIGhvcml6b250YWxBbGlnbm1lbnQ6IHBhcnNlQWZmaXhIb3Jpem9udGFsQWxpZ25tZW50KFxuICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsQWxpZ25tZW50XG4gICAgICAgICAgKSxcbiAgICAgICAgICBpc1N0aWNreTogdHJ1ZSxcbiAgICAgICAgICBwbGFjZW1lbnQ6ICdiZWxvdycsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaXNWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktZHJvcGRvd25cIj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwic2t5LWJ0biBza3ktZHJvcGRvd24tYnV0dG9uXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzT3BlblwiXG4gICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpc09wZW4gPyBtZW51SWQgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cIm1lbnVBcmlhUm9sZVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgIGxhYmVsIHx8ICgnc2t5dXhfZHJvcGRvd25fY29udGV4dF9tZW51X2RlZmF1bHRfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzKVxuICAgIFwiXG4gICAgW2F0dHIudGl0bGVdPVwidGl0bGVcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW25nQ2xhc3NdPVwiW1xuICAgICAgJ3NreS1kcm9wZG93bi1idXR0b24tdHlwZS0nICsgYnV0dG9uVHlwZSxcbiAgICAgICdza3ktYnRuLScgKyBidXR0b25TdHlsZVxuICAgIF1cIlxuICAgICN0cmlnZ2VyQnV0dG9uXG4gID5cbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJidXR0b25UeXBlXCI+XG4gICAgICA8bmctdGVtcGxhdGUgbmdTd2l0Y2hDYXNlPVwiY29udGV4dC1tZW51XCI+XG4gICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJlbGxpcHNpcy1oXCI+PC9za3ktaWNvbj5cbiAgICAgICAgPHNreS1pY29uXG4gICAgICAgICAgKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiXG4gICAgICAgICAgaWNvbj1cImVsbGlwc2lzXCJcbiAgICAgICAgICBpY29uVHlwZT1cInNreXV4XCJcbiAgICAgICAgPjwvc2t5LWljb24+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8bmctdGVtcGxhdGUgbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2t5LWRyb3Bkb3duLWJ1dHRvbi1jb250YWluZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2t5LWRyb3Bkb3duLWJ1dHRvbi1jb250ZW50LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWRyb3Bkb3duLWJ1dHRvblwiPiA8L25nLWNvbnRlbnQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNreS1kcm9wZG93bi1idXR0b24taWNvbi1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICAgICAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWRyb3Bkb3duLWNhcmV0XCJcbiAgICAgICAgICAgICAgaWNvbj1cImNhcmV0LWRvd25cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9za3ktaWNvbj5cbiAgICAgICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICAgICAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktZHJvcGRvd24tY2FyZXRcIlxuICAgICAgICAgICAgICBpY29uPVwiY2hldnJvbi1kb3duXCJcbiAgICAgICAgICAgICAgaWNvblR5cGU9XCJza3l1eFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3NreS1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjbWVudUNvbnRhaW5lclRlbXBsYXRlUmVmPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktZHJvcGRvd24tbWVudS1jb250YWluZXJcIlxuICAgIFtjbGFzcy5oaWRkZW5dPVwiIWlzVmlzaWJsZVwiXG4gICAgI21lbnVDb250YWluZXJFbGVtZW50UmVmXG4gID5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZHJvcGRvd24tbWVudVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -11,8 +11,8 @@ import { SkyDropdownComponent } from './dropdown.component';
|
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
export class SkyDropdownModule {
|
|
13
13
|
}
|
|
14
|
-
SkyDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1
|
|
15
|
-
SkyDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1
|
|
14
|
+
SkyDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
15
|
+
SkyDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: SkyDropdownModule, declarations: [SkyDropdownButtonComponent,
|
|
16
16
|
SkyDropdownComponent,
|
|
17
17
|
SkyDropdownItemComponent,
|
|
18
18
|
SkyDropdownMenuComponent], imports: [CommonModule,
|
|
@@ -24,13 +24,13 @@ SkyDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versi
|
|
|
24
24
|
SkyDropdownComponent,
|
|
25
25
|
SkyDropdownItemComponent,
|
|
26
26
|
SkyDropdownMenuComponent] });
|
|
27
|
-
SkyDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1
|
|
27
|
+
SkyDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyDropdownModule, imports: [CommonModule,
|
|
28
28
|
SkyAffixModule,
|
|
29
29
|
SkyIconModule,
|
|
30
30
|
SkyOverlayModule,
|
|
31
31
|
SkyPopoversResourcesModule,
|
|
32
32
|
SkyThemeModule] });
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyDropdownModule, decorators: [{
|
|
34
34
|
type: NgModule,
|
|
35
35
|
args: [{
|
|
36
36
|
declarations: [
|
|
@@ -66,9 +66,9 @@ export class SkyPopoverAdapterService {
|
|
|
66
66
|
return { top, left };
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
|
-
SkyPopoverAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1
|
|
70
|
-
SkyPopoverAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1
|
|
69
|
+
SkyPopoverAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyPopoverAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
70
|
+
SkyPopoverAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyPopoverAdapterService });
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyPopoverAdapterService, decorators: [{
|
|
72
72
|
type: Injectable
|
|
73
73
|
}] });
|
|
74
74
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1hZGFwdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3ZlcnMvc3JjL2xpYi9tb2R1bGVzL3BvcG92ZXIvcG9wb3Zlci1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0M7O0dBRUc7QUFFSCxNQUFNLE9BQU8sd0JBQXdCO0lBQzVCLG1CQUFtQixDQUN4QixRQUFtQyxFQUNuQyxTQUE4QixFQUM5QixTQUFrQjtRQUVsQixNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3pFLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDM0UsTUFBTSxTQUFTLEdBQ2IsUUFBUSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUU5RCxNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFFMUIsSUFBSSxHQUFXLENBQUM7UUFDaEIsSUFBSSxJQUFZLENBQUM7UUFFakIsSUFBSSxTQUFTLEtBQUssT0FBTyxJQUFJLFNBQVMsS0FBSyxPQUFPLEVBQUU7WUFDbEQsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7WUFFaEQsdURBQXVEO1lBQ3ZELElBQUksSUFBSSxHQUFHLGNBQWMsR0FBRyxXQUFXLENBQUMsSUFBSSxFQUFFO2dCQUM1QyxJQUFJLEdBQUcsV0FBVyxDQUFDLElBQUksR0FBRyxjQUFjLENBQUM7YUFDMUM7aUJBQU0sSUFBSSxJQUFJLEdBQUcsY0FBYyxHQUFHLFdBQVcsQ0FBQyxLQUFLLEVBQUU7Z0JBQ3BELElBQUksR0FBRyxXQUFXLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQzthQUMzQztZQUVELElBQUksU0FBUyxLQUFLLE9BQU8sRUFBRTtnQkFDekIsSUFBSSxTQUFTLEtBQUssUUFBUSxFQUFFO29CQUMxQixHQUFHLEdBQUcsVUFBVSxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO2lCQUN6QztxQkFBTTtvQkFDTCxHQUFHLEdBQUcsVUFBVSxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztpQkFDN0M7YUFDRjtpQkFBTTtnQkFDTCxJQUFJLFNBQVMsS0FBSyxRQUFRLEVBQUU7b0JBQzFCLEdBQUcsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO2lCQUN6QjtxQkFBTTtvQkFDTCxHQUFHLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7aUJBQzdCO2FBQ0Y7U0FDRjthQUFNO1lBQ0wsR0FBRyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7WUFFL0MsdURBQXVEO1lBQ3ZELElBQUksR0FBRyxHQUFHLGNBQWMsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO2dCQUMxQyxHQUFHLEdBQUcsV0FBVyxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUM7YUFDeEM7aUJBQU0sSUFBSSxHQUFHLEdBQUcsY0FBYyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3BELEdBQUcsR0FBRyxXQUFXLENBQUMsTUFBTSxHQUFHLGNBQWMsQ0FBQzthQUMzQztZQUVELElBQUksU0FBUyxLQUFLLE1BQU0sRUFBRTtnQkFDeEIsSUFBSSxTQUFTLEtBQUssUUFBUSxFQUFFO29CQUMxQixJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO2lCQUMxQztxQkFBTTtvQkFDTCxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztpQkFDOUM7YUFDRjtpQkFBTTtnQkFDTCxJQUFJLFNBQVMsS0FBSyxRQUFRLEVBQUU7b0JBQzFCLElBQUksR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO2lCQUN6QjtxQkFBTTtvQkFDTCxJQUFJLEdBQUcsVUFBVSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7aUJBQzdCO2FBQ0Y7U0FDRjtRQUVELE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7cUhBakVVLHdCQUF3Qjt5SEFBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreVBvcG92ZXJBZGFwdGVyQXJyb3dDb29yZGluYXRlcyB9IGZyb20gJy4vdHlwZXMvcG9wb3Zlci1hZGFwdGVyLWFycm93LWNvb3JkaW5hdGVzJztcbmltcG9ydCB7IFNreVBvcG92ZXJBZGFwdGVyRWxlbWVudHMgfSBmcm9tICcuL3R5cGVzL3BvcG92ZXItYWRhcHRlci1lbGVtZW50cyc7XG5pbXBvcnQgeyBTa3lQb3BvdmVyUGxhY2VtZW50IH0gZnJvbSAnLi90eXBlcy9wb3BvdmVyLXBsYWNlbWVudCc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lQb3BvdmVyQWRhcHRlclNlcnZpY2Uge1xuICBwdWJsaWMgZ2V0QXJyb3dDb29yZGluYXRlcyhcbiAgICBlbGVtZW50czogU2t5UG9wb3ZlckFkYXB0ZXJFbGVtZW50cyxcbiAgICBwbGFjZW1lbnQ6IFNreVBvcG92ZXJQbGFjZW1lbnQsXG4gICAgdGhlbWVOYW1lPzogc3RyaW5nXG4gICk6IFNreVBvcG92ZXJBZGFwdGVyQXJyb3dDb29yZGluYXRlcyB7XG4gICAgY29uc3QgY2FsbGVyUmVjdCA9IGVsZW1lbnRzLmNhbGxlci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHBvcG92ZXJSZWN0ID0gZWxlbWVudHMucG9wb3Zlci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGFycm93UmVjdCA9XG4gICAgICBlbGVtZW50cy5wb3BvdmVyQXJyb3cubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGNvbnN0IHBpeGVsVG9sZXJhbmNlID0gMjA7XG5cbiAgICBsZXQgdG9wOiBudW1iZXI7XG4gICAgbGV0IGxlZnQ6IG51bWJlcjtcblxuICAgIGlmIChwbGFjZW1lbnQgPT09ICdhYm92ZScgfHwgcGxhY2VtZW50ID09PSAnYmVsb3cnKSB7XG4gICAgICBsZWZ0ID0gY2FsbGVyUmVjdC5sZWZ0ICsgY2FsbGVyUmVjdC53aWR0aCAqIDAuNTtcblxuICAgICAgLy8gTWFrZSBzdXJlIHRoZSBhcnJvdyBuZXZlciBkZXRhY2hlcyBmcm9tIHRoZSBwb3BvdmVyLlxuICAgICAgaWYgKGxlZnQgLSBwaXhlbFRvbGVyYW5jZSA8IHBvcG92ZXJSZWN0LmxlZnQpIHtcbiAgICAgICAgbGVmdCA9IHBvcG92ZXJSZWN0LmxlZnQgKyBwaXhlbFRvbGVyYW5jZTtcbiAgICAgIH0gZWxzZSBpZiAobGVmdCArIHBpeGVsVG9sZXJhbmNlID4gcG9wb3ZlclJlY3QucmlnaHQpIHtcbiAgICAgICAgbGVmdCA9IHBvcG92ZXJSZWN0LnJpZ2h0IC0gcGl4ZWxUb2xlcmFuY2U7XG4gICAgICB9XG5cbiAgICAgIGlmIChwbGFjZW1lbnQgPT09ICdhYm92ZScpIHtcbiAgICAgICAgaWYgKHRoZW1lTmFtZSAhPT0gJ21vZGVybicpIHtcbiAgICAgICAgICB0b3AgPSBjYWxsZXJSZWN0LnRvcCAtIGFycm93UmVjdC5oZWlnaHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdG9wID0gY2FsbGVyUmVjdC50b3AgLSBhcnJvd1JlY3QuaGVpZ2h0ICsgNTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoZW1lTmFtZSAhPT0gJ21vZGVybicpIHtcbiAgICAgICAgICB0b3AgPSBjYWxsZXJSZWN0LmJvdHRvbTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0b3AgPSBjYWxsZXJSZWN0LmJvdHRvbSArIDQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdG9wID0gY2FsbGVyUmVjdC50b3AgKyBjYWxsZXJSZWN0LmhlaWdodCAqIDAuNTtcblxuICAgICAgLy8gTWFrZSBzdXJlIHRoZSBhcnJvdyBuZXZlciBkZXRhY2hlcyBmcm9tIHRoZSBwb3BvdmVyLlxuICAgICAgaWYgKHRvcCAtIHBpeGVsVG9sZXJhbmNlIDwgcG9wb3ZlclJlY3QudG9wKSB7XG4gICAgICAgIHRvcCA9IHBvcG92ZXJSZWN0LnRvcCArIHBpeGVsVG9sZXJhbmNlO1xuICAgICAgfSBlbHNlIGlmICh0b3AgKyBwaXhlbFRvbGVyYW5jZSA+IHBvcG92ZXJSZWN0LmJvdHRvbSkge1xuICAgICAgICB0b3AgPSBwb3BvdmVyUmVjdC5ib3R0b20gLSBwaXhlbFRvbGVyYW5jZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHBsYWNlbWVudCA9PT0gJ2xlZnQnKSB7XG4gICAgICAgIGlmICh0aGVtZU5hbWUgIT09ICdtb2Rlcm4nKSB7XG4gICAgICAgICAgbGVmdCA9IGNhbGxlclJlY3QubGVmdCAtIGFycm93UmVjdC53aWR0aDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsZWZ0ID0gY2FsbGVyUmVjdC5sZWZ0IC0gYXJyb3dSZWN0LndpZHRoICsgNTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoZW1lTmFtZSAhPT0gJ21vZGVybicpIHtcbiAgICAgICAgICBsZWZ0ID0gY2FsbGVyUmVjdC5yaWdodDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsZWZ0ID0gY2FsbGVyUmVjdC5yaWdodCArIDQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4geyB0b3AsIGxlZnQgfTtcbiAgfVxufVxuIl19
|