@provoly/dashboard 1.2.1 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.d.ts +3 -3
- package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +6 -6
- package/esm2022/lib/core/components/share/group-share/group-share.component.mjs +28 -21
- package/esm2022/lib/core/components/share/legacy-share/share.component.mjs +25 -37
- package/esm2022/lib/core/components/share/share.model.mjs +2 -7
- package/esm2022/lib/core/model/widget.interface.mjs +1 -1
- package/esm2022/lib/core/store/data-source/data-source.actions.mjs +1 -1
- package/esm2022/lib/core/store/data-source/data-source.model.mjs +7 -2
- package/esm2022/lib/core/toolbox/toolbox-menu.service.mjs +3 -6
- package/esm2022/restitution/components/restitution/restitution.component.mjs +8 -12
- package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +4 -5
- package/esm2022/restitution/components/restitution-list/restitution-list.component.mjs +2 -2
- package/esm2022/restitution/components/restitution-list-item/restitution-list-item.component.mjs +4 -5
- package/esm2022/search/components/save-query/save-query.component.mjs +2 -2
- package/esm2022/search/search-tools/search-tools.component.mjs +1 -1
- package/fesm2022/provoly-dashboard-admin.mjs +5 -5
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-restitution.mjs +11 -17
- package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-search.mjs +2 -2
- package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +101 -106
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/lib/core/components/share/group-share/group-share.component.d.ts +15 -10
- package/lib/core/components/share/legacy-share/share.component.d.ts +8 -14
- package/lib/core/components/share/share.model.d.ts +0 -9
- package/lib/core/model/widget.interface.d.ts +1 -2
- package/lib/core/store/data-source/data-source.actions.d.ts +9 -4
- package/lib/core/store/data-source/data-source.model.d.ts +9 -2
- package/lib/core/toolbox/toolbox-menu.service.d.ts +1 -3
- package/package.json +7 -7
- package/restitution/components/restitution/restitution.component.d.ts +2 -3
- package/restitution/components/restitution-catalog/restitution-catalog.component.d.ts +1 -2
- package/restitution/components/restitution-list-item/restitution-list-item.component.d.ts +1 -2
- package/search/components/save-query/save-query.component.d.ts +5 -2
- package/search/search-fulltext/store/search-fulltext.effects.d.ts +4 -1
- package/search/search-mono-class/store/search-mono-class.effects.d.ts +4 -1
- package/search/search-multi-class/store/search-multi-class.effects.d.ts +4 -1
package/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
2
|
import { ActivatedRoute, Router } from '@angular/router';
|
|
3
3
|
import { Store } from '@ngrx/store';
|
|
4
|
-
import { Associations, Dataset, MetadataValue, MissingGroupsByEntity, PryBaseAccess, PryI18nService,
|
|
4
|
+
import { Associations, Dataset, MetadataValue, MissingGroupsByEntity, PryBaseAccess, PryI18nService, PryShareMode, SubscriptionnerDirective } from '@provoly/dashboard';
|
|
5
5
|
import { MetaEventType } from '@provoly/dashboard/components/metadata-editor';
|
|
6
6
|
import { BehaviorSubject, Observable, Subscription } from 'rxjs';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
@@ -27,7 +27,7 @@ export declare class AdminSelectDatasetComponent extends SubscriptionnerDirectiv
|
|
|
27
27
|
accessGroups: string[];
|
|
28
28
|
selectedDatasetMissingGroups$: Observable<MissingGroupsByEntity | undefined>;
|
|
29
29
|
missingGroups$: Observable<MissingGroups | undefined>;
|
|
30
|
-
shareRadioValue$: BehaviorSubject<
|
|
30
|
+
shareRadioValue$: BehaviorSubject<PryShareMode | undefined>;
|
|
31
31
|
disableShareButton$: BehaviorSubject<boolean>;
|
|
32
32
|
constructor(store: Store<any>, router: Router, route: ActivatedRoute, i18n: PryI18nService, access: PryBaseAccess);
|
|
33
33
|
ngOnInit(): void;
|
|
@@ -37,7 +37,7 @@ export declare class AdminSelectDatasetComponent extends SubscriptionnerDirectiv
|
|
|
37
37
|
share(dataset: Dataset): void;
|
|
38
38
|
getGroupLabel(groupName: string): string;
|
|
39
39
|
changeGroup($event: string[]): void;
|
|
40
|
-
|
|
40
|
+
updateGroups($event: PryShareMode): void;
|
|
41
41
|
updateDisableButtonValue(): void;
|
|
42
42
|
canModify$(dataset: Dataset): Observable<boolean>;
|
|
43
43
|
static ɵfac: i0.ɵɵFactoryDeclaration<AdminSelectDatasetComponent, [null, null, null, null, { optional: true; }]>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, Inject, Optional } from '@angular/core';
|
|
2
|
-
import { DashboardSelectors, DataSourceSelectors, PRY_ACCESS_TOKEN,
|
|
2
|
+
import { DashboardSelectors, DataSourceSelectors, PRY_ACCESS_TOKEN, PryShareMode, SubscriptionnerDirective } from '@provoly/dashboard';
|
|
3
3
|
import { MetadataActions, MetadataSelectors } from '@provoly/dashboard/components/metadata-editor';
|
|
4
4
|
import { BehaviorSubject, combineLatest, map, of, Subscription, withLatestFrom } from 'rxjs';
|
|
5
5
|
import { concatLatestFrom } from '@ngrx/operators';
|
|
@@ -132,12 +132,12 @@ export class AdminSelectDatasetComponent extends SubscriptionnerDirective {
|
|
|
132
132
|
this.updateDisableButtonValue();
|
|
133
133
|
this.store.dispatch(AdminDatasetActions.setMissingGroups({ missingGroups: undefined }));
|
|
134
134
|
}
|
|
135
|
-
|
|
135
|
+
updateGroups($event) {
|
|
136
136
|
this.shareRadioValue$.next($event);
|
|
137
137
|
this.updateDisableButtonValue();
|
|
138
138
|
}
|
|
139
139
|
updateDisableButtonValue() {
|
|
140
|
-
if (this.shareRadioValue$.getValue() ===
|
|
140
|
+
if (this.shareRadioValue$.getValue() === PryShareMode.GROUPS && this.accessGroups.length === 0) {
|
|
141
141
|
this.disableShareButton$.next(true);
|
|
142
142
|
}
|
|
143
143
|
else {
|
|
@@ -150,15 +150,15 @@ export class AdminSelectDatasetComponent extends SubscriptionnerDirective {
|
|
|
150
150
|
return this.access ? this.access.canModifyDataset(dataset) : of(false);
|
|
151
151
|
}
|
|
152
152
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AdminSelectDatasetComponent, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.PryI18nService }, { token: PRY_ACCESS_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
153
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: AdminSelectDatasetComponent, selector: "pry-admin-select-dataset", usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"selectedDataset$ | async as dataset\"\n [id]=\"'panel-dataset-' + dataset.id\"\n [attr.aria-labelledby]=\"'button-dataset-' + dataset.id\"\n class=\"o-panel o-pry-admin-dataset-select\"\n>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 class=\"a-h3\">\n {{ '@pry.admin.dataset.details' | i18n }}\n </h3>\n </div>\n\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"datasetMetadata\" name=\"metadata.title\"></pry-tab>\n <pry-tab [templateRef]=\"datasetAssociations\" name=\"classes.associations\"></pry-tab>\n <pry-tab *ngIf=\"canModify$(dataset) | async\" [templateRef]=\"shareDataset\" name=\"share\"></pry-tab>\n </pry-tab-group>\n\n <ng-template #datasetMetadata>\n <pry-metadata-editor\n [targetId]=\"(selectedDataset$ | async)?.id ?? ''\"\n [isModification]=\"(editable$ | async) ?? false\"\n [metadata]=\"(datasetMetadata$ | async) ?? []\"\n (removeMeta)=\"removeMetadata($event)\"\n (addMeta)=\"addDatasetMetadata($event)\"\n [type]=\"'meta'\"\n ></pry-metadata-editor>\n </ng-template>\n\n <ng-template #datasetAssociations>\n <div *ngIf=\"associations$ | async as associations\" class=\"o-tabs__panels__item__content\">\n <h4 class=\"a-h4\">{{ '@pry.admin.classes.associations' | i18n }}</h4>\n <pry-association [associations]=\"associations\"></pry-association>\n </div>\n </ng-template>\n\n <ng-template #shareDataset>\n <div class=\"o-pry-admin-dataset-select__share\">\n <pry-group-share\n [ngModel]=\"dataset.groups\"\n (ngModelChange)=\"changeGroup($event)\"\n (radioValueChange)=\"
|
|
153
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: AdminSelectDatasetComponent, selector: "pry-admin-select-dataset", usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"selectedDataset$ | async as dataset\"\n [id]=\"'panel-dataset-' + dataset.id\"\n [attr.aria-labelledby]=\"'button-dataset-' + dataset.id\"\n class=\"o-panel o-pry-admin-dataset-select\"\n>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 class=\"a-h3\">\n {{ '@pry.admin.dataset.details' | i18n }}\n </h3>\n </div>\n\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"datasetMetadata\" name=\"metadata.title\"></pry-tab>\n <pry-tab [templateRef]=\"datasetAssociations\" name=\"classes.associations\"></pry-tab>\n <pry-tab *ngIf=\"canModify$(dataset) | async\" [templateRef]=\"shareDataset\" name=\"share\"></pry-tab>\n </pry-tab-group>\n\n <ng-template #datasetMetadata>\n <pry-metadata-editor\n [targetId]=\"(selectedDataset$ | async)?.id ?? ''\"\n [isModification]=\"(editable$ | async) ?? false\"\n [metadata]=\"(datasetMetadata$ | async) ?? []\"\n (removeMeta)=\"removeMetadata($event)\"\n (addMeta)=\"addDatasetMetadata($event)\"\n [type]=\"'meta'\"\n ></pry-metadata-editor>\n </ng-template>\n\n <ng-template #datasetAssociations>\n <div *ngIf=\"associations$ | async as associations\" class=\"o-tabs__panels__item__content\">\n <h4 class=\"a-h4\">{{ '@pry.admin.classes.associations' | i18n }}</h4>\n <pry-association [associations]=\"associations\"></pry-association>\n </div>\n </ng-template>\n\n <ng-template #shareDataset>\n <div class=\"o-pry-admin-dataset-select__share\">\n <pry-group-share\n [ngModel]=\"dataset.groups\"\n (ngModelChange)=\"changeGroup($event)\"\n (radioValueChange)=\"updateGroups($event)\"\n ></pry-group-share>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary u-self-end\"\n #submit\n (click)=\"share(dataset)\"\n [disabled]=\"disableShareButton$ | async\"\n >\n {{ '@pry.admin.validate' | i18n }}\n </button>\n @if (selectedDatasetMissingGroups$ | async) {\n <h4 class=\"a-h4\">{{ '@pry.admin.dataset.success' | i18n }}</h4>\n }\n @if (missingGroups$ | async; as missingGroups) {\n <div class=\"u-display-flex -column\">\n <span>{{ '@pry.admin.dataset.conflict' | i18n }}</span>\n @for (missing of missingGroups | keyvalue; track missing.key) {\n <div>\n {{ '@pry.admin.dataset.entities.dashboard' | i18n }} <strong>{{ missing.value.entityName }}</strong>\n <div class=\"u-display-flex\">\n @for (group of missing.value.groups; track group) {\n <span class=\"a-chip\">{{ getGroupLabel(group) }}</span>\n }\n </div>\n </div>\n }\n </div>\n }\n </div>\n </ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TabGroupComponent, selector: "pry-tab-group", inputs: ["translationStringBase"], outputs: ["clickedTabIdx"] }, { kind: "component", type: i3.TabComponent, selector: "pry-tab", inputs: ["name", "templateRef", "index"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.PryMetadataEditorComponent, selector: "pry-metadata-editor", inputs: ["isModification", "targetId", "type", "metadata"], outputs: ["addMeta", "removeMeta"] }, { kind: "component", type: i3.PryGroupShareComponent, selector: "pry-group-share", inputs: ["disableRadios", "allowedGroups"], outputs: ["radioValueChange"] }, { kind: "component", type: i7.PryAssociationComponent, selector: "pry-association", inputs: ["associations"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
154
154
|
}
|
|
155
155
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AdminSelectDatasetComponent, decorators: [{
|
|
156
156
|
type: Component,
|
|
157
|
-
args: [{ selector: 'pry-admin-select-dataset', template: "<div\n *ngIf=\"selectedDataset$ | async as dataset\"\n [id]=\"'panel-dataset-' + dataset.id\"\n [attr.aria-labelledby]=\"'button-dataset-' + dataset.id\"\n class=\"o-panel o-pry-admin-dataset-select\"\n>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 class=\"a-h3\">\n {{ '@pry.admin.dataset.details' | i18n }}\n </h3>\n </div>\n\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"datasetMetadata\" name=\"metadata.title\"></pry-tab>\n <pry-tab [templateRef]=\"datasetAssociations\" name=\"classes.associations\"></pry-tab>\n <pry-tab *ngIf=\"canModify$(dataset) | async\" [templateRef]=\"shareDataset\" name=\"share\"></pry-tab>\n </pry-tab-group>\n\n <ng-template #datasetMetadata>\n <pry-metadata-editor\n [targetId]=\"(selectedDataset$ | async)?.id ?? ''\"\n [isModification]=\"(editable$ | async) ?? false\"\n [metadata]=\"(datasetMetadata$ | async) ?? []\"\n (removeMeta)=\"removeMetadata($event)\"\n (addMeta)=\"addDatasetMetadata($event)\"\n [type]=\"'meta'\"\n ></pry-metadata-editor>\n </ng-template>\n\n <ng-template #datasetAssociations>\n <div *ngIf=\"associations$ | async as associations\" class=\"o-tabs__panels__item__content\">\n <h4 class=\"a-h4\">{{ '@pry.admin.classes.associations' | i18n }}</h4>\n <pry-association [associations]=\"associations\"></pry-association>\n </div>\n </ng-template>\n\n <ng-template #shareDataset>\n <div class=\"o-pry-admin-dataset-select__share\">\n <pry-group-share\n [ngModel]=\"dataset.groups\"\n (ngModelChange)=\"changeGroup($event)\"\n (radioValueChange)=\"
|
|
157
|
+
args: [{ selector: 'pry-admin-select-dataset', template: "<div\n *ngIf=\"selectedDataset$ | async as dataset\"\n [id]=\"'panel-dataset-' + dataset.id\"\n [attr.aria-labelledby]=\"'button-dataset-' + dataset.id\"\n class=\"o-panel o-pry-admin-dataset-select\"\n>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 class=\"a-h3\">\n {{ '@pry.admin.dataset.details' | i18n }}\n </h3>\n </div>\n\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"datasetMetadata\" name=\"metadata.title\"></pry-tab>\n <pry-tab [templateRef]=\"datasetAssociations\" name=\"classes.associations\"></pry-tab>\n <pry-tab *ngIf=\"canModify$(dataset) | async\" [templateRef]=\"shareDataset\" name=\"share\"></pry-tab>\n </pry-tab-group>\n\n <ng-template #datasetMetadata>\n <pry-metadata-editor\n [targetId]=\"(selectedDataset$ | async)?.id ?? ''\"\n [isModification]=\"(editable$ | async) ?? false\"\n [metadata]=\"(datasetMetadata$ | async) ?? []\"\n (removeMeta)=\"removeMetadata($event)\"\n (addMeta)=\"addDatasetMetadata($event)\"\n [type]=\"'meta'\"\n ></pry-metadata-editor>\n </ng-template>\n\n <ng-template #datasetAssociations>\n <div *ngIf=\"associations$ | async as associations\" class=\"o-tabs__panels__item__content\">\n <h4 class=\"a-h4\">{{ '@pry.admin.classes.associations' | i18n }}</h4>\n <pry-association [associations]=\"associations\"></pry-association>\n </div>\n </ng-template>\n\n <ng-template #shareDataset>\n <div class=\"o-pry-admin-dataset-select__share\">\n <pry-group-share\n [ngModel]=\"dataset.groups\"\n (ngModelChange)=\"changeGroup($event)\"\n (radioValueChange)=\"updateGroups($event)\"\n ></pry-group-share>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary u-self-end\"\n #submit\n (click)=\"share(dataset)\"\n [disabled]=\"disableShareButton$ | async\"\n >\n {{ '@pry.admin.validate' | i18n }}\n </button>\n @if (selectedDatasetMissingGroups$ | async) {\n <h4 class=\"a-h4\">{{ '@pry.admin.dataset.success' | i18n }}</h4>\n }\n @if (missingGroups$ | async; as missingGroups) {\n <div class=\"u-display-flex -column\">\n <span>{{ '@pry.admin.dataset.conflict' | i18n }}</span>\n @for (missing of missingGroups | keyvalue; track missing.key) {\n <div>\n {{ '@pry.admin.dataset.entities.dashboard' | i18n }} <strong>{{ missing.value.entityName }}</strong>\n <div class=\"u-display-flex\">\n @for (group of missing.value.groups; track group) {\n <span class=\"a-chip\">{{ getGroupLabel(group) }}</span>\n }\n </div>\n </div>\n }\n </div>\n }\n </div>\n </ng-template>\n</div>\n" }]
|
|
158
158
|
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.PryI18nService }, { type: i3.PryBaseAccess, decorators: [{
|
|
159
159
|
type: Optional
|
|
160
160
|
}, {
|
|
161
161
|
type: Inject,
|
|
162
162
|
args: [PRY_ACCESS_TOKEN]
|
|
163
163
|
}] }] });
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tc2VsZWN0LWRhdGFzZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1kYXRhc2V0L2FkbWluLXNlbGVjdC1kYXRhc2V0L2FkbWluLXNlbGVjdC1kYXRhc2V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tZGF0YXNldC9hZG1pbi1zZWxlY3QtZGF0YXNldC9hZG1pbi1zZWxlY3QtZGF0YXNldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBcUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9FLE9BQU8sRUFFTCxrQkFBa0IsRUFFbEIsbUJBQW1CLEVBR25CLGdCQUFnQixFQUdoQixpQkFBaUIsRUFDakIsd0JBQXdCLEVBQ3pCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSwrQ0FBK0MsQ0FBQztBQUNsSCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFB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eEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekUsQ0FBQzs4R0FwS1UsMkJBQTJCLHlIQW1CaEIsZ0JBQWdCO2tHQW5CM0IsMkJBQTJCLHVGQ2hDeEMsby9GQThFQTs7MkZEOUNhLDJCQUEyQjtrQkFKdkMsU0FBUzsrQkFDRSwwQkFBMEI7OzBCQXNCakMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQXNzb2NpYXRpb25zLFxuICBEYXNoYm9hcmRTZWxlY3RvcnMsXG4gIERhdGFzZXQsXG4gIERhdGFTb3VyY2VTZWxlY3RvcnMsXG4gIE1ldGFkYXRhVmFsdWUsXG4gIE1pc3NpbmdHcm91cHNCeUVudGl0eSxcbiAgUFJZX0FDQ0VTU19UT0tFTixcbiAgUHJ5QmFzZUFjY2VzcyxcbiAgUHJ5STE4blNlcnZpY2UsXG4gIFByeVZpc2liaWxpdHlUeXBlLFxuICBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmVcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IE1ldGFkYXRhQWN0aW9ucywgTWV0YWRhdGFTZWxlY3RvcnMsIE1ldGFFdmVudFR5cGUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQvY29tcG9uZW50cy9tZXRhZGF0YS1lZGl0b3InO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24sIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb25jYXRMYXRlc3RGcm9tIH0gZnJvbSAnQG5ncngvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFkbWluQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2FkbWluLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWRtaW5TZWxlY3RvcnMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9hZG1pbi5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgQWRtaW5EYXRhc2V0QWN0aW9ucyB9IGZyb20gJy4uL3N0b3JlL2FkbWluLWRhdGFzZXQuYWN0aW9ucyc7XG5pbXBvcnQgeyBBZG1pbkRhdGFzZXRTZWxlY3RvcnMgfSBmcm9tICcuLi9zdG9yZS9hZG1pbi1kYXRhc2V0LnNlbGVjdG9ycyc7XG5cbmludGVyZmFjZSBNaXNzaW5nR3JvdXBzIHtcbiAgW2tleTogc3RyaW5nXTogeyBncm91cHM6IHN0cmluZ1tdOyBlbnRpdHlOYW1lOiBzdHJpbmcgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWFkbWluLXNlbGVjdC1kYXRhc2V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkbWluLXNlbGVjdC1kYXRhc2V0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZG1pblNlbGVjdERhdGFzZXRDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHN0YXRpYyBpZCA9ICdBZG1pblNlbGVjdERhdGFzZXRDb21wb25lbnQnO1xuICBzZWxlY3RlZERhdGFzZXQkOiBPYnNlcnZhYmxlPERhdGFzZXQgfCBudWxsPjtcbiAgYXNzb2NpYXRpb25zJDogT2JzZXJ2YWJsZTxBc3NvY2lhdGlvbnMgfCB1bmRlZmluZWQ+O1xuICBzdWIgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIGN1cnJlbnRUeXBlVHJhbnNsYXRpb24gPSAnJztcbiAgZGF0YXNldE1ldGFkYXRhJDogT2JzZXJ2YWJsZTxNZXRhZGF0YVZhbHVlW10+O1xuICBlZGl0YWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGFjY2Vzc0dyb3Vwczogc3RyaW5nW10gPSBbXTtcbiAgc2VsZWN0ZWREYXRhc2V0TWlzc2luZ0dyb3VwcyQ6IE9ic2VydmFibGU8TWlzc2luZ0dyb3Vwc0J5RW50aXR5IHwgdW5kZWZpbmVkPjtcbiAgbWlzc2luZ0dyb3VwcyQ6IE9ic2VydmFibGU8TWlzc2luZ0dyb3VwcyB8IHVuZGVmaW5lZD47XG4gIHNoYXJlUmFkaW9WYWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFByeVZpc2liaWxpdHlUeXBlIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBkaXNhYmxlU2hhcmVCdXR0b24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PixcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgaTE4bjogUHJ5STE4blNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChQUllfQUNDRVNTX1RPS0VOKSBwcm90ZWN0ZWQgYWNjZXNzOiBQcnlCYXNlQWNjZXNzXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNZXRhZGF0YUFjdGlvbnMubG9hZE1ldGFkYXRhKCkpO1xuICAgIHRoaXMuc2VsZWN0ZWREYXRhc2V0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluRGF0YXNldFNlbGVjdG9ycy5zZWxlY3RlZERhdGFzZXQpO1xuICAgIHRoaXMuZGF0YXNldE1ldGFkYXRhJCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluRGF0YXNldFNlbGVjdG9ycy5zZWxlY3RlZERhdGFzZXRNZXRhZGF0YSk7XG4gICAgdGhpcy5hc3NvY2lhdGlvbnMkID0gdGhpcy5zdG9yZS5zZWxlY3QoQWRtaW5TZWxlY3RvcnMuc2VsZWN0ZWRBc3NvY2lhdGlvbik7XG4gICAgdGhpcy5lZGl0YWJsZSQgPSB0aGlzLnN0b3JlLnNlbGVjdChNZXRhZGF0YVNlbGVjdG9ycy5lZGl0YWJsZSk7XG4gICAgdGhpcy5zZWxlY3RlZERhdGFzZXRNaXNzaW5nR3JvdXBzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluRGF0YXNldFNlbGVjdG9ycy5zZWxlY3RlZERhdGFzZXRNaXNzaW5nR3JvdXBzKTtcbiAgICB0aGlzLm1pc3NpbmdHcm91cHMkID0gdGhpcy5zZWxlY3RlZERhdGFzZXRNaXNzaW5nR3JvdXBzJC5waXBlKFxuICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLm1hbmlmZXN0c0xpc3QpKSxcbiAgICAgIG1hcCgoW2NvbmZsaWN0LCBtYW5pZmVzdHNdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogeyBba2V5OiBzdHJpbmddOiB7IGdyb3Vwczogc3RyaW5nW107IGVudGl0eU5hbWU6IHN0cmluZyB9IH0gPSB7fTtcbiAgICAgICAgT2JqZWN0LmtleXMoY29uZmxpY3QgPz8ge30pLmZvckVhY2goKGVudGl0eUlkKSA9PiB7XG4gICAgICAgICAgcmVzdWx0W2VudGl0eUlkXSA9IHtcbiAgICAgICAgICAgIGdyb3VwczogY29uZmxpY3Q/LltlbnRpdHlJZF0gPz8gW10sXG4gICAgICAgICAgICBlbnRpdHlOYW1lOiBtYW5pZmVzdHMuZmluZCgobSkgPT4gbS5pZCA9PT0gZW50aXR5SWQpPy5uYW1lID8/IGVudGl0eUlkXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhyZXN1bHQpLmxlbmd0aCA+IDAgPyByZXN1bHQgOiB1bmRlZmluZWQ7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5zZWxlY3RlZERhdGFzZXQkLCB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmRhdGFzZXRWZXJzaW9ucyldKVxuICAgICAgICAucGlwZShjb25jYXRMYXRlc3RGcm9tKChbZGF0YXNldCwgdmVyc2lvbnNdKSA9PiAoZGF0YXNldCA/IHRoaXMuY2FuTW9kaWZ5JChkYXRhc2V0KSA6IG9mKGZhbHNlKSkpKVxuICAgICAgICAuc3Vic2NyaWJlKChbW2RhdGFzZXQsIHZlcnNpb25zXSwgY2FuTW9kaWZ5XSkgPT4ge1xuICAgICAgICAgIGlmIChkYXRhc2V0KSB7XG4gICAgICAgICAgICB0aGlzLmFjY2Vzc0dyb3VwcyA9IGRhdGFzZXQuZ3JvdXBzID8/IFtdO1xuICAgICAgICAgICAgY29uc3QgZWRpdFBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLicsICdkYXRhc2V0JywgJ2VkaXQnLCBkYXRhc2V0LmlkXSwge1xuICAgICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChjYW5Nb2RpZnkpIHtcbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgICAgICBBZG1pbkFjdGlvbnMubWFpbkFjdGlvbnMoe1xuICAgICAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiBBZG1pbkFjdGlvbnMucm91dGVUbyh7IHBhdGg6IGVkaXRQYXRoLnRvU3RyaW5nKCkgfSksXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdlZGl0JyxcbiAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnZWRpdCcsXG4gICAgICAgICAgICAgICAgICAgICAgbW9kdWxlQWNjZXNzOiAnYWRtaW4nLFxuICAgICAgICAgICAgICAgICAgICAgIHBhZ2VBY2Nlc3M6ICdkYXRhc2V0JyxcbiAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25BY2Nlc3M6ICd3cml0ZSdcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogQWRtaW5EYXRhc2V0QWN0aW9ucy5jb25maXJtRGF0YXNldERlbGV0aW9uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGRhdGFzZXQuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZTogdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4nLCAnZGF0YXNldCddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkZFJvdXRlOiB0aGlzLnJvdXRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAuY3JlYXRlVXJsVHJlZShbJy4nLCAnZGF0YXNldCcsICduZXcnXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC50b1N0cmluZygpXG4gICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdkZWxldGUnLFxuICAgICAgICAgICAgICAgICAgICAgIGljb246ICdkZWxldGUnLFxuICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZUFjY2VzczogJ2FkbWluJyxcbiAgICAgICAgICAgICAgICAgICAgICBwYWdlQWNjZXNzOiAnZGF0YXNldCcsXG4gICAgICAgICAgICAgICAgICAgICAgYWN0aW9uQWNjZXNzOiAnd3JpdGUnLFxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiB2ZXJzaW9ucy5maWx0ZXIoKHYpID0+IHYuZGF0YXNldCA9PT0gZGF0YXNldC5pZCkubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgICAgICAgQWRtaW5BY3Rpb25zLm1haW5BY3Rpb25zKHtcbiAgICAgICAgICAgICAgICAgIGFjdGlvbnM6IFtdXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGNsb3NlUGFuZWwoKSB7XG4gICAgY29uc3QgcGF0aCA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycuJywgJ2RhdGFzZXQnLCAnbmV3J10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluRGF0YXNldEFjdGlvbnMudW5zZWxlY3REYXRhc2V0KCkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5BY3Rpb25zLnRvZ2dsZVBhbmVsKHsgcGFuZWxPcGVuOiBmYWxzZSB9KSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIEFkbWluQWN0aW9ucy5tYWluQWN0aW9ucyh7XG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhY3Rpb246IEFkbWluQWN0aW9ucy5yb3V0ZVRvKHsgcGF0aDogcGF0aC50b1N0cmluZygpIH0pLFxuICAgICAgICAgICAgbGFiZWw6ICdhZGQnLFxuICAgICAgICAgICAgaWNvbjogJ2FkZF9jb2x1bW4nLFxuICAgICAgICAgICAgbW9kdWxlQWNjZXNzOiAnYWRtaW4nLFxuICAgICAgICAgICAgcGFnZUFjY2VzczogJ21ldGFkYXRhX3J1bGVzJyxcbiAgICAgICAgICAgIGFjdGlvbkFjY2VzczogJ3dyaXRlJ1xuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcmVtb3ZlTWV0YWRhdGEobWV0YWRhdGE6IE1ldGFFdmVudFR5cGUpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgTWV0YWRhdGFBY3Rpb25zLmRlbGV0ZURhdGFzZXRNZXRhZGF0YSh7IGRhdGFzZXRJZDogbWV0YWRhdGEuaWQsIG1ldGFkYXRhSWQ6IG1ldGFkYXRhLm1ldGFkYXRhSWQgfSlcbiAgICApO1xuICB9XG5cbiAgYWRkRGF0YXNldE1ldGFkYXRhKG1ldGFkYXRhOiBNZXRhRXZlbnRUeXBlKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIE1ldGFkYXRhQWN0aW9ucy5hZGREYXRhc2V0TWV0YWRhdGEoe1xuICAgICAgICBkYXRhc2V0SWQ6IG1ldGFkYXRhLmlkLFxuICAgICAgICBtZXRhZGF0YUlkOiBtZXRhZGF0YS5tZXRhZGF0YUlkLFxuICAgICAgICB2YWx1ZTogbWV0YWRhdGEudmFsdWVcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHNoYXJlKGRhdGFzZXQ6IERhdGFzZXQpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluRGF0YXNldEFjdGlvbnMudXBkYXRlKHsgZGF0YXNldDogeyAuLi5kYXRhc2V0LCBncm91cHM6IHRoaXMuYWNjZXNzR3JvdXBzIH0sIHJvdXRlOiAnJyB9KSk7XG4gIH1cblxuICBnZXRHcm91cExhYmVsKGdyb3VwTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgaTE4bkJhc2UgPSAnQHByeS5jb21wb25lbnRzLmNoaXBzU2VsZWN0b3Iuc2hhcmUuZ3JvdXBzLic7XG4gICAgY29uc3QgbGFiZWwgPSB0aGlzLmkxOG4uaW5zdGFudChpMThuQmFzZSArIGdyb3VwTmFtZSk7XG4gICAgcmV0dXJuIGxhYmVsLnN0YXJ0c1dpdGgoaTE4bkJhc2UpID8gZ3JvdXBOYW1lIDogbGFiZWw7XG4gIH1cblxuICBjaGFuZ2VHcm91cCgkZXZlbnQ6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5hY2Nlc3NHcm91cHMgPSAkZXZlbnQ7XG4gICAgdGhpcy51cGRhdGVEaXNhYmxlQnV0dG9uVmFsdWUoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluRGF0YXNldEFjdGlvbnMuc2V0TWlzc2luZ0dyb3Vwcyh7IG1pc3NpbmdHcm91cHM6IHVuZGVmaW5lZCB9KSk7XG4gIH1cblxuICB1cGRhdGVWaXNpYmlsaXR5KCRldmVudDogUHJ5VmlzaWJpbGl0eVR5cGUpIHtcbiAgICB0aGlzLnNoYXJlUmFkaW9WYWx1ZSQubmV4dCgkZXZlbnQpO1xuICAgIHRoaXMudXBkYXRlRGlzYWJsZUJ1dHRvblZhbHVlKCk7XG4gIH1cblxuICB1cGRhdGVEaXNhYmxlQnV0dG9uVmFsdWUoKSB7XG4gICAgaWYgKHRoaXMuc2hhcmVSYWRpb1ZhbHVlJC5nZXRWYWx1ZSgpID09PSBQcnlWaXNpYmlsaXR5VHlwZS5SRVNUUklDVEVEICYmIHRoaXMuYWNjZXNzR3JvdXBzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5kaXNhYmxlU2hhcmVCdXR0b24kLm5leHQodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmRpc2FibGVTaGFyZUJ1dHRvbiQuZ2V0VmFsdWUoKSkge1xuICAgICAgICB0aGlzLmRpc2FibGVTaGFyZUJ1dHRvbiQubmV4dChmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2FuTW9kaWZ5JChkYXRhc2V0OiBEYXRhc2V0KSB7XG4gICAgcmV0dXJuIHRoaXMuYWNjZXNzID8gdGhpcy5hY2Nlc3MuY2FuTW9kaWZ5RGF0YXNldChkYXRhc2V0KSA6IG9mKGZhbHNlKTtcbiAgfVxufVxuIiwiPGRpdlxuICAqbmdJZj1cInNlbGVjdGVkRGF0YXNldCQgfCBhc3luYyBhcyBkYXRhc2V0XCJcbiAgW2lkXT1cIidwYW5lbC1kYXRhc2V0LScgKyBkYXRhc2V0LmlkXCJcbiAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIididXR0b24tZGF0YXNldC0nICsgZGF0YXNldC5pZFwiXG4gIGNsYXNzPVwiby1wYW5lbCBvLXByeS1hZG1pbi1kYXRhc2V0LXNlbGVjdFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJvLXBhbmVsX19oZWFkZXJcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIiAoY2xpY2spPVwiY2xvc2VQYW5lbCgpXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+e3sgJ0BwcnkuYWN0aW9uLmNsb3NlUGFuZWwnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiY2xvc2VcIj48L3ByeS1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGgzIGNsYXNzPVwiYS1oM1wiPlxuICAgICAge3sgJ0BwcnkuYWRtaW4uZGF0YXNldC5kZXRhaWxzJyB8IGkxOG4gfX1cbiAgICA8L2gzPlxuICA8L2Rpdj5cblxuICA8cHJ5LXRhYi1ncm91cCB0cmFuc2xhdGlvblN0cmluZ0Jhc2U9XCJAcHJ5LmFkbWluLlwiPlxuICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJkYXRhc2V0TWV0YWRhdGFcIiBuYW1lPVwibWV0YWRhdGEudGl0bGVcIj48L3ByeS10YWI+XG4gICAgPHByeS10YWIgW3RlbXBsYXRlUmVmXT1cImRhdGFzZXRBc3NvY2lhdGlvbnNcIiBuYW1lPVwiY2xhc3Nlcy5hc3NvY2lhdGlvbnNcIj48L3ByeS10YWI+XG4gICAgPHByeS10YWIgKm5nSWY9XCJjYW5Nb2RpZnkkKGRhdGFzZXQpIHwgYXN5bmNcIiBbdGVtcGxhdGVSZWZdPVwic2hhcmVEYXRhc2V0XCIgbmFtZT1cInNoYXJlXCI+PC9wcnktdGFiPlxuICA8L3ByeS10YWItZ3JvdXA+XG5cbiAgPG5nLXRlbXBsYXRlICNkYXRhc2V0TWV0YWRhdGE+XG4gICAgPHByeS1tZXRhZGF0YS1lZGl0b3JcbiAgICAgIFt0YXJnZXRJZF09XCIoc2VsZWN0ZWREYXRhc2V0JCB8IGFzeW5jKT8uaWQgPz8gJydcIlxuICAgICAgW2lzTW9kaWZpY2F0aW9uXT1cIihlZGl0YWJsZSQgfCBhc3luYykgPz8gZmFsc2VcIlxuICAgICAgW21ldGFkYXRhXT1cIihkYXRhc2V0TWV0YWRhdGEkIHwgYXN5bmMpID8/IFtdXCJcbiAgICAgIChyZW1vdmVNZXRhKT1cInJlbW92ZU1ldGFkYXRhKCRldmVudClcIlxuICAgICAgKGFkZE1ldGEpPVwiYWRkRGF0YXNldE1ldGFkYXRhKCRldmVudClcIlxuICAgICAgW3R5cGVdPVwiJ21ldGEnXCJcbiAgICA+PC9wcnktbWV0YWRhdGEtZWRpdG9yPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSAjZGF0YXNldEFzc29jaWF0aW9ucz5cbiAgICA8ZGl2ICpuZ0lmPVwiYXNzb2NpYXRpb25zJCB8IGFzeW5jIGFzIGFzc29jaWF0aW9uc1wiIGNsYXNzPVwiby10YWJzX19wYW5lbHNfX2l0ZW1fX2NvbnRlbnRcIj5cbiAgICAgIDxoNCBjbGFzcz1cImEtaDRcIj57eyAnQHByeS5hZG1pbi5jbGFzc2VzLmFzc29jaWF0aW9ucycgfCBpMThuIH19PC9oND5cbiAgICAgIDxwcnktYXNzb2NpYXRpb24gW2Fzc29jaWF0aW9uc109XCJhc3NvY2lhdGlvbnNcIj48L3ByeS1hc3NvY2lhdGlvbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8bmctdGVtcGxhdGUgI3NoYXJlRGF0YXNldD5cbiAgICA8ZGl2IGNsYXNzPVwiby1wcnktYWRtaW4tZGF0YXNldC1zZWxlY3RfX3NoYXJlXCI+XG4gICAgICA8cHJ5LWdyb3VwLXNoYXJlXG4gICAgICAgIFtuZ01vZGVsXT1cImRhdGFzZXQuZ3JvdXBzXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlR3JvdXAoJGV2ZW50KVwiXG4gICAgICAgIChyYWRpb1ZhbHVlQ2hhbmdlKT1cInVwZGF0ZVZpc2liaWxpdHkoJGV2ZW50KVwiXG4gICAgICA+PC9wcnktZ3JvdXAtc2hhcmU+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5IHUtc2VsZi1lbmRcIlxuICAgICAgICAjc3VibWl0XG4gICAgICAgIChjbGljayk9XCJzaGFyZShkYXRhc2V0KVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlU2hhcmVCdXR0b24kIHwgYXN5bmNcIlxuICAgICAgPlxuICAgICAgICB7eyAnQHByeS5hZG1pbi52YWxpZGF0ZScgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIEBpZiAoc2VsZWN0ZWREYXRhc2V0TWlzc2luZ0dyb3VwcyQgfCBhc3luYykge1xuICAgICAgICA8aDQgY2xhc3M9XCJhLWg0XCI+e3sgJ0BwcnkuYWRtaW4uZGF0YXNldC5zdWNjZXNzJyB8IGkxOG4gfX08L2g0PlxuICAgICAgfVxuICAgICAgQGlmIChtaXNzaW5nR3JvdXBzJCB8IGFzeW5jOyBhcyBtaXNzaW5nR3JvdXBzKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1LWRpc3BsYXktZmxleCAtY29sdW1uXCI+XG4gICAgICAgICAgPHNwYW4+e3sgJ0BwcnkuYWRtaW4uZGF0YXNldC5jb25mbGljdCcgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgIEBmb3IgKG1pc3Npbmcgb2YgbWlzc2luZ0dyb3VwcyB8IGtleXZhbHVlOyB0cmFjayBtaXNzaW5nLmtleSkge1xuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAge3sgJ0BwcnkuYWRtaW4uZGF0YXNldC5lbnRpdGllcy5kYXNoYm9hcmQnIHwgaTE4biB9fSA8c3Ryb25nPnt7IG1pc3NpbmcudmFsdWUuZW50aXR5TmFtZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidS1kaXNwbGF5LWZsZXhcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChncm91cCBvZiBtaXNzaW5nLnZhbHVlLmdyb3VwczsgdHJhY2sgZ3JvdXApIHtcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYS1jaGlwXCI+e3sgZ2V0R3JvdXBMYWJlbChncm91cCkgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tc2VsZWN0LWRhdGFzZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1kYXRhc2V0L2FkbWluLXNlbGVjdC1kYXRhc2V0L2FkbWluLXNlbGVjdC1kYXRhc2V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tZGF0YXNldC9hZG1pbi1zZWxlY3QtZGF0YXNldC9hZG1pbi1zZWxlY3QtZGF0YXNldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBcUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9FLE9BQU8sRUFFTCxrQkFBa0IsRUFFbEIsbUJBQW1CLEVBR25CLGdCQUFnQixFQUdoQixZQUFZLEVBQ1osd0JBQXdCLEVBQ3pCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSwrQ0FBK0MsQ0FBQztBQUNsSCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxr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LENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RSxDQUFDOzhHQXBLVSwyQkFBMkIseUhBbUJoQixnQkFBZ0I7a0dBbkIzQiwyQkFBMkIsdUZDaEN4QyxnL0ZBOEVBOzsyRkQ5Q2EsMkJBQTJCO2tCQUp2QyxTQUFTOytCQUNFLDBCQUEwQjs7MEJBc0JqQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBBc3NvY2lhdGlvbnMsXG4gIERhc2hib2FyZFNlbGVjdG9ycyxcbiAgRGF0YXNldCxcbiAgRGF0YVNvdXJjZVNlbGVjdG9ycyxcbiAgTWV0YWRhdGFWYWx1ZSxcbiAgTWlzc2luZ0dyb3Vwc0J5RW50aXR5LFxuICBQUllfQUNDRVNTX1RPS0VOLFxuICBQcnlCYXNlQWNjZXNzLFxuICBQcnlJMThuU2VydmljZSxcbiAgUHJ5U2hhcmVNb2RlLFxuICBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmVcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IE1ldGFkYXRhQWN0aW9ucywgTWV0YWRhdGFTZWxlY3RvcnMsIE1ldGFFdmVudFR5cGUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQvY29tcG9uZW50cy9tZXRhZGF0YS1lZGl0b3InO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24sIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb25jYXRMYXRlc3RGcm9tIH0gZnJvbSAnQG5ncngvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFkbWluQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2FkbWluLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWRtaW5TZWxlY3RvcnMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9hZG1pbi5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgQWRtaW5EYXRhc2V0QWN0aW9ucyB9IGZyb20gJy4uL3N0b3JlL2FkbWluLWRhdGFzZXQuYWN0aW9ucyc7XG5pbXBvcnQgeyBBZG1pbkRhdGFzZXRTZWxlY3RvcnMgfSBmcm9tICcuLi9zdG9yZS9hZG1pbi1kYXRhc2V0LnNlbGVjdG9ycyc7XG5cbmludGVyZmFjZSBNaXNzaW5nR3JvdXBzIHtcbiAgW2tleTogc3RyaW5nXTogeyBncm91cHM6IHN0cmluZ1tdOyBlbnRpdHlOYW1lOiBzdHJpbmcgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWFkbWluLXNlbGVjdC1kYXRhc2V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkbWluLXNlbGVjdC1kYXRhc2V0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZG1pblNlbGVjdERhdGFzZXRDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHN0YXRpYyBpZCA9ICdBZG1pblNlbGVjdERhdGFzZXRDb21wb25lbnQnO1xuICBzZWxlY3RlZERhdGFzZXQkOiBPYnNlcnZhYmxlPERhdGFzZXQgfCBudWxsPjtcbiAgYXNzb2NpYXRpb25zJDogT2JzZXJ2YWJsZTxBc3NvY2lhdGlvbnMgfCB1bmRlZmluZWQ+O1xuICBzdWIgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIGN1cnJlbnRUeXBlVHJhbnNsYXRpb24gPSAnJztcbiAgZGF0YXNldE1ldGFkYXRhJDogT2JzZXJ2YWJsZTxNZXRhZGF0YVZhbHVlW10+O1xuICBlZGl0YWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGFjY2Vzc0dyb3Vwczogc3RyaW5nW10gPSBbXTtcbiAgc2VsZWN0ZWREYXRhc2V0TWlzc2luZ0dyb3VwcyQ6IE9ic2VydmFibGU8TWlzc2luZ0dyb3Vwc0J5RW50aXR5IHwgdW5kZWZpbmVkPjtcbiAgbWlzc2luZ0dyb3VwcyQ6IE9ic2VydmFibGU8TWlzc2luZ0dyb3VwcyB8IHVuZGVmaW5lZD47XG4gIHNoYXJlUmFkaW9WYWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFByeVNoYXJlTW9kZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgZGlzYWJsZVNoYXJlQnV0dG9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT4sXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGkxOG46IFByeUkxOG5TZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUFJZX0FDQ0VTU19UT0tFTikgcHJvdGVjdGVkIGFjY2VzczogUHJ5QmFzZUFjY2Vzc1xuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTWV0YWRhdGFBY3Rpb25zLmxvYWRNZXRhZGF0YSgpKTtcbiAgICB0aGlzLnNlbGVjdGVkRGF0YXNldCQgPSB0aGlzLnN0b3JlLnNlbGVjdChBZG1pbkRhdGFzZXRTZWxlY3RvcnMuc2VsZWN0ZWREYXRhc2V0KTtcbiAgICB0aGlzLmRhdGFzZXRNZXRhZGF0YSQgPSB0aGlzLnN0b3JlLnNlbGVjdChBZG1pbkRhdGFzZXRTZWxlY3RvcnMuc2VsZWN0ZWREYXRhc2V0TWV0YWRhdGEpO1xuICAgIHRoaXMuYXNzb2NpYXRpb25zJCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluU2VsZWN0b3JzLnNlbGVjdGVkQXNzb2NpYXRpb24pO1xuICAgIHRoaXMuZWRpdGFibGUkID0gdGhpcy5zdG9yZS5zZWxlY3QoTWV0YWRhdGFTZWxlY3RvcnMuZWRpdGFibGUpO1xuICAgIHRoaXMuc2VsZWN0ZWREYXRhc2V0TWlzc2luZ0dyb3VwcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChBZG1pbkRhdGFzZXRTZWxlY3RvcnMuc2VsZWN0ZWREYXRhc2V0TWlzc2luZ0dyb3Vwcyk7XG4gICAgdGhpcy5taXNzaW5nR3JvdXBzJCA9IHRoaXMuc2VsZWN0ZWREYXRhc2V0TWlzc2luZ0dyb3VwcyQucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5tYW5pZmVzdHNMaXN0KSksXG4gICAgICBtYXAoKFtjb25mbGljdCwgbWFuaWZlc3RzXSkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQ6IHsgW2tleTogc3RyaW5nXTogeyBncm91cHM6IHN0cmluZ1tdOyBlbnRpdHlOYW1lOiBzdHJpbmcgfSB9ID0ge307XG4gICAgICAgIE9iamVjdC5rZXlzKGNvbmZsaWN0ID8/IHt9KS5mb3JFYWNoKChlbnRpdHlJZCkgPT4ge1xuICAgICAgICAgIHJlc3VsdFtlbnRpdHlJZF0gPSB7XG4gICAgICAgICAgICBncm91cHM6IGNvbmZsaWN0Py5bZW50aXR5SWRdID8/IFtdLFxuICAgICAgICAgICAgZW50aXR5TmFtZTogbWFuaWZlc3RzLmZpbmQoKG0pID0+IG0uaWQgPT09IGVudGl0eUlkKT8ubmFtZSA/PyBlbnRpdHlJZFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMocmVzdWx0KS5sZW5ndGggPiAwID8gcmVzdWx0IDogdW5kZWZpbmVkO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuc2VsZWN0ZWREYXRhc2V0JCwgdGhpcy5zdG9yZS5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5kYXRhc2V0VmVyc2lvbnMpXSlcbiAgICAgICAgLnBpcGUoY29uY2F0TGF0ZXN0RnJvbSgoW2RhdGFzZXQsIHZlcnNpb25zXSkgPT4gKGRhdGFzZXQgPyB0aGlzLmNhbk1vZGlmeSQoZGF0YXNldCkgOiBvZihmYWxzZSkpKSlcbiAgICAgICAgLnN1YnNjcmliZSgoW1tkYXRhc2V0LCB2ZXJzaW9uc10sIGNhbk1vZGlmeV0pID0+IHtcbiAgICAgICAgICBpZiAoZGF0YXNldCkge1xuICAgICAgICAgICAgdGhpcy5hY2Nlc3NHcm91cHMgPSBkYXRhc2V0Lmdyb3VwcyA/PyBbXTtcbiAgICAgICAgICAgIGNvbnN0IGVkaXRQYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4nLCAnZGF0YXNldCcsICdlZGl0JywgZGF0YXNldC5pZF0sIHtcbiAgICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoY2FuTW9kaWZ5KSB7XG4gICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgICAgICAgQWRtaW5BY3Rpb25zLm1haW5BY3Rpb25zKHtcbiAgICAgICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogQWRtaW5BY3Rpb25zLnJvdXRlVG8oeyBwYXRoOiBlZGl0UGF0aC50b1N0cmluZygpIH0pLFxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnZWRpdCcsXG4gICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2VkaXQnLFxuICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZUFjY2VzczogJ2FkbWluJyxcbiAgICAgICAgICAgICAgICAgICAgICBwYWdlQWNjZXNzOiAnZGF0YXNldCcsXG4gICAgICAgICAgICAgICAgICAgICAgYWN0aW9uQWNjZXNzOiAnd3JpdGUnXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246IEFkbWluRGF0YXNldEFjdGlvbnMuY29uZmlybURhdGFzZXREZWxldGlvbih7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBkYXRhc2V0LmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGU6IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycuJywgJ2RhdGFzZXQnXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBhZGRSb3V0ZTogdGhpcy5yb3V0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmNyZWF0ZVVybFRyZWUoWycuJywgJ2RhdGFzZXQnLCAnbmV3J10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAudG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnZGVsZXRlJyxcbiAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnZGVsZXRlJyxcbiAgICAgICAgICAgICAgICAgICAgICBtb2R1bGVBY2Nlc3M6ICdhZG1pbicsXG4gICAgICAgICAgICAgICAgICAgICAgcGFnZUFjY2VzczogJ2RhdGFzZXQnLFxuICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbkFjY2VzczogJ3dyaXRlJyxcbiAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogdmVyc2lvbnMuZmlsdGVyKCh2KSA9PiB2LmRhdGFzZXQgPT09IGRhdGFzZXQuaWQpLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgICAgIEFkbWluQWN0aW9ucy5tYWluQWN0aW9ucyh7XG4gICAgICAgICAgICAgICAgICBhY3Rpb25zOiBbXVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBjbG9zZVBhbmVsKCkge1xuICAgIGNvbnN0IHBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLicsICdkYXRhc2V0JywgJ25ldyddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkRhdGFzZXRBY3Rpb25zLnVuc2VsZWN0RGF0YXNldCgpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluQWN0aW9ucy50b2dnbGVQYW5lbCh7IHBhbmVsT3BlbjogZmFsc2UgfSkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBBZG1pbkFjdGlvbnMubWFpbkFjdGlvbnMoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWN0aW9uOiBBZG1pbkFjdGlvbnMucm91dGVUbyh7IHBhdGg6IHBhdGgudG9TdHJpbmcoKSB9KSxcbiAgICAgICAgICAgIGxhYmVsOiAnYWRkJyxcbiAgICAgICAgICAgIGljb246ICdhZGRfY29sdW1uJyxcbiAgICAgICAgICAgIG1vZHVsZUFjY2VzczogJ2FkbWluJyxcbiAgICAgICAgICAgIHBhZ2VBY2Nlc3M6ICdtZXRhZGF0YV9ydWxlcycsXG4gICAgICAgICAgICBhY3Rpb25BY2Nlc3M6ICd3cml0ZSdcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHJlbW92ZU1ldGFkYXRhKG1ldGFkYXRhOiBNZXRhRXZlbnRUeXBlKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIE1ldGFkYXRhQWN0aW9ucy5kZWxldGVEYXRhc2V0TWV0YWRhdGEoeyBkYXRhc2V0SWQ6IG1ldGFkYXRhLmlkLCBtZXRhZGF0YUlkOiBtZXRhZGF0YS5tZXRhZGF0YUlkIH0pXG4gICAgKTtcbiAgfVxuXG4gIGFkZERhdGFzZXRNZXRhZGF0YShtZXRhZGF0YTogTWV0YUV2ZW50VHlwZSkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBNZXRhZGF0YUFjdGlvbnMuYWRkRGF0YXNldE1ldGFkYXRhKHtcbiAgICAgICAgZGF0YXNldElkOiBtZXRhZGF0YS5pZCxcbiAgICAgICAgbWV0YWRhdGFJZDogbWV0YWRhdGEubWV0YWRhdGFJZCxcbiAgICAgICAgdmFsdWU6IG1ldGFkYXRhLnZhbHVlXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBzaGFyZShkYXRhc2V0OiBEYXRhc2V0KSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkRhdGFzZXRBY3Rpb25zLnVwZGF0ZSh7IGRhdGFzZXQ6IHsgLi4uZGF0YXNldCwgZ3JvdXBzOiB0aGlzLmFjY2Vzc0dyb3VwcyB9LCByb3V0ZTogJycgfSkpO1xuICB9XG5cbiAgZ2V0R3JvdXBMYWJlbChncm91cE5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGkxOG5CYXNlID0gJ0BwcnkuY29tcG9uZW50cy5jaGlwc1NlbGVjdG9yLnNoYXJlLmdyb3Vwcy4nO1xuICAgIGNvbnN0IGxhYmVsID0gdGhpcy5pMThuLmluc3RhbnQoaTE4bkJhc2UgKyBncm91cE5hbWUpO1xuICAgIHJldHVybiBsYWJlbC5zdGFydHNXaXRoKGkxOG5CYXNlKSA/IGdyb3VwTmFtZSA6IGxhYmVsO1xuICB9XG5cbiAgY2hhbmdlR3JvdXAoJGV2ZW50OiBzdHJpbmdbXSkge1xuICAgIHRoaXMuYWNjZXNzR3JvdXBzID0gJGV2ZW50O1xuICAgIHRoaXMudXBkYXRlRGlzYWJsZUJ1dHRvblZhbHVlKCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkRhdGFzZXRBY3Rpb25zLnNldE1pc3NpbmdHcm91cHMoeyBtaXNzaW5nR3JvdXBzOiB1bmRlZmluZWQgfSkpO1xuICB9XG5cbiAgdXBkYXRlR3JvdXBzKCRldmVudDogUHJ5U2hhcmVNb2RlKSB7XG4gICAgdGhpcy5zaGFyZVJhZGlvVmFsdWUkLm5leHQoJGV2ZW50KTtcbiAgICB0aGlzLnVwZGF0ZURpc2FibGVCdXR0b25WYWx1ZSgpO1xuICB9XG5cbiAgdXBkYXRlRGlzYWJsZUJ1dHRvblZhbHVlKCkge1xuICAgIGlmICh0aGlzLnNoYXJlUmFkaW9WYWx1ZSQuZ2V0VmFsdWUoKSA9PT0gUHJ5U2hhcmVNb2RlLkdST1VQUyAmJiB0aGlzLmFjY2Vzc0dyb3Vwcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuZGlzYWJsZVNoYXJlQnV0dG9uJC5uZXh0KHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5kaXNhYmxlU2hhcmVCdXR0b24kLmdldFZhbHVlKCkpIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlU2hhcmVCdXR0b24kLm5leHQoZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNhbk1vZGlmeSQoZGF0YXNldDogRGF0YXNldCkge1xuICAgIHJldHVybiB0aGlzLmFjY2VzcyA/IHRoaXMuYWNjZXNzLmNhbk1vZGlmeURhdGFzZXQoZGF0YXNldCkgOiBvZihmYWxzZSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJzZWxlY3RlZERhdGFzZXQkIHwgYXN5bmMgYXMgZGF0YXNldFwiXG4gIFtpZF09XCIncGFuZWwtZGF0YXNldC0nICsgZGF0YXNldC5pZFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCInYnV0dG9uLWRhdGFzZXQtJyArIGRhdGFzZXQuaWRcIlxuICBjbGFzcz1cIm8tcGFuZWwgby1wcnktYWRtaW4tZGF0YXNldC1zZWxlY3RcIlxuPlxuICA8ZGl2IGNsYXNzPVwiby1wYW5lbF9faGVhZGVyXCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi1vbmx5XCIgKGNsaWNrKT1cImNsb3NlUGFuZWwoKVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LmFjdGlvbi5jbG9zZVBhbmVsJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsb3NlXCI+PC9wcnktaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxoMyBjbGFzcz1cImEtaDNcIj5cbiAgICAgIHt7ICdAcHJ5LmFkbWluLmRhdGFzZXQuZGV0YWlscycgfCBpMThuIH19XG4gICAgPC9oMz5cbiAgPC9kaXY+XG5cbiAgPHByeS10YWItZ3JvdXAgdHJhbnNsYXRpb25TdHJpbmdCYXNlPVwiQHByeS5hZG1pbi5cIj5cbiAgICA8cHJ5LXRhYiBbdGVtcGxhdGVSZWZdPVwiZGF0YXNldE1ldGFkYXRhXCIgbmFtZT1cIm1ldGFkYXRhLnRpdGxlXCI+PC9wcnktdGFiPlxuICAgIDxwcnktdGFiIFt0ZW1wbGF0ZVJlZl09XCJkYXRhc2V0QXNzb2NpYXRpb25zXCIgbmFtZT1cImNsYXNzZXMuYXNzb2NpYXRpb25zXCI+PC9wcnktdGFiPlxuICAgIDxwcnktdGFiICpuZ0lmPVwiY2FuTW9kaWZ5JChkYXRhc2V0KSB8IGFzeW5jXCIgW3RlbXBsYXRlUmVmXT1cInNoYXJlRGF0YXNldFwiIG5hbWU9XCJzaGFyZVwiPjwvcHJ5LXRhYj5cbiAgPC9wcnktdGFiLWdyb3VwPlxuXG4gIDxuZy10ZW1wbGF0ZSAjZGF0YXNldE1ldGFkYXRhPlxuICAgIDxwcnktbWV0YWRhdGEtZWRpdG9yXG4gICAgICBbdGFyZ2V0SWRdPVwiKHNlbGVjdGVkRGF0YXNldCQgfCBhc3luYyk/LmlkID8/ICcnXCJcbiAgICAgIFtpc01vZGlmaWNhdGlvbl09XCIoZWRpdGFibGUkIHwgYXN5bmMpID8/IGZhbHNlXCJcbiAgICAgIFttZXRhZGF0YV09XCIoZGF0YXNldE1ldGFkYXRhJCB8IGFzeW5jKSA/PyBbXVwiXG4gICAgICAocmVtb3ZlTWV0YSk9XCJyZW1vdmVNZXRhZGF0YSgkZXZlbnQpXCJcbiAgICAgIChhZGRNZXRhKT1cImFkZERhdGFzZXRNZXRhZGF0YSgkZXZlbnQpXCJcbiAgICAgIFt0eXBlXT1cIidtZXRhJ1wiXG4gICAgPjwvcHJ5LW1ldGFkYXRhLWVkaXRvcj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8bmctdGVtcGxhdGUgI2RhdGFzZXRBc3NvY2lhdGlvbnM+XG4gICAgPGRpdiAqbmdJZj1cImFzc29jaWF0aW9ucyQgfCBhc3luYyBhcyBhc3NvY2lhdGlvbnNcIiBjbGFzcz1cIm8tdGFic19fcGFuZWxzX19pdGVtX19jb250ZW50XCI+XG4gICAgICA8aDQgY2xhc3M9XCJhLWg0XCI+e3sgJ0BwcnkuYWRtaW4uY2xhc3Nlcy5hc3NvY2lhdGlvbnMnIHwgaTE4biB9fTwvaDQ+XG4gICAgICA8cHJ5LWFzc29jaWF0aW9uIFthc3NvY2lhdGlvbnNdPVwiYXNzb2NpYXRpb25zXCI+PC9wcnktYXNzb2NpYXRpb24+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlICNzaGFyZURhdGFzZXQ+XG4gICAgPGRpdiBjbGFzcz1cIm8tcHJ5LWFkbWluLWRhdGFzZXQtc2VsZWN0X19zaGFyZVwiPlxuICAgICAgPHByeS1ncm91cC1zaGFyZVxuICAgICAgICBbbmdNb2RlbF09XCJkYXRhc2V0Lmdyb3Vwc1wiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZUdyb3VwKCRldmVudClcIlxuICAgICAgICAocmFkaW9WYWx1ZUNoYW5nZSk9XCJ1cGRhdGVHcm91cHMoJGV2ZW50KVwiXG4gICAgICA+PC9wcnktZ3JvdXAtc2hhcmU+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5IHUtc2VsZi1lbmRcIlxuICAgICAgICAjc3VibWl0XG4gICAgICAgIChjbGljayk9XCJzaGFyZShkYXRhc2V0KVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlU2hhcmVCdXR0b24kIHwgYXN5bmNcIlxuICAgICAgPlxuICAgICAgICB7eyAnQHByeS5hZG1pbi52YWxpZGF0ZScgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIEBpZiAoc2VsZWN0ZWREYXRhc2V0TWlzc2luZ0dyb3VwcyQgfCBhc3luYykge1xuICAgICAgICA8aDQgY2xhc3M9XCJhLWg0XCI+e3sgJ0BwcnkuYWRtaW4uZGF0YXNldC5zdWNjZXNzJyB8IGkxOG4gfX08L2g0PlxuICAgICAgfVxuICAgICAgQGlmIChtaXNzaW5nR3JvdXBzJCB8IGFzeW5jOyBhcyBtaXNzaW5nR3JvdXBzKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1LWRpc3BsYXktZmxleCAtY29sdW1uXCI+XG4gICAgICAgICAgPHNwYW4+e3sgJ0BwcnkuYWRtaW4uZGF0YXNldC5jb25mbGljdCcgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgIEBmb3IgKG1pc3Npbmcgb2YgbWlzc2luZ0dyb3VwcyB8IGtleXZhbHVlOyB0cmFjayBtaXNzaW5nLmtleSkge1xuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAge3sgJ0BwcnkuYWRtaW4uZGF0YXNldC5lbnRpdGllcy5kYXNoYm9hcmQnIHwgaTE4biB9fSA8c3Ryb25nPnt7IG1pc3NpbmcudmFsdWUuZW50aXR5TmFtZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidS1kaXNwbGF5LWZsZXhcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChncm91cCBvZiBtaXNzaW5nLnZhbHVlLmdyb3VwczsgdHJhY2sgZ3JvdXApIHtcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYS1jaGlwXCI+e3sgZ2V0R3JvdXBMYWJlbChncm91cCkgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import { PryVisibilityType } from '../share.model';
|
|
4
3
|
import { BehaviorSubject, map, combineLatest } from 'rxjs';
|
|
5
4
|
import { ConfigSelectors } from '../../../store/config/config.selectors';
|
|
6
5
|
import { ConfigActions } from '../../../store/config/config.actions';
|
|
@@ -13,6 +12,12 @@ import * as i2 from "@angular/common";
|
|
|
13
12
|
import * as i3 from "@angular/forms";
|
|
14
13
|
import * as i4 from "../../chips-selector/chips-selector.component";
|
|
15
14
|
import * as i5 from "../../../i18n/i18n.pipe";
|
|
15
|
+
export var PryShareMode;
|
|
16
|
+
(function (PryShareMode) {
|
|
17
|
+
PryShareMode["PRIVATE"] = "PRIVATE";
|
|
18
|
+
PryShareMode["PUBLIC"] = "PUBLIC";
|
|
19
|
+
PryShareMode["GROUPS"] = "GROUPS";
|
|
20
|
+
})(PryShareMode || (PryShareMode = {}));
|
|
16
21
|
export class PryGroupShareComponent extends SubscriptionnerDirective {
|
|
17
22
|
set disableRadios(value) {
|
|
18
23
|
if (value)
|
|
@@ -30,28 +35,30 @@ export class PryGroupShareComponent extends SubscriptionnerDirective {
|
|
|
30
35
|
this._onTouched = () => { };
|
|
31
36
|
// for tracking input
|
|
32
37
|
this.assignedGroupNames$ = new BehaviorSubject([]);
|
|
33
|
-
this.radioValue =
|
|
34
|
-
this.
|
|
35
|
-
this.
|
|
38
|
+
this.radioValue = PryShareMode.PRIVATE;
|
|
39
|
+
this.PryShareMode = PryShareMode;
|
|
40
|
+
this.shareModes = [];
|
|
36
41
|
this._disableRadios$ = new BehaviorSubject({
|
|
37
|
-
[
|
|
38
|
-
[
|
|
39
|
-
[
|
|
42
|
+
[PryShareMode.PRIVATE]: false,
|
|
43
|
+
[PryShareMode.PUBLIC]: false,
|
|
44
|
+
[PryShareMode.GROUPS]: false
|
|
40
45
|
});
|
|
41
46
|
this._allowedGroups$ = new BehaviorSubject(undefined);
|
|
42
47
|
this.radioValueChange = new EventEmitter();
|
|
43
48
|
this.store.dispatch(ConfigActions.loadAccessGroups());
|
|
44
49
|
this.groups$ = combineLatest([this.store.select(ConfigSelectors.accessGroups), this._allowedGroups$]).pipe(map(([groups, allowedGroups]) => groups
|
|
45
|
-
.filter((group) => group.name !==
|
|
46
|
-
.filter((group) => allowedGroups?.includes(PUBLIC_GROUP) ||
|
|
50
|
+
.filter((group) => group.name !== PUBLIC_GROUP)
|
|
51
|
+
.filter((group) => allowedGroups?.includes(PUBLIC_GROUP) ||
|
|
52
|
+
allowedGroups?.includes(AUTHENTICATED_USERS_GROUP) ||
|
|
53
|
+
!allowedGroups
|
|
47
54
|
? true
|
|
48
55
|
: allowedGroups.includes(group.name))));
|
|
49
56
|
this.assignedGroups$ = combineLatest([this.groups$, this.assignedGroupNames$]).pipe(map(([groups, groupNames]) => groups.filter((group) => {
|
|
50
57
|
return groupNames.includes(group.name);
|
|
51
58
|
}) ?? []));
|
|
52
|
-
this.
|
|
59
|
+
this.shareModes = Object.keys(PryShareMode).map((label) => ({
|
|
53
60
|
label: label.toLowerCase(),
|
|
54
|
-
value:
|
|
61
|
+
value: PryShareMode[label]
|
|
55
62
|
}));
|
|
56
63
|
this.templateData$ = combineLatest([this.groups$, this.assignedGroups$, this._disableRadios$]).pipe(map(([groups, assignedGroups, disableRadios]) => ({ groups, assignedGroups, disableRadios })));
|
|
57
64
|
}
|
|
@@ -73,13 +80,13 @@ export class PryGroupShareComponent extends SubscriptionnerDirective {
|
|
|
73
80
|
}
|
|
74
81
|
updateRadioValue(groups) {
|
|
75
82
|
if (groups.length === 0) {
|
|
76
|
-
this.radioValue =
|
|
83
|
+
this.radioValue = PryShareMode.PRIVATE;
|
|
77
84
|
}
|
|
78
|
-
else if (groups.length === 1 && groups.find((group) => group ===
|
|
79
|
-
this.radioValue =
|
|
85
|
+
else if (groups.length === 1 && groups.find((group) => group === PUBLIC_GROUP)) {
|
|
86
|
+
this.radioValue = PryShareMode.PUBLIC;
|
|
80
87
|
}
|
|
81
88
|
else {
|
|
82
|
-
this.radioValue =
|
|
89
|
+
this.radioValue = PryShareMode.GROUPS;
|
|
83
90
|
}
|
|
84
91
|
}
|
|
85
92
|
changeGroupsBasedOnRadioValue(type) {
|
|
@@ -87,13 +94,13 @@ export class PryGroupShareComponent extends SubscriptionnerDirective {
|
|
|
87
94
|
this.radioValue = type;
|
|
88
95
|
this.radioValueChange.emit(type);
|
|
89
96
|
switch (type) {
|
|
90
|
-
case
|
|
97
|
+
case PryShareMode.PRIVATE:
|
|
91
98
|
this.changeGroups([]);
|
|
92
99
|
break;
|
|
93
|
-
case
|
|
100
|
+
case PryShareMode.GROUPS:
|
|
94
101
|
this.changeGroups(this.assignedGroupNames$.getValue() ?? []);
|
|
95
102
|
break;
|
|
96
|
-
case
|
|
103
|
+
case PryShareMode.PUBLIC:
|
|
97
104
|
this.changeGroups(['ALL']);
|
|
98
105
|
break;
|
|
99
106
|
}
|
|
@@ -113,7 +120,7 @@ export class PryGroupShareComponent extends SubscriptionnerDirective {
|
|
|
113
120
|
useExisting: forwardRef(() => PryGroupShareComponent),
|
|
114
121
|
multi: true
|
|
115
122
|
}
|
|
116
|
-
], usesInheritance: true, ngImport: i0, template: "@if (templateData$ | async; as data) {\n <div class=\"m-form-radio-group\">\n <div *ngFor=\"let type of
|
|
123
|
+
], usesInheritance: true, ngImport: i0, template: "@if (templateData$ | async; as data) {\n <div class=\"m-form-radio-group\">\n <div *ngFor=\"let type of shareModes\" class=\"m-form-radio-group__item\">\n <input\n type=\"radio\"\n name=\"visibility\"\n [id]=\"type.label\"\n [value]=\"type.value\"\n [ngModel]=\"radioValue\"\n (ngModelChange)=\"changeGroupsBasedOnRadioValue($event)\"\n [disabled]=\"data.disableRadios[type.value]\"\n />\n <label [for]=\"type.label\" class=\"a-label\" [class.a-label--disabled]=\"data.disableRadios[type.value]\">\n {{ '@pry.share.' + type.label | i18n }}\n </label>\n </div>\n </div>\n @if (radioValue === PryShareMode.GROUPS) {\n @if (data.groups.length > 0) {\n <pry-chips-selector\n bindLabel=\"name\"\n bindValue=\"name\"\n translationStringBase=\"@pry.components.chipsSelector.share.\"\n itemTranslationStringBase=\"@pry.components.chipsSelector.share.groups.\"\n [showActionButtons]=\"false\"\n [items]=\"data.groups\"\n (itemsChanged)=\"changeGroups($event)\"\n [usedItems]=\"data.assignedGroups\"\n [showSearchbar]=\"data.groups.length > 6\"\n ></pry-chips-selector>\n } @else {\n <p class=\"m-text--center\">\n {{ '@pry.share.noGroups' | i18n }}\n </p>\n }\n }\n}\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { 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.ChipsSelectorComponent, selector: "pry-chips-selector", inputs: ["bindValue", "bindLabel", "translationStringBase", "itemTranslationStringBase", "showActionButtons", "showSearchbar", "items", "usedItems"], outputs: ["cancel", "validated", "previousTab", "nextTab", "itemsChanged"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
117
124
|
}
|
|
118
125
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryGroupShareComponent, decorators: [{
|
|
119
126
|
type: Component,
|
|
@@ -123,7 +130,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
123
130
|
useExisting: forwardRef(() => PryGroupShareComponent),
|
|
124
131
|
multi: true
|
|
125
132
|
}
|
|
126
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (templateData$ | async; as data) {\n <div class=\"m-form-radio-group\">\n <div *ngFor=\"let type of
|
|
133
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (templateData$ | async; as data) {\n <div class=\"m-form-radio-group\">\n <div *ngFor=\"let type of shareModes\" class=\"m-form-radio-group__item\">\n <input\n type=\"radio\"\n name=\"visibility\"\n [id]=\"type.label\"\n [value]=\"type.value\"\n [ngModel]=\"radioValue\"\n (ngModelChange)=\"changeGroupsBasedOnRadioValue($event)\"\n [disabled]=\"data.disableRadios[type.value]\"\n />\n <label [for]=\"type.label\" class=\"a-label\" [class.a-label--disabled]=\"data.disableRadios[type.value]\">\n {{ '@pry.share.' + type.label | i18n }}\n </label>\n </div>\n </div>\n @if (radioValue === PryShareMode.GROUPS) {\n @if (data.groups.length > 0) {\n <pry-chips-selector\n bindLabel=\"name\"\n bindValue=\"name\"\n translationStringBase=\"@pry.components.chipsSelector.share.\"\n itemTranslationStringBase=\"@pry.components.chipsSelector.share.groups.\"\n [showActionButtons]=\"false\"\n [items]=\"data.groups\"\n (itemsChanged)=\"changeGroups($event)\"\n [usedItems]=\"data.assignedGroups\"\n [showSearchbar]=\"data.groups.length > 6\"\n ></pry-chips-selector>\n } @else {\n <p class=\"m-text--center\">\n {{ '@pry.share.noGroups' | i18n }}\n </p>\n }\n }\n}\n" }]
|
|
127
134
|
}], ctorParameters: () => [{ type: i1.Store }, { type: i0.ChangeDetectorRef }], propDecorators: { disableRadios: [{
|
|
128
135
|
type: Input
|
|
129
136
|
}], allowedGroups: [{
|
|
@@ -131,4 +138,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
131
138
|
}], radioValueChange: [{
|
|
132
139
|
type: Output
|
|
133
140
|
}] } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtc2hhcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvY29tcG9uZW50cy9zaGFyZS9ncm91cC1zaGFyZS9ncm91cC1zaGFyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NoYXJlL2dyb3VwLXNoYXJlL2dyb3VwLXNoYXJlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFTLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDdEcsT0FBTyxLQUFLLE1BQU0scUJBQXFCLENBQUM7QUFDeEMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBY3pFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx3QkFBd0I7SUF5QmxFLElBQWEsYUFBYSxDQUFDLEtBQXFEO1FBQzlFLElBQUksS0FBSztZQUFFLElBQUksQ0FB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S0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4RixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQzs4R0E1SFUsc0JBQXNCO2tHQUF0QixzQkFBc0IseUtBVHRCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztnQkFDckQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQzVCSCxnMUNBcUNBOzsyRkROYSxzQkFBc0I7a0JBWmxDLFNBQVM7K0JBQ0UsaUJBQWlCLGFBRWhCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDOzRCQUNyRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTswR0EyQmxDLGFBQWE7c0JBQXpCLEtBQUs7Z0JBS08sYUFBYTtzQkFBekIsS0FBSztnQkFJSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgR3JvdXAsIFByeVZpc2liaWxpdHlUeXBlIH0gZnJvbSAnLi4vc2hhcmUubW9kZWwnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvY29uZmlnL2NvbmZpZy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgQ29uZmlnQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2NvbmZpZy9jb25maWcuYWN0aW9ucyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXNoYm9hcmQvY29tcG9uZW50cy9zdWJzY3JpcHRpb25uZXIuZGlyZWN0aXZlJztcbmltcG9ydCBlcXVhbCBmcm9tICdmYXN0LWRlZXAtZXF1YWwvZXM2JztcbmltcG9ydCB7IEFVVEhFTlRJQ0FURURfVVNFUlNfR1JPVVAsIFBVQkxJQ19HUk9VUCB9IGZyb20gJy4uL3NoYXJlLnV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWdyb3VwLXNoYXJlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyb3VwLXNoYXJlLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQcnlHcm91cFNoYXJlQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQcnlHcm91cFNoYXJlQ29tcG9uZW50IGV4dGVuZHMgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIF9vbkNoYW5nZSA9IChncm91cHM6IHN0cmluZ1tdKSA9PiBncm91cHM7XG4gIHByaXZhdGUgX29uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gIC8vIGZvciB0cmFja2luZyBpbnB1dFxuICBhc3NpZ25lZEdyb3VwTmFtZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXT4oW10pO1xuXG4gIHJhZGlvVmFsdWUgPSBQcnlWaXNpYmlsaXR5VHlwZS5QUklWQVRFO1xuICBhc3NpZ25lZEdyb3VwcyQ6IE9ic2VydmFibGU8R3JvdXBbXT47XG4gIGdyb3VwcyQ6IE9ic2VydmFibGU8R3JvdXBbXT47XG4gIFByeVZpc2liaWxpdHlUeXBlID0gUHJ5VmlzaWJpbGl0eVR5cGU7XG4gIHZpc2liaWxpdHlUeXBlczogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogUHJ5VmlzaWJpbGl0eVR5cGUgfVtdID0gW107XG4gIHRlbXBsYXRlRGF0YSQ6IE9ic2VydmFibGU8e1xuICAgIGdyb3VwczogR3JvdXBbXTtcbiAgICBhc3NpZ25lZEdyb3VwczogR3JvdXBbXTtcbiAgICBkaXNhYmxlUmFkaW9zOiB7IFtrZXkgaW4gUHJ5VmlzaWJpbGl0eVR5cGVdOiBib29sZWFuIH07XG4gIH0+O1xuXG4gIF9kaXNhYmxlUmFkaW9zJDogQmVoYXZpb3JTdWJqZWN0PHsgW2tleSBpbiBQcnlWaXNpYmlsaXR5VHlwZV06IGJvb2xlYW4gfT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHtcbiAgICBba2V5IGluIFByeVZpc2liaWxpdHlUeXBlXTogYm9vbGVhbjtcbiAgfT4oe1xuICAgIFtQcnlWaXNpYmlsaXR5VHlwZS5QUklWQVRFXTogZmFsc2UsXG4gICAgW1ByeVZpc2liaWxpdHlUeXBlLlJFU1RSSUNURURdOiBmYWxzZSxcbiAgICBbUHJ5VmlzaWJpbGl0eVR5cGUuUFVCTElDXTogZmFsc2VcbiAgfSk7XG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlUmFkaW9zKHZhbHVlOiB7IFtrZXkgaW4gUHJ5VmlzaWJpbGl0eVR5cGVdOiBib29sZWFuIH0gfCBudWxsKSB7XG4gICAgaWYgKHZhbHVlKSB0aGlzLl9kaXNhYmxlUmFkaW9zJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIF9hbGxvd2VkR3JvdXBzJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdIHwgdW5kZWZpbmVkPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIEBJbnB1dCgpIHNldCBhbGxvd2VkR3JvdXBzKHZhbHVlOiBzdHJpbmdbXSB8IG51bGwpIHtcbiAgICBpZiAodmFsdWUpIHRoaXMuX2FsbG93ZWRHcm91cHMkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgQE91dHB1dCgpIHJhZGlvVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFByeVZpc2liaWxpdHlUeXBlPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5sb2FkQWNjZXNzR3JvdXBzKCkpO1xuICAgIHRoaXMuZ3JvdXBzJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5hY2Nlc3NHcm91cHMpLCB0aGlzLl9hbGxvd2VkR3JvdXBzJF0pLnBpcGUoXG4gICAgICBtYXAoKFtncm91cHMsIGFsbG93ZWRHcm91cHNdKSA9PlxuICAgICAgICBncm91cHNcbiAgICAgICAgICAuZmlsdGVyKChncm91cCkgPT4gZ3JvdXAubmFtZSAhPT0gJ0FMTCcpXG4gICAgICAgICAgLmZpbHRlcigoZ3JvdXApID0+XG4gICAgICAgICAgICBhbGxvd2VkR3JvdXBzPy5pbmNsdWRlcyhQVUJMSUNfR1JPVVApIHx8IGFsbG93ZWRHcm91cHM/LmluY2x1ZGVzKEFVVEhFTlRJQ0FURURfVVNFUlNfR1JPVVApIHx8ICFhbGxvd2VkR3JvdXBzXG4gICAgICAgICAgICAgID8gdHJ1ZVxuICAgICAgICAgICAgICA6IGFsbG93ZWRHcm91cHMuaW5jbHVkZXMoZ3JvdXAubmFtZSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLmFzc2lnbmVkR3JvdXBzJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuZ3JvdXBzJCwgdGhpcy5hc3NpZ25lZEdyb3VwTmFtZXMkXSkucGlwZShcbiAgICAgIG1hcChcbiAgICAgICAgKFtncm91cHMsIGdyb3VwTmFtZXNdKSA9PlxuICAgICAgICAgIGdyb3Vwcy5maWx0ZXIoKGdyb3VwKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZ3JvdXBOYW1lcy5pbmNsdWRlcyhncm91cC5uYW1lKTtcbiAgICAgICAgICB9KSA/PyBbXVxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy52aXNpYmlsaXR5VHlwZXMgPSBPYmplY3Qua2V5cyhQcnlWaXNpYmlsaXR5VHlwZSkubWFwKChsYWJlbCkgPT4gKHtcbiAgICAgIGxhYmVsOiBsYWJlbC50b0xvd2VyQ2FzZSgpLFxuICAgICAgdmFsdWU6IFByeVZpc2liaWxpdHlUeXBlWzxrZXlvZiB0eXBlb2YgUHJ5VmlzaWJpbGl0eVR5cGU+bGFiZWxdXG4gICAgfSkpO1xuICAgIHRoaXMudGVtcGxhdGVEYXRhJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuZ3JvdXBzJCwgdGhpcy5hc3NpZ25lZEdyb3VwcyQsIHRoaXMuX2Rpc2FibGVSYWRpb3MkXSkucGlwZShcbiAgICAgIG1hcCgoW2dyb3VwcywgYXNzaWduZWRHcm91cHMsIGRpc2FibGVSYWRpb3NdKSA9PiAoeyBncm91cHMsIGFzc2lnbmVkR3JvdXBzLCBkaXNhYmxlUmFkaW9zIH0pKVxuICAgICk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCkge1xuICAgIHZhbHVlID0gdmFsdWUgPz8gW107XG4gICAgaWYgKCFlcXVhbCh0aGlzLmFzc2lnbmVkR3JvdXBOYW1lcyQuZ2V0VmFsdWUoKSwgdmFsdWUpKSB7XG4gICAgICB0aGlzLl9vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICB0aGlzLmFzc2lnbmVkR3JvdXBOYW1lcyQubmV4dCh2YWx1ZSk7XG4gICAgICB0aGlzLnVwZGF0ZVJhZGlvVmFsdWUodmFsdWUpO1xuICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgdXBkYXRlUmFkaW9WYWx1ZShncm91cHM6IHN0cmluZ1tdKSB7XG4gICAgaWYgKGdyb3Vwcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMucmFkaW9WYWx1ZSA9IFByeVZpc2liaWxpdHlUeXBlLlBSSVZBVEU7XG4gICAgfSBlbHNlIGlmIChncm91cHMubGVuZ3RoID09PSAxICYmIGdyb3Vwcy5maW5kKChncm91cCkgPT4gZ3JvdXAgPT09ICdBTEwnKSkge1xuICAgICAgdGhpcy5yYWRpb1ZhbHVlID0gUHJ5VmlzaWJpbGl0eVR5cGUuUFVCTElDO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJhZGlvVmFsdWUgPSBQcnlWaXNpYmlsaXR5VHlwZS5SRVNUUklDVEVEO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZUdyb3Vwc0Jhc2VkT25SYWRpb1ZhbHVlKHR5cGU6IFByeVZpc2liaWxpdHlUeXBlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmFkaW9WYWx1ZSAhPT0gdHlwZSkge1xuICAgICAgdGhpcy5yYWRpb1ZhbHVlID0gdHlwZTtcbiAgICAgIHRoaXMucmFkaW9WYWx1ZUNoYW5nZS5lbWl0KHR5cGUpO1xuXG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSBQcnlWaXNpYmlsaXR5VHlwZS5QUklWQVRFOlxuICAgICAgICAgIHRoaXMuY2hhbmdlR3JvdXBzKFtdKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBQcnlWaXNpYmlsaXR5VHlwZS5SRVNUUklDVEVEOlxuICAgICAgICAgIHRoaXMuY2hhbmdlR3JvdXBzKHRoaXMuYXNzaWduZWRHcm91cE5hbWVzJC5nZXRWYWx1ZSgpID8/IFtdKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBQcnlWaXNpYmlsaXR5VHlwZS5QVUJMSUM6XG4gICAgICAgICAgdGhpcy5jaGFuZ2VHcm91cHMoWydBTEwnXSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlR3JvdXBzKGdyb3VwczogKEdyb3VwIHwgc3RyaW5nKVtdIHwgbnVsbCkge1xuICAgIGlmIChncm91cHMpIHtcbiAgICAgIHRoaXMuX29uQ2hhbmdlKGdyb3Vwcy5tYXAoKGdyb3VwKSA9PiAodHlwZW9mIGdyb3VwID09PSAnc3RyaW5nJyA/IGdyb3VwIDogZ3JvdXAubmFtZSkpKTtcbiAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG59XG4iLCJAaWYgKHRlbXBsYXRlRGF0YSQgfCBhc3luYzsgYXMgZGF0YSkge1xuICA8ZGl2IGNsYXNzPVwibS1mb3JtLXJhZGlvLWdyb3VwXCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgdHlwZSBvZiB2aXNpYmlsaXR5VHlwZXNcIiBjbGFzcz1cIm0tZm9ybS1yYWRpby1ncm91cF9faXRlbVwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgIG5hbWU9XCJ2aXNpYmlsaXR5XCJcbiAgICAgICAgW2lkXT1cInR5cGUubGFiZWxcIlxuICAgICAgICBbdmFsdWVdPVwidHlwZS52YWx1ZVwiXG4gICAgICAgIFtuZ01vZGVsXT1cInJhZGlvVmFsdWVcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VHcm91cHNCYXNlZE9uUmFkaW9WYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRhdGEuZGlzYWJsZVJhZGlvc1t0eXBlLnZhbHVlXVwiXG4gICAgICAvPlxuICAgICAgPGxhYmVsIFtmb3JdPVwidHlwZS5sYWJlbFwiIGNsYXNzPVwiYS1sYWJlbFwiIFtjbGFzcy5hLWxhYmVsLS1kaXNhYmxlZF09XCJkYXRhLmRpc2FibGVSYWRpb3NbdHlwZS52YWx1ZV1cIj5cbiAgICAgICAge3sgJ0Bwcnkuc2hhcmUuJyArIHR5cGUubGFiZWwgfCBpMThuIH19XG4gICAgICA8L2xhYmVsPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgQGlmIChyYWRpb1ZhbHVlID09PSBQcnlWaXNpYmlsaXR5VHlwZS5SRVNUUklDVEVEKSB7XG4gICAgQGlmIChkYXRhLmdyb3Vwcy5sZW5ndGggPiAwKSB7XG4gICAgICA8cHJ5LWNoaXBzLXNlbGVjdG9yXG4gICAgICAgIGJpbmRMYWJlbD1cIm5hbWVcIlxuICAgICAgICBiaW5kVmFsdWU9XCJuYW1lXCJcbiAgICAgICAgdHJhbnNsYXRpb25TdHJpbmdCYXNlPVwiQHByeS5jb21wb25lbnRzLmNoaXBzU2VsZWN0b3Iuc2hhcmUuXCJcbiAgICAgICAgaXRlbVRyYW5zbGF0aW9uU3RyaW5nQmFzZT1cIkBwcnkuY29tcG9uZW50cy5jaGlwc1NlbGVjdG9yLnNoYXJlLmdyb3Vwcy5cIlxuICAgICAgICBbc2hvd0FjdGlvbkJ1dHRvbnNdPVwiZmFsc2VcIlxuICAgICAgICBbaXRlbXNdPVwiZGF0YS5ncm91cHNcIlxuICAgICAgICAoaXRlbXNDaGFuZ2VkKT1cImNoYW5nZUdyb3VwcygkZXZlbnQpXCJcbiAgICAgICAgW3VzZWRJdGVtc109XCJkYXRhLmFzc2lnbmVkR3JvdXBzXCJcbiAgICAgICAgW3Nob3dTZWFyY2hiYXJdPVwiZGF0YS5ncm91cHMubGVuZ3RoID4gNlwiXG4gICAgICA+PC9wcnktY2hpcHMtc2VsZWN0b3I+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8cCBjbGFzcz1cIm0tdGV4dC0tY2VudGVyXCI+XG4gICAgICAgIHt7ICdAcHJ5LnNoYXJlLm5vR3JvdXBzJyB8IGkxOG4gfX1cbiAgICAgIDwvcD5cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtc2hhcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvY29tcG9uZW50cy9zaGFyZS9ncm91cC1zaGFyZS9ncm91cC1zaGFyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NoYXJlL2dyb3VwLXNoYXJlL2dyb3VwLXNoYXJlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDdEcsT0FBTyxLQUFLLE1BQU0scUJBQXFCLENBQUM7QUFDeEMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBRXpFLE1BQU0sQ0FBTixJQUFZLFlBSVg7QUFKRCxXQUFZLFlBQVk7SUFDdEIsbUNBQW1CLENBQUE7SUFDbkIsaUNBQWlCLENBQUE7SUFDakIsaUNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUpXLFlBQVksS0FBWixZQUFZLFFBSXZCO0FBY0Qs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QUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hGLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDOzhHQTlIVSxzQkFBc0I7a0dBQXRCLHNCQUFzQix5S0FUdEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2dCQUNyRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDbENILGswQ0FxQ0E7OzJGREFhLHNCQUFzQjtrQkFabEMsU0FBUzsrQkFDRSxpQkFBaUIsYUFFaEI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUM7NEJBQ3JELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNOzBHQTJCbEMsYUFBYTtzQkFBekIsS0FBSztnQkFLTyxhQUFhO3NCQUF6QixLQUFLO2dCQUlJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBHcm91cCB9IGZyb20gJy4uL3NoYXJlLm1vZGVsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IENvbmZpZ1NlbGVjdG9ycyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2NvbmZpZy9jb25maWcuc2VsZWN0b3JzJztcbmltcG9ydCB7IENvbmZpZ0FjdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9jb25maWcvY29uZmlnLmFjdGlvbnMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGFzaGJvYXJkL2NvbXBvbmVudHMvc3Vic2NyaXB0aW9ubmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgZXF1YWwgZnJvbSAnZmFzdC1kZWVwLWVxdWFsL2VzNic7XG5pbXBvcnQgeyBBVVRIRU5USUNBVEVEX1VTRVJTX0dST1VQLCBQVUJMSUNfR1JPVVAgfSBmcm9tICcuLi9zaGFyZS51dGlscyc7XG5cbmV4cG9ydCBlbnVtIFByeVNoYXJlTW9kZSB7XG4gIFBSSVZBVEUgPSAnUFJJVkFURScsXG4gIFBVQkxJQyA9ICdQVUJMSUMnLFxuICBHUk9VUFMgPSAnR1JPVVBTJ1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktZ3JvdXAtc2hhcmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3JvdXAtc2hhcmUuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFByeUdyb3VwU2hhcmVDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFByeUdyb3VwU2hhcmVDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHByaXZhdGUgX29uQ2hhbmdlID0gKGdyb3Vwczogc3RyaW5nW10pID0+IGdyb3VwcztcbiAgcHJpdmF0ZSBfb25Ub3VjaGVkID0gKCkgPT4ge307XG5cbiAgLy8gZm9yIHRyYWNraW5nIGlucHV0XG4gIGFzc2lnbmVkR3JvdXBOYW1lcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdPihbXSk7XG5cbiAgcmFkaW9WYWx1ZSA9IFByeVNoYXJlTW9kZS5QUklWQVRFO1xuICBhc3NpZ25lZEdyb3VwcyQ6IE9ic2VydmFibGU8R3JvdXBbXT47XG4gIGdyb3VwcyQ6IE9ic2VydmFibGU8R3JvdXBbXT47XG4gIFByeVNoYXJlTW9kZSA9IFByeVNoYXJlTW9kZTtcbiAgc2hhcmVNb2RlczogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogUHJ5U2hhcmVNb2RlIH1bXSA9IFtdO1xuICB0ZW1wbGF0ZURhdGEkOiBPYnNlcnZhYmxlPHtcbiAgICBncm91cHM6IEdyb3VwW107XG4gICAgYXNzaWduZWRHcm91cHM6IEdyb3VwW107XG4gICAgZGlzYWJsZVJhZGlvczogeyBba2V5IGluIFByeVNoYXJlTW9kZV06IGJvb2xlYW4gfTtcbiAgfT47XG5cbiAgX2Rpc2FibGVSYWRpb3MkOiBCZWhhdmlvclN1YmplY3Q8eyBba2V5IGluIFByeVNoYXJlTW9kZV06IGJvb2xlYW4gfT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHtcbiAgICBba2V5IGluIFByeVNoYXJlTW9kZV06IGJvb2xlYW47XG4gIH0+KHtcbiAgICBbUHJ5U2hhcmVNb2RlLlBSSVZBVEVdOiBmYWxzZSxcbiAgICBbUHJ5U2hhcmVNb2RlLlBVQkxJQ106IGZhbHNlLFxuICAgIFtQcnlTaGFyZU1vZGUuR1JPVVBTXTogZmFsc2VcbiAgfSk7XG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlUmFkaW9zKHZhbHVlOiB7IFtrZXkgaW4gUHJ5U2hhcmVNb2RlXTogYm9vbGVhbiB9IHwgbnVsbCkge1xuICAgIGlmICh2YWx1ZSkgdGhpcy5fZGlzYWJsZVJhZGlvcyQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBfYWxsb3dlZEdyb3VwcyQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXSB8IHVuZGVmaW5lZD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBASW5wdXQoKSBzZXQgYWxsb3dlZEdyb3Vwcyh2YWx1ZTogc3RyaW5nW10gfCBudWxsKSB7XG4gICAgaWYgKHZhbHVlKSB0aGlzLl9hbGxvd2VkR3JvdXBzJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIEBPdXRwdXQoKSByYWRpb1ZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxQcnlTaGFyZU1vZGU+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmxvYWRBY2Nlc3NHcm91cHMoKSk7XG4gICAgdGhpcy5ncm91cHMkID0gY29tYmluZUxhdGVzdChbdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLmFjY2Vzc0dyb3VwcyksIHRoaXMuX2FsbG93ZWRHcm91cHMkXSkucGlwZShcbiAgICAgIG1hcCgoW2dyb3VwcywgYWxsb3dlZEdyb3Vwc10pID0+XG4gICAgICAgIGdyb3Vwc1xuICAgICAgICAgIC5maWx0ZXIoKGdyb3VwKSA9PiBncm91cC5uYW1lICE9PSBQVUJMSUNfR1JPVVApXG4gICAgICAgICAgLmZpbHRlcigoZ3JvdXApID0+XG4gICAgICAgICAgICBhbGxvd2VkR3JvdXBzPy5pbmNsdWRlcyhQVUJMSUNfR1JPVVApIHx8XG4gICAgICAgICAgICBhbGxvd2VkR3JvdXBzPy5pbmNsdWRlcyhBVVRIRU5USUNBVEVEX1VTRVJTX0dST1VQKSB8fFxuICAgICAgICAgICAgIWFsbG93ZWRHcm91cHNcbiAgICAgICAgICAgICAgPyB0cnVlXG4gICAgICAgICAgICAgIDogYWxsb3dlZEdyb3Vwcy5pbmNsdWRlcyhncm91cC5uYW1lKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuYXNzaWduZWRHcm91cHMkID0gY29tYmluZUxhdGVzdChbdGhpcy5ncm91cHMkLCB0aGlzLmFzc2lnbmVkR3JvdXBOYW1lcyRdKS5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICAoW2dyb3VwcywgZ3JvdXBOYW1lc10pID0+XG4gICAgICAgICAgZ3JvdXBzLmZpbHRlcigoZ3JvdXApID0+IHtcbiAgICAgICAgICAgIHJldHVybiBncm91cE5hbWVzLmluY2x1ZGVzKGdyb3VwLm5hbWUpO1xuICAgICAgICAgIH0pID8/IFtdXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLnNoYXJlTW9kZXMgPSBPYmplY3Qua2V5cyhQcnlTaGFyZU1vZGUpLm1hcCgobGFiZWwpID0+ICh7XG4gICAgICBsYWJlbDogbGFiZWwudG9Mb3dlckNhc2UoKSxcbiAgICAgIHZhbHVlOiBQcnlTaGFyZU1vZGVbPGtleW9mIHR5cGVvZiBQcnlTaGFyZU1vZGU+bGFiZWxdXG4gICAgfSkpO1xuICAgIHRoaXMudGVtcGxhdGVEYXRhJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuZ3JvdXBzJCwgdGhpcy5hc3NpZ25lZEdyb3VwcyQsIHRoaXMuX2Rpc2FibGVSYWRpb3MkXSkucGlwZShcbiAgICAgIG1hcCgoW2dyb3VwcywgYXNzaWduZWRHcm91cHMsIGRpc2FibGVSYWRpb3NdKSA9PiAoeyBncm91cHMsIGFzc2lnbmVkR3JvdXBzLCBkaXNhYmxlUmFkaW9zIH0pKVxuICAgICk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCkge1xuICAgIHZhbHVlID0gdmFsdWUgPz8gW107XG4gICAgaWYgKCFlcXVhbCh0aGlzLmFzc2lnbmVkR3JvdXBOYW1lcyQuZ2V0VmFsdWUoKSwgdmFsdWUpKSB7XG4gICAgICB0aGlzLl9vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICB0aGlzLmFzc2lnbmVkR3JvdXBOYW1lcyQubmV4dCh2YWx1ZSk7XG4gICAgICB0aGlzLnVwZGF0ZVJhZGlvVmFsdWUodmFsdWUpO1xuICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgdXBkYXRlUmFkaW9WYWx1ZShncm91cHM6IHN0cmluZ1tdKSB7XG4gICAgaWYgKGdyb3Vwcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMucmFkaW9WYWx1ZSA9IFByeVNoYXJlTW9kZS5QUklWQVRFO1xuICAgIH0gZWxzZSBpZiAoZ3JvdXBzLmxlbmd0aCA9PT0gMSAmJiBncm91cHMuZmluZCgoZ3JvdXApID0+IGdyb3VwID09PSBQVUJMSUNfR1JPVVApKSB7XG4gICAgICB0aGlzLnJhZGlvVmFsdWUgPSBQcnlTaGFyZU1vZGUuUFVCTElDO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJhZGlvVmFsdWUgPSBQcnlTaGFyZU1vZGUuR1JPVVBTO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZUdyb3Vwc0Jhc2VkT25SYWRpb1ZhbHVlKHR5cGU6IFByeVNoYXJlTW9kZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJhZGlvVmFsdWUgIT09IHR5cGUpIHtcbiAgICAgIHRoaXMucmFkaW9WYWx1ZSA9IHR5cGU7XG4gICAgICB0aGlzLnJhZGlvVmFsdWVDaGFuZ2UuZW1pdCh0eXBlKTtcblxuICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgUHJ5U2hhcmVNb2RlLlBSSVZBVEU6XG4gICAgICAgICAgdGhpcy5jaGFuZ2VHcm91cHMoW10pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFByeVNoYXJlTW9kZS5HUk9VUFM6XG4gICAgICAgICAgdGhpcy5jaGFuZ2VHcm91cHModGhpcy5hc3NpZ25lZEdyb3VwTmFtZXMkLmdldFZhbHVlKCkgPz8gW10pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFByeVNoYXJlTW9kZS5QVUJMSUM6XG4gICAgICAgICAgdGhpcy5jaGFuZ2VHcm91cHMoWydBTEwnXSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlR3JvdXBzKGdyb3VwczogKEdyb3VwIHwgc3RyaW5nKVtdIHwgbnVsbCkge1xuICAgIGlmIChncm91cHMpIHtcbiAgICAgIHRoaXMuX29uQ2hhbmdlKGdyb3Vwcy5tYXAoKGdyb3VwKSA9PiAodHlwZW9mIGdyb3VwID09PSAnc3RyaW5nJyA/IGdyb3VwIDogZ3JvdXAubmFtZSkpKTtcbiAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG59XG4iLCJAaWYgKHRlbXBsYXRlRGF0YSQgfCBhc3luYzsgYXMgZGF0YSkge1xuICA8ZGl2IGNsYXNzPVwibS1mb3JtLXJhZGlvLWdyb3VwXCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgdHlwZSBvZiBzaGFyZU1vZGVzXCIgY2xhc3M9XCJtLWZvcm0tcmFkaW8tZ3JvdXBfX2l0ZW1cIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICBuYW1lPVwidmlzaWJpbGl0eVwiXG4gICAgICAgIFtpZF09XCJ0eXBlLmxhYmVsXCJcbiAgICAgICAgW3ZhbHVlXT1cInR5cGUudmFsdWVcIlxuICAgICAgICBbbmdNb2RlbF09XCJyYWRpb1ZhbHVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlR3JvdXBzQmFzZWRPblJhZGlvVmFsdWUoJGV2ZW50KVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkYXRhLmRpc2FibGVSYWRpb3NbdHlwZS52YWx1ZV1cIlxuICAgICAgLz5cbiAgICAgIDxsYWJlbCBbZm9yXT1cInR5cGUubGFiZWxcIiBjbGFzcz1cImEtbGFiZWxcIiBbY2xhc3MuYS1sYWJlbC0tZGlzYWJsZWRdPVwiZGF0YS5kaXNhYmxlUmFkaW9zW3R5cGUudmFsdWVdXCI+XG4gICAgICAgIHt7ICdAcHJ5LnNoYXJlLicgKyB0eXBlLmxhYmVsIHwgaTE4biB9fVxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIEBpZiAocmFkaW9WYWx1ZSA9PT0gUHJ5U2hhcmVNb2RlLkdST1VQUykge1xuICAgIEBpZiAoZGF0YS5ncm91cHMubGVuZ3RoID4gMCkge1xuICAgICAgPHByeS1jaGlwcy1zZWxlY3RvclxuICAgICAgICBiaW5kTGFiZWw9XCJuYW1lXCJcbiAgICAgICAgYmluZFZhbHVlPVwibmFtZVwiXG4gICAgICAgIHRyYW5zbGF0aW9uU3RyaW5nQmFzZT1cIkBwcnkuY29tcG9uZW50cy5jaGlwc1NlbGVjdG9yLnNoYXJlLlwiXG4gICAgICAgIGl0ZW1UcmFuc2xhdGlvblN0cmluZ0Jhc2U9XCJAcHJ5LmNvbXBvbmVudHMuY2hpcHNTZWxlY3Rvci5zaGFyZS5ncm91cHMuXCJcbiAgICAgICAgW3Nob3dBY3Rpb25CdXR0b25zXT1cImZhbHNlXCJcbiAgICAgICAgW2l0ZW1zXT1cImRhdGEuZ3JvdXBzXCJcbiAgICAgICAgKGl0ZW1zQ2hhbmdlZCk9XCJjaGFuZ2VHcm91cHMoJGV2ZW50KVwiXG4gICAgICAgIFt1c2VkSXRlbXNdPVwiZGF0YS5hc3NpZ25lZEdyb3Vwc1wiXG4gICAgICAgIFtzaG93U2VhcmNoYmFyXT1cImRhdGEuZ3JvdXBzLmxlbmd0aCA+IDZcIlxuICAgICAgPjwvcHJ5LWNoaXBzLXNlbGVjdG9yPlxuICAgIH0gQGVsc2Uge1xuICAgICAgPHAgY2xhc3M9XCJtLXRleHQtLWNlbnRlclwiPlxuICAgICAgICB7eyAnQHByeS5zaGFyZS5ub0dyb3VwcycgfCBpMThuIH19XG4gICAgICA8L3A+XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,29 +1,24 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, forwardRef, Input } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import
|
|
4
|
-
import { PryVisibilityType } from '../share.model';
|
|
3
|
+
import { PUBLIC_GROUP } from '../share.utils';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/
|
|
7
|
-
import * as i2 from "
|
|
8
|
-
import * as i3 from "
|
|
9
|
-
import * as i4 from "../../../i18n/i18n.pipe";
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
import * as i2 from "../../select/select.component";
|
|
7
|
+
import * as i3 from "../../../i18n/i18n.pipe";
|
|
10
8
|
export class PryShareComponent {
|
|
11
9
|
constructor(_cd) {
|
|
12
10
|
this._cd = _cd;
|
|
13
11
|
this._onChange = (_) => { };
|
|
14
12
|
this._onTouched = () => { };
|
|
15
13
|
this._disabled = false;
|
|
16
|
-
this.
|
|
14
|
+
this.value = [];
|
|
15
|
+
this.stringValue = 'private';
|
|
17
16
|
this.labelProperty = 'label';
|
|
18
17
|
this.valueProperty = 'value';
|
|
19
|
-
this.
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
this.visibilityTypes = Object.keys(PryVisibilityType)
|
|
24
|
-
.filter((x) => !(parseInt(x) >= 0))
|
|
25
|
-
.filter((x) => (!this.users$ ? x !== PryVisibilityType.RESTRICTED : true))
|
|
26
|
-
.map((label) => ({ label: label.toLowerCase(), value: label, icon: `${label.toLowerCase()}` }));
|
|
18
|
+
this.visibilityTypes = [
|
|
19
|
+
{ name: 'public', icon: 'public' },
|
|
20
|
+
{ name: 'private', icon: 'private' }
|
|
21
|
+
];
|
|
27
22
|
}
|
|
28
23
|
registerOnChange(fn) {
|
|
29
24
|
this._onChange = fn;
|
|
@@ -35,32 +30,29 @@ export class PryShareComponent {
|
|
|
35
30
|
this._disabled = isDisabled;
|
|
36
31
|
this._cd.markForCheck();
|
|
37
32
|
}
|
|
38
|
-
|
|
39
|
-
if (
|
|
40
|
-
this.
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
writeValueType(type) {
|
|
44
|
-
if (this.value?.type !== type) {
|
|
45
|
-
this.writeValue({ type, users: this.value?.users });
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
writeValue(obj) {
|
|
49
|
-
if (!equal(this.value, obj)) {
|
|
50
|
-
this.value = obj;
|
|
33
|
+
writeValue(value) {
|
|
34
|
+
if (value) {
|
|
35
|
+
this.value = value;
|
|
36
|
+
this.stringValue = value.length > 0 ? 'public' : 'private';
|
|
51
37
|
this._onChange(this.value);
|
|
52
38
|
this._onTouched();
|
|
53
39
|
this._cd.markForCheck();
|
|
54
40
|
}
|
|
55
41
|
}
|
|
42
|
+
onChange($event) {
|
|
43
|
+
this.value = $event === 'public' ? [PUBLIC_GROUP] : [];
|
|
44
|
+
this.writeValue(this.value);
|
|
45
|
+
this._onTouched();
|
|
46
|
+
this._cd.markForCheck();
|
|
47
|
+
}
|
|
56
48
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryShareComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
57
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryShareComponent, selector: "pry-share", inputs: {
|
|
49
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryShareComponent, selector: "pry-share", inputs: { labelProperty: "labelProperty", valueProperty: "valueProperty" }, providers: [
|
|
58
50
|
{
|
|
59
51
|
provide: NG_VALUE_ACCESSOR,
|
|
60
52
|
useExisting: forwardRef(() => PryShareComponent),
|
|
61
53
|
multi: true
|
|
62
54
|
}
|
|
63
|
-
], ngImport: i0, template: "<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"share_type\">{{ '@pry.share.type' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"
|
|
55
|
+
], ngImport: i0, template: "<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"share_type\">{{ '@pry.share.type' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"onChange($event)\"\n [items]=\"visibilityTypes\"\n [ngModel]=\"stringValue\"\n [disabled]=\"_disabled\"\n i18nPrefix=\"@pry.share.\"\n bindValue=\"name\"\n bindLabel=\"name\"\n bindIcon=\"icon\"\n id=\"share_type\"\n [iconSize]=\"[21, 18]\"\n ></pry-select>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
64
56
|
}
|
|
65
57
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryShareComponent, decorators: [{
|
|
66
58
|
type: Component,
|
|
@@ -70,14 +62,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
70
62
|
useExisting: forwardRef(() => PryShareComponent),
|
|
71
63
|
multi: true
|
|
72
64
|
}
|
|
73
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"share_type\">{{ '@pry.share.type' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"
|
|
74
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: {
|
|
75
|
-
type: Input
|
|
76
|
-
}], labelProperty: [{
|
|
65
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"share_type\">{{ '@pry.share.type' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"onChange($event)\"\n [items]=\"visibilityTypes\"\n [ngModel]=\"stringValue\"\n [disabled]=\"_disabled\"\n i18nPrefix=\"@pry.share.\"\n bindValue=\"name\"\n bindLabel=\"name\"\n bindIcon=\"icon\"\n id=\"share_type\"\n [iconSize]=\"[21, 18]\"\n ></pry-select>\n</div>\n" }]
|
|
66
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { labelProperty: [{
|
|
77
67
|
type: Input
|
|
78
68
|
}], valueProperty: [{
|
|
79
69
|
type: Input
|
|
80
|
-
}], users$: [{
|
|
81
|
-
type: Input
|
|
82
70
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvY29tcG9uZW50cy9zaGFyZS9sZWdhY3ktc2hhcmUvc2hhcmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvY29tcG9uZW50cy9zaGFyZS9sZWdhY3ktc2hhcmUvc2hhcmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQWM5QyxNQUFNLE9BQU8saUJBQWlCO0lBYTVCLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBWmxDLGNBQVMsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQzNCLGVBQVUsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDOUIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixVQUFLLEdBQWEsRUFBRSxDQUFDO1FBQ3JCLGdCQUFXLEdBQXlCLFNBQVMsQ0FBQztRQUNyQyxrQkFBYSxHQUFHLE9BQU8sQ0FBQztRQUN4QixrQkFBYSxHQUFHLE9BQU8sQ0FBQztRQUNqQyxvQkFBZSxHQUFxQztZQUNsRCxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUNsQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtTQUNyQyxDQUFDO0lBRTJDLENBQUM7SUFFOUMsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWU7UUFDeEIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzNELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQWM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs4R0EzQ1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsZ0hBVGpCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDaEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQ2JILHdjQWVBOzsyRkRDYSxpQkFBaUI7a0JBWjdCLFNBQVM7K0JBQ0UsV0FBVyxhQUVWO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDOzRCQUNoRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTtzRkFRdEMsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQVUJMSUNfR1JPVVAgfSBmcm9tICcuLi9zaGFyZS51dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1zaGFyZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaGFyZS5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUHJ5U2hhcmVDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFByeVNoYXJlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIF9vbkNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuICBwcml2YXRlIF9vblRvdWNoZWQgPSAoKSA9PiB7fTtcbiAgX2Rpc2FibGVkID0gZmFsc2U7XG4gIHZhbHVlOiBzdHJpbmdbXSA9IFtdO1xuICBzdHJpbmdWYWx1ZTogJ3ByaXZhdGUnIHwgJ3B1YmxpYycgPSAncHJpdmF0ZSc7XG4gIEBJbnB1dCgpIGxhYmVsUHJvcGVydHkgPSAnbGFiZWwnO1xuICBASW5wdXQoKSB2YWx1ZVByb3BlcnR5ID0gJ3ZhbHVlJztcbiAgdmlzaWJpbGl0eVR5cGVzOiB7IG5hbWU6IHN0cmluZzsgaWNvbjogc3RyaW5nIH1bXSA9IFtcbiAgICB7IG5hbWU6ICdwdWJsaWMnLCBpY29uOiAncHVibGljJyB9LFxuICAgIHsgbmFtZTogJ3ByaXZhdGUnLCBpY29uOiAncHJpdmF0ZScgfVxuICBdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nW10pIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuc3RyaW5nVmFsdWUgPSB2YWx1ZS5sZW5ndGggPiAwID8gJ3B1YmxpYycgOiAncHJpdmF0ZSc7XG4gICAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgb25DaGFuZ2UoJGV2ZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLnZhbHVlID0gJGV2ZW50ID09PSAncHVibGljJyA/IFtQVUJMSUNfR1JPVVBdIDogW107XG4gICAgdGhpcy53cml0ZVZhbHVlKHRoaXMudmFsdWUpO1xuICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJzaGFyZV90eXBlXCI+e3sgJ0Bwcnkuc2hhcmUudHlwZScgfCBpMThuIH19PC9sYWJlbD5cbiAgPHByeS1zZWxlY3RcbiAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICBbaXRlbXNdPVwidmlzaWJpbGl0eVR5cGVzXCJcbiAgICBbbmdNb2RlbF09XCJzdHJpbmdWYWx1ZVwiXG4gICAgW2Rpc2FibGVkXT1cIl9kaXNhYmxlZFwiXG4gICAgaTE4blByZWZpeD1cIkBwcnkuc2hhcmUuXCJcbiAgICBiaW5kVmFsdWU9XCJuYW1lXCJcbiAgICBiaW5kTGFiZWw9XCJuYW1lXCJcbiAgICBiaW5kSWNvbj1cImljb25cIlxuICAgIGlkPVwic2hhcmVfdHlwZVwiXG4gICAgW2ljb25TaXplXT1cIlsyMSwgMThdXCJcbiAgPjwvcHJ5LXNlbGVjdD5cbjwvZGl2PlxuIl19
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
PryVisibilityType["PRIVATE"] = "PRIVATE";
|
|
4
|
-
PryVisibilityType["PUBLIC"] = "PUBLIC";
|
|
5
|
-
PryVisibilityType["RESTRICTED"] = "RESTRICTED";
|
|
6
|
-
})(PryVisibilityType || (PryVisibilityType = {}));
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NoYXJlL3NoYXJlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGlCQUlYO0FBSkQsV0FBWSxpQkFBaUI7SUFDM0Isd0NBQW1CLENBQUE7SUFDbkIsc0NBQWlCLENBQUE7SUFDakIsOENBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQUpXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFJNUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBQcnlWaXNpYmlsaXR5VHlwZSB7XG4gIFBSSVZBVEUgPSAnUFJJVkFURScsXG4gIFBVQkxJQyA9ICdQVUJMSUMnLFxuICBSRVNUUklDVEVEID0gJ1JFU1RSSUNURUQnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXAge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHN5c3RlbTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaXNzaW5nR3JvdXBzQnlFbnRpdHkge1xuICAvLyBVVUlEOiBbZ3JvdXAxLCBncm91cDIsIC4uLl1cbiAgW2tleTogc3RyaW5nXTogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hhcmVDb25mbGljdCB7XG4gIG1pc3NpbmdHcm91cHNCeUVudGl0eTogTWlzc2luZ0dyb3Vwc0J5RW50aXR5O1xufVxuXG4vLyBUT0RPIHJlbW92ZSB3aGVuIHJlbW92ZWQgYWxsIHVzYWdlcyAoZGFzaGJvYXJkcywgcmVzdGl0dXRpb25zLCB3aWRnZXRzKVxuZXhwb3J0IGludGVyZmFjZSBQcnlWaXNpYmlsaXR5IHtcbiAgdHlwZTogUHJ5VmlzaWJpbGl0eVR5cGU7XG4gIHVzZXJzPzogYW55W107XG59XG4iXX0=
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NoYXJlL3NoYXJlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEdyb3VwIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBzeXN0ZW06IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWlzc2luZ0dyb3Vwc0J5RW50aXR5IHtcbiAgLy8gVVVJRDogW2dyb3VwMSwgZ3JvdXAyLCAuLi5dXG4gIFtrZXk6IHN0cmluZ106IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNoYXJlQ29uZmxpY3Qge1xuICBtaXNzaW5nR3JvdXBzQnlFbnRpdHk6IE1pc3NpbmdHcm91cHNCeUVudGl0eTtcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL21vZGVsL3dpZGdldC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgV2lkZ2V0IHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBpbWFnZTogc3RyaW5nO1xuICBjb250ZW50OiBzdHJpbmc7XG4gIGdyb3Vwcz86IHN0cmluZ1tdO1xuICBkYXRhc291cmNlOiBzdHJpbmdbXTtcbiAgb3duZXI/OiBib29sZWFuO1xuICBtb2RpZmljYXRpb25EYXRlOiBzdHJpbmc7XG59XG4iXX0=
|