@provoly/dashboard 1.1.6 → 1.1.8

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.
Files changed (61) hide show
  1. package/esm2022/lib/core/components/share/access-rights-share/access-rights-share.component.mjs +17 -6
  2. package/esm2022/lib/core/components/share/group-share/group-share.component.mjs +3 -2
  3. package/esm2022/lib/core/components/share/share.utils.mjs +10 -7
  4. package/esm2022/lib/core/i18n/en.translations.mjs +3 -2
  5. package/esm2022/lib/core/i18n/fr.translations.mjs +3 -2
  6. package/esm2022/lib/core/model/filter.interface.mjs +1 -1
  7. package/esm2022/lib/core/store/aggregation/frontend-aggregation/aggregation-utils.class.mjs +52 -47
  8. package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +1 -3
  9. package/esm2022/presentation/components/presentation.component.mjs +12 -12
  10. package/esm2022/toolbox/components/automate-refresh/automate-refresh.component.mjs +14 -11
  11. package/esm2022/toolbox/components/clear-view/clear-view.component.mjs +15 -11
  12. package/esm2022/toolbox/components/dashboard-details/dashboard-details.component.mjs +15 -13
  13. package/esm2022/toolbox/components/delete/delete.component.mjs +17 -18
  14. package/esm2022/toolbox/components/drag-widgets/drag-widgets.component.mjs +16 -11
  15. package/esm2022/toolbox/components/edit-mode-action/edit-mode-action.component.mjs +14 -12
  16. package/esm2022/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.mjs +12 -7
  17. package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +19 -14
  18. package/esm2022/toolbox/components/launch-tab/launch-tab.component.mjs +15 -11
  19. package/esm2022/toolbox/components/named-query/named-query.component.mjs +3 -3
  20. package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +14 -10
  21. package/esm2022/toolbox/components/save-view/save-view.component.mjs +14 -10
  22. package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +14 -9
  23. package/esm2022/toolbox/components/share/share.component.mjs +30 -34
  24. package/esm2022/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.mjs +14 -12
  25. package/esm2022/toolbox/components/toolbox-action/toolbox-action.component.mjs +20 -6
  26. package/esm2022/toolbox/components/toolbox.component.mjs +1 -1
  27. package/esm2022/toolbox/toolbox.model.mjs +4 -4
  28. package/esm2022/widgets/widget-map/utils/cql-utils.class.mjs +2 -2
  29. package/fesm2022/provoly-dashboard-presentation.mjs +11 -11
  30. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  31. package/fesm2022/provoly-dashboard-toolbox.mjs +197 -139
  32. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  33. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +1 -1
  34. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  35. package/fesm2022/provoly-dashboard.mjs +145 -126
  36. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  37. package/lib/core/components/share/access-rights-share/access-rights-share.component.d.ts +7 -1
  38. package/lib/core/components/share/share.utils.d.ts +3 -0
  39. package/lib/core/i18n/en.translations.d.ts +1 -0
  40. package/lib/core/i18n/fr.translations.d.ts +1 -0
  41. package/lib/core/model/filter.interface.d.ts +1 -1
  42. package/lib/core/store/aggregation/frontend-aggregation/aggregation-utils.class.d.ts +1 -1
  43. package/lib/dashboard/store/dashboard.selectors.d.ts +0 -5
  44. package/package.json +7 -7
  45. package/presentation/components/presentation.component.d.ts +4 -5
  46. package/styles/components/_o-access-rights-share.scss +9 -1
  47. package/toolbox/components/automate-refresh/automate-refresh.component.d.ts +2 -2
  48. package/toolbox/components/clear-view/clear-view.component.d.ts +3 -2
  49. package/toolbox/components/dashboard-details/dashboard-details.component.d.ts +3 -5
  50. package/toolbox/components/delete/delete.component.d.ts +4 -13
  51. package/toolbox/components/drag-widgets/drag-widgets.component.d.ts +3 -3
  52. package/toolbox/components/edit-mode-action/edit-mode-action.component.d.ts +3 -8
  53. package/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.d.ts +3 -2
  54. package/toolbox/components/filter-settings/filter-settings.component.d.ts +3 -3
  55. package/toolbox/components/launch-tab/launch-tab.component.d.ts +3 -2
  56. package/toolbox/components/refresh-datasets/refresh-datasets.component.d.ts +3 -3
  57. package/toolbox/components/save-view/save-view.component.d.ts +3 -5
  58. package/toolbox/components/select-grid-layout/select-grid-layout.component.d.ts +3 -3
  59. package/toolbox/components/share/share.component.d.ts +4 -8
  60. package/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.d.ts +3 -8
  61. package/toolbox/components/toolbox-action/toolbox-action.component.d.ts +6 -3
@@ -1,41 +1,31 @@
1
- import { Component, TemplateRef, ViewChild } from '@angular/core';
2
- import { canManifestBeMadePublic, DashboardActions, DashboardSelectors, DataSourceSelectors, getCommonDatasourceGroupsForManifest, PryVisibilityType } from '@provoly/dashboard';
1
+ import { Component, Inject, Optional, TemplateRef, ViewChild } from '@angular/core';
2
+ import { DashboardActions, DashboardSelectors, DataSourceSelectors, getCommonDatasourceGroupsForManifest, PRY_ACCESS_TOKEN } from '@provoly/dashboard';
3
3
  import { ToolboxActionComponent } from '../toolbox-action/toolbox-action.component';
4
4
  import { OverlayConfig } from '@angular/cdk/overlay';
5
5
  import { TemplatePortal } from '@angular/cdk/portal';
6
6
  import { BehaviorSubject, map } from 'rxjs';
7
+ import equal from 'fast-deep-equal/es6';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "@ngrx/store";
9
10
  import * as i2 from "@angular/cdk/overlay";
10
- import * as i3 from "@angular/common";
11
- import * as i4 from "@angular/forms";
12
- import * as i5 from "@provoly/dashboard";
11
+ import * as i3 from "@angular/forms";
12
+ import * as i4 from "@provoly/dashboard";
13
+ import * as i5 from "@angular/common";
13
14
  export class ShareComponent extends ToolboxActionComponent {
14
- constructor(store, overlay, viewContainerRef) {
15
- super(store);
15
+ constructor(store, access, overlay, viewContainerRef) {
16
+ super(store, access);
16
17
  this.overlay = overlay;
17
18
  this.viewContainerRef = viewContainerRef;
18
19
  this.modalOpened = false;
19
20
  this.accessRightsByGroup = {};
20
21
  this.disableShareButton$ = new BehaviorSubject(false);
21
- this.subscriptions.add(this.store.select(DashboardSelectors.presentation).subscribe((prez) => {
22
- this.presentation = prez.current;
23
- this.accessRightsByGroup = prez?.current?.accessRightsByGroup ?? {};
24
- }));
25
- this.disableShareRadios$ = this.store.select(DataSourceSelectors.datasets).pipe(map((datasets) => {
26
- return {
27
- [PryVisibilityType.PRIVATE]: false,
28
- [PryVisibilityType.PUBLIC]: this.presentation ? !canManifestBeMadePublic(this.presentation, datasets) : true,
29
- [PryVisibilityType.RESTRICTED]: this.presentation
30
- ? !(canManifestBeMadePublic(this.presentation, datasets) ||
31
- getCommonDatasourceGroupsForManifest(this.presentation, datasets).length > 0)
32
- : true
33
- };
22
+ this.subscriptions.add(this.store.select(DashboardSelectors.presentation).subscribe((manifest) => {
23
+ this.accessRightsByGroup = manifest?.current?.accessRightsByGroup ?? {};
34
24
  }));
35
25
  this.allowedShareGroups$ = this.store.select(DataSourceSelectors.datasets).pipe(map((datasets) => {
36
- return this.presentation && datasets.length > 0
37
- ? getCommonDatasourceGroupsForManifest(this.presentation, datasets)
38
- : [];
26
+ return this.currentManifest && this.currentManifest.datasource.length > 0
27
+ ? getCommonDatasourceGroupsForManifest(this.currentManifest, datasets)
28
+ : null;
39
29
  }));
40
30
  }
41
31
  trigger() {
@@ -43,7 +33,7 @@ export class ShareComponent extends ToolboxActionComponent {
43
33
  }
44
34
  toggleModal() {
45
35
  this.modalOpened = !this.modalOpened;
46
- if (this.modalOpened && this.presentation) {
36
+ if (this.modalOpened && this.currentManifest) {
47
37
  this.overlayRef = this.overlay.create(new OverlayConfig({
48
38
  hasBackdrop: true,
49
39
  panelClass: ['o-modal-wrapper'],
@@ -60,19 +50,20 @@ export class ShareComponent extends ToolboxActionComponent {
60
50
  }
61
51
  validate() {
62
52
  this.store.dispatch(DashboardActions.saveManifest({
63
- id: this.presentation.id ?? '',
64
- name: this.presentation.name ?? '',
65
- description: this.presentation.description ?? '',
66
- image: this.presentation.image ?? '',
53
+ id: this.currentManifest.id ?? '',
54
+ name: this.currentManifest.name ?? '',
55
+ description: this.currentManifest.description ?? '',
56
+ image: this.currentManifest.image ?? '',
67
57
  accessRightsByGroup: this.accessRightsByGroup
68
58
  }));
69
59
  this.toggleModal();
70
60
  }
71
61
  updateAccessRights($event) {
72
62
  this.accessRightsByGroup = $event;
63
+ this.updateDisableButtonValue();
73
64
  }
74
65
  updateDisableButtonValue() {
75
- if (Object.keys(this.accessRightsByGroup).length === 0) {
66
+ if (equal(this.accessRightsByGroup, this.currentManifest?.accessRightsByGroup)) {
76
67
  this.disableShareButton$.next(true);
77
68
  }
78
69
  else {
@@ -81,14 +72,19 @@ export class ShareComponent extends ToolboxActionComponent {
81
72
  }
82
73
  }
83
74
  }
84
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ShareComponent, deps: [{ token: i1.Store }, { token: i2.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
85
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: ShareComponent, selector: "pry-share-pres", viewQueries: [{ propertyName: "template", first: true, predicate: ["modal"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"presentation?.owner\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"trigger()\">\n <ng-container *ngIf=\"displayLabels\">{{ '@pry.toolbox.share' | i18n }}</ng-container>\n </button>\n</ng-container>\n<ng-template #modal>\n <div\n class=\"o-modal\"\n #visibilityModal\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog change visibility\"\n *ngIf=\"presentation\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">{{ '@pry.toolbox.share' | i18n }}</h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" #crossVisibility (click)=\"toggleModal()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <pry-access-rights-share\n [(ngModel)]=\"presentation.accessRightsByGroup\"\n (ngModelChange)=\"updateAccessRights($event)\"\n [manifestDescription]=\"presentation\"\n ></pry-access-rights-share>\n <div class=\"m-btn-group\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"toggleModal()\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button type=\"submit\" class=\"a-btn a-btn--primary\" #submit (click)=\"validate()\">\n {{ '@pry.toolbox.manifest.check' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i5.PryAccessRightsShareComponent, selector: "pry-access-rights-share", inputs: ["manifestDescription", "allowedGroups"] }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] }); }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ShareComponent, deps: [{ token: i1.Store }, { token: PRY_ACCESS_TOKEN, optional: true }, { token: i2.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: ShareComponent, selector: "pry-share-pres", viewQueries: [{ propertyName: "template", first: true, predicate: ["modal"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "@if (currentManifest?.owner) {\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"trigger()\">\n @if (displayLabels) {\n {{ '@pry.toolbox.share' | i18n }}\n }\n </button>\n}\n\n<ng-template #modal>\n @if (currentManifest) {\n <div class=\"o-modal\" #shareModal role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"dialog share access rights\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">{{ '@pry.toolbox.share' | i18n }}</h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"toggleModal()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <pry-access-rights-share\n [(ngModel)]=\"currentManifest.accessRightsByGroup\"\n (ngModelChange)=\"updateAccessRights($event)\"\n [manifestDescription]=\"currentManifest\"\n ></pry-access-rights-share>\n <div class=\"m-btn-group\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"toggleModal()\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button type=\"submit\" class=\"a-btn a-btn--primary\" #submit (click)=\"validate()\" [disabled]=\"this.disableShareButton$ | async\">\n {{ '@pry.toolbox.manifest.check' | i18n }}\n </button>\n </div>\n </div>\n }\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i4.PryAccessRightsShareComponent, selector: "pry-access-rights-share", inputs: ["manifestDescription", "allowedGroups"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
86
77
  }
87
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ShareComponent, decorators: [{
88
79
  type: Component,
89
- args: [{ selector: 'pry-share-pres', template: "<ng-container *ngIf=\"presentation?.owner\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"trigger()\">\n <ng-container *ngIf=\"displayLabels\">{{ '@pry.toolbox.share' | i18n }}</ng-container>\n </button>\n</ng-container>\n<ng-template #modal>\n <div\n class=\"o-modal\"\n #visibilityModal\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog change visibility\"\n *ngIf=\"presentation\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">{{ '@pry.toolbox.share' | i18n }}</h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" #crossVisibility (click)=\"toggleModal()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <pry-access-rights-share\n [(ngModel)]=\"presentation.accessRightsByGroup\"\n (ngModelChange)=\"updateAccessRights($event)\"\n [manifestDescription]=\"presentation\"\n ></pry-access-rights-share>\n <div class=\"m-btn-group\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"toggleModal()\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button type=\"submit\" class=\"a-btn a-btn--primary\" #submit (click)=\"validate()\">\n {{ '@pry.toolbox.manifest.check' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n" }]
90
- }], ctorParameters: () => [{ type: i1.Store }, { type: i2.Overlay }, { type: i0.ViewContainerRef }], propDecorators: { template: [{
80
+ args: [{ selector: 'pry-share-pres', template: "@if (currentManifest?.owner) {\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"trigger()\">\n @if (displayLabels) {\n {{ '@pry.toolbox.share' | i18n }}\n }\n </button>\n}\n\n<ng-template #modal>\n @if (currentManifest) {\n <div class=\"o-modal\" #shareModal role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"dialog share access rights\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">{{ '@pry.toolbox.share' | i18n }}</h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"toggleModal()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <pry-access-rights-share\n [(ngModel)]=\"currentManifest.accessRightsByGroup\"\n (ngModelChange)=\"updateAccessRights($event)\"\n [manifestDescription]=\"currentManifest\"\n ></pry-access-rights-share>\n <div class=\"m-btn-group\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"toggleModal()\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button type=\"submit\" class=\"a-btn a-btn--primary\" #submit (click)=\"validate()\" [disabled]=\"this.disableShareButton$ | async\">\n {{ '@pry.toolbox.manifest.check' | i18n }}\n </button>\n </div>\n </div>\n }\n</ng-template>\n" }]
81
+ }], ctorParameters: () => [{ type: i1.Store }, { type: i4.PryBaseAccess, decorators: [{
82
+ type: Optional
83
+ }, {
84
+ type: Inject,
85
+ args: [PRY_ACCESS_TOKEN]
86
+ }] }, { type: i2.Overlay }, { type: i0.ViewContainerRef }], propDecorators: { template: [{
91
87
  type: ViewChild,
92
88
  args: ['modal', { read: TemplateRef }]
93
89
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvdG9vbGJveC9jb21wb25lbnRzL3NoYXJlL3NoYXJlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3Rvb2xib3gvY29tcG9uZW50cy9zaGFyZS9zaGFyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRXBGLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsb0NBQW9DLEVBRXBDLGlCQUFpQixFQUNsQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBVyxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBaUIsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBTXZFLE1BQU0sT0FBTyxjQUFlLFNBQVEsc0JBQXNCO0lBVXhELFlBQ0UsS0FBWSxFQUNKLE9BQWdCLEVBQ2hCLGdCQUFrQztRQUUxQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFITCxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFYNUMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsd0JBQW1CLEdBQWdDLEVBQUUsQ0FBQztRQUl0RCx3QkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENB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RSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgY2FuTWFuaWZlc3RCZU1hZGVQdWJsaWMsXG4gIERhc2hib2FyZEFjdGlvbnMsXG4gIERhc2hib2FyZFNlbGVjdG9ycyxcbiAgRGF0YVNvdXJjZVNlbGVjdG9ycyxcbiAgZ2V0Q29tbW9uRGF0YXNvdXJjZUdyb3Vwc0Zvck1hbmlmZXN0LFxuICBNYW5pZmVzdERlc2NyaXB0aW9uLFxuICBQcnlWaXNpYmlsaXR5VHlwZVxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgVG9vbGJveEFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2xib3gtYWN0aW9uL3Rvb2xib3gtYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1zaGFyZS1wcmVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NoYXJlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTaGFyZUNvbXBvbmVudCBleHRlbmRzIFRvb2xib3hBY3Rpb25Db21wb25lbnQge1xuICBwcmVzZW50YXRpb24/OiBNYW5pZmVzdERlc2NyaXB0aW9uO1xuICBtb2RhbE9wZW5lZCA9IGZhbHNlO1xuICBvdmVybGF5UmVmPzogT3ZlcmxheVJlZjtcbiAgYWNjZXNzUmlnaHRzQnlHcm91cDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmdbXSB9ID0ge307XG4gIEBWaWV3Q2hpbGQoJ21vZGFsJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSB0ZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG4gIGRpc2FibGVTaGFyZVJhZGlvcyQ6IE9ic2VydmFibGU8eyBba2V5IGluIFByeVZpc2liaWxpdHlUeXBlXTogYm9vbGVhbiB9PjtcbiAgYWxsb3dlZFNoYXJlR3JvdXBzJDogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gIGRpc2FibGVTaGFyZUJ1dHRvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHtcbiAgICBzdXBlcihzdG9yZSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5wcmVzZW50YXRpb24pLnN1YnNjcmliZSgocHJleikgPT4ge1xuICAgICAgICB0aGlzLnByZXNlbnRhdGlvbiA9IHByZXouY3VycmVudDtcbiAgICAgICAgdGhpcy5hY2Nlc3NSaWdodHNCeUdyb3VwID0gcHJlej8uY3VycmVudD8uYWNjZXNzUmlnaHRzQnlHcm91cCA/PyB7fTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuZGlzYWJsZVNoYXJlUmFkaW9zJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZGF0YXNldHMpLnBpcGUoXG4gICAgICBtYXAoKGRhdGFzZXRzKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgW1ByeVZpc2liaWxpdHlUeXBlLlBSSVZBVEVdOiBmYWxzZSxcbiAgICAgICAgICBbUHJ5VmlzaWJpbGl0eVR5cGUuUFVCTElDXTogdGhpcy5wcmVzZW50YXRpb24gPyAhY2FuTWFuaWZlc3RCZU1hZGVQdWJsaWModGhpcy5wcmVzZW50YXRpb24sIGRhdGFzZXRzKSA6IHRydWUsXG4gICAgICAgICAgW1ByeVZpc2liaWxpdHlUeXBlLlJFU1RSSUNURURdOiB0aGlzLnByZXNlbnRhdGlvblxuICAgICAgICAgICAgPyAhKFxuICAgICAgICAgICAgICAgIGNhbk1hbmlmZXN0QmVNYWRlUHVibGljKHRoaXMucHJlc2VudGF0aW9uLCBkYXRhc2V0cykgfHxcbiAgICAgICAgICAgICAgICBnZXRDb21tb25EYXRhc291cmNlR3JvdXBzRm9yTWFuaWZlc3QodGhpcy5wcmVzZW50YXRpb24sIGRhdGFzZXRzKS5sZW5ndGggPiAwXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuYWxsb3dlZFNoYXJlR3JvdXBzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZGF0YXNldHMpLnBpcGUoXG4gICAgICBtYXAoKGRhdGFzZXRzKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZXNlbnRhdGlvbiAmJiBkYXRhc2V0cy5sZW5ndGggPiAwXG4gICAgICAgICAgPyBnZXRDb21tb25EYXRhc291cmNlR3JvdXBzRm9yTWFuaWZlc3QodGhpcy5wcmVzZW50YXRpb24sIGRhdGFzZXRzKVxuICAgICAgICAgIDogW107XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICB0cmlnZ2VyKCkge1xuICAgIHRoaXMudG9nZ2xlTW9kYWwoKTtcbiAgfVxuXG4gIHRvZ2dsZU1vZGFsKCkge1xuICAgIHRoaXMubW9kYWxPcGVuZWQgPSAhdGhpcy5tb2RhbE9wZW5lZDtcbiAgICBpZiAodGhpcy5tb2RhbE9wZW5lZCAmJiB0aGlzLnByZXNlbnRhdGlvbikge1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShcbiAgICAgICAgbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICAgIHBhbmVsQ2xhc3M6IFsnby1tb2RhbC13cmFwcGVyJ10sXG4gICAgICAgICAgYmFja2Ryb3BDbGFzczogJ2JhY2tkcm9wJ1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMudG9nZ2xlTW9kYWwoKSk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLnRlbXBsYXRlLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGUoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIERhc2hib2FyZEFjdGlvbnMuc2F2ZU1hbmlmZXN0KHtcbiAgICAgICAgaWQ6IHRoaXMucHJlc2VudGF0aW9uIS5pZCA/PyAnJyxcbiAgICAgICAgbmFtZTogdGhpcy5wcmVzZW50YXRpb24hLm5hbWUgPz8gJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnByZXNlbnRhdGlvbiEuZGVzY3JpcHRpb24gPz8gJycsXG4gICAgICAgIGltYWdlOiB0aGlzLnByZXNlbnRhdGlvbiEuaW1hZ2UgPz8gJycsXG4gICAgICAgIGFjY2Vzc1JpZ2h0c0J5R3JvdXA6IHRoaXMuYWNjZXNzUmlnaHRzQnlHcm91cFxuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMudG9nZ2xlTW9kYWwoKTtcbiAgfVxuXG4gIHVwZGF0ZUFjY2Vzc1JpZ2h0cygkZXZlbnQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfSkge1xuICAgIHRoaXMuYWNjZXNzUmlnaHRzQnlHcm91cCA9ICRldmVudDtcbiAgfVxuXG4gIHVwZGF0ZURpc2FibGVCdXR0b25WYWx1ZSgpIHtcbiAgICBpZiAoT2JqZWN0LmtleXModGhpcy5hY2Nlc3NSaWdodHNCeUdyb3VwKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuZGlzYWJsZVNoYXJlQnV0dG9uJC5uZXh0KHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5kaXNhYmxlU2hhcmVCdXR0b24kLmdldFZhbHVlKCkpIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlU2hhcmVCdXR0b24kLm5leHQoZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInByZXNlbnRhdGlvbj8ub3duZXJcIj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cInRyaWdnZXIoKVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkaXNwbGF5TGFiZWxzXCI+e3sgJ0BwcnkudG9vbGJveC5zaGFyZScgfCBpMThuIH19PC9uZy1jb250YWluZXI+XG4gIDwvYnV0dG9uPlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI21vZGFsPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJvLW1vZGFsXCJcbiAgICAjdmlzaWJpbGl0eU1vZGFsXG4gICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgIGFyaWEtbGFiZWxsZWRieT1cImRpYWxvZyBjaGFuZ2UgdmlzaWJpbGl0eVwiXG4gICAgKm5nSWY9XCJwcmVzZW50YXRpb25cIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cIm8tbW9kYWxfX3RvcFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm8tbW9kYWxfX3RvcF9fdGl0bGVcIj5cbiAgICAgICAgPGgyIGNsYXNzPVwiYS1oMlwiIGlkPVwiZGlhbG9nX3RpdGxlXCI+e3sgJ0BwcnkudG9vbGJveC5zaGFyZScgfCBpMThuIH19PC9oMj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm8tbW9kYWxfX3RvcF9fY2xvc2VcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIiAjY3Jvc3NWaXNpYmlsaXR5IChjbGljayk9XCJ0b2dnbGVNb2RhbCgpXCI+XG4gICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJjbG9zZVwiIFtoZWlnaHRdPVwiMzVcIiBbd2lkdGhdPVwiMzVcIj48L3ByeS1pY29uPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS50b29sYm94LmNsb3NlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHByeS1hY2Nlc3MtcmlnaHRzLXNoYXJlXG4gICAgICBbKG5nTW9kZWwpXT1cInByZXNlbnRhdGlvbi5hY2Nlc3NSaWdodHNCeUdyb3VwXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUFjY2Vzc1JpZ2h0cygkZXZlbnQpXCJcbiAgICAgIFttYW5pZmVzdERlc2NyaXB0aW9uXT1cInByZXNlbnRhdGlvblwiXG4gICAgPjwvcHJ5LWFjY2Vzcy1yaWdodHMtc2hhcmU+XG4gICAgPGRpdiBjbGFzcz1cIm0tYnRuLWdyb3VwXCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIiAoY2xpY2spPVwidG9nZ2xlTW9kYWwoKVwiPlxuICAgICAgICB7eyAnQHByeS50b29sYm94Lm1hbmlmZXN0LmNsb3NlJyB8IGkxOG4gfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiICNzdWJtaXQgKGNsaWNrKT1cInZhbGlkYXRlKClcIj5cbiAgICAgICAge3sgJ0BwcnkudG9vbGJveC5tYW5pZmVzdC5jaGVjaycgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvdG9vbGJveC9jb21wb25lbnRzL3NoYXJlL3NoYXJlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3Rvb2xib3gvY29tcG9uZW50cy9zaGFyZS9zaGFyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFFdEcsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLG9DQUFvQyxFQUNwQyxnQkFBZ0IsRUFFakIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQVcsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sS0FBSyxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBTXhDLE1BQU0sT0FBTyxjQUFlLFNBQVEsc0JBQXNCO0lBUXhELFlBQ0UsS0FBWSxFQUMwQixNQUFxQixFQUNuRCxPQUFnQixFQUNoQixnQkFBa0M7UUFFMUMsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUhiLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVg1QyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQix3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LENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1lBQy9FLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO2dCQUN4QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzs4R0EvRVUsY0FBYyx1Q0FVSCxnQkFBZ0I7a0dBVjNCLGNBQWMsb0lBSUcsV0FBVyxvREN4QnpDLGdsREFzQ0E7OzJGRGxCYSxjQUFjO2tCQUoxQixTQUFTOytCQUNFLGdCQUFnQjs7MEJBYXZCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCOzhGQU5LLFFBQVE7c0JBQWxELFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBEYXNoYm9hcmRBY3Rpb25zLFxuICBEYXNoYm9hcmRTZWxlY3RvcnMsXG4gIERhdGFTb3VyY2VTZWxlY3RvcnMsXG4gIGdldENvbW1vbkRhdGFzb3VyY2VHcm91cHNGb3JNYW5pZmVzdCxcbiAgUFJZX0FDQ0VTU19UT0tFTixcbiAgUHJ5QmFzZUFjY2Vzc1xufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgVG9vbGJveEFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2xib3gtYWN0aW9uL3Rvb2xib3gtYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgZXF1YWwgZnJvbSAnZmFzdC1kZWVwLWVxdWFsL2VzNic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1zaGFyZS1wcmVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NoYXJlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTaGFyZUNvbXBvbmVudCBleHRlbmRzIFRvb2xib3hBY3Rpb25Db21wb25lbnQge1xuICBtb2RhbE9wZW5lZCA9IGZhbHNlO1xuICBvdmVybGF5UmVmPzogT3ZlcmxheVJlZjtcbiAgYWNjZXNzUmlnaHRzQnlHcm91cDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmdbXSB9ID0ge307XG4gIEBWaWV3Q2hpbGQoJ21vZGFsJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSB0ZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG4gIGFsbG93ZWRTaGFyZUdyb3VwcyQ6IE9ic2VydmFibGU8c3RyaW5nW10gfCBudWxsPjtcbiAgZGlzYWJsZVNoYXJlQnV0dG9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHN0b3JlOiBTdG9yZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFBSWV9BQ0NFU1NfVE9LRU4pIGFjY2VzczogUHJ5QmFzZUFjY2VzcyxcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmXG4gICkge1xuICAgIHN1cGVyKHN0b3JlLCBhY2Nlc3MpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucHJlc2VudGF0aW9uKS5zdWJzY3JpYmUoKG1hbmlmZXN0KSA9PiB7XG4gICAgICAgIHRoaXMuYWNjZXNzUmlnaHRzQnlHcm91cCA9IG1hbmlmZXN0Py5jdXJyZW50Py5hY2Nlc3NSaWdodHNCeUdyb3VwID8/IHt9O1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5hbGxvd2VkU2hhcmVHcm91cHMkID0gdGhpcy5zdG9yZS5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5kYXRhc2V0cykucGlwZShcbiAgICAgIG1hcCgoZGF0YXNldHMpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudE1hbmlmZXN0ICYmIHRoaXMuY3VycmVudE1hbmlmZXN0LmRhdGFzb3VyY2UubGVuZ3RoID4gMFxuICAgICAgICAgID8gZ2V0Q29tbW9uRGF0YXNvdXJjZUdyb3Vwc0Zvck1hbmlmZXN0KHRoaXMuY3VycmVudE1hbmlmZXN0LCBkYXRhc2V0cylcbiAgICAgICAgICA6IG51bGw7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICB0cmlnZ2VyKCkge1xuICAgIHRoaXMudG9nZ2xlTW9kYWwoKTtcbiAgfVxuXG4gIHRvZ2dsZU1vZGFsKCkge1xuICAgIHRoaXMubW9kYWxPcGVuZWQgPSAhdGhpcy5tb2RhbE9wZW5lZDtcbiAgICBpZiAodGhpcy5tb2RhbE9wZW5lZCAmJiB0aGlzLmN1cnJlbnRNYW5pZmVzdCkge1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShcbiAgICAgICAgbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICAgIHBhbmVsQ2xhc3M6IFsnby1tb2RhbC13cmFwcGVyJ10sXG4gICAgICAgICAgYmFja2Ryb3BDbGFzczogJ2JhY2tkcm9wJ1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMudG9nZ2xlTW9kYWwoKSk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLnRlbXBsYXRlLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGUoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIERhc2hib2FyZEFjdGlvbnMuc2F2ZU1hbmlmZXN0KHtcbiAgICAgICAgaWQ6IHRoaXMuY3VycmVudE1hbmlmZXN0IS5pZCA/PyAnJyxcbiAgICAgICAgbmFtZTogdGhpcy5jdXJyZW50TWFuaWZlc3QhLm5hbWUgPz8gJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmN1cnJlbnRNYW5pZmVzdCEuZGVzY3JpcHRpb24gPz8gJycsXG4gICAgICAgIGltYWdlOiB0aGlzLmN1cnJlbnRNYW5pZmVzdCEuaW1hZ2UgPz8gJycsXG4gICAgICAgIGFjY2Vzc1JpZ2h0c0J5R3JvdXA6IHRoaXMuYWNjZXNzUmlnaHRzQnlHcm91cFxuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMudG9nZ2xlTW9kYWwoKTtcbiAgfVxuXG4gIHVwZGF0ZUFjY2Vzc1JpZ2h0cygkZXZlbnQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfSkge1xuICAgIHRoaXMuYWNjZXNzUmlnaHRzQnlHcm91cCA9ICRldmVudDtcbiAgICB0aGlzLnVwZGF0ZURpc2FibGVCdXR0b25WYWx1ZSgpO1xuICB9XG5cbiAgdXBkYXRlRGlzYWJsZUJ1dHRvblZhbHVlKCkge1xuICAgIGlmIChlcXVhbCh0aGlzLmFjY2Vzc1JpZ2h0c0J5R3JvdXAsIHRoaXMuY3VycmVudE1hbmlmZXN0Py5hY2Nlc3NSaWdodHNCeUdyb3VwKSkge1xuICAgICAgdGhpcy5kaXNhYmxlU2hhcmVCdXR0b24kLm5leHQodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmRpc2FibGVTaGFyZUJ1dHRvbiQuZ2V0VmFsdWUoKSkge1xuICAgICAgICB0aGlzLmRpc2FibGVTaGFyZUJ1dHRvbiQubmV4dChmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgKGN1cnJlbnRNYW5pZmVzdD8ub3duZXIpIHtcbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cInRyaWdnZXIoKVwiPlxuICAgIEBpZiAoZGlzcGxheUxhYmVscykge1xuICAgICAge3sgJ0BwcnkudG9vbGJveC5zaGFyZScgfCBpMThuIH19XG4gICAgfVxuICA8L2J1dHRvbj5cbn1cblxuPG5nLXRlbXBsYXRlICNtb2RhbD5cbiAgQGlmIChjdXJyZW50TWFuaWZlc3QpIHtcbiAgICA8ZGl2IGNsYXNzPVwiby1tb2RhbFwiICNzaGFyZU1vZGFsIHJvbGU9XCJkaWFsb2dcIiBhcmlhLW1vZGFsPVwidHJ1ZVwiIGFyaWEtbGFiZWxsZWRieT1cImRpYWxvZyBzaGFyZSBhY2Nlc3MgcmlnaHRzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1tb2RhbF9fdG9wXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvLW1vZGFsX190b3BfX3RpdGxlXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwiYS1oMlwiIGlkPVwiZGlhbG9nX3RpdGxlXCI+e3sgJ0BwcnkudG9vbGJveC5zaGFyZScgfCBpMThuIH19PC9oMj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvLW1vZGFsX190b3BfX2Nsb3NlXCI+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIiAoY2xpY2spPVwidG9nZ2xlTW9kYWwoKVwiPlxuICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJjbG9zZVwiIFtoZWlnaHRdPVwiMzVcIiBbd2lkdGhdPVwiMzVcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LnRvb2xib3guY2xvc2UnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxwcnktYWNjZXNzLXJpZ2h0cy1zaGFyZVxuICAgICAgICBbKG5nTW9kZWwpXT1cImN1cnJlbnRNYW5pZmVzdC5hY2Nlc3NSaWdodHNCeUdyb3VwXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlQWNjZXNzUmlnaHRzKCRldmVudClcIlxuICAgICAgICBbbWFuaWZlc3REZXNjcmlwdGlvbl09XCJjdXJyZW50TWFuaWZlc3RcIlxuICAgICAgPjwvcHJ5LWFjY2Vzcy1yaWdodHMtc2hhcmU+XG4gICAgICA8ZGl2IGNsYXNzPVwibS1idG4tZ3JvdXBcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cInRvZ2dsZU1vZGFsKClcIj5cbiAgICAgICAgICB7eyAnQHByeS50b29sYm94Lm1hbmlmZXN0LmNsb3NlJyB8IGkxOG4gfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIiAjc3VibWl0IChjbGljayk9XCJ2YWxpZGF0ZSgpXCIgW2Rpc2FibGVkXT1cInRoaXMuZGlzYWJsZVNoYXJlQnV0dG9uJCB8IGFzeW5jXCI+XG4gICAgICAgICAge3sgJ0BwcnkudG9vbGJveC5tYW5pZmVzdC5jaGVjaycgfCBpMThuIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,26 +1,28 @@
1
- import { Component } from '@angular/core';
2
- import { DashboardActions, DashboardSelectors, ViewMode } from '@provoly/dashboard';
1
+ import { Component, Inject, Optional } from '@angular/core';
2
+ import { DashboardActions, PRY_ACCESS_TOKEN, ViewMode } from '@provoly/dashboard';
3
3
  import { ToolboxActionComponent } from '../toolbox-action/toolbox-action.component';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@ngrx/store";
6
6
  import * as i2 from "@angular/common";
7
7
  import * as i3 from "@provoly/dashboard";
8
8
  export class SwitchToEditContentComponent extends ToolboxActionComponent {
9
- constructor(store) {
10
- super(store);
11
- this.subscriptions.add(this.store.select(DashboardSelectors.presentation).subscribe((prez) => {
12
- this.presentation = prez;
13
- }));
9
+ constructor(store, access) {
10
+ super(store, access);
14
11
  }
15
12
  trigger() {
16
13
  this.store.dispatch(DashboardActions.updateDisplayOptions({ mode: ViewMode.EDITION }));
17
14
  this.close();
18
15
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SwitchToEditContentComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: SwitchToEditContentComponent, selector: "pry-switch-to-edit", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"this.presentation?.current?.owner\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"trigger()\">\n <ng-container *ngIf=\"displayLabels\">{{ '@pry.toolbox.switchEditContent' | i18n }}</ng-container>\n </button>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SwitchToEditContentComponent, deps: [{ token: i1.Store }, { token: PRY_ACCESS_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: SwitchToEditContentComponent, selector: "pry-switch-to-edit", usesInheritance: true, ngImport: i0, template: "@if (canModify$() | async) {\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"trigger()\">\n @if (displayLabels) {\n {{ '@pry.toolbox.switchEditContent' | i18n }}\n }\n </button>\n}\n", dependencies: [{ kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
21
18
  }
22
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SwitchToEditContentComponent, decorators: [{
23
20
  type: Component,
24
- args: [{ selector: 'pry-switch-to-edit', template: "<ng-container *ngIf=\"this.presentation?.current?.owner\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"trigger()\">\n <ng-container *ngIf=\"displayLabels\">{{ '@pry.toolbox.switchEditContent' | i18n }}</ng-container>\n </button>\n</ng-container>\n" }]
25
- }], ctorParameters: () => [{ type: i1.Store }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLXRvLWVkaXQtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC90b29sYm94L2NvbXBvbmVudHMvc3dpdGNoLXRvLWVkaXQtY29udGVudC9zd2l0Y2gtdG8tZWRpdC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3Rvb2xib3gvY29tcG9uZW50cy9zd2l0Y2gtdG8tZWRpdC1jb250ZW50L3N3aXRjaC10by1lZGl0LWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUdsQixRQUFRLEVBQ1QsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7QUFNcEYsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHNCQUFzQjtJQVN0RSxZQUFZLEtBQVk7UUFDdEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3BFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkYsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQzs4R0FyQlUsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsaUZDZnpDLHVSQUtBOzsyRkRVYSw0QkFBNEI7a0JBSnhDLFNBQVM7K0JBQ0Usb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIERhc2hib2FyZEFjdGlvbnMsXG4gIERhc2hib2FyZFNlbGVjdG9ycyxcbiAgR2xvYmFsTWFuaWZlc3QsXG4gIE1hbmlmZXN0RGVzY3JpcHRpb24sXG4gIFZpZXdNb2RlXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBUb29sYm94QWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9vbGJveC1hY3Rpb24vdG9vbGJveC1hY3Rpb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXN3aXRjaC10by1lZGl0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N3aXRjaC10by1lZGl0LWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFN3aXRjaFRvRWRpdENvbnRlbnRDb21wb25lbnQgZXh0ZW5kcyBUb29sYm94QWN0aW9uQ29tcG9uZW50IHtcbiAgcHJlc2VudGF0aW9uOlxuICAgIHwge1xuICAgICAgICBjdXJyZW50OiBNYW5pZmVzdERlc2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICAgICAgICB2aWV3TW9kZT86IFZpZXdNb2RlO1xuICAgICAgICBpbml0aWFsOiBHbG9iYWxNYW5pZmVzdCB8IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihzdG9yZTogU3RvcmUpIHtcbiAgICBzdXBlcihzdG9yZSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5wcmVzZW50YXRpb24pLnN1YnNjcmliZSgocHJleikgPT4ge1xuICAgICAgICB0aGlzLnByZXNlbnRhdGlvbiA9IHByZXo7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICB0cmlnZ2VyKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVEaXNwbGF5T3B0aW9ucyh7IG1vZGU6IFZpZXdNb2RlLkVESVRJT04gfSkpO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInRoaXMucHJlc2VudGF0aW9uPy5jdXJyZW50Py5vd25lclwiPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIiAoY2xpY2spPVwidHJpZ2dlcigpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlMYWJlbHNcIj57eyAnQHByeS50b29sYm94LnN3aXRjaEVkaXRDb250ZW50JyB8IGkxOG4gfX08L25nLWNvbnRhaW5lcj5cbiAgPC9idXR0b24+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
21
+ args: [{ selector: 'pry-switch-to-edit', template: "@if (canModify$() | async) {\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"trigger()\">\n @if (displayLabels) {\n {{ '@pry.toolbox.switchEditContent' | i18n }}\n }\n </button>\n}\n" }]
22
+ }], ctorParameters: () => [{ type: i1.Store }, { type: i3.PryBaseAccess, decorators: [{
23
+ type: Optional
24
+ }, {
25
+ type: Inject,
26
+ args: [PRY_ACCESS_TOKEN]
27
+ }] }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLXRvLWVkaXQtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC90b29sYm94L2NvbXBvbmVudHMvc3dpdGNoLXRvLWVkaXQtY29udGVudC9zd2l0Y2gtdG8tZWRpdC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3Rvb2xib3gvY29tcG9uZW50cy9zd2l0Y2gtdG8tZWRpdC1jb250ZW50L3N3aXRjaC10by1lZGl0LWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBaUIsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7O0FBTXBGLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxzQkFBc0I7SUFDdEUsWUFBWSxLQUFZLEVBQXdDLE1BQXFCO1FBQ25GLEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7OEdBUlUsNEJBQTRCLHVDQUNPLGdCQUFnQjtrR0FEbkQsNEJBQTRCLGlGQ1R6QywwTkFPQTs7MkZERWEsNEJBQTRCO2tCQUp4QyxTQUFTOytCQUNFLG9CQUFvQjs7MEJBSUgsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgRGFzaGJvYXJkQWN0aW9ucywgUFJZX0FDQ0VTU19UT0tFTiwgUHJ5QmFzZUFjY2VzcywgVmlld01vZGUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgVG9vbGJveEFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2xib3gtYWN0aW9uL3Rvb2xib3gtYWN0aW9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1zd2l0Y2gtdG8tZWRpdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zd2l0Y2gtdG8tZWRpdC1jb250ZW50LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTd2l0Y2hUb0VkaXRDb250ZW50Q29tcG9uZW50IGV4dGVuZHMgVG9vbGJveEFjdGlvbkNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTdG9yZSwgQE9wdGlvbmFsKCkgQEluamVjdChQUllfQUNDRVNTX1RPS0VOKSBhY2Nlc3M6IFByeUJhc2VBY2Nlc3MpIHtcbiAgICBzdXBlcihzdG9yZSwgYWNjZXNzKTtcbiAgfVxuXG4gIHRyaWdnZXIoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZURpc3BsYXlPcHRpb25zKHsgbW9kZTogVmlld01vZGUuRURJVElPTiB9KSk7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG59XG4iLCJAaWYgKGNhbk1vZGlmeSQoKSB8IGFzeW5jKSB7XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiIChjbGljayk9XCJ0cmlnZ2VyKClcIj5cbiAgICBAaWYgKGRpc3BsYXlMYWJlbHMpIHtcbiAgICAgIHt7ICdAcHJ5LnRvb2xib3guc3dpdGNoRWRpdENvbnRlbnQnIHwgaTE4biB9fVxuICAgIH1cbiAgPC9idXR0b24+XG59XG4iXX0=
@@ -1,18 +1,27 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { SubscriptionnerDirective } from '@provoly/dashboard';
1
+ import { Component, EventEmitter, Inject, Input, Optional, Output } from '@angular/core';
2
+ import { DashboardSelectors, PRY_ACCESS_TOKEN, SubscriptionnerDirective } from '@provoly/dashboard';
3
+ import { of } from 'rxjs';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@ngrx/store";
6
+ import * as i2 from "@provoly/dashboard";
5
7
  export class ToolboxActionComponent extends SubscriptionnerDirective {
6
- constructor(store) {
8
+ constructor(store, access) {
7
9
  super();
8
10
  this.store = store;
11
+ this.access = access;
9
12
  this.displayLabels = true;
10
13
  this.closeOptions = new EventEmitter();
14
+ this.subscriptions.add(this.store.select(DashboardSelectors.presentation).subscribe((manifest) => {
15
+ this.currentManifest = manifest?.current;
16
+ }));
11
17
  }
12
18
  close() {
13
19
  this.closeOptions.emit();
14
20
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ToolboxActionComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
21
+ canModify$() {
22
+ return this.access && this.currentManifest ? this.access.canModifyPresentation(this.currentManifest) : of(false);
23
+ }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ToolboxActionComponent, deps: [{ token: i1.Store }, { token: PRY_ACCESS_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
16
25
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: ToolboxActionComponent, selector: "pry-toolbox-action", inputs: { displayLabels: "displayLabels" }, outputs: { closeOptions: "closeOptions" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
17
26
  }
18
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ToolboxActionComponent, decorators: [{
@@ -21,9 +30,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
21
30
  selector: 'pry-toolbox-action',
22
31
  template: ''
23
32
  }]
24
- }], ctorParameters: () => [{ type: i1.Store }], propDecorators: { displayLabels: [{
33
+ }], ctorParameters: () => [{ type: i1.Store }, { type: i2.PryBaseAccess, decorators: [{
34
+ type: Optional
35
+ }, {
36
+ type: Inject,
37
+ args: [PRY_ACCESS_TOKEN]
38
+ }] }], propDecorators: { displayLabels: [{
25
39
  type: Input
26
40
  }], closeOptions: [{
27
41
  type: Output
28
42
  }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJveC1hY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvdG9vbGJveC9jb21wb25lbnRzL3Rvb2xib3gtYWN0aW9uL3Rvb2xib3gtYWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFNOUQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHdCQUF3QjtJQUlsRSxZQUFzQixLQUFZO1FBQ2hDLEtBQUssRUFBRSxDQUFDO1FBRFksVUFBSyxHQUFMLEtBQUssQ0FBTztRQUh6QixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNwQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFJbEQsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBVlUsc0JBQXNCO2tHQUF0QixzQkFBc0Isd0tBRnZCLEVBQUU7OzJGQUVELHNCQUFzQjtrQkFKbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsRUFBRTtpQkFDYjswRUFFVSxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktdG9vbGJveC1hY3Rpb24nLFxuICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgY2xhc3MgVG9vbGJveEFjdGlvbkNvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpIGRpc3BsYXlMYWJlbHMgPSB0cnVlO1xuICBAT3V0cHV0KCkgY2xvc2VPcHRpb25zID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBzdG9yZTogU3RvcmUpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZU9wdGlvbnMuZW1pdCgpO1xuICB9XG59XG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJveC1hY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvdG9vbGJveC9jb21wb25lbnRzL3Rvb2xib3gtYWN0aW9uL3Rvb2xib3gtYWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekYsT0FBTyxFQUNMLGtCQUFrQixFQUVsQixnQkFBZ0IsRUFFaEIsd0JBQXdCLEVBQ3pCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQU0xQixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsd0JBQXdCO0lBS2xFLFlBQ1ksS0FBWSxFQUMwQixNQUFxQjtRQUVyRSxLQUFLLEVBQUUsQ0FBQztRQUhFLFVBQUssR0FBTCxLQUFLLENBQU87UUFDMEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQU45RCxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNwQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFRaEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3hFLElBQUksQ0FBQyxlQUFlLEdBQUcsUUFBUSxFQUFFLE9BQU8sQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkgsQ0FBQzs4R0F2QlUsc0JBQXNCLHVDQU9YLGdCQUFnQjtrR0FQM0Isc0JBQXNCLHdLQUZ2QixFQUFFOzsyRkFFRCxzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7OzBCQVFJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCO3lDQU43QixhQUFhO3NCQUFyQixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBEYXNoYm9hcmRTZWxlY3RvcnMsXG4gIE1hbmlmZXN0RGVzY3JpcHRpb24sXG4gIFBSWV9BQ0NFU1NfVE9LRU4sXG4gIFByeUJhc2VBY2Nlc3MsXG4gIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZVxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXRvb2xib3gtYWN0aW9uJyxcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xib3hBY3Rpb25Db21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUge1xuICBASW5wdXQoKSBkaXNwbGF5TGFiZWxzID0gdHJ1ZTtcbiAgQE91dHB1dCgpIGNsb3NlT3B0aW9ucyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgY3VycmVudE1hbmlmZXN0OiBNYW5pZmVzdERlc2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBzdG9yZTogU3RvcmUsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChQUllfQUNDRVNTX1RPS0VOKSBwcm90ZWN0ZWQgYWNjZXNzOiBQcnlCYXNlQWNjZXNzXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5wcmVzZW50YXRpb24pLnN1YnNjcmliZSgobWFuaWZlc3QpID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50TWFuaWZlc3QgPSBtYW5pZmVzdD8uY3VycmVudDtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VPcHRpb25zLmVtaXQoKTtcbiAgfVxuXG4gIGNhbk1vZGlmeSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWNjZXNzICYmIHRoaXMuY3VycmVudE1hbmlmZXN0ID8gdGhpcy5hY2Nlc3MuY2FuTW9kaWZ5UHJlc2VudGF0aW9uKHRoaXMuY3VycmVudE1hbmlmZXN0KSA6IG9mKGZhbHNlKTtcbiAgfVxufVxuIl19
@@ -95,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
95
95
  }], dropdownActions: [{
96
96
  type: Input
97
97
  }] } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC90b29sYm94L2NvbXBvbmVudHMvdG9vbGJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC90b29sYm94L2NvbXBvbmVudHMvdG9vbGJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNFLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsa0JBQWtCLEVBSWxCLGdCQUFnQixFQUdqQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxPQUFPLEVBQWlCLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7O0FBTzFELE1BQU0sT0FBTyxnQkFBZ0I7SUE2QjNCLElBQWEsT0FBTyxDQUFDLE9BQXdCO1FBQzNDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFhLGVBQWUsQ0FBQyxlQUFrRDtRQUM3RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxZQUFZLEtBQVksRUFBZ0QsSUFBbUI7UUFBbkIsU0FBSSxHQUFKLElBQUksQ0FBZTtRQXBDM0YsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFrQixPQUFPLENBQUMsQ0FBQztRQUN6RCxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBb0MsRUFBRSxDQUFDLENBQUM7UUFD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QyxNQUFhO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQW9CO1FBQ2hDLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzVCLElBQUksTUFBTTtZQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsUUFBUSxDQUFDLFVBQWtCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsVUFBVSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUM7SUFDL0YsQ0FBQzs4R0FoSFUsZ0JBQWdCLHVDQXFDbUIsZ0JBQWdCO2tHQXJDbkQsZ0JBQWdCLDZMQ3BCN0IsbS9FQXFFQTs7MkZEakRhLGdCQUFnQjtrQkFKNUIsU0FBUzsrQkFDRSxhQUFhOzswQkF3Q0ksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0I7eUNBbENyRCxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkF5Qk8sT0FBTztzQkFBbkIsS0FBSztnQkFJTyxlQUFlO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIERhc2hib2FyZEdyaWRMYXlvdXQsXG4gIERhc2hib2FyZFNlbGVjdG9ycyxcbiAgRGlzcGxheU9wdGlvbnMsXG4gIEdsb2JhbE1hbmlmZXN0LFxuICBNYW5pZmVzdERlc2NyaXB0aW9uLFxuICBQUllfQUNDRVNTX1RPS0VOLFxuICBQcnlCYXNlQWNjZXNzLFxuICBWaWV3TW9kZVxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFDVElPTlMsIFRvb2xib3hBY3Rpb24gfSBmcm9tICcuLi90b29sYm94Lm1vZGVsJztcbmltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktdG9vbGJveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90b29sYm94LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUb29sYm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgYWN0aW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRvb2xib3hBY3Rpb25bXT4oQUNUSU9OUyk7XG4gIF9kcm9wZG93bkFjdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IG5hbWU6IHN0cmluZzsgb3JkZXI6IG51bWJlciB9W10+KFtdKTtcbiAgQElucHV0KCkgZGlzcGxheUxhYmVscyA9IHRydWU7XG4gIEBJbnB1dCgpIGRyb3Bkb3duUG9zaXRpb246IENvbm5lY3RlZFBvc2l0aW9uW10gPSBbXG4gICAge1xuICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgIH1cbiAgXTtcbiAgaXNNYW51YWxNb2RlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgYWxsQWN0aW9ucyQhOiBPYnNlcnZhYmxlPFRvb2xib3hBY3Rpb25bXT47XG4gIG1haW5BY3Rpb25zJCE6IE9ic2VydmFibGU8VG9vbGJveEFjdGlvbltdPjtcbiAgZHJvcGRvd25BY3Rpb25zJCE6IE9ic2VydmFibGU8VG9vbGJveEFjdGlvbltdPjtcbiAgc2hvd0Ryb3Bkb3duQnV0dG9uJCE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGlzRHJvcGRvd25PcGVuID0gZmFsc2U7XG4gIGFjdGlvbnNBdmFpbGFibGUkOiBPYnNlcnZhYmxlPERpc3BsYXlPcHRpb25zIHwgdW5kZWZpbmVkPjtcbiAgc2hvd0VkaXRUb2dnbGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBwcml2YXRlIHByZXNlbnRhdGlvbiQ6IE9ic2VydmFibGU8XG4gICAgfCB7XG4gICAgICAgIGN1cnJlbnQ6IE1hbmlmZXN0RGVzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gICAgICAgIHZpZXdNb2RlPzogVmlld01vZGU7XG4gICAgICAgIGluaXRpYWw6IEdsb2JhbE1hbmlmZXN0IHwgdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIHwgdW5kZWZpbmVkXG4gID47XG5cbiAgQElucHV0KCkgc2V0IGFjdGlvbnMoYWN0aW9uczogVG9vbGJveEFjdGlvbltdKSB7XG4gICAgdGhpcy5hY3Rpb25zJC5uZXh0KGFjdGlvbnMpO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGRyb3Bkb3duQWN0aW9ucyhkcm9wZG93bkFjdGlvbnM6IHsgbmFtZTogc3RyaW5nOyBvcmRlcjogbnVtYmVyIH1bXSkge1xuICAgIHRoaXMuX2Ryb3Bkb3duQWN0aW9ucyQubmV4dChkcm9wZG93bkFjdGlvbnMpO1xuICB9XG5cbiAgY29uc3RydWN0b3Ioc3RvcmU6IFN0b3JlLCBAT3B0aW9uYWwoKSBASW5qZWN0KFBSWV9BQ0NFU1NfVE9LRU4pIHByaXZhdGUgcm9sZTogUHJ5QmFzZUFjY2Vzcykge1xuICAgIHRoaXMucHJlc2VudGF0aW9uJCA9IHN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucHJlc2VudGF0aW9uKTtcbiAgICB0aGlzLmlzTWFudWFsTW9kZSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuc3RhdGljTWFuaWZlc3QpLFxuICAgICAgc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5ncmlkTGF5b3V0KVxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChbc3RhdGljTWFuaWZlc3QsIGdyaWRMYXlvdXRdKSA9PlxuICAgICAgICAgIChzdGF0aWNNYW5pZmVzdC53aW5kb3dzWzBdPy5ncmlkPy5sYXlvdXQgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgPyBzdGF0aWNNYW5pZmVzdC53aW5kb3dzWzBdPy5ncmlkPy5sYXlvdXRcbiAgICAgICAgICAgIDogZ3JpZExheW91dCkgPT09IERhc2hib2FyZEdyaWRMYXlvdXQuTUFOVUFMXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLmFjdGlvbnNBdmFpbGFibGUkID0gc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5kaXNwbGF5T3B0aW9ucyk7XG4gICAgdGhpcy5zaG93RWRpdFRvZ2dsZSQgPSB0aGlzLmFjdGlvbnNBdmFpbGFibGUkLnBpcGUobWFwKChhY3Rpb25zKSA9PiAhIWFjdGlvbnM/LmVkaXRfdG9nZ2xlKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmFsbEFjdGlvbnMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmFjdGlvbnMkLFxuICAgICAgdGhpcy5hY3Rpb25zQXZhaWxhYmxlJCxcbiAgICAgIHRoaXMucHJlc2VudGF0aW9uJC5waXBlKG1hcCgocHJlcykgPT4gcHJlcz8uY3VycmVudD8ub3duZXIgPz8gZmFsc2UpKVxuICAgIF0pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKFthY3Rpb25zLCBkaXNwbGF5T3B0aW9ucywgaXNPd25lcl0pID0+XG4gICAgICAgIGNvbWJpbmVMYXRlc3QoXG4gICAgICAgICAgYWN0aW9ucy5tYXAoKGFjdGlvbikgPT4ge1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgY29uc3QgYWN0aW9uQXZhaWxhYmxlID0gYWN0aW9uLnZpc2libGUgJiYgZGlzcGxheU9wdGlvbnMudG9vbGJveFthY3Rpb24ubmFtZV07XG4gICAgICAgICAgICBjb25zdCByZXN0cmFpbnRPd25lciA9ICFhY3Rpb24ubmVlZHNPd25lciB8fCBpc093bmVyO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucm9sZVxuICAgICAgICAgICAgICA/IHRoaXMucm9sZS5oYXNSb2xlKG51bGwsIGFjdGlvbi5hY2Nlc3MubW9kdWxlLCBhY3Rpb24uYWNjZXNzLnBhZ2UsIGFjdGlvbi5hY2Nlc3MuYWN0aW9uKS5waXBlKFxuICAgICAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICAgICAoaGFzUm9sZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uYWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJsZTogYWN0aW9uQXZhaWxhYmxlICYmICghdGhpcy5yb2xlIHx8IGhhc1JvbGUpICYmIHJlc3RyYWludE93bmVyXG4gICAgICAgICAgICAgICAgICAgICAgfSBhcyBUb29sYm94QWN0aW9uKVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgOiBvZih7XG4gICAgICAgICAgICAgICAgICAuLi5hY3Rpb24sXG4gICAgICAgICAgICAgICAgICB2aXNpYmxlOiBhY3Rpb25BdmFpbGFibGUgJiYgcmVzdHJhaW50T3duZXJcbiAgICAgICAgICAgICAgICB9IGFzIFRvb2xib3hBY3Rpb24pO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMubWFpbkFjdGlvbnMkID0gY29tYmluZUxhdGVzdChbdGhpcy5fZHJvcGRvd25BY3Rpb25zJCwgdGhpcy5hbGxBY3Rpb25zJF0pLnBpcGUoXG4gICAgICBtYXAoKFtkcm9wZG93bkFjdGlvbnMsIGFjdGlvbnNdKSA9PlxuICAgICAgICBhY3Rpb25zLmZpbHRlcigoYWN0aW9uKSA9PiAhZHJvcGRvd25BY3Rpb25zLmZpbmQoKGRyb3Bkb3duQWN0aW9uKSA9PiBhY3Rpb24ubmFtZSA9PT0gZHJvcGRvd25BY3Rpb24ubmFtZSkpXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLmRyb3Bkb3duQWN0aW9ucyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9kcm9wZG93bkFjdGlvbnMkLCB0aGlzLmFsbEFjdGlvbnMkXSkucGlwZShcbiAgICAgIG1hcCgoW2Ryb3Bkb3duQWN0aW9ucywgYWN0aW9uc10pID0+XG4gICAgICAgIGFjdGlvbnMuZmlsdGVyKChhY3Rpb24pID0+ICEhZHJvcGRvd25BY3Rpb25zLmZpbmQoKGRyb3Bkb3duQWN0aW9uKSA9PiBhY3Rpb24ubmFtZSA9PT0gZHJvcGRvd25BY3Rpb24ubmFtZSkpXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuc2hvd0Ryb3Bkb3duQnV0dG9uJCA9IHRoaXMuZHJvcGRvd25BY3Rpb25zJC5waXBlKFxuICAgICAgbWFwKChhY3Rpb25zKSA9PiBhY3Rpb25zLmZpbHRlcigoYWN0aW9uKSA9PiBhY3Rpb24udmlzaWJsZSkubGVuZ3RoID4gMClcbiAgICApO1xuICB9XG5cbiAgb3BlbkRyb3Bkb3duKCRldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmlzRHJvcGRvd25PcGVuID0gdHJ1ZTtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBjbG9zZURyb3Bkb3duKCRldmVudDogRXZlbnQgfCB2b2lkKSB7XG4gICAgdGhpcy5pc0Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgIGlmICgkZXZlbnQpICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIGdldE9yZGVyKGFjdGlvbk5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9kcm9wZG93bkFjdGlvbnMkLmdldFZhbHVlKCkuZmluZCgoYWN0aW9uKSA9PiBhY3Rpb25OYW1lID09PSBhY3Rpb24ubmFtZSk/Lm9yZGVyO1xuICB9XG59XG4iLCI8dWwgY2xhc3M9XCJtLWFjdGlvbnMtbGlzdFwiICNpbnB1dD5cbiAgQGZvciAoYWN0aW9uIG9mIG1haW5BY3Rpb25zJCB8IGFzeW5jOyB0cmFjayBhY3Rpb24ubmFtZSkge1xuICAgIEBpZiAoYWN0aW9uLnZpc2libGUpIHtcbiAgICAgIDxsaSBjbGFzcz1cIm0tYWN0aW9ucy1saXN0X19pdGVtIC17e2FjdGlvbi5uYW1lfX1cIiAqcHJ5QWNjZXNzPVwiYWN0aW9uLmFjY2Vzc1wiPlxuICAgICAgICA8cHJ5LXRvb2xib3gtYWN0aW9uLWluc3RhbmNpYXRvclxuICAgICAgICAgIFthY3Rpb25dPVwiYWN0aW9uXCJcbiAgICAgICAgICBbZGlzcGxheUxhYmVsc109XCJkaXNwbGF5TGFiZWxzXCJcbiAgICAgICAgPjwvcHJ5LXRvb2xib3gtYWN0aW9uLWluc3RhbmNpYXRvcj5cbiAgICAgIDwvbGk+XG4gICAgfVxuICB9XG4gIEBpZiAoc2hvd0Ryb3Bkb3duQnV0dG9uJCB8IGFzeW5jKSB7XG4gICAgPGxpIGNsYXNzPVwibS1hY3Rpb25zLWxpc3RfX2l0ZW1cIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIlxuICAgICAgICBjZGtPdmVybGF5T3JpZ2luXG4gICAgICAgICN0cmlnZ2VyPVwiY2RrT3ZlcmxheU9yaWdpblwiXG4gICAgICAgIGlkPVwib3B0aW9uc1wiXG4gICAgICAgIGFyaWEtY29udHJvbHM9XCJJRHBhbmVsXCJcbiAgICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcbiAgICAgICAgKGNsaWNrKT1cIm9wZW5Ecm9wZG93bigkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgQGlmIChkaXNwbGF5TGFiZWxzKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LnRvb2xib3gub3B0aW9ucycgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuPnt7ICdAcHJ5LnRvb2xib3gub3B0aW9ucycgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgIDxwcnktaWNvbiBbd2lkdGhdPVwiMTBcIiBbaGVpZ2h0XT1cIjEzXCIgaWNvblN2Zz1cImNoZXZyb25fYm90dG9tXCI+PC9wcnktaWNvbj5cbiAgICAgICAgfVxuICAgICAgPC9idXR0b24+XG4gICAgPC9saT5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgIGNka0Nvbm5lY3RlZE92ZXJsYXlcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cInRyaWdnZXJcIlxuICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cImlzRHJvcGRvd25PcGVuXCJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3BdPVwidHJ1ZVwiXG4gICAgICBjZGtDb25uZWN0ZWRPdmVybGF5QmFja2Ryb3BDbGFzcz1cImNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wXCJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25zXT1cImRyb3Bkb3duUG9zaXRpb25cIlxuICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPZmZzZXRZXT1cIjVcIlxuICAgICAgKGJhY2tkcm9wQ2xpY2spPVwiaXNEcm9wZG93bk9wZW4gPSBmYWxzZVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cIm8tZHJhZ2dhYmxlLW1lbnUgLWRyb3Bkb3duXCIgYXJpYS1sYWJlbGxlZGJ5PVwiXCI+XG4gICAgICAgIDx1bCBjbGFzcz1cIm8tZHJhZ2dhYmxlLW1lbnVfX2xpc3RcIj5cbiAgICAgICAgICBAZm9yIChhY3Rpb24gb2YgZHJvcGRvd25BY3Rpb25zJCB8IGFzeW5jOyB0cmFjayBhY3Rpb24ubmFtZSkge1xuICAgICAgICAgICAgQGlmIChhY3Rpb24udmlzaWJsZSkge1xuICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJvLWRyYWdnYWJsZS1tZW51X19saXN0X19pdGVtXCIgW3N0eWxlLm9yZGVyXT1cImdldE9yZGVyKGFjdGlvbi5uYW1lKVwiPlxuICAgICAgICAgICAgICAgIDxwcnktdG9vbGJveC1hY3Rpb24taW5zdGFuY2lhdG9yXG4gICAgICAgICAgICAgICAgICBbYWN0aW9uXT1cImFjdGlvblwiXG4gICAgICAgICAgICAgICAgICBbZGlzcGxheUxhYmVsc109XCJkaXNwbGF5TGFiZWxzXCJcbiAgICAgICAgICAgICAgICAgIChjbG9zZU9wdGlvbnMpPVwiY2xvc2VEcm9wZG93bigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+PC9wcnktdG9vbGJveC1hY3Rpb24taW5zdGFuY2lhdG9yPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgPC91bD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIH1cblxuICBAaWYgKHNob3dFZGl0VG9nZ2xlJCB8IGFzeW5jKSB7XG4gICAgQGlmIChpc01hbnVhbE1vZGUkIHwgYXN5bmMpIHtcbiAgICAgIDxsaSBjbGFzcz1cIm0tYWN0aW9ucy1saXN0X19pdGVtXCI+XG4gICAgICAgIDxwcnktZWRpdC1tb2RlLXRvZ2dsZVxuICAgICAgICAgICpwcnlBY2Nlc3M9XCJ7IG1vZHVsZTogJ2Rhc2hib2FyZCcsIHBhZ2U6ICd0b29sYm94JywgYWN0aW9uOiAnZWRpdF9kYXNoYm9hcmQnIH1cIlxuICAgICAgICAgIFtkaXNwbGF5TGFiZWxzXT1cImRpc3BsYXlMYWJlbHNcIlxuICAgICAgICA+PC9wcnktZWRpdC1tb2RlLXRvZ2dsZT5cbiAgICAgIDwvbGk+XG4gICAgfVxuICB9XG48L3VsPlxuIl19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC90b29sYm94L2NvbXBvbmVudHMvdG9vbGJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC90b29sYm94L2NvbXBvbmVudHMvdG9vbGJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNFLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsa0JBQWtCLEVBSWxCLGdCQUFnQixFQUdqQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxPQUFPLEVBQWlCLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7O0FBTzFELE1BQU0sT0FBTyxnQkFBZ0I7SUE2QjNCLElBQWEsT0FBTyxDQUFDLE9BQXdCO1FBQzNDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFhLGVBQWUsQ0FBQyxlQUFrRDtRQUM3RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxZQUNFLEtBQVksRUFDa0MsSUFBbUI7UUFBbkIsU0FBSSxHQUFKLElBQUksQ0FBZTtRQXRDbkUsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFrQixPQUFPLENBQUMsQ0FBQztRQUN6RCxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBb0MsRUFBRSxDQUFDLENBQUM7UUFD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QUMsTUFBYTtRQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFvQjtRQUNoQyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLE1BQU07WUFBRSxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELFFBQVEsQ0FBQyxVQUFrQjtRQUN6QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLFVBQVUsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDO0lBQy9GLENBQUM7OEdBbkhVLGdCQUFnQix1Q0F1Q0wsZ0JBQWdCO2tHQXZDM0IsZ0JBQWdCLDZMQ3BCN0IsbS9FQXFFQTs7MkZEakRhLGdCQUFnQjtrQkFKNUIsU0FBUzsrQkFDRSxhQUFhOzswQkEwQ3BCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCO3lDQXBDN0IsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBeUJPLE9BQU87c0JBQW5CLEtBQUs7Z0JBSU8sZUFBZTtzQkFBM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBEYXNoYm9hcmRHcmlkTGF5b3V0LFxuICBEYXNoYm9hcmRTZWxlY3RvcnMsXG4gIERpc3BsYXlPcHRpb25zLFxuICBHbG9iYWxNYW5pZmVzdCxcbiAgTWFuaWZlc3REZXNjcmlwdGlvbixcbiAgUFJZX0FDQ0VTU19UT0tFTixcbiAgUHJ5QmFzZUFjY2VzcyxcbiAgVmlld01vZGVcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBQ1RJT05TLCBUb29sYm94QWN0aW9uIH0gZnJvbSAnLi4vdG9vbGJveC5tb2RlbCc7XG5pbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXRvb2xib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9vbGJveC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVG9vbGJveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGFjdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUb29sYm94QWN0aW9uW10+KEFDVElPTlMpO1xuICBfZHJvcGRvd25BY3Rpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8eyBuYW1lOiBzdHJpbmc7IG9yZGVyOiBudW1iZXIgfVtdPihbXSk7XG4gIEBJbnB1dCgpIGRpc3BsYXlMYWJlbHMgPSB0cnVlO1xuICBASW5wdXQoKSBkcm9wZG93blBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW1xuICAgIHtcbiAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICBvdmVybGF5WTogJ3RvcCdcbiAgICB9XG4gIF07XG4gIGlzTWFudWFsTW9kZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGFsbEFjdGlvbnMkITogT2JzZXJ2YWJsZTxUb29sYm94QWN0aW9uW10+O1xuICBtYWluQWN0aW9ucyQhOiBPYnNlcnZhYmxlPFRvb2xib3hBY3Rpb25bXT47XG4gIGRyb3Bkb3duQWN0aW9ucyQhOiBPYnNlcnZhYmxlPFRvb2xib3hBY3Rpb25bXT47XG4gIHNob3dEcm9wZG93bkJ1dHRvbiQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBpc0Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICBhY3Rpb25zQXZhaWxhYmxlJDogT2JzZXJ2YWJsZTxEaXNwbGF5T3B0aW9ucyB8IHVuZGVmaW5lZD47XG4gIHNob3dFZGl0VG9nZ2xlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcHJpdmF0ZSBwcmVzZW50YXRpb24kOiBPYnNlcnZhYmxlPFxuICAgIHwge1xuICAgICAgICBjdXJyZW50OiBNYW5pZmVzdERlc2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICAgICAgICB2aWV3TW9kZT86IFZpZXdNb2RlO1xuICAgICAgICBpbml0aWFsOiBHbG9iYWxNYW5pZmVzdCB8IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB8IHVuZGVmaW5lZFxuICA+O1xuXG4gIEBJbnB1dCgpIHNldCBhY3Rpb25zKGFjdGlvbnM6IFRvb2xib3hBY3Rpb25bXSkge1xuICAgIHRoaXMuYWN0aW9ucyQubmV4dChhY3Rpb25zKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBkcm9wZG93bkFjdGlvbnMoZHJvcGRvd25BY3Rpb25zOiB7IG5hbWU6IHN0cmluZzsgb3JkZXI6IG51bWJlciB9W10pIHtcbiAgICB0aGlzLl9kcm9wZG93bkFjdGlvbnMkLm5leHQoZHJvcGRvd25BY3Rpb25zKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHN0b3JlOiBTdG9yZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFBSWV9BQ0NFU1NfVE9LRU4pIHByaXZhdGUgcm9sZTogUHJ5QmFzZUFjY2Vzc1xuICApIHtcbiAgICB0aGlzLnByZXNlbnRhdGlvbiQgPSBzdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLnByZXNlbnRhdGlvbik7XG4gICAgdGhpcy5pc01hbnVhbE1vZGUkID0gY29tYmluZUxhdGVzdChbXG4gICAgICBzdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLnN0YXRpY01hbmlmZXN0KSxcbiAgICAgIHN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuZ3JpZExheW91dClcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICAoW3N0YXRpY01hbmlmZXN0LCBncmlkTGF5b3V0XSkgPT5cbiAgICAgICAgICAoc3RhdGljTWFuaWZlc3Qud2luZG93c1swXT8uZ3JpZD8ubGF5b3V0ICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgID8gc3RhdGljTWFuaWZlc3Qud2luZG93c1swXT8uZ3JpZD8ubGF5b3V0XG4gICAgICAgICAgICA6IGdyaWRMYXlvdXQpID09PSBEYXNoYm9hcmRHcmlkTGF5b3V0Lk1BTlVBTFxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy5hY3Rpb25zQXZhaWxhYmxlJCA9IHN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuZGlzcGxheU9wdGlvbnMpO1xuICAgIHRoaXMuc2hvd0VkaXRUb2dnbGUkID0gdGhpcy5hY3Rpb25zQXZhaWxhYmxlJC5waXBlKG1hcCgoYWN0aW9ucykgPT4gISFhY3Rpb25zPy5lZGl0X3RvZ2dsZSkpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5hbGxBY3Rpb25zJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5hY3Rpb25zJCxcbiAgICAgIHRoaXMuYWN0aW9uc0F2YWlsYWJsZSQsXG4gICAgICB0aGlzLnByZXNlbnRhdGlvbiQucGlwZShtYXAoKHByZXMpID0+IHByZXM/LmN1cnJlbnQ/Lm93bmVyID8/IGZhbHNlKSlcbiAgICBdKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChbYWN0aW9ucywgZGlzcGxheU9wdGlvbnMsIGlzT3duZXJdKSA9PlxuICAgICAgICBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgIGFjdGlvbnMubWFwKChhY3Rpb24pID0+IHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIGNvbnN0IGFjdGlvbkF2YWlsYWJsZSA9IGFjdGlvbi52aXNpYmxlICYmIGRpc3BsYXlPcHRpb25zLnRvb2xib3hbYWN0aW9uLm5hbWVdO1xuICAgICAgICAgICAgY29uc3QgcmVzdHJhaW50T3duZXIgPSAhYWN0aW9uLm5lZWRzT3duZXIgfHwgaXNPd25lcjtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJvbGVcbiAgICAgICAgICAgICAgPyB0aGlzLnJvbGUuaGFzUm9sZShudWxsLCBhY3Rpb24uYWNjZXNzLm1vZHVsZSwgYWN0aW9uLmFjY2Vzcy5wYWdlLCBhY3Rpb24uYWNjZXNzLmFjdGlvbikucGlwZShcbiAgICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgKGhhc1JvbGUpID0+XG4gICAgICAgICAgICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmFjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2libGU6IGFjdGlvbkF2YWlsYWJsZSAmJiAoIXRoaXMucm9sZSB8fCBoYXNSb2xlKSAmJiByZXN0cmFpbnRPd25lclxuICAgICAgICAgICAgICAgICAgICAgIH0pIGFzIFRvb2xib3hBY3Rpb25cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIDogb2Yoe1xuICAgICAgICAgICAgICAgICAgLi4uYWN0aW9uLFxuICAgICAgICAgICAgICAgICAgdmlzaWJsZTogYWN0aW9uQXZhaWxhYmxlICYmIHJlc3RyYWludE93bmVyXG4gICAgICAgICAgICAgICAgfSBhcyBUb29sYm94QWN0aW9uKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLm1haW5BY3Rpb25zJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2Ryb3Bkb3duQWN0aW9ucyQsIHRoaXMuYWxsQWN0aW9ucyRdKS5waXBlKFxuICAgICAgbWFwKChbZHJvcGRvd25BY3Rpb25zLCBhY3Rpb25zXSkgPT5cbiAgICAgICAgYWN0aW9ucy5maWx0ZXIoKGFjdGlvbikgPT4gIWRyb3Bkb3duQWN0aW9ucy5maW5kKChkcm9wZG93bkFjdGlvbikgPT4gYWN0aW9uLm5hbWUgPT09IGRyb3Bkb3duQWN0aW9uLm5hbWUpKVxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy5kcm9wZG93bkFjdGlvbnMkID0gY29tYmluZUxhdGVzdChbdGhpcy5fZHJvcGRvd25BY3Rpb25zJCwgdGhpcy5hbGxBY3Rpb25zJF0pLnBpcGUoXG4gICAgICBtYXAoKFtkcm9wZG93bkFjdGlvbnMsIGFjdGlvbnNdKSA9PlxuICAgICAgICBhY3Rpb25zLmZpbHRlcigoYWN0aW9uKSA9PiAhIWRyb3Bkb3duQWN0aW9ucy5maW5kKChkcm9wZG93bkFjdGlvbikgPT4gYWN0aW9uLm5hbWUgPT09IGRyb3Bkb3duQWN0aW9uLm5hbWUpKVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLnNob3dEcm9wZG93bkJ1dHRvbiQgPSB0aGlzLmRyb3Bkb3duQWN0aW9ucyQucGlwZShcbiAgICAgIG1hcCgoYWN0aW9ucykgPT4gYWN0aW9ucy5maWx0ZXIoKGFjdGlvbikgPT4gYWN0aW9uLnZpc2libGUpLmxlbmd0aCA+IDApXG4gICAgKTtcbiAgfVxuXG4gIG9wZW5Ecm9wZG93bigkZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5pc0Ryb3Bkb3duT3BlbiA9IHRydWU7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgY2xvc2VEcm9wZG93bigkZXZlbnQ6IEV2ZW50IHwgdm9pZCkge1xuICAgIHRoaXMuaXNEcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICBpZiAoJGV2ZW50KSAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBnZXRPcmRlcihhY3Rpb25OYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fZHJvcGRvd25BY3Rpb25zJC5nZXRWYWx1ZSgpLmZpbmQoKGFjdGlvbikgPT4gYWN0aW9uTmFtZSA9PT0gYWN0aW9uLm5hbWUpPy5vcmRlcjtcbiAgfVxufVxuIiwiPHVsIGNsYXNzPVwibS1hY3Rpb25zLWxpc3RcIiAjaW5wdXQ+XG4gIEBmb3IgKGFjdGlvbiBvZiBtYWluQWN0aW9ucyQgfCBhc3luYzsgdHJhY2sgYWN0aW9uLm5hbWUpIHtcbiAgICBAaWYgKGFjdGlvbi52aXNpYmxlKSB7XG4gICAgICA8bGkgY2xhc3M9XCJtLWFjdGlvbnMtbGlzdF9faXRlbSAte3thY3Rpb24ubmFtZX19XCIgKnByeUFjY2Vzcz1cImFjdGlvbi5hY2Nlc3NcIj5cbiAgICAgICAgPHByeS10b29sYm94LWFjdGlvbi1pbnN0YW5jaWF0b3JcbiAgICAgICAgICBbYWN0aW9uXT1cImFjdGlvblwiXG4gICAgICAgICAgW2Rpc3BsYXlMYWJlbHNdPVwiZGlzcGxheUxhYmVsc1wiXG4gICAgICAgID48L3ByeS10b29sYm94LWFjdGlvbi1pbnN0YW5jaWF0b3I+XG4gICAgICA8L2xpPlxuICAgIH1cbiAgfVxuICBAaWYgKHNob3dEcm9wZG93bkJ1dHRvbiQgfCBhc3luYykge1xuICAgIDxsaSBjbGFzcz1cIm0tYWN0aW9ucy1saXN0X19pdGVtXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCJcbiAgICAgICAgY2RrT3ZlcmxheU9yaWdpblxuICAgICAgICAjdHJpZ2dlcj1cImNka092ZXJsYXlPcmlnaW5cIlxuICAgICAgICBpZD1cIm9wdGlvbnNcIlxuICAgICAgICBhcmlhLWNvbnRyb2xzPVwiSURwYW5lbFwiXG4gICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgICAgIChjbGljayk9XCJvcGVuRHJvcGRvd24oJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIEBpZiAoZGlzcGxheUxhYmVscykge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS50b29sYm94Lm9wdGlvbnMnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICA8c3Bhbj57eyAnQHByeS50b29sYm94Lm9wdGlvbnMnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICA8cHJ5LWljb24gW3dpZHRoXT1cIjEwXCIgW2hlaWdodF09XCIxM1wiIGljb25Tdmc9XCJjaGV2cm9uX2JvdHRvbVwiPjwvcHJ5LWljb24+XG4gICAgICAgIH1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbGk+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICBjZGtDb25uZWN0ZWRPdmVybGF5XG4gICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJ0cmlnZ2VyXCJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJpc0Ryb3Bkb3duT3BlblwiXG4gICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheUhhc0JhY2tkcm9wXT1cInRydWVcIlxuICAgICAgY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3M9XCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiXG4gICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJkcm9wZG93blBvc2l0aW9uXCJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T2Zmc2V0WV09XCI1XCJcbiAgICAgIChiYWNrZHJvcENsaWNrKT1cImlzRHJvcGRvd25PcGVuID0gZmFsc2VcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLWRyYWdnYWJsZS1tZW51IC1kcm9wZG93blwiIGFyaWEtbGFiZWxsZWRieT1cIlwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJvLWRyYWdnYWJsZS1tZW51X19saXN0XCI+XG4gICAgICAgICAgQGZvciAoYWN0aW9uIG9mIGRyb3Bkb3duQWN0aW9ucyQgfCBhc3luYzsgdHJhY2sgYWN0aW9uLm5hbWUpIHtcbiAgICAgICAgICAgIEBpZiAoYWN0aW9uLnZpc2libGUpIHtcbiAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiby1kcmFnZ2FibGUtbWVudV9fbGlzdF9faXRlbVwiIFtzdHlsZS5vcmRlcl09XCJnZXRPcmRlcihhY3Rpb24ubmFtZSlcIj5cbiAgICAgICAgICAgICAgICA8cHJ5LXRvb2xib3gtYWN0aW9uLWluc3RhbmNpYXRvclxuICAgICAgICAgICAgICAgICAgW2FjdGlvbl09XCJhY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlMYWJlbHNdPVwiZGlzcGxheUxhYmVsc1wiXG4gICAgICAgICAgICAgICAgICAoY2xvc2VPcHRpb25zKT1cImNsb3NlRHJvcGRvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPjwvcHJ5LXRvb2xib3gtYWN0aW9uLWluc3RhbmNpYXRvcj5cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICB9XG5cbiAgQGlmIChzaG93RWRpdFRvZ2dsZSQgfCBhc3luYykge1xuICAgIEBpZiAoaXNNYW51YWxNb2RlJCB8IGFzeW5jKSB7XG4gICAgICA8bGkgY2xhc3M9XCJtLWFjdGlvbnMtbGlzdF9faXRlbVwiPlxuICAgICAgICA8cHJ5LWVkaXQtbW9kZS10b2dnbGVcbiAgICAgICAgICAqcHJ5QWNjZXNzPVwieyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ2VkaXRfZGFzaGJvYXJkJyB9XCJcbiAgICAgICAgICBbZGlzcGxheUxhYmVsc109XCJkaXNwbGF5TGFiZWxzXCJcbiAgICAgICAgPjwvcHJ5LWVkaXQtbW9kZS10b2dnbGU+XG4gICAgICA8L2xpPlxuICAgIH1cbiAgfVxuPC91bD5cbiJdfQ==
@@ -30,7 +30,7 @@ export const ACTIONS = [
30
30
  component: SaveViewComponent,
31
31
  visible: true,
32
32
  access: { module: 'dashboard', page: 'toolbox', action: 'save' },
33
- needsOwner: true
33
+ needsOwner: false
34
34
  },
35
35
  {
36
36
  name: 'save_view_as',
@@ -79,7 +79,7 @@ export const ACTIONS = [
79
79
  component: SwitchToEditContentComponent,
80
80
  visible: true,
81
81
  access: { module: 'dashboard', page: 'toolbox', action: 'edit_presentation_content' },
82
- needsOwner: true
82
+ needsOwner: false
83
83
  },
84
84
  {
85
85
  name: 'share',
@@ -93,7 +93,7 @@ export const ACTIONS = [
93
93
  component: DeleteComponent,
94
94
  visible: true,
95
95
  access: { module: 'dashboard', page: 'toolbox', action: 'delete' },
96
- needsOwner: true
96
+ needsOwner: false
97
97
  },
98
98
  {
99
99
  name: 'dashboard_details',
@@ -103,4 +103,4 @@ export const ACTIONS = [
103
103
  needsOwner: false
104
104
  }
105
105
  ];
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJveC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3Rvb2xib3gvdG9vbGJveC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNwRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUV6RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUNwSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBVW5HLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBb0I7SUFDdEM7UUFDRSxJQUFJLEVBQUUsYUFBYTtRQUNuQixTQUFTLEVBQUUsdUJBQXVCO1FBQ2xDLE9BQU8sRUFBRSxJQUFJO1FBQ2IsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUU7UUFDaEUsVUFBVSxFQUFFLElBQUk7S0FD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UUFDZCxTQUFTLEVBQUUsZUFBZTtRQUMxQixPQUFPLEVBQUUsSUFBSTtRQUNiLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO1FBQ2xFLFVBQVUsRUFBRSxJQUFJO0tBQ2pCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFNBQVMsRUFBRSx5QkFBeUI7UUFDcEMsT0FBTyxFQUFFLElBQUk7UUFDYixNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRTtRQUNsRSxVQUFVLEVBQUUsS0FBSztLQUNsQjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcnlBY2Nlc3NDaGVjayB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBBdXRvbWF0ZVJlZnJlc2hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXV0b21hdGUtcmVmcmVzaC9hdXRvbWF0ZS1yZWZyZXNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDbGVhclZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2xlYXItdmlldy9jbGVhci12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcnlGaWx0ZXJTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWx0ZXItc2V0dGluZ3MvZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYXVuY2hUYWJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbGF1bmNoLXRhYi9sYXVuY2gtdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWZyZXNoRGF0YXNldHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVmcmVzaC1kYXRhc2V0cy9yZWZyZXNoLWRhdGFzZXRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTYXZlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zYXZlLXZpZXcvc2F2ZS12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RHcmlkTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC1ncmlkLWxheW91dC9zZWxlY3QtZ3JpZC1sYXlvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2xib3hBY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9vbGJveC1hY3Rpb24vdG9vbGJveC1hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFN3aXRjaFRvRWRpdENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3dpdGNoLXRvLWVkaXQtY29udGVudC9zd2l0Y2gtdG8tZWRpdC1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaGFyZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zaGFyZS9zaGFyZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RlbGV0ZS9kZWxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IERhc2hib2FyZERldGFpbHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGFzaGJvYXJkLWRldGFpbHMvZGFzaGJvYXJkLWRldGFpbHMuY29tcG9uZW50JztcbmltcG9ydCB7IEVkaXRNb2RlQWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VkaXQtbW9kZS1hY3Rpb24vZWRpdC1tb2RlLWFjdGlvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRvb2xib3hBY3Rpb24ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGNvbXBvbmVudDogVHlwZTxUb29sYm94QWN0aW9uQ29tcG9uZW50PjtcbiAgYWNjZXNzOiBQcnlBY2Nlc3NDaGVjaztcbiAgdmlzaWJsZTogYm9vbGVhbjtcbiAgbmVlZHNPd25lcjogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IEFDVElPTlM6IFRvb2xib3hBY3Rpb25bXSA9IFtcbiAge1xuICAgIG5hbWU6ICdlZGl0X2FjdGlvbicsXG4gICAgY29tcG9uZW50OiBFZGl0TW9kZUFjdGlvbkNvbXBvbmVudCxcbiAgICB2aXNpYmxlOiB0cnVlLFxuICAgIGFjY2VzczogeyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ2VkaXQnIH0sXG4gICAgbmVlZHNPd25lcjogdHJ1ZVxuICB9LFxuICB7XG4gICAgbmFtZTogJ2ZpbHRlcl9zZXR0aW5ncycsXG4gICAgY29tcG9uZW50OiBQcnlGaWx0ZXJTZXR0aW5nc0NvbXBvbmVudCxcbiAgICB2aXNpYmxlOiB0cnVlLFxuICAgIGFjY2VzczogeyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ2ZpbHRlcl9zZXR0aW5ncycgfSxcbiAgICBuZWVkc093bmVyOiBmYWxzZVxuICB9LFxuICB7XG4gICAgbmFtZTogJ3NhdmVfdmlldycsXG4gICAgY29tcG9uZW50OiBTYXZlVmlld0NvbXBvbmVudCxcbiAgICB2aXNpYmxlOiB0cnVlLFxuICAgIGFjY2VzczogeyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ3NhdmUnIH0sXG4gICAgbmVlZHNPd25lcjogdHJ1ZVxuICB9LFxuICB7XG4gICAgbmFtZTogJ3NhdmVfdmlld19hcycsXG4gICAgY29tcG9uZW50OiBTYXZlVmlld0NvbXBvbmVudCxcbiAgICB2aXNpYmxlOiB0cnVlLFxuICAgIGFjY2VzczogeyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ3NhdmUnIH0sXG4gICAgbmVlZHNPd25lcjogZmFsc2VcbiAgfSxcbiAge1xuICAgIG5hbWU6ICduZXdfdGFiJyxcbiAgICBjb21wb25lbnQ6IExhdW5jaFRhYkNvbXBvbmVudCxcbiAgICB2aXNpYmxlOiB0cnVlLFxuICAgIGFjY2VzczogeyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ25ld190YWInIH0sXG4gICAgbmVlZHNPd25lcjogZmFsc2VcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdjbGVhcl92aWV3JyxcbiAgICBjb21wb25lbnQ6IENsZWFyVmlld0NvbXBvbmVudCxcbiAgICB2aXNpYmxlOiB0cnVlLFxuICAgIGFjY2VzczogeyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ2NsZWFyX3ZpZXcnIH0sXG4gICAgbmVlZHNPd25lcjogZmFsc2VcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdkZWZhdWx0X3NpemUnLFxuICAgIGNvbXBvbmVudDogU2VsZWN0R3JpZExheW91dENvbXBvbmVudCxcbiAgICB2aXNpYmxlOiB0cnVlLFxuICAgIGFjY2VzczogeyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ2RlZmF1bHRfc2l6ZScgfSxcbiAgICBuZWVkc093bmVyOiBmYWxzZVxuICB9LFxuICB7XG4gICAgbmFtZTogJ3JlZnJlc2hfZGF0YXNldHMnLFxuICAgIGNvbXBvbmVudDogUmVmcmVzaERhdGFzZXRzQ29tcG9uZW50LFxuICAgIHZpc2libGU6IHRydWUsXG4gICAgYWNjZXNzOiB7IG1vZHVsZTogJ2Rhc2hib2FyZCcsIHBhZ2U6ICd0b29sYm94JywgYWN0aW9uOiAncmVmcmVzaF9kYXRhc2V0cycgfSxcbiAgICBuZWVkc093bmVyOiBmYWxzZVxuICB9LFxuICB7XG4gICAgbmFtZTogJ2F1dG9tYXRlX3JlZnJlc2gnLFxuICAgIGNvbXBvbmVudDogQXV0b21hdGVSZWZyZXNoQ29tcG9uZW50LFxuICAgIHZpc2libGU6IHRydWUsXG4gICAgYWNjZXNzOiB7IG1vZHVsZTogJ2Rhc2hib2FyZCcsIHBhZ2U6ICd0b29sYm94JywgYWN0aW9uOiAnYXV0b21hdGVfcmVmcmVzaCcgfSxcbiAgICBuZWVkc093bmVyOiBmYWxzZVxuICB9LFxuICB7XG4gICAgbmFtZTogJ2VkaXRfcHJlc2VudGF0aW9uX2NvbnRlbnQnLFxuICAgIGNvbXBvbmVudDogU3dpdGNoVG9FZGl0Q29udGVudENvbXBvbmVudCxcbiAgICB2aXNpYmxlOiB0cnVlLFxuICAgIGFjY2VzczogeyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ2VkaXRfcHJlc2VudGF0aW9uX2NvbnRlbnQnIH0sXG4gICAgbmVlZHNPd25lcjogdHJ1ZVxuICB9LFxuICB7XG4gICAgbmFtZTogJ3NoYXJlJyxcbiAgICBjb21wb25lbnQ6IFNoYXJlQ29tcG9uZW50LFxuICAgIHZpc2libGU6IHRydWUsXG4gICAgYWNjZXNzOiB7IG1vZHVsZTogJ2Rhc2hib2FyZCcsIHBhZ2U6ICd0b29sYm94JywgYWN0aW9uOiAnc2hhcmUnIH0sXG4gICAgbmVlZHNPd25lcjogdHJ1ZVxuICB9LFxuICB7XG4gICAgbmFtZTogJ2RlbGV0ZScsXG4gICAgY29tcG9uZW50OiBEZWxldGVDb21wb25lbnQsXG4gICAgdmlzaWJsZTogdHJ1ZSxcbiAgICBhY2Nlc3M6IHsgbW9kdWxlOiAnZGFzaGJvYXJkJywgcGFnZTogJ3Rvb2xib3gnLCBhY3Rpb246ICdkZWxldGUnIH0sXG4gICAgbmVlZHNPd25lcjogdHJ1ZVxuICB9LFxuICB7XG4gICAgbmFtZTogJ2Rhc2hib2FyZF9kZXRhaWxzJyxcbiAgICBjb21wb25lbnQ6IERhc2hib2FyZERldGFpbHNDb21wb25lbnQsXG4gICAgdmlzaWJsZTogdHJ1ZSxcbiAgICBhY2Nlc3M6IHsgbW9kdWxlOiAnZGFzaGJvYXJkJywgcGFnZTogJ3Rvb2xib3gnLCBhY3Rpb246ICdkZWxldGUnIH0sXG4gICAgbmVlZHNPd25lcjogZmFsc2VcbiAgfVxuXTtcbiJdfQ==
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJveC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3Rvb2xib3gvdG9vbGJveC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNwRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUV6RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUNwSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBVW5HLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBb0I7SUFDdEM7UUFDRSxJQUFJLEVBQUUsYUFBYTtRQUNuQixTQUFTLEVBQUUsdUJBQXVCO1FBQ2xDLE9BQU8sRUFBRSxJQUFJO1FBQ2IsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUU7UUFDaEUsVUFBVSxFQUFFLElBQUk7S0FD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UUFDZCxTQUFTLEVBQUUsZUFBZTtRQUMxQixPQUFPLEVBQUUsSUFBSTtRQUNiLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO1FBQ2xFLFVBQVUsRUFBRSxLQUFLO0tBQ2xCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFNBQVMsRUFBRSx5QkFBeUI7UUFDcEMsT0FBTyxFQUFFLElBQUk7UUFDYixNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRTtRQUNsRSxVQUFVLEVBQUUsS0FBSztLQUNsQjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcnlBY2Nlc3NDaGVjayB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBBdXRvbWF0ZVJlZnJlc2hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXV0b21hdGUtcmVmcmVzaC9hdXRvbWF0ZS1yZWZyZXNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDbGVhclZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2xlYXItdmlldy9jbGVhci12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcnlGaWx0ZXJTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWx0ZXItc2V0dGluZ3MvZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYXVuY2hUYWJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbGF1bmNoLXRhYi9sYXVuY2gtdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWZyZXNoRGF0YXNldHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVmcmVzaC1kYXRhc2V0cy9yZWZyZXNoLWRhdGFzZXRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTYXZlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zYXZlLXZpZXcvc2F2ZS12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RHcmlkTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC1ncmlkLWxheW91dC9zZWxlY3QtZ3JpZC1sYXlvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2xib3hBY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9vbGJveC1hY3Rpb24vdG9vbGJveC1hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFN3aXRjaFRvRWRpdENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3dpdGNoLXRvLWVkaXQtY29udGVudC9zd2l0Y2gtdG8tZWRpdC1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaGFyZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zaGFyZS9zaGFyZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RlbGV0ZS9kZWxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IERhc2hib2FyZERldGFpbHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGFzaGJvYXJkLWRldGFpbHMvZGFzaGJvYXJkLWRldGFpbHMuY29tcG9uZW50JztcbmltcG9ydCB7IEVkaXRNb2RlQWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VkaXQtbW9kZS1hY3Rpb24vZWRpdC1tb2RlLWFjdGlvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRvb2xib3hBY3Rpb24ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGNvbXBvbmVudDogVHlwZTxUb29sYm94QWN0aW9uQ29tcG9uZW50PjtcbiAgYWNjZXNzOiBQcnlBY2Nlc3NDaGVjaztcbiAgdmlzaWJsZTogYm9vbGVhbjtcbiAgbmVlZHNPd25lcjogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IEFDVElPTlM6IFRvb2xib3hBY3Rpb25bXSA9IFtcbiAge1xuICAgIG5hbWU6ICdlZGl0X2FjdGlvbicsXG4gICAgY29tcG9uZW50OiBFZGl0TW9kZUFjdGlvbkNvbXBvbmVudCxcbiAgICB2aXNpYmxlOiB0cnVlLFxuICAgIGFjY2VzczogeyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ2VkaXQnIH0sXG4gICAgbmVlZHNPd25lcjogdHJ1ZVxuICB9LFxuICB7XG4gICAgbmFtZTogJ2ZpbHRlcl9zZXR0aW5ncycsXG4gICAgY29tcG9uZW50OiBQcnlGaWx0ZXJTZXR0aW5nc0NvbXBvbmVudCxcbiAgICB2aXNpYmxlOiB0cnVlLFxuICAgIGFjY2VzczogeyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ2ZpbHRlcl9zZXR0aW5ncycgfSxcbiAgICBuZWVkc093bmVyOiBmYWxzZVxuICB9LFxuICB7XG4gICAgbmFtZTogJ3NhdmVfdmlldycsXG4gICAgY29tcG9uZW50OiBTYXZlVmlld0NvbXBvbmVudCxcbiAgICB2aXNpYmxlOiB0cnVlLFxuICAgIGFjY2VzczogeyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ3NhdmUnIH0sXG4gICAgbmVlZHNPd25lcjogZmFsc2VcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdzYXZlX3ZpZXdfYXMnLFxuICAgIGNvbXBvbmVudDogU2F2ZVZpZXdDb21wb25lbnQsXG4gICAgdmlzaWJsZTogdHJ1ZSxcbiAgICBhY2Nlc3M6IHsgbW9kdWxlOiAnZGFzaGJvYXJkJywgcGFnZTogJ3Rvb2xib3gnLCBhY3Rpb246ICdzYXZlJyB9LFxuICAgIG5lZWRzT3duZXI6IGZhbHNlXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnbmV3X3RhYicsXG4gICAgY29tcG9uZW50OiBMYXVuY2hUYWJDb21wb25lbnQsXG4gICAgdmlzaWJsZTogdHJ1ZSxcbiAgICBhY2Nlc3M6IHsgbW9kdWxlOiAnZGFzaGJvYXJkJywgcGFnZTogJ3Rvb2xib3gnLCBhY3Rpb246ICduZXdfdGFiJyB9LFxuICAgIG5lZWRzT3duZXI6IGZhbHNlXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnY2xlYXJfdmlldycsXG4gICAgY29tcG9uZW50OiBDbGVhclZpZXdDb21wb25lbnQsXG4gICAgdmlzaWJsZTogdHJ1ZSxcbiAgICBhY2Nlc3M6IHsgbW9kdWxlOiAnZGFzaGJvYXJkJywgcGFnZTogJ3Rvb2xib3gnLCBhY3Rpb246ICdjbGVhcl92aWV3JyB9LFxuICAgIG5lZWRzT3duZXI6IGZhbHNlXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnZGVmYXVsdF9zaXplJyxcbiAgICBjb21wb25lbnQ6IFNlbGVjdEdyaWRMYXlvdXRDb21wb25lbnQsXG4gICAgdmlzaWJsZTogdHJ1ZSxcbiAgICBhY2Nlc3M6IHsgbW9kdWxlOiAnZGFzaGJvYXJkJywgcGFnZTogJ3Rvb2xib3gnLCBhY3Rpb246ICdkZWZhdWx0X3NpemUnIH0sXG4gICAgbmVlZHNPd25lcjogZmFsc2VcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdyZWZyZXNoX2RhdGFzZXRzJyxcbiAgICBjb21wb25lbnQ6IFJlZnJlc2hEYXRhc2V0c0NvbXBvbmVudCxcbiAgICB2aXNpYmxlOiB0cnVlLFxuICAgIGFjY2VzczogeyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ3JlZnJlc2hfZGF0YXNldHMnIH0sXG4gICAgbmVlZHNPd25lcjogZmFsc2VcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdhdXRvbWF0ZV9yZWZyZXNoJyxcbiAgICBjb21wb25lbnQ6IEF1dG9tYXRlUmVmcmVzaENvbXBvbmVudCxcbiAgICB2aXNpYmxlOiB0cnVlLFxuICAgIGFjY2VzczogeyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ2F1dG9tYXRlX3JlZnJlc2gnIH0sXG4gICAgbmVlZHNPd25lcjogZmFsc2VcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdlZGl0X3ByZXNlbnRhdGlvbl9jb250ZW50JyxcbiAgICBjb21wb25lbnQ6IFN3aXRjaFRvRWRpdENvbnRlbnRDb21wb25lbnQsXG4gICAgdmlzaWJsZTogdHJ1ZSxcbiAgICBhY2Nlc3M6IHsgbW9kdWxlOiAnZGFzaGJvYXJkJywgcGFnZTogJ3Rvb2xib3gnLCBhY3Rpb246ICdlZGl0X3ByZXNlbnRhdGlvbl9jb250ZW50JyB9LFxuICAgIG5lZWRzT3duZXI6IGZhbHNlXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnc2hhcmUnLFxuICAgIGNvbXBvbmVudDogU2hhcmVDb21wb25lbnQsXG4gICAgdmlzaWJsZTogdHJ1ZSxcbiAgICBhY2Nlc3M6IHsgbW9kdWxlOiAnZGFzaGJvYXJkJywgcGFnZTogJ3Rvb2xib3gnLCBhY3Rpb246ICdzaGFyZScgfSxcbiAgICBuZWVkc093bmVyOiB0cnVlXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnZGVsZXRlJyxcbiAgICBjb21wb25lbnQ6IERlbGV0ZUNvbXBvbmVudCxcbiAgICB2aXNpYmxlOiB0cnVlLFxuICAgIGFjY2VzczogeyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ2RlbGV0ZScgfSxcbiAgICBuZWVkc093bmVyOiBmYWxzZVxuICB9LFxuICB7XG4gICAgbmFtZTogJ2Rhc2hib2FyZF9kZXRhaWxzJyxcbiAgICBjb21wb25lbnQ6IERhc2hib2FyZERldGFpbHNDb21wb25lbnQsXG4gICAgdmlzaWJsZTogdHJ1ZSxcbiAgICBhY2Nlc3M6IHsgbW9kdWxlOiAnZGFzaGJvYXJkJywgcGFnZTogJ3Rvb2xib3gnLCBhY3Rpb246ICdkZWxldGUnIH0sXG4gICAgbmVlZHNPd25lcjogZmFsc2VcbiAgfVxuXTtcbiJdfQ==
@@ -12,7 +12,7 @@ export class CqlUtils {
12
12
  const attributeName = attribute?.technicalName;
13
13
  return this.getConditionsForValue(attributeName, cond, field, datasourceId);
14
14
  })
15
- .filter((conds) => conds.length > 0)
15
+ .filter((conds) => !!conds && conds.length > 0)
16
16
  .join(' AND ');
17
17
  }
18
18
  static getConditionsForValue(attributeName, cond, field, datasourceId) {
@@ -68,4 +68,4 @@ export class CqlUtils {
68
68
  return conditions.length > 1 ? '( ' + conditions.join(' OR ') + ' )' : conditions[0];
69
69
  }
70
70
  }
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3FsLXV0aWxzLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtbWFwL3V0aWxzL2NxbC11dGlscy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQStCLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpGLE1BQU0sT0FBTyxRQUFRO0lBQ25CLE1BQU0sQ0FBQyxlQUFlLENBQ3BCLFlBQW9CLEVBQ3BCLE9BQXlDLEVBQ3pDLE9BQWdCLEVBQ2hCLE1BQWU7UUFFZixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDOUYsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFNUUsT0FBTyxPQUFPLENBQUMsWUFBWSxDQUFDO2FBQ3pCLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1osTUFBTSxTQUFTLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqRixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM1RCxNQUFNLGFBQWEsR0FBRyxTQUFTLEVBQUUsYUFB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TSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0NBQ2hDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxhQUFhLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLGFBQWEsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDOzRCQUN6RixDQUFDOzRCQUNELE1BQU07b0JBQ1YsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxJQUFJLENBQ1YsdUNBQXVDLFlBQVksWUFBWSxJQUFJLENBQUMsU0FBUyxpQ0FBaUMsQ0FDL0csQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGFzcywgRmllbGQsIEZpbHRlckNvbnRleHQsIFRleHRGaWVsZFR5cGVzIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcblxuZXhwb3J0IGNsYXNzIENxbFV0aWxzIHtcbiAgc3RhdGljIGdldENRTFBhcmFtc0ZvcihcbiAgICBkYXRhc291cmNlSWQ6IHN0cmluZyxcbiAgICBmaWx0ZXJzOiB7IFtwOiBzdHJpbmddOiBGaWx0ZXJDb250ZXh0W10gfSxcbiAgICBjbGFzc2VzOiBDbGFzc1tdLFxuICAgIGZpZWxkczogRmllbGRbXVxuICApOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAoIWZpbHRlcnMgfHwgIWRhdGFzb3VyY2VJZCB8fCAhZmlsdGVyc1tkYXRhc291cmNlSWRdIHx8IGZpbHRlcnNbZGF0YXNvdXJjZUlkXS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGF0dHJpYnV0ZXNSZWZlcmVuY2UgPSBjbGFzc2VzLm1hcCgoY2xhenopID0+IGNsYXp6LmF0dHJpYnV0ZXMpLmZsYXQoKTtcblxuICAgIHJldHVybiBmaWx0ZXJzW2RhdGFzb3VyY2VJZF1cbiAgICAgIC5tYXAoKGNvbmQpID0+IHtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlID0gYXR0cmlidXRlc1JlZmVyZW5jZS5maW5kKChhdHRyKSA9PiBhdHRyLmlkID09PSBjb25kLmF0dHJpYnV0ZSk7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gZmllbGRzLmZpbmQoKGYpID0+IGYuaWQgPT09IGF0dHJpYnV0ZT8uZmllbGQpO1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGVOYW1lID0gYXR0cmlidXRlPy50ZWNobmljYWxOYW1lO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmdldENvbmRpdGlvbnNGb3JWYWx1ZShhdHRyaWJ1dGVOYW1lLCBjb25kLCBmaWVsZCwgZGF0YXNvdXJjZUlkKTtcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKChjb25kcykgPT4gY29uZHMubGVuZ3RoID4gMClcbiAgICAgIC5qb2luKCcgQU5EICcpO1xuICB9XG5cbiAgc3RhdGljIGdldENvbmRpdGlvbnNGb3JWYWx1ZShcbiAgICBhdHRyaWJ1dGVOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgY29uZDogRmlsdGVyQ29udGV4dCxcbiAgICBmaWVsZDogRmllbGQgfCB1bmRlZmluZWQsXG4gICAgZGF0YXNvdXJjZUlkOiBzdHJpbmdcbiAgKSB7XG4gICAgbGV0IGNvbmRpdGlvbnM6IHN0cmluZ1tdID0gW107XG5cbiAgICBjb25zdCB2YWx1ZXMgPSAoQXJyYXkuaXNBcnJheShjb25kLnZhbHVlKSA/IGNvbmQudmFsdWUgOiBbY29uZC52YWx1ZV0pIGFzIHN0cmluZ1tdIHwgbnVtYmVyW107XG5cbiAgICBpZiAoYXR0cmlidXRlTmFtZSkge1xuICAgICAgdmFsdWVzLmZvckVhY2goKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSAmJiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJyB8fCB2YWx1ZS5sZW5ndGggPiAwKSkge1xuICAgICAgICAgIGNvbnN0IHF1b3RlU2FmZVZhbHVlID0gYCR7dmFsdWV9YC5yZXBsYWNlKC8nL2csIFwiJydcIik7XG4gICAgICAgICAgc3dpdGNoIChjb25kLm9wZXJhdG9yKSB7XG4gICAgICAgICAgICBjYXNlICdFUVVBTFMnOlxuICAgICAgICAgICAgICBpZiAoIWZpZWxkIHx8IFRleHRGaWVsZFR5cGVzLmluY2x1ZGVzKGZpZWxkPy50eXBlKSkge1xuICAgICAgICAgICAgICAgIGNvbmRpdGlvbnMucHVzaChgJHthdHRyaWJ1dGVOYW1lfT0nJHtxdW90ZVNhZmVWYWx1ZX0nYCk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uZGl0aW9ucy5wdXNoKGAke2F0dHJpYnV0ZU5hbWV9PSR7dmFsdWV9YCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdDT05UQUlOUyc6XG4gICAgICAgICAgICAgIGNvbmRpdGlvbnMucHVzaChgJHthdHRyaWJ1dGVOYW1lfSBMSUtFICclJHtxdW90ZVNhZmVWYWx1ZX0lJ2ApO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ1NUQVJUX1dJVEgnOlxuICAgICAgICAgICAgICBjb25kaXRpb25zLnB1c2goYCR7YXR0cmlidXRlTmFtZX0gTElLRSAnJHtxdW90ZVNhZmVWYWx1ZX0lJ2ApO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0VORF9XSVRIJzpcbiAgICAgICAgICAgICAgY29uZGl0aW9ucy5wdXNoKGAke2F0dHJpYnV0ZU5hbWV9IExJS0UgJyUke3F1b3RlU2FmZVZhbHVlfSdgKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdHUkVBVEVSX1RIQU4nOlxuICAgICAgICAgICAgICBjb25kaXRpb25zLnB1c2goYCR7YXR0cmlidXRlTmFtZX0+JHt2YWx1ZX1gKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdMT1dFUl9USEFOJzpcbiAgICAgICAgICAgICAgY29uZGl0aW9ucy5wdXNoKGAke2F0dHJpYnV0ZU5hbWV9PCR7dmFsdWV9YCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnT1VUU0lERSc6XG4gICAgICAgICAgICAgIGNvbnN0IHNwbGl0SSA9ICh2YWx1ZSBhcyBzdHJpbmcpPy5zcGxpdCgnLCcpO1xuICAgICAgICAgICAgICBpZiAoc3BsaXRJICYmIHNwbGl0SS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgY29uZGl0aW9ucy5wdXNoKGAoICR7YXR0cmlidXRlTmFtZX08JHtzcGxpdElbMF19IEFORCAke2F0dHJpYnV0ZU5hbWV9PiR7c3BsaXRJWzFdfSApYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdJTlNJREUnOlxuICAgICAgICAgICAgICBjb25zdCBzcGxpdE8gPSAodmFsdWUgYXMgc3RyaW5nKT8uc3BsaXQoJywnKTtcbiAgICAgICAgICAgICAgaWYgKHNwbGl0TyAmJiBzcGxpdE8ubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgIGNvbmRpdGlvbnMucHVzaChgKCAke2F0dHJpYnV0ZU5hbWV9PiR7c3BsaXRPWzBdfSBBTkQgJHthdHRyaWJ1dGVOYW1lfTwke3NwbGl0T1sxXX0gKWApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYENhbm5vdCBhZGQgY3FsIGZpbHRlciBvbiBkYXRhc291cmNlICR7ZGF0YXNvdXJjZUlkfSBiZWNhdXNlICR7Y29uZC5hdHRyaWJ1dGV9IGF0dHJpYnV0ZSBub3QgZm91bmQgaW4gY2xhc3Nlc2BcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmRpdGlvbnMubGVuZ3RoID4gMSA/ICcoICcgKyBjb25kaXRpb25zLmpvaW4oJyBPUiAnKSArICcgKScgOiBjb25kaXRpb25zWzBdO1xuICB9XG59XG4iXX0=
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3FsLXV0aWxzLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtbWFwL3V0aWxzL2NxbC11dGlscy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQStCLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpGLE1BQU0sT0FBTyxRQUFRO0lBQ25CLE1BQU0sQ0FBQyxlQUFlLENBQ3BCLFlBQW9CLEVBQ3BCLE9BQXlDLEVBQ3pDLE9BQWdCLEVBQ2hCLE1BQWU7UUFFZixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDOUYsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFNUUsT0FBTyxPQUFPLENBQUMsWUFBWSxDQUFDO2FBQ3pCLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1osTUFBTSxTQUFTLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqRixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM1RCxNQUFNLGFBQWEsR0FBRyxTQUFTLEVBQUUsYUFB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Q0FBQzs0QkFDN0MsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQ0FDaEMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLGFBQWEsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsYUFBYSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7NEJBQ3pGLENBQUM7NEJBQ0QsTUFBTTtvQkFDVixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLElBQUksQ0FDVix1Q0FBdUMsWUFBWSxZQUFZLElBQUksQ0FBQyxTQUFTLGlDQUFpQyxDQUMvRyxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsYXNzLCBGaWVsZCwgRmlsdGVyQ29udGV4dCwgVGV4dEZpZWxkVHlwZXMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuXG5leHBvcnQgY2xhc3MgQ3FsVXRpbHMge1xuICBzdGF0aWMgZ2V0Q1FMUGFyYW1zRm9yKFxuICAgIGRhdGFzb3VyY2VJZDogc3RyaW5nLFxuICAgIGZpbHRlcnM6IHsgW3A6IHN0cmluZ106IEZpbHRlckNvbnRleHRbXSB9LFxuICAgIGNsYXNzZXM6IENsYXNzW10sXG4gICAgZmllbGRzOiBGaWVsZFtdXG4gICk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICghZmlsdGVycyB8fCAhZGF0YXNvdXJjZUlkIHx8ICFmaWx0ZXJzW2RhdGFzb3VyY2VJZF0gfHwgZmlsdGVyc1tkYXRhc291cmNlSWRdLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgYXR0cmlidXRlc1JlZmVyZW5jZSA9IGNsYXNzZXMubWFwKChjbGF6eikgPT4gY2xhenouYXR0cmlidXRlcykuZmxhdCgpO1xuXG4gICAgcmV0dXJuIGZpbHRlcnNbZGF0YXNvdXJjZUlkXVxuICAgICAgLm1hcCgoY29uZCkgPT4ge1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGUgPSBhdHRyaWJ1dGVzUmVmZXJlbmNlLmZpbmQoKGF0dHIpID0+IGF0dHIuaWQgPT09IGNvbmQuYXR0cmlidXRlKTtcbiAgICAgICAgY29uc3QgZmllbGQgPSBmaWVsZHMuZmluZCgoZikgPT4gZi5pZCA9PT0gYXR0cmlidXRlPy5maWVsZCk7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWUgPSBhdHRyaWJ1dGU/LnRlY2huaWNhbE5hbWU7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29uZGl0aW9uc0ZvclZhbHVlKGF0dHJpYnV0ZU5hbWUsIGNvbmQsIGZpZWxkLCBkYXRhc291cmNlSWQpO1xuICAgICAgfSlcbiAgICAgIC5maWx0ZXIoKGNvbmRzKSA9PiAhIWNvbmRzICYmIGNvbmRzLmxlbmd0aCA+IDApXG4gICAgICAuam9pbignIEFORCAnKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRDb25kaXRpb25zRm9yVmFsdWUoXG4gICAgYXR0cmlidXRlTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGNvbmQ6IEZpbHRlckNvbnRleHQsXG4gICAgZmllbGQ6IEZpZWxkIHwgdW5kZWZpbmVkLFxuICAgIGRhdGFzb3VyY2VJZDogc3RyaW5nXG4gICkge1xuICAgIGxldCBjb25kaXRpb25zOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgY29uc3QgdmFsdWVzID0gKEFycmF5LmlzQXJyYXkoY29uZC52YWx1ZSkgPyBjb25kLnZhbHVlIDogW2NvbmQudmFsdWVdKSBhcyBzdHJpbmdbXSB8IG51bWJlcltdO1xuXG4gICAgaWYgKGF0dHJpYnV0ZU5hbWUpIHtcbiAgICAgIHZhbHVlcy5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUgJiYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycgfHwgdmFsdWUubGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICBjb25zdCBxdW90ZVNhZmVWYWx1ZSA9IGAke3ZhbHVlfWAucmVwbGFjZSgvJy9nLCBcIicnXCIpO1xuICAgICAgICAgIHN3aXRjaCAoY29uZC5vcGVyYXRvcikge1xuICAgICAgICAgICAgY2FzZSAnRVFVQUxTJzpcbiAgICAgICAgICAgICAgaWYgKCFmaWVsZCB8fCBUZXh0RmllbGRUeXBlcy5pbmNsdWRlcyhmaWVsZD8udHlwZSkpIHtcbiAgICAgICAgICAgICAgICBjb25kaXRpb25zLnB1c2goYCR7YXR0cmlidXRlTmFtZX09JyR7cXVvdGVTYWZlVmFsdWV9J2ApO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbmRpdGlvbnMucHVzaChgJHthdHRyaWJ1dGVOYW1lfT0ke3ZhbHVlfWApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnQ09OVEFJTlMnOlxuICAgICAgICAgICAgICBjb25kaXRpb25zLnB1c2goYCR7YXR0cmlidXRlTmFtZX0gTElLRSAnJSR7cXVvdGVTYWZlVmFsdWV9JSdgKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdTVEFSVF9XSVRIJzpcbiAgICAgICAgICAgICAgY29uZGl0aW9ucy5wdXNoKGAke2F0dHJpYnV0ZU5hbWV9IExJS0UgJyR7cXVvdGVTYWZlVmFsdWV9JSdgKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdFTkRfV0lUSCc6XG4gICAgICAgICAgICAgIGNvbmRpdGlvbnMucHVzaChgJHthdHRyaWJ1dGVOYW1lfSBMSUtFICclJHtxdW90ZVNhZmVWYWx1ZX0nYCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnR1JFQVRFUl9USEFOJzpcbiAgICAgICAgICAgICAgY29uZGl0aW9ucy5wdXNoKGAke2F0dHJpYnV0ZU5hbWV9PiR7dmFsdWV9YCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnTE9XRVJfVEhBTic6XG4gICAgICAgICAgICAgIGNvbmRpdGlvbnMucHVzaChgJHthdHRyaWJ1dGVOYW1lfTwke3ZhbHVlfWApO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ09VVFNJREUnOlxuICAgICAgICAgICAgICBjb25zdCBzcGxpdEkgPSAodmFsdWUgYXMgc3RyaW5nKT8uc3BsaXQoJywnKTtcbiAgICAgICAgICAgICAgaWYgKHNwbGl0SSAmJiBzcGxpdEkubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgIGNvbmRpdGlvbnMucHVzaChgKCAke2F0dHJpYnV0ZU5hbWV9PCR7c3BsaXRJWzBdfSBBTkQgJHthdHRyaWJ1dGVOYW1lfT4ke3NwbGl0SVsxXX0gKWApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnSU5TSURFJzpcbiAgICAgICAgICAgICAgY29uc3Qgc3BsaXRPID0gKHZhbHVlIGFzIHN0cmluZyk/LnNwbGl0KCcsJyk7XG4gICAgICAgICAgICAgIGlmIChzcGxpdE8gJiYgc3BsaXRPLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICBjb25kaXRpb25zLnB1c2goYCggJHthdHRyaWJ1dGVOYW1lfT4ke3NwbGl0T1swXX0gQU5EICR7YXR0cmlidXRlTmFtZX08JHtzcGxpdE9bMV19IClgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBDYW5ub3QgYWRkIGNxbCBmaWx0ZXIgb24gZGF0YXNvdXJjZSAke2RhdGFzb3VyY2VJZH0gYmVjYXVzZSAke2NvbmQuYXR0cmlidXRlfSBhdHRyaWJ1dGUgbm90IGZvdW5kIGluIGNsYXNzZXNgXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBjb25kaXRpb25zLmxlbmd0aCA+IDEgPyAnKCAnICsgY29uZGl0aW9ucy5qb2luKCcgT1IgJykgKyAnICknIDogY29uZGl0aW9uc1swXTtcbiAgfVxufVxuIl19