@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,13 +1,14 @@
|
|
|
1
1
|
import { CdkPortalOutlet, DomPortal } from '@angular/cdk/portal';
|
|
2
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, ElementRef, inject, Input, QueryList, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import {
|
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, DestroyRef, ElementRef, inject, Input, QueryList, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
3
|
+
import { resizeObservable } from '@fundamental-ngx/cdk/utils';
|
|
4
4
|
import { FD_BUTTON_COMPONENT } from '@fundamental-ngx/core/button';
|
|
5
5
|
import { FD_COMBOBOX_COMPONENT } from '@fundamental-ngx/core/combobox';
|
|
6
6
|
import { ContentDensityMode, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';
|
|
7
7
|
import equal from 'fast-deep-equal';
|
|
8
|
-
import { BehaviorSubject, debounceTime, distinctUntilChanged
|
|
8
|
+
import { BehaviorSubject, debounceTime, distinctUntilChanged } from 'rxjs';
|
|
9
9
|
import { ShellbarActionsComponent } from './shellbar-actions/shellbar-actions.component';
|
|
10
10
|
import { FD_SHELLBAR_COMPONENT, FD_SHELLBAR_SEARCH_COMPONENT } from './tokens';
|
|
11
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
import * as i1 from "@angular/common";
|
|
13
14
|
import * as i2 from "@angular/cdk/portal";
|
|
@@ -35,7 +36,7 @@ export class ShellbarComponent {
|
|
|
35
36
|
/** @hidden */
|
|
36
37
|
this._cd = inject(ChangeDetectorRef);
|
|
37
38
|
/** @hidden */
|
|
38
|
-
this.
|
|
39
|
+
this._destroyRef = inject(DestroyRef);
|
|
39
40
|
/** @hidden */
|
|
40
41
|
this._breakpoints = this._normalizeBreakpoints({
|
|
41
42
|
s: 0,
|
|
@@ -99,7 +100,9 @@ export class ShellbarComponent {
|
|
|
99
100
|
removeGroupButtonClass: true
|
|
100
101
|
};
|
|
101
102
|
this._searchSubmitSubscription?.unsubscribe();
|
|
102
|
-
this._searchSubmitSubscription = component.searchSubmit
|
|
103
|
+
this._searchSubmitSubscription = component.searchSubmit
|
|
104
|
+
.pipe(takeUntilDestroyed(this._destroyRef))
|
|
105
|
+
.subscribe((state) => {
|
|
103
106
|
if (!state.text) {
|
|
104
107
|
this._showMobileSearch = false;
|
|
105
108
|
this._actions._setSearchVisibility(false);
|
|
@@ -131,7 +134,7 @@ export class ShellbarComponent {
|
|
|
131
134
|
/** @hidden */
|
|
132
135
|
ngAfterViewInit() {
|
|
133
136
|
resizeObservable(this._shellbar.nativeElement)
|
|
134
|
-
.pipe(debounceTime(10),
|
|
137
|
+
.pipe(debounceTime(10), takeUntilDestroyed(this._destroyRef))
|
|
135
138
|
.subscribe(() => this._setCurrentBreakpoint());
|
|
136
139
|
this._setSearchComponentListeners();
|
|
137
140
|
}
|
|
@@ -142,7 +145,7 @@ export class ShellbarComponent {
|
|
|
142
145
|
}
|
|
143
146
|
/** @hidden */
|
|
144
147
|
_setSearchComponentListeners() {
|
|
145
|
-
this._actions?.searchOpen.pipe(
|
|
148
|
+
this._actions?.searchOpen.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((showSearch) => {
|
|
146
149
|
this._showMobileSearch = showSearch;
|
|
147
150
|
this._cd.detectChanges();
|
|
148
151
|
if (this._currentSize !== 's') {
|
|
@@ -155,7 +158,7 @@ export class ShellbarComponent {
|
|
|
155
158
|
this._detachSearch();
|
|
156
159
|
}
|
|
157
160
|
});
|
|
158
|
-
this._currentSize$.pipe(distinctUntilChanged(),
|
|
161
|
+
this._currentSize$.pipe(distinctUntilChanged(), takeUntilDestroyed(this._destroyRef)).subscribe((size) => {
|
|
159
162
|
if (!this._searchPortal) {
|
|
160
163
|
return;
|
|
161
164
|
}
|
|
@@ -240,7 +243,6 @@ export class ShellbarComponent {
|
|
|
240
243
|
}
|
|
241
244
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: ShellbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
242
245
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: ShellbarComponent, selector: "fd-shellbar", inputs: { size: "size", breakpoints: "breakpoints", sideNav: "sideNav", groupFlex: "groupFlex" }, providers: [
|
|
243
|
-
DestroyedService,
|
|
244
246
|
contentDensityObserverProviders({
|
|
245
247
|
supportedContentDensity: [ContentDensityMode.COZY],
|
|
246
248
|
restrictChildContentDensity: true
|
|
@@ -254,7 +256,6 @@ export class ShellbarComponent {
|
|
|
254
256
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: ShellbarComponent, decorators: [{
|
|
255
257
|
type: Component,
|
|
256
258
|
args: [{ selector: 'fd-shellbar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
257
|
-
DestroyedService,
|
|
258
259
|
contentDensityObserverProviders({
|
|
259
260
|
supportedContentDensity: [ContentDensityMode.COZY],
|
|
260
261
|
restrictChildContentDensity: true
|
|
@@ -291,4 +292,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
291
292
|
type: ViewChild,
|
|
292
293
|
args: ['shellbar']
|
|
293
294
|
}] } });
|
|
294
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGxiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc2hlbGxiYXIvc2hlbGxiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc2hlbGxiYXIvc2hlbGxiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBR0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQVksZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQXFCLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFNUcsT0FBTyxLQUFLLE1BQU0saUJBQWlCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7O0FBSS9FOzs7O0dBSUc7QUFtQkgsTUFBTSxPQUFPLGlCQUFpQjtJQWxCOUI7UUFzQ0k7Ozs7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O2tCQWxCN0IsU0FBUzsrQkFDSSxhQUFhLGlCQUdSLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1AsZ0JBQWdCO3dCQUNoQiwrQkFBK0IsQ0FBQzs0QkFDNUIsdUJBQXVCLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7NEJBQ2xELDJCQUEyQixFQUFFLElBQUk7eUJBQ3BDLENBQUM7d0JBQ0Y7NEJBQ0ksT0FBTyxFQUFFLHFCQUFxQjs0QkFDOUIsV0FBVyxtQkFBbUI7eUJBQ2pDO3FCQUNKOzhCQUtHLElBQUk7c0JBRFAsS0FBSztnQkFhRixXQUFXO3NCQURkLEtBQUs7Z0JBYU4sT0FBTztzQkFETixLQUFLO2dCQU9GLFNBQVM7c0JBRFosS0FBSztnQkFtQk4saUJBQWlCO3NCQURoQixZQUFZO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFLdEQsT0FBTztzQkFETixlQUFlO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFLbEQsUUFBUTtzQkFEZixZQUFZO3VCQUFDLHdCQUF3QjtnQkFRckIsbUJBQW1CO3NCQURuQyxTQUFTO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFO2dCQU9yRSxlQUFlO3NCQURsQixZQUFZO3VCQUFDLDRCQUE0QixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQWlEL0QsU0FBUztzQkFEekIsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrUG9ydGFsT3V0bGV0LCBEb21Qb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJveWVkU2VydmljZSwgTnVsbGFibGUsIHJlc2l6ZU9ic2VydmFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBGRF9CVVRUT05fQ09NUE9ORU5UIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBDb21ib2JveEludGVyZmFjZSwgRkRfQ09NQk9CT1hfQ09NUE9ORU5UIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbWJvYm94JztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5TW9kZSwgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NoYXJlZCc7XG5pbXBvcnQgZXF1YWwgZnJvbSAnZmFzdC1kZWVwLWVxdWFsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgU3Vic2NyaXB0aW9uLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNoZWxsYmFyQWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vc2hlbGxiYXItYWN0aW9ucy9zaGVsbGJhci1hY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGRF9TSEVMTEJBUl9DT01QT05FTlQsIEZEX1NIRUxMQkFSX1NFQVJDSF9DT01QT05FTlQgfSBmcm9tICcuL3Rva2Vucyc7XG5pbXBvcnQgeyBTaWRlTmF2aWdhdGlvbkludGVyZmFjZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zaWRlLW5hdmlnYXRpb24nO1xuaW1wb3J0IHsgQnJlYWtwb2ludHMsIE5vcm1hbGl6ZWRCcmVha3BvaW50LCBTaGVsbGJhckdyb3VwRmxleE9wdGlvbnMsIFNoZWxsYmFyU2l6ZXMgfSBmcm9tICcuL21vZGVsL3NoZWxsYmFyLXNpemVzJztcblxuLyoqXG4gKiBUaGUgc2hlbGxiYXIgb2ZmZXJzIGNvbnNpc3RlbnQsIHJlc3BvbnNpdmUgbmF2aWdhdGlvbiBhY3Jvc3MgYWxsIHByb2R1Y3RzIGFuZCBhcHBsaWNhdGlvbnMuXG4gKiBJbmNsdWRlcyBzdXBwb3J0IGZvciBicmFuZGluZywgcHJvZHVjdCBuYXZpZ2F0aW9uLCBzZWFyY2gsIG5vdGlmaWNhdGlvbnMsIGFuZCB1c2VyIHNldHRpbmdzLlxuICogU2hlbGxiYXIgaXMgYSBjb21wb3NpdGUgY29tcG9uZW50IGNvbXByaXNlZCBvZiBtYW5kYXRvcnkgYW5kIG9wdGlvbmFsIGVsZW1lbnRzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLXNoZWxsYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2hlbGxiYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NoZWxsYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgRGVzdHJveWVkU2VydmljZSxcbiAgICAgICAgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycyh7XG4gICAgICAgICAgICBzdXBwb3J0ZWRDb250ZW50RGVuc2l0eTogW0NvbnRlbnREZW5zaXR5TW9kZS5DT1pZXSxcbiAgICAgICAgICAgIHJlc3RyaWN0Q2hpbGRDb250ZW50RGVuc2l0eTogdHJ1ZVxuICAgICAgICB9KSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRfU0hFTExCQVJfQ09NUE9ORU5ULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFNoZWxsYmFyQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFNoZWxsYmFyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogU2l6ZSBvZiBTaGVsbGJhciBjb21wb25lbnQgJ3MnIHwgJ20nIHwgJ2wnIHwgJ3hsJyAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNpemUodmFsdWU6IFNoZWxsYmFyU2l6ZXMgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fc2l6ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9jdXJyZW50U2l6ZSQubmV4dCh0aGlzLl9jdXJyZW50U2l6ZSk7XG4gICAgfVxuICAgIGdldCBzaXplKCk6IFNoZWxsYmFyU2l6ZXMgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2l6ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXNwb25zaXZlIGJyZWFrcG9pbnRzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGJyZWFrcG9pbnRzKGJyZWFrcG9pbnRzOiBCcmVha3BvaW50cykge1xuICAgICAgICB0aGlzLl9icmVha3BvaW50cyA9IHRoaXMuX25vcm1hbGl6ZUJyZWFrcG9pbnRzKGJyZWFrcG9pbnRzKTtcbiAgICAgICAgdGhpcy5fc2V0Q3VycmVudEJyZWFrcG9pbnQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBTaGVsbGJhciBpcyB1c2VkIHdpdGggU2lkZSBOYXZpZ2F0aW9uLlxuICAgICAqIFdoZW4gc2V0IHRvIHRydWUsIHRoZSByZXNwb25zaXZlIHBhZGRpbmdzIGFyZSBub3QgYXBwbGllZC5cbiAgICAgKiBDYW4gYWxzbyBhY2NlcHQgYSB0ZW1wbGF0ZSB2YXJpYWJsZSByZWZlcnJpbmcgdG8gYSBTaWRlTmF2aWdhdGlvbkludGVyZmFjZSAoZmQtc2lkZS1uYXYgb3IgZmR4LXNpZGUtbmF2KSwgYW5kXG4gICAgICogd2lsbCBhZGQgdGhlIGNvcnJlc3BvbmRpbmcgY2xhc3MuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzaWRlTmF2OiBib29sZWFuIHwgU2lkZU5hdmlnYXRpb25JbnRlcmZhY2UgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFNoZWxsYmFyIGdyb3VwIGZsZXggY29uZmlndXJhdGlvbi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBncm91cEZsZXgodmFsdWU6IE51bGxhYmxlPFNoZWxsYmFyR3JvdXBGbGV4T3B0aW9ucz4pIHtcbiAgICAgICAgaWYgKGVxdWFsKHZhbHVlLCB0aGlzLl9ncm91cEZsZXgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9ncm91cEZsZXggPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIGdldCBncm91cEZsZXgoKTogTnVsbGFibGU8U2hlbGxiYXJHcm91cEZsZXhPcHRpb25zPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ncm91cEZsZXg7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9ncm91cEZsZXg6IE51bGxhYmxlPFNoZWxsYmFyR3JvdXBGbGV4T3B0aW9ucz47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoRkRfQ09NQk9CT1hfQ09NUE9ORU5ULCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBjb21ib2JveENvbXBvbmVudDogQ29tYm9ib3hJbnRlcmZhY2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oRkRfQlVUVE9OX0NPTVBPTkVOVCwgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gICAgYnV0dG9uczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKFNoZWxsYmFyQWN0aW9uc0NvbXBvbmVudClcbiAgICBwcml2YXRlIF9hY3Rpb25zOiBTaGVsbGJhckFjdGlvbnNDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NlYXJjaFBvcnRhbDogRG9tUG9ydGFsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdzZWFyY2hQb3J0YWxPdXRsZXQnLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IENka1BvcnRhbE91dGxldCB9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3NlYXJjaFBvcnRhbE91dGxldDogQ2RrUG9ydGFsT3V0bGV0O1xuXG4gICAgLyoqXG4gICAgICogU2VhcmNoIGNvbXBvbmVudCBwbGFjZWQgaW5zaWRlIHRoZSBzaGVsbGJhclxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoRkRfU0hFTExCQVJfU0VBUkNIX0NPTVBPTkVOVCwgeyBkZXNjZW5kYW50czogdHJ1ZSwgc3RhdGljOiBmYWxzZSB9KVxuICAgIHNldCBzZWFyY2hDb21wb25lbnQoY29tcG9uZW50OiBOdWxsYWJsZTxTZWFyY2hDb21wb25lbnQ+KSB7XG4gICAgICAgIHRoaXMuX3NlYXJjaENvbXBvbmVudCA9IGNvbXBvbmVudDtcbiAgICAgICAgaWYgKCFjb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9zZWFyY2hQb3J0YWw/LmlzQXR0YWNoZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlYXJjaFBvcnRhbC5kZXRhY2goKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3NlYXJjaFBvcnRhbCA9IG5ldyBEb21Qb3J0YWwoY29tcG9uZW50LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIGNvbXBvbmVudC5jYXRlZ29yeU1vZGUgPSAnc2VsZWN0JztcbiAgICAgICAgY29tcG9uZW50LmRpc2FibGVSZWZyZXNoID0gdHJ1ZTtcbiAgICAgICAgY29tcG9uZW50LmZvcmNlU2VhcmNoQnV0dG9uID0gdHJ1ZTtcbiAgICAgICAgY29tcG9uZW50LmFwcGVhcmFuY2UgPSB7XG4gICAgICAgICAgICBzZWFyY2hDbGFzczogJ2ZkLXNoZWxsYmFyX19zZWFyY2gtZmllbGQnLFxuICAgICAgICAgICAgc2VhcmNoRmllbGRDbGFzczogJ2ZkLXNoZWxsYmFyX19zZWFyY2gtZmllbGQtaW5wdXQnLFxuICAgICAgICAgICAgc2VhcmNoQ2F0ZWdvcnlDbGFzczogJ2ZkLXNoZWxsYmFyX19zZWFyY2gtZmllbGQtY2F0ZWdvcnknLFxuICAgICAgICAgICAgc2VhcmNoU3VibWl0Q2xhc3M6ICdmZC1zaGVsbGJhcl9fc2VhcmNoLXN1Ym1pdCcsXG4gICAgICAgICAgICBidXR0b25DbGFzczogJ2ZkLXNoZWxsYmFyX19idXR0b24nLFxuICAgICAgICAgICAgYWRkb25DbGFzczogJ2ZkLXNoZWxsYmFyX19zZWFyY2gtZmllbGQtYWRkb24nLFxuICAgICAgICAgICAgY2F0ZWdvcnlCdXR0b25DbGFzczogJ2ZkLXNoZWxsYmFyX19zZWFyY2gtY2F0ZWdvcnknLFxuICAgICAgICAgICAgY2F0ZWdvcnlEcm9wZG93bkJ1dHRvbkNsYXNzOiAnZmQtc2hlbGxiYXJfX3NlYXJjaC1kcm9wZG93bicsXG4gICAgICAgICAgICByZW1vdmVHcm91cEJ1dHRvbkNsYXNzOiB0cnVlXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5fc2VhcmNoU3VibWl0U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuXG4gICAgICAgIHRoaXMuX3NlYXJjaFN1Ym1pdFN1YnNjcmlwdGlvbiA9IGNvbXBvbmVudC5zZWFyY2hTdWJtaXQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXN0YXRlLnRleHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zaG93TW9iaWxlU2VhcmNoID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5fYWN0aW9ucy5fc2V0U2VhcmNoVmlzaWJpbGl0eShmYWxzZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgZ2V0IHNlYXJjaENvbXBvbmVudCgpOiBOdWxsYWJsZTxTZWFyY2hDb21wb25lbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlYXJjaENvbXBvbmVudDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NlYXJjaENvbXBvbmVudDogTnVsbGFibGU8U2VhcmNoQ29tcG9uZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnc2hlbGxiYXInKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3NoZWxsYmFyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF9oaWRlVGl0bGVDb21wb25lbnRzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY3VycmVudFNpemUgIT09ICd4bCcgJiYgdGhpcy5fY3VycmVudFNpemUgIT09ICdsJyAmJiB0aGlzLl9zaG93TW9iaWxlU2VhcmNoO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF9oaWRlQWxsQ29tcG9uZW50cygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRTaXplID09PSAncycgJiYgdGhpcy5fc2hvd01vYmlsZVNlYXJjaDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfY3VycmVudFNpemUoKTogU2hlbGxiYXJTaXplcyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaXplIHx8IHRoaXMuX2JyZWFrcG9pbnRTaXplO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY3VycmVudFNpemUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTaGVsbGJhclNpemVzPih0aGlzLl9jdXJyZW50U2l6ZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zaG93TW9iaWxlU2VhcmNoID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NpemU6IFNoZWxsYmFyU2l6ZXMgfCB1bmRlZmluZWQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2JyZWFrcG9pbnRTaXplOiBTaGVsbGJhclNpemVzID0gJ20nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jZCA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gaW5qZWN0KERlc3Ryb3llZFNlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9icmVha3BvaW50czogTm9ybWFsaXplZEJyZWFrcG9pbnRbXSA9IHRoaXMuX25vcm1hbGl6ZUJyZWFrcG9pbnRzKHtcbiAgICAgICAgczogMCxcbiAgICAgICAgbTogMzIwLFxuICAgICAgICBsOiA2MDAsXG4gICAgICAgIHhsOiAxMjQwXG4gICAgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NlYXJjaFN1Ym1pdFN1YnNjcmlwdGlvbjogTnVsbGFibGU8U3Vic2NyaXB0aW9uPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFwcGx5U2hlbGxiYXJNb2RlVG9Db21ib2JveCgpO1xuICAgICAgICB0aGlzLmFwcGx5U2hlbGxiYXJNb2RlVG9CdXR0b25zKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHJlc2l6ZU9ic2VydmFibGUodGhpcy5fc2hlbGxiYXIubmF0aXZlRWxlbWVudClcbiAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMCksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3NldEN1cnJlbnRCcmVha3BvaW50KCkpO1xuXG4gICAgICAgIHRoaXMuX3NldFNlYXJjaENvbXBvbmVudExpc3RlbmVycygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NlYXJjaFN1Ym1pdFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fc2VhcmNoUG9ydGFsT3V0bGV0Py5kaXNwb3NlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXRTZWFyY2hDb21wb25lbnRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2FjdGlvbnM/LnNlYXJjaE9wZW4ucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKHNob3dTZWFyY2gpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3Nob3dNb2JpbGVTZWFyY2ggPSBzaG93U2VhcmNoO1xuICAgICAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRTaXplICE9PSAncycpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzaG93U2VhcmNoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fYXR0YWNoU2VhcmNoKHRydWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9kZXRhY2hTZWFyY2goKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRTaXplJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgoc2l6ZSkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9zZWFyY2hQb3J0YWwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzaXplID09PSAneGwnIHx8IChzaXplID09PSAncycgJiYgdGhpcy5fc2hvd01vYmlsZVNlYXJjaCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9hdHRhY2hTZWFyY2goKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGV0YWNoU2VhcmNoKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgYXBwbHlTaGVsbGJhck1vZGVUb0NvbWJvYm94KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb21ib2JveENvbXBvbmVudCkge1xuICAgICAgICAgICAgdGhpcy5jb21ib2JveENvbXBvbmVudC5pblNoZWxsYmFyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgYXBwbHlTaGVsbGJhck1vZGVUb0J1dHRvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYnV0dG9ucz8uZm9yRWFjaCgoYnV0dG9uKSA9PiB7XG4gICAgICAgICAgICBidXR0b24ubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdmZC1zaGVsbGJhcl9fYnV0dG9uJyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2Nsb3NlTW9iaWxlU2VhcmNoKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zaG93TW9iaWxlU2VhcmNoID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2FjdGlvbnMuX3NldFNlYXJjaFZpc2liaWxpdHkoZmFsc2UpO1xuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZ2V0U2lkZU5hdkNsYXNzKCk6IHN0cmluZyB7XG4gICAgICAgIGxldCByZXRWYWwgPSAnICc7XG5cbiAgICAgICAgaWYgKHRoaXMuc2lkZU5hdiAmJiAodGhpcy5zaWRlTmF2IGFzIFNpZGVOYXZpZ2F0aW9uSW50ZXJmYWNlKS5hZGRpdGlvbmFsU2hlbGxiYXJDc3NDbGFzcykge1xuICAgICAgICAgICAgcmV0VmFsICs9ICh0aGlzLnNpZGVOYXYgYXMgU2lkZU5hdmlnYXRpb25JbnRlcmZhY2UpLmFkZGl0aW9uYWxTaGVsbGJhckNzc0NsYXNzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJldFZhbDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldEN1cnJlbnRCcmVha3BvaW50KCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHdpZHRoIH0gPSB0aGlzLl9zaGVsbGJhci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgIGNvbnN0IGJyZWFrcG9pbnQgPSB0aGlzLl9icmVha3BvaW50cy5maW5kKChpdGVtKSA9PiB3aWR0aCA+PSBpdGVtLm1pbiAmJiB3aWR0aCA8IGl0ZW0ubWF4ICsgMSk7XG5cbiAgICAgICAgaWYgKCFicmVha3BvaW50IHx8IGJyZWFrcG9pbnQuc2l6ZSA9PT0gdGhpcy5fY3VycmVudFNpemUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2JyZWFrcG9pbnRTaXplID0gYnJlYWtwb2ludC5zaXplO1xuICAgICAgICB0aGlzLl9jdXJyZW50U2l6ZSQubmV4dCh0aGlzLl9jdXJyZW50U2l6ZSk7XG4gICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX25vcm1hbGl6ZUJyZWFrcG9pbnRzKGJyZWFrcG9pbnRzOiBCcmVha3BvaW50cyk6IE5vcm1hbGl6ZWRCcmVha3BvaW50W10ge1xuICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoYnJlYWtwb2ludHMpIGFzIFNoZWxsYmFyU2l6ZXNbXTtcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZEJyZWFrcG9pbnRzOiBOb3JtYWxpemVkQnJlYWtwb2ludFtdID0gW107XG5cbiAgICAgICAga2V5cy5mb3JFYWNoKChrZXksIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBicmVha3BvaW50OiBOb3JtYWxpemVkQnJlYWtwb2ludCA9IHtcbiAgICAgICAgICAgICAgICBzaXplOiBrZXksXG4gICAgICAgICAgICAgICAgbWluOiBicmVha3BvaW50c1trZXldLFxuICAgICAgICAgICAgICAgIG1heDoga2V5c1tpbmRleCArIDFdID8gYnJlYWtwb2ludHNba2V5c1tpbmRleCArIDFdXSA6IEluZmluaXR5XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBub3JtYWxpemVkQnJlYWtwb2ludHMucHVzaChicmVha3BvaW50KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZWRCcmVha3BvaW50cztcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2F0dGFjaFNlYXJjaChzaG91bGRGb2N1cyA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9zZWFyY2hQb3J0YWxPdXRsZXQ/Lmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2FjdGlvbnMuX2RldGFjaFNlYXJjaCgpO1xuICAgICAgICB0aGlzLl9zZWFyY2hQb3J0YWxPdXRsZXQ/LmF0dGFjaCh0aGlzLl9zZWFyY2hQb3J0YWwpO1xuXG4gICAgICAgIGlmIChzaG91bGRGb2N1cykge1xuICAgICAgICAgICAgdGhpcy5fc2VhcmNoQ29tcG9uZW50Py5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZXRhY2hTZWFyY2goKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fc2VhcmNoUG9ydGFsT3V0bGV0Py5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLl9hY3Rpb25zLl9hdHRhY2hTZWFyY2godGhpcy5fc2VhcmNoUG9ydGFsLCB0aGlzLl9zZWFyY2hDb21wb25lbnQsIHRoaXMuX2N1cnJlbnRTaXplKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3NlYXJjaFBvcnRhbE91dGxldC5kZXRhY2goKTtcblxuICAgICAgICB0aGlzLl9hY3Rpb25zLl9hdHRhY2hTZWFyY2godGhpcy5fc2VhcmNoUG9ydGFsLCB0aGlzLl9zZWFyY2hDb21wb25lbnQsIHRoaXMuX2N1cnJlbnRTaXplKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJmZC1zaGVsbGJhclwiXG4gICAgW2NsYXNzXT1cIidmZC1zaGVsbGJhci0tJyArIF9jdXJyZW50U2l6ZSArIF9nZXRTaWRlTmF2Q2xhc3MoKVwiXG4gICAgW2NsYXNzLmZkLXNoZWxsYmFyLS1zaWRlLW5hdl09XCJzaWRlTmF2ID09PSB0cnVlXCJcbiAgICAjc2hlbGxiYXJcbj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZmQtc2hlbGxiYXJfX2dyb3VwIGZkLXNoZWxsYmFyX19ncm91cC0tcHJvZHVjdFwiXG4gICAgICAgIFtjbGFzcy5mZC1zaGVsbGJhcl9fZ3JvdXAtLXNocmlua109XCJncm91cEZsZXg/LnByb2R1Y3Q/LnNocmlua1wiXG4gICAgICAgIFtjbGFzcy5mZC1zaGVsbGJhcl9fZ3JvdXAtLWJhc2lzLWF1dG9dPVwiZ3JvdXBGbGV4Py5wcm9kdWN0Py5mbGV4QmFzaXNBdXRvXCJcbiAgICAgICAgKm5nSWY9XCIhX2hpZGVBbGxDb21wb25lbnRzXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC1zaGVsbGJhci1zaWRlLW5hdl1cIj48L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmQtc2hlbGxiYXItbG9nb1wiPjwvbmctY29udGVudD5cblxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmZC1zaGVsbGJhci10aXRsZVwiICpuZ0lmPVwiIV9oaWRlVGl0bGVDb21wb25lbnRzXCI+PC9uZy1jb250ZW50PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC1zaGVsbGJhcl9fcHJvZHVjdFwiICpuZ0lmPVwiIV9oaWRlVGl0bGVDb21wb25lbnRzXCI+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmZC1wcm9kdWN0LW1lbnVcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLXNoZWxsYmFyLXN1YnRpdGxlXCIgKm5nSWY9XCIhX2hpZGVUaXRsZUNvbXBvbmVudHNcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBoaWRkZW4+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZmQtc2hlbGxiYXJfX2dyb3VwIGZkLXNoZWxsYmFyX19ncm91cC0tY2VudGVyIGZkLXNoZWxsYmFyX19ncm91cC0tbW9iaWxlLWZsZXhcIlxuICAgICAgICBbY2xhc3MuZmQtc2hlbGxiYXJfX2dyb3VwLS1zaHJpbmtdPVwiZ3JvdXBGbGV4Py5zZWFyY2g/LnNocmlua1wiXG4gICAgICAgIFtjbGFzcy5mZC1zaGVsbGJhcl9fZ3JvdXAtLWJhc2lzLWF1dG9dPVwiZ3JvdXBGbGV4Py5zZWFyY2g/LmZsZXhCYXNpc0F1dG9cIlxuICAgICAgICAqbmdJZj1cInNlYXJjaENvbXBvbmVudFwiXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtc2hlbGxiYXJfX2FjdGlvbiBmZC1zaGVsbGJhcl9fYWN0aW9uLS1ncm93XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIGNka1BvcnRhbE91dGxldCAjc2VhcmNoUG9ydGFsT3V0bGV0PjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJfY3VycmVudFNpemUgPT09ICd4bCcgfHwgX2hpZGVBbGxDb21wb25lbnRzXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmQtc2hlbGxiYXJfX2FjdGlvbiBmZC1zaGVsbGJhcl9fYWN0aW9uLS1tb2JpbGUgZmQtc2hlbGxiYXJfX2FjdGlvbi0tc2hyaW5rXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImZkLWJ1dHRvbiBmZC1idXR0b24tLXRyYW5zcGFyZW50XCIgKGNsaWNrKT1cIl9jbG9zZU1vYmlsZVNlYXJjaCgpXCI+XG4gICAgICAgICAgICAgICAge3sgJ2NvcmVTaGVsbGJhci5jYW5jZWwnIHwgZmRUcmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLXNoZWxsYmFyLWFjdGlvbnNcIiAqbmdJZj1cIiFfaGlkZUFsbENvbXBvbmVudHNcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
|
|
295
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGxiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc2hlbGxiYXIvc2hlbGxiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc2hlbGxiYXIvc2hlbGxiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBR0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBRUwsU0FBUyxFQUNULFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFZLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFxQixxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTVHLE9BQU8sS0FBSyxNQUFNLGlCQUFpQixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN6RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBRWhFOzs7O0dBSUc7QUFrQkgs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cUhDdEgzRSx3OURBZ0RBOzsyRkRLYSxpQkFBaUI7a0JBakI3QixTQUFTOytCQUNJLGFBQWEsaUJBR1IsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUCwrQkFBK0IsQ0FBQzs0QkFDNUIsdUJBQXVCLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7NEJBQ2xELDJCQUEyQixFQUFFLElBQUk7eUJBQ3BDLENBQUM7d0JBQ0Y7NEJBQ0ksT0FBTyxFQUFFLHFCQUFxQjs0QkFDOUIsV0FBVyxtQkFBbUI7eUJBQ2pDO3FCQUNKOzhCQUtHLElBQUk7c0JBRFAsS0FBSztnQkFhRixXQUFXO3NCQURkLEtBQUs7Z0JBYU4sT0FBTztzQkFETixLQUFLO2dCQU9GLFNBQVM7c0JBRFosS0FBSztnQkFtQk4saUJBQWlCO3NCQURoQixZQUFZO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFLdEQsT0FBTztzQkFETixlQUFlO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFLbEQsUUFBUTtzQkFEZixZQUFZO3VCQUFDLHdCQUF3QjtnQkFRckIsbUJBQW1CO3NCQURuQyxTQUFTO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFO2dCQU9yRSxlQUFlO3NCQURsQixZQUFZO3VCQUFDLDRCQUE0QixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQW1EL0QsU0FBUztzQkFEekIsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrUG9ydGFsT3V0bGV0LCBEb21Qb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOdWxsYWJsZSwgcmVzaXplT2JzZXJ2YWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IEZEX0JVVFRPTl9DT01QT05FTlQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7IENvbWJvYm94SW50ZXJmYWNlLCBGRF9DT01CT0JPWF9DT01QT05FTlQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29tYm9ib3gnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlNb2RlLCBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBTZWFyY2hDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2hhcmVkJztcbmltcG9ydCBlcXVhbCBmcm9tICdmYXN0LWRlZXAtZXF1YWwnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNoZWxsYmFyQWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vc2hlbGxiYXItYWN0aW9ucy9zaGVsbGJhci1hY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGRF9TSEVMTEJBUl9DT01QT05FTlQsIEZEX1NIRUxMQkFSX1NFQVJDSF9DT01QT05FTlQgfSBmcm9tICcuL3Rva2Vucyc7XG5pbXBvcnQgeyBTaWRlTmF2aWdhdGlvbkludGVyZmFjZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zaWRlLW5hdmlnYXRpb24nO1xuaW1wb3J0IHsgQnJlYWtwb2ludHMsIE5vcm1hbGl6ZWRCcmVha3BvaW50LCBTaGVsbGJhckdyb3VwRmxleE9wdGlvbnMsIFNoZWxsYmFyU2l6ZXMgfSBmcm9tICcuL21vZGVsL3NoZWxsYmFyLXNpemVzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuLyoqXG4gKiBUaGUgc2hlbGxiYXIgb2ZmZXJzIGNvbnNpc3RlbnQsIHJlc3BvbnNpdmUgbmF2aWdhdGlvbiBhY3Jvc3MgYWxsIHByb2R1Y3RzIGFuZCBhcHBsaWNhdGlvbnMuXG4gKiBJbmNsdWRlcyBzdXBwb3J0IGZvciBicmFuZGluZywgcHJvZHVjdCBuYXZpZ2F0aW9uLCBzZWFyY2gsIG5vdGlmaWNhdGlvbnMsIGFuZCB1c2VyIHNldHRpbmdzLlxuICogU2hlbGxiYXIgaXMgYSBjb21wb3NpdGUgY29tcG9uZW50IGNvbXByaXNlZCBvZiBtYW5kYXRvcnkgYW5kIG9wdGlvbmFsIGVsZW1lbnRzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLXNoZWxsYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2hlbGxiYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NoZWxsYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycyh7XG4gICAgICAgICAgICBzdXBwb3J0ZWRDb250ZW50RGVuc2l0eTogW0NvbnRlbnREZW5zaXR5TW9kZS5DT1pZXSxcbiAgICAgICAgICAgIHJlc3RyaWN0Q2hpbGRDb250ZW50RGVuc2l0eTogdHJ1ZVxuICAgICAgICB9KSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRfU0hFTExCQVJfQ09NUE9ORU5ULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFNoZWxsYmFyQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFNoZWxsYmFyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogU2l6ZSBvZiBTaGVsbGJhciBjb21wb25lbnQgJ3MnIHwgJ20nIHwgJ2wnIHwgJ3hsJyAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNpemUodmFsdWU6IFNoZWxsYmFyU2l6ZXMgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fc2l6ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9jdXJyZW50U2l6ZSQubmV4dCh0aGlzLl9jdXJyZW50U2l6ZSk7XG4gICAgfVxuICAgIGdldCBzaXplKCk6IFNoZWxsYmFyU2l6ZXMgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2l6ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXNwb25zaXZlIGJyZWFrcG9pbnRzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGJyZWFrcG9pbnRzKGJyZWFrcG9pbnRzOiBCcmVha3BvaW50cykge1xuICAgICAgICB0aGlzLl9icmVha3BvaW50cyA9IHRoaXMuX25vcm1hbGl6ZUJyZWFrcG9pbnRzKGJyZWFrcG9pbnRzKTtcbiAgICAgICAgdGhpcy5fc2V0Q3VycmVudEJyZWFrcG9pbnQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBTaGVsbGJhciBpcyB1c2VkIHdpdGggU2lkZSBOYXZpZ2F0aW9uLlxuICAgICAqIFdoZW4gc2V0IHRvIHRydWUsIHRoZSByZXNwb25zaXZlIHBhZGRpbmdzIGFyZSBub3QgYXBwbGllZC5cbiAgICAgKiBDYW4gYWxzbyBhY2NlcHQgYSB0ZW1wbGF0ZSB2YXJpYWJsZSByZWZlcnJpbmcgdG8gYSBTaWRlTmF2aWdhdGlvbkludGVyZmFjZSAoZmQtc2lkZS1uYXYgb3IgZmR4LXNpZGUtbmF2KSwgYW5kXG4gICAgICogd2lsbCBhZGQgdGhlIGNvcnJlc3BvbmRpbmcgY2xhc3MuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzaWRlTmF2OiBib29sZWFuIHwgU2lkZU5hdmlnYXRpb25JbnRlcmZhY2UgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFNoZWxsYmFyIGdyb3VwIGZsZXggY29uZmlndXJhdGlvbi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBncm91cEZsZXgodmFsdWU6IE51bGxhYmxlPFNoZWxsYmFyR3JvdXBGbGV4T3B0aW9ucz4pIHtcbiAgICAgICAgaWYgKGVxdWFsKHZhbHVlLCB0aGlzLl9ncm91cEZsZXgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9ncm91cEZsZXggPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIGdldCBncm91cEZsZXgoKTogTnVsbGFibGU8U2hlbGxiYXJHcm91cEZsZXhPcHRpb25zPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ncm91cEZsZXg7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9ncm91cEZsZXg6IE51bGxhYmxlPFNoZWxsYmFyR3JvdXBGbGV4T3B0aW9ucz47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoRkRfQ09NQk9CT1hfQ09NUE9ORU5ULCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBjb21ib2JveENvbXBvbmVudDogQ29tYm9ib3hJbnRlcmZhY2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oRkRfQlVUVE9OX0NPTVBPTkVOVCwgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gICAgYnV0dG9uczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKFNoZWxsYmFyQWN0aW9uc0NvbXBvbmVudClcbiAgICBwcml2YXRlIF9hY3Rpb25zOiBTaGVsbGJhckFjdGlvbnNDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NlYXJjaFBvcnRhbDogRG9tUG9ydGFsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdzZWFyY2hQb3J0YWxPdXRsZXQnLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IENka1BvcnRhbE91dGxldCB9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3NlYXJjaFBvcnRhbE91dGxldDogQ2RrUG9ydGFsT3V0bGV0O1xuXG4gICAgLyoqXG4gICAgICogU2VhcmNoIGNvbXBvbmVudCBwbGFjZWQgaW5zaWRlIHRoZSBzaGVsbGJhclxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoRkRfU0hFTExCQVJfU0VBUkNIX0NPTVBPTkVOVCwgeyBkZXNjZW5kYW50czogdHJ1ZSwgc3RhdGljOiBmYWxzZSB9KVxuICAgIHNldCBzZWFyY2hDb21wb25lbnQoY29tcG9uZW50OiBOdWxsYWJsZTxTZWFyY2hDb21wb25lbnQ+KSB7XG4gICAgICAgIHRoaXMuX3NlYXJjaENvbXBvbmVudCA9IGNvbXBvbmVudDtcbiAgICAgICAgaWYgKCFjb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9zZWFyY2hQb3J0YWw/LmlzQXR0YWNoZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlYXJjaFBvcnRhbC5kZXRhY2goKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3NlYXJjaFBvcnRhbCA9IG5ldyBEb21Qb3J0YWwoY29tcG9uZW50LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIGNvbXBvbmVudC5jYXRlZ29yeU1vZGUgPSAnc2VsZWN0JztcbiAgICAgICAgY29tcG9uZW50LmRpc2FibGVSZWZyZXNoID0gdHJ1ZTtcbiAgICAgICAgY29tcG9uZW50LmZvcmNlU2VhcmNoQnV0dG9uID0gdHJ1ZTtcbiAgICAgICAgY29tcG9uZW50LmFwcGVhcmFuY2UgPSB7XG4gICAgICAgICAgICBzZWFyY2hDbGFzczogJ2ZkLXNoZWxsYmFyX19zZWFyY2gtZmllbGQnLFxuICAgICAgICAgICAgc2VhcmNoRmllbGRDbGFzczogJ2ZkLXNoZWxsYmFyX19zZWFyY2gtZmllbGQtaW5wdXQnLFxuICAgICAgICAgICAgc2VhcmNoQ2F0ZWdvcnlDbGFzczogJ2ZkLXNoZWxsYmFyX19zZWFyY2gtZmllbGQtY2F0ZWdvcnknLFxuICAgICAgICAgICAgc2VhcmNoU3VibWl0Q2xhc3M6ICdmZC1zaGVsbGJhcl9fc2VhcmNoLXN1Ym1pdCcsXG4gICAgICAgICAgICBidXR0b25DbGFzczogJ2ZkLXNoZWxsYmFyX19idXR0b24nLFxuICAgICAgICAgICAgYWRkb25DbGFzczogJ2ZkLXNoZWxsYmFyX19zZWFyY2gtZmllbGQtYWRkb24nLFxuICAgICAgICAgICAgY2F0ZWdvcnlCdXR0b25DbGFzczogJ2ZkLXNoZWxsYmFyX19zZWFyY2gtY2F0ZWdvcnknLFxuICAgICAgICAgICAgY2F0ZWdvcnlEcm9wZG93bkJ1dHRvbkNsYXNzOiAnZmQtc2hlbGxiYXJfX3NlYXJjaC1kcm9wZG93bicsXG4gICAgICAgICAgICByZW1vdmVHcm91cEJ1dHRvbkNsYXNzOiB0cnVlXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5fc2VhcmNoU3VibWl0U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuXG4gICAgICAgIHRoaXMuX3NlYXJjaFN1Ym1pdFN1YnNjcmlwdGlvbiA9IGNvbXBvbmVudC5zZWFyY2hTdWJtaXRcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFzdGF0ZS50ZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Nob3dNb2JpbGVTZWFyY2ggPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWN0aW9ucy5fc2V0U2VhcmNoVmlzaWJpbGl0eShmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgZ2V0IHNlYXJjaENvbXBvbmVudCgpOiBOdWxsYWJsZTxTZWFyY2hDb21wb25lbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlYXJjaENvbXBvbmVudDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NlYXJjaENvbXBvbmVudDogTnVsbGFibGU8U2VhcmNoQ29tcG9uZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnc2hlbGxiYXInKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3NoZWxsYmFyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF9oaWRlVGl0bGVDb21wb25lbnRzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY3VycmVudFNpemUgIT09ICd4bCcgJiYgdGhpcy5fY3VycmVudFNpemUgIT09ICdsJyAmJiB0aGlzLl9zaG93TW9iaWxlU2VhcmNoO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF9oaWRlQWxsQ29tcG9uZW50cygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRTaXplID09PSAncycgJiYgdGhpcy5fc2hvd01vYmlsZVNlYXJjaDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfY3VycmVudFNpemUoKTogU2hlbGxiYXJTaXplcyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaXplIHx8IHRoaXMuX2JyZWFrcG9pbnRTaXplO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY3VycmVudFNpemUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTaGVsbGJhclNpemVzPih0aGlzLl9jdXJyZW50U2l6ZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zaG93TW9iaWxlU2VhcmNoID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NpemU6IFNoZWxsYmFyU2l6ZXMgfCB1bmRlZmluZWQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2JyZWFrcG9pbnRTaXplOiBTaGVsbGJhclNpemVzID0gJ20nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jZCA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2JyZWFrcG9pbnRzOiBOb3JtYWxpemVkQnJlYWtwb2ludFtdID0gdGhpcy5fbm9ybWFsaXplQnJlYWtwb2ludHMoe1xuICAgICAgICBzOiAwLFxuICAgICAgICBtOiAzMjAsXG4gICAgICAgIGw6IDYwMCxcbiAgICAgICAgeGw6IDEyNDBcbiAgICB9KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2VhcmNoU3VibWl0U3Vic2NyaXB0aW9uOiBOdWxsYWJsZTxTdWJzY3JpcHRpb24+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYXBwbHlTaGVsbGJhck1vZGVUb0NvbWJvYm94KCk7XG4gICAgICAgIHRoaXMuYXBwbHlTaGVsbGJhck1vZGVUb0J1dHRvbnMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2YWJsZSh0aGlzLl9zaGVsbGJhci5uYXRpdmVFbGVtZW50KVxuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9zZXRDdXJyZW50QnJlYWtwb2ludCgpKTtcblxuICAgICAgICB0aGlzLl9zZXRTZWFyY2hDb21wb25lbnRMaXN0ZW5lcnMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZWFyY2hTdWJtaXRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX3NlYXJjaFBvcnRhbE91dGxldD8uZGlzcG9zZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2V0U2VhcmNoQ29tcG9uZW50TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hY3Rpb25zPy5zZWFyY2hPcGVuLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKHNob3dTZWFyY2gpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3Nob3dNb2JpbGVTZWFyY2ggPSBzaG93U2VhcmNoO1xuICAgICAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRTaXplICE9PSAncycpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzaG93U2VhcmNoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fYXR0YWNoU2VhcmNoKHRydWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9kZXRhY2hTZWFyY2goKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRTaXplJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKChzaXplKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX3NlYXJjaFBvcnRhbCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHNpemUgPT09ICd4bCcgfHwgKHNpemUgPT09ICdzJyAmJiB0aGlzLl9zaG93TW9iaWxlU2VhcmNoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2F0dGFjaFNlYXJjaCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9kZXRhY2hTZWFyY2goKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBhcHBseVNoZWxsYmFyTW9kZVRvQ29tYm9ib3goKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbWJvYm94Q29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aGlzLmNvbWJvYm94Q29tcG9uZW50LmluU2hlbGxiYXIgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBhcHBseVNoZWxsYmFyTW9kZVRvQnV0dG9ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idXR0b25zPy5mb3JFYWNoKChidXR0b24pID0+IHtcbiAgICAgICAgICAgIGJ1dHRvbi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2ZkLXNoZWxsYmFyX19idXR0b24nKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfY2xvc2VNb2JpbGVTZWFyY2goKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Nob3dNb2JpbGVTZWFyY2ggPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fYWN0aW9ucy5fc2V0U2VhcmNoVmlzaWJpbGl0eShmYWxzZSk7XG4gICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9nZXRTaWRlTmF2Q2xhc3MoKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHJldFZhbCA9ICcgJztcblxuICAgICAgICBpZiAodGhpcy5zaWRlTmF2ICYmICh0aGlzLnNpZGVOYXYgYXMgU2lkZU5hdmlnYXRpb25JbnRlcmZhY2UpLmFkZGl0aW9uYWxTaGVsbGJhckNzc0NsYXNzKSB7XG4gICAgICAgICAgICByZXRWYWwgKz0gKHRoaXMuc2lkZU5hdiBhcyBTaWRlTmF2aWdhdGlvbkludGVyZmFjZSkuYWRkaXRpb25hbFNoZWxsYmFyQ3NzQ2xhc3M7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmV0VmFsO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2V0Q3VycmVudEJyZWFrcG9pbnQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgd2lkdGggfSA9IHRoaXMuX3NoZWxsYmFyLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgY29uc3QgYnJlYWtwb2ludCA9IHRoaXMuX2JyZWFrcG9pbnRzLmZpbmQoKGl0ZW0pID0+IHdpZHRoID49IGl0ZW0ubWluICYmIHdpZHRoIDwgaXRlbS5tYXggKyAxKTtcblxuICAgICAgICBpZiAoIWJyZWFrcG9pbnQgfHwgYnJlYWtwb2ludC5zaXplID09PSB0aGlzLl9jdXJyZW50U2l6ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fYnJlYWtwb2ludFNpemUgPSBicmVha3BvaW50LnNpemU7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRTaXplJC5uZXh0KHRoaXMuX2N1cnJlbnRTaXplKTtcbiAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbm9ybWFsaXplQnJlYWtwb2ludHMoYnJlYWtwb2ludHM6IEJyZWFrcG9pbnRzKTogTm9ybWFsaXplZEJyZWFrcG9pbnRbXSB7XG4gICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhicmVha3BvaW50cykgYXMgU2hlbGxiYXJTaXplc1tdO1xuICAgICAgICBjb25zdCBub3JtYWxpemVkQnJlYWtwb2ludHM6IE5vcm1hbGl6ZWRCcmVha3BvaW50W10gPSBbXTtcblxuICAgICAgICBrZXlzLmZvckVhY2goKGtleSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGJyZWFrcG9pbnQ6IE5vcm1hbGl6ZWRCcmVha3BvaW50ID0ge1xuICAgICAgICAgICAgICAgIHNpemU6IGtleSxcbiAgICAgICAgICAgICAgICBtaW46IGJyZWFrcG9pbnRzW2tleV0sXG4gICAgICAgICAgICAgICAgbWF4OiBrZXlzW2luZGV4ICsgMV0gPyBicmVha3BvaW50c1trZXlzW2luZGV4ICsgMV1dIDogSW5maW5pdHlcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIG5vcm1hbGl6ZWRCcmVha3BvaW50cy5wdXNoKGJyZWFrcG9pbnQpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gbm9ybWFsaXplZEJyZWFrcG9pbnRzO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYXR0YWNoU2VhcmNoKHNob3VsZEZvY3VzID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3NlYXJjaFBvcnRhbE91dGxldD8uaGFzQXR0YWNoZWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fYWN0aW9ucy5fZGV0YWNoU2VhcmNoKCk7XG4gICAgICAgIHRoaXMuX3NlYXJjaFBvcnRhbE91dGxldD8uYXR0YWNoKHRoaXMuX3NlYXJjaFBvcnRhbCk7XG5cbiAgICAgICAgaWYgKHNob3VsZEZvY3VzKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWFyY2hDb21wb25lbnQ/LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2RldGFjaFNlYXJjaCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9zZWFyY2hQb3J0YWxPdXRsZXQ/Lmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2FjdGlvbnMuX2F0dGFjaFNlYXJjaCh0aGlzLl9zZWFyY2hQb3J0YWwsIHRoaXMuX3NlYXJjaENvbXBvbmVudCwgdGhpcy5fY3VycmVudFNpemUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fc2VhcmNoUG9ydGFsT3V0bGV0LmRldGFjaCgpO1xuXG4gICAgICAgIHRoaXMuX2FjdGlvbnMuX2F0dGFjaFNlYXJjaCh0aGlzLl9zZWFyY2hQb3J0YWwsIHRoaXMuX3NlYXJjaENvbXBvbmVudCwgdGhpcy5fY3VycmVudFNpemUpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImZkLXNoZWxsYmFyXCJcbiAgICBbY2xhc3NdPVwiJ2ZkLXNoZWxsYmFyLS0nICsgX2N1cnJlbnRTaXplICsgX2dldFNpZGVOYXZDbGFzcygpXCJcbiAgICBbY2xhc3MuZmQtc2hlbGxiYXItLXNpZGUtbmF2XT1cInNpZGVOYXYgPT09IHRydWVcIlxuICAgICNzaGVsbGJhclxuPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmZC1zaGVsbGJhcl9fZ3JvdXAgZmQtc2hlbGxiYXJfX2dyb3VwLS1wcm9kdWN0XCJcbiAgICAgICAgW2NsYXNzLmZkLXNoZWxsYmFyX19ncm91cC0tc2hyaW5rXT1cImdyb3VwRmxleD8ucHJvZHVjdD8uc2hyaW5rXCJcbiAgICAgICAgW2NsYXNzLmZkLXNoZWxsYmFyX19ncm91cC0tYmFzaXMtYXV0b109XCJncm91cEZsZXg/LnByb2R1Y3Q/LmZsZXhCYXNpc0F1dG9cIlxuICAgICAgICAqbmdJZj1cIiFfaGlkZUFsbENvbXBvbmVudHNcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZkLXNoZWxsYmFyLXNpZGUtbmF2XVwiPjwvbmctY29udGVudD5cblxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmZC1zaGVsbGJhci1sb2dvXCI+PC9uZy1jb250ZW50PlxuXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLXNoZWxsYmFyLXRpdGxlXCIgKm5nSWY9XCIhX2hpZGVUaXRsZUNvbXBvbmVudHNcIj48L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZkLXNoZWxsYmFyX19wcm9kdWN0XCIgKm5nSWY9XCIhX2hpZGVUaXRsZUNvbXBvbmVudHNcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLXByb2R1Y3QtbWVudVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmQtc2hlbGxiYXItc3VidGl0bGVcIiAqbmdJZj1cIiFfaGlkZVRpdGxlQ29tcG9uZW50c1wiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGhpZGRlbj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmZC1zaGVsbGJhcl9fZ3JvdXAgZmQtc2hlbGxiYXJfX2dyb3VwLS1jZW50ZXIgZmQtc2hlbGxiYXJfX2dyb3VwLS1tb2JpbGUtZmxleFwiXG4gICAgICAgIFtjbGFzcy5mZC1zaGVsbGJhcl9fZ3JvdXAtLXNocmlua109XCJncm91cEZsZXg/LnNlYXJjaD8uc2hyaW5rXCJcbiAgICAgICAgW2NsYXNzLmZkLXNoZWxsYmFyX19ncm91cC0tYmFzaXMtYXV0b109XCJncm91cEZsZXg/LnNlYXJjaD8uZmxleEJhc2lzQXV0b1wiXG4gICAgICAgICpuZ0lmPVwic2VhcmNoQ29tcG9uZW50XCJcbiAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC1zaGVsbGJhcl9fYWN0aW9uIGZkLXNoZWxsYmFyX19hY3Rpb24tLWdyb3dcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgY2RrUG9ydGFsT3V0bGV0ICNzZWFyY2hQb3J0YWxPdXRsZXQ+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cIl9jdXJyZW50U2l6ZSA9PT0gJ3hsJyB8fCBfaGlkZUFsbENvbXBvbmVudHNcIlxuICAgICAgICAgICAgY2xhc3M9XCJmZC1zaGVsbGJhcl9fYWN0aW9uIGZkLXNoZWxsYmFyX19hY3Rpb24tLW1vYmlsZSBmZC1zaGVsbGJhcl9fYWN0aW9uLS1zaHJpbmtcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmQtYnV0dG9uIGZkLWJ1dHRvbi0tdHJhbnNwYXJlbnRcIiAoY2xpY2spPVwiX2Nsb3NlTW9iaWxlU2VhcmNoKClcIj5cbiAgICAgICAgICAgICAgICB7eyAnY29yZVNoZWxsYmFyLmNhbmNlbCcgfCBmZFRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmQtc2hlbGxiYXItYWN0aW9uc1wiICpuZ0lmPVwiIV9oaWRlQWxsQ29tcG9uZW50c1wiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, Input, Output, Renderer2, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { Subscription,
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, DestroyRef, ElementRef, EventEmitter, Input, Output, Renderer2, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { Subscription, tap } from 'rxjs';
|
|
3
3
|
import { first } from 'rxjs/operators';
|
|
4
4
|
import { MenuComponent, MenuItemComponent } from '@fundamental-ngx/core/menu';
|
|
5
5
|
import { SplitButtonActionTitle } from './split-button-utils/split-button.directives';
|
|
6
6
|
import { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';
|
|
7
|
-
import {
|
|
7
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@fundamental-ngx/
|
|
10
|
-
import * as i2 from "@
|
|
11
|
-
import * as i3 from "@
|
|
12
|
-
import * as i4 from "@fundamental-ngx/core/
|
|
13
|
-
import * as i5 from "@fundamental-ngx/
|
|
14
|
-
import * as i6 from "@fundamental-ngx/i18n";
|
|
9
|
+
import * as i1 from "@fundamental-ngx/core/content-density";
|
|
10
|
+
import * as i2 from "@angular/common";
|
|
11
|
+
import * as i3 from "@fundamental-ngx/core/button";
|
|
12
|
+
import * as i4 from "@fundamental-ngx/core/menu";
|
|
13
|
+
import * as i5 from "@fundamental-ngx/i18n";
|
|
15
14
|
export const splitButtonTextClass = 'fd-button-split__text';
|
|
16
15
|
const splitButtonTextClasses = [splitButtonTextClass];
|
|
17
16
|
/**
|
|
@@ -41,9 +40,9 @@ export class SplitButtonComponent {
|
|
|
41
40
|
return this.fdType ? `fd-button-split--${this.fdType}` : '';
|
|
42
41
|
}
|
|
43
42
|
/** @hidden */
|
|
44
|
-
constructor(_cdRef,
|
|
43
|
+
constructor(_cdRef, _destroyRef, _contentDensityObserver, _renderer) {
|
|
45
44
|
this._cdRef = _cdRef;
|
|
46
|
-
this.
|
|
45
|
+
this._destroyRef = _destroyRef;
|
|
47
46
|
this._contentDensityObserver = _contentDensityObserver;
|
|
48
47
|
this._renderer = _renderer;
|
|
49
48
|
/** The icon to include in the button. See the icon page for the list of icons. */
|
|
@@ -106,7 +105,7 @@ export class SplitButtonComponent {
|
|
|
106
105
|
/** @hidden */
|
|
107
106
|
ngAfterViewInit() {
|
|
108
107
|
this._contentDensityObserver.isCompact$
|
|
109
|
-
.pipe(tap(this._addButtonTextClass),
|
|
108
|
+
.pipe(tap(this._addButtonTextClass), takeUntilDestroyed(this._destroyRef))
|
|
110
109
|
.subscribe();
|
|
111
110
|
}
|
|
112
111
|
/** @hidden */
|
|
@@ -194,13 +193,13 @@ export class SplitButtonComponent {
|
|
|
194
193
|
_focusTriggerElement() {
|
|
195
194
|
this.menuActionBtn?.nativeElement.focus();
|
|
196
195
|
}
|
|
197
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SplitButtonComponent, deps: [{ token: i0.ChangeDetectorRef }, { token:
|
|
198
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: SplitButtonComponent, selector: "fd-split-button", inputs: { glyph: "glyph", disabled: "disabled", mainActionTitle: "mainActionTitle", fdType: "fdType", expandButtonAriaLabel: "expandButtonAriaLabel", expandButtonTitle: "expandButtonTitle", selected: "selected", fixedWidth: "fixedWidth", mainAction: "mainAction", arialLabel: "arialLabel" }, outputs: { primaryButtonClicked: "primaryButtonClicked" }, providers: [contentDensityObserverProviders()], queries: [{ propertyName: "titleTemplate", first: true, predicate: SplitButtonActionTitle, descendants: true, read: TemplateRef }, { propertyName: "menu", first: true, predicate: MenuComponent, descendants: true }], viewQueries: [{ propertyName: "mainActionBtn", first: true, predicate: ["mainActionButton"], descendants: true, read: ElementRef }, { propertyName: "menuActionBtn", first: true, predicate: ["menuActionButton"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"fd-button-split fd-has-margin-right-small\"\n [ngClass]=\"typeClass\"\n role=\"group\"\n tabindex=\"-1\"\n [attr.aria-label]=\"arialLabel || ('coreSplitButton.arialLabel' | fdTranslate)\"\n [fdMenuTrigger]=\"menu\"\n (focus)=\"_onGroupFocused()\"\n>\n <button\n fd-button\n #mainActionButton\n [label]=\"mainActionTitle\"\n [style.width]=\"mainButtonWidth\"\n [fdType]=\"fdType\"\n [disabled]=\"disabled\"\n (click)=\"onMainButtonClick($event)\"\n >\n <ng-container *ngTemplateOutlet=\"titleTemplate\"></ng-container>\n </button>\n\n <button\n fd-button\n #menuActionButton\n [glyph]=\"glyph\"\n [fdType]=\"fdType\"\n [disabled]=\"disabled\"\n [ariaLabel]=\"expandButtonAriaLabel || ('coreSplitButton.expandButtonAriaLabel' | fdTranslate)\"\n [attr.title]=\"\n expandButtonTitle || expandButtonAriaLabel || ('coreSplitButton.expandButtonAriaLabel' | fdTranslate)\n \"\n [class.is-active]=\"menu.isOpen\"\n ></button>\n <ng-content select=\"fd-menu\"></ng-content>\n</div>\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-button-split\n button\n*/.fd-button-split{--fdButtonSplit_Separator_Offset:2.125rem;-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-button-split:after,.fd-button-split:before{box-sizing:inherit;font-size:inherit}.fd-button-split: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-button-split:after{-webkit-transform:translateY(-50%);background:var(--sapButton_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split.is-hover:after,.fd-button-split:hover:after{display:none}.fd-button-split[dir=rtl]:after,[dir=rtl] .fd-button-split:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split>button{margin:0}.fd-button-split>button:first-of-type{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:start;-ms-flex-pack:start;align-items:center;border-radius:var(--fdButton_Border_Radius_Left);display:flex;justify-content:flex-start;margin-right:var(--fdButton_Menu_Offset)}.fd-button-split>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split>button:first-of-type{margin-left:var(--fdButton_Menu_Offset);margin-right:0}.fd-button-split>button:first-of-type.is-focus,.fd-button-split>button:first-of-type:focus{z-index:5}.fd-button-split>button:first-of-type.is-focus:after,.fd-button-split>button:first-of-type:focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Left)}.fd-button-split>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split>button:first-of-type{border-radius:var(--fdButton_Border_Radius_Left_RTL)}.fd-button-split>button:first-of-type[dir=rtl].is-focus,.fd-button-split>button:first-of-type[dir=rtl]:focus,[dir=rtl] .fd-button-split>button:first-of-type.is-focus,[dir=rtl] .fd-button-split>button:first-of-type:focus{z-index:5}.fd-button-split>button:first-of-type[dir=rtl].is-focus:after,.fd-button-split>button:first-of-type[dir=rtl]:focus:after,[dir=rtl] .fd-button-split>button:first-of-type.is-focus:after,[dir=rtl] .fd-button-split>button:first-of-type:focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Left_RTL)}.fd-button-split>button:nth-of-type(2){border-radius:var(--fdButton_Border_Radius_Right)}.fd-button-split>button:nth-of-type(2).is-focus,.fd-button-split>button:nth-of-type(2):focus{z-index:5}.fd-button-split>button:nth-of-type(2).is-focus:after,.fd-button-split>button:nth-of-type(2):focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Right)}.fd-button-split>button:nth-of-type(2)[dir=rtl],[dir=rtl] .fd-button-split>button:nth-of-type(2){border-radius:var(--fdButton_Border_Radius_Right_RTL)}.fd-button-split>button:nth-of-type(2)[dir=rtl].is-focus,.fd-button-split>button:nth-of-type(2)[dir=rtl]:focus,[dir=rtl] .fd-button-split>button:nth-of-type(2).is-focus,[dir=rtl] .fd-button-split>button:nth-of-type(2):focus{z-index:5}.fd-button-split>button:nth-of-type(2)[dir=rtl].is-focus:after,.fd-button-split>button:nth-of-type(2)[dir=rtl]:focus:after,[dir=rtl] .fd-button-split>button:nth-of-type(2).is-focus:after,[dir=rtl] .fd-button-split>button:nth-of-type(2):focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Right_RTL)}.fd-button-split>button.is-hover,.fd-button-split>button:hover{z-index:1}.fd-button-split--emphasized{position:relative}.fd-button-split--emphasized:before{background:var(--sapButton_Emphasized_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";display:var(--fdButton_Segmented_Pad_Display);height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--emphasized:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Emphasized_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--emphasized.is-hover:after,.fd-button-split--emphasized:hover:after{display:none}.fd-button-split--emphasized[dir=rtl]:after,[dir=rtl] .fd-button-split--emphasized:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--transparent{position:relative}.fd-button-split--transparent:before{background:var(--sapButton_Lite_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";display:var(--fdButton_Segmented_Pad_Display);height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--transparent:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Lite_TextColor);content:\"\";display:var(--fdButton_Menu_Transparent_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--transparent.is-hover:after,.fd-button-split--transparent:hover:after{display:none}.fd-button-split--transparent[dir=rtl]:after,[dir=rtl] .fd-button-split--transparent:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--ghost{position:relative}.fd-button-split--ghost:before{background:var(--fdButton_Ghost_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";display:var(--fdButton_Segmented_Pad_Display);height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--ghost:after{-webkit-transform:translateY(-50%);background:var(--sapButton_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--ghost.is-hover:after,.fd-button-split--ghost:hover:after{display:none}.fd-button-split--ghost[dir=rtl]:after,[dir=rtl] .fd-button-split--ghost:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--positive{position:relative}.fd-button-split--positive:before{background:var(--sapButton_Accept_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";display:var(--fdButton_Segmented_Pad_Display);height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--positive:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Accept_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--positive.is-hover:after,.fd-button-split--positive:hover:after{display:none}.fd-button-split--positive[dir=rtl]:after,[dir=rtl] .fd-button-split--positive:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--negative{position:relative}.fd-button-split--negative:before{background:var(--sapButton_Reject_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";display:var(--fdButton_Segmented_Pad_Display);height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--negative:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Reject_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--negative.is-hover:after,.fd-button-split--negative:hover:after{display:none}.fd-button-split--negative[dir=rtl]:after,[dir=rtl] .fd-button-split--negative:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--attention{position:relative}.fd-button-split--attention:before{background:var(--sapButton_Attention_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";display:var(--fdButton_Segmented_Pad_Display);height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--attention:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Attention_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--attention.is-hover:after,.fd-button-split--attention:hover:after{display:none}.fd-button-split--attention[dir=rtl]:after,[dir=rtl] .fd-button-split--attention:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--emphasized>button:first-of-type{margin-right:var(--fdButton_Menu_Emphasized_Margin)}.fd-button-split--emphasized>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split--emphasized>button:first-of-type{margin-left:var(--fdButton_Menu_Emphasized_Margin);margin-right:0}.fd-button-split .fd-button-split__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:inherit;display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-width:var(--fdButtonSplit_Text_Max_Width, 8.5rem);overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-button-split .fd-button-split__text:after,.fd-button-split .fd-button-split__text:before{box-sizing:inherit;font-size:inherit}.fd-button-split[class*=-compact],.fd-button-split[class*=-condensed],[class*=-compact] .fd-button-split:not([class*=-cozy]),[class*=-condensed] .fd-button-split:not([class*=-cozy]){--fdButtonSplit_Text_Max_Width:9rem;--fdButtonSplit_Separator_Offset:1.875rem}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: i5.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "pipe", type: i6.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
196
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SplitButtonComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.DestroyRef }, { token: i1.ContentDensityObserver }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
197
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: SplitButtonComponent, selector: "fd-split-button", inputs: { glyph: "glyph", disabled: "disabled", mainActionTitle: "mainActionTitle", fdType: "fdType", expandButtonAriaLabel: "expandButtonAriaLabel", expandButtonTitle: "expandButtonTitle", selected: "selected", fixedWidth: "fixedWidth", mainAction: "mainAction", arialLabel: "arialLabel" }, outputs: { primaryButtonClicked: "primaryButtonClicked" }, providers: [contentDensityObserverProviders()], queries: [{ propertyName: "titleTemplate", first: true, predicate: SplitButtonActionTitle, descendants: true, read: TemplateRef }, { propertyName: "menu", first: true, predicate: MenuComponent, descendants: true }], viewQueries: [{ propertyName: "mainActionBtn", first: true, predicate: ["mainActionButton"], descendants: true, read: ElementRef }, { propertyName: "menuActionBtn", first: true, predicate: ["menuActionButton"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"fd-button-split fd-has-margin-right-small\"\n [ngClass]=\"typeClass\"\n role=\"group\"\n tabindex=\"-1\"\n [attr.aria-label]=\"arialLabel || ('coreSplitButton.arialLabel' | fdTranslate)\"\n [fdMenuTrigger]=\"menu\"\n (focus)=\"_onGroupFocused()\"\n>\n <button\n fd-button\n #mainActionButton\n [label]=\"mainActionTitle\"\n [style.width]=\"mainButtonWidth\"\n [fdType]=\"fdType\"\n [disabled]=\"disabled\"\n (click)=\"onMainButtonClick($event)\"\n >\n <ng-container *ngTemplateOutlet=\"titleTemplate\"></ng-container>\n </button>\n\n <button\n fd-button\n #menuActionButton\n [glyph]=\"glyph\"\n [fdType]=\"fdType\"\n [disabled]=\"disabled\"\n [ariaLabel]=\"expandButtonAriaLabel || ('coreSplitButton.expandButtonAriaLabel' | fdTranslate)\"\n [attr.title]=\"\n expandButtonTitle || expandButtonAriaLabel || ('coreSplitButton.expandButtonAriaLabel' | fdTranslate)\n \"\n [class.is-active]=\"menu.isOpen\"\n ></button>\n <ng-content select=\"fd-menu\"></ng-content>\n</div>\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-button-split\n button\n*/.fd-button-split{--fdButtonSplit_Separator_Offset:2.125rem;-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-button-split:after,.fd-button-split:before{box-sizing:inherit;font-size:inherit}.fd-button-split: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-button-split:after{-webkit-transform:translateY(-50%);background:var(--sapButton_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split.is-hover:after,.fd-button-split:hover:after{display:none}.fd-button-split[dir=rtl]:after,[dir=rtl] .fd-button-split:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split>button{margin:0}.fd-button-split>button:first-of-type{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:start;-ms-flex-pack:start;align-items:center;border-radius:var(--fdButton_Border_Radius_Left);display:flex;justify-content:flex-start;margin-right:var(--fdButton_Menu_Offset)}.fd-button-split>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split>button:first-of-type{margin-left:var(--fdButton_Menu_Offset);margin-right:0}.fd-button-split>button:first-of-type.is-focus,.fd-button-split>button:first-of-type:focus{z-index:5}.fd-button-split>button:first-of-type.is-focus:after,.fd-button-split>button:first-of-type:focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Left)}.fd-button-split>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split>button:first-of-type{border-radius:var(--fdButton_Border_Radius_Left_RTL)}.fd-button-split>button:first-of-type[dir=rtl].is-focus,.fd-button-split>button:first-of-type[dir=rtl]:focus,[dir=rtl] .fd-button-split>button:first-of-type.is-focus,[dir=rtl] .fd-button-split>button:first-of-type:focus{z-index:5}.fd-button-split>button:first-of-type[dir=rtl].is-focus:after,.fd-button-split>button:first-of-type[dir=rtl]:focus:after,[dir=rtl] .fd-button-split>button:first-of-type.is-focus:after,[dir=rtl] .fd-button-split>button:first-of-type:focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Left_RTL)}.fd-button-split>button:nth-of-type(2){border-radius:var(--fdButton_Border_Radius_Right)}.fd-button-split>button:nth-of-type(2).is-focus,.fd-button-split>button:nth-of-type(2):focus{z-index:5}.fd-button-split>button:nth-of-type(2).is-focus:after,.fd-button-split>button:nth-of-type(2):focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Right)}.fd-button-split>button:nth-of-type(2)[dir=rtl],[dir=rtl] .fd-button-split>button:nth-of-type(2){border-radius:var(--fdButton_Border_Radius_Right_RTL)}.fd-button-split>button:nth-of-type(2)[dir=rtl].is-focus,.fd-button-split>button:nth-of-type(2)[dir=rtl]:focus,[dir=rtl] .fd-button-split>button:nth-of-type(2).is-focus,[dir=rtl] .fd-button-split>button:nth-of-type(2):focus{z-index:5}.fd-button-split>button:nth-of-type(2)[dir=rtl].is-focus:after,.fd-button-split>button:nth-of-type(2)[dir=rtl]:focus:after,[dir=rtl] .fd-button-split>button:nth-of-type(2).is-focus:after,[dir=rtl] .fd-button-split>button:nth-of-type(2):focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Right_RTL)}.fd-button-split>button.is-hover,.fd-button-split>button:hover{z-index:1}.fd-button-split--emphasized{position:relative}.fd-button-split--emphasized:before{background:var(--sapButton_Emphasized_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";display:var(--fdButton_Segmented_Pad_Display);height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--emphasized:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Emphasized_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--emphasized.is-hover:after,.fd-button-split--emphasized:hover:after{display:none}.fd-button-split--emphasized[dir=rtl]:after,[dir=rtl] .fd-button-split--emphasized:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--transparent{position:relative}.fd-button-split--transparent:before{background:var(--sapButton_Lite_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";display:var(--fdButton_Segmented_Pad_Display);height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--transparent:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Lite_TextColor);content:\"\";display:var(--fdButton_Menu_Transparent_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--transparent.is-hover:after,.fd-button-split--transparent:hover:after{display:none}.fd-button-split--transparent[dir=rtl]:after,[dir=rtl] .fd-button-split--transparent:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--ghost{position:relative}.fd-button-split--ghost:before{background:var(--fdButton_Ghost_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";display:var(--fdButton_Segmented_Pad_Display);height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--ghost:after{-webkit-transform:translateY(-50%);background:var(--sapButton_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--ghost.is-hover:after,.fd-button-split--ghost:hover:after{display:none}.fd-button-split--ghost[dir=rtl]:after,[dir=rtl] .fd-button-split--ghost:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--positive{position:relative}.fd-button-split--positive:before{background:var(--sapButton_Accept_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";display:var(--fdButton_Segmented_Pad_Display);height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--positive:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Accept_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--positive.is-hover:after,.fd-button-split--positive:hover:after{display:none}.fd-button-split--positive[dir=rtl]:after,[dir=rtl] .fd-button-split--positive:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--negative{position:relative}.fd-button-split--negative:before{background:var(--sapButton_Reject_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";display:var(--fdButton_Segmented_Pad_Display);height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--negative:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Reject_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--negative.is-hover:after,.fd-button-split--negative:hover:after{display:none}.fd-button-split--negative[dir=rtl]:after,[dir=rtl] .fd-button-split--negative:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--attention{position:relative}.fd-button-split--attention:before{background:var(--sapButton_Attention_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";display:var(--fdButton_Segmented_Pad_Display);height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--attention:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Attention_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--attention.is-hover:after,.fd-button-split--attention:hover:after{display:none}.fd-button-split--attention[dir=rtl]:after,[dir=rtl] .fd-button-split--attention:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--emphasized>button:first-of-type{margin-right:var(--fdButton_Menu_Emphasized_Margin)}.fd-button-split--emphasized>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split--emphasized>button:first-of-type{margin-left:var(--fdButton_Menu_Emphasized_Margin);margin-right:0}.fd-button-split .fd-button-split__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:inherit;display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-width:var(--fdButtonSplit_Text_Max_Width, 8.5rem);overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-button-split .fd-button-split__text:after,.fd-button-split .fd-button-split__text:before{box-sizing:inherit;font-size:inherit}.fd-button-split[class*=-compact],.fd-button-split[class*=-condensed],[class*=-compact] .fd-button-split:not([class*=-cozy]),[class*=-condensed] .fd-button-split:not([class*=-cozy]){--fdButtonSplit_Text_Max_Width:9rem;--fdButtonSplit_Separator_Offset:1.875rem}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: i4.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "pipe", type: i5.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
199
198
|
}
|
|
200
199
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SplitButtonComponent, decorators: [{
|
|
201
200
|
type: Component,
|
|
202
201
|
args: [{ selector: 'fd-split-button', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [contentDensityObserverProviders()], template: "<div\n class=\"fd-button-split fd-has-margin-right-small\"\n [ngClass]=\"typeClass\"\n role=\"group\"\n tabindex=\"-1\"\n [attr.aria-label]=\"arialLabel || ('coreSplitButton.arialLabel' | fdTranslate)\"\n [fdMenuTrigger]=\"menu\"\n (focus)=\"_onGroupFocused()\"\n>\n <button\n fd-button\n #mainActionButton\n [label]=\"mainActionTitle\"\n [style.width]=\"mainButtonWidth\"\n [fdType]=\"fdType\"\n [disabled]=\"disabled\"\n (click)=\"onMainButtonClick($event)\"\n >\n <ng-container *ngTemplateOutlet=\"titleTemplate\"></ng-container>\n </button>\n\n <button\n fd-button\n #menuActionButton\n [glyph]=\"glyph\"\n [fdType]=\"fdType\"\n [disabled]=\"disabled\"\n [ariaLabel]=\"expandButtonAriaLabel || ('coreSplitButton.expandButtonAriaLabel' | fdTranslate)\"\n [attr.title]=\"\n expandButtonTitle || expandButtonAriaLabel || ('coreSplitButton.expandButtonAriaLabel' | fdTranslate)\n \"\n [class.is-active]=\"menu.isOpen\"\n ></button>\n <ng-content select=\"fd-menu\"></ng-content>\n</div>\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-button-split\n button\n*/.fd-button-split{--fdButtonSplit_Separator_Offset:2.125rem;-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-button-split:after,.fd-button-split:before{box-sizing:inherit;font-size:inherit}.fd-button-split: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-button-split:after{-webkit-transform:translateY(-50%);background:var(--sapButton_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split.is-hover:after,.fd-button-split:hover:after{display:none}.fd-button-split[dir=rtl]:after,[dir=rtl] .fd-button-split:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split>button{margin:0}.fd-button-split>button:first-of-type{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:start;-ms-flex-pack:start;align-items:center;border-radius:var(--fdButton_Border_Radius_Left);display:flex;justify-content:flex-start;margin-right:var(--fdButton_Menu_Offset)}.fd-button-split>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split>button:first-of-type{margin-left:var(--fdButton_Menu_Offset);margin-right:0}.fd-button-split>button:first-of-type.is-focus,.fd-button-split>button:first-of-type:focus{z-index:5}.fd-button-split>button:first-of-type.is-focus:after,.fd-button-split>button:first-of-type:focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Left)}.fd-button-split>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split>button:first-of-type{border-radius:var(--fdButton_Border_Radius_Left_RTL)}.fd-button-split>button:first-of-type[dir=rtl].is-focus,.fd-button-split>button:first-of-type[dir=rtl]:focus,[dir=rtl] .fd-button-split>button:first-of-type.is-focus,[dir=rtl] .fd-button-split>button:first-of-type:focus{z-index:5}.fd-button-split>button:first-of-type[dir=rtl].is-focus:after,.fd-button-split>button:first-of-type[dir=rtl]:focus:after,[dir=rtl] .fd-button-split>button:first-of-type.is-focus:after,[dir=rtl] .fd-button-split>button:first-of-type:focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Left_RTL)}.fd-button-split>button:nth-of-type(2){border-radius:var(--fdButton_Border_Radius_Right)}.fd-button-split>button:nth-of-type(2).is-focus,.fd-button-split>button:nth-of-type(2):focus{z-index:5}.fd-button-split>button:nth-of-type(2).is-focus:after,.fd-button-split>button:nth-of-type(2):focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Right)}.fd-button-split>button:nth-of-type(2)[dir=rtl],[dir=rtl] .fd-button-split>button:nth-of-type(2){border-radius:var(--fdButton_Border_Radius_Right_RTL)}.fd-button-split>button:nth-of-type(2)[dir=rtl].is-focus,.fd-button-split>button:nth-of-type(2)[dir=rtl]:focus,[dir=rtl] .fd-button-split>button:nth-of-type(2).is-focus,[dir=rtl] .fd-button-split>button:nth-of-type(2):focus{z-index:5}.fd-button-split>button:nth-of-type(2)[dir=rtl].is-focus:after,.fd-button-split>button:nth-of-type(2)[dir=rtl]:focus:after,[dir=rtl] .fd-button-split>button:nth-of-type(2).is-focus:after,[dir=rtl] .fd-button-split>button:nth-of-type(2):focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Right_RTL)}.fd-button-split>button.is-hover,.fd-button-split>button:hover{z-index:1}.fd-button-split--emphasized{position:relative}.fd-button-split--emphasized:before{background:var(--sapButton_Emphasized_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";display:var(--fdButton_Segmented_Pad_Display);height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--emphasized:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Emphasized_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--emphasized.is-hover:after,.fd-button-split--emphasized:hover:after{display:none}.fd-button-split--emphasized[dir=rtl]:after,[dir=rtl] .fd-button-split--emphasized:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--transparent{position:relative}.fd-button-split--transparent:before{background:var(--sapButton_Lite_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";display:var(--fdButton_Segmented_Pad_Display);height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--transparent:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Lite_TextColor);content:\"\";display:var(--fdButton_Menu_Transparent_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--transparent.is-hover:after,.fd-button-split--transparent:hover:after{display:none}.fd-button-split--transparent[dir=rtl]:after,[dir=rtl] .fd-button-split--transparent:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--ghost{position:relative}.fd-button-split--ghost:before{background:var(--fdButton_Ghost_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";display:var(--fdButton_Segmented_Pad_Display);height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--ghost:after{-webkit-transform:translateY(-50%);background:var(--sapButton_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--ghost.is-hover:after,.fd-button-split--ghost:hover:after{display:none}.fd-button-split--ghost[dir=rtl]:after,[dir=rtl] .fd-button-split--ghost:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--positive{position:relative}.fd-button-split--positive:before{background:var(--sapButton_Accept_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";display:var(--fdButton_Segmented_Pad_Display);height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--positive:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Accept_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--positive.is-hover:after,.fd-button-split--positive:hover:after{display:none}.fd-button-split--positive[dir=rtl]:after,[dir=rtl] .fd-button-split--positive:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--negative{position:relative}.fd-button-split--negative:before{background:var(--sapButton_Reject_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";display:var(--fdButton_Segmented_Pad_Display);height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--negative:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Reject_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--negative.is-hover:after,.fd-button-split--negative:hover:after{display:none}.fd-button-split--negative[dir=rtl]:after,[dir=rtl] .fd-button-split--negative:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--attention{position:relative}.fd-button-split--attention:before{background:var(--sapButton_Attention_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";display:var(--fdButton_Segmented_Pad_Display);height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--attention:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Attention_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--attention.is-hover:after,.fd-button-split--attention:hover:after{display:none}.fd-button-split--attention[dir=rtl]:after,[dir=rtl] .fd-button-split--attention:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--emphasized>button:first-of-type{margin-right:var(--fdButton_Menu_Emphasized_Margin)}.fd-button-split--emphasized>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split--emphasized>button:first-of-type{margin-left:var(--fdButton_Menu_Emphasized_Margin);margin-right:0}.fd-button-split .fd-button-split__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:inherit;display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-width:var(--fdButtonSplit_Text_Max_Width, 8.5rem);overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-button-split .fd-button-split__text:after,.fd-button-split .fd-button-split__text:before{box-sizing:inherit;font-size:inherit}.fd-button-split[class*=-compact],.fd-button-split[class*=-condensed],[class*=-compact] .fd-button-split:not([class*=-cozy]),[class*=-condensed] .fd-button-split:not([class*=-cozy]){--fdButtonSplit_Text_Max_Width:9rem;--fdButtonSplit_Separator_Offset:1.875rem}\n"] }]
|
|
203
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type:
|
|
202
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.DestroyRef }, { type: i1.ContentDensityObserver }, { type: i0.Renderer2 }]; }, propDecorators: { glyph: [{
|
|
204
203
|
type: Input
|
|
205
204
|
}], disabled: [{
|
|
206
205
|
type: Input
|
|
@@ -235,4 +234,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
235
234
|
type: ViewChild,
|
|
236
235
|
args: ['menuActionButton', { read: ElementRef }]
|
|
237
236
|
}] } });
|
|
238
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3NwbGl0LWJ1dHRvbi9zcGxpdC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc3BsaXQtYnV0dG9uL3NwbGl0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBRVQsV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFdEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7O0FBRTlELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLHVCQUF1QixDQUFDO0FBQzVELE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBRXREOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQVNILE1BQU0sT0FBTyxvQkFBb0I7SUF1RTdCLGNBQWM7SUFDZCxJQUFJLFNBQVM7UUFDVCxPQUFP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RFosWUFBWTt1QkFBQyxzQkFBc0IsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBSzNELElBQUk7c0JBREgsWUFBWTt1QkFBQyxhQUFhO2dCQUszQixhQUFhO3NCQURaLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUtuRCxhQUFhO3NCQURaLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJ1dHRvblR5cGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7IE1lbnVDb21wb25lbnQsIE1lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL21lbnUnO1xuXG5pbXBvcnQgeyBTcGxpdEJ1dHRvbkFjdGlvblRpdGxlIH0gZnJvbSAnLi9zcGxpdC1idXR0b24tdXRpbHMvc3BsaXQtYnV0dG9uLmRpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgTWFpbkFjdGlvbiB9IGZyb20gJy4vbWFpbi1hY3Rpb24nO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlPYnNlcnZlciwgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgRGVzdHJveWVkU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IHNwbGl0QnV0dG9uVGV4dENsYXNzID0gJ2ZkLWJ1dHRvbi1zcGxpdF9fdGV4dCc7XG5jb25zdCBzcGxpdEJ1dHRvblRleHRDbGFzc2VzID0gW3NwbGl0QnV0dG9uVGV4dENsYXNzXTtcblxuLyoqXG4gKiBTcGxpdCBCdXR0b24gY29tcG9uZW50LCB1c2VkIHRvIGVuaGFuY2Ugc3RhbmRhcmQgSFRNTCBidXR0b24gYW5kIGFkZCBwb3NzaWJpbGl0eSB0byBwdXQgc29tZSBkcm9wZG93biB3aXRoXG4gKiBhZGRpdGlvbmFsIG9wdGlvbnMuXG4gKlxuICogYGBgaHRtbFxuICogPGZkLXNwbGl0LWJ1dHRvbj5cbiAqICAgPGZkLW1lbnU+XG4gKiAgICAgICA8bGkgZmQtbWVudS1pdGVtPlxuICogICAgICAgICAgIDxkaXYgZmQtbWVudS1pbnRlcmFjdGl2ZT5cbiAqICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT5PcHRpb24gMTwvc3Bhbj5cbiAqICAgICAgICAgICA8L2Rpdj5cbiAqICAgICAgIDwvbGk+XG4gKiAgICAgICA8bGkgZmQtbWVudS1pdGVtPlxuICogICAgICAgICAgIDxkaXYgZmQtbWVudS1pbnRlcmFjdGl2ZT5cbiAqICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT5PcHRpb24gMjwvc3Bhbj5cbiAqICAgICAgICAgICA8L2Rpdj5cbiAqICAgICAgIDwvbGk+XG4gKiAgICA8L2ZkLW1lbnU+XG4gKjwvZmQtc3BsaXQtYnV0dG9uPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtc3BsaXQtYnV0dG9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3NwbGl0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3BsaXQtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzKCldXG59KVxuZXhwb3J0IGNsYXNzIFNwbGl0QnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICAgIC8qKiBUaGUgaWNvbiB0byBpbmNsdWRlIGluIHRoZSBidXR0b24uIFNlZSB0aGUgaWNvbiBwYWdlIGZvciB0aGUgbGlzdCBvZiBpY29ucy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGdseXBoID0gJ3NsaW0tYXJyb3ctZG93bic7XG5cbiAgICAvKiogVGhlIGljb24gdG8gaW5jbHVkZSBpbiB0aGUgYnV0dG9uLiBTZWUgdGhlIGljb24gcGFnZSBmb3IgdGhlIGxpc3Qgb2YgaWNvbnMuICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIC8qKiBAZGVwcmVjYXRlZCBUaGUgVGl0bGUgZm9yIG1haW4gYWN0aW9uIGJ1dHRvbi4gVGhpcyB3aWxsIGJlIGRlcHJlY2F0ZWQgYXMgYW4gaW5wdXQgYnV0IHdpbGwgcmVtYWluIGEgcHJvcGVydHkgb24gdGhpcyBjb21wb25lbnQuICovXG4gICAgQElucHV0KClcbiAgICBtYWluQWN0aW9uVGl0bGU6IHN0cmluZztcblxuICAgIC8qKiBUaGUgdHlwZSBvZiB0aGUgYnV0dG9uLiBUeXBlcyBpbmNsdWRlICdzdGFuZGFyZCcsICdwb3NpdGl2ZScsICdtZWRpdW0nLCBhbmQgJ25lZ2F0aXZlJy5cbiAgICAgKiBMZWF2ZSBlbXB0eSBmb3IgZGVmYXVsdCAoQWN0aW9uIGJ1dHRvbikuJyovXG4gICAgQElucHV0KClcbiAgICBmZFR5cGU6IEJ1dHRvblR5cGU7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2UgaTE4biBjYXBhYmlsaXRpZXMgaW5zdGVhZFxuICAgICAqIEFyaWEtbGFiZWwgYXR0cmlidXRlIHVzZWQgdG8gZGVzY3JpYmUgZXhwYW5kIGJ1dHRvblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZXhwYW5kQnV0dG9uQXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKiogVGl0bGUgYXR0cmlidXRlIHVzZWQgdG8gZGVzY3JpYmUgZXhwYW5kIGJ1dHRvbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZXhwYW5kQnV0dG9uVGl0bGU6IHN0cmluZztcblxuICAgIC8qKiBTZWxlY3RlZCBtZW51IGl0ZW0gKi9cbiAgICBASW5wdXQoKVxuICAgIHNlbGVjdGVkOiBNZW51SXRlbUNvbXBvbmVudDtcblxuICAgIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgZWxlbWVudCBzaG91bGQga2VlcCBhIGZpeGVkIHdpZHRoLiBUaGUgd2lkdGggY291bGQgY2hhbmdlIGlmIHRoZSB0ZXh0IGNoYW5nZXMgbGVuZ3RoLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZml4ZWRXaWR0aCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIG1haW5BY3Rpb25UaXRsZSwga2VlcE1haW5BY3Rpb24gb3B0aW9uIGFuZCB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmVcbiAgICAgKiBleGVjdXRlZCB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIG1haW5BY3Rpb246IE1haW5BY3Rpb247XG5cbiAgICAvKiogYXJpYS1sYWJlbCBhdHRyaWJ1dGUgKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFsTGFiZWw6IHN0cmluZztcblxuICAgIC8qKiBFdmVudCBzZW50IHdoZW4gcHJpbWFyeSBidXR0b24gaXMgY2xpY2tlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHByaW1hcnlCdXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChTcGxpdEJ1dHRvbkFjdGlvblRpdGxlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gICAgdGl0bGVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoTWVudUNvbXBvbmVudClcbiAgICBtZW51OiBNZW51Q29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdtYWluQWN0aW9uQnV0dG9uJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gICAgbWFpbkFjdGlvbkJ0bjogRWxlbWVudFJlZjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnbWVudUFjdGlvbkJ1dHRvbicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgIG1lbnVBY3Rpb25CdG46IEVsZW1lbnRSZWY7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG1haW5CdXR0b25XaWR0aDogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgdHlwZUNsYXNzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZkVHlwZSA/IGBmZC1idXR0b24tc3BsaXQtLSR7dGhpcy5mZFR5cGV9YCA6ICcnO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbWVudUl0ZW1TdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9tZW51U3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jb250ZW50RGVuc2l0eVN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbWVudUFjdGl2ZVBhdGhTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX2Rlc3Ryb3kkOiBEZXN0cm95ZWRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9jb250ZW50RGVuc2l0eU9ic2VydmVyOiBDb250ZW50RGVuc2l0eU9ic2VydmVyLFxuICAgICAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyXG4gICAgKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gRW1pdHMgZXZlbnQgd2hlbiBtYWluIGJ1dHRvbiBpcyBjbGlja2VkICovXG4gICAgb25NYWluQnV0dG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcmltYXJ5QnV0dG9uQ2xpY2tlZC5lbWl0KGV2ZW50KTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5tYWluQWN0aW9uICYmIHRoaXMubWFpbkFjdGlvbi5jYWxsYmFjaykge1xuICAgICAgICAgICAgdGhpcy5tYWluQWN0aW9uLmNhbGxiYWNrKCk7XG4gICAgICAgIH1cbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudS5fbWVudUl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0ubWVudUludGVyYWN0aXZlLl9mcm9tU3BsaXRCdXR0b24gPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fc2V0dXBNZW51U3Vic2NyaXB0aW9uKCk7XG4gICAgICAgIHRoaXMuX3NldHVwTWVudUl0ZW1TdWJzY3JpcHRpb25zKCk7XG4gICAgICAgIHRoaXMuX2hhbmRsZU1haW5BY3Rpb25PYmplY3QoKTtcblxuICAgICAgICBpZiAoIXRoaXMubWFpbkFjdGlvblRpdGxlICYmICF0aGlzLnRpdGxlVGVtcGxhdGUgJiYgIXRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0TWVudUl0ZW0odGhpcy5tZW51Ll9tZW51SXRlbXMuZmlyc3QpO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLm1haW5BY3Rpb25UaXRsZSAmJiB0aGlzLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdE1lbnVJdGVtKHRoaXMuc2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fbWVudUFjdGl2ZVBhdGhTdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICAgICAgdGhpcy5tZW51LmFjdGl2ZVBhdGguc3Vic2NyaWJlKChpdGVtcykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RJdGVtID0gaXRlbXNbaXRlbXMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICAgICAgaWYgKGxhc3RJdGVtICYmICFsYXN0SXRlbS5zdWJtZW51KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVudS5jbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9mb2N1c1RyaWdnZXJFbGVtZW50KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29udGVudERlbnNpdHlPYnNlcnZlci5pc0NvbXBhY3QkXG4gICAgICAgICAgICAucGlwZSh0YXAodGhpcy5fYWRkQnV0dG9uVGV4dENsYXNzKSwgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKCdzZWxlY3RlZCcgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RNZW51SXRlbSh0aGlzLnNlbGVjdGVkKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoJ21haW5BY3Rpb24nIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZU1haW5BY3Rpb25PYmplY3QoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX21lbnVJdGVtU3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9tZW51U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2NvbnRlbnREZW5zaXR5U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX21lbnVBY3RpdmVQYXRoU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEZ1bmN0aW9uIGNhbGxlZCB0byBzZWxlY3QgYSBtZW51IGl0ZW0gZm9yIHRoZSBzcGxpdCBidXR0b24uICovXG4gICAgc2VsZWN0TWVudUl0ZW0obWVudUl0ZW06IE1lbnVJdGVtQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChtZW51SXRlbSAmJiAoIXRoaXMubWFpbkFjdGlvbiB8fCAhdGhpcy5tYWluQWN0aW9uLmtlZXBNYWluQWN0aW9uKSkge1xuICAgICAgICAgICAgbWVudUl0ZW0uc2V0U2VsZWN0ZWQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXcmFwcGVyIGdldHMgZm9jdXNlZCBwcm9ncmFtbWF0aWNhbGx5IGJ5IG1lbnVcbiAgICAgKiB3aGVuIHRoZSBcImVzY2FwZVwiIGJ1dHRvbiBpcyBwcmVzc2VkLlxuICAgICAqIEluIHRoaXMgY2FzZSB3ZSBuZWVkIHRvIHRyYW5zaXQgZm9jdXMgdG8gdGhlIFwibW9yZSBhY3Rpb25zXCIgYnV0dG9uXG4gICAgICovXG4gICAgX29uR3JvdXBGb2N1c2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb2N1c1RyaWdnZXJFbGVtZW50KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRNYWluQnV0dG9uV2lkdGgoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1haW5BY3Rpb25CdG4gJiYgdGhpcy5tYWluQWN0aW9uQnRuLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMubWFpbkJ1dHRvbldpZHRoID0gdGhpcy5tYWluQWN0aW9uQnRuLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggKyAncHgnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXR1cE1lbnVJdGVtU3Vic2NyaXB0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51Ll9tZW51SXRlbXMuZm9yRWFjaCgobWVudUl0ZW0pID0+IHtcbiAgICAgICAgICAgIG1lbnVJdGVtLm9uU2VsZWN0LnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5maXhlZFdpZHRoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2dldE1haW5CdXR0b25XaWR0aCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5fbWVudUl0ZW1TdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgICAgICAgICBtZW51SXRlbS5vblNlbGVjdC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9oYW5kbGVNZW51SXRlbVNlbGVjdGlvbihtZW51SXRlbSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaGFuZGxlTWVudUl0ZW1TZWxlY3Rpb24obWVudUl0ZW06IE1lbnVJdGVtQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5tYWluQWN0aW9uIHx8ICF0aGlzLm1haW5BY3Rpb24ua2VlcE1haW5BY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBtZW51SXRlbTtcbiAgICAgICAgICAgIHRoaXMubWVudS5fbWVudUl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBpdGVtLnNldFNlbGVjdGVkKGZhbHNlLCB0cnVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgbWVudUl0ZW0uc2V0U2VsZWN0ZWQodHJ1ZSwgdHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLnRpdGxlVGVtcGxhdGUgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5tYWluQWN0aW9uVGl0bGUgPSBtZW51SXRlbS5tZW51SXRlbVRpdGxlLnRpdGxlO1xuICAgICAgICAgICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXR1cE1lbnVTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX21lbnVTdWJzY3JpcHRpb24gPSB0aGlzLm1lbnUuX21lbnVJdGVtcy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9tZW51SXRlbVN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMuX21lbnVJdGVtU3Vic2NyaXB0aW9ucy5jbG9zZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuX3NldHVwTWVudUl0ZW1TdWJzY3JpcHRpb25zKCk7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBjYWxsIG1hcmtGb3JDaGVjayBvbmNlIG1lbnUgb3BlbiBzdGF0ZSBnZXRzIGNoYW5nZWRcbiAgICAgICAgdGhpcy5fbWVudVN1YnNjcmlwdGlvbi5hZGQodGhpcy5tZW51LmlzT3BlbkNoYW5nZS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCkpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZU1haW5BY3Rpb25PYmplY3QoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1haW5BY3Rpb24gJiYgdHlwZW9mIHRoaXMubWFpbkFjdGlvbi5tYWluQWN0aW9uVGl0bGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB0aGlzLm1haW5BY3Rpb25UaXRsZSA9IHRoaXMubWFpbkFjdGlvbi5tYWluQWN0aW9uVGl0bGU7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5tYWluQWN0aW9uICYmIHRoaXMubWFpbkFjdGlvbi5tYWluQWN0aW9uVGl0bGUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgdGhpcy50aXRsZVRlbXBsYXRlID0gdGhpcy5tYWluQWN0aW9uLm1haW5BY3Rpb25UaXRsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYWRkQnV0dG9uVGV4dENsYXNzID0gKGNvbXBhY3Q6IGJvb2xlYW4pOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3QgdGV4dFNwYW5FbGVtZW50ID0gdGhpcy5tYWluQWN0aW9uQnRuPy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5mZC1idXR0b25fX3RleHQnKTtcbiAgICAgICAgaWYgKCF0ZXh0U3BhbkVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzcGxpdEJ1dHRvblRleHRDbGFzc2VzLmZvckVhY2goKF9jbGFzcykgPT4gdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGV4dFNwYW5FbGVtZW50LCBfY2xhc3MpKTtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3ModGV4dFNwYW5FbGVtZW50LCBzcGxpdEJ1dHRvblRleHRDbGFzcyk7XG4gICAgfTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZm9jdXNUcmlnZ2VyRWxlbWVudCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51QWN0aW9uQnRuPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwiZmQtYnV0dG9uLXNwbGl0IGZkLWhhcy1tYXJnaW4tcmlnaHQtc21hbGxcIlxuICAgIFtuZ0NsYXNzXT1cInR5cGVDbGFzc1wiXG4gICAgcm9sZT1cImdyb3VwXCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFsTGFiZWwgfHwgKCdjb3JlU3BsaXRCdXR0b24uYXJpYWxMYWJlbCcgfCBmZFRyYW5zbGF0ZSlcIlxuICAgIFtmZE1lbnVUcmlnZ2VyXT1cIm1lbnVcIlxuICAgIChmb2N1cyk9XCJfb25Hcm91cEZvY3VzZWQoKVwiXG4+XG4gICAgPGJ1dHRvblxuICAgICAgICBmZC1idXR0b25cbiAgICAgICAgI21haW5BY3Rpb25CdXR0b25cbiAgICAgICAgW2xhYmVsXT1cIm1haW5BY3Rpb25UaXRsZVwiXG4gICAgICAgIFtzdHlsZS53aWR0aF09XCJtYWluQnV0dG9uV2lkdGhcIlxuICAgICAgICBbZmRUeXBlXT1cImZkVHlwZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJvbk1haW5CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aXRsZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9idXR0b24+XG5cbiAgICA8YnV0dG9uXG4gICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAjbWVudUFjdGlvbkJ1dHRvblxuICAgICAgICBbZ2x5cGhdPVwiZ2x5cGhcIlxuICAgICAgICBbZmRUeXBlXT1cImZkVHlwZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFthcmlhTGFiZWxdPVwiZXhwYW5kQnV0dG9uQXJpYUxhYmVsIHx8ICgnY29yZVNwbGl0QnV0dG9uLmV4cGFuZEJ1dHRvbkFyaWFMYWJlbCcgfCBmZFRyYW5zbGF0ZSlcIlxuICAgICAgICBbYXR0ci50aXRsZV09XCJcbiAgICAgICAgICAgIGV4cGFuZEJ1dHRvblRpdGxlIHx8IGV4cGFuZEJ1dHRvbkFyaWFMYWJlbCB8fCAoJ2NvcmVTcGxpdEJ1dHRvbi5leHBhbmRCdXR0b25BcmlhTGFiZWwnIHwgZmRUcmFuc2xhdGUpXG4gICAgICAgIFwiXG4gICAgICAgIFtjbGFzcy5pcy1hY3RpdmVdPVwibWVudS5pc09wZW5cIlxuICAgID48L2J1dHRvbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmZC1tZW51XCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|
|
237
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3NwbGl0LWJ1dHRvbi9zcGxpdC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc3BsaXQtYnV0dG9uL3NwbGl0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUVULFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFdEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7QUFFaEUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsdUJBQXVCLENBQUM7QUFDNUQsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFFdEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBU0gsTUFBTSxPQUFPLG9CQUFvQjtJQXVFN0IsY0FBYztJQUNkLElBQUksU0FBUztRQUNULE9BQU8s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QURaLFlBQVk7dUJBQUMsc0JBQXNCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUszRCxJQUFJO3NCQURILFlBQVk7dUJBQUMsYUFBYTtnQkFLM0IsYUFBYTtzQkFEWixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFLbkQsYUFBYTtzQkFEWixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRGVzdHJveVJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCdXR0b25UeXBlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBNZW51Q29tcG9uZW50LCBNZW51SXRlbUNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9tZW51JztcblxuaW1wb3J0IHsgU3BsaXRCdXR0b25BY3Rpb25UaXRsZSB9IGZyb20gJy4vc3BsaXQtYnV0dG9uLXV0aWxzL3NwbGl0LWJ1dHRvbi5kaXJlY3RpdmVzJztcbmltcG9ydCB7IE1haW5BY3Rpb24gfSBmcm9tICcuL21haW4tYWN0aW9uJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5T2JzZXJ2ZXIsIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuZXhwb3J0IGNvbnN0IHNwbGl0QnV0dG9uVGV4dENsYXNzID0gJ2ZkLWJ1dHRvbi1zcGxpdF9fdGV4dCc7XG5jb25zdCBzcGxpdEJ1dHRvblRleHRDbGFzc2VzID0gW3NwbGl0QnV0dG9uVGV4dENsYXNzXTtcblxuLyoqXG4gKiBTcGxpdCBCdXR0b24gY29tcG9uZW50LCB1c2VkIHRvIGVuaGFuY2Ugc3RhbmRhcmQgSFRNTCBidXR0b24gYW5kIGFkZCBwb3NzaWJpbGl0eSB0byBwdXQgc29tZSBkcm9wZG93biB3aXRoXG4gKiBhZGRpdGlvbmFsIG9wdGlvbnMuXG4gKlxuICogYGBgaHRtbFxuICogPGZkLXNwbGl0LWJ1dHRvbj5cbiAqICAgPGZkLW1lbnU+XG4gKiAgICAgICA8bGkgZmQtbWVudS1pdGVtPlxuICogICAgICAgICAgIDxkaXYgZmQtbWVudS1pbnRlcmFjdGl2ZT5cbiAqICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT5PcHRpb24gMTwvc3Bhbj5cbiAqICAgICAgICAgICA8L2Rpdj5cbiAqICAgICAgIDwvbGk+XG4gKiAgICAgICA8bGkgZmQtbWVudS1pdGVtPlxuICogICAgICAgICAgIDxkaXYgZmQtbWVudS1pbnRlcmFjdGl2ZT5cbiAqICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT5PcHRpb24gMjwvc3Bhbj5cbiAqICAgICAgICAgICA8L2Rpdj5cbiAqICAgICAgIDwvbGk+XG4gKiAgICA8L2ZkLW1lbnU+XG4gKjwvZmQtc3BsaXQtYnV0dG9uPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtc3BsaXQtYnV0dG9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3NwbGl0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3BsaXQtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzKCldXG59KVxuZXhwb3J0IGNsYXNzIFNwbGl0QnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICAgIC8qKiBUaGUgaWNvbiB0byBpbmNsdWRlIGluIHRoZSBidXR0b24uIFNlZSB0aGUgaWNvbiBwYWdlIGZvciB0aGUgbGlzdCBvZiBpY29ucy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGdseXBoID0gJ3NsaW0tYXJyb3ctZG93bic7XG5cbiAgICAvKiogVGhlIGljb24gdG8gaW5jbHVkZSBpbiB0aGUgYnV0dG9uLiBTZWUgdGhlIGljb24gcGFnZSBmb3IgdGhlIGxpc3Qgb2YgaWNvbnMuICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIC8qKiBAZGVwcmVjYXRlZCBUaGUgVGl0bGUgZm9yIG1haW4gYWN0aW9uIGJ1dHRvbi4gVGhpcyB3aWxsIGJlIGRlcHJlY2F0ZWQgYXMgYW4gaW5wdXQgYnV0IHdpbGwgcmVtYWluIGEgcHJvcGVydHkgb24gdGhpcyBjb21wb25lbnQuICovXG4gICAgQElucHV0KClcbiAgICBtYWluQWN0aW9uVGl0bGU6IHN0cmluZztcblxuICAgIC8qKiBUaGUgdHlwZSBvZiB0aGUgYnV0dG9uLiBUeXBlcyBpbmNsdWRlICdzdGFuZGFyZCcsICdwb3NpdGl2ZScsICdtZWRpdW0nLCBhbmQgJ25lZ2F0aXZlJy5cbiAgICAgKiBMZWF2ZSBlbXB0eSBmb3IgZGVmYXVsdCAoQWN0aW9uIGJ1dHRvbikuJyovXG4gICAgQElucHV0KClcbiAgICBmZFR5cGU6IEJ1dHRvblR5cGU7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2UgaTE4biBjYXBhYmlsaXRpZXMgaW5zdGVhZFxuICAgICAqIEFyaWEtbGFiZWwgYXR0cmlidXRlIHVzZWQgdG8gZGVzY3JpYmUgZXhwYW5kIGJ1dHRvblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZXhwYW5kQnV0dG9uQXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKiogVGl0bGUgYXR0cmlidXRlIHVzZWQgdG8gZGVzY3JpYmUgZXhwYW5kIGJ1dHRvbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZXhwYW5kQnV0dG9uVGl0bGU6IHN0cmluZztcblxuICAgIC8qKiBTZWxlY3RlZCBtZW51IGl0ZW0gKi9cbiAgICBASW5wdXQoKVxuICAgIHNlbGVjdGVkOiBNZW51SXRlbUNvbXBvbmVudDtcblxuICAgIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgZWxlbWVudCBzaG91bGQga2VlcCBhIGZpeGVkIHdpZHRoLiBUaGUgd2lkdGggY291bGQgY2hhbmdlIGlmIHRoZSB0ZXh0IGNoYW5nZXMgbGVuZ3RoLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZml4ZWRXaWR0aCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIG1haW5BY3Rpb25UaXRsZSwga2VlcE1haW5BY3Rpb24gb3B0aW9uIGFuZCB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmVcbiAgICAgKiBleGVjdXRlZCB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIG1haW5BY3Rpb246IE1haW5BY3Rpb247XG5cbiAgICAvKiogYXJpYS1sYWJlbCBhdHRyaWJ1dGUgKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFsTGFiZWw6IHN0cmluZztcblxuICAgIC8qKiBFdmVudCBzZW50IHdoZW4gcHJpbWFyeSBidXR0b24gaXMgY2xpY2tlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHByaW1hcnlCdXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChTcGxpdEJ1dHRvbkFjdGlvblRpdGxlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gICAgdGl0bGVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoTWVudUNvbXBvbmVudClcbiAgICBtZW51OiBNZW51Q29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdtYWluQWN0aW9uQnV0dG9uJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gICAgbWFpbkFjdGlvbkJ0bjogRWxlbWVudFJlZjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnbWVudUFjdGlvbkJ1dHRvbicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgIG1lbnVBY3Rpb25CdG46IEVsZW1lbnRSZWY7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG1haW5CdXR0b25XaWR0aDogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgdHlwZUNsYXNzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZkVHlwZSA/IGBmZC1idXR0b24tc3BsaXQtLSR7dGhpcy5mZFR5cGV9YCA6ICcnO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbWVudUl0ZW1TdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9tZW51U3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jb250ZW50RGVuc2l0eVN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbWVudUFjdGl2ZVBhdGhTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX2Rlc3Ryb3lSZWY6IERlc3Ryb3lSZWYsXG4gICAgICAgIHByaXZhdGUgX2NvbnRlbnREZW5zaXR5T2JzZXJ2ZXI6IENvbnRlbnREZW5zaXR5T2JzZXJ2ZXIsXG4gICAgICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjJcbiAgICApIHt9XG5cbiAgICAvKiogQGhpZGRlbiBFbWl0cyBldmVudCB3aGVuIG1haW4gYnV0dG9uIGlzIGNsaWNrZWQgKi9cbiAgICBvbk1haW5CdXR0b25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnByaW1hcnlCdXR0b25DbGlja2VkLmVtaXQoZXZlbnQpO1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm1haW5BY3Rpb24gJiYgdGhpcy5tYWluQWN0aW9uLmNhbGxiYWNrKSB7XG4gICAgICAgICAgICB0aGlzLm1haW5BY3Rpb24uY2FsbGJhY2soKTtcbiAgICAgICAgfVxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51Ll9tZW51SXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaXRlbS5tZW51SW50ZXJhY3RpdmUuX2Zyb21TcGxpdEJ1dHRvbiA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9zZXR1cE1lbnVTdWJzY3JpcHRpb24oKTtcbiAgICAgICAgdGhpcy5fc2V0dXBNZW51SXRlbVN1YnNjcmlwdGlvbnMoKTtcbiAgICAgICAgdGhpcy5faGFuZGxlTWFpbkFjdGlvbk9iamVjdCgpO1xuXG4gICAgICAgIGlmICghdGhpcy5tYWluQWN0aW9uVGl0bGUgJiYgIXRoaXMudGl0bGVUZW1wbGF0ZSAmJiAhdGhpcy5zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RNZW51SXRlbSh0aGlzLm1lbnUuX21lbnVJdGVtcy5maXJzdCk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMubWFpbkFjdGlvblRpdGxlICYmIHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0TWVudUl0ZW0odGhpcy5zZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9tZW51QWN0aXZlUGF0aFN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICB0aGlzLm1lbnUuYWN0aXZlUGF0aC5zdWJzY3JpYmUoKGl0ZW1zKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbGFzdEl0ZW0gPSBpdGVtc1tpdGVtcy5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgICAgICBpZiAobGFzdEl0ZW0gJiYgIWxhc3RJdGVtLnN1Ym1lbnUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZW51LmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2ZvY3VzVHJpZ2dlckVsZW1lbnQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb250ZW50RGVuc2l0eU9ic2VydmVyLmlzQ29tcGFjdCRcbiAgICAgICAgICAgIC5waXBlKHRhcCh0aGlzLl9hZGRCdXR0b25UZXh0Q2xhc3MpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICgnc2VsZWN0ZWQnIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0TWVudUl0ZW0odGhpcy5zZWxlY3RlZCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCdtYWluQWN0aW9uJyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLl9oYW5kbGVNYWluQWN0aW9uT2JqZWN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9tZW51SXRlbVN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fbWVudVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9jb250ZW50RGVuc2l0eVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9tZW51QWN0aXZlUGF0aFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBGdW5jdGlvbiBjYWxsZWQgdG8gc2VsZWN0IGEgbWVudSBpdGVtIGZvciB0aGUgc3BsaXQgYnV0dG9uLiAqL1xuICAgIHNlbGVjdE1lbnVJdGVtKG1lbnVJdGVtOiBNZW51SXRlbUNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBpZiAobWVudUl0ZW0gJiYgKCF0aGlzLm1haW5BY3Rpb24gfHwgIXRoaXMubWFpbkFjdGlvbi5rZWVwTWFpbkFjdGlvbikpIHtcbiAgICAgICAgICAgIG1lbnVJdGVtLnNldFNlbGVjdGVkKHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV3JhcHBlciBnZXRzIGZvY3VzZWQgcHJvZ3JhbW1hdGljYWxseSBieSBtZW51XG4gICAgICogd2hlbiB0aGUgXCJlc2NhcGVcIiBidXR0b24gaXMgcHJlc3NlZC5cbiAgICAgKiBJbiB0aGlzIGNhc2Ugd2UgbmVlZCB0byB0cmFuc2l0IGZvY3VzIHRvIHRoZSBcIm1vcmUgYWN0aW9uc1wiIGJ1dHRvblxuICAgICAqL1xuICAgIF9vbkdyb3VwRm9jdXNlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9jdXNUcmlnZ2VyRWxlbWVudCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0TWFpbkJ1dHRvbldpZHRoKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5tYWluQWN0aW9uQnRuICYmIHRoaXMubWFpbkFjdGlvbkJ0bi5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLm1haW5CdXR0b25XaWR0aCA9IHRoaXMubWFpbkFjdGlvbkJ0bi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoICsgJ3B4JztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2V0dXBNZW51SXRlbVN1YnNjcmlwdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudS5fbWVudUl0ZW1zLmZvckVhY2goKG1lbnVJdGVtKSA9PiB7XG4gICAgICAgICAgICBtZW51SXRlbS5vblNlbGVjdC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZml4ZWRXaWR0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXRNYWluQnV0dG9uV2lkdGgoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuX21lbnVJdGVtU3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICAgICAgICAgICAgbWVudUl0ZW0ub25TZWxlY3Quc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlTWVudUl0ZW1TZWxlY3Rpb24obWVudUl0ZW0pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZU1lbnVJdGVtU2VsZWN0aW9uKG1lbnVJdGVtOiBNZW51SXRlbUNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMubWFpbkFjdGlvbiB8fCAhdGhpcy5tYWluQWN0aW9uLmtlZXBNYWluQWN0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gbWVudUl0ZW07XG4gICAgICAgICAgICB0aGlzLm1lbnUuX21lbnVJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5zZXRTZWxlY3RlZChmYWxzZSwgdHJ1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIG1lbnVJdGVtLnNldFNlbGVjdGVkKHRydWUsIHRydWUpO1xuICAgICAgICAgICAgdGhpcy50aXRsZVRlbXBsYXRlID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMubWFpbkFjdGlvblRpdGxlID0gbWVudUl0ZW0ubWVudUl0ZW1UaXRsZS50aXRsZTtcbiAgICAgICAgICAgIHRoaXMuX2NkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2V0dXBNZW51U3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9tZW51U3Vic2NyaXB0aW9uID0gdGhpcy5tZW51Ll9tZW51SXRlbXMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fbWVudUl0ZW1TdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLl9tZW51SXRlbVN1YnNjcmlwdGlvbnMuY2xvc2VkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLl9zZXR1cE1lbnVJdGVtU3Vic2NyaXB0aW9ucygpO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gY2FsbCBtYXJrRm9yQ2hlY2sgb25jZSBtZW51IG9wZW4gc3RhdGUgZ2V0cyBjaGFuZ2VkXG4gICAgICAgIHRoaXMuX21lbnVTdWJzY3JpcHRpb24uYWRkKHRoaXMubWVudS5pc09wZW5DaGFuZ2Uuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9oYW5kbGVNYWluQWN0aW9uT2JqZWN0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5tYWluQWN0aW9uICYmIHR5cGVvZiB0aGlzLm1haW5BY3Rpb24ubWFpbkFjdGlvblRpdGxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdGhpcy5tYWluQWN0aW9uVGl0bGUgPSB0aGlzLm1haW5BY3Rpb24ubWFpbkFjdGlvblRpdGxlO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubWFpbkFjdGlvbiAmJiB0aGlzLm1haW5BY3Rpb24ubWFpbkFjdGlvblRpdGxlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICAgIHRoaXMudGl0bGVUZW1wbGF0ZSA9IHRoaXMubWFpbkFjdGlvbi5tYWluQWN0aW9uVGl0bGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2FkZEJ1dHRvblRleHRDbGFzcyA9IChjb21wYWN0OiBib29sZWFuKTogdm9pZCA9PiB7XG4gICAgICAgIGNvbnN0IHRleHRTcGFuRWxlbWVudCA9IHRoaXMubWFpbkFjdGlvbkJ0bj8ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZmQtYnV0dG9uX190ZXh0Jyk7XG4gICAgICAgIGlmICghdGV4dFNwYW5FbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc3BsaXRCdXR0b25UZXh0Q2xhc3Nlcy5mb3JFYWNoKChfY2xhc3MpID0+IHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNsYXNzKHRleHRTcGFuRWxlbWVudCwgX2NsYXNzKSk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRleHRTcGFuRWxlbWVudCwgc3BsaXRCdXR0b25UZXh0Q2xhc3MpO1xuICAgIH07XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2ZvY3VzVHJpZ2dlckVsZW1lbnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudUFjdGlvbkJ0bj8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImZkLWJ1dHRvbi1zcGxpdCBmZC1oYXMtbWFyZ2luLXJpZ2h0LXNtYWxsXCJcbiAgICBbbmdDbGFzc109XCJ0eXBlQ2xhc3NcIlxuICAgIHJvbGU9XCJncm91cFwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhbExhYmVsIHx8ICgnY29yZVNwbGl0QnV0dG9uLmFyaWFsTGFiZWwnIHwgZmRUcmFuc2xhdGUpXCJcbiAgICBbZmRNZW51VHJpZ2dlcl09XCJtZW51XCJcbiAgICAoZm9jdXMpPVwiX29uR3JvdXBGb2N1c2VkKClcIlxuPlxuICAgIDxidXR0b25cbiAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICNtYWluQWN0aW9uQnV0dG9uXG4gICAgICAgIFtsYWJlbF09XCJtYWluQWN0aW9uVGl0bGVcIlxuICAgICAgICBbc3R5bGUud2lkdGhdPVwibWFpbkJ1dHRvbldpZHRoXCJcbiAgICAgICAgW2ZkVHlwZV09XCJmZFR5cGVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAoY2xpY2spPVwib25NYWluQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGl0bGVUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvblxuICAgICAgICBmZC1idXR0b25cbiAgICAgICAgI21lbnVBY3Rpb25CdXR0b25cbiAgICAgICAgW2dseXBoXT1cImdseXBoXCJcbiAgICAgICAgW2ZkVHlwZV09XCJmZFR5cGVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbYXJpYUxhYmVsXT1cImV4cGFuZEJ1dHRvbkFyaWFMYWJlbCB8fCAoJ2NvcmVTcGxpdEJ1dHRvbi5leHBhbmRCdXR0b25BcmlhTGFiZWwnIHwgZmRUcmFuc2xhdGUpXCJcbiAgICAgICAgW2F0dHIudGl0bGVdPVwiXG4gICAgICAgICAgICBleHBhbmRCdXR0b25UaXRsZSB8fCBleHBhbmRCdXR0b25BcmlhTGFiZWwgfHwgKCdjb3JlU3BsaXRCdXR0b24uZXhwYW5kQnV0dG9uQXJpYUxhYmVsJyB8IGZkVHJhbnNsYXRlKVxuICAgICAgICBcIlxuICAgICAgICBbY2xhc3MuaXMtYWN0aXZlXT1cIm1lbnUuaXNPcGVuXCJcbiAgICA+PC9idXR0b24+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmQtbWVudVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Directive, HostBinding, Input, QueryList
|
|
1
|
+
import { ContentChildren, Directive, HostBinding, Input, QueryList } from '@angular/core';
|
|
2
2
|
import { FD_CHECKBOX_COMPONENT } from '@fundamental-ngx/core/checkbox';
|
|
3
|
-
import {
|
|
3
|
+
import { FDK_FOCUSABLE_ITEM_DIRECTIVE, FocusableItemDirective } from '@fundamental-ngx/cdk/utils';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class TableCellDirective extends FocusableItemDirective {
|
|
6
6
|
/** @hidden */
|
|
@@ -50,8 +50,7 @@ export class TableCellDirective extends FocusableItemDirective {
|
|
|
50
50
|
{
|
|
51
51
|
provide: FDK_FOCUSABLE_ITEM_DIRECTIVE,
|
|
52
52
|
useExisting: TableCellDirective
|
|
53
|
-
}
|
|
54
|
-
DestroyedService
|
|
53
|
+
}
|
|
55
54
|
], queries: [{ propertyName: "_checkboxes", predicate: FD_CHECKBOX_COMPONENT }], usesInheritance: true, ngImport: i0 }); }
|
|
56
55
|
}
|
|
57
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: TableCellDirective, decorators: [{
|
|
@@ -66,8 +65,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
66
65
|
{
|
|
67
66
|
provide: FDK_FOCUSABLE_ITEM_DIRECTIVE,
|
|
68
67
|
useExisting: TableCellDirective
|
|
69
|
-
}
|
|
70
|
-
DestroyedService
|
|
68
|
+
}
|
|
71
69
|
]
|
|
72
70
|
}]
|
|
73
71
|
}], ctorParameters: function () { return []; }, propDecorators: { noBorderX: [{
|
|
@@ -119,4 +117,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
119
117
|
type: HostBinding,
|
|
120
118
|
args: ['class.fd-table__cell']
|
|
121
119
|
}] } });
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90YWJsZS9kaXJlY3RpdmVzL3RhYmxlLWNlbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsZUFBZSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQXFCLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBZ0JsRyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsc0JBQXNCO0lBZ0IxRCxjQUFjO0lBQ2QsSUFFSSxTQUFTLENBQUMsS0FBbUI7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDakMsQ0FBQztJQWtDRCxjQUFjO0lBQ2Q7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQTNEWiwwREFBMEQ7UUFHMUQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQix3REFBd0Q7UUFHeEQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQiwwQ0FBMEM7UUFHMUMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQVlsQiwwQ0FBMEM7UUFHMUMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQiw0REFBNEQ7UUFHNUQsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUVuQiw2REFBNkQ7UUFHN0QsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQiw2REFBNkQ7UUFHN0QsV0FBTSxHQUFHLEtBQUssQ0FBQztRQVVmLGNBQWM7UUFFZCxzQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFLckIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBRUQsY0FBYztJQUNkLGtCQUFrQjtRQUNkLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBRTNDLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRTtZQUM3QyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1NBQ2xEO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2IsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDeEM7SUFDTCxDQUFDOzhHQTNFUSxrQkFBa0I7a0dBQWxCLGtCQUFrQixveEJBWGhCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLHNCQUFzQjtnQkFDL0IsV0FBVyxFQUFFLGtCQUFrQjthQUNsQztZQUNEO2dCQUNJLE9BQU8sRUFBRSw0QkFBNEI7Z0JBQ3JDLFdBQVcsRUFBRSxrQkFBa0I7YUFDbEM7U0FDSixzREFxRGdCLHFCQUFxQjs7MkZBbkQ3QixrQkFBa0I7a0JBYjlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdDQUFnQztvQkFDMUMsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxzQkFBc0I7NEJBQy9CLFdBQVcsb0JBQW9CO3lCQUNsQzt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsNEJBQTRCOzRCQUNyQyxXQUFXLG9CQUFvQjt5QkFDbEM7cUJBQ0o7aUJBQ0o7MEVBS0csU0FBUztzQkFGUixXQUFXO3VCQUFDLDRDQUE0Qzs7c0JBQ3hELEtBQUs7Z0JBTU4sU0FBUztzQkFGUixXQUFXO3VCQUFDLDBDQUEwQzs7c0JBQ3RELEtBQUs7Z0JBTU4sU0FBUztzQkFGUixXQUFXO3VCQUFDLGlDQUFpQzs7c0JBQzdDLEtBQUs7Z0JBTUYsU0FBUztzQkFGWixXQUFXO3VCQUFDLGlDQUFpQzs7c0JBQzdDLEtBQUs7Z0JBV04sU0FBUztzQkFGUixXQUFXO3VCQUFDLGlDQUFpQzs7c0JBQzdDLEtBQUs7Z0JBTU4sVUFBVTtzQkFGVCxXQUFXO3VCQUFDLG1DQUFtQzs7c0JBQy9DLEtBQUs7Z0JBTU4sU0FBUztzQkFGUixXQUFXO3VCQUFDLGtDQUFrQzs7c0JBQzlDLEtBQUs7Z0JBTU4sTUFBTTtzQkFGTCxXQUFXO3VCQUFDLCtCQUErQjs7c0JBQzNDLEtBQUs7Z0JBS04sR0FBRztzQkFERixLQUFLO2dCQUtOLFdBQVc7c0JBRFYsZUFBZTt1QkFBQyxxQkFBcUI7Z0JBS3RDLGlCQUFpQjtzQkFEaEIsV0FBVzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIElucHV0LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50LCBGRF9DSEVDS0JPWF9DT01QT05FTlQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY2hlY2tib3gnO1xuaW1wb3J0IHsgRkRLX0ZPQ1VTQUJMRV9JVEVNX0RJUkVDVElWRSwgRm9jdXNhYmxlSXRlbURpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkVGFibGVDZWxsXSwgW2ZkLXRhYmxlLWNlbGxdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRm9jdXNhYmxlSXRlbURpcmVjdGl2ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBUYWJsZUNlbGxEaXJlY3RpdmVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRLX0ZPQ1VTQUJMRV9JVEVNX0RJUkVDVElWRSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBUYWJsZUNlbGxEaXJlY3RpdmVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDZWxsRGlyZWN0aXZlIGV4dGVuZHMgRm9jdXNhYmxlSXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIC8qKiBXaGV0aGVyIHRvIHNob3cgdGhlIHRhYmxlIGNlbGwncyBob3Jpem9udGFsIGJvcmRlcnMgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLXRhYmxlX19jZWxsLS1uby1ob3Jpem9udGFsLWJvcmRlcicpXG4gICAgQElucHV0KClcbiAgICBub0JvcmRlclggPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIHNob3cgdGhlIHRhYmxlIGNlbGwncyB2ZXJ0aWNhbCBib3JkZXJzICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC10YWJsZV9fY2VsbC0tbm8tdmVydGljYWwtYm9yZGVyJylcbiAgICBASW5wdXQoKVxuICAgIG5vQm9yZGVyWSA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHRhYmxlIGNlbGwgaXMgYWN0aXZhYmxlICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC10YWJsZV9fY2VsbC0tYWN0aXZhYmxlJylcbiAgICBASW5wdXQoKVxuICAgIGFjdGl2YWJsZSA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLXRhYmxlX19jZWxsLS1mb2N1c2FibGUnKVxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGZvY3VzYWJsZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuZmRrRm9jdXNhYmxlSXRlbSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgZm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mZGtGb2N1c2FibGVJdGVtO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZSB0YWJsZSBjZWxsIGlzIGhvdmVyYWJsZSAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtdGFibGVfX2NlbGwtLWhvdmVyYWJsZScpXG4gICAgQElucHV0KClcbiAgICBob3ZlcmFibGUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSB0YWJsZSBjZWxsJ3Mgd2lkdGggc2hvdWxkIGZpdCB0byBjb250ZW50ICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtdGFibGVfX2NlbGwtLWZpdC1jb250ZW50JylcbiAgICBASW5wdXQoKVxuICAgIGZpdENvbnRlbnQgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSB0YWJsZSBjZWxsIHNob3VsZG4ndCBoYXZlIHBhZGRpbmcgb24gc2lkZXMgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLXRhYmxlX19jZWxsLS1uby1wYWRkaW5nJylcbiAgICBASW5wdXQoKVxuICAgIG5vUGFkZGluZyA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHRhYmxlIGNlbGwgaW5kaWNhdGVzIHRoYXQgdGhlcmUgaXMgbm8gZGF0YSAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtdGFibGVfX2NlbGwtLW5vLWRhdGEnKVxuICAgIEBJbnB1dCgpXG4gICAgbm9EYXRhID0gZmFsc2U7XG5cbiAgICAvKiogS2V5IG9mIGEgY2VsbCBlbGVtZW50LCBpdCdzIHVzZWQgdG8gaWRlbnRpZnkgdGhpcyBjZWxsIHdpdGggY2VydGFpbiBjb2x1bW4gKi9cbiAgICBASW5wdXQoKVxuICAgIGtleTogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKEZEX0NIRUNLQk9YX0NPTVBPTkVOVClcbiAgICBfY2hlY2tib3hlczogUXVlcnlMaXN0PENoZWNrYm94Q29tcG9uZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC10YWJsZV9fY2VsbCcpXG4gICAgX2ZkVGFibGVDZWxsQ2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5mZGtGb2N1c2FibGVJdGVtID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNlbGwgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBpZiAodGhpcy5fY2hlY2tib3hlcyAmJiB0aGlzLl9jaGVja2JveGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgY2VsbC5jbGFzc0xpc3QuYWRkKCdmZC10YWJsZV9fY2VsbC0tY2hlY2tib3gnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm5vRGF0YSkge1xuICAgICAgICAgICAgY2VsbC5zZXRBdHRyaWJ1dGUoJ2NvbHNwYW4nLCAnMTAwJScpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|