@porscheinformatik/clr-addons 17.5.3 → 17.5.5
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/esm2022/history/history-pinned.mjs +18 -7
- package/esm2022/history/history.mjs +18 -7
- package/esm2022/history/history.provider.mjs +8 -0
- package/esm2022/history/index.mjs +2 -1
- package/esm2022/location-bar/location-bar-node/location-bar-node.component.mjs +13 -4
- package/esm2022/location-bar/location-bar-search/location-bar-search.component.mjs +5 -8
- package/fesm2022/clr-addons.mjs +50 -20
- package/fesm2022/clr-addons.mjs.map +1 -1
- package/history/history-pinned.d.ts +4 -2
- package/history/history.d.ts +4 -2
- package/history/history.provider.d.ts +15 -0
- package/history/index.d.ts +1 -0
- package/location-bar/location-bar-node/location-bar-node.component.d.ts +2 -0
- package/location-bar/location-bar-search/location-bar-search.component.d.ts +1 -1
- package/package.json +1 -1
- package/styles/clr-addons-phs.css +3 -0
- package/styles/clr-addons-phs.css.map +1 -1
- package/styles/clr-addons-phs.min.css +1 -1
- package/styles/clr-addons-phs.min.css.map +1 -1
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright (c) 2018-
|
|
2
|
+
* Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.
|
|
3
3
|
* This software is released under MIT license.
|
|
4
4
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5
5
|
*/
|
|
6
|
-
import { Component, Input } from '@angular/core';
|
|
6
|
+
import { Component, Inject, Input, Optional } from '@angular/core';
|
|
7
7
|
import { ClrHistoryService } from './history.service';
|
|
8
|
+
import { HISTORY_PROVIDER, HistoryProvider } from './history.provider';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
import * as i1 from "./history.service";
|
|
10
11
|
import * as i2 from "@angular/common";
|
|
12
|
+
import * as i3 from "./history.provider";
|
|
11
13
|
export class ClrHistoryPinned {
|
|
12
|
-
constructor(historyService) {
|
|
14
|
+
constructor(historyService, historyProvider) {
|
|
13
15
|
this.historyService = historyService;
|
|
16
|
+
this.historyProvider = historyProvider;
|
|
14
17
|
/**
|
|
15
18
|
* The array of history elements to be displayed.
|
|
16
19
|
*/
|
|
@@ -18,7 +21,10 @@ export class ClrHistoryPinned {
|
|
|
18
21
|
this.active = false;
|
|
19
22
|
}
|
|
20
23
|
ngOnInit() {
|
|
21
|
-
|
|
24
|
+
const historyElements = this.historyService.getHistoryDisplay(this.username, this.context);
|
|
25
|
+
this.historyElements = this.historyProvider
|
|
26
|
+
? this.historyProvider.getModifiedHistoryEntries(historyElements)
|
|
27
|
+
: historyElements;
|
|
22
28
|
this.historyService.initializeCookieSettings(this.username, this.domain);
|
|
23
29
|
this.settingsSubscription = this.historyService.cookieSettings$.subscribe(settings => {
|
|
24
30
|
const setting = settings.find(setting => setting.username === this.username);
|
|
@@ -30,13 +36,18 @@ export class ClrHistoryPinned {
|
|
|
30
36
|
ngOnDestroy() {
|
|
31
37
|
this.settingsSubscription.unsubscribe();
|
|
32
38
|
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ClrHistoryPinned, deps: [{ token: i1.ClrHistoryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ClrHistoryPinned, deps: [{ token: i1.ClrHistoryService }, { token: HISTORY_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
40
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: ClrHistoryPinned, selector: "clr-history-pinned", inputs: { username: ["clrUsername", "username"], context: ["clrContext", "context"], domain: ["clrDomain", "domain"] }, ngImport: i0, template: "<nav aria-label=\"history\" class=\"history-container\" *ngIf=\"historyElements.length && active\">\n <ol class=\"history\">\n <ng-container *ngFor=\"let historyItem of historyElements\">\n <li *ngIf=\"historyItem.url\" class=\"history-item\">\n <a [href]=\"historyItem.url\">{{historyItem.title}}</a>\n </li>\n </ng-container>\n </ol>\n</nav>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
35
41
|
}
|
|
36
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ClrHistoryPinned, decorators: [{
|
|
37
43
|
type: Component,
|
|
38
44
|
args: [{ selector: 'clr-history-pinned', template: "<nav aria-label=\"history\" class=\"history-container\" *ngIf=\"historyElements.length && active\">\n <ol class=\"history\">\n <ng-container *ngFor=\"let historyItem of historyElements\">\n <li *ngIf=\"historyItem.url\" class=\"history-item\">\n <a [href]=\"historyItem.url\">{{historyItem.title}}</a>\n </li>\n </ng-container>\n </ol>\n</nav>\n" }]
|
|
39
|
-
}], ctorParameters: () => [{ type: i1.ClrHistoryService }
|
|
45
|
+
}], ctorParameters: () => [{ type: i1.ClrHistoryService }, { type: i3.HistoryProvider, decorators: [{
|
|
46
|
+
type: Inject,
|
|
47
|
+
args: [HISTORY_PROVIDER]
|
|
48
|
+
}, {
|
|
49
|
+
type: Optional
|
|
50
|
+
}] }], propDecorators: { username: [{
|
|
40
51
|
type: Input,
|
|
41
52
|
args: ['clrUsername']
|
|
42
53
|
}], context: [{
|
|
@@ -46,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
46
57
|
type: Input,
|
|
47
58
|
args: ['clrDomain']
|
|
48
59
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS1waW5uZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9oaXN0b3J5L2hpc3RvcnktcGlubmVkLnRzIiwiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvaGlzdG9yeS9oaXN0b3J5LXBpbm5lZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBTXZFLE1BQU0sT0FBTyxnQkFBZ0I7SUFZM0IsWUFDVSxjQUFpQyxFQUNLLGVBQWdDO1FBRHRFLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNLLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQVRoRjs7V0FFRztRQUNILG9CQUFlLEdBQXNCLEVBQUUsQ0FBQztRQUN4QyxXQUFNLEdBQUcsS0FBSyxDQUFDO0lBTVosQ0FBQztJQUVKLFFBQVE7UUFDTixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWU7WUFDekMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMseUJBQXlCLENBQUMsZUFBZSxDQUFDO1lBQ2pFLENBQUMsQ0FBQyxlQUFlLENBQUM7UUFFcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ25GLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3RSxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNaLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztZQUN0QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQyxDQUFDOzhHQWxDVSxnQkFBZ0IsbURBY2pCLGdCQUFnQjtrR0FkZixnQkFBZ0Isa0xDaEI3QixvWEFTQTs7MkZET2EsZ0JBQWdCO2tCQUo1QixTQUFTOytCQUNFLG9CQUFvQjs7MEJBaUIzQixNQUFNOzJCQUFDLGdCQUFnQjs7MEJBQUcsUUFBUTt5Q0FiZixRQUFRO3NCQUE3QixLQUFLO3VCQUFDLGFBQWE7Z0JBQ0MsT0FBTztzQkFBM0IsS0FBSzt1QkFBQyxZQUFZO2dCQUNDLE1BQU07c0JBQXpCLEtBQUs7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyNCBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbHJIaXN0b3J5TW9kZWwgfSBmcm9tICcuL2hpc3RvcnktbW9kZWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IENsckhpc3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi9oaXN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBISVNUT1JZX1BST1ZJREVSLCBIaXN0b3J5UHJvdmlkZXIgfSBmcm9tICcuL2hpc3RvcnkucHJvdmlkZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItaGlzdG9yeS1waW5uZWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaGlzdG9yeS1waW5uZWQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIENsckhpc3RvcnlQaW5uZWQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgnY2xyVXNlcm5hbWUnKSB1c2VybmFtZTogc3RyaW5nO1xuICBASW5wdXQoJ2NsckNvbnRleHQnKSBjb250ZXh0OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICBASW5wdXQoJ2NsckRvbWFpbicpIGRvbWFpbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYXJyYXkgb2YgaGlzdG9yeSBlbGVtZW50cyB0byBiZSBkaXNwbGF5ZWQuXG4gICAqL1xuICBoaXN0b3J5RWxlbWVudHM6IENsckhpc3RvcnlNb2RlbFtdID0gW107XG4gIGFjdGl2ZSA9IGZhbHNlO1xuICBwcml2YXRlIHNldHRpbmdzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBoaXN0b3J5U2VydmljZTogQ2xySGlzdG9yeVNlcnZpY2UsXG4gICAgQEluamVjdChISVNUT1JZX1BST1ZJREVSKSBAT3B0aW9uYWwoKSBwcml2YXRlIGhpc3RvcnlQcm92aWRlcjogSGlzdG9yeVByb3ZpZGVyXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBoaXN0b3J5RWxlbWVudHMgPSB0aGlzLmhpc3RvcnlTZXJ2aWNlLmdldEhpc3RvcnlEaXNwbGF5KHRoaXMudXNlcm5hbWUsIHRoaXMuY29udGV4dCk7XG4gICAgdGhpcy5oaXN0b3J5RWxlbWVudHMgPSB0aGlzLmhpc3RvcnlQcm92aWRlclxuICAgICAgPyB0aGlzLmhpc3RvcnlQcm92aWRlci5nZXRNb2RpZmllZEhpc3RvcnlFbnRyaWVzKGhpc3RvcnlFbGVtZW50cylcbiAgICAgIDogaGlzdG9yeUVsZW1lbnRzO1xuXG4gICAgdGhpcy5oaXN0b3J5U2VydmljZS5pbml0aWFsaXplQ29va2llU2V0dGluZ3ModGhpcy51c2VybmFtZSwgdGhpcy5kb21haW4pO1xuICAgIHRoaXMuc2V0dGluZ3NTdWJzY3JpcHRpb24gPSB0aGlzLmhpc3RvcnlTZXJ2aWNlLmNvb2tpZVNldHRpbmdzJC5zdWJzY3JpYmUoc2V0dGluZ3MgPT4ge1xuICAgICAgY29uc3Qgc2V0dGluZyA9IHNldHRpbmdzLmZpbmQoc2V0dGluZyA9PiBzZXR0aW5nLnVzZXJuYW1lID09PSB0aGlzLnVzZXJuYW1lKTtcbiAgICAgIGlmIChzZXR0aW5nKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlID0gc2V0dGluZy5oaXN0b3J5UGlubmVkO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zZXR0aW5nc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8bmF2IGFyaWEtbGFiZWw9XCJoaXN0b3J5XCIgY2xhc3M9XCJoaXN0b3J5LWNvbnRhaW5lclwiICpuZ0lmPVwiaGlzdG9yeUVsZW1lbnRzLmxlbmd0aCAmJiBhY3RpdmVcIj5cbiAgPG9sIGNsYXNzPVwiaGlzdG9yeVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGhpc3RvcnlJdGVtIG9mIGhpc3RvcnlFbGVtZW50c1wiPlxuICAgICAgPGxpICpuZ0lmPVwiaGlzdG9yeUl0ZW0udXJsXCIgY2xhc3M9XCJoaXN0b3J5LWl0ZW1cIj5cbiAgICAgICAgPGEgW2hyZWZdPVwiaGlzdG9yeUl0ZW0udXJsXCI+e3toaXN0b3J5SXRlbS50aXRsZX19PC9hPlxuICAgICAgPC9saT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9vbD5cbjwvbmF2PlxuIl19
|
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright (c) 2018-
|
|
2
|
+
* Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.
|
|
3
3
|
* This software is released under MIT license.
|
|
4
4
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5
5
|
*/
|
|
6
|
-
import { Component, Input } from '@angular/core';
|
|
6
|
+
import { Component, Inject, Input, Optional } from '@angular/core';
|
|
7
7
|
import { ClrHistoryService } from './history.service';
|
|
8
8
|
import { Subject } from 'rxjs';
|
|
9
9
|
import { takeUntil } from 'rxjs/operators';
|
|
10
10
|
import { angleIcon, ClarityIcons, historyIcon } from '@cds/core/icon';
|
|
11
|
+
import { HISTORY_PROVIDER, HistoryProvider } from './history.provider';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
import * as i1 from "./history.service";
|
|
13
14
|
import * as i2 from "@angular/common";
|
|
14
15
|
import * as i3 from "@clr/angular";
|
|
15
16
|
import * as i4 from "../dropdown/clr-dropdown-overflow.directive";
|
|
17
|
+
import * as i5 from "./history.provider";
|
|
16
18
|
ClarityIcons.addIcons(historyIcon, angleIcon);
|
|
17
19
|
export class ClrHistory {
|
|
18
|
-
constructor(historyService) {
|
|
20
|
+
constructor(historyService, historyProvider) {
|
|
19
21
|
this.historyService = historyService;
|
|
22
|
+
this.historyProvider = historyProvider;
|
|
20
23
|
this.pinActive = true;
|
|
21
24
|
this.dropdownHeader = 'History';
|
|
22
25
|
this.dropdownPin = 'Pin History';
|
|
@@ -30,7 +33,10 @@ export class ClrHistory {
|
|
|
30
33
|
this.onDestroy$ = new Subject();
|
|
31
34
|
}
|
|
32
35
|
ngOnInit() {
|
|
33
|
-
|
|
36
|
+
const historyElements = this.historyService.getHistoryDisplay(this.username, this.context);
|
|
37
|
+
this.historyElements = this.historyProvider
|
|
38
|
+
? this.historyProvider.getModifiedHistoryEntries(historyElements)
|
|
39
|
+
: historyElements;
|
|
34
40
|
this.historyService.initializeCookieSettings(this.username, this.domain);
|
|
35
41
|
this.historyService.cookieSettings$.pipe(takeUntil(this.onDestroy$)).subscribe(settings => {
|
|
36
42
|
this.pinActivated = settings.find(setting => setting.username === this.username).historyPinned;
|
|
@@ -46,13 +52,18 @@ export class ClrHistory {
|
|
|
46
52
|
togglePinHistory() {
|
|
47
53
|
this.historyService.setHistoryPinned(this.username, !this.pinActivated);
|
|
48
54
|
}
|
|
49
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ClrHistory, deps: [{ token: i1.ClrHistoryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
55
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ClrHistory, deps: [{ token: i1.ClrHistoryService }, { token: HISTORY_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
56
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: ClrHistory, selector: "clr-history", inputs: { username: ["clrUsername", "username"], context: ["clrContext", "context"], pinActive: ["clrPinActive", "pinActive"], dropdownHeader: ["clrDropdownHeader", "dropdownHeader"], dropdownPin: ["clrDropdownPin", "dropdownPin"], dropdownUnpin: ["clrDropdownUnpin", "dropdownUnpin"], domain: ["clrDomain", "domain"], position: ["clrPosition", "position"] }, ngImport: i0, template: "<clr-dropdown>\n <button type=\"button\" class=\"btn btn-icon btn-link\" clrDropdownTrigger>\n <cds-icon shape=\"history\" size=\"24\"></cds-icon>\n <cds-icon shape=\"angle\" direction=\"down\" size=\"12\"></cds-icon>\n </button>\n <clr-dropdown-menu [clrPosition]=\"position\" *clrIfOpen>\n <label class=\"dropdown-header\" aria-hidden=\"true\">{{dropdownHeader}}</label>\n <button type=\"button\" clrDropdownItem *ngFor=\"let history of historyElements\" (click)=\"select(history)\">\n {{history.title}}\n </button>\n <div *ngIf=\"pinActive\" class=\"dropdown-divider\" role=\"separator\" aria-hidden=\"true\"></div>\n <button clrDropdownItem (click)=\"togglePinHistory()\">\n <span *ngIf=\"pinActive && !pinActivated\">{{dropdownPin}}</span>\n <span *ngIf=\"pinActive && pinActivated\">{{dropdownUnpin}}</span>\n </button>\n </clr-dropdown-menu>\n</clr-dropdown>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i3.ClrIfOpen, selector: "[clrIfOpen]", inputs: ["clrIfOpen"], outputs: ["clrIfOpenChange"] }, { kind: "directive", type: i3.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "component", type: i3.ClrDropdown, selector: "clr-dropdown", inputs: ["clrCloseMenuOnItemClick"] }, { kind: "component", type: i3.ClrDropdownMenu, selector: "clr-dropdown-menu", inputs: ["clrPosition"] }, { kind: "directive", type: i3.ClrDropdownTrigger, selector: "[clrDropdownTrigger],[clrDropdownToggle]" }, { kind: "directive", type: i3.ClrDropdownItem, selector: "[clrDropdownItem]", inputs: ["clrDisabled", "id"] }, { kind: "directive", type: i4.ClrDropdownOverflowDirective, selector: "clr-dropdown-menu", inputs: ["clrDropdownMenuMaxHeight", "clrDropdownMenuItemMinHeight", "clrMarginBottom"] }] }); }
|
|
51
57
|
}
|
|
52
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ClrHistory, decorators: [{
|
|
53
59
|
type: Component,
|
|
54
60
|
args: [{ selector: 'clr-history', template: "<clr-dropdown>\n <button type=\"button\" class=\"btn btn-icon btn-link\" clrDropdownTrigger>\n <cds-icon shape=\"history\" size=\"24\"></cds-icon>\n <cds-icon shape=\"angle\" direction=\"down\" size=\"12\"></cds-icon>\n </button>\n <clr-dropdown-menu [clrPosition]=\"position\" *clrIfOpen>\n <label class=\"dropdown-header\" aria-hidden=\"true\">{{dropdownHeader}}</label>\n <button type=\"button\" clrDropdownItem *ngFor=\"let history of historyElements\" (click)=\"select(history)\">\n {{history.title}}\n </button>\n <div *ngIf=\"pinActive\" class=\"dropdown-divider\" role=\"separator\" aria-hidden=\"true\"></div>\n <button clrDropdownItem (click)=\"togglePinHistory()\">\n <span *ngIf=\"pinActive && !pinActivated\">{{dropdownPin}}</span>\n <span *ngIf=\"pinActive && pinActivated\">{{dropdownUnpin}}</span>\n </button>\n </clr-dropdown-menu>\n</clr-dropdown>\n" }]
|
|
55
|
-
}], ctorParameters: () => [{ type: i1.ClrHistoryService }
|
|
61
|
+
}], ctorParameters: () => [{ type: i1.ClrHistoryService }, { type: i5.HistoryProvider, decorators: [{
|
|
62
|
+
type: Inject,
|
|
63
|
+
args: [HISTORY_PROVIDER]
|
|
64
|
+
}, {
|
|
65
|
+
type: Optional
|
|
66
|
+
}] }], propDecorators: { username: [{
|
|
56
67
|
type: Input,
|
|
57
68
|
args: ['clrUsername']
|
|
58
69
|
}], context: [{
|
|
@@ -77,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
77
88
|
type: Input,
|
|
78
89
|
args: ['clrPosition']
|
|
79
90
|
}] } });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2hpc3RvcnkvaGlzdG9yeS50cyIsIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2hpc3RvcnkvaGlzdG9yeS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7QUFFdkUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFNOUMsTUFBTSxPQUFPLFVBQVU7SUFpQnJCLFlBQ1UsY0FBaUMsRUFDSyxlQUFnQztRQUR0RSxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDSyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFoQnpELGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDWixtQkFBYyxHQUFHLFNBQVMsQ0FBQztRQUM5QixnQkFBVyxHQUFHLGFBQWEsQ0FBQztRQUMxQixrQkFBYSxHQUFHLGVBQWUsQ0FBQztRQUVyQyxhQUFRLEdBQUcsY0FBYyxDQUFDO1FBRWhEOztXQUVHO1FBQ0gsb0JBQWUsR0FBc0IsRUFBRSxDQUFDO1FBQ3hDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ2IsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFLdEMsQ0FBQztJQUVKLFFBQVE7UUFDTixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWU7WUFDekMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMseUJBQXlCLENBQUMsZUFBZSxDQUFDO1lBQ2pFLENBQUMsQ0FBQyxlQUFlLENBQUM7UUFFcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN4RixJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDakcsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQXdCO1FBQzdCLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDckMsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMxRSxDQUFDOzhHQTdDVSxVQUFVLG1EQW1CWCxnQkFBZ0I7a0dBbkJmLFVBQVUsMlpDcEJ2QixnNUJBaUJBOzsyRkRHYSxVQUFVO2tCQUp0QixTQUFTOytCQUNFLGFBQWE7OzBCQXNCcEIsTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUFHLFFBQVE7eUNBbEJmLFFBQVE7c0JBQTdCLEtBQUs7dUJBQUMsYUFBYTtnQkFDQyxPQUFPO3NCQUEzQixLQUFLO3VCQUFDLFlBQVk7Z0JBQ0ksU0FBUztzQkFBL0IsS0FBSzt1QkFBQyxjQUFjO2dCQUNPLGNBQWM7c0JBQXpDLEtBQUs7dUJBQUMsbUJBQW1CO2dCQUNELFdBQVc7c0JBQW5DLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUNJLGFBQWE7c0JBQXZDLEtBQUs7dUJBQUMsa0JBQWtCO2dCQUNMLE1BQU07c0JBQXpCLEtBQUs7dUJBQUMsV0FBVztnQkFDSSxRQUFRO3NCQUE3QixLQUFLO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjQgUG9yc2NoZSBJbmZvcm1hdGlrLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xySGlzdG9yeU1vZGVsIH0gZnJvbSAnLi9oaXN0b3J5LW1vZGVsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDbHJIaXN0b3J5U2VydmljZSB9IGZyb20gJy4vaGlzdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGFuZ2xlSWNvbiwgQ2xhcml0eUljb25zLCBoaXN0b3J5SWNvbiB9IGZyb20gJ0BjZHMvY29yZS9pY29uJztcbmltcG9ydCB7IEhJU1RPUllfUFJPVklERVIsIEhpc3RvcnlQcm92aWRlciB9IGZyb20gJy4vaGlzdG9yeS5wcm92aWRlcic7XG5cbkNsYXJpdHlJY29ucy5hZGRJY29ucyhoaXN0b3J5SWNvbiwgYW5nbGVJY29uKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2xyLWhpc3RvcnknLFxuICB0ZW1wbGF0ZVVybDogJy4vaGlzdG9yeS5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2xySGlzdG9yeSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCdjbHJVc2VybmFtZScpIHVzZXJuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgnY2xyQ29udGV4dCcpIGNvbnRleHQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIEBJbnB1dCgnY2xyUGluQWN0aXZlJykgcGluQWN0aXZlID0gdHJ1ZTtcbiAgQElucHV0KCdjbHJEcm9wZG93bkhlYWRlcicpIGRyb3Bkb3duSGVhZGVyID0gJ0hpc3RvcnknO1xuICBASW5wdXQoJ2NsckRyb3Bkb3duUGluJykgZHJvcGRvd25QaW4gPSAnUGluIEhpc3RvcnknO1xuICBASW5wdXQoJ2NsckRyb3Bkb3duVW5waW4nKSBkcm9wZG93blVucGluID0gJ1VucGluIEhpc3RvcnknO1xuICBASW5wdXQoJ2NsckRvbWFpbicpIGRvbWFpbjogc3RyaW5nO1xuICBASW5wdXQoJ2NsclBvc2l0aW9uJykgcG9zaXRpb24gPSAnYm90dG9tLXJpZ2h0JztcblxuICAvKipcbiAgICogVGhlIGFycmF5IG9mIGhpc3RvcnkgZWxlbWVudHMgdG8gYmUgZGlzcGxheWVkLlxuICAgKi9cbiAgaGlzdG9yeUVsZW1lbnRzOiBDbHJIaXN0b3J5TW9kZWxbXSA9IFtdO1xuICBwaW5BY3RpdmF0ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBvbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGhpc3RvcnlTZXJ2aWNlOiBDbHJIaXN0b3J5U2VydmljZSxcbiAgICBASW5qZWN0KEhJU1RPUllfUFJPVklERVIpIEBPcHRpb25hbCgpIHByaXZhdGUgaGlzdG9yeVByb3ZpZGVyOiBIaXN0b3J5UHJvdmlkZXJcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGhpc3RvcnlFbGVtZW50cyA9IHRoaXMuaGlzdG9yeVNlcnZpY2UuZ2V0SGlzdG9yeURpc3BsYXkodGhpcy51c2VybmFtZSwgdGhpcy5jb250ZXh0KTtcbiAgICB0aGlzLmhpc3RvcnlFbGVtZW50cyA9IHRoaXMuaGlzdG9yeVByb3ZpZGVyXG4gICAgICA/IHRoaXMuaGlzdG9yeVByb3ZpZGVyLmdldE1vZGlmaWVkSGlzdG9yeUVudHJpZXMoaGlzdG9yeUVsZW1lbnRzKVxuICAgICAgOiBoaXN0b3J5RWxlbWVudHM7XG5cbiAgICB0aGlzLmhpc3RvcnlTZXJ2aWNlLmluaXRpYWxpemVDb29raWVTZXR0aW5ncyh0aGlzLnVzZXJuYW1lLCB0aGlzLmRvbWFpbik7XG4gICAgdGhpcy5oaXN0b3J5U2VydmljZS5jb29raWVTZXR0aW5ncyQucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKHNldHRpbmdzID0+IHtcbiAgICAgIHRoaXMucGluQWN0aXZhdGVkID0gc2V0dGluZ3MuZmluZChzZXR0aW5nID0+IHNldHRpbmcudXNlcm5hbWUgPT09IHRoaXMudXNlcm5hbWUpLmhpc3RvcnlQaW5uZWQ7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgc2VsZWN0KGhpc3Rvcnk6IENsckhpc3RvcnlNb2RlbCk6IHZvaWQge1xuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gaGlzdG9yeS51cmw7XG4gIH1cblxuICB0b2dnbGVQaW5IaXN0b3J5KCk6IHZvaWQge1xuICAgIHRoaXMuaGlzdG9yeVNlcnZpY2Uuc2V0SGlzdG9yeVBpbm5lZCh0aGlzLnVzZXJuYW1lLCAhdGhpcy5waW5BY3RpdmF0ZWQpO1xuICB9XG59XG4iLCI8Y2xyLWRyb3Bkb3duPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4taWNvbiBidG4tbGlua1wiIGNsckRyb3Bkb3duVHJpZ2dlcj5cbiAgICA8Y2RzLWljb24gc2hhcGU9XCJoaXN0b3J5XCIgc2l6ZT1cIjI0XCI+PC9jZHMtaWNvbj5cbiAgICA8Y2RzLWljb24gc2hhcGU9XCJhbmdsZVwiIGRpcmVjdGlvbj1cImRvd25cIiBzaXplPVwiMTJcIj48L2Nkcy1pY29uPlxuICA8L2J1dHRvbj5cbiAgPGNsci1kcm9wZG93bi1tZW51IFtjbHJQb3NpdGlvbl09XCJwb3NpdGlvblwiICpjbHJJZk9wZW4+XG4gICAgPGxhYmVsIGNsYXNzPVwiZHJvcGRvd24taGVhZGVyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+e3tkcm9wZG93bkhlYWRlcn19PC9sYWJlbD5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbHJEcm9wZG93bkl0ZW0gKm5nRm9yPVwibGV0IGhpc3Rvcnkgb2YgaGlzdG9yeUVsZW1lbnRzXCIgKGNsaWNrKT1cInNlbGVjdChoaXN0b3J5KVwiPlxuICAgICAge3toaXN0b3J5LnRpdGxlfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8ZGl2ICpuZ0lmPVwicGluQWN0aXZlXCIgY2xhc3M9XCJkcm9wZG93bi1kaXZpZGVyXCIgcm9sZT1cInNlcGFyYXRvclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvZGl2PlxuICAgIDxidXR0b24gY2xyRHJvcGRvd25JdGVtIChjbGljayk9XCJ0b2dnbGVQaW5IaXN0b3J5KClcIj5cbiAgICAgIDxzcGFuICpuZ0lmPVwicGluQWN0aXZlICYmICFwaW5BY3RpdmF0ZWRcIj57e2Ryb3Bkb3duUGlufX08L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cInBpbkFjdGl2ZSAmJiBwaW5BY3RpdmF0ZWRcIj57e2Ryb3Bkb3duVW5waW59fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9jbHItZHJvcGRvd24tbWVudT5cbjwvY2xyLWRyb3Bkb3duPlxuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const HISTORY_PROVIDER = new InjectionToken('HISTORY_PROVIDER');
|
|
3
|
+
/**
|
|
4
|
+
* Interface to be implemented by a history provider to adjust the behavior of the history components.
|
|
5
|
+
* */
|
|
6
|
+
export class HistoryProvider {
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2hpc3RvcnkvaGlzdG9yeS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUFNLGtCQUFrQixDQUFDLENBQUM7QUFFNUU7O0tBRUs7QUFDTCxNQUFNLE9BQWdCLGVBQWU7Q0FRcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xySGlzdG9yeU1vZGVsIH0gZnJvbSAnLi9oaXN0b3J5LW1vZGVsLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBISVNUT1JZX1BST1ZJREVSID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ0hJU1RPUllfUFJPVklERVInKTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgdG8gYmUgaW1wbGVtZW50ZWQgYnkgYSBoaXN0b3J5IHByb3ZpZGVyIHRvIGFkanVzdCB0aGUgYmVoYXZpb3Igb2YgdGhlIGhpc3RvcnkgY29tcG9uZW50cy5cbiAqICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSGlzdG9yeVByb3ZpZGVyIHtcbiAgLyoqXG4gICAqIE1vZGlmaWVzIHRoZSBoaXN0b3J5IGVudHJpZXMgYmVmb3JlIHRoZXkgYXJlIGRpc3BsYXllZC4gVGhlIGxpc3Qgb2YgbW9kaWZpZWQgZW50cmllcyB3aWxsIGJlIHNob3duIHRvIHRoZSB1c2VyLlxuICAgKlxuICAgKiBAcGFyYW0gZW50cmllcyBUaGUgaGlzdG9yeSBlbnRyaWVzIGJlZm9yZSBtb2RpZmljYXRpb25cbiAgICogQHJldHVybnMgVGhlIG1vZGlmaWVkIGhpc3RvcnkgZW50cmllc1xuICAgKi9cbiAgYWJzdHJhY3QgZ2V0TW9kaWZpZWRIaXN0b3J5RW50cmllcyhlbnRyaWVzOiBDbHJIaXN0b3J5TW9kZWxbXSk6IENsckhpc3RvcnlNb2RlbFtdO1xufVxuIl19
|
|
@@ -8,4 +8,5 @@ export * from './history-pinned';
|
|
|
8
8
|
export * from './history.module';
|
|
9
9
|
export * from './history-model.interface';
|
|
10
10
|
export * from './history.service';
|
|
11
|
-
|
|
11
|
+
export * from './history.provider';
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9oaXN0b3J5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjAgUG9yc2NoZSBJbmZvcm1hdGlrLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2hpc3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9oaXN0b3J5LXBpbm5lZCc7XG5leHBvcnQgKiBmcm9tICcuL2hpc3RvcnkubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vaGlzdG9yeS1tb2RlbC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9oaXN0b3J5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9oaXN0b3J5LnByb3ZpZGVyJztcbiJdfQ==
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { Component, EventEmitter, Inject, Input, Optional, Output } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, Inject, Input, Optional, Output, ViewChild, } from '@angular/core';
|
|
2
2
|
import { angleIcon, ClarityIcons, treeViewIcon } from '@cds/core/icon';
|
|
3
3
|
import '@cds/core/icon/register.js';
|
|
4
4
|
import { of } from 'rxjs';
|
|
5
5
|
import { LocationBarNode } from '../location-bar.model';
|
|
6
6
|
import { CONTENT_PROVIDER, LocationBarContentProvider } from '../location-bar.provider';
|
|
7
|
+
import { LocationBarSearchComponent } from '../location-bar-search/location-bar-search.component';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "@angular/common";
|
|
9
10
|
import * as i2 from "@clr/angular";
|
|
@@ -23,6 +24,11 @@ export class LocationBarNodeComponent {
|
|
|
23
24
|
children$.toPromise().then(nodes => this.prepareChildren(nodes || []));
|
|
24
25
|
}
|
|
25
26
|
}
|
|
27
|
+
set locationBarSearch(search) {
|
|
28
|
+
if (search) {
|
|
29
|
+
search.focusInput();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
26
32
|
constructor(contentProvider) {
|
|
27
33
|
this.contentProvider = contentProvider;
|
|
28
34
|
/**
|
|
@@ -115,11 +121,11 @@ export class LocationBarNodeComponent {
|
|
|
115
121
|
this.searchItemChanged.emit(searchedItem);
|
|
116
122
|
}
|
|
117
123
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: LocationBarNodeComponent, deps: [{ token: CONTENT_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
118
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: LocationBarNodeComponent, selector: "clr-location-bar-node", inputs: { parentNode: "parentNode", searchResultItems: ["clrSearchResultItems", "searchResultItems"], searchRequest: ["clrSearchRequest", "searchRequest"] }, outputs: { selectionChanged: "selectionChanged", searchItemChanged: "searchItemChanged" }, host: { properties: { "class.location-bar-node": "true" } }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"parentNode\">\n <ng-content *ngIf=\"parentNode.getChildren()?.length > 0\"></ng-content>\n\n <ng-container\n *ngIf=\"\n (selectableChilds.length > 0 && !parentNode.getSelectedChild()) || selectableChilds.length > 1;\n else singleSelected\n \"\n >\n <clr-dropdown>\n <button\n class=\"btn btn-link btn-sm\"\n (blur)=\"focus = false\"\n (focus)=\"focus = true\"\n (click)=\"resetSearch()\"\n clrDropdownTrigger\n >\n <ng-container *ngIf=\"parentNode.getSelectedChild() as node; else unselected\">\n <span\n (click)=\"resetSearch()\"\n class=\"text-truncate\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ node.label }}\"\n >\n {{ node.label }}\n </span>\n <cds-icon shape=\"angle\" direction=\"down\" size=\"xs\" class=\"caret-icon\"></cds-icon>\n </ng-container>\n <ng-template #unselected>\n <cds-icon class=\"unselected\" size=\"18\" [attr.solid]=\"focus\" shape=\"tree-view\"></cds-icon> ...\n </ng-template>\n </button>\n <clr-dropdown-menu [clrPosition]=\"'bottom-left'\" *clrIfOpen>\n <clr-location-bar-search\n *ngIf=\"searchRequest\"\n [clrSearchRequest]=\"searchRequest\"\n (searchPerformed)=\"onSearch($event)\"\n ></clr-location-bar-search>\n <
|
|
124
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: LocationBarNodeComponent, selector: "clr-location-bar-node", inputs: { parentNode: "parentNode", searchResultItems: ["clrSearchResultItems", "searchResultItems"], searchRequest: ["clrSearchRequest", "searchRequest"] }, outputs: { selectionChanged: "selectionChanged", searchItemChanged: "searchItemChanged" }, host: { properties: { "class.location-bar-node": "true" } }, viewQueries: [{ propertyName: "locationBarSearch", first: true, predicate: ["locationBarSearch"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"parentNode\">\n <ng-content *ngIf=\"parentNode.getChildren()?.length > 0\"></ng-content>\n\n <ng-container\n *ngIf=\"\n (selectableChilds.length > 0 && !parentNode.getSelectedChild()) || selectableChilds.length > 1;\n else singleSelected\n \"\n >\n <clr-dropdown>\n <button\n class=\"btn btn-link btn-sm\"\n (blur)=\"focus = false\"\n (focus)=\"focus = true\"\n (click)=\"resetSearch()\"\n clrDropdownTrigger\n >\n <ng-container *ngIf=\"parentNode.getSelectedChild() as node; else unselected\">\n <span\n (click)=\"resetSearch()\"\n class=\"text-truncate\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ node.label }}\"\n >\n {{ node.label }}\n </span>\n <cds-icon shape=\"angle\" direction=\"down\" size=\"xs\" class=\"caret-icon\"></cds-icon>\n </ng-container>\n <ng-template #unselected>\n <cds-icon class=\"unselected\" size=\"18\" [attr.solid]=\"focus\" shape=\"tree-view\"></cds-icon> ...\n </ng-template>\n </button>\n <clr-dropdown-menu [clrPosition]=\"'bottom-left'\" *clrIfOpen>\n <clr-location-bar-search\n #locationBarSearch\n *ngIf=\"searchRequest\"\n [clrSearchRequest]=\"searchRequest\"\n (searchPerformed)=\"onSearch($event)\"\n ></clr-location-bar-search>\n <ng-container *ngIf=\"displaySearchResult(); else displaySelectableChilds\">\n <ng-container *ngIf=\"searchResultItems.length !== 0; else displayNotFound\">\n <button\n type=\"button\"\n clrDropdownItem\n class=\"text-truncate display-result\"\n *ngFor=\"let searchResultItem of searchResultItems\"\n (click)=\"onSearchItemChanged(searchResultItem)\"\n >\n <ng-container\n *ngTemplateOutlet=\"searchRequest?.searchResultItemRef; context: { $implicit: searchResultItem }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #displayNotFound>\n <span class=\"no-result-text\">\n {{ searchRequest?.noResultsText ?? 'No search result found.' }}\n </span>\n </ng-template>\n </ng-container>\n\n <ng-template #displaySelectableChilds>\n <button\n *ngFor=\"let item of selectableChilds\"\n type=\"button\"\n clrDropdownItem\n class=\"text-truncate display-result\"\n [class.selected-child]=\"item.id === parentNode.getSelectedChild()?.id\"\n (click)=\"selectNode(item)\"\n title=\"{{ item.label }}\"\n >\n {{ item.label }}\n </button>\n </ng-template>\n </clr-dropdown-menu>\n </clr-dropdown>\n </ng-container>\n\n <ng-template #singleSelected>\n <ng-container *ngIf=\"parentNode.getSelectedChild()\">\n <ng-container *ngIf=\"parentNode.getSelectedChild().selectable; else unselectable\">\n <button\n class=\"btn btn-link btn-sm\"\n (click)=\"selectNode(parentNode.getSelectedChild())\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ parentNode.getSelectedChild().label }}\"\n >\n {{ parentNode.getSelectedChild().label }}\n </button>\n </ng-container>\n <ng-template #unselectable>\n <span\n class=\"unselectable-node text-truncate\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ parentNode.getSelectedChild().label }}\"\n >\n {{ parentNode.getSelectedChild().label }}\n </span>\n </ng-template>\n </ng-container>\n </ng-template>\n\n <clr-location-bar-node\n *ngIf=\"parentNode.getSelectedChild() && parentNode.getChildren().length > 0\"\n [parentNode]=\"parentNode.getSelectedChild()\"\n [clrSearchRequest]=\"searchRequest\"\n [clrSearchResultItems]=\"searchResultItems\"\n (selectionChanged)=\"onSelectionChanged($event)\"\n (searchItemChanged)=\"onSearchItemChanged(null)\"\n >\n <span>/</span>\n </clr-location-bar-node>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: i2.ClrDropdown, selector: "clr-dropdown", inputs: ["clrCloseMenuOnItemClick"] }, { kind: "component", type: i2.ClrDropdownMenu, selector: "clr-dropdown-menu", inputs: ["clrPosition"] }, { kind: "directive", type: i2.ClrDropdownTrigger, selector: "[clrDropdownTrigger],[clrDropdownToggle]" }, { kind: "directive", type: i2.ClrDropdownItem, selector: "[clrDropdownItem]", inputs: ["clrDisabled", "id"] }, { kind: "directive", type: i2.ClrIfOpen, selector: "[clrIfOpen]", inputs: ["clrIfOpen"], outputs: ["clrIfOpenChange"] }, { kind: "directive", type: i3.ClrDropdownOverflowDirective, selector: "clr-dropdown-menu", inputs: ["clrDropdownMenuMaxHeight", "clrDropdownMenuItemMinHeight", "clrMarginBottom"] }, { kind: "component", type: LocationBarNodeComponent, selector: "clr-location-bar-node", inputs: ["parentNode", "clrSearchResultItems", "clrSearchRequest"], outputs: ["selectionChanged", "searchItemChanged"] }, { kind: "component", type: i4.LocationBarSearchComponent, selector: "clr-location-bar-search", inputs: ["clrSearchRequest"], outputs: ["searchPerformed"] }] }); }
|
|
119
125
|
}
|
|
120
126
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: LocationBarNodeComponent, decorators: [{
|
|
121
127
|
type: Component,
|
|
122
|
-
args: [{ selector: 'clr-location-bar-node', host: { '[class.location-bar-node]': 'true' }, template: "<ng-container *ngIf=\"parentNode\">\n <ng-content *ngIf=\"parentNode.getChildren()?.length > 0\"></ng-content>\n\n <ng-container\n *ngIf=\"\n (selectableChilds.length > 0 && !parentNode.getSelectedChild()) || selectableChilds.length > 1;\n else singleSelected\n \"\n >\n <clr-dropdown>\n <button\n class=\"btn btn-link btn-sm\"\n (blur)=\"focus = false\"\n (focus)=\"focus = true\"\n (click)=\"resetSearch()\"\n clrDropdownTrigger\n >\n <ng-container *ngIf=\"parentNode.getSelectedChild() as node; else unselected\">\n <span\n (click)=\"resetSearch()\"\n class=\"text-truncate\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ node.label }}\"\n >\n {{ node.label }}\n </span>\n <cds-icon shape=\"angle\" direction=\"down\" size=\"xs\" class=\"caret-icon\"></cds-icon>\n </ng-container>\n <ng-template #unselected>\n <cds-icon class=\"unselected\" size=\"18\" [attr.solid]=\"focus\" shape=\"tree-view\"></cds-icon> ...\n </ng-template>\n </button>\n <clr-dropdown-menu [clrPosition]=\"'bottom-left'\" *clrIfOpen>\n <clr-location-bar-search\n *ngIf=\"searchRequest\"\n [clrSearchRequest]=\"searchRequest\"\n (searchPerformed)=\"onSearch($event)\"\n ></clr-location-bar-search>\n <
|
|
128
|
+
args: [{ selector: 'clr-location-bar-node', host: { '[class.location-bar-node]': 'true' }, template: "<ng-container *ngIf=\"parentNode\">\n <ng-content *ngIf=\"parentNode.getChildren()?.length > 0\"></ng-content>\n\n <ng-container\n *ngIf=\"\n (selectableChilds.length > 0 && !parentNode.getSelectedChild()) || selectableChilds.length > 1;\n else singleSelected\n \"\n >\n <clr-dropdown>\n <button\n class=\"btn btn-link btn-sm\"\n (blur)=\"focus = false\"\n (focus)=\"focus = true\"\n (click)=\"resetSearch()\"\n clrDropdownTrigger\n >\n <ng-container *ngIf=\"parentNode.getSelectedChild() as node; else unselected\">\n <span\n (click)=\"resetSearch()\"\n class=\"text-truncate\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ node.label }}\"\n >\n {{ node.label }}\n </span>\n <cds-icon shape=\"angle\" direction=\"down\" size=\"xs\" class=\"caret-icon\"></cds-icon>\n </ng-container>\n <ng-template #unselected>\n <cds-icon class=\"unselected\" size=\"18\" [attr.solid]=\"focus\" shape=\"tree-view\"></cds-icon> ...\n </ng-template>\n </button>\n <clr-dropdown-menu [clrPosition]=\"'bottom-left'\" *clrIfOpen>\n <clr-location-bar-search\n #locationBarSearch\n *ngIf=\"searchRequest\"\n [clrSearchRequest]=\"searchRequest\"\n (searchPerformed)=\"onSearch($event)\"\n ></clr-location-bar-search>\n <ng-container *ngIf=\"displaySearchResult(); else displaySelectableChilds\">\n <ng-container *ngIf=\"searchResultItems.length !== 0; else displayNotFound\">\n <button\n type=\"button\"\n clrDropdownItem\n class=\"text-truncate display-result\"\n *ngFor=\"let searchResultItem of searchResultItems\"\n (click)=\"onSearchItemChanged(searchResultItem)\"\n >\n <ng-container\n *ngTemplateOutlet=\"searchRequest?.searchResultItemRef; context: { $implicit: searchResultItem }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #displayNotFound>\n <span class=\"no-result-text\">\n {{ searchRequest?.noResultsText ?? 'No search result found.' }}\n </span>\n </ng-template>\n </ng-container>\n\n <ng-template #displaySelectableChilds>\n <button\n *ngFor=\"let item of selectableChilds\"\n type=\"button\"\n clrDropdownItem\n class=\"text-truncate display-result\"\n [class.selected-child]=\"item.id === parentNode.getSelectedChild()?.id\"\n (click)=\"selectNode(item)\"\n title=\"{{ item.label }}\"\n >\n {{ item.label }}\n </button>\n </ng-template>\n </clr-dropdown-menu>\n </clr-dropdown>\n </ng-container>\n\n <ng-template #singleSelected>\n <ng-container *ngIf=\"parentNode.getSelectedChild()\">\n <ng-container *ngIf=\"parentNode.getSelectedChild().selectable; else unselectable\">\n <button\n class=\"btn btn-link btn-sm\"\n (click)=\"selectNode(parentNode.getSelectedChild())\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ parentNode.getSelectedChild().label }}\"\n >\n {{ parentNode.getSelectedChild().label }}\n </button>\n </ng-container>\n <ng-template #unselectable>\n <span\n class=\"unselectable-node text-truncate\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ parentNode.getSelectedChild().label }}\"\n >\n {{ parentNode.getSelectedChild().label }}\n </span>\n </ng-template>\n </ng-container>\n </ng-template>\n\n <clr-location-bar-node\n *ngIf=\"parentNode.getSelectedChild() && parentNode.getChildren().length > 0\"\n [parentNode]=\"parentNode.getSelectedChild()\"\n [clrSearchRequest]=\"searchRequest\"\n [clrSearchResultItems]=\"searchResultItems\"\n (selectionChanged)=\"onSelectionChanged($event)\"\n (searchItemChanged)=\"onSearchItemChanged(null)\"\n >\n <span>/</span>\n </clr-location-bar-node>\n</ng-container>\n" }]
|
|
123
129
|
}], ctorParameters: () => [{ type: i5.LocationBarContentProvider, decorators: [{
|
|
124
130
|
type: Inject,
|
|
125
131
|
args: [CONTENT_PROVIDER]
|
|
@@ -137,5 +143,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
137
143
|
type: Output
|
|
138
144
|
}], searchItemChanged: [{
|
|
139
145
|
type: Output
|
|
146
|
+
}], locationBarSearch: [{
|
|
147
|
+
type: ViewChild,
|
|
148
|
+
args: ['locationBarSearch']
|
|
140
149
|
}] } });
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYXRpb24tYmFyLW5vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvbG9jYXRpb24tYmFyL2xvY2F0aW9uLWJhci1ub2RlL2xvY2F0aW9uLWJhci1ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2xvY2F0aW9uLWJhci9sb2NhdGlvbi1iYXItbm9kZS9sb2NhdGlvbi1iYXItbm9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFhLFFBQVEsRUFBRSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsZUFBZSxFQUFVLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFHeEYsWUFBWSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFFL0M7O0dBRUc7QUFNSCxNQUFNLE9BQU8sd0JBQXdCO0lBaUJuQyxZQUFZO0lBQ1osSUFDSSxVQUFVLENBQUMsVUFBOEI7UUFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxX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UUFFM0IsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLEVBQUU7OzBCQXdDaEMsTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUFHLFFBQVE7eUNBbkIzQyxVQUFVO3NCQURiLEtBQUs7Z0JBVXlCLGlCQUFpQjtzQkFBL0MsS0FBSzt1QkFBQyxzQkFBc0I7Z0JBQ0YsYUFBYTtzQkFBdkMsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBTWYsZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9wdGlvbmFsLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFuZ2xlSWNvbiwgQ2xhcml0eUljb25zLCB0cmVlVmlld0ljb24gfSBmcm9tICdAY2RzL2NvcmUvaWNvbic7XG5pbXBvcnQgJ0BjZHMvY29yZS9pY29uL3JlZ2lzdGVyLmpzJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2NhdGlvbkJhck5vZGUsIE5vZGVJZCB9IGZyb20gJy4uL2xvY2F0aW9uLWJhci5tb2RlbCc7XG5pbXBvcnQgeyBDT05URU5UX1BST1ZJREVSLCBMb2NhdGlvbkJhckNvbnRlbnRQcm92aWRlciB9IGZyb20gJy4uL2xvY2F0aW9uLWJhci5wcm92aWRlcic7XG5pbXBvcnQgeyBTZWFyY2hSZXF1ZXN0TW9kZWwsIFNlYXJjaFJlc3VsdE1vZGVsIH0gZnJvbSAnLi4vbG9jYXRpb24tYmFyLnNlYXJjaC5tb2RlbCc7XG5cbkNsYXJpdHlJY29ucy5hZGRJY29ucyh0cmVlVmlld0ljb24sIGFuZ2xlSWNvbik7XG5cbi8qKlxuICogQ29tcG9uZW50IHdoaWNoIHJlbmRlcnMgYSBub2RlIG9mIHRoZSBsb2NhdGlvbiBiYXIuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1sb2NhdGlvbi1iYXItbm9kZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2NhdGlvbi1iYXItbm9kZS5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3Q6IHsgJ1tjbGFzcy5sb2NhdGlvbi1iYXItbm9kZV0nOiAndHJ1ZScgfSxcbn0pXG5leHBvcnQgY2xhc3MgTG9jYXRpb25CYXJOb2RlQ29tcG9uZW50PFQgZXh0ZW5kcyBOb2RlSWQ+IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIFRoZSBwYXJlbnQgbm9kZSBvZiB0aGlzIGNvbXBvbmVudFxuICAgKi9cbiAgcHJpdmF0ZSBfcGFyZW50Tm9kZTogTG9jYXRpb25CYXJOb2RlPFQ+O1xuXG4gIC8qKlxuICAgKiBUaGUgc2VsZWN0YWJsZSBub2Rlc1xuICAgKi9cbiAgc2VsZWN0YWJsZUNoaWxkczogTG9jYXRpb25CYXJOb2RlPFQ+W10gPSBbXTtcblxuICBzZWFyY2hUZXh0OiBzdHJpbmc7XG5cbiAgZm9jdXM6IGJvb2xlYW47XG5cbiAgcmVhZG9ubHkgU0VBUkNIX0lURU1fU1RPUkFHRV9LRVk6IHN0cmluZyA9ICdzZWFyY2hlZEl0ZW0nO1xuXG4gIC8qIGlucHV0cyAqL1xuICBASW5wdXQoKVxuICBzZXQgcGFyZW50Tm9kZShwYXJlbnROb2RlOiBMb2NhdGlvbkJhck5vZGU8VD4pIHtcbiAgICB0aGlzLl9wYXJlbnROb2RlID0gcGFyZW50Tm9kZTtcbiAgICBpZiAodGhpcy5fcGFyZW50Tm9kZSkge1xuICAgICAgY29uc3QgY2hpbGRyZW4kID0gdGhpcy5fcGFyZW50Tm9kZS5nZXRDaGlsZHJlbigpID8gb2YodGhpcy5fcGFyZW50Tm9kZS5nZXRDaGlsZHJlbigpKSA6IHRoaXMuZ2V0TGF6eUNoaWxkcmVuKCk7XG5cbiAgICAgIGNoaWxkcmVuJC50b1Byb21pc2UoKS50aGVuKG5vZGVzID0+IHRoaXMucHJlcGFyZUNoaWxkcmVuKG5vZGVzIHx8IFtdKSk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCdjbHJTZWFyY2hSZXN1bHRJdGVtcycpIHNlYXJjaFJlc3VsdEl0ZW1zOiBTZWFyY2hSZXN1bHRNb2RlbFtdID0gW107XG4gIEBJbnB1dCgnY2xyU2VhcmNoUmVxdWVzdCcpIHNlYXJjaFJlcXVlc3Q6IFNlYXJjaFJlcXVlc3RNb2RlbDtcblxuICAvKiBvdXRwdXRzICovXG4gIC8qKlxuICAgKiBFbWl0cyBzZWxlY3Rpb24gY2hhbmdlc1xuICAgKi9cbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFRbXT4oKTtcbiAgQE91dHB1dCgpIHNlYXJjaEl0ZW1DaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxTZWFyY2hSZXN1bHRNb2RlbD4oKTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KENPTlRFTlRfUFJPVklERVIpIEBPcHRpb25hbCgpIHB1YmxpYyBjb250ZW50UHJvdmlkZXI6IExvY2F0aW9uQmFyQ29udGVudFByb3ZpZGVyPFQ+KSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcz8uc2VhcmNoUmVzdWx0SXRlbXMpIHtcbiAgICAgIHRoaXMuc2VhcmNoUmVzdWx0SXRlbXMgPSBjaGFuZ2VzLnNlYXJjaFJlc3VsdEl0ZW1zLmN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gIH1cblxuICBnZXQgcGFyZW50Tm9kZSgpOiBMb2NhdGlvbkJhck5vZGU8VD4ge1xuICAgIHJldHVybiB0aGlzLl9wYXJlbnROb2RlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMYXp5Q2hpbGRyZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGVudFByb3ZpZGVyID8gdGhpcy5jb250ZW50UHJvdmlkZXIuZ2V0TGF6eUNoaWxkcmVuKHRoaXMuX3BhcmVudE5vZGUpIDogb2YoW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmVwYXJlQ2hpbGRyZW4obm9kZXM6IExvY2F0aW9uQmFyTm9kZTxUPltdKSB7XG4gICAgdGhpcy5fcGFyZW50Tm9kZS5zZXRDaGlsZHJlbihub2Rlcyk7XG4gICAgLyogd2hlbiBubyBub2RlIGlzIHNlbGVjdGVkIHNlYXJjaCB3aXRoaW4gdGhlIGNoaWxkcmVuIGZvciB0aGUgZmlyc3QgY2hpbGQgdG8gYmUgcHJlLXNlbGVjdGVkICovXG4gICAgaWYgKCF0aGlzLl9wYXJlbnROb2RlLmdldFNlbGVjdGVkQ2hpbGQoKSkge1xuICAgICAgZm9yIChjb25zdCBub2RlIG9mIG5vZGVzKSB7XG4gICAgICAgIGlmIChub2RlLnByZVNlbGVjdGVkKSB7XG4gICAgICAgICAgdGhpcy5fcGFyZW50Tm9kZS5zZXRTZWxlY3RlZENoaWxkKG5vZGUpO1xuICAgICAgICAgIG5vZGUucHJlU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnNlbGVjdGFibGVDaGlsZHMgPSBub2Rlcy5maWx0ZXIobiA9PiBuLnNlbGVjdGFibGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbnMgZm9yIHNlbGVjdGlvbiBjaGFuZ2VzIG9mIGNoaWxkIGNvbXBvbmVudHMgYW5kIHJlLWVtaXRzIHRoZSBzZWxlY3Rpb24gZXZlbnQuXG4gICAqIEBwYXJhbSBzZWxlY3Rpb24gVGhlIGNoYW5nZWQgc2VsZWN0aW9uIG9mIGNoaWxkIGNvbXBvbmVudHNcbiAgICovXG4gIG9uU2VsZWN0aW9uQ2hhbmdlZChzZWxlY3Rpb246IFRbXSkge1xuICAgIHNlbGVjdGlvbi51bnNoaWZ0KHRoaXMuX3BhcmVudE5vZGUuZ2V0U2VsZWN0ZWRDaGlsZCgpLmlkKTtcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZWQuZW1pdChzZWxlY3Rpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgdGhlIGdpdmVuIG5vZGVcbiAgICogQHBhcmFtIHNlbGVjdGVkTm9kZSBUaGUgc2VsZWN0ZWQgY2hpbGQgbm9kZS5cbiAgICovXG4gIHNlbGVjdE5vZGUoc2VsZWN0ZWROb2RlOiBMb2NhdGlvbkJhck5vZGU8VD4pIHtcbiAgICBpZiAoc2VsZWN0ZWROb2RlKSB7XG4gICAgICBzZWxlY3RlZE5vZGUuc2V0U2VsZWN0ZWRDaGlsZChudWxsKTtcbiAgICAgIHRoaXMuX3BhcmVudE5vZGUuc2V0U2VsZWN0ZWRDaGlsZChzZWxlY3RlZE5vZGUpO1xuICAgICAgdGhpcy5ub3RpZnlTZWxlY3Rpb25DaGFuZ2VkKHNlbGVjdGVkTm9kZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCBjYWxsZWQgaW50ZXJuYWxseSB0byBlbWl0IHRoZSBzZWxlY3Rpb24gZXZlbnRcbiAgICogQHBhcmFtIHNlbGVjdGVkTm9kZSBUaGUgbm9kZSB3aGljaCBoYXMgYmVlbiBzZWxlY3RlZFxuICAgKi9cbiAgcHJpdmF0ZSBub3RpZnlTZWxlY3Rpb25DaGFuZ2VkKHNlbGVjdGVkTm9kZTogTG9jYXRpb25CYXJOb2RlPFQ+KSB7XG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2VkLmVtaXQoW3NlbGVjdGVkTm9kZS5pZF0pO1xuICB9XG5cbiAgb25TZWFyY2godGV4dDogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gdGV4dDtcbiAgICB0aGlzLmNvbnRlbnRQcm92aWRlci5zZWFyY2hQZXJmb3JtZWQoeyB0ZXh0OiB0ZXh0LCBzZWFyY2hhYmxlTm9kZXM6IHRoaXMuX3BhcmVudE5vZGUuZ2V0Q2hpbGRyZW4oKSB9KTtcbiAgfVxuXG4gIGRpc3BsYXlTZWFyY2hSZXN1bHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoUmVzdWx0SXRlbXMubGVuZ3RoICE9PSAwIHx8ICEhdGhpcy5zZWFyY2hUZXh0O1xuICB9XG5cbiAgcmVzZXRTZWFyY2goKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hSZXN1bHRJdGVtcyA9IFtdO1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9ICcnO1xuICB9XG5cbiAgb25TZWFyY2hJdGVtQ2hhbmdlZChpdGVtOiBTZWFyY2hSZXN1bHRNb2RlbCk6IHZvaWQge1xuICAgIGxldCBzZWFyY2hlZEl0ZW06IFNlYXJjaFJlc3VsdE1vZGVsO1xuICAgIGlmIChpdGVtKSB7XG4gICAgICBzZWFyY2hlZEl0ZW0gPSBpdGVtO1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5TRUFSQ0hfSVRFTV9TVE9SQUdFX0tFWSwgSlNPTi5zdHJpbmdpZnkoaXRlbSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdG9yYWdlSXRlbSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuU0VBUkNIX0lURU1fU1RPUkFHRV9LRVkpO1xuICAgICAgaWYgKHN0b3JhZ2VJdGVtKSB7XG4gICAgICAgIHNlYXJjaGVkSXRlbSA9IEpTT04ucGFyc2Uoc3RvcmFnZUl0ZW0pO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnNlYXJjaEl0ZW1DaGFuZ2VkLmVtaXQoc2VhcmNoZWRJdGVtKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhcmVudE5vZGVcIj5cbiAgPG5nLWNvbnRlbnQgKm5nSWY9XCJwYXJlbnROb2RlLmdldENoaWxkcmVuKCk/Lmxlbmd0aCA+IDBcIj48L25nLWNvbnRlbnQ+XG5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiXG4gICAgICAoc2VsZWN0YWJsZUNoaWxkcy5sZW5ndGggPiAwICYmICFwYXJlbnROb2RlLmdldFNlbGVjdGVkQ2hpbGQoKSkgfHwgc2VsZWN0YWJsZUNoaWxkcy5sZW5ndGggPiAxO1xuICAgICAgZWxzZSBzaW5nbGVTZWxlY3RlZFxuICAgIFwiXG4gID5cbiAgICA8Y2xyLWRyb3Bkb3duPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImJ0biBidG4tbGluayBidG4tc21cIlxuICAgICAgICAoYmx1cik9XCJmb2N1cyA9IGZhbHNlXCJcbiAgICAgICAgKGZvY3VzKT1cImZvY3VzID0gdHJ1ZVwiXG4gICAgICAgIChjbGljayk9XCJyZXNldFNlYXJjaCgpXCJcbiAgICAgICAgY2xyRHJvcGRvd25UcmlnZ2VyXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYXJlbnROb2RlLmdldFNlbGVjdGVkQ2hpbGQoKSBhcyBub2RlOyBlbHNlIHVuc2VsZWN0ZWRcIj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgKGNsaWNrKT1cInJlc2V0U2VhcmNoKClcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXRydW5jYXRlXCJcbiAgICAgICAgICAgIFtjbGFzcy5sYXN0LWxldmVsXT1cIiFwYXJlbnROb2RlLmdldFNlbGVjdGVkQ2hpbGQoKS5nZXRTZWxlY3RlZENoaWxkKClcIlxuICAgICAgICAgICAgdGl0bGU9XCJ7eyBub2RlLmxhYmVsIH19XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBub2RlLmxhYmVsIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxjZHMtaWNvbiBzaGFwZT1cImFuZ2xlXCIgZGlyZWN0aW9uPVwiZG93blwiIHNpemU9XCJ4c1wiIGNsYXNzPVwiY2FyZXQtaWNvblwiPjwvY2RzLWljb24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3Vuc2VsZWN0ZWQ+XG4gICAgICAgICAgPGNkcy1pY29uIGNsYXNzPVwidW5zZWxlY3RlZFwiIHNpemU9XCIxOFwiIFthdHRyLnNvbGlkXT1cImZvY3VzXCIgc2hhcGU9XCJ0cmVlLXZpZXdcIj48L2Nkcy1pY29uPiZuYnNwOy4uLlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8Y2xyLWRyb3Bkb3duLW1lbnUgW2NsclBvc2l0aW9uXT1cIidib3R0b20tbGVmdCdcIiAqY2xySWZPcGVuPlxuICAgICAgICA8Y2xyLWxvY2F0aW9uLWJhci1zZWFyY2hcbiAgICAgICAgICAqbmdJZj1cInNlYXJjaFJlcXVlc3RcIlxuICAgICAgICAgIFtjbHJTZWFyY2hSZXF1ZXN0XT1cInNlYXJjaFJlcXVlc3RcIlxuICAgICAgICAgIChzZWFyY2hQZXJmb3JtZWQpPVwib25TZWFyY2goJGV2ZW50KVwiXG4gICAgICAgID48L2Nsci1sb2NhdGlvbi1iYXItc2VhcmNoPlxuICAgICAgICA8c3BhbiAqbmdJZj1cImRpc3BsYXlTZWFyY2hSZXN1bHQoKTsgZWxzZSBkaXNwbGF5U2VsZWN0YWJsZUNoaWxkc1wiPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2VhcmNoUmVzdWx0SXRlbXMubGVuZ3RoICE9PSAwOyBlbHNlIGRpc3BsYXlOb3RGb3VuZFwiPlxuICAgICAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IHNlYXJjaFJlc3VsdEl0ZW0gb2Ygc2VhcmNoUmVzdWx0SXRlbXNcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsckRyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC10cnVuY2F0ZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VhcmNoSXRlbUNoYW5nZWQoc2VhcmNoUmVzdWx0SXRlbSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWFyY2hSZXF1ZXN0Py5zZWFyY2hSZXN1bHRJdGVtUmVmOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogc2VhcmNoUmVzdWx0SXRlbSB9XCJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2Rpc3BsYXlOb3RGb3VuZD5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm8tcmVzdWx0LXRleHRcIj5cbiAgICAgICAgICAgICAge3sgc2VhcmNoUmVxdWVzdD8ubm9SZXN1bHRzVGV4dCA/PyAnTm8gc2VhcmNoIHJlc3VsdCBmb3VuZC4nIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGlzcGxheVNlbGVjdGFibGVDaGlsZHM+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc2VsZWN0YWJsZUNoaWxkc1wiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsckRyb3Bkb3duSXRlbVxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXRydW5jYXRlXCJcbiAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZC1jaGlsZF09XCJpdGVtLmlkID09PSBwYXJlbnROb2RlLmdldFNlbGVjdGVkQ2hpbGQoKT8uaWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdE5vZGUoaXRlbSlcIlxuICAgICAgICAgICAgdGl0bGU9XCJ7eyBpdGVtLmxhYmVsIH19XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Nsci1kcm9wZG93bi1tZW51PlxuICAgIDwvY2xyLWRyb3Bkb3duPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctdGVtcGxhdGUgI3NpbmdsZVNlbGVjdGVkPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYXJlbnROb2RlLmdldFNlbGVjdGVkQ2hpbGQoKVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhcmVudE5vZGUuZ2V0U2VsZWN0ZWRDaGlsZCgpLnNlbGVjdGFibGU7IGVsc2UgdW5zZWxlY3RhYmxlXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGluayBidG4tc21cIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3ROb2RlKHBhcmVudE5vZGUuZ2V0U2VsZWN0ZWRDaGlsZCgpKVwiXG4gICAgICAgICAgW2NsYXNzLmxhc3QtbGV2ZWxdPVwiIXBhcmVudE5vZGUuZ2V0U2VsZWN0ZWRDaGlsZCgpLmdldFNlbGVjdGVkQ2hpbGQoKVwiXG4gICAgICAgICAgdGl0bGU9XCJ7eyBwYXJlbnROb2RlLmdldFNlbGVjdGVkQ2hpbGQoKS5sYWJlbCB9fVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBwYXJlbnROb2RlLmdldFNlbGVjdGVkQ2hpbGQoKS5sYWJlbCB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICN1bnNlbGVjdGFibGU+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJ1bnNlbGVjdGFibGUtbm9kZSB0ZXh0LXRydW5jYXRlXCJcbiAgICAgICAgICBbY2xhc3MubGFzdC1sZXZlbF09XCIhcGFyZW50Tm9kZS5nZXRTZWxlY3RlZENoaWxkKCkuZ2V0U2VsZWN0ZWRDaGlsZCgpXCJcbiAgICAgICAgICB0aXRsZT1cInt7IHBhcmVudE5vZGUuZ2V0U2VsZWN0ZWRDaGlsZCgpLmxhYmVsIH19XCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHBhcmVudE5vZGUuZ2V0U2VsZWN0ZWRDaGlsZCgpLmxhYmVsIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPGNsci1sb2NhdGlvbi1iYXItbm9kZVxuICAgICpuZ0lmPVwicGFyZW50Tm9kZS5nZXRTZWxlY3RlZENoaWxkKCkgJiYgcGFyZW50Tm9kZS5nZXRDaGlsZHJlbigpLmxlbmd0aCA+IDBcIlxuICAgIFtwYXJlbnROb2RlXT1cInBhcmVudE5vZGUuZ2V0U2VsZWN0ZWRDaGlsZCgpXCJcbiAgICBbY2xyU2VhcmNoUmVxdWVzdF09XCJzZWFyY2hSZXF1ZXN0XCJcbiAgICBbY2xyU2VhcmNoUmVzdWx0SXRlbXNdPVwic2VhcmNoUmVzdWx0SXRlbXNcIlxuICAgIChzZWxlY3Rpb25DaGFuZ2VkKT1cIm9uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAoc2VhcmNoSXRlbUNoYW5nZWQpPVwib25TZWFyY2hJdGVtQ2hhbmdlZChudWxsKVwiXG4gID5cbiAgICA8c3Bhbj4vPC9zcGFuPlxuICA8L2Nsci1sb2NhdGlvbi1iYXItbm9kZT5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYXRpb24tYmFyLW5vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvbG9jYXRpb24tYmFyL2xvY2F0aW9uLWJhci1ub2RlL2xvY2F0aW9uLWJhci1ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2xvY2F0aW9uLWJhci9sb2NhdGlvbi1iYXItbm9kZS9sb2NhdGlvbi1iYXItbm9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUVMLFFBQVEsRUFDUixNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsZUFBZSxFQUFVLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFeEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7Ozs7Ozs7QUFFbEcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFFL0M7O0dBRUc7QUFNSCxNQUFNLE9BQU8sd0JBQXdCO0lBaUJuQyxZQUFZO0lBQ1osSUFDSSxVQUFVLENBQUMsVUFBOEI7UUFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdB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QUFpQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM1QyxDQUFDOzhHQWpJVSx3QkFBd0Isa0JBMkNmLGdCQUFnQjtrR0EzQ3pCLHdCQUF3QixnZ0JDN0JyQyxteElBZ0hBLHl0Q0RuRmEsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHVCQUF1QixRQUUzQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sRUFBRTs7MEJBNkNoQyxNQUFNOzJCQUFDLGdCQUFnQjs7MEJBQUcsUUFBUTt5Q0F4QjNDLFVBQVU7c0JBRGIsS0FBSztnQkFTeUIsaUJBQWlCO3NCQUEvQyxLQUFLO3VCQUFDLHNCQUFzQjtnQkFDRixhQUFhO3NCQUF2QyxLQUFLO3VCQUFDLGtCQUFrQjtnQkFNZixnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUU2QixpQkFBaUI7c0JBQXBELFNBQVM7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFuZ2xlSWNvbiwgQ2xhcml0eUljb25zLCB0cmVlVmlld0ljb24gfSBmcm9tICdAY2RzL2NvcmUvaWNvbic7XG5pbXBvcnQgJ0BjZHMvY29yZS9pY29uL3JlZ2lzdGVyLmpzJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2NhdGlvbkJhck5vZGUsIE5vZGVJZCB9IGZyb20gJy4uL2xvY2F0aW9uLWJhci5tb2RlbCc7XG5pbXBvcnQgeyBDT05URU5UX1BST1ZJREVSLCBMb2NhdGlvbkJhckNvbnRlbnRQcm92aWRlciB9IGZyb20gJy4uL2xvY2F0aW9uLWJhci5wcm92aWRlcic7XG5pbXBvcnQgeyBTZWFyY2hSZXF1ZXN0TW9kZWwsIFNlYXJjaFJlc3VsdE1vZGVsIH0gZnJvbSAnLi4vbG9jYXRpb24tYmFyLnNlYXJjaC5tb2RlbCc7XG5pbXBvcnQgeyBMb2NhdGlvbkJhclNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uL2xvY2F0aW9uLWJhci1zZWFyY2gvbG9jYXRpb24tYmFyLXNlYXJjaC5jb21wb25lbnQnO1xuXG5DbGFyaXR5SWNvbnMuYWRkSWNvbnModHJlZVZpZXdJY29uLCBhbmdsZUljb24pO1xuXG4vKipcbiAqIENvbXBvbmVudCB3aGljaCByZW5kZXJzIGEgbm9kZSBvZiB0aGUgbG9jYXRpb24gYmFyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItbG9jYXRpb24tYmFyLW5vZGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vbG9jYXRpb24tYmFyLW5vZGUuY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7ICdbY2xhc3MubG9jYXRpb24tYmFyLW5vZGVdJzogJ3RydWUnIH0sXG59KVxuZXhwb3J0IGNsYXNzIExvY2F0aW9uQmFyTm9kZUNvbXBvbmVudDxUIGV4dGVuZHMgTm9kZUlkPiBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIC8qKlxuICAgKiBUaGUgcGFyZW50IG5vZGUgb2YgdGhpcyBjb21wb25lbnRcbiAgICovXG4gIHByaXZhdGUgX3BhcmVudE5vZGU6IExvY2F0aW9uQmFyTm9kZTxUPjtcblxuICAvKipcbiAgICogVGhlIHNlbGVjdGFibGUgbm9kZXNcbiAgICovXG4gIHNlbGVjdGFibGVDaGlsZHM6IExvY2F0aW9uQmFyTm9kZTxUPltdID0gW107XG5cbiAgc2VhcmNoVGV4dDogc3RyaW5nO1xuXG4gIGZvY3VzOiBib29sZWFuO1xuXG4gIHJlYWRvbmx5IFNFQVJDSF9JVEVNX1NUT1JBR0VfS0VZOiBzdHJpbmcgPSAnc2VhcmNoZWRJdGVtJztcblxuICAvKiBpbnB1dHMgKi9cbiAgQElucHV0KClcbiAgc2V0IHBhcmVudE5vZGUocGFyZW50Tm9kZTogTG9jYXRpb25CYXJOb2RlPFQ+KSB7XG4gICAgdGhpcy5fcGFyZW50Tm9kZSA9IHBhcmVudE5vZGU7XG4gICAgaWYgKHRoaXMuX3BhcmVudE5vZGUpIHtcbiAgICAgIGNvbnN0IGNoaWxkcmVuJCA9IHRoaXMuX3BhcmVudE5vZGUuZ2V0Q2hpbGRyZW4oKSA/IG9mKHRoaXMuX3BhcmVudE5vZGUuZ2V0Q2hpbGRyZW4oKSkgOiB0aGlzLmdldExhenlDaGlsZHJlbigpO1xuXG4gICAgICBjaGlsZHJlbiQudG9Qcm9taXNlKCkudGhlbihub2RlcyA9PiB0aGlzLnByZXBhcmVDaGlsZHJlbihub2RlcyB8fCBbXSkpO1xuICAgIH1cbiAgfVxuICBASW5wdXQoJ2NsclNlYXJjaFJlc3VsdEl0ZW1zJykgc2VhcmNoUmVzdWx0SXRlbXM6IFNlYXJjaFJlc3VsdE1vZGVsW10gPSBbXTtcbiAgQElucHV0KCdjbHJTZWFyY2hSZXF1ZXN0Jykgc2VhcmNoUmVxdWVzdDogU2VhcmNoUmVxdWVzdE1vZGVsO1xuXG4gIC8qIG91dHB1dHMgKi9cbiAgLyoqXG4gICAqIEVtaXRzIHNlbGVjdGlvbiBjaGFuZ2VzXG4gICAqL1xuICBAT3V0cHV0KCkgc2VsZWN0aW9uQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VFtdPigpO1xuICBAT3V0cHV0KCkgc2VhcmNoSXRlbUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlYXJjaFJlc3VsdE1vZGVsPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2xvY2F0aW9uQmFyU2VhcmNoJykgc2V0IGxvY2F0aW9uQmFyU2VhcmNoKHNlYXJjaDogTG9jYXRpb25CYXJTZWFyY2hDb21wb25lbnQpIHtcbiAgICBpZiAoc2VhcmNoKSB7XG4gICAgICBzZWFyY2guZm9jdXNJbnB1dCgpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQ09OVEVOVF9QUk9WSURFUikgQE9wdGlvbmFsKCkgcHVibGljIGNvbnRlbnRQcm92aWRlcjogTG9jYXRpb25CYXJDb250ZW50UHJvdmlkZXI8VD4pIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzPy5zZWFyY2hSZXN1bHRJdGVtcykge1xuICAgICAgdGhpcy5zZWFyY2hSZXN1bHRJdGVtcyA9IGNoYW5nZXMuc2VhcmNoUmVzdWx0SXRlbXMuY3VycmVudFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGdldCBwYXJlbnROb2RlKCk6IExvY2F0aW9uQmFyTm9kZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcmVudE5vZGU7XG4gIH1cblxuICBwcml2YXRlIGdldExhenlDaGlsZHJlbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZW50UHJvdmlkZXIgPyB0aGlzLmNvbnRlbnRQcm92aWRlci5nZXRMYXp5Q2hpbGRyZW4odGhpcy5fcGFyZW50Tm9kZSkgOiBvZihbXSk7XG4gIH1cblxuICBwcml2YXRlIHByZXBhcmVDaGlsZHJlbihub2RlczogTG9jYXRpb25CYXJOb2RlPFQ+W10pIHtcbiAgICB0aGlzLl9wYXJlbnROb2RlLnNldENoaWxkcmVuKG5vZGVzKTtcbiAgICAvKiB3aGVuIG5vIG5vZGUgaXMgc2VsZWN0ZWQgc2VhcmNoIHdpdGhpbiB0aGUgY2hpbGRyZW4gZm9yIHRoZSBmaXJzdCBjaGlsZCB0byBiZSBwcmUtc2VsZWN0ZWQgKi9cbiAgICBpZiAoIXRoaXMuX3BhcmVudE5vZGUuZ2V0U2VsZWN0ZWRDaGlsZCgpKSB7XG4gICAgICBmb3IgKGNvbnN0IG5vZGUgb2Ygbm9kZXMpIHtcbiAgICAgICAgaWYgKG5vZGUucHJlU2VsZWN0ZWQpIHtcbiAgICAgICAgICB0aGlzLl9wYXJlbnROb2RlLnNldFNlbGVjdGVkQ2hpbGQobm9kZSk7XG4gICAgICAgICAgbm9kZS5wcmVTZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0YWJsZUNoaWxkcyA9IG5vZGVzLmZpbHRlcihuID0+IG4uc2VsZWN0YWJsZSk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVucyBmb3Igc2VsZWN0aW9uIGNoYW5nZXMgb2YgY2hpbGQgY29tcG9uZW50cyBhbmQgcmUtZW1pdHMgdGhlIHNlbGVjdGlvbiBldmVudC5cbiAgICogQHBhcmFtIHNlbGVjdGlvbiBUaGUgY2hhbmdlZCBzZWxlY3Rpb24gb2YgY2hpbGQgY29tcG9uZW50c1xuICAgKi9cbiAgb25TZWxlY3Rpb25DaGFuZ2VkKHNlbGVjdGlvbjogVFtdKSB7XG4gICAgc2VsZWN0aW9uLnVuc2hpZnQodGhpcy5fcGFyZW50Tm9kZS5nZXRTZWxlY3RlZENoaWxkKCkuaWQpO1xuICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlZC5lbWl0KHNlbGVjdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyB0aGUgZ2l2ZW4gbm9kZVxuICAgKiBAcGFyYW0gc2VsZWN0ZWROb2RlIFRoZSBzZWxlY3RlZCBjaGlsZCBub2RlLlxuICAgKi9cbiAgc2VsZWN0Tm9kZShzZWxlY3RlZE5vZGU6IExvY2F0aW9uQmFyTm9kZTxUPikge1xuICAgIGlmIChzZWxlY3RlZE5vZGUpIHtcbiAgICAgIHNlbGVjdGVkTm9kZS5zZXRTZWxlY3RlZENoaWxkKG51bGwpO1xuICAgICAgdGhpcy5fcGFyZW50Tm9kZS5zZXRTZWxlY3RlZENoaWxkKHNlbGVjdGVkTm9kZSk7XG4gICAgICB0aGlzLm5vdGlmeVNlbGVjdGlvbkNoYW5nZWQoc2VsZWN0ZWROb2RlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kIGNhbGxlZCBpbnRlcm5hbGx5IHRvIGVtaXQgdGhlIHNlbGVjdGlvbiBldmVudFxuICAgKiBAcGFyYW0gc2VsZWN0ZWROb2RlIFRoZSBub2RlIHdoaWNoIGhhcyBiZWVuIHNlbGVjdGVkXG4gICAqL1xuICBwcml2YXRlIG5vdGlmeVNlbGVjdGlvbkNoYW5nZWQoc2VsZWN0ZWROb2RlOiBMb2NhdGlvbkJhck5vZGU8VD4pIHtcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZWQuZW1pdChbc2VsZWN0ZWROb2RlLmlkXSk7XG4gIH1cblxuICBvblNlYXJjaCh0ZXh0OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSB0ZXh0O1xuICAgIHRoaXMuY29udGVudFByb3ZpZGVyLnNlYXJjaFBlcmZvcm1lZCh7IHRleHQ6IHRleHQsIHNlYXJjaGFibGVOb2RlczogdGhpcy5fcGFyZW50Tm9kZS5nZXRDaGlsZHJlbigpIH0pO1xuICB9XG5cbiAgZGlzcGxheVNlYXJjaFJlc3VsdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hSZXN1bHRJdGVtcy5sZW5ndGggIT09IDAgfHwgISF0aGlzLnNlYXJjaFRleHQ7XG4gIH1cblxuICByZXNldFNlYXJjaCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFJlc3VsdEl0ZW1zID0gW107XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gJyc7XG4gIH1cblxuICBvblNlYXJjaEl0ZW1DaGFuZ2VkKGl0ZW06IFNlYXJjaFJlc3VsdE1vZGVsKTogdm9pZCB7XG4gICAgbGV0IHNlYXJjaGVkSXRlbTogU2VhcmNoUmVzdWx0TW9kZWw7XG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIHNlYXJjaGVkSXRlbSA9IGl0ZW07XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLlNFQVJDSF9JVEVNX1NUT1JBR0VfS0VZLCBKU09OLnN0cmluZ2lmeShpdGVtKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHN0b3JhZ2VJdGVtID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5TRUFSQ0hfSVRFTV9TVE9SQUdFX0tFWSk7XG4gICAgICBpZiAoc3RvcmFnZUl0ZW0pIHtcbiAgICAgICAgc2VhcmNoZWRJdGVtID0gSlNPTi5wYXJzZShzdG9yYWdlSXRlbSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2VhcmNoSXRlbUNoYW5nZWQuZW1pdChzZWFyY2hlZEl0ZW0pO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwicGFyZW50Tm9kZVwiPlxuICA8bmctY29udGVudCAqbmdJZj1cInBhcmVudE5vZGUuZ2V0Q2hpbGRyZW4oKT8ubGVuZ3RoID4gMFwiPjwvbmctY29udGVudD5cblxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJcbiAgICAgIChzZWxlY3RhYmxlQ2hpbGRzLmxlbmd0aCA+IDAgJiYgIXBhcmVudE5vZGUuZ2V0U2VsZWN0ZWRDaGlsZCgpKSB8fCBzZWxlY3RhYmxlQ2hpbGRzLmxlbmd0aCA+IDE7XG4gICAgICBlbHNlIHNpbmdsZVNlbGVjdGVkXG4gICAgXCJcbiAgPlxuICAgIDxjbHItZHJvcGRvd24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIGJ0bi1zbVwiXG4gICAgICAgIChibHVyKT1cImZvY3VzID0gZmFsc2VcIlxuICAgICAgICAoZm9jdXMpPVwiZm9jdXMgPSB0cnVlXCJcbiAgICAgICAgKGNsaWNrKT1cInJlc2V0U2VhcmNoKClcIlxuICAgICAgICBjbHJEcm9wZG93blRyaWdnZXJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhcmVudE5vZGUuZ2V0U2VsZWN0ZWRDaGlsZCgpIGFzIG5vZGU7IGVsc2UgdW5zZWxlY3RlZFwiPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAoY2xpY2spPVwicmVzZXRTZWFyY2goKVwiXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtdHJ1bmNhdGVcIlxuICAgICAgICAgICAgW2NsYXNzLmxhc3QtbGV2ZWxdPVwiIXBhcmVudE5vZGUuZ2V0U2VsZWN0ZWRDaGlsZCgpLmdldFNlbGVjdGVkQ2hpbGQoKVwiXG4gICAgICAgICAgICB0aXRsZT1cInt7IG5vZGUubGFiZWwgfX1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IG5vZGUubGFiZWwgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPGNkcy1pY29uIHNoYXBlPVwiYW5nbGVcIiBkaXJlY3Rpb249XCJkb3duXCIgc2l6ZT1cInhzXCIgY2xhc3M9XCJjYXJldC1pY29uXCI+PC9jZHMtaWNvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdW5zZWxlY3RlZD5cbiAgICAgICAgICA8Y2RzLWljb24gY2xhc3M9XCJ1bnNlbGVjdGVkXCIgc2l6ZT1cIjE4XCIgW2F0dHIuc29saWRdPVwiZm9jdXNcIiBzaGFwZT1cInRyZWUtdmlld1wiPjwvY2RzLWljb24+Jm5ic3A7Li4uXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxjbHItZHJvcGRvd24tbWVudSBbY2xyUG9zaXRpb25dPVwiJ2JvdHRvbS1sZWZ0J1wiICpjbHJJZk9wZW4+XG4gICAgICAgIDxjbHItbG9jYXRpb24tYmFyLXNlYXJjaFxuICAgICAgICAgICNsb2NhdGlvbkJhclNlYXJjaFxuICAgICAgICAgICpuZ0lmPVwic2VhcmNoUmVxdWVzdFwiXG4gICAgICAgICAgW2NsclNlYXJjaFJlcXVlc3RdPVwic2VhcmNoUmVxdWVzdFwiXG4gICAgICAgICAgKHNlYXJjaFBlcmZvcm1lZCk9XCJvblNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICAgPjwvY2xyLWxvY2F0aW9uLWJhci1zZWFyY2g+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkaXNwbGF5U2VhcmNoUmVzdWx0KCk7IGVsc2UgZGlzcGxheVNlbGVjdGFibGVDaGlsZHNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VhcmNoUmVzdWx0SXRlbXMubGVuZ3RoICE9PSAwOyBlbHNlIGRpc3BsYXlOb3RGb3VuZFwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xyRHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgIGNsYXNzPVwidGV4dC10cnVuY2F0ZSBkaXNwbGF5LXJlc3VsdFwiXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzZWFyY2hSZXN1bHRJdGVtIG9mIHNlYXJjaFJlc3VsdEl0ZW1zXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VhcmNoSXRlbUNoYW5nZWQoc2VhcmNoUmVzdWx0SXRlbSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWFyY2hSZXF1ZXN0Py5zZWFyY2hSZXN1bHRJdGVtUmVmOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogc2VhcmNoUmVzdWx0SXRlbSB9XCJcbiAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNkaXNwbGF5Tm90Rm91bmQ+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5vLXJlc3VsdC10ZXh0XCI+XG4gICAgICAgICAgICAgIHt7IHNlYXJjaFJlcXVlc3Q/Lm5vUmVzdWx0c1RleHQgPz8gJ05vIHNlYXJjaCByZXN1bHQgZm91bmQuJyB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGlzcGxheVNlbGVjdGFibGVDaGlsZHM+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc2VsZWN0YWJsZUNoaWxkc1wiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsckRyb3Bkb3duSXRlbVxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXRydW5jYXRlIGRpc3BsYXktcmVzdWx0XCJcbiAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZC1jaGlsZF09XCJpdGVtLmlkID09PSBwYXJlbnROb2RlLmdldFNlbGVjdGVkQ2hpbGQoKT8uaWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdE5vZGUoaXRlbSlcIlxuICAgICAgICAgICAgdGl0bGU9XCJ7eyBpdGVtLmxhYmVsIH19XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Nsci1kcm9wZG93bi1tZW51PlxuICAgIDwvY2xyLWRyb3Bkb3duPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctdGVtcGxhdGUgI3NpbmdsZVNlbGVjdGVkPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYXJlbnROb2RlLmdldFNlbGVjdGVkQ2hpbGQoKVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhcmVudE5vZGUuZ2V0U2VsZWN0ZWRDaGlsZCgpLnNlbGVjdGFibGU7IGVsc2UgdW5zZWxlY3RhYmxlXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGluayBidG4tc21cIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3ROb2RlKHBhcmVudE5vZGUuZ2V0U2VsZWN0ZWRDaGlsZCgpKVwiXG4gICAgICAgICAgW2NsYXNzLmxhc3QtbGV2ZWxdPVwiIXBhcmVudE5vZGUuZ2V0U2VsZWN0ZWRDaGlsZCgpLmdldFNlbGVjdGVkQ2hpbGQoKVwiXG4gICAgICAgICAgdGl0bGU9XCJ7eyBwYXJlbnROb2RlLmdldFNlbGVjdGVkQ2hpbGQoKS5sYWJlbCB9fVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBwYXJlbnROb2RlLmdldFNlbGVjdGVkQ2hpbGQoKS5sYWJlbCB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICN1bnNlbGVjdGFibGU+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJ1bnNlbGVjdGFibGUtbm9kZSB0ZXh0LXRydW5jYXRlXCJcbiAgICAgICAgICBbY2xhc3MubGFzdC1sZXZlbF09XCIhcGFyZW50Tm9kZS5nZXRTZWxlY3RlZENoaWxkKCkuZ2V0U2VsZWN0ZWRDaGlsZCgpXCJcbiAgICAgICAgICB0aXRsZT1cInt7IHBhcmVudE5vZGUuZ2V0U2VsZWN0ZWRDaGlsZCgpLmxhYmVsIH19XCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHBhcmVudE5vZGUuZ2V0U2VsZWN0ZWRDaGlsZCgpLmxhYmVsIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPGNsci1sb2NhdGlvbi1iYXItbm9kZVxuICAgICpuZ0lmPVwicGFyZW50Tm9kZS5nZXRTZWxlY3RlZENoaWxkKCkgJiYgcGFyZW50Tm9kZS5nZXRDaGlsZHJlbigpLmxlbmd0aCA+IDBcIlxuICAgIFtwYXJlbnROb2RlXT1cInBhcmVudE5vZGUuZ2V0U2VsZWN0ZWRDaGlsZCgpXCJcbiAgICBbY2xyU2VhcmNoUmVxdWVzdF09XCJzZWFyY2hSZXF1ZXN0XCJcbiAgICBbY2xyU2VhcmNoUmVzdWx0SXRlbXNdPVwic2VhcmNoUmVzdWx0SXRlbXNcIlxuICAgIChzZWxlY3Rpb25DaGFuZ2VkKT1cIm9uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAoc2VhcmNoSXRlbUNoYW5nZWQpPVwib25TZWFyY2hJdGVtQ2hhbmdlZChudWxsKVwiXG4gID5cbiAgICA8c3Bhbj4vPC9zcGFuPlxuICA8L2Nsci1sb2NhdGlvbi1iYXItbm9kZT5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -21,7 +21,6 @@ export class LocationBarSearchComponent {
|
|
|
21
21
|
}
|
|
22
22
|
onSearch(text) {
|
|
23
23
|
const validatedText = this.validateSearchText(text);
|
|
24
|
-
this.keepSearchFieldFocused(validatedText);
|
|
25
24
|
if (validatedText !== null) {
|
|
26
25
|
this.searchPerformed.emit(validatedText);
|
|
27
26
|
this.displayWarning = false;
|
|
@@ -37,12 +36,10 @@ export class LocationBarSearchComponent {
|
|
|
37
36
|
return text.length >= this.getMinSearchTextLength() ? text : null;
|
|
38
37
|
}
|
|
39
38
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
});
|
|
45
|
-
}
|
|
39
|
+
focusInput() {
|
|
40
|
+
setTimeout(() => {
|
|
41
|
+
this.searchInput.nativeElement.focus();
|
|
42
|
+
});
|
|
46
43
|
}
|
|
47
44
|
isTextDeletion(text) {
|
|
48
45
|
const isDeletion = text.length < this.previousValue.length;
|
|
@@ -73,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
73
70
|
type: ViewChild,
|
|
74
71
|
args: ['searchInput', { static: true }]
|
|
75
72
|
}] } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYXRpb24tYmFyLXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9sb2NhdGlvbi1iYXIvbG9jYXRpb24tYmFyLXNlYXJjaC9sb2NhdGlvbi1iYXItc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2xvY2F0aW9uLWJhci9sb2NhdGlvbi1iYXItc2VhcmNoL2xvY2F0aW9uLWJhci1zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBUTdDLE1BQU0sT0FBTywwQkFBMEI7SUFOdkM7UUFPRSxrQkFBYSxHQUFHLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBQzNCLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBRXZCLDJCQUFzQixHQUFXLENBQUMsQ0FBQztRQUNuQyxnQ0FBMkIsR0FBVywrQkFBK0IsQ0FBQztRQUlwRCxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7S0ErQ3pFO0lBM0NDLFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVPLFFBQVEsQ0FBQyxJQUFZO1FBQzNCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxJQUFJLGFBQWEsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM5QixDQUFDO0lBQ0gsQ0FBQztJQUVPLGtCQUFrQixDQUFDLElBQVk7UUFDckMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDbEUsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbEUsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3BFLENBQUM7SUFDSCxDQUFDO0lBRU0sVUFBVTtRQUNmLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxjQUFjLENBQUMsSUFBWTtRQUNqQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO1FBQzNELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsS0FBSyxTQUFTO1lBQ3BELENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWE7WUFDbEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUNsQyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsS0FBWTtRQUNqQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs4R0F4RFUsMEJBQTBCO2tHQUExQiwwQkFBMEIsNFNDbkJ2Qyxrc0JBcUJBOzsyRkRGYSwwQkFBMEI7a0JBTnRDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNOzhCQVVwQixhQUFhO3NCQUF2QyxLQUFLO3VCQUFDLGtCQUFrQjtnQkFFRSxlQUFlO3NCQUF6QyxNQUFNO3VCQUFDLGlCQUFpQjtnQkFFbUIsV0FBVztzQkFBdEQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWFyY2hSZXF1ZXN0TW9kZWwgfSBmcm9tICcuLi9sb2NhdGlvbi1iYXIuc2VhcmNoLm1vZGVsJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItbG9jYXRpb24tYmFyLXNlYXJjaCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2NhdGlvbi1iYXItc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2xvY2F0aW9uLWJhci1zZWFyY2guY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIExvY2F0aW9uQmFyU2VhcmNoQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgc2VhcmNoQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG4gIHByZXZpb3VzVmFsdWU6IHN0cmluZyA9ICcnO1xuICBkaXNwbGF5V2FybmluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHJlYWRvbmx5IE1JTl9DSEFSQUNURVJTX0RFRkFVTFQ6IG51bWJlciA9IDM7XG4gIHJlYWRvbmx5IE1JTV9DSEFSQUNURVJTX1RFWFRfREVGQVVMVDogc3RyaW5nID0gJ1R5cGUgMysgY2hhcmFjdGVycyB0byBzZWFyY2guJztcblxuICBASW5wdXQoJ2NsclNlYXJjaFJlcXVlc3QnKSBzZWFyY2hSZXF1ZXN0OiBTZWFyY2hSZXF1ZXN0TW9kZWw7XG5cbiAgQE91dHB1dCgnc2VhcmNoUGVyZm9ybWVkJykgc2VhcmNoUGVyZm9ybWVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBzZWFyY2hJbnB1dDogRWxlbWVudFJlZjtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNlYXJjaENvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh0ZXh0ID0+IHRoaXMub25TZWFyY2godGV4dCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBvblNlYXJjaCh0ZXh0OiBzdHJpbmcpIHtcbiAgICBjb25zdCB2YWxpZGF0ZWRUZXh0ID0gdGhpcy52YWxpZGF0ZVNlYXJjaFRleHQodGV4dCk7XG4gICAgaWYgKHZhbGlkYXRlZFRleHQgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuc2VhcmNoUGVyZm9ybWVkLmVtaXQodmFsaWRhdGVkVGV4dCk7XG4gICAgICB0aGlzLmRpc3BsYXlXYXJuaW5nID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVNlYXJjaFRleHQodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBpc0RlbGV0aW9uID0gdGhpcy5pc1RleHREZWxldGlvbih0ZXh0KTtcbiAgICB0aGlzLmRpc3BsYXlXYXJuaW5nID0gdGV4dC5sZW5ndGggPCB0aGlzLmdldE1pblNlYXJjaFRleHRMZW5ndGgoKTtcbiAgICBpZiAoaXNEZWxldGlvbikge1xuICAgICAgcmV0dXJuIHRleHQubGVuZ3RoID49IHRoaXMuZ2V0TWluU2VhcmNoVGV4dExlbmd0aCgpID8gdGV4dCA6ICcnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGV4dC5sZW5ndGggPj0gdGhpcy5nZXRNaW5TZWFyY2hUZXh0TGVuZ3RoKCkgPyB0ZXh0IDogbnVsbDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZm9jdXNJbnB1dCgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1RleHREZWxldGlvbih0ZXh0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBpc0RlbGV0aW9uID0gdGV4dC5sZW5ndGggPCB0aGlzLnByZXZpb3VzVmFsdWUubGVuZ3RoO1xuICAgIHRoaXMucHJldmlvdXNWYWx1ZSA9IHRleHQ7XG4gICAgcmV0dXJuIGlzRGVsZXRpb247XG4gIH1cblxuICBwcml2YXRlIGdldE1pblNlYXJjaFRleHRMZW5ndGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hSZXF1ZXN0Py5taW5DaGFyYWN0ZXJzICE9PSB1bmRlZmluZWRcbiAgICAgID8gdGhpcy5zZWFyY2hSZXF1ZXN0Lm1pbkNoYXJhY3RlcnNcbiAgICAgIDogdGhpcy5NSU5fQ0hBUkFDVEVSU19ERUZBVUxUO1xuICB9XG5cbiAgcHJldmVudERyb3Bkb3duQWN0aW9ucyhldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNsci1jb2wtbWQtMTIgc2VhcmNoLXdyYXBwZXJcIj5cbiAgPGZvcm0gY2xyRm9ybT5cbiAgICA8Y2xyLWlucHV0LWNvbnRhaW5lciBjbGFzcz1cImlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgPGxhYmVsIGhpZGRlbj48L2xhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgICNzZWFyY2hJbnB1dFxuICAgICAgICBjbGFzcz1cImNsci1jb2wtbWQtMTJcIlxuICAgICAgICBjbHJJbnB1dFxuICAgICAgICBjbHJTZWFyY2hcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInNlYXJjaFJlcXVlc3Q/LnBsYWNlaG9sZGVyID8/ICcnXCJcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBuYW1lPVwic2VhcmNoXCJcbiAgICAgICAgKGtleWRvd24uU3BhY2UpPVwicHJldmVudERyb3Bkb3duQWN0aW9ucygkZXZlbnQpXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlYXJjaENvbnRyb2xcIlxuICAgICAgLz5cbiAgICAgIDxjbHItY29udHJvbC1oZWxwZXIgKm5nSWY9XCJkaXNwbGF5V2FybmluZ1wiIGNsYXNzPVwibWluLXRleHQtd2FybmluZ1wiPnt7XG4gICAgICAgIHNlYXJjaFJlcXVlc3Q/Lm1pbkNoYXJhY3RlclRleHQgPz8gTUlNX0NIQVJBQ1RFUlNfVEVYVF9ERUZBVUxUXG4gICAgICB9fTwvY2xyLWNvbnRyb2wtaGVscGVyPlxuICAgIDwvY2xyLWlucHV0LWNvbnRhaW5lcj5cbiAgPC9mb3JtPlxuPC9kaXY+XG4iXX0=
|