@fundamental-ngx/core 0.44.0-rc.2 → 0.44.0-rc.3
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/breadcrumb/breadcrumb.component.d.ts +4 -4
- package/content-density/providers/content-density-observer-providers.d.ts +1 -1
- package/content-density/services/content-density-observer.service.d.ts +3 -3
- package/dialog/dialog-container/dialog-container.component.d.ts +4 -4
- package/esm2022/breadcrumb/breadcrumb.component.mjs +9 -11
- package/esm2022/content-density/providers/content-density-observer-providers.mjs +4 -4
- package/esm2022/content-density/services/content-density-observer.service.mjs +13 -13
- package/esm2022/dialog/dialog-container/dialog-container.component.mjs +12 -13
- package/esm2022/message-box/message-box-container/message-box-container.component.mjs +12 -15
- package/esm2022/message-strip/alert/message-strip-alert-container-footer/message-strip-alert-container-footer.component.mjs +8 -9
- package/esm2022/message-strip/auto-dismiss-message-strip.directive.mjs +10 -9
- package/esm2022/multi-combobox/base-multi-combobox.class.mjs +17 -14
- package/esm2022/multi-combobox/multi-combobox.component.mjs +44 -45
- package/esm2022/multi-combobox/select-all-toggler/select-all-toggler.component.mjs +8 -10
- package/esm2022/overflow-layout/directives/overflow-layout-popover-content.directive.mjs +9 -11
- package/esm2022/segmented-button/segmented-button.component.mjs +19 -21
- package/esm2022/shellbar/shellbar.component.mjs +12 -11
- package/esm2022/split-button/split-button.component.mjs +15 -16
- package/esm2022/table/directives/table-cell.directive.mjs +5 -7
- package/esm2022/table/directives/table-row.directive.mjs +17 -20
- package/esm2022/table/table.component.mjs +10 -9
- package/esm2022/tabs/tab-list.component.mjs +26 -28
- package/esm2022/token/token.component.mjs +13 -13
- package/esm2022/toolbar/toolbar.component.mjs +23 -24
- package/esm2022/tree/components/tree-item/tree-item.component.mjs +21 -21
- package/esm2022/tree/tree.component.mjs +23 -22
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +9 -10
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-content-density.mjs +15 -14
- package/fesm2022/fundamental-ngx-core-content-density.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dialog.mjs +10 -9
- package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-box.mjs +11 -11
- package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-strip.mjs +16 -14
- package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +62 -63
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +9 -10
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs +17 -19
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shellbar.mjs +11 -10
- package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-split-button.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-split-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-table.mjs +26 -30
- package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tabs.mjs +27 -28
- package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-token.mjs +13 -12
- package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-toolbar.mjs +21 -22
- package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tree.mjs +38 -38
- package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fundamental-ngx-core-v0.44.0-rc.3.tgz +0 -0
- package/message-box/message-box-container/message-box-container.component.d.ts +4 -6
- package/message-strip/alert/message-strip-alert-container-footer/message-strip-alert-container-footer.component.d.ts +1 -1
- package/message-strip/auto-dismiss-message-strip.directive.d.ts +3 -3
- package/multi-combobox/base-multi-combobox.class.d.ts +30 -30
- package/multi-combobox/multi-combobox.component.d.ts +17 -18
- package/multi-combobox/select-all-toggler/select-all-toggler.component.d.ts +1 -1
- package/overflow-layout/directives/overflow-layout-popover-content.directive.d.ts +5 -6
- package/package.json +3 -3
- package/schematics/add-dependencies/index.js +4 -4
- package/segmented-button/segmented-button.component.d.ts +6 -7
- package/shellbar/shellbar.component.d.ts +1 -1
- package/split-button/split-button.component.d.ts +3 -4
- package/table/directives/table-row.directive.d.ts +2 -4
- package/table/table.component.d.ts +3 -4
- package/tabs/tab-list.component.d.ts +4 -5
- package/token/token.component.d.ts +5 -5
- package/toolbar/toolbar.component.d.ts +6 -6
- package/tree/components/tree-item/tree-item.component.d.ts +28 -28
- package/tree/tree.component.d.ts +7 -7
- package/fundamental-ngx-core-v0.44.0-rc.2.tgz +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostListener, inject, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import { Observable, takeUntil } from 'rxjs';
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, HostListener, inject, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
4
3
|
import { ListFocusItem } from '@fundamental-ngx/core/list';
|
|
4
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@fundamental-ngx/core/checkbox";
|
|
7
7
|
import * as i2 from "@fundamental-ngx/core/form";
|
|
@@ -16,7 +16,7 @@ export class SelectAllTogglerComponent extends ListFocusItem {
|
|
|
16
16
|
/** @hidden */
|
|
17
17
|
this.flatItems = [];
|
|
18
18
|
/** @hidden */
|
|
19
|
-
this.
|
|
19
|
+
this._destroyRef = inject(DestroyRef);
|
|
20
20
|
/** @hidden */
|
|
21
21
|
this.changeDetector = inject(ChangeDetectorRef);
|
|
22
22
|
}
|
|
@@ -51,7 +51,7 @@ export class SelectAllTogglerComponent extends ListFocusItem {
|
|
|
51
51
|
/** @hidden */
|
|
52
52
|
ngOnInit() {
|
|
53
53
|
this.tabindex = 0;
|
|
54
|
-
this.valueChanges.pipe(
|
|
54
|
+
this.valueChanges.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {
|
|
55
55
|
this.changeDetector.detectChanges();
|
|
56
56
|
});
|
|
57
57
|
}
|
|
@@ -64,8 +64,7 @@ export class SelectAllTogglerComponent extends ListFocusItem {
|
|
|
64
64
|
{
|
|
65
65
|
provide: ListFocusItem,
|
|
66
66
|
useExisting: SelectAllTogglerComponent
|
|
67
|
-
}
|
|
68
|
-
DestroyedService
|
|
67
|
+
}
|
|
69
68
|
], usesInheritance: true, ngImport: i0, template: `
|
|
70
69
|
<fd-toolbar>
|
|
71
70
|
<div fd-form-item class="fd-multi-combobox-select-all__form-item">
|
|
@@ -96,8 +95,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
96
95
|
{
|
|
97
96
|
provide: ListFocusItem,
|
|
98
97
|
useExisting: SelectAllTogglerComponent
|
|
99
|
-
}
|
|
100
|
-
DestroyedService
|
|
98
|
+
}
|
|
101
99
|
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["fd-multi-combobox-select-all-toggler{display:block;background-color:var(--sapBackgroundColor);cursor:pointer;position:sticky;top:0;z-index:1}fd-multi-combobox-select-all-toggler:focus,fd-multi-combobox-select-all-toggler.is-focus{outline-offset:-.1875rem;outline-width:var(--sapContent_FocusWidth);outline-style:var(--sapContent_FocusStyle);outline-color:var(--sapContent_FocusColor)}fd-multi-combobox-select-all-toggler .fd-toolbar{padding-left:1rem;padding-right:0}fd-multi-combobox-select-all-toggler .fd-multi-combobox-select-all__form-item{display:flex;flex-direction:row;align-items:center;font-weight:700}fd-multi-combobox-select-all-toggler .fd-multi-combobox-select-all__form-item fd-checkbox{pointer-events:none}fd-multi-combobox-select-all-toggler .fd-multi-combobox-select-all__form-item fd-checkbox .fd-checkbox__checkmark{margin-right:.5rem}[dir=rtl] fd-multi-combobox-select-all-toggler .fd-multi-combobox-select-all__form-item fd-checkbox .fd-checkbox__checkmark,fd-multi-combobox-select-all-toggler .fd-multi-combobox-select-all__form-item fd-checkbox .fd-checkbox__checkmark[dir=rtl]{margin-right:0;margin-left:.5rem}fd-multi-combobox-select-all-toggler .fd-multi-combobox-select-all__form-item fd-checkbox .fd-checkbox__text{font-weight:700!important}\n"] }]
|
|
102
100
|
}], propDecorators: { selectAllHandler: [{
|
|
103
101
|
type: Input
|
|
@@ -117,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
117
115
|
type: HostListener,
|
|
118
116
|
args: ['click']
|
|
119
117
|
}] } });
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFsbC10b2dnbGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL211bHRpLWNvbWJvYm94L3NlbGVjdC1hbGwtdG9nZ2xlci9zZWxlY3QtYWxsLXRvZ2dsZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7O0FBMEJoRSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsYUFBYTtJQXhCNUQ7O1FBbUNJLGNBQWM7UUFFZCxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFFbkMsY0FBYztRQUVkLGNBQVMsR0FBbUIsRUFBRSxDQUFDO1FBdUIvQixjQUFjO1FBQ04sZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFekMsY0FBYztRQUNOLG1CQUFjLEdBQXNCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBNkJ6RTtJQXRERyxjQUFjO0lBQ2QsSUFBSSxjQUFjO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztJQUMvRCxDQUFDO0lBRUQsY0FBYztJQUNkLElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsY0FBYztJQUNkLElBQUksYUFBYTtRQUNiLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNyQixPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBUUQsY0FBYztJQUdkLFNBQVMsQ0FBQyxNQUFxQjtRQUMzQixNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsY0FBYztJQUVkLE9BQU87UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxjQUFjO0lBQ2QsUUFBUTtRQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDeEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxjQUFjO0lBQ2QsTUFBTSxDQUFDLEtBQWM7UUFDakIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OEdBeEVRLHlCQUF5QjtrR0FBekIseUJBQXlCLGtVQVR2QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUseUJBQXlCO2FBQ3pDO1NBQ0osaURBbEJTOzs7Ozs7Ozs7OztLQVdUOzsyRkFXUSx5QkFBeUI7a0JBeEJyQyxTQUFTOytCQUNJLHNDQUFzQyxZQUN0Qzs7Ozs7Ozs7Ozs7S0FXVCxhQUVVO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLDJCQUEyQjt5QkFDekM7cUJBQ0osaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs4QkFNdEMsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUtHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFpQ04sU0FBUztzQkFGUixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3hDLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVF6QyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIERlc3Ryb3lSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMaXN0Rm9jdXNJdGVtIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2xpc3QnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLW11bHRpLWNvbWJvYm94LXNlbGVjdC1hbGwtdG9nZ2xlcicsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGZkLXRvb2xiYXI+XG4gICAgICAgICAgICA8ZGl2IGZkLWZvcm0taXRlbSBjbGFzcz1cImZkLW11bHRpLWNvbWJvYm94LXNlbGVjdC1hbGxfX2Zvcm0taXRlbVwiPlxuICAgICAgICAgICAgICAgIDxmZC1jaGVja2JveCB0YWJJbmRleFZhbHVlPVwiLTFcIiBbbmdNb2RlbF09XCJjaGVja2JveFZhbHVlXCIgW3RyaXN0YXRlXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICdjb3JlTXVsdGlDb21ib0JveC5zZWxlY3RBbGxMYWJlbCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZkVHJhbnNsYXRlIDogeyBzZWxlY3RlZEl0ZW1zOiBzZWxlY3RlZEl0ZW1zLmxlbmd0aCwgdG90YWxJdGVtczogZmxhdEl0ZW1zLmxlbmd0aCB9XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPC9mZC1jaGVja2JveD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2ZkLXRvb2xiYXI+XG4gICAgYCxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtYWxsLXRvZ2dsZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTGlzdEZvY3VzSXRlbSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBTZWxlY3RBbGxUb2dnbGVyQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0QWxsVG9nZ2xlckNvbXBvbmVudCBleHRlbmRzIExpc3RGb2N1c0l0ZW0gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKlxuICAgICAqIEhhbmRsZXIgZm9yIHRoZSBzZWxlY3QgYWxsIGl0ZW1zXG4gICAgICogKi9cbiAgICBASW5wdXQoKSBzZWxlY3RBbGxIYW5kbGVyOiAoc2VsZWN0OiBib29sZWFuKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogU3RyZWFtIGZvciByZWNlaXZpbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHZhbHVlIGNoYW5nZXMsXG4gICAgICovXG4gICAgQElucHV0KCkgdmFsdWVDaGFuZ2VzOiBPYnNlcnZhYmxlPHVua25vd24+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNlbGVjdGVkSXRlbXM6IEFycmF5PHVua25vd24+ID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmxhdEl0ZW1zOiBBcnJheTx1bmtub3duPiA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgYWxsQXJlU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID09PSB0aGlzLmZsYXRJdGVtcy5sZW5ndGg7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgc29tZUFyZVNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDAgJiYgIXRoaXMuYWxsQXJlU2VsZWN0ZWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgY2hlY2tib3hWYWx1ZSgpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgICAgIGlmICh0aGlzLmFsbEFyZVNlbGVjdGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5zb21lQXJlU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5zcGFjZScsIFsnJGV2ZW50J10pXG4gICAgb25LZXlEb3duKCRldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5jaGFuZ2UoIXRoaXMuY2hlY2tib3hWYWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgdGhpcy5jaGFuZ2UoIXRoaXMuY2hlY2tib3hWYWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWJpbmRleCA9IDA7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY2hhbmdlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0QWxsSGFuZGxlcih2YWx1ZSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { FocusKeyManager } from '@angular/cdk/a11y';
|
|
2
2
|
import { DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, TAB, UP_ARROW } from '@angular/cdk/keycodes';
|
|
3
3
|
import { Directive, HostBinding, HostListener, Inject, Input, Optional } from '@angular/core';
|
|
4
|
-
import {
|
|
5
|
-
import { takeUntil } from 'rxjs';
|
|
4
|
+
import { KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';
|
|
6
5
|
import { FD_OVERFLOW_CONTAINER } from '../tokens/overflow-container.token';
|
|
6
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@fundamental-ngx/cdk/utils";
|
|
9
9
|
/**
|
|
@@ -27,16 +27,15 @@ export class OverflowLayoutPopoverContentDirective {
|
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
29
|
/** @hidden */
|
|
30
|
-
constructor(_overflowContainer, _rtl
|
|
30
|
+
constructor(_overflowContainer, _rtl) {
|
|
31
31
|
this._overflowContainer = _overflowContainer;
|
|
32
32
|
this._rtl = _rtl;
|
|
33
|
-
this._onDestroy$ = _onDestroy$;
|
|
34
33
|
/** @hidden */
|
|
35
34
|
this._initialClass = 'fd-overflow-layout__popover-container';
|
|
36
35
|
/** @hidden */
|
|
37
36
|
this._dir = 'ltr';
|
|
38
37
|
this._overflowContainer?.registerPopoverContent(this);
|
|
39
|
-
this._rtl?.rtl.pipe(
|
|
38
|
+
this._rtl?.rtl.pipe(takeUntilDestroyed()).subscribe((rtl) => {
|
|
40
39
|
this._dir = rtl ? 'rtl' : 'ltr';
|
|
41
40
|
if (this._keyboardEventsManager) {
|
|
42
41
|
this._keyboardEventsManager = this._keyboardEventsManager.withHorizontalOrientation(this._dir);
|
|
@@ -67,21 +66,20 @@ export class OverflowLayoutPopoverContentDirective {
|
|
|
67
66
|
ngOnDestroy() {
|
|
68
67
|
this._keyboardEventsManager?.destroy();
|
|
69
68
|
}
|
|
70
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: OverflowLayoutPopoverContentDirective, deps: [{ token: FD_OVERFLOW_CONTAINER }, { token: i1.RtlService, optional: true }
|
|
71
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: OverflowLayoutPopoverContentDirective, selector: "[fdOverflowLayoutPopoverContent]", inputs: { items: "items" }, host: { listeners: { "keyup": "keyUpHandler($event)" }, properties: { "class": "this._initialClass" } },
|
|
69
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: OverflowLayoutPopoverContentDirective, deps: [{ token: FD_OVERFLOW_CONTAINER }, { token: i1.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
70
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: OverflowLayoutPopoverContentDirective, selector: "[fdOverflowLayoutPopoverContent]", inputs: { items: "items" }, host: { listeners: { "keyup": "keyUpHandler($event)" }, properties: { "class": "this._initialClass" } }, ngImport: i0 }); }
|
|
72
71
|
}
|
|
73
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: OverflowLayoutPopoverContentDirective, decorators: [{
|
|
74
73
|
type: Directive,
|
|
75
74
|
args: [{
|
|
76
|
-
selector: '[fdOverflowLayoutPopoverContent]'
|
|
77
|
-
providers: [DestroyedService]
|
|
75
|
+
selector: '[fdOverflowLayoutPopoverContent]'
|
|
78
76
|
}]
|
|
79
77
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
80
78
|
type: Inject,
|
|
81
79
|
args: [FD_OVERFLOW_CONTAINER]
|
|
82
80
|
}] }, { type: i1.RtlService, decorators: [{
|
|
83
81
|
type: Optional
|
|
84
|
-
}] }
|
|
82
|
+
}] }]; }, propDecorators: { items: [{
|
|
85
83
|
type: Input
|
|
86
84
|
}], _initialClass: [{
|
|
87
85
|
type: HostBinding,
|
|
@@ -90,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
90
88
|
type: HostListener,
|
|
91
89
|
args: ['keyup', ['$event']]
|
|
92
90
|
}] } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbGF5b3V0LXBvcG92ZXItY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9vdmVyZmxvdy1sYXlvdXQvZGlyZWN0aXZlcy9vdmVyZmxvdy1sYXlvdXQtcG9wb3Zlci1jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRixPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUtqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBRWhFOzs7R0FHRztBQUlILE1BQU0sT0FBTyxxQ0FBcUM7SUFDOUM7O09BRUc7SUFDSCxJQUNJLEtBQUssQ0FBQyxLQUF3QjtRQUM5Qix5RkFBeUY7UUFDekYsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxlQUFlLENBQzdDLElBQUksQ0FBQyxNQUFNO2lCQUNOLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDO2lCQUM1RCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQ3REO2lCQUNJLFFBQVEsRUFBRTtpQkFDVix5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBZUQsY0FBYztJQUNkLFlBQzJDLGtCQUFxQyxFQUN4RCxJQUFnQjtRQURHLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDeEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQWhCeEMsY0FBYztRQUVHLGtCQUFhLEdBQUcsdUNBQXVDLENBQUM7UUFRekUsY0FBYztRQUNOLFNBQUksR0FBa0IsS0FBSyxDQUFDO1FBT2hDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3hELElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUNoQyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDbEc7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxjQUFjO0lBRWQsWUFBWSxDQUFDLEtBQW9CO1FBQzdCLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLGFBQWEsS0FBSyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkcsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNwRDtTQUNKO1FBRUQsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDLEVBQUU7WUFDM0UsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBRXZCLDZEQUE2RDtZQUM3RCxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2hEO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gseUJBQXlCO1FBQ3JCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXO1FBQ1AsSUFBSSxDQUFDLHNCQUFzQixFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzNDLENBQUM7OEdBNUVRLHFDQUFxQyxrQkFtQ2xDLHFCQUFxQjtrR0FuQ3hCLHFDQUFxQzs7MkZBQXJDLHFDQUFxQztrQkFIakQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0NBQWtDO2lCQUMvQzs7MEJBb0NRLE1BQU07MkJBQUMscUJBQXFCOzswQkFDNUIsUUFBUTs0Q0EvQlQsS0FBSztzQkFEUixLQUFLO2dCQWtCVyxhQUFhO3NCQUQ3QixXQUFXO3VCQUFDLE9BQU87Z0JBNkJwQixZQUFZO3NCQURYLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRE9XTl9BUlJPVywgTEVGVF9BUlJPVywgUklHSFRfQVJST1csIFRBQiwgVVBfQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLZXlVdGlsLCBSdGxTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgT3ZlcmZsb3dDb250YWluZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzL292ZXJmbG93LWNvbnRhaW5lci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT3ZlcmZsb3dMYXlvdXRGb2N1c2FibGVJdGVtIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9vdmVyZmxvdy1mb2N1c2FibGUtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT3ZlcmZsb3dQb3BvdmVyQ29udGVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMvb3ZlcmZsb3ctcG9wb3Zlci1jb250ZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBPdmVyZmxvd0l0ZW1SZWYgfSBmcm9tICcuLi9pbnRlcmZhY2VzL292ZXJmbG93LWl0ZW0tcmVmLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGRF9PVkVSRkxPV19DT05UQUlORVIgfSBmcm9tICcuLi90b2tlbnMvb3ZlcmZsb3ctY29udGFpbmVyLnRva2VuJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuLyoqXG4gKiBEaXJlY3RpdmUgdG8gd3JhcCBPdmVybGF5IExheW91dCBcIk1vcmVcIiBwb3BvdmVyIGNvbnRlbnQuXG4gKiBVc2VkIHRvIGFwcGx5IGtleWJvYXJkIG5hdmlnYXRpb24gdGhyb3VnaCB0aGUgaXRlbXMuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkT3ZlcmZsb3dMYXlvdXRQb3BvdmVyQ29udGVudF0nXG59KVxuZXhwb3J0IGNsYXNzIE92ZXJmbG93TGF5b3V0UG9wb3ZlckNvbnRlbnREaXJlY3RpdmUgaW1wbGVtZW50cyBPdmVyZmxvd1BvcG92ZXJDb250ZW50LCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIEFycmF5IG9mIGhpZGRlbiBpdGVtcy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBpdGVtcyh2YWx1ZTogT3ZlcmZsb3dJdGVtUmVmW10pIHtcbiAgICAgICAgLy8gTmVlZCB0byBzZXQgaXRlbXMgd2l0aCBhIGRlbGF5IHNvIHRoYXQgZWxlbWVudFJlZiBvZiB0aGUgZm9jdXNhYmxlIGl0ZW0gd291bGQgcmVmcmVzaC5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9pdGVtcyA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRFdmVudHNNYW5hZ2VyPy5kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLl9rZXlib2FyZEV2ZW50c01hbmFnZXIgPSBuZXcgRm9jdXNLZXlNYW5hZ2VyKFxuICAgICAgICAgICAgICAgIHRoaXMuX2l0ZW1zXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0ub3ZlcmZsb3dJdGVtLmZvY3VzYWJsZUl0ZW0/LmZvY3VzYWJsZSlcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoaXRlbSkgPT4gaXRlbS5vdmVyZmxvd0l0ZW0uZm9jdXNhYmxlSXRlbSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAud2l0aFdyYXAoKVxuICAgICAgICAgICAgICAgIC53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKHRoaXMuX2Rpcik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgcHJpdmF0ZSByZWFkb25seSBfaW5pdGlhbENsYXNzID0gJ2ZkLW92ZXJmbG93LWxheW91dF9fcG9wb3Zlci1jb250YWluZXInO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9rZXlib2FyZEV2ZW50c01hbmFnZXI6IEZvY3VzS2V5TWFuYWdlcjxPdmVyZmxvd0xheW91dEZvY3VzYWJsZUl0ZW0+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pdGVtczogT3ZlcmZsb3dJdGVtUmVmW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2RpcjogJ2x0cicgfCAncnRsJyA9ICdsdHInO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChGRF9PVkVSRkxPV19DT05UQUlORVIpIHByaXZhdGUgX292ZXJmbG93Q29udGFpbmVyOiBPdmVyZmxvd0NvbnRhaW5lcixcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfcnRsOiBSdGxTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuX292ZXJmbG93Q29udGFpbmVyPy5yZWdpc3RlclBvcG92ZXJDb250ZW50KHRoaXMpO1xuXG4gICAgICAgIHRoaXMuX3J0bD8ucnRsLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgocnRsKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9kaXIgPSBydGwgPyAncnRsJyA6ICdsdHInO1xuICAgICAgICAgICAgaWYgKHRoaXMuX2tleWJvYXJkRXZlbnRzTWFuYWdlcikge1xuICAgICAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkRXZlbnRzTWFuYWdlciA9IHRoaXMuX2tleWJvYXJkRXZlbnRzTWFuYWdlci53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKHRoaXMuX2Rpcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5dXAnLCBbJyRldmVudCddKVxuICAgIGtleVVwSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFRBQikpIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5faXRlbXMuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLm92ZXJmbG93SXRlbS5lbG1SZWYubmF0aXZlRWxlbWVudCA9PT0gZXZlbnQudGFyZ2V0KTtcbiAgICAgICAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9rZXlib2FyZEV2ZW50c01hbmFnZXIuc2V0QWN0aXZlSXRlbShpbmRleCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtET1dOX0FSUk9XLCBVUF9BUlJPVywgTEVGVF9BUlJPVywgUklHSFRfQVJST1ddKSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgICAgLy8gcGFzc2luZyB0aGUgZXZlbnQgdG8ga2V5IG1hbmFnZXIsIHNvIHdlIGdldCBhIGNoYW5nZSBmaXJlZFxuICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRFdmVudHNNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGb2N1c2VzIG9uIHRoZSBmaXJzdCB0YWJiYWJsZSBlbGVtZW50IGluc2lkZSBkaXJlY3RpdmUncyBlbGVtZW50LlxuICAgICAqL1xuICAgIGZvY3VzRmlyc3RUYWJiYWJsZUVsZW1lbnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2tleWJvYXJkRXZlbnRzTWFuYWdlci5zZXRBY3RpdmVJdGVtKDApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2tleWJvYXJkRXZlbnRzTWFuYWdlcj8uZGVzdHJveSgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, forwardRef, HostBinding, HostListener, Input, QueryList, ViewEncapsulation } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, DestroyRef, ElementRef, forwardRef, HostBinding, HostListener, Input, QueryList, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import { FD_BUTTON_COMPONENT } from '@fundamental-ngx/core/button';
|
|
3
3
|
import { filter, observeOn, startWith, takeUntil, tap } from 'rxjs/operators';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { asyncScheduler, fromEvent, merge, Subject } from 'rxjs';
|
|
5
|
+
import { destroyObservable, KeyUtil } from '@fundamental-ngx/cdk/utils';
|
|
6
6
|
import { ENTER, SPACE } from '@angular/cdk/keycodes';
|
|
7
7
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
8
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@fundamental-ngx/cdk/utils";
|
|
10
10
|
export const isDisabledClass = 'is-disabled';
|
|
11
11
|
/**
|
|
12
12
|
* Container for grouped buttons.
|
|
@@ -21,10 +21,10 @@ export const isDisabledClass = 'is-disabled';
|
|
|
21
21
|
*/
|
|
22
22
|
export class SegmentedButtonComponent {
|
|
23
23
|
/** @hidden */
|
|
24
|
-
constructor(_changeDetRef, _elementRef,
|
|
24
|
+
constructor(_changeDetRef, _elementRef, _destroyRef) {
|
|
25
25
|
this._changeDetRef = _changeDetRef;
|
|
26
26
|
this._elementRef = _elementRef;
|
|
27
|
-
this.
|
|
27
|
+
this._destroyRef = _destroyRef;
|
|
28
28
|
/** Whether segmented button is on toggle mode, which allows to toggle more than 1 button */
|
|
29
29
|
this.toggle = false;
|
|
30
30
|
/** @hidden */
|
|
@@ -39,6 +39,12 @@ export class SegmentedButtonComponent {
|
|
|
39
39
|
this.onTouched = () => { };
|
|
40
40
|
}
|
|
41
41
|
/** @hidden */
|
|
42
|
+
_click(event) {
|
|
43
|
+
if (!this._elementRef.nativeElement.contains(event.relatedTarget)) {
|
|
44
|
+
this.onTouched();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/** @hidden */
|
|
42
48
|
ngAfterViewInit() {
|
|
43
49
|
this._listenToButtonChanges();
|
|
44
50
|
}
|
|
@@ -75,15 +81,9 @@ export class SegmentedButtonComponent {
|
|
|
75
81
|
this._changeDetRef.detectChanges();
|
|
76
82
|
}
|
|
77
83
|
/** @hidden */
|
|
78
|
-
_click(event) {
|
|
79
|
-
if (!this._elementRef.nativeElement.contains(event.relatedTarget)) {
|
|
80
|
-
this.onTouched();
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
/** @hidden */
|
|
84
84
|
_listenToButtonChanges() {
|
|
85
85
|
this._buttons.changes
|
|
86
|
-
.pipe(startWith(1), observeOn(asyncScheduler),
|
|
86
|
+
.pipe(startWith(1), observeOn(asyncScheduler), takeUntilDestroyed(this._destroyRef))
|
|
87
87
|
.subscribe(() => {
|
|
88
88
|
this._onRefresh$.next();
|
|
89
89
|
this._toggleDisableButtons(this._isDisabled);
|
|
@@ -94,7 +94,7 @@ export class SegmentedButtonComponent {
|
|
|
94
94
|
/** @hidden */
|
|
95
95
|
_listenToTriggerEvents(buttonComponent) {
|
|
96
96
|
const htmlElement = buttonComponent.elementRef.nativeElement;
|
|
97
|
-
const refresh$ = merge(this.
|
|
97
|
+
const refresh$ = merge(destroyObservable(this._destroyRef), this._onRefresh$);
|
|
98
98
|
const triggerEvents$ = merge(fromEvent(htmlElement, 'click'), fromEvent(htmlElement, 'keydown').pipe(filter((event) => KeyUtil.isKeyCode(event, [ENTER, SPACE])), tap((event) => {
|
|
99
99
|
event.preventDefault();
|
|
100
100
|
this.onTouched();
|
|
@@ -204,14 +204,13 @@ export class SegmentedButtonComponent {
|
|
|
204
204
|
return resButtons;
|
|
205
205
|
}
|
|
206
206
|
}
|
|
207
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SegmentedButtonComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token:
|
|
207
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SegmentedButtonComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
208
208
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: SegmentedButtonComponent, selector: "fd-segmented-button", inputs: { toggle: "toggle" }, host: { attributes: { "role": "group" }, listeners: { "click": "_click($event)" }, properties: { "class.fd-segmented-button": "this._fdSegmentedButtonClass" } }, providers: [
|
|
209
209
|
{
|
|
210
210
|
provide: NG_VALUE_ACCESSOR,
|
|
211
211
|
useExisting: forwardRef(() => SegmentedButtonComponent),
|
|
212
212
|
multi: true
|
|
213
|
-
}
|
|
214
|
-
DestroyedService
|
|
213
|
+
}
|
|
215
214
|
], queries: [{ propertyName: "_buttons", predicate: FD_BUTTON_COMPONENT }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-segmented-button\n button\n*/.fd-segmented-button{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:inline-flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;vertical-align:middle}.fd-segmented-button:after,.fd-segmented-button:before{box-sizing:inherit;font-size:inherit}.fd-segmented-button:before{background:var(--sapButton_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";display:var(--fdButton_Segmented_Pad_Display);height:100%;left:0;position:absolute;top:0;width:100%}.fd-segmented-button button{margin:0}.fd-segmented-button button.is-hover,.fd-segmented-button button:hover{z-index:1}.fd-segmented-button button:first-child{border-radius:var(--fdButton_Border_Radius_Left)}.fd-segmented-button button:not(:first-child):not(:last-child){border-radius:var(--fdButton_Segmented_Middle_Border_Radius)}.fd-segmented-button button:last-child{border-radius:var(--fdButton_Border_Radius_Right)}.fd-segmented-button button:not(:last-child){margin-right:var(--fdButton_Segmented_Border_Offset)}.fd-segmented-button button:not(:last-child)[dir=rtl],[dir=rtl] .fd-segmented-button button:not(:last-child){margin-left:var(--fdButton_Segmented_Border_Offset);margin-right:0}.fd-segmented-button button[dir=rtl]:first-child,[dir=rtl] .fd-segmented-button button:first-child{border-radius:var(--fdButton_Border_Radius_Left_RTL)}.fd-segmented-button button[dir=rtl]:last-child,[dir=rtl] .fd-segmented-button button:last-child{border-radius:var(--fdButton_Border_Radius_Right_RTL)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
216
215
|
}
|
|
217
216
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SegmentedButtonComponent, decorators: [{
|
|
@@ -223,10 +222,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
223
222
|
provide: NG_VALUE_ACCESSOR,
|
|
224
223
|
useExisting: forwardRef(() => SegmentedButtonComponent),
|
|
225
224
|
multi: true
|
|
226
|
-
}
|
|
227
|
-
DestroyedService
|
|
225
|
+
}
|
|
228
226
|
], template: "<ng-content></ng-content>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-segmented-button\n button\n*/.fd-segmented-button{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:inline-flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;vertical-align:middle}.fd-segmented-button:after,.fd-segmented-button:before{box-sizing:inherit;font-size:inherit}.fd-segmented-button:before{background:var(--sapButton_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";display:var(--fdButton_Segmented_Pad_Display);height:100%;left:0;position:absolute;top:0;width:100%}.fd-segmented-button button{margin:0}.fd-segmented-button button.is-hover,.fd-segmented-button button:hover{z-index:1}.fd-segmented-button button:first-child{border-radius:var(--fdButton_Border_Radius_Left)}.fd-segmented-button button:not(:first-child):not(:last-child){border-radius:var(--fdButton_Segmented_Middle_Border_Radius)}.fd-segmented-button button:last-child{border-radius:var(--fdButton_Border_Radius_Right)}.fd-segmented-button button:not(:last-child){margin-right:var(--fdButton_Segmented_Border_Offset)}.fd-segmented-button button:not(:last-child)[dir=rtl],[dir=rtl] .fd-segmented-button button:not(:last-child){margin-left:var(--fdButton_Segmented_Border_Offset);margin-right:0}.fd-segmented-button button[dir=rtl]:first-child,[dir=rtl] .fd-segmented-button button:first-child{border-radius:var(--fdButton_Border_Radius_Left_RTL)}.fd-segmented-button button[dir=rtl]:last-child,[dir=rtl] .fd-segmented-button button:last-child{border-radius:var(--fdButton_Border_Radius_Right_RTL)}\n"] }]
|
|
229
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type:
|
|
227
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.DestroyRef }]; }, propDecorators: { toggle: [{
|
|
230
228
|
type: Input
|
|
231
229
|
}], _fdSegmentedButtonClass: [{
|
|
232
230
|
type: HostBinding,
|
|
@@ -238,4 +236,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
238
236
|
type: HostListener,
|
|
239
237
|
args: ['click', ['$event']]
|
|
240
238
|
}] } });
|
|
241
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudGVkLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9zZWdtZW50ZWQtYnV0dG9uL3NlZ21lbnRlZC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc2VnbWVudGVkLWJ1dHRvbi9zZWdtZW50ZWQtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFFTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBbUIsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFekUsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLGFBQWEsQ0FBQztBQUk3Qzs7Ozs7Ozs7OztHQVVHO0FBbUJILE1BQU0sT0FBTyx3QkFBd0I7SUFnQ2pDLGNBQWM7SUFDZCxZQUNxQixhQUFnQyxFQUNoQyxXQUF1QixF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QXdCLENBQUM7Z0JBQ3ZELEtBQUssRUFBRSxJQUFJO2FBQ2Q7WUFDRCxnQkFBZ0I7U0FDbkIsbURBWWdCLG1CQUFtQiw2QkNqRXhDLDZCQUNBOzsyRkRzRGEsd0JBQXdCO2tCQWxCcEMsU0FBUzsrQkFDSSxxQkFBcUIsUUFHekI7d0JBQ0YsSUFBSSxFQUFFLE9BQU87cUJBQ2hCLGlCQUNjLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLENBQUM7NEJBQ3ZELEtBQUssRUFBRSxJQUFJO3lCQUNkO3dCQUNELGdCQUFnQjtxQkFDbkI7Z0tBS0QsTUFBTTtzQkFETCxLQUFLO2dCQUtOLHVCQUF1QjtzQkFEdEIsV0FBVzt1QkFBQywyQkFBMkI7Z0JBS3hDLFFBQVE7c0JBRFAsZUFBZTt1QkFBQyxtQkFBbUI7Z0JBeUU1QixNQUFNO3NCQURiLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50LCBGRF9CVVRUT05fQ09NUE9ORU5UIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBmaWx0ZXIsIG9ic2VydmVPbiwgc3RhcnRXaXRoLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QsIG1lcmdlLCBmcm9tRXZlbnQsIGFzeW5jU2NoZWR1bGVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEZXN0cm95ZWRTZXJ2aWNlLCBLZXlVdGlsIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgRU5URVIsIFNQQUNFIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGNvbnN0IGlzRGlzYWJsZWRDbGFzcyA9ICdpcy1kaXNhYmxlZCc7XG5cbmV4cG9ydCB0eXBlIFNlZ21lbnRlZEJ1dHRvblZhbHVlID0gc3RyaW5nIHwgKHN0cmluZyB8IG51bGwpW10gfCBudWxsO1xuXG4vKipcbiAqIENvbnRhaW5lciBmb3IgZ3JvdXBlZCBidXR0b25zLlxuICpcbiAqIGBgYGh0bWxcbiAqIDxmZC1zZWdtZW50ZWQtYnV0dG9uIFsobmdNb2RlbCldPVwidmFsdWVcIj5cbiAqICAgICA8YnV0dG9uIGZkLWJ1dHRvbiB2YWx1ZT1cImZpcnN0XCI+QnV0dG9uPC9idXR0b24+XG4gKiAgICAgPGJ1dHRvbiBmZC1idXR0b24gdmFsdWU9XCJzZWNvbmRcIj5CdXR0b248L2J1dHRvbj5cbiAqICAgICA8YnV0dG9uIGZkLWJ1dHRvbiB2YWx1ZT1cInRoaXJkXCI+QnV0dG9uPC9idXR0b24+XG4gKiA8L2ZkLXNlZ21lbnRlZC1idXR0b24+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1zZWdtZW50ZWQtYnV0dG9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VnbWVudGVkLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VnbWVudGVkLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgcm9sZTogJ2dyb3VwJ1xuICAgIH0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWdtZW50ZWRCdXR0b25Db21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgRGVzdHJveWVkU2VydmljZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgU2VnbWVudGVkQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XG4gICAgLyoqIFdoZXRoZXIgc2VnbWVudGVkIGJ1dHRvbiBpcyBvbiB0b2dnbGUgbW9kZSwgd2hpY2ggYWxsb3dzIHRvIHRvZ2dsZSBtb3JlIHRoYW4gMSBidXR0b24gKi9cbiAgICBASW5wdXQoKVxuICAgIHRvZ2dsZSA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLXNlZ21lbnRlZC1idXR0b24nKVxuICAgIF9mZFNlZ21lbnRlZEJ1dHRvbkNsYXNzID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihGRF9CVVRUT05fQ09NUE9ORU5UKVxuICAgIF9idXR0b25zOiBRdWVyeUxpc3Q8QnV0dG9uQ29tcG9uZW50PjtcblxuICAgIC8qKlxuICAgICAqIFZhbHVlIG9mIHNlZ21lbnRlZCBidXR0b24gY2FuIGhhdmUgMiB0eXBlczpcbiAgICAgKiAtIHN0cmluZywgd2hlbiB0aGVyZSBpcyBubyB0b2dnbGUgbW9kZSBhbmQgb25seSAxIHZhbHVlIGNhbiBiZSBjaG9zZW4uXG4gICAgICogLSBhcnJheSBvZiBzdHJpbmdzLCB3aGVuIHRoZXJlIGlzIHRvZ2dsZSBtb2RlIGFuZCBtb3JlIHRoYW4gMSB2YWx1ZSBjYW4gYmUgY2hvc2VuLlxuICAgICAqL1xuICAgIHByaXZhdGUgX2N1cnJlbnRWYWx1ZTogU2VnbWVudGVkQnV0dG9uVmFsdWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzRGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKiBBbiBSeEpTIFN1YmplY3QgdGhhdCB3aWxsIGtpbGwgdGhlIGRhdGEgc3RyZWFtIHVwb24gcXVlcnlMaXN0IGNoYW5nZXMgKGZvciB1bnN1YnNjcmliaW5nKSAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vblJlZnJlc2gkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25DaGFuZ2U6ICh2YWx1ZTogU2VnbWVudGVkQnV0dG9uVmFsdWUpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge307XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2VEZXRSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9vbkRlc3Ryb3kkOiBEZXN0cm95ZWRTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xpc3RlblRvQnV0dG9uQ2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uUmVmcmVzaCQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHdyaXRlVmFsdWUodmFsdWVzOiBzdHJpbmdbXSB8IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jdXJyZW50VmFsdWUgPSB2YWx1ZXM7XG4gICAgICAgIHRoaXMuX3BpY2tCdXR0b25zQnlWYWx1ZXModmFsdWVzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIGZuIFVzZXIgZGVmaW5lZCBmdW5jdGlvbiB0aGF0IGhhbmRsZXMgdGhlICpvbkNoYW5nZSogZXZlbnQgb2YgdGhlIFNlZ21lbnRlZEJ1dHRvbnMuXG4gICAgICovXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBTZWdtZW50ZWRCdXR0b25WYWx1ZSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBmbiBVc2VyIGRlZmluZWQgZnVuY3Rpb24gdGhhdCBoYW5kbGVzIHRoZSAqb25Ub3VjaCogZXZlbnQgb2YgdGhlIFNlZ21lbnRlZEJ1dHRvbnMuXG4gICAgICovXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIGlzRGlzYWJsZWQgU2V0cyB0aGUgdmFsdWUgb2YgdGhlICpkaXNhYmxlZCogcHJvcGVydHkgb2YgdGhlIFNlZ21lbnRlZEJ1dHRvbnMuXG4gICAgICovXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2lzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgICAgICB0aGlzLl90b2dnbGVEaXNhYmxlQnV0dG9ucyhpc0Rpc2FibGVkKTtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0UmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBwcml2YXRlIF9jbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC5yZWxhdGVkVGFyZ2V0KSkge1xuICAgICAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuVG9CdXR0b25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9idXR0b25zLmNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKHN0YXJ0V2l0aCgxKSwgb2JzZXJ2ZU9uKGFzeW5jU2NoZWR1bGVyKSwgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25SZWZyZXNoJC5uZXh0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fdG9nZ2xlRGlzYWJsZUJ1dHRvbnModGhpcy5faXNEaXNhYmxlZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcGlja0J1dHRvbnNCeVZhbHVlcyh0aGlzLl9jdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2J1dHRvbnMuZm9yRWFjaCgoYnV0dG9uKSA9PiB0aGlzLl9saXN0ZW5Ub1RyaWdnZXJFdmVudHMoYnV0dG9uKSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3RlblRvVHJpZ2dlckV2ZW50cyhidXR0b25Db21wb25lbnQ6IEJ1dHRvbkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBodG1sRWxlbWVudCA9IGJ1dHRvbkNvbXBvbmVudC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgY29uc3QgcmVmcmVzaCQgPSBtZXJnZSh0aGlzLl9vbkRlc3Ryb3kkLCB0aGlzLl9vblJlZnJlc2gkKTtcblxuICAgICAgICBjb25zdCB0cmlnZ2VyRXZlbnRzJCA9IG1lcmdlKFxuICAgICAgICAgICAgZnJvbUV2ZW50KGh0bWxFbGVtZW50LCAnY2xpY2snKSxcbiAgICAgICAgICAgIGZyb21FdmVudDxLZXlib2FyZEV2ZW50PihodG1sRWxlbWVudCwgJ2tleWRvd24nKS5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpID0+IEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbRU5URVIsIFNQQUNFXSkpLFxuICAgICAgICAgICAgICAgIHRhcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuXG4gICAgICAgIHRyaWdnZXJFdmVudHMkLnBpcGUodGFrZVVudGlsKHJlZnJlc2gkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2hhbmRsZVRyaWdnZXJPbkJ1dHRvbihidXR0b25Db21wb25lbnQpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZVRyaWdnZXJPbkJ1dHRvbihidXR0b25Db21wb25lbnQ6IEJ1dHRvbkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2lzQnV0dG9uRGlzYWJsZWQoYnV0dG9uQ29tcG9uZW50KSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9pc0J1dHRvblNlbGVjdGVkKGJ1dHRvbkNvbXBvbmVudCkgJiYgIXRoaXMudG9nZ2xlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fYnV0dG9ucy5mb3JFYWNoKChidXR0b24pID0+IHRoaXMuX2Rlc2VsZWN0QnV0dG9uKGJ1dHRvbikpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdEJ1dHRvbihidXR0b25Db21wb25lbnQpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Byb3BhZ2F0ZUNoYW5nZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMudG9nZ2xlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdG9nZ2xlQnV0dG9uKGJ1dHRvbkNvbXBvbmVudCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcHJvcGFnYXRlQ2hhbmdlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0UmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9wcm9wYWdhdGVDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5fZ2V0VmFsdWVzQnlTZWxlY3RlZCgpKTtcbiAgICAgICAgdGhpcy5fY3VycmVudFZhbHVlID0gdGhpcy5fZ2V0VmFsdWVzQnlTZWxlY3RlZCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdG9nZ2xlQnV0dG9uKGJ1dHRvbkNvbXBvbmVudDogQnV0dG9uQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9pc0J1dHRvblNlbGVjdGVkKGJ1dHRvbkNvbXBvbmVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2Rlc2VsZWN0QnV0dG9uKGJ1dHRvbkNvbXBvbmVudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RCdXR0b24oYnV0dG9uQ29tcG9uZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcGlja0J1dHRvbnNCeVZhbHVlcyh2YWx1ZXM6IFNlZ21lbnRlZEJ1dHRvblZhbHVlKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fYnV0dG9ucykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2J1dHRvbnMuZm9yRWFjaCgoYnV0dG9uKSA9PiB0aGlzLl9kZXNlbGVjdEJ1dHRvbihidXR0b24pKTtcbiAgICAgICAgdGhpcy5fZ2V0QnV0dG9uc0J5VmFsdWVzKHZhbHVlcykuZm9yRWFjaCgoYnV0dG9uKSA9PiB0aGlzLl9zZWxlY3RCdXR0b24oYnV0dG9uKSk7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRCdXR0b25zQnlWYWx1ZXModmFsdWVzOiBTZWdtZW50ZWRCdXR0b25WYWx1ZSk6IEJ1dHRvbkNvbXBvbmVudFtdIHtcbiAgICAgICAgaWYgKCF2YWx1ZXMpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlcykpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9idXR0b25zLmZpbHRlcigoYnV0dG9uKSA9PiAhIXZhbHVlcy5maW5kKCh2YWx1ZSkgPT4gdGhpcy5fZ2V0QnV0dG9uVmFsdWUoYnV0dG9uKSA9PT0gdmFsdWUpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9idXR0b25zLmZpbHRlcigoYnV0dG9uKSA9PiB0aGlzLl9nZXRCdXR0b25WYWx1ZShidXR0b24pID09PSB2YWx1ZXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZWxlY3RCdXR0b24oYnV0dG9uQ29tcG9uZW50OiBCdXR0b25Db21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgYnV0dG9uQ29tcG9uZW50LnRvZ2dsZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVzZWxlY3RCdXR0b24oYnV0dG9uQ29tcG9uZW50OiBCdXR0b25Db21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgYnV0dG9uQ29tcG9uZW50LnRvZ2dsZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzQnV0dG9uU2VsZWN0ZWQoYnV0dG9uQ29tcG9uZW50OiBCdXR0b25Db21wb25lbnQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGJ1dHRvbkNvbXBvbmVudC50b2dnbGVkO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXNCdXR0b25EaXNhYmxlZChidXR0b25Db21wb25lbnQ6IEJ1dHRvbkNvbXBvbmVudCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gYnV0dG9uQ29tcG9uZW50Ll9kaXNhYmxlZCB8fCBidXR0b25Db21wb25lbnQuYXJpYURpc2FibGVkO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdG9nZ2xlRGlzYWJsZUJ1dHRvbnMoZGlzYWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2J1dHRvbnMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2J1dHRvbnMuZm9yRWFjaCgoYnV0dG9uKSA9PiAoYnV0dG9uLmRpc2FibGVkID0gZGlzYWJsZSkpO1xuICAgICAgICBpZiAoZGlzYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5fYnV0dG9ucy5mb3JFYWNoKChidXR0b24pID0+IGJ1dHRvbi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdkaXNhYmxlZCcsICd0cnVlJykpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2NoYW5nZURldFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldEJ1dHRvblZhbHVlKGJ1dHRvbkNvbXBvbmVudDogQnV0dG9uQ29tcG9uZW50KTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBidXR0b25Db21wb25lbnQuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBpZiAoZWxlbWVudCBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudC52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiBSZXR1cm5zIHZhbHVlcyBkZXBlbmRpbmcgb24gc2VsZWN0ZWQgc3RhdGUgb2YgYnV0dG9uc1xuICAgICAqL1xuICAgIHByaXZhdGUgX2dldFZhbHVlc0J5U2VsZWN0ZWQoKTogU2VnbWVudGVkQnV0dG9uVmFsdWUge1xuICAgICAgICBpZiAoIXRoaXMuX2J1dHRvbnMpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlc0J1dHRvbnMgPSB0aGlzLl9idXR0b25zXG4gICAgICAgICAgICAuZmlsdGVyKChidXR0b24pID0+IHRoaXMuX2lzQnV0dG9uU2VsZWN0ZWQoYnV0dG9uKSlcbiAgICAgICAgICAgIC5tYXAoKGJ1dHRvbikgPT4gdGhpcy5fZ2V0QnV0dG9uVmFsdWUoYnV0dG9uKSk7XG4gICAgICAgIGlmICghdGhpcy50b2dnbGUpIHtcbiAgICAgICAgICAgIHJldHVybiByZXNCdXR0b25zLmxlbmd0aCA9PT0gMSA/IHJlc0J1dHRvbnNbMF0gOiBudWxsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHJlc0J1dHRvbnM7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
239
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudGVkLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9zZWdtZW50ZWQtYnV0dG9uL3NlZ21lbnRlZC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc2VnbWVudGVkLWJ1dHRvbi9zZWdtZW50ZWQtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBRUwsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW1CLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFaEUsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLGFBQWEsQ0FBQztBQUk3Qzs7Ozs7Ozs7OztHQVVHO0FBa0JILE1BQU0s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WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO2dCQUN2RCxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osbURBWWdCLG1CQUFtQiw2QkNsRXhDLDZCQUNBOzsyRkR1RGEsd0JBQXdCO2tCQWpCcEMsU0FBUzsrQkFDSSxxQkFBcUIsUUFHekI7d0JBQ0YsSUFBSSxFQUFFLE9BQU87cUJBQ2hCLGlCQUNjLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLENBQUM7NEJBQ3ZELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKOzBKQUtELE1BQU07c0JBREwsS0FBSztnQkFLTix1QkFBdUI7c0JBRHRCLFdBQVc7dUJBQUMsMkJBQTJCO2dCQUt4QyxRQUFRO3NCQURQLGVBQWU7dUJBQUMsbUJBQW1CO2dCQXlCNUIsTUFBTTtzQkFEYixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50LCBGRF9CVVRUT05fQ09NUE9ORU5UIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBmaWx0ZXIsIG9ic2VydmVPbiwgc3RhcnRXaXRoLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGFzeW5jU2NoZWR1bGVyLCBmcm9tRXZlbnQsIG1lcmdlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZXN0cm95T2JzZXJ2YWJsZSwgS2V5VXRpbCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IEVOVEVSLCBTUEFDRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmV4cG9ydCBjb25zdCBpc0Rpc2FibGVkQ2xhc3MgPSAnaXMtZGlzYWJsZWQnO1xuXG5leHBvcnQgdHlwZSBTZWdtZW50ZWRCdXR0b25WYWx1ZSA9IHN0cmluZyB8IChzdHJpbmcgfCBudWxsKVtdIHwgbnVsbDtcblxuLyoqXG4gKiBDb250YWluZXIgZm9yIGdyb3VwZWQgYnV0dG9ucy5cbiAqXG4gKiBgYGBodG1sXG4gKiA8ZmQtc2VnbWVudGVkLWJ1dHRvbiBbKG5nTW9kZWwpXT1cInZhbHVlXCI+XG4gKiAgICAgPGJ1dHRvbiBmZC1idXR0b24gdmFsdWU9XCJmaXJzdFwiPkJ1dHRvbjwvYnV0dG9uPlxuICogICAgIDxidXR0b24gZmQtYnV0dG9uIHZhbHVlPVwic2Vjb25kXCI+QnV0dG9uPC9idXR0b24+XG4gKiAgICAgPGJ1dHRvbiBmZC1idXR0b24gdmFsdWU9XCJ0aGlyZFwiPkJ1dHRvbjwvYnV0dG9uPlxuICogPC9mZC1zZWdtZW50ZWQtYnV0dG9uPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtc2VnbWVudGVkLWJ1dHRvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlZ21lbnRlZC1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlZ21lbnRlZC1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICdncm91cCdcbiAgICB9LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VnbWVudGVkQnV0dG9uQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFNlZ21lbnRlZEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3kge1xuICAgIC8qKiBXaGV0aGVyIHNlZ21lbnRlZCBidXR0b24gaXMgb24gdG9nZ2xlIG1vZGUsIHdoaWNoIGFsbG93cyB0byB0b2dnbGUgbW9yZSB0aGFuIDEgYnV0dG9uICovXG4gICAgQElucHV0KClcbiAgICB0b2dnbGUgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1zZWdtZW50ZWQtYnV0dG9uJylcbiAgICBfZmRTZWdtZW50ZWRCdXR0b25DbGFzcyA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oRkRfQlVUVE9OX0NPTVBPTkVOVClcbiAgICBfYnV0dG9uczogUXVlcnlMaXN0PEJ1dHRvbkNvbXBvbmVudD47XG5cbiAgICAvKipcbiAgICAgKiBWYWx1ZSBvZiBzZWdtZW50ZWQgYnV0dG9uIGNhbiBoYXZlIDIgdHlwZXM6XG4gICAgICogLSBzdHJpbmcsIHdoZW4gdGhlcmUgaXMgbm8gdG9nZ2xlIG1vZGUgYW5kIG9ubHkgMSB2YWx1ZSBjYW4gYmUgY2hvc2VuLlxuICAgICAqIC0gYXJyYXkgb2Ygc3RyaW5ncywgd2hlbiB0aGVyZSBpcyB0b2dnbGUgbW9kZSBhbmQgbW9yZSB0aGFuIDEgdmFsdWUgY2FuIGJlIGNob3Nlbi5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9jdXJyZW50VmFsdWU6IFNlZ21lbnRlZEJ1dHRvblZhbHVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pc0Rpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKiogQW4gUnhKUyBTdWJqZWN0IHRoYXQgd2lsbCBraWxsIHRoZSBkYXRhIHN0cmVhbSB1cG9uIHF1ZXJ5TGlzdCBjaGFuZ2VzIChmb3IgdW5zdWJzY3JpYmluZykgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfb25SZWZyZXNoJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2VEZXRSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmOiBEZXN0cm95UmVmXG4gICAgKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgcHJpdmF0ZSBfY2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldCkpIHtcbiAgICAgICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9uQ2hhbmdlOiAodmFsdWU6IFNlZ21lbnRlZEJ1dHRvblZhbHVlKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9uVG91Y2hlZCA9ICgpOiB2b2lkID0+IHt9O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xpc3RlblRvQnV0dG9uQ2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uUmVmcmVzaCQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHdyaXRlVmFsdWUodmFsdWVzOiBzdHJpbmdbXSB8IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jdXJyZW50VmFsdWUgPSB2YWx1ZXM7XG4gICAgICAgIHRoaXMuX3BpY2tCdXR0b25zQnlWYWx1ZXModmFsdWVzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIGZuIFVzZXIgZGVmaW5lZCBmdW5jdGlvbiB0aGF0IGhhbmRsZXMgdGhlICpvbkNoYW5nZSogZXZlbnQgb2YgdGhlIFNlZ21lbnRlZEJ1dHRvbnMuXG4gICAgICovXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBTZWdtZW50ZWRCdXR0b25WYWx1ZSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBmbiBVc2VyIGRlZmluZWQgZnVuY3Rpb24gdGhhdCBoYW5kbGVzIHRoZSAqb25Ub3VjaCogZXZlbnQgb2YgdGhlIFNlZ21lbnRlZEJ1dHRvbnMuXG4gICAgICovXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIGlzRGlzYWJsZWQgU2V0cyB0aGUgdmFsdWUgb2YgdGhlICpkaXNhYmxlZCogcHJvcGVydHkgb2YgdGhlIFNlZ21lbnRlZEJ1dHRvbnMuXG4gICAgICovXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2lzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgICAgICB0aGlzLl90b2dnbGVEaXNhYmxlQnV0dG9ucyhpc0Rpc2FibGVkKTtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0UmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3RlblRvQnV0dG9uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYnV0dG9ucy5jaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShzdGFydFdpdGgoMSksIG9ic2VydmVPbihhc3luY1NjaGVkdWxlciksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX29uUmVmcmVzaCQubmV4dCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3RvZ2dsZURpc2FibGVCdXR0b25zKHRoaXMuX2lzRGlzYWJsZWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3BpY2tCdXR0b25zQnlWYWx1ZXModGhpcy5fY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9idXR0b25zLmZvckVhY2goKGJ1dHRvbikgPT4gdGhpcy5fbGlzdGVuVG9UcmlnZ2VyRXZlbnRzKGJ1dHRvbikpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Ub1RyaWdnZXJFdmVudHMoYnV0dG9uQ29tcG9uZW50OiBCdXR0b25Db21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaHRtbEVsZW1lbnQgPSBidXR0b25Db21wb25lbnQuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIGNvbnN0IHJlZnJlc2gkID0gbWVyZ2UoZGVzdHJveU9ic2VydmFibGUodGhpcy5fZGVzdHJveVJlZiksIHRoaXMuX29uUmVmcmVzaCQpO1xuXG4gICAgICAgIGNvbnN0IHRyaWdnZXJFdmVudHMkID0gbWVyZ2UoXG4gICAgICAgICAgICBmcm9tRXZlbnQoaHRtbEVsZW1lbnQsICdjbGljaycpLFxuICAgICAgICAgICAgZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KGh0bWxFbGVtZW50LCAna2V5ZG93bicpLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtFTlRFUiwgU1BBQ0VdKSksXG4gICAgICAgICAgICAgICAgdGFwKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG5cbiAgICAgICAgdHJpZ2dlckV2ZW50cyQucGlwZSh0YWtlVW50aWwocmVmcmVzaCQpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5faGFuZGxlVHJpZ2dlck9uQnV0dG9uKGJ1dHRvbkNvbXBvbmVudCkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaGFuZGxlVHJpZ2dlck9uQnV0dG9uKGJ1dHRvbkNvbXBvbmVudDogQnV0dG9uQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5faXNCdXR0b25EaXNhYmxlZChidXR0b25Db21wb25lbnQpKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX2lzQnV0dG9uU2VsZWN0ZWQoYnV0dG9uQ29tcG9uZW50KSAmJiAhdGhpcy50b2dnbGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9idXR0b25zLmZvckVhY2goKGJ1dHRvbikgPT4gdGhpcy5fZGVzZWxlY3RCdXR0b24oYnV0dG9uKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0QnV0dG9uKGJ1dHRvbkNvbXBvbmVudCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcHJvcGFnYXRlQ2hhbmdlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0UmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy50b2dnbGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl90b2dnbGVCdXR0b24oYnV0dG9uQ29tcG9uZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLl9wcm9wYWdhdGVDaGFuZ2UoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Byb3BhZ2F0ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLl9nZXRWYWx1ZXNCeVNlbGVjdGVkKCkpO1xuICAgICAgICB0aGlzLl9jdXJyZW50VmFsdWUgPSB0aGlzLl9nZXRWYWx1ZXNCeVNlbGVjdGVkKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90b2dnbGVCdXR0b24oYnV0dG9uQ29tcG9uZW50OiBCdXR0b25Db21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2lzQnV0dG9uU2VsZWN0ZWQoYnV0dG9uQ29tcG9uZW50KSkge1xuICAgICAgICAgICAgdGhpcy5fZGVzZWxlY3RCdXR0b24oYnV0dG9uQ29tcG9uZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdEJ1dHRvbihidXR0b25Db21wb25lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9waWNrQnV0dG9uc0J5VmFsdWVzKHZhbHVlczogU2VnbWVudGVkQnV0dG9uVmFsdWUpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9idXR0b25zKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fYnV0dG9ucy5mb3JFYWNoKChidXR0b24pID0+IHRoaXMuX2Rlc2VsZWN0QnV0dG9uKGJ1dHRvbikpO1xuICAgICAgICB0aGlzLl9nZXRCdXR0b25zQnlWYWx1ZXModmFsdWVzKS5mb3JFYWNoKChidXR0b24pID0+IHRoaXMuX3NlbGVjdEJ1dHRvbihidXR0b24pKTtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0UmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldEJ1dHRvbnNCeVZhbHVlcyh2YWx1ZXM6IFNlZ21lbnRlZEJ1dHRvblZhbHVlKTogQnV0dG9uQ29tcG9uZW50W10ge1xuICAgICAgICBpZiAoIXZhbHVlcykge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWVzKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2J1dHRvbnMuZmlsdGVyKChidXR0b24pID0+ICEhdmFsdWVzLmZpbmQoKHZhbHVlKSA9PiB0aGlzLl9nZXRCdXR0b25WYWx1ZShidXR0b24pID09PSB2YWx1ZSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2J1dHRvbnMuZmlsdGVyKChidXR0b24pID0+IHRoaXMuX2dldEJ1dHRvblZhbHVlKGJ1dHRvbikgPT09IHZhbHVlcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NlbGVjdEJ1dHRvbihidXR0b25Db21wb25lbnQ6IEJ1dHRvbkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBidXR0b25Db21wb25lbnQudG9nZ2xlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZXNlbGVjdEJ1dHRvbihidXR0b25Db21wb25lbnQ6IEJ1dHRvbkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBidXR0b25Db21wb25lbnQudG9nZ2xlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXNCdXR0b25TZWxlY3RlZChidXR0b25Db21wb25lbnQ6IEJ1dHRvbkNvbXBvbmVudCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gYnV0dG9uQ29tcG9uZW50LnRvZ2dsZWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pc0J1dHRvbkRpc2FibGVkKGJ1dHRvbkNvbXBvbmVudDogQnV0dG9uQ29tcG9uZW50KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBidXR0b25Db21wb25lbnQuX2Rpc2FibGVkIHx8IGJ1dHRvbkNvbXBvbmVudC5hcmlhRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90b2dnbGVEaXNhYmxlQnV0dG9ucyhkaXNhYmxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fYnV0dG9ucykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fYnV0dG9ucy5mb3JFYWNoKChidXR0b24pID0+IChidXR0b24uZGlzYWJsZWQgPSBkaXNhYmxlKSk7XG4gICAgICAgIGlmIChkaXNhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLl9idXR0b25zLmZvckVhY2goKGJ1dHRvbikgPT4gYnV0dG9uLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgJ3RydWUnKSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0UmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0QnV0dG9uVmFsdWUoYnV0dG9uQ29tcG9uZW50OiBCdXR0b25Db21wb25lbnQpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IGJ1dHRvbkNvbXBvbmVudC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGlmIChlbGVtZW50IGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50LnZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBlbGVtZW50LmdldEF0dHJpYnV0ZSgndmFsdWUnKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlblxuICAgICAqIFJldHVybnMgdmFsdWVzIGRlcGVuZGluZyBvbiBzZWxlY3RlZCBzdGF0ZSBvZiBidXR0b25zXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2V0VmFsdWVzQnlTZWxlY3RlZCgpOiBTZWdtZW50ZWRCdXR0b25WYWx1ZSB7XG4gICAgICAgIGlmICghdGhpcy5fYnV0dG9ucykge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzQnV0dG9ucyA9IHRoaXMuX2J1dHRvbnNcbiAgICAgICAgICAgIC5maWx0ZXIoKGJ1dHRvbikgPT4gdGhpcy5faXNCdXR0b25TZWxlY3RlZChidXR0b24pKVxuICAgICAgICAgICAgLm1hcCgoYnV0dG9uKSA9PiB0aGlzLl9nZXRCdXR0b25WYWx1ZShidXR0b24pKTtcbiAgICAgICAgaWYgKCF0aGlzLnRvZ2dsZSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc0J1dHRvbnMubGVuZ3RoID09PSAxID8gcmVzQnV0dG9uc1swXSA6IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzQnV0dG9ucztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
|