@eo-sdk/client 10.4.0-rc.3 → 10.4.0-rc.4
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/app/eo-client/dashboard/widgets/hitlist-widget/IHitlist.d.ts +2 -2
- package/app/eo-client/dashboard/widgets/hitlist-widget/IHitlist.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.d.ts +3 -1
- package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.d.ts +4 -3
- package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.d.ts.map +1 -1
- package/esm2020/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2020/app/eo-client/dashboard/widgets/hitlist-widget/IHitlist.mjs +1 -1
- package/esm2020/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.mjs +40 -20
- package/esm2020/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.mjs +22 -16
- package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.mjs +38 -7
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +37 -6
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
- package/fesm2015/eo-sdk-client.mjs +64 -41
- package/fesm2015/eo-sdk-client.mjs.map +1 -1
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +37 -6
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
- package/fesm2020/eo-sdk-client.mjs +60 -36
- package/fesm2020/eo-sdk-client.mjs.map +1 -1
- package/package.json +2 -2
- package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.d.ts +6 -1
- package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.d.ts.map +1 -1
|
@@ -3,6 +3,7 @@ import { Component, Input } from '@angular/core';
|
|
|
3
3
|
import { Utils } from '@eo-sdk/core';
|
|
4
4
|
import { map } from 'rxjs';
|
|
5
5
|
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
|
6
|
+
import { tap } from 'rxjs/operators';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "@eo-sdk/core";
|
|
8
9
|
import * as i2 from "../../../../eo-framework-core/search/app-search.service";
|
|
@@ -18,26 +19,25 @@ let HitlistWidgetComponent = class HitlistWidgetComponent {
|
|
|
18
19
|
this.appSearchService = appSearchService;
|
|
19
20
|
this.systemService = systemService;
|
|
20
21
|
this.storedQueriesService = storedQueriesService;
|
|
21
|
-
this.
|
|
22
|
+
this.editMode = false;
|
|
22
23
|
}
|
|
23
24
|
set widgetConfig(c) {
|
|
24
25
|
this._widgetConfig = c;
|
|
25
26
|
if (this._widgetConfig?.storedQuery) {
|
|
26
|
-
|
|
27
|
-
this.
|
|
28
|
-
this.
|
|
27
|
+
this.getStoredQuery(this._widgetConfig.storedQuery).subscribe(() => {
|
|
28
|
+
this._query = this.searchService.buildQuery(this.storedQuery);
|
|
29
|
+
this._widgetConfig.formValue.storedQuery = this.storedQuery.name;
|
|
29
30
|
this.executeQuery();
|
|
30
|
-
}
|
|
31
|
+
});
|
|
31
32
|
}
|
|
32
33
|
}
|
|
33
34
|
get widgetConfig() {
|
|
34
35
|
return this._widgetConfig;
|
|
35
36
|
}
|
|
36
|
-
|
|
37
|
-
return this.storedQueriesService
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
});
|
|
37
|
+
getStoredQuery(id) {
|
|
38
|
+
return this.storedQueriesService.getStoredQuery(id).pipe(untilDestroyed(this), tap(storedQuery => {
|
|
39
|
+
this.storedQuery = storedQuery;
|
|
40
|
+
}));
|
|
41
41
|
}
|
|
42
42
|
executeQuery() {
|
|
43
43
|
this.refreshingRequest = true;
|
|
@@ -90,7 +90,11 @@ let HitlistWidgetComponent = class HitlistWidgetComponent {
|
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
refresh() {
|
|
93
|
-
this.
|
|
93
|
+
this.getStoredQuery(this._widgetConfig.storedQuery).subscribe(() => {
|
|
94
|
+
this._query = this.searchService.buildQuery(this.storedQuery);
|
|
95
|
+
this._widgetConfig.formValue.storedQuery = this.storedQuery.name;
|
|
96
|
+
this.executeQuery();
|
|
97
|
+
});
|
|
94
98
|
}
|
|
95
99
|
clearQuery(clearAfterExecute) {
|
|
96
100
|
if (clearAfterExecute) {
|
|
@@ -99,7 +103,7 @@ let HitlistWidgetComponent = class HitlistWidgetComponent {
|
|
|
99
103
|
}
|
|
100
104
|
onItemClick(item, event) {
|
|
101
105
|
const url = window.location.href.split('/dashboard')[0] + '/object/' + item.id + '?type=' + item.type.name + '\n';
|
|
102
|
-
window.open(url, event?.ctrlKey ? '_blank' : '_self');
|
|
106
|
+
window.open(url, event?.ctrlKey || this.editMode ? '_blank' : '_self');
|
|
103
107
|
}
|
|
104
108
|
onEmitQueryClick(event) {
|
|
105
109
|
delete this._query.fields;
|
|
@@ -107,11 +111,11 @@ let HitlistWidgetComponent = class HitlistWidgetComponent {
|
|
|
107
111
|
const uriParamQuery = { queryParams: { 'query': uriParam } };
|
|
108
112
|
const queryParams = new URLSearchParams(uriParamQuery.queryParams).toString();
|
|
109
113
|
const url = window.location.href.split('/dashboard')[0] + '/result?' + queryParams;
|
|
110
|
-
window.open(url, event?.ctrlKey ? '_blank' : '_self');
|
|
114
|
+
window.open(url, event?.ctrlKey || this.editMode ? '_blank' : '_self');
|
|
111
115
|
}
|
|
112
116
|
};
|
|
113
117
|
HitlistWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: HitlistWidgetComponent, deps: [{ token: i1.SearchService }, { token: i2.AppSearchService }, { token: i1.SystemService }, { token: i1.StoredQueriesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
114
|
-
HitlistWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: HitlistWidgetComponent, selector: "eo-hitlist-widget", inputs: { widgetConfig: "widgetConfig" }, ngImport: i0, template: "<header>\n <div class=\"header-title\">\n <div class=\"title\" *ngIf=\"widgetConfig?.formValue.storedQuery\">\n {{widgetConfig?.formValue.storedQuery}}</div>\n <div class=\"icons-title\" *ngIf=\"this.widgetConfig?.storedQuery\">\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_open_tab.svg'\"\n (click)=\"onEmitQueryClick($event)\"\n [iconTitle]=\"('eo.widget.hitlist.tooltip.openinresultlist'| translate)\"></eo-icon>\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" (click)=\"refresh()\"\n [iconTitle]=\"('eo.widget.hitlist.tooltip.refresh'| translate)\"></eo-icon>\n </div>\n </div>\n</header>\n\n<main class=\"countTile\" *ngIf=\"widgetConfig?.formValue.countTile; else tplResultList\">\n <button class=\"count clr\">{{this.countTileResult?.count}}</button>\n</main>\n\n<main class=\"loader-overlay__mask\" *ngIf=\"refreshingRequest\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n</main>\n\n<ng-template #tplResultList>\n <main class=\"hitlist\" *ngIf=\"!refreshingRequest\">\n <div *ngIf=\"this.widgetConfig?.storedQuery; else tplEmpty\">\n <div class=\"item\" *ngFor=\"let i of hitlistResult\" (click)=\"onItemClick(i, $event)\">\n <div class=\"created\">{{i.date | localeDate}}</div>\n <div class=\"title\">{{i.title}}</div>\n <div class=\"description\">{{i.description}}</div>\n <eo-icon [objectType]=\"i.type\"></eo-icon>\n </div>\n </div>\n <ng-template #tplEmpty>\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.stored.queries.list.empty'}\"></eo-error-message>\n </div>\n </ng-template>\n </main>\n</ng-template>\n", styles: [":host{height:100%;display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"header\" \"main\";background-color:var(--panel-background);color:var(--text-color-body)}:host header{height:40px;display:inline-grid;color:#fff}:host header .header-title{background-color:var(--color-primary-2);display:flex;justify-content:space-between;align-items:center}:host header .title{text-align:center;flex-grow:1;justify-content:center}:host header .icons-title{justify-content:flex-end;display:flex;gap:3px;position:relative;align-items:center;right:13px}:host header .icons-title eo-icon.button.primary{color:rgba(var(--color-white-rgb),.5)}:host header .icons-title eo-icon.button.primary:hover{cursor:pointer;color:var(--color-white)}:host main{grid-area:main}:host main.countTile{display:flex;flex-flow:column;align-items:center;justify-content:center}:host main.countTile button.count{margin-top:calc((.5em + var(--app-pane-padding) * 2) * -1);font-size:4em;border-radius:calc(var(--app-pane-padding) / 2);padding:var(--app-pane-padding);pointer-events:none}:host main.loader-overlay__mask{display:flex;width:100%;height:100%;flex-flow:column;align-items:center;justify-content:center;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .2s}:host main.hitlist{overflow-y:auto}:host main.hitlist .item{padding:calc(var(--app-pane-padding) / 2);display:grid;-moz-column-gap:var(--app-pane-padding);column-gap:var(--app-pane-padding);row-gap:calc(var(--app-pane-padding) / 4);grid-template-rows:auto auto;grid-template-columns:auto 1fr;grid-template-areas:\"icon date\" \"icon title\" \"icon description\";cursor:pointer}:host main.hitlist .item .title{grid-area:title;font-weight:700}:host main.hitlist .item .description{grid-area:description;color:var(--text-color-caption)}:host main.hitlist .item .created{grid-area:date;color:var(--text-color-caption)}:host main.hitlist .item eo-icon{grid-area:icon;align-self:center;width:24px;height:24px;display:block;opacity:.56}:host main.hitlist .item:hover{background-color:var(--item-focus-background-color)}:host main.hitlist .empty{display:flex}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i5.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i6.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: i8.LocaleDatePipe, name: "localeDate" }] });
|
|
118
|
+
HitlistWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: HitlistWidgetComponent, selector: "eo-hitlist-widget", inputs: { editMode: "editMode", widgetConfig: "widgetConfig" }, ngImport: i0, template: "<header>\n <div class=\"header-title\">\n <div class=\"title\" *ngIf=\"widgetConfig?.formValue.storedQuery\">\n {{widgetConfig?.formValue.storedQuery}}</div>\n <div class=\"icons-title\" *ngIf=\"this.widgetConfig?.storedQuery\">\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_open_tab.svg'\"\n (click)=\"onEmitQueryClick($event)\"\n [iconTitle]=\"('eo.widget.hitlist.tooltip.openinresultlist'| translate)\"></eo-icon>\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" (click)=\"refresh()\"\n [iconTitle]=\"('eo.widget.hitlist.tooltip.refresh'| translate)\"></eo-icon>\n </div>\n </div>\n</header>\n\n<main class=\"countTile\" *ngIf=\"widgetConfig?.formValue.countTile; else tplResultList\">\n <button class=\"count clr\">{{this.countTileResult?.count}}</button>\n</main>\n\n<main class=\"loader-overlay__mask\" *ngIf=\"refreshingRequest\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n</main>\n\n<ng-template #tplResultList>\n <main class=\"hitlist\" *ngIf=\"!refreshingRequest\">\n <div *ngIf=\"this.widgetConfig?.storedQuery; else tplEmpty\">\n <div class=\"item\" *ngFor=\"let i of hitlistResult\" (click)=\"onItemClick(i, $event)\">\n <div class=\"created\">{{i.date | localeDate}}</div>\n <div class=\"title\">{{i.title}}</div>\n <div class=\"description\">{{i.description}}</div>\n <eo-icon [objectType]=\"i.type\"></eo-icon>\n </div>\n </div>\n <ng-template #tplEmpty>\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.stored.queries.list.empty'}\"></eo-error-message>\n </div>\n </ng-template>\n </main>\n</ng-template>\n", styles: [":host{height:100%;display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"header\" \"main\";background-color:var(--panel-background);color:var(--text-color-body)}:host header{height:40px;display:inline-grid;color:#fff}:host header .header-title{background-color:var(--color-primary-2);display:flex;justify-content:space-between;align-items:center}:host header .title{text-align:center;flex-grow:1;justify-content:center}:host header .icons-title{justify-content:flex-end;display:flex;gap:3px;position:relative;align-items:center;right:13px}:host header .icons-title eo-icon.button.primary{color:rgba(var(--color-white-rgb),.5)}:host header .icons-title eo-icon.button.primary:hover{cursor:pointer;color:var(--color-white)}:host main{grid-area:main}:host main.countTile{display:flex;flex-flow:column;align-items:center;justify-content:center}:host main.countTile button.count{margin-top:calc((.5em + var(--app-pane-padding) * 2) * -1);font-size:4em;border-radius:calc(var(--app-pane-padding) / 2);padding:var(--app-pane-padding);pointer-events:none}:host main.loader-overlay__mask{display:flex;width:100%;height:100%;flex-flow:column;align-items:center;justify-content:center;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .2s}:host main.hitlist{overflow-y:auto}:host main.hitlist .item{padding:calc(var(--app-pane-padding) / 2);display:grid;-moz-column-gap:var(--app-pane-padding);column-gap:var(--app-pane-padding);row-gap:calc(var(--app-pane-padding) / 4);grid-template-rows:auto auto;grid-template-columns:auto 1fr;grid-template-areas:\"icon date\" \"icon title\" \"icon description\";cursor:pointer}:host main.hitlist .item .title{grid-area:title;font-weight:700}:host main.hitlist .item .description{grid-area:description;color:var(--text-color-caption)}:host main.hitlist .item .created{grid-area:date;color:var(--text-color-caption)}:host main.hitlist .item eo-icon{grid-area:icon;align-self:center;width:24px;height:24px;display:block;opacity:.56}:host main.hitlist .item:hover{background-color:var(--item-focus-background-color)}:host main.hitlist .empty{display:flex}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i5.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i6.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: i8.LocaleDatePipe, name: "localeDate" }] });
|
|
115
119
|
HitlistWidgetComponent = __decorate([
|
|
116
120
|
UntilDestroy()
|
|
117
121
|
], HitlistWidgetComponent);
|
|
@@ -119,7 +123,9 @@ export { HitlistWidgetComponent };
|
|
|
119
123
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: HitlistWidgetComponent, decorators: [{
|
|
120
124
|
type: Component,
|
|
121
125
|
args: [{ selector: 'eo-hitlist-widget', template: "<header>\n <div class=\"header-title\">\n <div class=\"title\" *ngIf=\"widgetConfig?.formValue.storedQuery\">\n {{widgetConfig?.formValue.storedQuery}}</div>\n <div class=\"icons-title\" *ngIf=\"this.widgetConfig?.storedQuery\">\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_open_tab.svg'\"\n (click)=\"onEmitQueryClick($event)\"\n [iconTitle]=\"('eo.widget.hitlist.tooltip.openinresultlist'| translate)\"></eo-icon>\n <eo-icon class=\"button primary\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" (click)=\"refresh()\"\n [iconTitle]=\"('eo.widget.hitlist.tooltip.refresh'| translate)\"></eo-icon>\n </div>\n </div>\n</header>\n\n<main class=\"countTile\" *ngIf=\"widgetConfig?.formValue.countTile; else tplResultList\">\n <button class=\"count clr\">{{this.countTileResult?.count}}</button>\n</main>\n\n<main class=\"loader-overlay__mask\" *ngIf=\"refreshingRequest\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n</main>\n\n<ng-template #tplResultList>\n <main class=\"hitlist\" *ngIf=\"!refreshingRequest\">\n <div *ngIf=\"this.widgetConfig?.storedQuery; else tplEmpty\">\n <div class=\"item\" *ngFor=\"let i of hitlistResult\" (click)=\"onItemClick(i, $event)\">\n <div class=\"created\">{{i.date | localeDate}}</div>\n <div class=\"title\">{{i.title}}</div>\n <div class=\"description\">{{i.description}}</div>\n <eo-icon [objectType]=\"i.type\"></eo-icon>\n </div>\n </div>\n <ng-template #tplEmpty>\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.stored.queries.list.empty'}\"></eo-error-message>\n </div>\n </ng-template>\n </main>\n</ng-template>\n", styles: [":host{height:100%;display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"header\" \"main\";background-color:var(--panel-background);color:var(--text-color-body)}:host header{height:40px;display:inline-grid;color:#fff}:host header .header-title{background-color:var(--color-primary-2);display:flex;justify-content:space-between;align-items:center}:host header .title{text-align:center;flex-grow:1;justify-content:center}:host header .icons-title{justify-content:flex-end;display:flex;gap:3px;position:relative;align-items:center;right:13px}:host header .icons-title eo-icon.button.primary{color:rgba(var(--color-white-rgb),.5)}:host header .icons-title eo-icon.button.primary:hover{cursor:pointer;color:var(--color-white)}:host main{grid-area:main}:host main.countTile{display:flex;flex-flow:column;align-items:center;justify-content:center}:host main.countTile button.count{margin-top:calc((.5em + var(--app-pane-padding) * 2) * -1);font-size:4em;border-radius:calc(var(--app-pane-padding) / 2);padding:var(--app-pane-padding);pointer-events:none}:host main.loader-overlay__mask{display:flex;width:100%;height:100%;flex-flow:column;align-items:center;justify-content:center;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .2s}:host main.hitlist{overflow-y:auto}:host main.hitlist .item{padding:calc(var(--app-pane-padding) / 2);display:grid;-moz-column-gap:var(--app-pane-padding);column-gap:var(--app-pane-padding);row-gap:calc(var(--app-pane-padding) / 4);grid-template-rows:auto auto;grid-template-columns:auto 1fr;grid-template-areas:\"icon date\" \"icon title\" \"icon description\";cursor:pointer}:host main.hitlist .item .title{grid-area:title;font-weight:700}:host main.hitlist .item .description{grid-area:description;color:var(--text-color-caption)}:host main.hitlist .item .created{grid-area:date;color:var(--text-color-caption)}:host main.hitlist .item eo-icon{grid-area:icon;align-self:center;width:24px;height:24px;display:block;opacity:.56}:host main.hitlist .item:hover{background-color:var(--item-focus-background-color)}:host main.hitlist .empty{display:flex}\n"] }]
|
|
122
|
-
}], ctorParameters: function () { return [{ type: i1.SearchService }, { type: i2.AppSearchService }, { type: i1.SystemService }, { type: i1.StoredQueriesService }]; }, propDecorators: {
|
|
126
|
+
}], ctorParameters: function () { return [{ type: i1.SearchService }, { type: i2.AppSearchService }, { type: i1.SystemService }, { type: i1.StoredQueriesService }]; }, propDecorators: { editMode: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], widgetConfig: [{
|
|
123
129
|
type: Input
|
|
124
130
|
}] } });
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0bGlzdC13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvaGl0bGlzdC13aWRnZXQvaGl0bGlzdC13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvaGl0bGlzdC13aWRnZXQvaGl0bGlzdC13aWRnZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE9BQU8sRUFBK0UsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRWpILE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFekIsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7OztBQVE1RCxJQUFNLHNCQUFzQixHQUE1QixNQUFNLHNCQUFzQjtJQVNqQyxZQUFvQixhQUE0QixFQUN0QyxnQkFBa0MsRUFDbEMsYUFBNEIsRUFDNUIsb0JBQTBDO1FBSGhDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ3RDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUVsRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELElBQWEsWUFBWSxDQUFDLENBQVc7UUFDbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRTtZQUNuQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNk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QUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLEdBQUcsV0FBVyxDQUFDO1FBQ25GLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7bUhBakhVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLG1HQ2ZuQywyNkRBd0NBO0FEekJhLHNCQUFzQjtJQU5sQyxZQUFZLEVBQUU7R0FNRixzQkFBc0IsQ0FrSGxDO1NBbEhZLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLG1CQUFtQjtrTUFxQmhCLFlBQVk7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJV2lkZ2V0Q29tcG9uZW50fSBmcm9tICdAeXV1dmlzL3dpZGdldC1ncmlkJztcbmltcG9ydCB7SGl0bGlzdENvdW50VGlsZVJlc3VsdCwgSUhpdGxpc3R9IGZyb20gJy4vSUhpdGxpc3QnO1xuaW1wb3J0IHtTZWFyY2hRdWVyeSwgU2VhcmNoU2VydmljZSwgU3RvcmVkUXVlcmllc1NlcnZpY2UsIFN0b3JlZFF1ZXJ5LCBTeXN0ZW1TZXJ2aWNlLCBVdGlsc30gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7QXBwU2VhcmNoU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvc2VhcmNoL2FwcC1zZWFyY2guc2VydmljZSc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge05hdmlnYXRpb25FeHRyYXN9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8taGl0bGlzdC13aWRnZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaGl0bGlzdC13aWRnZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9oaXRsaXN0LXdpZGdldC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEhpdGxpc3RXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyBJV2lkZ2V0Q29tcG9uZW50IHtcblxuICBoaXRsaXN0UmVzdWx0OiBbXTtcbiAgcHJpdmF0ZSBfcXVlcnk6IFNlYXJjaFF1ZXJ5O1xuICBjb3VudFRpbGVSZXN1bHQ6IEhpdGxpc3RDb3VudFRpbGVSZXN1bHQ7XG4gIHJlZnJlc2hpbmdSZXF1ZXN0OiBib29sZWFuO1xuICBwcml2YXRlIF93aWRnZXRDb25maWc6IElIaXRsaXN0O1xuICBzdG9yZWRRdWVyaWVzOiBTdG9yZWRRdWVyeVtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIGFwcFNlYXJjaFNlcnZpY2U6IEFwcFNlYXJjaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmVkUXVlcmllc1NlcnZpY2U6IFN0b3JlZFF1ZXJpZXNTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZ2V0U3RvcmVkUXVlcnlzKCk7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgd2lkZ2V0Q29uZmlnKGM6IElIaXRsaXN0KSB7XG4gICAgdGhpcy5fd2lkZ2V0Q29uZmlnID0gYztcbiAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5zdG9yZWRRdWVyeSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3dpZGdldENvbmZpZy5zdG9yZWRRdWVyeSA9IHRoaXMuc3RvcmVkUXVlcmllcy5maW5kKChzcSkgPT4gc3EubmFtZSA9PT0gdGhpcy5fd2lkZ2V0Q29uZmlnPy5zdG9yZWRRdWVyeT8ubmFtZSk7XG4gICAgICAgIHRoaXMuX3F1ZXJ5ID0gdGhpcy5zZWFyY2hTZXJ2aWNlLmJ1aWxkUXVlcnkodGhpcy5fd2lkZ2V0Q29uZmlnPy5zdG9yZWRRdWVyeSk7XG4gICAgICAgIHRoaXMuZXhlY3V0ZVF1ZXJ5KCk7XG4gICAgICB9LCA1MDApO1xuICAgIH1cbiAgfVxuXG4gIGdldCB3aWRnZXRDb25maWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dpZGdldENvbmZpZztcbiAgfVxuXG4gIGdldFN0b3JlZFF1ZXJ5cygpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZWRRdWVyaWVzU2VydmljZVxuICAgICAgLnN0b3JlZFF1ZXJpZXMkLnBpcGUoXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpLFxuICAgICAgKS5zdWJzY3JpYmUocXVlcmllc1N1YnNjcmlwdGlvbiA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmVkUXVlcmllcyA9IHF1ZXJpZXNTdWJzY3JpcHRpb24ucXVlcmllcztcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBleGVjdXRlUXVlcnkoKSB7XG4gICAgdGhpcy5yZWZyZXNoaW5nUmVxdWVzdCA9IHRydWU7XG4gICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLmNvdW50VGlsZSkge1xuICAgICAgbGV0IGNvdW50ID0gbmV3IE1hcCgpO1xuICAgICAgdGhpcy5hcHBTZWFyY2hTZXJ2aWNlLnNldFF1ZXJ5KHRoaXMuX3F1ZXJ5KTtcbiAgICAgIHRoaXMuYXBwU2VhcmNoU2VydmljZS5hZ2dyZWdhdGUoKS52YWx1ZU9mKCk7XG4gICAgICB0aGlzLnNlYXJjaFNlcnZpY2UuZ2V0U2VhcmNoU3RhdGUoe2FnZ3M6IHt0eXBlOiB7fX0sIC4uLnRoaXMuX3F1ZXJ5LmdldFF1ZXJ5SnNvbigpfSlcbiAgICAgICAgLnBpcGUobWFwKHN0YXRlID0+IHtcbiAgICAgICAgICByZXR1cm4gY291bnQgPSBzdGF0ZS5hZ2dyZWdhdGlvbnMudHlwZTtcbiAgICAgICAgfSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmNvdW50VGlsZVJlc3VsdCA9IHtjb3VudDogQXJyYXkuZnJvbShjb3VudC52YWx1ZXMoKSkucmVkdWNlKChhY2MsIHZhbHVlKSA9PiBhY2MgKyB2YWx1ZSwgMCl9O1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcXVlcnlOYW1lID0gdGhpcy5fcXVlcnkubmFtZTtcbiAgICAgIGRlbGV0ZSB0aGlzLl9xdWVyeS5uYW1lO1xuICAgICAgdGhpcy5fcXVlcnkuZmllbGRzID0gWyd0aXRsZScsICdkZXNjcmlwdGlvbicsICd0eXBlJywgJ2lkJywgJ2NyZWF0ZWQnXTtcbiAgICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5zb3J0RmllbGQpIHtcbiAgICAgICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLnNvcnRSZXZlcnQpIHtcbiAgICAgICAgICB0aGlzLl9xdWVyeS5hZGRTb3J0T3B0aW9uKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLnNvcnRGaWVsZCwgJ2Rlc2MnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9xdWVyeS5hZGRTb3J0T3B0aW9uKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLnNvcnRGaWVsZCwgJ2FzYycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLmFwcFNlYXJjaFNlcnZpY2Uuc2V0UXVlcnkodGhpcy5fcXVlcnkpO1xuICAgICAgdGhpcy5hcHBTZWFyY2hTZXJ2aWNlLmFnZ3JlZ2F0ZSgpO1xuICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlXG4gICAgICAgIC5leGVjdXRlUXVlcnkodGhpcy5fcXVlcnkuZ2V0UXVlcnlKc29uKCksIGZhbHNlLCB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5zaXplKVxuICAgICAgICAucGlwZShtYXAocmVzdWx0ID0+IHtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0LmhpdHMuaGl0cy5tYXAoaGl0ID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICd0aXRsZSc6IGhpdC5fc291cmNlLnRpdGxlLFxuICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nOiBoaXQuX3NvdXJjZS5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgJ3R5cGUnOiB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0T2JqZWN0VHlwZShoaXQuX3NvdXJjZS50eXBlKSxcbiAgICAgICAgICAgICAgJ2lkJzogaGl0Ll9zb3VyY2UuaWQsXG4gICAgICAgICAgICAgICdkYXRlJzogaGl0Ll9zb3VyY2UuY3JlYXRlZFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGhpdHMpID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5oaXRsaXN0UmVzdWx0ID0gaGl0cztcbiAgICAgICAgICB0aGlzLl9xdWVyeS5uYW1lID0gcXVlcnlOYW1lO1xuICAgICAgICAgIHRoaXMuX3F1ZXJ5LnJlbW92ZVNvcnRPcHRpb24odGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuc29ydEZpZWxkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gIH1cblxuICByZWZyZXNoKCkge1xuICAgIHRoaXMuZXhlY3V0ZVF1ZXJ5KCk7XG4gIH1cblxuICBjbGVhclF1ZXJ5KGNsZWFyQWZ0ZXJFeGVjdXRlKSB7XG4gICAgaWYgKGNsZWFyQWZ0ZXJFeGVjdXRlKSB7XG4gICAgICB0aGlzLmFwcFNlYXJjaFNlcnZpY2UuY2xlYXJRdWVyeSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uSXRlbUNsaWNrKGl0ZW0sIGV2ZW50KSB7XG4gICAgY29uc3QgdXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoJy9kYXNoYm9hcmQnKVswXSArICcvb2JqZWN0LycgKyBpdGVtLmlkICsgJz90eXBlPScgKyBpdGVtLnR5cGUubmFtZSArICdcXG4nO1xuICAgIHdpbmRvdy5vcGVuKHVybCwgZXZlbnQ/LmN0cmxLZXkgPyAnX2JsYW5rJyA6ICdfc2VsZicpO1xuICB9XG5cbiAgb25FbWl0UXVlcnlDbGljayhldmVudCkge1xuICAgIGRlbGV0ZSB0aGlzLl9xdWVyeS5maWVsZHM7XG4gICAgY29uc3QgdXJpUGFyYW0gPSBlbmNvZGVVUklDb21wb25lbnQoVXRpbHMuZm9ybURhdGFTdHJpbmdpZnkodGhpcy5fcXVlcnkuZ2V0UXVlcnlKc29uKCkpKTtcbiAgICBjb25zdCB1cmlQYXJhbVF1ZXJ5OiBOYXZpZ2F0aW9uRXh0cmFzID0ge3F1ZXJ5UGFyYW1zOiB7J3F1ZXJ5JzogdXJpUGFyYW19fTtcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXModXJpUGFyYW1RdWVyeS5xdWVyeVBhcmFtcykudG9TdHJpbmcoKTtcbiAgICBjb25zdCB1cmwgPSB3aW5kb3cubG9jYXRpb24uaHJlZi5zcGxpdCgnL2Rhc2hib2FyZCcpWzBdICsgJy9yZXN1bHQ/JyArIHF1ZXJ5UGFyYW1zO1xuICAgIHdpbmRvdy5vcGVuKHVybCwgZXZlbnQ/LmN0cmxLZXkgPyAnX2JsYW5rJyA6ICdfc2VsZicpO1xuICB9XG59XG4iLCI8aGVhZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItdGl0bGVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCIgKm5nSWY9XCJ3aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5zdG9yZWRRdWVyeVwiPlxuICAgICAgICAgICAge3t3aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5zdG9yZWRRdWVyeX19PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpY29ucy10aXRsZVwiICpuZ0lmPVwidGhpcy53aWRnZXRDb25maWc/LnN0b3JlZFF1ZXJ5XCI+XG4gICAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfb3Blbl90YWIuc3ZnJ1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRW1pdFF1ZXJ5Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCIoJ2VvLndpZGdldC5oaXRsaXN0LnRvb2x0aXAub3BlbmlucmVzdWx0bGlzdCd8IHRyYW5zbGF0ZSlcIj48L2VvLWljb24+XG4gICAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfcmVmcmVzaC5zdmcnXCIgKGNsaWNrKT1cInJlZnJlc2goKVwiXG4gICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCIoJ2VvLndpZGdldC5oaXRsaXN0LnRvb2x0aXAucmVmcmVzaCd8IHRyYW5zbGF0ZSlcIj48L2VvLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9oZWFkZXI+XG5cbjxtYWluIGNsYXNzPVwiY291bnRUaWxlXCIgKm5nSWY9XCJ3aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5jb3VudFRpbGU7IGVsc2UgdHBsUmVzdWx0TGlzdFwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJjb3VudCBjbHJcIj57e3RoaXMuY291bnRUaWxlUmVzdWx0Py5jb3VudH19PC9idXR0b24+XG48L21haW4+XG5cbjxtYWluIGNsYXNzPVwibG9hZGVyLW92ZXJsYXlfX21hc2tcIiAqbmdJZj1cInJlZnJlc2hpbmdSZXF1ZXN0XCI+XG4gICAgPGVvLWxvYWRpbmctc3Bpbm5lciBbc2l6ZV09XCInbGFyZ2UnXCI+PC9lby1sb2FkaW5nLXNwaW5uZXI+XG48L21haW4+XG5cbjxuZy10ZW1wbGF0ZSAjdHBsUmVzdWx0TGlzdD5cbiAgICA8bWFpbiBjbGFzcz1cImhpdGxpc3RcIiAqbmdJZj1cIiFyZWZyZXNoaW5nUmVxdWVzdFwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwidGhpcy53aWRnZXRDb25maWc/LnN0b3JlZFF1ZXJ5OyBlbHNlIHRwbEVtcHR5XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiICpuZ0Zvcj1cImxldCBpIG9mIGhpdGxpc3RSZXN1bHRcIiAoY2xpY2spPVwib25JdGVtQ2xpY2soaSwgJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcmVhdGVkXCI+e3tpLmRhdGUgfCBsb2NhbGVEYXRlfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj57e2kudGl0bGV9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiPnt7aS5kZXNjcmlwdGlvbn19PC9kaXY+XG4gICAgICAgICAgICAgICAgPGVvLWljb24gW29iamVjdFR5cGVdPVwiaS50eXBlXCI+PC9lby1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctdGVtcGxhdGUgI3RwbEVtcHR5PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5XCI+XG4gICAgICAgICAgICAgICAgPGVvLWVycm9yLW1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgW2VtcHR5U3RhdGVdPVwie2ljb246ICdpY19zYXZlZF9zZWFyY2guc3ZnJywgdGV4dDogJ2VvLndvcmtzcGFjZS53aWRnZXQuc3RvcmVkLnF1ZXJpZXMubGlzdC5lbXB0eSd9XCI+PC9lby1lcnJvci1tZXNzYWdlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9tYWluPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0bGlzdC13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvaGl0bGlzdC13aWRnZXQvaGl0bGlzdC13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvaGl0bGlzdC13aWRnZXQvaGl0bGlzdC13aWRnZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE9BQU8sRUFBK0UsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRWpILE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFekIsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFRNUIsSUFBTSxzQkFBc0IsR0FBNUIsTUFBTSxzQkFBc0I7SUFTakMsWUFBb0IsYUFBNEIsRUFDdEMsZ0JBQWtDLEVBQ2xDLGFBQTRCLEVBQzVCLG9CQUEwQztRQUhoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUN0QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFHM0MsYUFBUSxHQUFHLEtBQUssQ0FBQztJQUZ2QixDQUFDO0lBSUosSUFBYSxZQUFZLENBQUMsQ0FBVztRQUNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FB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QUFRLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3pGLE1BQU0sYUFBYSxHQUFxQixFQUFDLFdBQVcsRUFBRSxFQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUMsRUFBQyxDQUFDO1FBQzNFLE1BQU0sV0FBVyxHQUFHLElBQUksZUFBZSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5RSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxHQUFHLFdBQVcsQ0FBQztRQUNuRixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekUsQ0FBQzs7bUhBckhVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLHlIQ2hCbkMsMjZEQXdDQTtBRHhCYSxzQkFBc0I7SUFObEMsWUFBWSxFQUFFO0dBTUYsc0JBQXNCLENBc0hsQztTQXRIWSxzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxtQkFBbUI7a01BbUJwQixRQUFRO3NCQUFoQixLQUFLO2dCQUVPLFlBQVk7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJV2lkZ2V0Q29tcG9uZW50fSBmcm9tICdAeXV1dmlzL3dpZGdldC1ncmlkJztcbmltcG9ydCB7SGl0bGlzdENvdW50VGlsZVJlc3VsdCwgSUhpdGxpc3R9IGZyb20gJy4vSUhpdGxpc3QnO1xuaW1wb3J0IHtTZWFyY2hRdWVyeSwgU2VhcmNoU2VydmljZSwgU3RvcmVkUXVlcmllc1NlcnZpY2UsIFN0b3JlZFF1ZXJ5LCBTeXN0ZW1TZXJ2aWNlLCBVdGlsc30gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7QXBwU2VhcmNoU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvc2VhcmNoL2FwcC1zZWFyY2guc2VydmljZSc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge05hdmlnYXRpb25FeHRyYXN9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge3RhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWhpdGxpc3Qtd2lkZ2V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hpdGxpc3Qtd2lkZ2V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaGl0bGlzdC13aWRnZXQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBIaXRsaXN0V2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgSVdpZGdldENvbXBvbmVudCB7XG5cbiAgaGl0bGlzdFJlc3VsdDogW107XG4gIHByaXZhdGUgX3F1ZXJ5OiBTZWFyY2hRdWVyeTtcbiAgY291bnRUaWxlUmVzdWx0OiBIaXRsaXN0Q291bnRUaWxlUmVzdWx0O1xuICByZWZyZXNoaW5nUmVxdWVzdDogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfd2lkZ2V0Q29uZmlnOiBJSGl0bGlzdDtcbiAgc3RvcmVkUXVlcnk6IFN0b3JlZFF1ZXJ5O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIGFwcFNlYXJjaFNlcnZpY2U6IEFwcFNlYXJjaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmVkUXVlcmllc1NlcnZpY2U6IFN0b3JlZFF1ZXJpZXNTZXJ2aWNlXG4gICkge31cblxuICBASW5wdXQoKSBlZGl0TW9kZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHNldCB3aWRnZXRDb25maWcoYzogSUhpdGxpc3QpIHtcbiAgICB0aGlzLl93aWRnZXRDb25maWcgPSBjO1xuICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LnN0b3JlZFF1ZXJ5KSB7XG4gICAgICB0aGlzLmdldFN0b3JlZFF1ZXJ5KHRoaXMuX3dpZGdldENvbmZpZy5zdG9yZWRRdWVyeSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fcXVlcnkgPSB0aGlzLnNlYXJjaFNlcnZpY2UuYnVpbGRRdWVyeSh0aGlzLnN0b3JlZFF1ZXJ5KTtcbiAgICAgICAgdGhpcy5fd2lkZ2V0Q29uZmlnLmZvcm1WYWx1ZS5zdG9yZWRRdWVyeSA9IHRoaXMuc3RvcmVkUXVlcnkubmFtZTtcbiAgICAgICAgdGhpcy5leGVjdXRlUXVlcnkoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldCB3aWRnZXRDb25maWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dpZGdldENvbmZpZztcbiAgfVxuXG4gIGdldFN0b3JlZFF1ZXJ5KGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZWRRdWVyaWVzU2VydmljZS5nZXRTdG9yZWRRdWVyeShpZCkucGlwZShcbiAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpLFxuICAgICAgdGFwKHN0b3JlZFF1ZXJ5ID0+IHtcbiAgICAgICAgdGhpcy5zdG9yZWRRdWVyeSA9IHN0b3JlZFF1ZXJ5O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBleGVjdXRlUXVlcnkoKSB7XG4gICAgdGhpcy5yZWZyZXNoaW5nUmVxdWVzdCA9IHRydWU7XG4gICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLmNvdW50VGlsZSkge1xuICAgICAgbGV0IGNvdW50ID0gbmV3IE1hcCgpO1xuICAgICAgdGhpcy5hcHBTZWFyY2hTZXJ2aWNlLnNldFF1ZXJ5KHRoaXMuX3F1ZXJ5KTtcbiAgICAgIHRoaXMuYXBwU2VhcmNoU2VydmljZS5hZ2dyZWdhdGUoKS52YWx1ZU9mKCk7XG4gICAgICB0aGlzLnNlYXJjaFNlcnZpY2UuZ2V0U2VhcmNoU3RhdGUoe2FnZ3M6IHt0eXBlOiB7fX0sIC4uLnRoaXMuX3F1ZXJ5LmdldFF1ZXJ5SnNvbigpfSlcbiAgICAgICAgLnBpcGUobWFwKHN0YXRlID0+IHtcbiAgICAgICAgICByZXR1cm4gY291bnQgPSBzdGF0ZS5hZ2dyZWdhdGlvbnMudHlwZTtcbiAgICAgICAgfSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmNvdW50VGlsZVJlc3VsdCA9IHtjb3VudDogQXJyYXkuZnJvbShjb3VudC52YWx1ZXMoKSkucmVkdWNlKChhY2MsIHZhbHVlKSA9PiBhY2MgKyB2YWx1ZSwgMCl9O1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcXVlcnlOYW1lID0gdGhpcy5fcXVlcnkubmFtZTtcbiAgICAgIGRlbGV0ZSB0aGlzLl9xdWVyeS5uYW1lO1xuICAgICAgdGhpcy5fcXVlcnkuZmllbGRzID0gWyd0aXRsZScsICdkZXNjcmlwdGlvbicsICd0eXBlJywgJ2lkJywgJ2NyZWF0ZWQnXTtcbiAgICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5zb3J0RmllbGQpIHtcbiAgICAgICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLnNvcnRSZXZlcnQpIHtcbiAgICAgICAgICB0aGlzLl9xdWVyeS5hZGRTb3J0T3B0aW9uKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLnNvcnRGaWVsZCwgJ2Rlc2MnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9xdWVyeS5hZGRTb3J0T3B0aW9uKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLnNvcnRGaWVsZCwgJ2FzYycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLmFwcFNlYXJjaFNlcnZpY2Uuc2V0UXVlcnkodGhpcy5fcXVlcnkpO1xuICAgICAgdGhpcy5hcHBTZWFyY2hTZXJ2aWNlLmFnZ3JlZ2F0ZSgpO1xuICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlXG4gICAgICAgIC5leGVjdXRlUXVlcnkodGhpcy5fcXVlcnkuZ2V0UXVlcnlKc29uKCksIGZhbHNlLCB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5zaXplKVxuICAgICAgICAucGlwZShtYXAocmVzdWx0ID0+IHtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0LmhpdHMuaGl0cy5tYXAoaGl0ID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICd0aXRsZSc6IGhpdC5fc291cmNlLnRpdGxlLFxuICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nOiBoaXQuX3NvdXJjZS5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgJ3R5cGUnOiB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0T2JqZWN0VHlwZShoaXQuX3NvdXJjZS50eXBlKSxcbiAgICAgICAgICAgICAgJ2lkJzogaGl0Ll9zb3VyY2UuaWQsXG4gICAgICAgICAgICAgICdkYXRlJzogaGl0Ll9zb3VyY2UuY3JlYXRlZFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGhpdHMpID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5oaXRsaXN0UmVzdWx0ID0gaGl0cztcbiAgICAgICAgICB0aGlzLl9xdWVyeS5uYW1lID0gcXVlcnlOYW1lO1xuICAgICAgICAgIHRoaXMuX3F1ZXJ5LnJlbW92ZVNvcnRPcHRpb24odGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuc29ydEZpZWxkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gIH1cblxuICByZWZyZXNoKCkge1xuICAgIHRoaXMuZ2V0U3RvcmVkUXVlcnkodGhpcy5fd2lkZ2V0Q29uZmlnLnN0b3JlZFF1ZXJ5KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5fcXVlcnkgPSB0aGlzLnNlYXJjaFNlcnZpY2UuYnVpbGRRdWVyeSh0aGlzLnN0b3JlZFF1ZXJ5KTtcbiAgICAgIHRoaXMuX3dpZGdldENvbmZpZy5mb3JtVmFsdWUuc3RvcmVkUXVlcnkgPSB0aGlzLnN0b3JlZFF1ZXJ5Lm5hbWU7XG4gICAgICB0aGlzLmV4ZWN1dGVRdWVyeSgpO1xuICAgIH0pO1xuICB9XG5cbiAgY2xlYXJRdWVyeShjbGVhckFmdGVyRXhlY3V0ZSkge1xuICAgIGlmIChjbGVhckFmdGVyRXhlY3V0ZSkge1xuICAgICAgdGhpcy5hcHBTZWFyY2hTZXJ2aWNlLmNsZWFyUXVlcnkoKTtcbiAgICB9XG4gIH1cblxuICBvbkl0ZW1DbGljayhpdGVtLCBldmVudCkge1xuICAgIGNvbnN0IHVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCcvZGFzaGJvYXJkJylbMF0gKyAnL29iamVjdC8nICsgaXRlbS5pZCArICc/dHlwZT0nICsgaXRlbS50eXBlLm5hbWUgKyAnXFxuJztcbiAgICB3aW5kb3cub3Blbih1cmwsIGV2ZW50Py5jdHJsS2V5IHx8IHRoaXMuZWRpdE1vZGUgPyAnX2JsYW5rJyA6ICdfc2VsZicpO1xuICB9XG5cbiAgb25FbWl0UXVlcnlDbGljayhldmVudCkge1xuICAgIGRlbGV0ZSB0aGlzLl9xdWVyeS5maWVsZHM7XG4gICAgY29uc3QgdXJpUGFyYW0gPSBlbmNvZGVVUklDb21wb25lbnQoVXRpbHMuZm9ybURhdGFTdHJpbmdpZnkodGhpcy5fcXVlcnkuZ2V0UXVlcnlKc29uKCkpKTtcbiAgICBjb25zdCB1cmlQYXJhbVF1ZXJ5OiBOYXZpZ2F0aW9uRXh0cmFzID0ge3F1ZXJ5UGFyYW1zOiB7J3F1ZXJ5JzogdXJpUGFyYW19fTtcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXModXJpUGFyYW1RdWVyeS5xdWVyeVBhcmFtcykudG9TdHJpbmcoKTtcbiAgICBjb25zdCB1cmwgPSB3aW5kb3cubG9jYXRpb24uaHJlZi5zcGxpdCgnL2Rhc2hib2FyZCcpWzBdICsgJy9yZXN1bHQ/JyArIHF1ZXJ5UGFyYW1zO1xuICAgIHdpbmRvdy5vcGVuKHVybCwgZXZlbnQ/LmN0cmxLZXkgfHwgdGhpcy5lZGl0TW9kZSA/ICdfYmxhbmsnIDogJ19zZWxmJyk7XG4gIH1cbn1cbiIsIjxoZWFkZXI+XG4gICAgPGRpdiBjbGFzcz1cImhlYWRlci10aXRsZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIiAqbmdJZj1cIndpZGdldENvbmZpZz8uZm9ybVZhbHVlLnN0b3JlZFF1ZXJ5XCI+XG4gICAgICAgICAgICB7e3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLnN0b3JlZFF1ZXJ5fX08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImljb25zLXRpdGxlXCIgKm5nSWY9XCJ0aGlzLndpZGdldENvbmZpZz8uc3RvcmVkUXVlcnlcIj5cbiAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiYnV0dG9uIHByaW1hcnlcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19vcGVuX3RhYi5zdmcnXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25FbWl0UXVlcnlDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8ud2lkZ2V0LmhpdGxpc3QudG9vbHRpcC5vcGVuaW5yZXN1bHRsaXN0J3wgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cbiAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiYnV0dG9uIHByaW1hcnlcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19yZWZyZXNoLnN2ZydcIiAoY2xpY2spPVwicmVmcmVzaCgpXCJcbiAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8ud2lkZ2V0LmhpdGxpc3QudG9vbHRpcC5yZWZyZXNoJ3wgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2hlYWRlcj5cblxuPG1haW4gY2xhc3M9XCJjb3VudFRpbGVcIiAqbmdJZj1cIndpZGdldENvbmZpZz8uZm9ybVZhbHVlLmNvdW50VGlsZTsgZWxzZSB0cGxSZXN1bHRMaXN0XCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImNvdW50IGNsclwiPnt7dGhpcy5jb3VudFRpbGVSZXN1bHQ/LmNvdW50fX08L2J1dHRvbj5cbjwvbWFpbj5cblxuPG1haW4gY2xhc3M9XCJsb2FkZXItb3ZlcmxheV9fbWFza1wiICpuZ0lmPVwicmVmcmVzaGluZ1JlcXVlc3RcIj5cbiAgICA8ZW8tbG9hZGluZy1zcGlubmVyIFtzaXplXT1cIidsYXJnZSdcIj48L2VvLWxvYWRpbmctc3Bpbm5lcj5cbjwvbWFpbj5cblxuPG5nLXRlbXBsYXRlICN0cGxSZXN1bHRMaXN0PlxuICAgIDxtYWluIGNsYXNzPVwiaGl0bGlzdFwiICpuZ0lmPVwiIXJlZnJlc2hpbmdSZXF1ZXN0XCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJ0aGlzLndpZGdldENvbmZpZz8uc3RvcmVkUXVlcnk7IGVsc2UgdHBsRW1wdHlcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgKm5nRm9yPVwibGV0IGkgb2YgaGl0bGlzdFJlc3VsdFwiIChjbGljayk9XCJvbkl0ZW1DbGljayhpLCAkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNyZWF0ZWRcIj57e2kuZGF0ZSB8IGxvY2FsZURhdGV9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7aS50aXRsZX19PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+e3tpLmRlc2NyaXB0aW9ufX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZW8taWNvbiBbb2JqZWN0VHlwZV09XCJpLnR5cGVcIj48L2VvLWljb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdHBsRW1wdHk+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIj5cbiAgICAgICAgICAgICAgICA8ZW8tZXJyb3ItbWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICBbZW1wdHlTdGF0ZV09XCJ7aWNvbjogJ2ljX3NhdmVkX3NlYXJjaC5zdmcnLCB0ZXh0OiAnZW8ud29ya3NwYWNlLndpZGdldC5zdG9yZWQucXVlcmllcy5saXN0LmVtcHR5J31cIj48L2VvLWVycm9yLW1lc3NhZ2U+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L21haW4+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -51,7 +51,7 @@ export class StoredQueriesService {
|
|
|
51
51
|
*/
|
|
52
52
|
getStoredQueries$() {
|
|
53
53
|
if (!this.storedQueries.queries.length) {
|
|
54
|
-
this.
|
|
54
|
+
this.refreshStoredQueries();
|
|
55
55
|
}
|
|
56
56
|
return this.storedQueries$;
|
|
57
57
|
}
|
|
@@ -60,14 +60,30 @@ export class StoredQueriesService {
|
|
|
60
60
|
* new value to your subscription.
|
|
61
61
|
*/
|
|
62
62
|
refreshStoredQueries() {
|
|
63
|
-
this.
|
|
63
|
+
this.backend
|
|
64
|
+
.getJson('/storedqueries?size=9999', this.backend.getSearchBase())
|
|
65
|
+
.pipe(map(sQueries => {
|
|
66
|
+
return (sQueries || [])
|
|
67
|
+
.map(s => {
|
|
68
|
+
let sq = new StoredQuery(s);
|
|
69
|
+
/**
|
|
70
|
+
* set up search query properties for the stored query
|
|
71
|
+
*/
|
|
72
|
+
sq.setQuery(this.searchService.buildQuery(s.query));
|
|
73
|
+
return sq;
|
|
74
|
+
});
|
|
75
|
+
}))
|
|
76
|
+
.subscribe(res => {
|
|
77
|
+
this.storedQueries = { queries: res };
|
|
78
|
+
this.storedQueriesSource.next(this.storedQueries);
|
|
79
|
+
});
|
|
64
80
|
}
|
|
65
81
|
/**
|
|
66
82
|
* Fetches the stored queries from the backend and propagates a new
|
|
67
83
|
* value to the main subject.
|
|
68
84
|
*/
|
|
69
85
|
fetchStoredQueries() {
|
|
70
|
-
this.backend
|
|
86
|
+
return this.backend
|
|
71
87
|
.getJson('/storedqueries?size=9999', this.backend.getSearchBase())
|
|
72
88
|
.pipe(map(sQueries => {
|
|
73
89
|
return (sQueries || [])
|
|
@@ -79,11 +95,10 @@ export class StoredQueriesService {
|
|
|
79
95
|
sq.setQuery(this.searchService.buildQuery(s.query));
|
|
80
96
|
return sq;
|
|
81
97
|
});
|
|
82
|
-
})
|
|
83
|
-
.subscribe(res => {
|
|
98
|
+
}), tap(res => {
|
|
84
99
|
this.storedQueries = { queries: res };
|
|
85
100
|
this.storedQueriesSource.next(this.storedQueries);
|
|
86
|
-
});
|
|
101
|
+
}));
|
|
87
102
|
}
|
|
88
103
|
/**
|
|
89
104
|
* Save new Stored Query
|
|
@@ -149,6 +164,22 @@ export class StoredQueriesService {
|
|
|
149
164
|
this.storedQueriesSource.next(this.storedQueries);
|
|
150
165
|
}));
|
|
151
166
|
}
|
|
167
|
+
/**
|
|
168
|
+
* Get StoredQuery with the provided Id
|
|
169
|
+
* @param id ID of the stored query to be fetched
|
|
170
|
+
*/
|
|
171
|
+
getStoredQuery(id) {
|
|
172
|
+
return this.backend
|
|
173
|
+
.get(`/storedqueries/${id}`, this.backend.getSearchBase())
|
|
174
|
+
.pipe(map(s => {
|
|
175
|
+
let sq = new StoredQuery(s);
|
|
176
|
+
/**
|
|
177
|
+
* set up search query properties for the stored query
|
|
178
|
+
*/
|
|
179
|
+
sq.setQuery(this.searchService.buildQuery(s.query));
|
|
180
|
+
return sq;
|
|
181
|
+
}));
|
|
182
|
+
}
|
|
152
183
|
/**
|
|
153
184
|
* Creates a pseudo form element for a stored queries fulltext input field
|
|
154
185
|
* to be used inside of a stored query form.
|
|
@@ -182,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
182
213
|
providedIn: 'root'
|
|
183
214
|
}]
|
|
184
215
|
}], ctorParameters: function () { return [{ type: i1.BackendService }, { type: i2.SystemService }, { type: i3.SearchService }, { type: i4.EventService }]; } });
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkLXF1ZXJpZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VvLXNkay9jb3JlL3NyYy9saWIvc2VydmljZS9zdG9yZWQtcXVlcmllcy9zdG9yZWQtcXVlcmllcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQWEsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBSWpELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUtqRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQUU1Qzs7Ozs7Ozs7O0dBU0c7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBb0IvQjs7T0FFRztJQUNILFlBQW9CLE9BQXVCLEVBQ2pDLE1BQXFCLEVBQ3JCLGFBQTRCLEVBQzVCLFlBQTBCO1FBSGhCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ2pDLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFmNUIsa0JBQWEsR0FBOEI7WUFDakQsT0FBTyxFQUFFLEVBQUU7U0FDWixDQUFDO1FBQ00sd0JBQW1CLEdBQUcsSUFBSSxlQUFlLENBQTRCLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNqRzs7V0FFRztRQUNJLG1CQUFjLEdBQTBDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQVVyRyxZQUFZO2FBQ1QsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7YUFDckIsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElB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LE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNqRixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILHNCQUFzQixDQUFDLEtBQWEsRUFBRSxLQUFhO1FBQ2pELE9BQU87WUFDTCxJQUFJLEVBQUUsb0JBQW9CLENBQUMsUUFBUTtZQUNuQyxLQUFLLEVBQUUsb0JBQW9CLENBQUMsUUFBUTtZQUNwQyxLQUFLLEVBQUUsS0FBSztZQUNaLEtBQUssRUFBRSxLQUFLO1lBQ1osSUFBSSxFQUFFLFFBQVE7U0FDZixDQUFDO0lBQ0osQ0FBQzs7QUE3S0Q7O0dBRUc7QUFDSSwyQkFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7QUFDbkM7O0dBRUc7QUFDSSw2QkFBUSxHQUFHLFVBQVUsQ0FBQztpSEFUbEIsb0JBQW9CO3FIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTsyRkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0YXAsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7QmFja2VuZFNlcnZpY2V9IGZyb20gJy4uL2JhY2tlbmQvYmFja2VuZC5zZXJ2aWNlJztcbmltcG9ydCB7U3lzdGVtU2VydmljZX0gZnJvbSAnLi4vc3lzdGVtL3N5c3RlbS5zZXJ2aWNlJztcbmltcG9ydCB7U3RvcmVkUXVlcmllc1N1YnNjcmlwdGlvbn0gZnJvbSAnLi9zdG9yZWQtcXVlcmllcy1zdWJzY3JpcHRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7U3RvcmVkUXVlcnl9IGZyb20gJy4vc3RvcmVkLXF1ZXJ5Lm1vZGVsJztcbmltcG9ydCB7U2VhcmNoU2VydmljZX0gZnJvbSAnLi4vc2VhcmNoL3NlYXJjaC5zZXJ2aWNlJztcbmltcG9ydCB7U2VhcmNoRmlsdGVyfSBmcm9tICcuLi9zZWFyY2gvc2VhcmNoLXF1ZXJ5Lm1vZGVsJztcbmltcG9ydCB7UmFuZ2VWYWx1ZX0gZnJvbSAnLi4vLi4vbW9kZWwvcmFuZ2UtdmFsdWUubW9kZWwnO1xuaW1wb3J0IHtFdmVudFNlcnZpY2V9IGZyb20gJy4uL2V2ZW50cy9ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7RW5haW9FdmVudH0gZnJvbSAnLi4vZXZlbnRzL2V2ZW50cyc7XG5cbi8qKlxuICogU2VydmljZSBtYW5hZ2luZyBzdG9yZWQgcXVlcmllcy5cbiAqIFRvIHVzZSBpdCBqdXN0IGNhbGwgYGdldFN0b3JlZFF1ZXJpZXMkYCB3aGljaCB3aWxsIHJldHVybiB0aGUgY3VycmVudFxuICogc3RhdGUgb2YgdGhlIGxpc3Qgb2Ygc3RvcmVkIHF1ZXJpZXMuIFRoaXMgb25lIGlzIGEgbG9uZyB0ZXJtIG9ic2VydmFibGUsIHNvIGJhcmUgaW4gbWluZFxuICogdG8gdW5zdWJzY3JpYmUgZnJvbSBpdCB3aGVuIHlvdSBkb24ndCBuZWVkIGl0IGFueSBtb3JlIChvciB5b3VyIGNvbXBvbmVudCBnZXRzIGRlc3Ryb3llZCkuXG4gKlxuICogRXZlcnkgY2hhbmdlIHRvIHRoZSBsaXN0IG9mIHN0b3JlZCBxdWVyaWVzIGlzIGRvbmUgdXNpbmcgdGhpcyBzZXJ2aWNlLiBTbyBkb24ndCBjaGFuZ2UgdGhlXG4gKiByZXRyaWV2ZWQgbGlzdCBsb2NhbGx5IGluc2lkZSBvZiB5b3VyIGNvbXBvbmVudC4gT3RoZXJ3aXNlIG90aGVyIGNvbXBvbmVudHMgdGhhdCBzdWJzY3JpYmVcbiAqIHRvIHRoZSBzdG9yZWQgcXVlcnkgbGlzdCB3aWxsIG5vdCBiZSBub3RpZmllZC5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3RvcmVkUXVlcmllc1NlcnZpY2Uge1xuXG4gIC8qKlxuICAgKiBUZW1wb3JhcnkgSUQgZm9yIG5ldyBzdG9yZWQgcXVlcmllc1xuICAgKi9cbiAgc3RhdGljIElEX05FVyA9IFN0b3JlZFF1ZXJ5LklEX05FVztcbiAgLyoqXG4gICAqIHFuYW1lIG9mIGZ1bGx0ZXh0IHBhcmFtc1xuICAgKi9cbiAgc3RhdGljIEZVTExURVhUID0gJ2Z1bGx0ZXh0JztcblxuICBwcml2YXRlIHN0b3JlZFF1ZXJpZXM6IFN0b3JlZFF1ZXJpZXNTdWJzY3JpcHRpb24gPSB7XG4gICAgcXVlcmllczogW11cbiAgfTtcbiAgcHJpdmF0ZSBzdG9yZWRRdWVyaWVzU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdG9yZWRRdWVyaWVzU3Vic2NyaXB0aW9uPih0aGlzLnN0b3JlZFF1ZXJpZXMpO1xuICAvKipcbiAgICogU3RyZWFtIG9mIHN0b3JlZCBxdWVyaWVzXG4gICAqL1xuICBwdWJsaWMgc3RvcmVkUXVlcmllcyQ6IE9ic2VydmFibGU8U3RvcmVkUXVlcmllc1N1YnNjcmlwdGlvbj4gPSB0aGlzLnN0b3JlZFF1ZXJpZXNTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW06IFN5c3RlbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgZXZlbnRTZXJ2aWNlOiBFdmVudFNlcnZpY2UpIHtcblxuICAgIGV2ZW50U2VydmljZVxuICAgICAgLm9uKEVuYWlvRXZlbnQuTE9HT1VUKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsZWFyKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIGxpc3Qgb2Ygc3RvcmVkIHF1ZXJpZXMuXG4gICAqL1xuICBjbGVhcigpIHtcbiAgICB0aGlzLnN0b3JlZFF1ZXJpZXMgPSB7cXVlcmllczogW119O1xuICAgIHRoaXMuc3RvcmVkUXVlcmllc1NvdXJjZS5uZXh0KHRoaXMuc3RvcmVkUXVlcmllcyk7XG4gIH1cblxuICAvKipcbiAgICogUHJvdmlkZXMgeW91IHdpdGggYSBgbG9uZyB0ZXJtIG9ic2VydmFibGVgIGhvbGRpbmcgdGhlIHN0b3JlZCBxdWVyaWVzLlxuICAgKi9cbiAgZ2V0U3RvcmVkUXVlcmllcyQoKTogT2JzZXJ2YWJsZTxTdG9yZWRRdWVyaWVzU3Vic2NyaXB0aW9uPiB7XG4gICAgaWYgKCF0aGlzLnN0b3JlZFF1ZXJpZXMucXVlcmllcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZmV0Y2hTdG9yZWRRdWVyaWVzKCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnN0b3JlZFF1ZXJpZXMkO1xuICB9XG5cbiAgLyoqXG4gICAqIFdpbGwgcmUtZmV0Y2ggdGhlIGRhdGEgZnJvbSB0aGUgYmFja2VuZC4gVGhpcyB3aWxsIHByb3BhZ2F0ZSBhXG4gICAqIG5ldyB2YWx1ZSB0byB5b3VyIHN1YnNjcmlwdGlvbi5cbiAgICovXG4gIHJlZnJlc2hTdG9yZWRRdWVyaWVzKCk6IHZvaWQge1xuICAgIHRoaXMuZmV0Y2hTdG9yZWRRdWVyaWVzKCk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2hlcyB0aGUgc3RvcmVkIHF1ZXJpZXMgZnJvbSB0aGUgYmFja2VuZCBhbmQgcHJvcGFnYXRlcyBhIG5ld1xuICAgKiB2YWx1ZSB0byB0aGUgbWFpbiBzdWJqZWN0LlxuICAgKi9cbiAgcHJpdmF0ZSBmZXRjaFN0b3JlZFF1ZXJpZXMoKTogdm9pZCB7XG5cbiAgICB0aGlzLmJhY2tlbmRcbiAgICAgIC5nZXRKc29uKCcvc3RvcmVkcXVlcmllcz9zaXplPTk5OTknLCB0aGlzLmJhY2tlbmQuZ2V0U2VhcmNoQmFzZSgpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChzUXVlcmllcyA9PiB7XG4gICAgICAgICAgcmV0dXJuIChzUXVlcmllcyB8fCBbXSlcbiAgICAgICAgICAgIC5tYXAocyA9PiB7XG4gICAgICAgICAgICAgIGxldCBzcSA9IG5ldyBTdG9yZWRRdWVyeShzKTtcbiAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAqIHNldCB1cCBzZWFyY2ggcXVlcnkgcHJvcGVydGllcyBmb3IgdGhlIHN0b3JlZCBxdWVyeVxuICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgc3Euc2V0UXVlcnkodGhpcy5zZWFyY2hTZXJ2aWNlLmJ1aWxkUXVlcnkocy5xdWVyeSkpO1xuICAgICAgICAgICAgICByZXR1cm4gc3E7XG4gICAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlZFF1ZXJpZXMgPSB7cXVlcmllczogcmVzfTtcbiAgICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzU291cmNlLm5leHQodGhpcy5zdG9yZWRRdWVyaWVzKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNhdmUgbmV3IFN0b3JlZCBRdWVyeVxuICAgKlxuICAgKiBAcGFyYW0gU3RvcmVkUXVlcnkgc3RvcmVkUXVlcnlcbiAgICogQHJldHVybiBPYnNlcnZhYmxlPFN0b3JlZFF1ZXJ5PlxuICAgKi9cbiAgcHJpdmF0ZSBzYXZlTmV3U3RvcmVkUXVlcnkoc3RvcmVkUXVlcnk6IFN0b3JlZFF1ZXJ5KTogT2JzZXJ2YWJsZTxTdG9yZWRRdWVyeT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5wb3N0KCcvc3RvcmVkcXVlcmllcycsIHN0b3JlZFF1ZXJ5LnRvUGVyc2lzdGFibGVTdG9yZWRRdWVyeSgpLCB0aGlzLmJhY2tlbmQuZ2V0U2VhcmNoQmFzZSgpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXMgPT4ge1xuICAgICAgICAgIGxldCB1cGRhdGVkUXVlcnkgPSBuZXcgU3RvcmVkUXVlcnkocmVzKTtcbiAgICAgICAgICB1cGRhdGVkUXVlcnkuc2V0UXVlcnkodGhpcy5zZWFyY2hTZXJ2aWNlLmJ1aWxkUXVlcnkocmVzLnF1ZXJ5KSk7XG4gICAgICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzLnNlbGVjdCA9IHVwZGF0ZWRRdWVyeS5pZDtcbiAgICAgICAgICB0aGlzLnN0b3JlZFF1ZXJpZXMucXVlcmllcy5wdXNoKHVwZGF0ZWRRdWVyeSk7XG4gICAgICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzU291cmNlLm5leHQodGhpcy5zdG9yZWRRdWVyaWVzKTtcblxuICAgICAgICAgIHJldHVybiB1cGRhdGVkUXVlcnk7XG4gICAgICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgU3RvcmVkIFF1ZXJ5XG4gICAqXG4gICAqIEBwYXJhbSBTdG9yZWRRdWVyeSBzdG9yZWRRdWVyeVxuICAgKiBAcmV0dXJuIE9ic2VydmFibGU8U3RvcmVkUXVlcnk+XG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZVN0b3JlZFF1ZXJ5KHN0b3JlZFF1ZXJ5OiBTdG9yZWRRdWVyeSk6IE9ic2VydmFibGU8U3RvcmVkUXVlcnk+IHtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAucHV0KCcvc3RvcmVkcXVlcmllcycsIHN0b3JlZFF1ZXJ5LnRvUGVyc2lzdGFibGVTdG9yZWRRdWVyeSgpLCB0aGlzLmJhY2tlbmQuZ2V0U2VhcmNoQmFzZSgpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXMgPT4ge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRRdWVyeSA9IG5ldyBTdG9yZWRRdWVyeShyZXMpO1xuICAgICAgICAgIHVwZGF0ZWRRdWVyeS5zZXRRdWVyeSh0aGlzLnNlYXJjaFNlcnZpY2UuYnVpbGRRdWVyeShyZXMucXVlcnkpKTtcbiAgICAgICAgICB0aGlzLnN0b3JlZFF1ZXJpZXMuc2VsZWN0ID0gdXBkYXRlZFF1ZXJ5LmlkO1xuICAgICAgICAgIHRoaXMuc3RvcmVkUXVlcmllcy5xdWVyaWVzID0gdGhpcy5zdG9yZWRRdWVyaWVzLnF1ZXJpZXMuZmlsdGVyKHEgPT4gcS5pZCAhPT0gdXBkYXRlZFF1ZXJ5LmlkKTtcbiAgICAgICAgICB0aGlzLnN0b3JlZFF1ZXJpZXMucXVlcmllcy5wdXNoKHVwZGF0ZWRRdWVyeSk7XG4gICAgICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzU291cmNlLm5leHQodGhpcy5zdG9yZWRRdWVyaWVzKTtcblxuICAgICAgICAgIHJldHVybiB1cGRhdGVkUXVlcnk7XG4gICAgICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlIGEgc3RvcmVkIHF1ZXJ5LiBEZXBlbmRpbmcgb24gd2hldGhlciBvciBub3QgdGhlIHByb3ZpZGVkIHF1ZXJ5IGlzIGEgbmV3IG9uZSBvciBub3RcbiAgICogdGhpcyB3aWxsIGVpdGhlciB1cGRhdGUgb3IgY3JlYXRlIGEgbmV3IHF1ZXJ5LlxuICAgKlxuICAgKiBAcGFyYW0gc3RvcmVkUXVlcnkgU3RvcmVkIHF1ZXJ5IHRvIGJlIHNhdmVkXG4gICAqL1xuICBzYXZlU3RvcmVkUXVlcnkoc3RvcmVkUXVlcnk6IFN0b3JlZFF1ZXJ5KTogT2JzZXJ2YWJsZTxTdG9yZWRRdWVyeT4ge1xuXG4gICAgaWYgKHN0b3JlZFF1ZXJ5LmlkID09PSBTdG9yZWRRdWVyaWVzU2VydmljZS5JRF9ORVcpIHtcbiAgICAgIHJldHVybiB0aGlzLnNhdmVOZXdTdG9yZWRRdWVyeShzdG9yZWRRdWVyeSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnVwZGF0ZVN0b3JlZFF1ZXJ5KHN0b3JlZFF1ZXJ5KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIFN0b3JlZCBRdWVyeSBiZSBwcm92aWRlZCBJRFxuICAgKiBAcGFyYW0gaWQgSUQgb2YgdGhlIHN0b3JlZCBxdWVyeSB0byBiZSByZW1vdmVkXG4gICAqL1xuICByZW1vdmVTdG9yZWRRdWVyeShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAuZGVsKGAvc3RvcmVkcXVlcmllcy8ke2lkfWAsIHRoaXMuYmFja2VuZC5nZXRTZWFyY2hCYXNlKCkpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0b3JlZFF1ZXJpZXMuc2VsZWN0ID0gbnVsbDtcbiAgICAgICAgICB0aGlzLnN0b3JlZFF1ZXJpZXMucXVlcmllcyA9IHRoaXMuc3RvcmVkUXVlcmllcy5xdWVyaWVzLmZpbHRlcihxID0+IHEuaWQgIT09IGlkKTtcbiAgICAgICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNTb3VyY2UubmV4dCh0aGlzLnN0b3JlZFF1ZXJpZXMpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcHNldWRvIGZvcm0gZWxlbWVudCBmb3IgYSBzdG9yZWQgcXVlcmllcyBmdWxsdGV4dCBpbnB1dCBmaWVsZFxuICAgKiB0byBiZSB1c2VkIGluc2lkZSBvZiBhIHN0b3JlZCBxdWVyeSBmb3JtLlxuICAgKlxuICAgKiBAcGFyYW0gbGFiZWwgVGhlIGxhYmVsIHRvIGJlIHNldCB0byB0aGUgZWxlbWVudFxuICAgKiBAcGFyYW0gdmFsdWUgQSB2YWx1ZSB0byBiZSBzZXQgdG8gdGhlIGVsZW1lbnRcbiAgICovXG4gIGdldEZ1bGx0ZXh0Rm9ybUVsZW1lbnQobGFiZWw6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiBTdG9yZWRRdWVyaWVzU2VydmljZS5GVUxMVEVYVCxcbiAgICAgIHFuYW1lOiBTdG9yZWRRdWVyaWVzU2VydmljZS5GVUxMVEVYVCxcbiAgICAgIGxhYmVsOiBsYWJlbCxcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIHR5cGU6ICdTVFJJTkcnXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkLXF1ZXJpZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VvLXNkay9jb3JlL3NyYy9saWIvc2VydmljZS9zdG9yZWQtcXVlcmllcy9zdG9yZWQtcXVlcmllcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQWEsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBSWpELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUtqRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQUU1Qzs7Ozs7Ozs7O0dBU0c7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBb0IvQjs7T0FFRztJQUNILFlBQW9CLE9BQXVCLEVBQ2pDLE1BQXFCLEVBQ3JCLGFBQTRCLEVBQzVCLFlBQTBCO1FBSGhCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ2pDLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFmNUIsa0JBQWEsR0FBOEI7WUFDakQsT0FBTyxFQUFFLEVBQUU7U0FDWixDQUFDO1FBQ00sd0JBQW1CLEdBQUcsSUFBSSxlQUFlLENBQTRCLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNqRzs7V0FFRztRQUNJLG1CQUFjLEdBQTBDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQVVyRyxZQUFZO2FBQ1QsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7YUFDckIsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElB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QyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDekQsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNOLElBQUksRUFBRSxHQUFHLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVCOztlQUVHO1lBQ0gsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNwRCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsc0JBQXNCLENBQUMsS0FBYSxFQUFFLEtBQWE7UUFDakQsT0FBTztZQUNMLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxRQUFRO1lBQ25DLEtBQUssRUFBRSxvQkFBb0IsQ0FBQyxRQUFRO1lBQ3BDLEtBQUssRUFBRSxLQUFLO1lBQ1osS0FBSyxFQUFFLEtBQUs7WUFDWixJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUM7SUFDSixDQUFDOztBQWxORDs7R0FFRztBQUNJLDJCQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztBQUNuQzs7R0FFRztBQUNJLDZCQUFRLEdBQUcsVUFBVSxDQUFDO2lIQVRsQixvQkFBb0I7cUhBQXBCLG9CQUFvQixjQUZuQixNQUFNOzJGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3RhcCwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtCYWNrZW5kU2VydmljZX0gZnJvbSAnLi4vYmFja2VuZC9iYWNrZW5kLnNlcnZpY2UnO1xuaW1wb3J0IHtTeXN0ZW1TZXJ2aWNlfSBmcm9tICcuLi9zeXN0ZW0vc3lzdGVtLnNlcnZpY2UnO1xuaW1wb3J0IHtTdG9yZWRRdWVyaWVzU3Vic2NyaXB0aW9ufSBmcm9tICcuL3N0b3JlZC1xdWVyaWVzLXN1YnNjcmlwdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHtTdG9yZWRRdWVyeX0gZnJvbSAnLi9zdG9yZWQtcXVlcnkubW9kZWwnO1xuaW1wb3J0IHtTZWFyY2hTZXJ2aWNlfSBmcm9tICcuLi9zZWFyY2gvc2VhcmNoLnNlcnZpY2UnO1xuaW1wb3J0IHtTZWFyY2hGaWx0ZXJ9IGZyb20gJy4uL3NlYXJjaC9zZWFyY2gtcXVlcnkubW9kZWwnO1xuaW1wb3J0IHtSYW5nZVZhbHVlfSBmcm9tICcuLi8uLi9tb2RlbC9yYW5nZS12YWx1ZS5tb2RlbCc7XG5pbXBvcnQge0V2ZW50U2VydmljZX0gZnJvbSAnLi4vZXZlbnRzL2V2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtFbmFpb0V2ZW50fSBmcm9tICcuLi9ldmVudHMvZXZlbnRzJztcblxuLyoqXG4gKiBTZXJ2aWNlIG1hbmFnaW5nIHN0b3JlZCBxdWVyaWVzLlxuICogVG8gdXNlIGl0IGp1c3QgY2FsbCBgZ2V0U3RvcmVkUXVlcmllcyRgIHdoaWNoIHdpbGwgcmV0dXJuIHRoZSBjdXJyZW50XG4gKiBzdGF0ZSBvZiB0aGUgbGlzdCBvZiBzdG9yZWQgcXVlcmllcy4gVGhpcyBvbmUgaXMgYSBsb25nIHRlcm0gb2JzZXJ2YWJsZSwgc28gYmFyZSBpbiBtaW5kXG4gKiB0byB1bnN1YnNjcmliZSBmcm9tIGl0IHdoZW4geW91IGRvbid0IG5lZWQgaXQgYW55IG1vcmUgKG9yIHlvdXIgY29tcG9uZW50IGdldHMgZGVzdHJveWVkKS5cbiAqXG4gKiBFdmVyeSBjaGFuZ2UgdG8gdGhlIGxpc3Qgb2Ygc3RvcmVkIHF1ZXJpZXMgaXMgZG9uZSB1c2luZyB0aGlzIHNlcnZpY2UuIFNvIGRvbid0IGNoYW5nZSB0aGVcbiAqIHJldHJpZXZlZCBsaXN0IGxvY2FsbHkgaW5zaWRlIG9mIHlvdXIgY29tcG9uZW50LiBPdGhlcndpc2Ugb3RoZXIgY29tcG9uZW50cyB0aGF0IHN1YnNjcmliZVxuICogdG8gdGhlIHN0b3JlZCBxdWVyeSBsaXN0IHdpbGwgbm90IGJlIG5vdGlmaWVkLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTdG9yZWRRdWVyaWVzU2VydmljZSB7XG5cbiAgLyoqXG4gICAqIFRlbXBvcmFyeSBJRCBmb3IgbmV3IHN0b3JlZCBxdWVyaWVzXG4gICAqL1xuICBzdGF0aWMgSURfTkVXID0gU3RvcmVkUXVlcnkuSURfTkVXO1xuICAvKipcbiAgICogcW5hbWUgb2YgZnVsbHRleHQgcGFyYW1zXG4gICAqL1xuICBzdGF0aWMgRlVMTFRFWFQgPSAnZnVsbHRleHQnO1xuXG4gIHByaXZhdGUgc3RvcmVkUXVlcmllczogU3RvcmVkUXVlcmllc1N1YnNjcmlwdGlvbiA9IHtcbiAgICBxdWVyaWVzOiBbXVxuICB9O1xuICBwcml2YXRlIHN0b3JlZFF1ZXJpZXNTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN0b3JlZFF1ZXJpZXNTdWJzY3JpcHRpb24+KHRoaXMuc3RvcmVkUXVlcmllcyk7XG4gIC8qKlxuICAgKiBTdHJlYW0gb2Ygc3RvcmVkIHF1ZXJpZXNcbiAgICovXG4gIHB1YmxpYyBzdG9yZWRRdWVyaWVzJDogT2JzZXJ2YWJsZTxTdG9yZWRRdWVyaWVzU3Vic2NyaXB0aW9uPiA9IHRoaXMuc3RvcmVkUXVlcmllc1NvdXJjZS5hc09ic2VydmFibGUoKTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBiYWNrZW5kOiBCYWNrZW5kU2VydmljZSxcbiAgICBwcml2YXRlIHN5c3RlbTogU3lzdGVtU2VydmljZSxcbiAgICBwcml2YXRlIHNlYXJjaFNlcnZpY2U6IFNlYXJjaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSkge1xuXG4gICAgZXZlbnRTZXJ2aWNlXG4gICAgICAub24oRW5haW9FdmVudC5MT0dPVVQpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xlYXIoKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgbGlzdCBvZiBzdG9yZWQgcXVlcmllcy5cbiAgICovXG4gIGNsZWFyKCkge1xuICAgIHRoaXMuc3RvcmVkUXVlcmllcyA9IHtxdWVyaWVzOiBbXX07XG4gICAgdGhpcy5zdG9yZWRRdWVyaWVzU291cmNlLm5leHQodGhpcy5zdG9yZWRRdWVyaWVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm92aWRlcyB5b3Ugd2l0aCBhIGBsb25nIHRlcm0gb2JzZXJ2YWJsZWAgaG9sZGluZyB0aGUgc3RvcmVkIHF1ZXJpZXMuXG4gICAqL1xuICBnZXRTdG9yZWRRdWVyaWVzJCgpOiBPYnNlcnZhYmxlPFN0b3JlZFF1ZXJpZXNTdWJzY3JpcHRpb24+IHtcbiAgICBpZiAoIXRoaXMuc3RvcmVkUXVlcmllcy5xdWVyaWVzLmxlbmd0aCkge1xuICAgICAgdGhpcy5yZWZyZXNoU3RvcmVkUXVlcmllcygpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zdG9yZWRRdWVyaWVzJDtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaWxsIHJlLWZldGNoIHRoZSBkYXRhIGZyb20gdGhlIGJhY2tlbmQuIFRoaXMgd2lsbCBwcm9wYWdhdGUgYVxuICAgKiBuZXcgdmFsdWUgdG8geW91ciBzdWJzY3JpcHRpb24uXG4gICAqL1xuICByZWZyZXNoU3RvcmVkUXVlcmllcygpOiB2b2lkIHtcbiAgICB0aGlzLmJhY2tlbmRcbiAgICAgIC5nZXRKc29uKCcvc3RvcmVkcXVlcmllcz9zaXplPTk5OTknLCB0aGlzLmJhY2tlbmQuZ2V0U2VhcmNoQmFzZSgpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChzUXVlcmllcyA9PiB7XG4gICAgICAgICAgcmV0dXJuIChzUXVlcmllcyB8fCBbXSlcbiAgICAgICAgICAgIC5tYXAocyA9PiB7XG4gICAgICAgICAgICAgIGxldCBzcSA9IG5ldyBTdG9yZWRRdWVyeShzKTtcbiAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAqIHNldCB1cCBzZWFyY2ggcXVlcnkgcHJvcGVydGllcyBmb3IgdGhlIHN0b3JlZCBxdWVyeVxuICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgc3Euc2V0UXVlcnkodGhpcy5zZWFyY2hTZXJ2aWNlLmJ1aWxkUXVlcnkocy5xdWVyeSkpO1xuICAgICAgICAgICAgICByZXR1cm4gc3E7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzID0ge3F1ZXJpZXM6IHJlc307XG4gICAgICAgIHRoaXMuc3RvcmVkUXVlcmllc1NvdXJjZS5uZXh0KHRoaXMuc3RvcmVkUXVlcmllcyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIHRoZSBzdG9yZWQgcXVlcmllcyBmcm9tIHRoZSBiYWNrZW5kIGFuZCBwcm9wYWdhdGVzIGEgbmV3XG4gICAqIHZhbHVlIHRvIHRoZSBtYWluIHN1YmplY3QuXG4gICAqL1xuICBmZXRjaFN0b3JlZFF1ZXJpZXMoKTogT2JzZXJ2YWJsZTxTdG9yZWRRdWVyeVtdPiB7XG5cbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAuZ2V0SnNvbignL3N0b3JlZHF1ZXJpZXM/c2l6ZT05OTk5JywgdGhpcy5iYWNrZW5kLmdldFNlYXJjaEJhc2UoKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoc1F1ZXJpZXMgPT4ge1xuICAgICAgICAgIHJldHVybiAoc1F1ZXJpZXMgfHwgW10pXG4gICAgICAgICAgICAubWFwKHMgPT4ge1xuICAgICAgICAgICAgICBsZXQgc3EgPSBuZXcgU3RvcmVkUXVlcnkocyk7XG4gICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgKiBzZXQgdXAgc2VhcmNoIHF1ZXJ5IHByb3BlcnRpZXMgZm9yIHRoZSBzdG9yZWQgcXVlcnlcbiAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgIHNxLnNldFF1ZXJ5KHRoaXMuc2VhcmNoU2VydmljZS5idWlsZFF1ZXJ5KHMucXVlcnkpKTtcbiAgICAgICAgICAgICAgcmV0dXJuIHNxO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YXAocmVzID0+IHtcbiAgICAgICAgICB0aGlzLnN0b3JlZFF1ZXJpZXMgPSB7cXVlcmllczogcmVzfTtcbiAgICAgICAgICB0aGlzLnN0b3JlZFF1ZXJpZXNTb3VyY2UubmV4dCh0aGlzLnN0b3JlZFF1ZXJpZXMpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlIG5ldyBTdG9yZWQgUXVlcnlcbiAgICpcbiAgICogQHBhcmFtIFN0b3JlZFF1ZXJ5IHN0b3JlZFF1ZXJ5XG4gICAqIEByZXR1cm4gT2JzZXJ2YWJsZTxTdG9yZWRRdWVyeT5cbiAgICovXG4gIHByaXZhdGUgc2F2ZU5ld1N0b3JlZFF1ZXJ5KHN0b3JlZFF1ZXJ5OiBTdG9yZWRRdWVyeSk6IE9ic2VydmFibGU8U3RvcmVkUXVlcnk+IHtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAucG9zdCgnL3N0b3JlZHF1ZXJpZXMnLCBzdG9yZWRRdWVyeS50b1BlcnNpc3RhYmxlU3RvcmVkUXVlcnkoKSwgdGhpcy5iYWNrZW5kLmdldFNlYXJjaEJhc2UoKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzID0+IHtcbiAgICAgICAgICBsZXQgdXBkYXRlZFF1ZXJ5ID0gbmV3IFN0b3JlZFF1ZXJ5KHJlcyk7XG4gICAgICAgICAgdXBkYXRlZFF1ZXJ5LnNldFF1ZXJ5KHRoaXMuc2VhcmNoU2VydmljZS5idWlsZFF1ZXJ5KHJlcy5xdWVyeSkpO1xuICAgICAgICAgIHRoaXMuc3RvcmVkUXVlcmllcy5zZWxlY3QgPSB1cGRhdGVkUXVlcnkuaWQ7XG4gICAgICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzLnF1ZXJpZXMucHVzaCh1cGRhdGVkUXVlcnkpO1xuICAgICAgICAgIHRoaXMuc3RvcmVkUXVlcmllc1NvdXJjZS5uZXh0KHRoaXMuc3RvcmVkUXVlcmllcyk7XG5cbiAgICAgICAgICByZXR1cm4gdXBkYXRlZFF1ZXJ5O1xuICAgICAgICB9KSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIFN0b3JlZCBRdWVyeVxuICAgKlxuICAgKiBAcGFyYW0gU3RvcmVkUXVlcnkgc3RvcmVkUXVlcnlcbiAgICogQHJldHVybiBPYnNlcnZhYmxlPFN0b3JlZFF1ZXJ5PlxuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVTdG9yZWRRdWVyeShzdG9yZWRRdWVyeTogU3RvcmVkUXVlcnkpOiBPYnNlcnZhYmxlPFN0b3JlZFF1ZXJ5PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLnB1dCgnL3N0b3JlZHF1ZXJpZXMnLCBzdG9yZWRRdWVyeS50b1BlcnNpc3RhYmxlU3RvcmVkUXVlcnkoKSwgdGhpcy5iYWNrZW5kLmdldFNlYXJjaEJhc2UoKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzID0+IHtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkUXVlcnkgPSBuZXcgU3RvcmVkUXVlcnkocmVzKTtcbiAgICAgICAgICB1cGRhdGVkUXVlcnkuc2V0UXVlcnkodGhpcy5zZWFyY2hTZXJ2aWNlLmJ1aWxkUXVlcnkocmVzLnF1ZXJ5KSk7XG4gICAgICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzLnNlbGVjdCA9IHVwZGF0ZWRRdWVyeS5pZDtcbiAgICAgICAgICB0aGlzLnN0b3JlZFF1ZXJpZXMucXVlcmllcyA9IHRoaXMuc3RvcmVkUXVlcmllcy5xdWVyaWVzLmZpbHRlcihxID0+IHEuaWQgIT09IHVwZGF0ZWRRdWVyeS5pZCk7XG4gICAgICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzLnF1ZXJpZXMucHVzaCh1cGRhdGVkUXVlcnkpO1xuICAgICAgICAgIHRoaXMuc3RvcmVkUXVlcmllc1NvdXJjZS5uZXh0KHRoaXMuc3RvcmVkUXVlcmllcyk7XG5cbiAgICAgICAgICByZXR1cm4gdXBkYXRlZFF1ZXJ5O1xuICAgICAgICB9KSk7XG4gIH1cblxuICAvKipcbiAgICogU2F2ZSBhIHN0b3JlZCBxdWVyeS4gRGVwZW5kaW5nIG9uIHdoZXRoZXIgb3Igbm90IHRoZSBwcm92aWRlZCBxdWVyeSBpcyBhIG5ldyBvbmUgb3Igbm90XG4gICAqIHRoaXMgd2lsbCBlaXRoZXIgdXBkYXRlIG9yIGNyZWF0ZSBhIG5ldyBxdWVyeS5cbiAgICpcbiAgICogQHBhcmFtIHN0b3JlZFF1ZXJ5IFN0b3JlZCBxdWVyeSB0byBiZSBzYXZlZFxuICAgKi9cbiAgc2F2ZVN0b3JlZFF1ZXJ5KHN0b3JlZFF1ZXJ5OiBTdG9yZWRRdWVyeSk6IE9ic2VydmFibGU8U3RvcmVkUXVlcnk+IHtcblxuICAgIGlmIChzdG9yZWRRdWVyeS5pZCA9PT0gU3RvcmVkUXVlcmllc1NlcnZpY2UuSURfTkVXKSB7XG4gICAgICByZXR1cm4gdGhpcy5zYXZlTmV3U3RvcmVkUXVlcnkoc3RvcmVkUXVlcnkpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy51cGRhdGVTdG9yZWRRdWVyeShzdG9yZWRRdWVyeSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBTdG9yZWQgUXVlcnkgYmUgcHJvdmlkZWQgSURcbiAgICogQHBhcmFtIGlkIElEIG9mIHRoZSBzdG9yZWQgcXVlcnkgdG8gYmUgcmVtb3ZlZFxuICAgKi9cbiAgcmVtb3ZlU3RvcmVkUXVlcnkoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLmRlbChgL3N0b3JlZHF1ZXJpZXMvJHtpZH1gLCB0aGlzLmJhY2tlbmQuZ2V0U2VhcmNoQmFzZSgpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzLnNlbGVjdCA9IG51bGw7XG4gICAgICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzLnF1ZXJpZXMgPSB0aGlzLnN0b3JlZFF1ZXJpZXMucXVlcmllcy5maWx0ZXIocSA9PiBxLmlkICE9PSBpZCk7XG4gICAgICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzU291cmNlLm5leHQodGhpcy5zdG9yZWRRdWVyaWVzKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IFN0b3JlZFF1ZXJ5IHdpdGggdGhlIHByb3ZpZGVkIElkXG4gICAqIEBwYXJhbSBpZCBJRCBvZiB0aGUgc3RvcmVkIHF1ZXJ5IHRvIGJlIGZldGNoZWRcbiAgICovXG4gIGdldFN0b3JlZFF1ZXJ5KGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFN0b3JlZFF1ZXJ5PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLmdldChgL3N0b3JlZHF1ZXJpZXMvJHtpZH1gLCB0aGlzLmJhY2tlbmQuZ2V0U2VhcmNoQmFzZSgpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChzID0+IHtcbiAgICAgICAgICBsZXQgc3EgPSBuZXcgU3RvcmVkUXVlcnkocyk7XG4gICAgICAgICAgLyoqXG4gICAgICAgICAgICogc2V0IHVwIHNlYXJjaCBxdWVyeSBwcm9wZXJ0aWVzIGZvciB0aGUgc3RvcmVkIHF1ZXJ5XG4gICAgICAgICAgICovXG4gICAgICAgICAgc3Euc2V0UXVlcnkodGhpcy5zZWFyY2hTZXJ2aWNlLmJ1aWxkUXVlcnkocy5xdWVyeSkpO1xuICAgICAgICAgIHJldHVybiBzcTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHBzZXVkbyBmb3JtIGVsZW1lbnQgZm9yIGEgc3RvcmVkIHF1ZXJpZXMgZnVsbHRleHQgaW5wdXQgZmllbGRcbiAgICogdG8gYmUgdXNlZCBpbnNpZGUgb2YgYSBzdG9yZWQgcXVlcnkgZm9ybS5cbiAgICpcbiAgICogQHBhcmFtIGxhYmVsIFRoZSBsYWJlbCB0byBiZSBzZXQgdG8gdGhlIGVsZW1lbnRcbiAgICogQHBhcmFtIHZhbHVlIEEgdmFsdWUgdG8gYmUgc2V0IHRvIHRoZSBlbGVtZW50XG4gICAqL1xuICBnZXRGdWxsdGV4dEZvcm1FbGVtZW50KGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogU3RvcmVkUXVlcmllc1NlcnZpY2UuRlVMTFRFWFQsXG4gICAgICBxbmFtZTogU3RvcmVkUXVlcmllc1NlcnZpY2UuRlVMTFRFWFQsXG4gICAgICBsYWJlbDogbGFiZWwsXG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICB0eXBlOiAnU1RSSU5HJ1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -5925,7 +5925,7 @@ class StoredQueriesService {
|
|
|
5925
5925
|
*/
|
|
5926
5926
|
getStoredQueries$() {
|
|
5927
5927
|
if (!this.storedQueries.queries.length) {
|
|
5928
|
-
this.
|
|
5928
|
+
this.refreshStoredQueries();
|
|
5929
5929
|
}
|
|
5930
5930
|
return this.storedQueries$;
|
|
5931
5931
|
}
|
|
@@ -5934,14 +5934,30 @@ class StoredQueriesService {
|
|
|
5934
5934
|
* new value to your subscription.
|
|
5935
5935
|
*/
|
|
5936
5936
|
refreshStoredQueries() {
|
|
5937
|
-
this.
|
|
5937
|
+
this.backend
|
|
5938
|
+
.getJson('/storedqueries?size=9999', this.backend.getSearchBase())
|
|
5939
|
+
.pipe(map(sQueries => {
|
|
5940
|
+
return (sQueries || [])
|
|
5941
|
+
.map(s => {
|
|
5942
|
+
let sq = new StoredQuery(s);
|
|
5943
|
+
/**
|
|
5944
|
+
* set up search query properties for the stored query
|
|
5945
|
+
*/
|
|
5946
|
+
sq.setQuery(this.searchService.buildQuery(s.query));
|
|
5947
|
+
return sq;
|
|
5948
|
+
});
|
|
5949
|
+
}))
|
|
5950
|
+
.subscribe(res => {
|
|
5951
|
+
this.storedQueries = { queries: res };
|
|
5952
|
+
this.storedQueriesSource.next(this.storedQueries);
|
|
5953
|
+
});
|
|
5938
5954
|
}
|
|
5939
5955
|
/**
|
|
5940
5956
|
* Fetches the stored queries from the backend and propagates a new
|
|
5941
5957
|
* value to the main subject.
|
|
5942
5958
|
*/
|
|
5943
5959
|
fetchStoredQueries() {
|
|
5944
|
-
this.backend
|
|
5960
|
+
return this.backend
|
|
5945
5961
|
.getJson('/storedqueries?size=9999', this.backend.getSearchBase())
|
|
5946
5962
|
.pipe(map(sQueries => {
|
|
5947
5963
|
return (sQueries || [])
|
|
@@ -5953,11 +5969,10 @@ class StoredQueriesService {
|
|
|
5953
5969
|
sq.setQuery(this.searchService.buildQuery(s.query));
|
|
5954
5970
|
return sq;
|
|
5955
5971
|
});
|
|
5956
|
-
})
|
|
5957
|
-
.subscribe(res => {
|
|
5972
|
+
}), tap(res => {
|
|
5958
5973
|
this.storedQueries = { queries: res };
|
|
5959
5974
|
this.storedQueriesSource.next(this.storedQueries);
|
|
5960
|
-
});
|
|
5975
|
+
}));
|
|
5961
5976
|
}
|
|
5962
5977
|
/**
|
|
5963
5978
|
* Save new Stored Query
|
|
@@ -6023,6 +6038,22 @@ class StoredQueriesService {
|
|
|
6023
6038
|
this.storedQueriesSource.next(this.storedQueries);
|
|
6024
6039
|
}));
|
|
6025
6040
|
}
|
|
6041
|
+
/**
|
|
6042
|
+
* Get StoredQuery with the provided Id
|
|
6043
|
+
* @param id ID of the stored query to be fetched
|
|
6044
|
+
*/
|
|
6045
|
+
getStoredQuery(id) {
|
|
6046
|
+
return this.backend
|
|
6047
|
+
.get(`/storedqueries/${id}`, this.backend.getSearchBase())
|
|
6048
|
+
.pipe(map(s => {
|
|
6049
|
+
let sq = new StoredQuery(s);
|
|
6050
|
+
/**
|
|
6051
|
+
* set up search query properties for the stored query
|
|
6052
|
+
*/
|
|
6053
|
+
sq.setQuery(this.searchService.buildQuery(s.query));
|
|
6054
|
+
return sq;
|
|
6055
|
+
}));
|
|
6056
|
+
}
|
|
6026
6057
|
/**
|
|
6027
6058
|
* Creates a pseudo form element for a stored queries fulltext input field
|
|
6028
6059
|
* to be used inside of a stored query form.
|