@valtimo/object 10.6.0 → 10.8.0

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.
@@ -24,11 +24,11 @@ import * as i3 from "@valtimo/object-management";
24
24
  import * as i4 from "@ngx-translate/core";
25
25
  import * as i5 from "@angular/router";
26
26
  import * as i6 from "ngx-toastr";
27
- import * as i7 from "@angular/common";
28
- import * as i8 from "@valtimo/components";
27
+ import * as i7 from "@valtimo/components";
28
+ import * as i8 from "@angular/common";
29
29
  import * as i9 from "carbon-components-angular";
30
30
  export class ObjectListComponent {
31
- constructor(objectService, objectColumnService, objectManagementService, translateService, router, route, toastr, translate) {
31
+ constructor(objectService, objectColumnService, objectManagementService, translateService, router, route, toastr, translate, pageTitleService) {
32
32
  this.objectService = objectService;
33
33
  this.objectColumnService = objectColumnService;
34
34
  this.objectManagementService = objectManagementService;
@@ -37,6 +37,7 @@ export class ObjectListComponent {
37
37
  this.route = route;
38
38
  this.toastr = toastr;
39
39
  this.translate = translate;
40
+ this.pageTitleService = pageTitleService;
40
41
  this.loading$ = new BehaviorSubject(true);
41
42
  this.submission$ = new BehaviorSubject({});
42
43
  this.formValid$ = new BehaviorSubject(false);
@@ -44,7 +45,16 @@ export class ObjectListComponent {
44
45
  this.disableInput$ = new BehaviorSubject(false);
45
46
  this.clearForm$ = new BehaviorSubject(false);
46
47
  this.columnType$ = new BehaviorSubject(ColumnType.DEFAULT);
47
- this.objectManagementId$ = this.route.params.pipe(map(params => params.objectManagementId));
48
+ this.objectManagementId$ = this.route.params.pipe(map(params => params.objectManagementId), tap(objectManagementId => {
49
+ if (!this._settingPageTitle && objectManagementId) {
50
+ this._settingPageTitle = true;
51
+ this.objectManagementService.getObjectById(objectManagementId).subscribe(objectType => {
52
+ if (objectType.title) {
53
+ this.pageTitleService.setCustomPageTitle(objectType.title);
54
+ }
55
+ });
56
+ }
57
+ }));
48
58
  this.refreshObjectList$ = new BehaviorSubject(null);
49
59
  this.currentPageAndSize$ = new BehaviorSubject({
50
60
  page: 0,
@@ -88,14 +98,12 @@ export class ObjectListComponent {
88
98
  : {})
89
99
  .pipe(catchError(() => handleError()));
90
100
  }
91
- else {
92
- return this.objectService
93
- .getObjectsByObjectManagementId(objectManagementId, {
94
- page: currentPage.page,
95
- size: currentPage.size,
96
- })
97
- .pipe(catchError(() => handleError()));
98
- }
101
+ return this.objectService
102
+ .getObjectsByObjectManagementId(objectManagementId, {
103
+ page: currentPage.page,
104
+ size: currentPage.size,
105
+ })
106
+ .pipe(catchError(() => handleError()));
99
107
  }), tap(instanceRes => {
100
108
  if (instanceRes != null) {
101
109
  this.pageSizes$.pipe(take(1)).subscribe(sizes => {
@@ -142,11 +150,10 @@ export class ObjectListComponent {
142
150
  }),
143
151
  ];
144
152
  }
145
- else {
146
- this.columnType$.next(ColumnType.DEFAULT);
147
- return this.setDefaultFields();
148
- }
153
+ this.columnType$.next(ColumnType.DEFAULT);
154
+ return this.setDefaultFields();
149
155
  }));
156
+ this._settingPageTitle = false;
150
157
  }
151
158
  paginationClicked(newPageNumber) {
152
159
  this.currentPageAndSize$.pipe(take(1)).subscribe(currentPage => {
@@ -246,10 +253,10 @@ export class ObjectListComponent {
246
253
  return filters;
247
254
  }
248
255
  }
249
- ObjectListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectListComponent, deps: [{ token: i1.ObjectService }, { token: i2.ObjectColumnService }, { token: i3.ObjectManagementService }, { token: i4.TranslateService }, { token: i5.Router }, { token: i5.ActivatedRoute }, { token: i6.ToastrService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
250
- ObjectListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ObjectListComponent, selector: "valtimo-object-list", ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<ng-container\n *ngIf=\"{\n loading: loading$ | async,\n pagination: pagination$ | async,\n disableInput: disableInput$ | async,\n fields: fields$ | async,\n objectConfiguration: objectConfiguration$ | async\n } as obs\"\n>\n <div class=\"main-content pt-0\">\n <div class=\"container-fluid pr-0 pl-0\">\n <div class=\"text-right\">\n <div class=\"btn-group mt-m3px mb-3 mr-0\">\n <ng-container *ngTemplateOutlet=\"buttons; context: {obs: obs}\"></ng-container>\n </div>\n </div>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"createNewModal\"></ng-container>\n</ng-container>\n\n<ng-template #buttons let-obs=\"obs\">\n <button\n (click)=\"openModal()\"\n ibmButton=\"primary\"\n size=\"md\"\n class=\"ml-3\"\n [disabled]=\"obs.disableInput || obs.loading\"\n >\n {{ 'object.createObject' | translate }}\n <svg class=\"cds--btn__icon\" ibmIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [loading]=\"obs.loading\"\n [searchFields]=\"objectSearchFields$ | async\"\n (doSearch)=\"search($event)\"\n [documentDefinitionName]=\"objectManagementId$ | async\"\n [setValuesSubject$]=\"null\"\n ></valtimo-search-fields>\n </div>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"obs.objectConfiguration\"\n [fields]=\"obs.fields\"\n [viewMode]=\"true\"\n [header]=\"true\"\n [pagination]=\"obs.pagination\"\n paginationIdentifier=\"objectConfigurationList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n (rowClicked)=\"redirectToDetails($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">\n {{ 'object.title' | translate }}\n <sup class=\"ml-1 badge badge-pill badge-primary\">{{\n obs.objectConfiguration?.length || 0\n }}</sup>\n </h3>\n </div>\n </valtimo-list>\n </valtimo-widget>\n</ng-template>\n\n<ng-template #createNewModal>\n <ibm-modal\n valtimoIbmModal\n *ngIf=\"{\n show: showModal$ | async,\n formValid: formValid$ | async,\n formDefinition: formDefinition$ | async,\n disableInput: disableInput$ | async\n } as modalObs\"\n [open]=\"modalObs.show\"\n >\n <ibm-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 ibmModalHeaderHeading>\n {{ 'object.createObject' | translate }}\n </h3>\n </ibm-modal-header>\n <section ibmModalContent>\n <ng-container *ngTemplateOutlet=\"modalContent; context: {modalObs: modalObs}\"></ng-container>\n </section>\n <ng-container *ngTemplateOutlet=\"modalFooter; context: {modalObs: modalObs}\"></ng-container>\n </ibm-modal>\n</ng-template>\n\n<ng-template #modalContent let-modalObs=\"modalObs\">\n <valtimo-form-io\n [form]=\"modalObs.formDefinition\"\n (change)=\"onFormioChange($event)\"\n ></valtimo-form-io>\n</ng-template>\n\n<ng-template #modalFooter let-modalObs=\"modalObs\">\n <ibm-modal-footer>\n <ng-container>\n <button\n ibmButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeModal()\"\n [disabled]=\"modalObs.disableInput\"\n >\n {{ 'object.close' | translate }}\n </button>\n <button\n ibmButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"addObject()\"\n [disabled]=\"modalObs.disableInput || modalObs.formValid === false\"\n >\n {{ 'object.save' | translate }}\n </button>\n </ng-container>\n </ibm-modal-footer>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"loading-icon\"><ibm-loading></ibm-loading></div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.loading-icon{display:flex;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i8.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i8.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState", "lastColumnTemplate"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { kind: "directive", type: i9.Button, selector: "[ibmButton]", inputs: ["ibmButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i9.IconDirective, selector: "[ibmIcon]", inputs: ["ibmIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i9.Loading, selector: "ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i8.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i9.Modal, selector: "ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i9.ModalHeader, selector: "ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i9.ModalFooter, selector: "ibm-modal-footer" }, { kind: "directive", type: i9.ModalContent, selector: "[ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i9.ModalHeaderHeading, selector: "[ibmModalHeaderHeading]" }, { kind: "component", type: i8.SearchFieldsComponent, selector: "valtimo-search-fields", inputs: ["loading", "searchFields", "documentDefinitionName", "setValuesSubject$", "defaultValues"], outputs: ["doSearch"] }, { kind: "directive", type: i8.ValtimoIbmModalDirective, selector: "[valtimoIbmModal]" }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
251
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectListComponent, decorators: [{
256
+ ObjectListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectListComponent, deps: [{ token: i1.ObjectService }, { token: i2.ObjectColumnService }, { token: i3.ObjectManagementService }, { token: i4.TranslateService }, { token: i5.Router }, { token: i5.ActivatedRoute }, { token: i6.ToastrService }, { token: i4.TranslateService }, { token: i7.PageTitleService }], target: i0.ɵɵFactoryTarget.Component });
257
+ ObjectListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ObjectListComponent, selector: "valtimo-object-list", ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<ng-container\n *ngIf=\"{\n loading: loading$ | async,\n pagination: pagination$ | async,\n disableInput: disableInput$ | async,\n fields: fields$ | async,\n objectConfiguration: objectConfiguration$ | async\n } as obs\"\n>\n <div class=\"main-content pt-0\">\n <div class=\"container-fluid pr-0 pl-0\">\n <div class=\"text-right\">\n <div class=\"btn-group mt-m3px mb-3 mr-0\">\n <ng-container *ngTemplateOutlet=\"buttons; context: {obs: obs}\"></ng-container>\n </div>\n </div>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"createNewModal\"></ng-container>\n</ng-container>\n\n<ng-template #buttons let-obs=\"obs\">\n <button\n (click)=\"openModal()\"\n cdsButton=\"primary\"\n size=\"md\"\n class=\"ml-3\"\n [disabled]=\"obs.disableInput || obs.loading\"\n >\n {{ 'object.createObject' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [loading]=\"obs.loading\"\n [searchFields]=\"objectSearchFields$ | async\"\n (doSearch)=\"search($event)\"\n [documentDefinitionName]=\"objectManagementId$ | async\"\n [setValuesSubject$]=\"null\"\n ></valtimo-search-fields>\n </div>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"obs.objectConfiguration\"\n [fields]=\"obs.fields\"\n [viewMode]=\"true\"\n [header]=\"true\"\n [pagination]=\"obs.pagination\"\n paginationIdentifier=\"objectConfigurationList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n (rowClicked)=\"redirectToDetails($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">\n {{ 'object.title' | translate }}\n <sup class=\"ml-1 badge badge-pill badge-primary\">{{\n obs.objectConfiguration?.length || 0\n }}</sup>\n </h3>\n </div>\n </valtimo-list>\n </valtimo-widget>\n</ng-template>\n\n<ng-template #createNewModal>\n <cds-modal\n valtimoCdsModal\n *ngIf=\"{\n show: showModal$ | async,\n formValid: formValid$ | async,\n formDefinition: formDefinition$ | async,\n disableInput: disableInput$ | async\n } as modalObs\"\n [open]=\"modalObs.show\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{ 'object.createObject' | translate }}\n </h3>\n </cds-modal-header>\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"modalContent; context: {modalObs: modalObs}\"></ng-container>\n </section>\n <ng-container *ngTemplateOutlet=\"modalFooter; context: {modalObs: modalObs}\"></ng-container>\n </cds-modal>\n</ng-template>\n\n<ng-template #modalContent let-modalObs=\"modalObs\">\n <valtimo-form-io\n [form]=\"modalObs.formDefinition\"\n (change)=\"onFormioChange($event)\"\n ></valtimo-form-io>\n</ng-template>\n\n<ng-template #modalFooter let-modalObs=\"modalObs\">\n <cds-modal-footer>\n <ng-container>\n <button\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeModal()\"\n [disabled]=\"modalObs.disableInput\"\n >\n {{ 'object.close' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"addObject()\"\n [disabled]=\"modalObs.disableInput || modalObs.formValid === false\"\n >\n {{ 'object.save' | translate }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"loading-icon\"><cds-loading></cds-loading></div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.loading-icon{display:flex;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i7.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i7.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState", "lastColumnTemplate"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { kind: "directive", type: i9.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i9.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i9.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i7.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i9.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i9.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i9.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i9.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i9.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i7.SearchFieldsComponent, selector: "valtimo-search-fields", inputs: ["loading", "searchFields", "documentDefinitionName", "setValuesSubject$", "defaultValues"], outputs: ["doSearch"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectListComponent, decorators: [{
252
259
  type: Component,
253
- args: [{ selector: 'valtimo-object-list', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<ng-container\n *ngIf=\"{\n loading: loading$ | async,\n pagination: pagination$ | async,\n disableInput: disableInput$ | async,\n fields: fields$ | async,\n objectConfiguration: objectConfiguration$ | async\n } as obs\"\n>\n <div class=\"main-content pt-0\">\n <div class=\"container-fluid pr-0 pl-0\">\n <div class=\"text-right\">\n <div class=\"btn-group mt-m3px mb-3 mr-0\">\n <ng-container *ngTemplateOutlet=\"buttons; context: {obs: obs}\"></ng-container>\n </div>\n </div>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"createNewModal\"></ng-container>\n</ng-container>\n\n<ng-template #buttons let-obs=\"obs\">\n <button\n (click)=\"openModal()\"\n ibmButton=\"primary\"\n size=\"md\"\n class=\"ml-3\"\n [disabled]=\"obs.disableInput || obs.loading\"\n >\n {{ 'object.createObject' | translate }}\n <svg class=\"cds--btn__icon\" ibmIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [loading]=\"obs.loading\"\n [searchFields]=\"objectSearchFields$ | async\"\n (doSearch)=\"search($event)\"\n [documentDefinitionName]=\"objectManagementId$ | async\"\n [setValuesSubject$]=\"null\"\n ></valtimo-search-fields>\n </div>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"obs.objectConfiguration\"\n [fields]=\"obs.fields\"\n [viewMode]=\"true\"\n [header]=\"true\"\n [pagination]=\"obs.pagination\"\n paginationIdentifier=\"objectConfigurationList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n (rowClicked)=\"redirectToDetails($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">\n {{ 'object.title' | translate }}\n <sup class=\"ml-1 badge badge-pill badge-primary\">{{\n obs.objectConfiguration?.length || 0\n }}</sup>\n </h3>\n </div>\n </valtimo-list>\n </valtimo-widget>\n</ng-template>\n\n<ng-template #createNewModal>\n <ibm-modal\n valtimoIbmModal\n *ngIf=\"{\n show: showModal$ | async,\n formValid: formValid$ | async,\n formDefinition: formDefinition$ | async,\n disableInput: disableInput$ | async\n } as modalObs\"\n [open]=\"modalObs.show\"\n >\n <ibm-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 ibmModalHeaderHeading>\n {{ 'object.createObject' | translate }}\n </h3>\n </ibm-modal-header>\n <section ibmModalContent>\n <ng-container *ngTemplateOutlet=\"modalContent; context: {modalObs: modalObs}\"></ng-container>\n </section>\n <ng-container *ngTemplateOutlet=\"modalFooter; context: {modalObs: modalObs}\"></ng-container>\n </ibm-modal>\n</ng-template>\n\n<ng-template #modalContent let-modalObs=\"modalObs\">\n <valtimo-form-io\n [form]=\"modalObs.formDefinition\"\n (change)=\"onFormioChange($event)\"\n ></valtimo-form-io>\n</ng-template>\n\n<ng-template #modalFooter let-modalObs=\"modalObs\">\n <ibm-modal-footer>\n <ng-container>\n <button\n ibmButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeModal()\"\n [disabled]=\"modalObs.disableInput\"\n >\n {{ 'object.close' | translate }}\n </button>\n <button\n ibmButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"addObject()\"\n [disabled]=\"modalObs.disableInput || modalObs.formValid === false\"\n >\n {{ 'object.save' | translate }}\n </button>\n </ng-container>\n </ibm-modal-footer>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"loading-icon\"><ibm-loading></ibm-loading></div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.loading-icon{display:flex;justify-content:center}\n"] }]
254
- }], ctorParameters: function () { return [{ type: i1.ObjectService }, { type: i2.ObjectColumnService }, { type: i3.ObjectManagementService }, { type: i4.TranslateService }, { type: i5.Router }, { type: i5.ActivatedRoute }, { type: i6.ToastrService }, { type: i4.TranslateService }]; } });
255
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9vYmplY3Qvc3JjL2xpYi9jb21wb25lbnRzL29iamVjdC1saXN0L29iamVjdC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vb2JqZWN0L3NyYy9saWIvY29tcG9uZW50cy9vYmplY3QtbGlzdC9vYmplY3QtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixHQUFHLEVBRUgsRUFBRSxFQUNGLFNBQVMsRUFDVCxVQUFVLEdBQ1gsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBSzFFLE9BQU8sRUFBQyxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7O0FBVy9ELE1BQU0sT0FBTyxtQkFBbUI7SUF1TDlCLFlBQ21CLGFBQTRCLEVBQzVCLG1CQUF3QyxFQUN4Qyx1QkFBZ0QsRUFDaEQsZ0JBQWtDLEVBQzNDLE1BQWMsRUFDZCxLQUFxQixFQUNyQixNQUFxQixFQUNyQixTQUEyQjtRQVBsQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUMzQyxXQUFNLEdBQU4sTUFBTSxD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Q0UscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBzdGFydFdpdGgsXG4gIHRocm93RXJyb3IsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBmaW5hbGl6ZSwgc3dpdGNoTWFwLCB0YWtlLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge09iamVjdFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29iamVjdC5zZXJ2aWNlJztcbmltcG9ydCB7TGlzdEZpZWxkLCBQYWdpbmF0aW9ufSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7Q29sdW1uVHlwZSwgRm9ybVR5cGV9IGZyb20gJy4uLy4uL21vZGVscy9vYmplY3QubW9kZWwnO1xuaW1wb3J0IHtUb2FzdHJTZXJ2aWNlfSBmcm9tICduZ3gtdG9hc3RyJztcbmltcG9ydCB7T2JqZWN0Q29sdW1uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvb2JqZWN0LWNvbHVtbi5zZXJ2aWNlJztcbmltcG9ydCB7T2JqZWN0TWFuYWdlbWVudFNlcnZpY2UsIFNlYXJjaENvbHVtbn0gZnJvbSAnQHZhbHRpbW8vb2JqZWN0LW1hbmFnZW1lbnQnO1xuaW1wb3J0IHtTZWFyY2hGaWVsZCwgU2VhcmNoRmllbGRWYWx1ZXMsIFNlYXJjaEZpbHRlciwgU2VhcmNoRmlsdGVyUmFuZ2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tb2JqZWN0LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vb2JqZWN0LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vYmplY3QtbGlzdC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBPYmplY3RMaXN0Q29tcG9uZW50IHtcbiAgcmVhZG9ubHkgbG9hZGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICByZWFkb25seSBzdWJtaXNzaW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55Pih7fSk7XG4gIHJlYWRvbmx5IGZvcm1WYWxpZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgc2hvd01vZGFsJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBkaXNhYmxlSW5wdXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGNsZWFyRm9ybSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgY29sdW1uVHlwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENvbHVtblR5cGU+KENvbHVtblR5cGUuREVGQVVMVCk7XG5cbiAgcmVhZG9ubHkgb2JqZWN0TWFuYWdlbWVudElkJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5yb3V0ZS5wYXJhbXMucGlwZShcbiAgICBtYXAocGFyYW1zID0+IHBhcmFtcy5vYmplY3RNYW5hZ2VtZW50SWQpXG4gICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZWZyZXNoT2JqZWN0TGlzdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bGw+KG51bGwpO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRQYWdlQW5kU2l6ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBhcnRpYWw8UGFnaW5hdGlvbj4+KHtcbiAgICBwYWdlOiAwLFxuICAgIHNpemU6IDEwLFxuICB9KTtcblxuICByZWFkb25seSBwYWdlU2l6ZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJ0aWFsPFBhZ2luYXRpb24+Pih7XG4gICAgY29sbGVjdGlvblNpemU6IDAsXG4gICAgbWF4UGFnaW5hdGlvbkl0ZW1TaXplOiA1LFxuICB9KTtcblxuICByZWFkb25seSBwYWdpbmF0aW9uJDogT2JzZXJ2YWJsZTxQYWdpbmF0aW9uPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuY3VycmVudFBhZ2VBbmRTaXplJCxcbiAgICB0aGlzLnBhZ2VTaXplcyQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKFxuICAgICAgKFtjdXJyZW50UGFnZSwgc2l6ZXNdKSA9PlxuICAgICAgICAoey4uLmN1cnJlbnRQYWdlLCAuLi5zaXplcywgcGFnZTogY3VycmVudFBhZ2UucGFnZSArIDF9IGFzIFBhZ2luYXRpb24pXG4gICAgKVxuICApO1xuXG4gIHBhZ2luYXRpb25DbGlja2VkKG5ld1BhZ2VOdW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnRQYWdlQW5kU2l6ZSQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoY3VycmVudFBhZ2UgPT4ge1xuICAgICAgdGhpcy5jdXJyZW50UGFnZUFuZFNpemUkLm5leHQoey4uLmN1cnJlbnRQYWdlLCBwYWdlOiBuZXdQYWdlTnVtYmVyIC0gMX0pO1xuICAgIH0pO1xuICB9XG5cbiAgcGFnaW5hdGlvblNldChuZXdQYWdlU2l6ZSk6IHZvaWQge1xuICAgIGlmIChuZXdQYWdlU2l6ZSkge1xuICAgICAgdGhpcy5jdXJyZW50UGFnZUFuZFNpemUkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKGN1cnJlbnRQYWdlID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZUFuZFNpemUkLm5leHQoey4uLmN1cnJlbnRQYWdlLCBzaXplOiBuZXdQYWdlU2l6ZX0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzZWFyY2hGaWVsZFZhbHVlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNlYXJjaEZpZWxkVmFsdWVzPih7fSk7XG4gIHJlYWRvbmx5IG9iamVjdFNlYXJjaEZpZWxkcyQ6IE9ic2VydmFibGU8QXJyYXk8U2VhcmNoRmllbGQ+IHwgbnVsbD4gPVxuICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudElkJC5waXBlKFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHN3aXRjaE1hcChvYmplY3RNYW5hZ2VtZW50SWQgPT5cbiAgICAgICAgdGhpcy5vYmplY3RNYW5hZ2VtZW50U2VydmljZS5nZXRTZWFyY2hGaWVsZChvYmplY3RNYW5hZ2VtZW50SWQpXG4gICAgICApLFxuICAgICAgbWFwKHNlYXJjaEZpZWxkcyA9PlxuICAgICAgICBzZWFyY2hGaWVsZHMubWFwKHNlYXJjaEZpZWxkID0+IHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgc2VhcmNoRmllbGQuZGF0YVR5cGUgPSBzZWFyY2hGaWVsZC5kYXRhVHlwZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBzZWFyY2hGaWVsZC5maWVsZFR5cGUgPSBzZWFyY2hGaWVsZC5maWVsZFR5cGUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICByZXR1cm4gc2VhcmNoRmllbGQ7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKTtcblxuICByZWFkb25seSBvYmplY3RDb25maWd1cmF0aW9uJDogT2JzZXJ2YWJsZTxBcnJheTxhbnk+PiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudElkJCxcbiAgICB0aGlzLmN1cnJlbnRQYWdlQW5kU2l6ZSQsXG4gICAgdGhpcy5jb2x1bW5UeXBlJCxcbiAgICB0aGlzLnNlYXJjaEZpZWxkVmFsdWVzJCxcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKSxcbiAgICB0aGlzLnJlZnJlc2hPYmplY3RMaXN0JCxcbiAgXSkucGlwZShcbiAgICBzd2l0Y2hNYXAoKFtvYmplY3RNYW5hZ2VtZW50SWQsIGN1cnJlbnRQYWdlLCBjb2x1bW5UeXBlLCBzZWFyY2hGaWVsZFZhbHVlc10pID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZUVycm9yID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmRpc2FibGVJbnB1dCgpO1xuICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICB9O1xuXG4gICAgICBpZiAoY29sdW1uVHlwZSA9PT0gQ29sdW1uVHlwZS5DVVNUT00pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub2JqZWN0U2VydmljZVxuICAgICAgICAgIC5wb3N0T2JqZWN0c0J5T2JqZWN0TWFuYWdlbWVudElkKFxuICAgICAgICAgICAgb2JqZWN0TWFuYWdlbWVudElkLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBwYWdlOiBjdXJyZW50UGFnZS5wYWdlLFxuICAgICAgICAgICAgICBzaXplOiBjdXJyZW50UGFnZS5zaXplLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHNlYXJjaEZpZWxkVmFsdWVzKS5sZW5ndGggPiAwXG4gICAgICAgICAgICAgID8ge290aGVyRmlsdGVyczogdGhpcy5tYXBTZWFyY2hWYWx1ZXNUb0ZpbHRlcnMoc2VhcmNoRmllbGRWYWx1ZXMpfVxuICAgICAgICAgICAgICA6IHt9XG4gICAgICAgICAgKVxuICAgICAgICAgIC5waXBlKGNhdGNoRXJyb3IoKCkgPT4gaGFuZGxlRXJyb3IoKSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub2JqZWN0U2VydmljZVxuICAgICAgICAgIC5nZXRPYmplY3RzQnlPYmplY3RNYW5hZ2VtZW50SWQob2JqZWN0TWFuYWdlbWVudElkLCB7XG4gICAgICAgICAgICBwYWdlOiBjdXJyZW50UGFnZS5wYWdlLFxuICAgICAgICAgICAgc2l6ZTogY3VycmVudFBhZ2Uuc2l6ZSxcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5waXBlKGNhdGNoRXJyb3IoKCkgPT4gaGFuZGxlRXJyb3IoKSkpO1xuICAgICAgfVxuICAgIH0pLFxuICAgIHRhcChpbnN0YW5jZVJlcyA9PiB7XG4gICAgICBpZiAoaW5zdGFuY2VSZXMgIT0gbnVsbCkge1xuICAgICAgICB0aGlzLnBhZ2VTaXplcyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoc2l6ZXMgPT4ge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICB0aGlzLnBhZ2VTaXplcyQubmV4dCh7Li4uc2l6ZXMsIGNvbGxlY3Rpb25TaXplOiBpbnN0YW5jZVJlcy50b3RhbEVsZW1lbnRzfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pLFxuICAgIG1hcChyZXMgPT5cbiAgICAgIHJlcz8uY29udGVudD8ubWFwKHJlY29yZCA9PlxuICAgICAgICByZWNvcmQ/Lml0ZW1zPy5yZWR1Y2UoXG4gICAgICAgICAgKG9iaiwgaXRlbSkgPT4gT2JqZWN0LmFzc2lnbihvYmosIHtvYmplY3RJZDogcmVjb3JkLmlkfSwge1tpdGVtLmtleV06IGl0ZW0udmFsdWV9KSxcbiAgICAgICAgICB7fVxuICAgICAgICApXG4gICAgICApXG4gICAgKSxcbiAgICB0YXAoKCkgPT4gdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKSlcbiAgKTtcblxuICByZWFkb25seSBmb3JtRGVmaW5pdGlvbiQ6IE9ic2VydmFibGU8YW55PiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudElkJCxcbiAgICB0aGlzLmNsZWFyRm9ybSQsXG4gIF0pLnBpcGUoXG4gICAgc3dpdGNoTWFwKChbb2JqZWN0TWFuYWdlbWVudElkXSkgPT5cbiAgICAgIHRoaXMub2JqZWN0U2VydmljZVxuICAgICAgICAuZ2V0UHJlZmlsbGVkT2JqZWN0RnJvbU9iamVjdFVybCh7b2JqZWN0TWFuYWdlbWVudElkLCBmb3JtVHlwZTogRm9ybVR5cGUuRURJVEZPUk19KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlUmV0cmlldmluZ0Zvcm1FcnJvcihlcnJvcik7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVJbnB1dCgpO1xuICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpLnBpcGUoc3RhcnRXaXRoKG51bGwpKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgKSxcbiAgICBtYXAocmVzID0+IHtcbiAgICAgIGlmIChyZXMgIT0gbnVsbCkge1xuICAgICAgICB0aGlzLmVuYWJsZUlucHV0KCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXM/LmZvcm1EZWZpbml0aW9uO1xuICAgIH0pLFxuICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpKVxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY29sdW1ucyQ6IE9ic2VydmFibGU8QXJyYXk8U2VhcmNoQ29sdW1uPj4gPSB0aGlzLm9iamVjdE1hbmFnZW1lbnRJZCQucGlwZShcbiAgICBzd2l0Y2hNYXAob2JqZWN0TWFuYWdlbWVudElkID0+IHRoaXMub2JqZWN0Q29sdW1uU2VydmljZS5nZXRPYmplY3RDb2x1bW5zKG9iamVjdE1hbmFnZW1lbnRJZCkpLFxuICAgIG1hcChyZXMgPT4gcmVzKVxuICApO1xuXG4gIHJlYWRvbmx5IGZpZWxkcyQ6IE9ic2VydmFibGU8QXJyYXk8TGlzdEZpZWxkPj4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmNvbHVtbnMkLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW2NvbHVtbnNdKSA9PiB7XG4gICAgICBpZiAoY29sdW1ucz8ubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLmNvbHVtblR5cGUkLm5leHQoQ29sdW1uVHlwZS5DVVNUT00pO1xuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgLi4uY29sdW1ucy5tYXAoY29sdW1uID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uS2V5ID0gYGZpZWxkTGFiZWxzLiR7Y29sdW1uLnRyYW5zbGF0aW9uS2V5fWA7XG4gICAgICAgICAgICBjb25zdCB0cmFuc2xhdGlvbiA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRyYW5zbGF0aW9uS2V5KTtcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkVHJhbnNsYXRpb24gPSB0cmFuc2xhdGlvbiAhPT0gdHJhbnNsYXRpb25LZXkgJiYgdHJhbnNsYXRpb247XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBrZXk6IGNvbHVtbi50cmFuc2xhdGlvbktleSxcbiAgICAgICAgICAgICAgbGFiZWw6IGNvbHVtbi50aXRsZSB8fCB2YWxpZFRyYW5zbGF0aW9uIHx8IGNvbHVtbi50cmFuc2xhdGlvbktleSxcbiAgICAgICAgICAgICAgc29ydGFibGU6IGNvbHVtbi5zb3J0YWJsZSxcbiAgICAgICAgICAgICAgLi4uKGNvbHVtbi52aWV3VHlwZSAmJiB7dmlld1R5cGU6IGNvbHVtbi52aWV3VHlwZX0pLFxuICAgICAgICAgICAgICAuLi4oY29sdW1uLmVudW0gJiYge2VudW06IGNvbHVtbi5lbnVtfSksXG4gICAgICAgICAgICAgIC4uLihjb2x1bW4uZm9ybWF0ICYmIHtmb3JtYXQ6IGNvbHVtbi5mb3JtYXR9KSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSksXG4gICAgICAgIF07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvbHVtblR5cGUkLm5leHQoQ29sdW1uVHlwZS5ERUZBVUxUKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0RGVmYXVsdEZpZWxkcygpO1xuICAgICAgfVxuICAgIH0pXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBvYmplY3RTZXJ2aWNlOiBPYmplY3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb2JqZWN0Q29sdW1uU2VydmljZTogT2JqZWN0Q29sdW1uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9iamVjdE1hbmFnZW1lbnRTZXJ2aWNlOiBPYmplY3RNYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHRvYXN0cjogVG9hc3RyU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZVxuICApIHt9XG5cbiAgb3Blbk1vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd01vZGFsJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgY2xvc2VNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dNb2RhbCQubmV4dChmYWxzZSk7XG4gICAgdGhpcy5jbGVhckZvcm0kLm5leHQodHJ1ZSk7XG4gIH1cblxuICBvbkZvcm1pb0NoYW5nZShmb3JtaW8pOiB2b2lkIHtcbiAgICBpZiAoZm9ybWlvLmRhdGEgIT0gbnVsbCkge1xuICAgICAgdGhpcy5zdWJtaXNzaW9uJC5uZXh0KGZvcm1pby5kYXRhKTtcbiAgICAgIHRoaXMuZm9ybVZhbGlkJC5uZXh0KGZvcm1pby5pc1ZhbGlkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWRkT2JqZWN0KCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZUlucHV0KCk7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5vYmplY3RNYW5hZ2VtZW50SWQkLCB0aGlzLnN1Ym1pc3Npb24kLCB0aGlzLmZvcm1WYWxpZCRdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIGZpbHRlcigoW29iamVjdE1hbmFnZW1lbnRJZCwgc3VibWlzc2lvbiwgZm9ybVZhbGlkXSkgPT4gZm9ybVZhbGlkKSxcbiAgICAgICAgc3dpdGNoTWFwKChbb2JqZWN0TWFuYWdlbWVudElkLCBzdWJtaXNzaW9uXSkgPT5cbiAgICAgICAgICB0aGlzLm9iamVjdFNlcnZpY2VcbiAgICAgICAgICAgIC5jcmVhdGVPYmplY3QoXG4gICAgICAgICAgICAgIHtvYmplY3RNYW5hZ2VtZW50SWR9LFxuICAgICAgICAgICAgICB7Li4udGhpcy5vYmplY3RTZXJ2aWNlLnJlbW92ZUVtcHR5U3RyaW5nVmFsdWVzRnJvbVN1Ym1pc3Npb24oc3VibWlzc2lvbil9XG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQ3JlYXRlT2JqZWN0RXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZW5hYmxlSW5wdXQoKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jbG9zZU1vZGFsKCk7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoT2JqZWN0TGlzdCgpO1xuICAgICAgICAgIHRoaXMuY2xlYXJGb3JtJC5uZXh0KHRydWUpO1xuICAgICAgICAgIHRoaXMudG9hc3RyLnN1Y2Nlc3ModGhpcy50cmFuc2xhdGUuaW5zdGFudCgnb2JqZWN0Lm1lc3NhZ2VzLm9iamVjdENyZWF0ZWQnKSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuXG4gIHJlZGlyZWN0VG9EZXRhaWxzKHJlY29yZCk6IHZvaWQge1xuICAgIGNvbnN0IG9iamVjdElkID0gcmVjb3JkLm9iamVjdFVybCA/IHJlY29yZC5vYmplY3RVcmwuc3BsaXQoJy8nKS5wb3AoKSA6IHJlY29yZC5vYmplY3RJZDtcbiAgICB0aGlzLm9iamVjdE1hbmFnZW1lbnRJZCQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoY29uZmlndXJhdGlvbklkID0+IHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgL29iamVjdHMvJHtjb25maWd1cmF0aW9uSWR9LyR7b2JqZWN0SWR9YF0pO1xuICAgIH0pO1xuICB9XG5cbiAgc2VhcmNoKHNlYXJjaEZpZWxkVmFsdWVzOiBTZWFyY2hGaWVsZFZhbHVlcyk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoRmllbGRWYWx1ZXMkLm5leHQoc2VhcmNoRmllbGRWYWx1ZXMgfHwge30pO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoT2JqZWN0TGlzdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlZnJlc2hPYmplY3RMaXN0JC5uZXh0KG51bGwpO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNhYmxlSW5wdXQoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlSW5wdXQkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIGVuYWJsZUlucHV0KCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZUlucHV0JC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RGVmYXVsdEZpZWxkcygpIHtcbiAgICBjb25zdCBrZXlzOiBBcnJheTxzdHJpbmc+ID0gWydyZWNvcmRJbmRleCcsICdvYmplY3RVcmwnXTtcbiAgICByZXR1cm4ga2V5cy5tYXAoa2V5ID0+ICh7XG4gICAgICBsYWJlbDogYCR7dGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYG9iamVjdC5sYWJlbHMuJHtrZXl9YCl9YCxcbiAgICAgIGtleSxcbiAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgdmlld1R5cGU6ICdzdHJpbmcnLFxuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlUmV0cmlldmluZ0Zvcm1FcnJvcihlcnJvcjogYW55KSB7XG4gICAgdGhpcy50b2FzdHIuZXJyb3IodGhpcy50cmFuc2xhdGUuaW5zdGFudCgnb2JqZWN0Lm1lc3NhZ2VzLm9iamVjdFJldHJpZXZpbmdGb3JtRXJyb3InKSk7XG4gICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVDcmVhdGVPYmplY3RFcnJvcihlcnJvcjogYW55KSB7XG4gICAgdGhpcy50b2FzdHIuZXJyb3IodGhpcy50cmFuc2xhdGUuaW5zdGFudCgnb2JqZWN0Lm1lc3NhZ2VzLm9iamVjdENyZWF0aW9uRXJyb3InKSk7XG4gICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBTZWFyY2hWYWx1ZXNUb0ZpbHRlcnMoXG4gICAgdmFsdWVzOiBTZWFyY2hGaWVsZFZhbHVlc1xuICApOiBBcnJheTxTZWFyY2hGaWx0ZXIgfCBTZWFyY2hGaWx0ZXJSYW5nZT4ge1xuICAgIGNvbnN0IGZpbHRlcnM6IEFycmF5PFNlYXJjaEZpbHRlciB8IFNlYXJjaEZpbHRlclJhbmdlPiA9IFtdO1xuXG4gICAgT2JqZWN0LmtleXModmFsdWVzKS5mb3JFYWNoKHZhbHVlS2V5ID0+IHtcbiAgICAgIGNvbnN0IHNlYXJjaFZhbHVlID0gdmFsdWVzW3ZhbHVlS2V5XSBhcyBhbnk7XG4gICAgICBpZiAoc2VhcmNoVmFsdWUuc3RhcnQpIHtcbiAgICAgICAgZmlsdGVycy5wdXNoKHtrZXk6IHZhbHVlS2V5LCByYW5nZUZyb206IHNlYXJjaFZhbHVlLnN0YXJ0LCByYW5nZVRvOiBzZWFyY2hWYWx1ZS5lbmR9KTtcbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShzZWFyY2hWYWx1ZSkpIHtcbiAgICAgICAgZmlsdGVycy5wdXNoKHtrZXk6IHZhbHVlS2V5LCB2YWx1ZXM6IHNlYXJjaFZhbHVlfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGZpbHRlcnMucHVzaCh7a2V5OiB2YWx1ZUtleSwgdmFsdWVzOiBbc2VhcmNoVmFsdWVdfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmlsdGVycztcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIntcbiAgICBsb2FkaW5nOiBsb2FkaW5nJCB8IGFzeW5jLFxuICAgIHBhZ2luYXRpb246IHBhZ2luYXRpb24kIHwgYXN5bmMsXG4gICAgZGlzYWJsZUlucHV0OiBkaXNhYmxlSW5wdXQkIHwgYXN5bmMsXG4gICAgZmllbGRzOiBmaWVsZHMkIHwgYXN5bmMsXG4gICAgb2JqZWN0Q29uZmlndXJhdGlvbjogb2JqZWN0Q29uZmlndXJhdGlvbiQgfCBhc3luY1xuICB9IGFzIG9ic1wiXG4+XG4gIDxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnQgcHQtMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWQgcHItMCBwbC0wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1yaWdodFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwIG10LW0zcHggbWItMyBtci0wXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbnM7IGNvbnRleHQ6IHtvYnM6IG9ic31cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvYnMubG9hZGluZyA9PT0gZmFsc2U7IGVsc2UgbG9hZGluZ1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VhcmNoRmllbGRzOyBjb250ZXh0OiB7b2JzOiBvYnN9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaXN0OyBjb250ZXh0OiB7b2JzOiBvYnN9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjcmVhdGVOZXdNb2RhbFwiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjYnV0dG9ucyBsZXQtb2JzPVwib2JzXCI+XG4gIDxidXR0b25cbiAgICAoY2xpY2spPVwib3Blbk1vZGFsKClcIlxuICAgIGlibUJ1dHRvbj1cInByaW1hcnlcIlxuICAgIHNpemU9XCJtZFwiXG4gICAgY2xhc3M9XCJtbC0zXCJcbiAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVJbnB1dCB8fCBvYnMubG9hZGluZ1wiXG4gID5cbiAgICB7eyAnb2JqZWN0LmNyZWF0ZU9iamVjdCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8c3ZnIGNsYXNzPVwiY2RzLS1idG5fX2ljb25cIiBpYm1JY29uPVwiYWRkXCIgc2l6ZT1cIjE2XCI+PC9zdmc+XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzZWFyY2hGaWVsZHMgbGV0LW9icz1cIm9ic1wiPlxuICA8ZGl2IGNsYXNzPVwibWItM1wiPlxuICAgIDx2YWx0aW1vLXNlYXJjaC1maWVsZHNcbiAgICAgIFtsb2FkaW5nXT1cIm9icy5sb2FkaW5nXCJcbiAgICAgIFtzZWFyY2hGaWVsZHNdPVwib2JqZWN0U2VhcmNoRmllbGRzJCB8IGFzeW5jXCJcbiAgICAgIChkb1NlYXJjaCk9XCJzZWFyY2goJGV2ZW50KVwiXG4gICAgICBbZG9jdW1lbnREZWZpbml0aW9uTmFtZV09XCJvYmplY3RNYW5hZ2VtZW50SWQkIHwgYXN5bmNcIlxuICAgICAgW3NldFZhbHVlc1N1YmplY3QkXT1cIm51bGxcIlxuICAgID48L3ZhbHRpbW8tc2VhcmNoLWZpZWxkcz5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xpc3QgbGV0LW9icz1cIm9ic1wiPlxuICA8dmFsdGltby13aWRnZXQ+XG4gICAgPHZhbHRpbW8tbGlzdFxuICAgICAgW2l0ZW1zXT1cIm9icy5vYmplY3RDb25maWd1cmF0aW9uXCJcbiAgICAgIFtmaWVsZHNdPVwib2JzLmZpZWxkc1wiXG4gICAgICBbdmlld01vZGVdPVwidHJ1ZVwiXG4gICAgICBbaGVhZGVyXT1cInRydWVcIlxuICAgICAgW3BhZ2luYXRpb25dPVwib2JzLnBhZ2luYXRpb25cIlxuICAgICAgcGFnaW5hdGlvbklkZW50aWZpZXI9XCJvYmplY3RDb25maWd1cmF0aW9uTGlzdFwiXG4gICAgICAocGFnaW5hdGlvbkNsaWNrZWQpPVwicGFnaW5hdGlvbkNsaWNrZWQoJGV2ZW50KVwiXG4gICAgICAocGFnaW5hdGlvblNldCk9XCJwYWdpbmF0aW9uU2V0KCRldmVudClcIlxuICAgICAgKHJvd0NsaWNrZWQpPVwicmVkaXJlY3RUb0RldGFpbHMoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPGRpdiBoZWFkZXI+XG4gICAgICAgIDxoMyBjbGFzcz1cImxpc3QtaGVhZGVyLXRpdGxlXCI+XG4gICAgICAgICAge3sgJ29iamVjdC50aXRsZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8c3VwIGNsYXNzPVwibWwtMSBiYWRnZSBiYWRnZS1waWxsIGJhZGdlLXByaW1hcnlcIj57e1xuICAgICAgICAgICAgb2JzLm9iamVjdENvbmZpZ3VyYXRpb24/Lmxlbmd0aCB8fCAwXG4gICAgICAgICAgfX08L3N1cD5cbiAgICAgICAgPC9oMz5cbiAgICAgIDwvZGl2PlxuICAgIDwvdmFsdGltby1saXN0PlxuICA8L3ZhbHRpbW8td2lkZ2V0PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjcmVhdGVOZXdNb2RhbD5cbiAgPGlibS1tb2RhbFxuICAgIHZhbHRpbW9JYm1Nb2RhbFxuICAgICpuZ0lmPVwie1xuICAgICAgc2hvdzogc2hvd01vZGFsJCB8IGFzeW5jLFxuICAgICAgZm9ybVZhbGlkOiBmb3JtVmFsaWQkIHwgYXN5bmMsXG4gICAgICBmb3JtRGVmaW5pdGlvbjogZm9ybURlZmluaXRpb24kIHwgYXN5bmMsXG4gICAgICBkaXNhYmxlSW5wdXQ6IGRpc2FibGVJbnB1dCQgfCBhc3luY1xuICAgIH0gYXMgbW9kYWxPYnNcIlxuICAgIFtvcGVuXT1cIm1vZGFsT2JzLnNob3dcIlxuICA+XG4gICAgPGlibS1tb2RhbC1oZWFkZXIgW3Nob3dDbG9zZUJ1dHRvbl09XCJ0cnVlXCIgKGNsb3NlU2VsZWN0KT1cImNsb3NlTW9kYWwoKVwiPlxuICAgICAgPGgzIGlibU1vZGFsSGVhZGVySGVhZGluZz5cbiAgICAgICAge3sgJ29iamVjdC5jcmVhdGVPYmplY3QnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2gzPlxuICAgIDwvaWJtLW1vZGFsLWhlYWRlcj5cbiAgICA8c2VjdGlvbiBpYm1Nb2RhbENvbnRlbnQ+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibW9kYWxDb250ZW50OyBjb250ZXh0OiB7bW9kYWxPYnM6IG1vZGFsT2JzfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvc2VjdGlvbj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibW9kYWxGb290ZXI7IGNvbnRleHQ6IHttb2RhbE9iczogbW9kYWxPYnN9XCI+PC9uZy1jb250YWluZXI+XG4gIDwvaWJtLW1vZGFsPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNtb2RhbENvbnRlbnQgbGV0LW1vZGFsT2JzPVwibW9kYWxPYnNcIj5cbiAgPHZhbHRpbW8tZm9ybS1pb1xuICAgIFtmb3JtXT1cIm1vZGFsT2JzLmZvcm1EZWZpbml0aW9uXCJcbiAgICAoY2hhbmdlKT1cIm9uRm9ybWlvQ2hhbmdlKCRldmVudClcIlxuICA+PC92YWx0aW1vLWZvcm0taW8+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI21vZGFsRm9vdGVyIGxldC1tb2RhbE9icz1cIm1vZGFsT2JzXCI+XG4gIDxpYm0tbW9kYWwtZm9vdGVyPlxuICAgIDxuZy1jb250YWluZXI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGlibUJ1dHRvbj1cInNlY29uZGFyeVwiXG4gICAgICAgIFthdHRyLm1vZGFsLXByaW1hcnktZm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgIChjbGljayk9XCJjbG9zZU1vZGFsKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwibW9kYWxPYnMuZGlzYWJsZUlucHV0XCJcbiAgICAgID5cbiAgICAgICAge3sgJ29iamVjdC5jbG9zZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBpYm1CdXR0b249XCJwcmltYXJ5XCJcbiAgICAgICAgW2F0dHIubW9kYWwtcHJpbWFyeS1mb2N1c109XCJ0cnVlXCJcbiAgICAgICAgKGNsaWNrKT1cImFkZE9iamVjdCgpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm1vZGFsT2JzLmRpc2FibGVJbnB1dCB8fCBtb2RhbE9icy5mb3JtVmFsaWQgPT09IGZhbHNlXCJcbiAgICAgID5cbiAgICAgICAge3sgJ29iamVjdC5zYXZlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvaWJtLW1vZGFsLWZvb3Rlcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgPGRpdiBjbGFzcz1cImxvYWRpbmctaWNvblwiPjxpYm0tbG9hZGluZz48L2libS1sb2FkaW5nPjwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
260
+ args: [{ selector: 'valtimo-object-list', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<ng-container\n *ngIf=\"{\n loading: loading$ | async,\n pagination: pagination$ | async,\n disableInput: disableInput$ | async,\n fields: fields$ | async,\n objectConfiguration: objectConfiguration$ | async\n } as obs\"\n>\n <div class=\"main-content pt-0\">\n <div class=\"container-fluid pr-0 pl-0\">\n <div class=\"text-right\">\n <div class=\"btn-group mt-m3px mb-3 mr-0\">\n <ng-container *ngTemplateOutlet=\"buttons; context: {obs: obs}\"></ng-container>\n </div>\n </div>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"createNewModal\"></ng-container>\n</ng-container>\n\n<ng-template #buttons let-obs=\"obs\">\n <button\n (click)=\"openModal()\"\n cdsButton=\"primary\"\n size=\"md\"\n class=\"ml-3\"\n [disabled]=\"obs.disableInput || obs.loading\"\n >\n {{ 'object.createObject' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [loading]=\"obs.loading\"\n [searchFields]=\"objectSearchFields$ | async\"\n (doSearch)=\"search($event)\"\n [documentDefinitionName]=\"objectManagementId$ | async\"\n [setValuesSubject$]=\"null\"\n ></valtimo-search-fields>\n </div>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"obs.objectConfiguration\"\n [fields]=\"obs.fields\"\n [viewMode]=\"true\"\n [header]=\"true\"\n [pagination]=\"obs.pagination\"\n paginationIdentifier=\"objectConfigurationList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n (rowClicked)=\"redirectToDetails($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">\n {{ 'object.title' | translate }}\n <sup class=\"ml-1 badge badge-pill badge-primary\">{{\n obs.objectConfiguration?.length || 0\n }}</sup>\n </h3>\n </div>\n </valtimo-list>\n </valtimo-widget>\n</ng-template>\n\n<ng-template #createNewModal>\n <cds-modal\n valtimoCdsModal\n *ngIf=\"{\n show: showModal$ | async,\n formValid: formValid$ | async,\n formDefinition: formDefinition$ | async,\n disableInput: disableInput$ | async\n } as modalObs\"\n [open]=\"modalObs.show\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{ 'object.createObject' | translate }}\n </h3>\n </cds-modal-header>\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"modalContent; context: {modalObs: modalObs}\"></ng-container>\n </section>\n <ng-container *ngTemplateOutlet=\"modalFooter; context: {modalObs: modalObs}\"></ng-container>\n </cds-modal>\n</ng-template>\n\n<ng-template #modalContent let-modalObs=\"modalObs\">\n <valtimo-form-io\n [form]=\"modalObs.formDefinition\"\n (change)=\"onFormioChange($event)\"\n ></valtimo-form-io>\n</ng-template>\n\n<ng-template #modalFooter let-modalObs=\"modalObs\">\n <cds-modal-footer>\n <ng-container>\n <button\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeModal()\"\n [disabled]=\"modalObs.disableInput\"\n >\n {{ 'object.close' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"addObject()\"\n [disabled]=\"modalObs.disableInput || modalObs.formValid === false\"\n >\n {{ 'object.save' | translate }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"loading-icon\"><cds-loading></cds-loading></div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.loading-icon{display:flex;justify-content:center}\n"] }]
261
+ }], ctorParameters: function () { return [{ type: i1.ObjectService }, { type: i2.ObjectColumnService }, { type: i3.ObjectManagementService }, { type: i4.TranslateService }, { type: i5.Router }, { type: i5.ActivatedRoute }, { type: i6.ToastrService }, { type: i4.TranslateService }, { type: i7.PageTitleService }]; } });
262
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9vYmplY3Qvc3JjL2xpYi9jb21wb25lbnRzL29iamVjdC1saXN0L29iamVjdC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vb2JqZWN0L3NyYy9saWIvY29tcG9uZW50cy9vYmplY3QtbGlzdC9vYmplY3QtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixHQUFHLEVBRUgsRUFBRSxFQUNGLFNBQVMsRUFDVCxVQUFVLEdBQ1gsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBSzFFLE9BQU8sRUFBQyxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7O0FBVy9ELE1BQU0sT0FBTyxtQkFBbUI7SUFtTTlCLFlBQ21CLGFBQTRCLEVBQzVCLG1CQUF3QyxFQUN4Qyx1QkFBZ0QsRUFDaEQsZ0JBQWtDLEVBQ2xDLE1BQWMsRUFDZCxLQUFxQixFQUNyQixNQUFxQixFQUNyQixTQUEyQixFQUMzQixnQkFBa0M7UUFSbEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsV0FB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LEVBQUMsQ0FBQyxDQUFDO2FBQ3ZGO2lCQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDckMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUM7YUFDcEQ7aUJBQU07Z0JBQ0wsYUFBYTtnQkFDYixPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBQyxDQUFDLENBQUM7YUFDdEQ7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7O2dIQTlUVSxtQkFBbUI7b0dBQW5CLG1CQUFtQiwyREM1Q2hDLGd2SkFrSkE7MkZEdEdhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIHN0YXJ0V2l0aCxcbiAgdGhyb3dFcnJvcixcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2NhdGNoRXJyb3IsIGZpbmFsaXplLCBzd2l0Y2hNYXAsIHRha2UsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7T2JqZWN0U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvb2JqZWN0LnNlcnZpY2UnO1xuaW1wb3J0IHtMaXN0RmllbGQsIFBhZ2VUaXRsZVNlcnZpY2UsIFBhZ2luYXRpb259IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtDb2x1bW5UeXBlLCBGb3JtVHlwZX0gZnJvbSAnLi4vLi4vbW9kZWxzL29iamVjdC5tb2RlbCc7XG5pbXBvcnQge1RvYXN0clNlcnZpY2V9IGZyb20gJ25neC10b2FzdHInO1xuaW1wb3J0IHtPYmplY3RDb2x1bW5TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vYmplY3QtY29sdW1uLnNlcnZpY2UnO1xuaW1wb3J0IHtPYmplY3RNYW5hZ2VtZW50U2VydmljZSwgU2VhcmNoQ29sdW1ufSBmcm9tICdAdmFsdGltby9vYmplY3QtbWFuYWdlbWVudCc7XG5pbXBvcnQge1NlYXJjaEZpZWxkLCBTZWFyY2hGaWVsZFZhbHVlcywgU2VhcmNoRmlsdGVyLCBTZWFyY2hGaWx0ZXJSYW5nZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1vYmplY3QtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9vYmplY3QtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29iamVjdC1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdExpc3RDb21wb25lbnQge1xuICByZWFkb25seSBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHJlYWRvbmx5IHN1Ym1pc3Npb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHt9KTtcbiAgcmVhZG9ubHkgZm9ybVZhbGlkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBzaG93TW9kYWwkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGRpc2FibGVJbnB1dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgY2xlYXJGb3JtJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBjb2x1bW5UeXBlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q29sdW1uVHlwZT4oQ29sdW1uVHlwZS5ERUZBVUxUKTtcblxuICByZWFkb25seSBvYmplY3RNYW5hZ2VtZW50SWQkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLnJvdXRlLnBhcmFtcy5waXBlKFxuICAgIG1hcChwYXJhbXMgPT4gcGFyYW1zLm9iamVjdE1hbmFnZW1lbnRJZCksXG4gICAgdGFwKG9iamVjdE1hbmFnZW1lbnRJZCA9PiB7XG4gICAgICBpZiAoIXRoaXMuX3NldHRpbmdQYWdlVGl0bGUgJiYgb2JqZWN0TWFuYWdlbWVudElkKSB7XG4gICAgICAgIHRoaXMuX3NldHRpbmdQYWdlVGl0bGUgPSB0cnVlO1xuICAgICAgICB0aGlzLm9iamVjdE1hbmFnZW1lbnRTZXJ2aWNlLmdldE9iamVjdEJ5SWQob2JqZWN0TWFuYWdlbWVudElkKS5zdWJzY3JpYmUob2JqZWN0VHlwZSA9PiB7XG4gICAgICAgICAgaWYgKG9iamVjdFR5cGUudGl0bGUpIHtcbiAgICAgICAgICAgIHRoaXMucGFnZVRpdGxlU2VydmljZS5zZXRDdXN0b21QYWdlVGl0bGUob2JqZWN0VHlwZS50aXRsZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KVxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVmcmVzaE9iamVjdExpc3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudWxsPihudWxsKTtcblxuICByZWFkb25seSBjdXJyZW50UGFnZUFuZFNpemUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJ0aWFsPFBhZ2luYXRpb24+Pih7XG4gICAgcGFnZTogMCxcbiAgICBzaXplOiAxMCxcbiAgfSk7XG5cbiAgcmVhZG9ubHkgcGFnZVNpemVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGFydGlhbDxQYWdpbmF0aW9uPj4oe1xuICAgIGNvbGxlY3Rpb25TaXplOiAwLFxuICAgIG1heFBhZ2luYXRpb25JdGVtU2l6ZTogNSxcbiAgfSk7XG5cbiAgcmVhZG9ubHkgcGFnaW5hdGlvbiQ6IE9ic2VydmFibGU8UGFnaW5hdGlvbj4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmN1cnJlbnRQYWdlQW5kU2l6ZSQsXG4gICAgdGhpcy5wYWdlU2l6ZXMkLFxuICBdKS5waXBlKFxuICAgIG1hcChcbiAgICAgIChbY3VycmVudFBhZ2UsIHNpemVzXSkgPT5cbiAgICAgICAgKHsuLi5jdXJyZW50UGFnZSwgLi4uc2l6ZXMsIHBhZ2U6IGN1cnJlbnRQYWdlLnBhZ2UgKyAxfSBhcyBQYWdpbmF0aW9uKVxuICAgIClcbiAgKTtcblxuICBwYWdpbmF0aW9uQ2xpY2tlZChuZXdQYWdlTnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50UGFnZUFuZFNpemUkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKGN1cnJlbnRQYWdlID0+IHtcbiAgICAgIHRoaXMuY3VycmVudFBhZ2VBbmRTaXplJC5uZXh0KHsuLi5jdXJyZW50UGFnZSwgcGFnZTogbmV3UGFnZU51bWJlciAtIDF9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHBhZ2luYXRpb25TZXQobmV3UGFnZVNpemUpOiB2b2lkIHtcbiAgICBpZiAobmV3UGFnZVNpemUpIHtcbiAgICAgIHRoaXMuY3VycmVudFBhZ2VBbmRTaXplJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShjdXJyZW50UGFnZSA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2VBbmRTaXplJC5uZXh0KHsuLi5jdXJyZW50UGFnZSwgc2l6ZTogbmV3UGFnZVNpemV9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgc2VhcmNoRmllbGRWYWx1ZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTZWFyY2hGaWVsZFZhbHVlcz4oe30pO1xuICByZWFkb25seSBvYmplY3RTZWFyY2hGaWVsZHMkOiBPYnNlcnZhYmxlPEFycmF5PFNlYXJjaEZpZWxkPiB8IG51bGw+ID1cbiAgICB0aGlzLm9iamVjdE1hbmFnZW1lbnRJZCQucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBzd2l0Y2hNYXAob2JqZWN0TWFuYWdlbWVudElkID0+XG4gICAgICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudFNlcnZpY2UuZ2V0U2VhcmNoRmllbGQob2JqZWN0TWFuYWdlbWVudElkKVxuICAgICAgKSxcbiAgICAgIG1hcChzZWFyY2hGaWVsZHMgPT5cbiAgICAgICAgc2VhcmNoRmllbGRzLm1hcChzZWFyY2hGaWVsZCA9PiB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHNlYXJjaEZpZWxkLmRhdGFUeXBlID0gc2VhcmNoRmllbGQuZGF0YVR5cGUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgc2VhcmNoRmllbGQuZmllbGRUeXBlID0gc2VhcmNoRmllbGQuZmllbGRUeXBlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgcmV0dXJuIHNlYXJjaEZpZWxkO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICk7XG5cbiAgcmVhZG9ubHkgb2JqZWN0Q29uZmlndXJhdGlvbiQ6IE9ic2VydmFibGU8QXJyYXk8YW55Pj4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLm9iamVjdE1hbmFnZW1lbnRJZCQsXG4gICAgdGhpcy5jdXJyZW50UGFnZUFuZFNpemUkLFxuICAgIHRoaXMuY29sdW1uVHlwZSQsXG4gICAgdGhpcy5zZWFyY2hGaWVsZFZhbHVlcyQsXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgna2V5JyksXG4gICAgdGhpcy5yZWZyZXNoT2JqZWN0TGlzdCQsXG4gIF0pLnBpcGUoXG4gICAgc3dpdGNoTWFwKChbb2JqZWN0TWFuYWdlbWVudElkLCBjdXJyZW50UGFnZSwgY29sdW1uVHlwZSwgc2VhcmNoRmllbGRWYWx1ZXNdKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGVFcnJvciA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5kaXNhYmxlSW5wdXQoKTtcbiAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgfTtcblxuICAgICAgaWYgKGNvbHVtblR5cGUgPT09IENvbHVtblR5cGUuQ1VTVE9NKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9iamVjdFNlcnZpY2VcbiAgICAgICAgICAucG9zdE9iamVjdHNCeU9iamVjdE1hbmFnZW1lbnRJZChcbiAgICAgICAgICAgIG9iamVjdE1hbmFnZW1lbnRJZCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcGFnZTogY3VycmVudFBhZ2UucGFnZSxcbiAgICAgICAgICAgICAgc2l6ZTogY3VycmVudFBhZ2Uuc2l6ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhzZWFyY2hGaWVsZFZhbHVlcykubGVuZ3RoID4gMFxuICAgICAgICAgICAgICA/IHtvdGhlckZpbHRlcnM6IHRoaXMubWFwU2VhcmNoVmFsdWVzVG9GaWx0ZXJzKHNlYXJjaEZpZWxkVmFsdWVzKX1cbiAgICAgICAgICAgICAgOiB7fVxuICAgICAgICAgIClcbiAgICAgICAgICAucGlwZShjYXRjaEVycm9yKCgpID0+IGhhbmRsZUVycm9yKCkpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMub2JqZWN0U2VydmljZVxuICAgICAgICAuZ2V0T2JqZWN0c0J5T2JqZWN0TWFuYWdlbWVudElkKG9iamVjdE1hbmFnZW1lbnRJZCwge1xuICAgICAgICAgIHBhZ2U6IGN1cnJlbnRQYWdlLnBhZ2UsXG4gICAgICAgICAgc2l6ZTogY3VycmVudFBhZ2Uuc2l6ZSxcbiAgICAgICAgfSlcbiAgICAgICAgLnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBoYW5kbGVFcnJvcigpKSk7XG4gICAgfSksXG4gICAgdGFwKGluc3RhbmNlUmVzID0+IHtcbiAgICAgIGlmIChpbnN0YW5jZVJlcyAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMucGFnZVNpemVzJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzaXplcyA9PiB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHRoaXMucGFnZVNpemVzJC5uZXh0KHsuLi5zaXplcywgY29sbGVjdGlvblNpemU6IGluc3RhbmNlUmVzLnRvdGFsRWxlbWVudHN9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSksXG4gICAgbWFwKHJlcyA9PlxuICAgICAgcmVzPy5jb250ZW50Py5tYXAocmVjb3JkID0+XG4gICAgICAgIHJlY29yZD8uaXRlbXM/LnJlZHVjZShcbiAgICAgICAgICAob2JqLCBpdGVtKSA9PiBPYmplY3QuYXNzaWduKG9iaiwge29iamVjdElkOiByZWNvcmQuaWR9LCB7W2l0ZW0ua2V5XTogaXRlbS52YWx1ZX0pLFxuICAgICAgICAgIHt9XG4gICAgICAgIClcbiAgICAgIClcbiAgICApLFxuICAgIHRhcCgoKSA9PiB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpKVxuICApO1xuXG4gIHJlYWRvbmx5IGZvcm1EZWZpbml0aW9uJDogT2JzZXJ2YWJsZTxhbnk+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5vYmplY3RNYW5hZ2VtZW50SWQkLFxuICAgIHRoaXMuY2xlYXJGb3JtJCxcbiAgXSkucGlwZShcbiAgICBzd2l0Y2hNYXAoKFtvYmplY3RNYW5hZ2VtZW50SWRdKSA9PlxuICAgICAgdGhpcy5vYmplY3RTZXJ2aWNlXG4gICAgICAgIC5nZXRQcmVmaWxsZWRPYmplY3RGcm9tT2JqZWN0VXJsKHtvYmplY3RNYW5hZ2VtZW50SWQsIGZvcm1UeXBlOiBGb3JtVHlwZS5FRElURk9STX0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVSZXRyaWV2aW5nRm9ybUVycm9yKGVycm9yKTtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZUlucHV0KCk7XG4gICAgICAgICAgICByZXR1cm4gb2YobnVsbCkucGlwZShzdGFydFdpdGgobnVsbCkpO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICApLFxuICAgIG1hcChyZXMgPT4ge1xuICAgICAgaWYgKHJlcyAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuZW5hYmxlSW5wdXQoKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlcz8uZm9ybURlZmluaXRpb247XG4gICAgfSksXG4gICAgc3RhcnRXaXRoKG51bGwpLFxuICAgIGZpbmFsaXplKCgpID0+IHRoaXMubG9hZGluZyQubmV4dChmYWxzZSkpXG4gICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb2x1bW5zJDogT2JzZXJ2YWJsZTxBcnJheTxTZWFyY2hDb2x1bW4+PiA9IHRoaXMub2JqZWN0TWFuYWdlbWVudElkJC5waXBlKFxuICAgIHN3aXRjaE1hcChvYmplY3RNYW5hZ2VtZW50SWQgPT4gdGhpcy5vYmplY3RDb2x1bW5TZXJ2aWNlLmdldE9iamVjdENvbHVtbnMob2JqZWN0TWFuYWdlbWVudElkKSksXG4gICAgbWFwKHJlcyA9PiByZXMpXG4gICk7XG5cbiAgcmVhZG9ubHkgZmllbGRzJDogT2JzZXJ2YWJsZTxBcnJheTxMaXN0RmllbGQ+PiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuY29sdW1ucyQsXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgna2V5JyksXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbY29sdW1uc10pID0+IHtcbiAgICAgIGlmIChjb2x1bW5zPy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuY29sdW1uVHlwZSQubmV4dChDb2x1bW5UeXBlLkNVU1RPTSk7XG5cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAuLi5jb2x1bW5zLm1hcChjb2x1bW4gPT4ge1xuICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRpb25LZXkgPSBgZmllbGRMYWJlbHMuJHtjb2x1bW4udHJhbnNsYXRpb25LZXl9YDtcbiAgICAgICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodHJhbnNsYXRpb25LZXkpO1xuICAgICAgICAgICAgY29uc3QgdmFsaWRUcmFuc2xhdGlvbiA9IHRyYW5zbGF0aW9uICE9PSB0cmFuc2xhdGlvbktleSAmJiB0cmFuc2xhdGlvbjtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGtleTogY29sdW1uLnRyYW5zbGF0aW9uS2V5LFxuICAgICAgICAgICAgICBsYWJlbDogY29sdW1uLnRpdGxlIHx8IHZhbGlkVHJhbnNsYXRpb24gfHwgY29sdW1uLnRyYW5zbGF0aW9uS2V5LFxuICAgICAgICAgICAgICBzb3J0YWJsZTogY29sdW1uLnNvcnRhYmxlLFxuICAgICAgICAgICAgICAuLi4oY29sdW1uLnZpZXdUeXBlICYmIHt2aWV3VHlwZTogY29sdW1uLnZpZXdUeXBlfSksXG4gICAgICAgICAgICAgIC4uLihjb2x1bW4uZW51bSAmJiB7ZW51bTogY29sdW1uLmVudW19KSxcbiAgICAgICAgICAgICAgLi4uKGNvbHVtbi5mb3JtYXQgJiYge2Zvcm1hdDogY29sdW1uLmZvcm1hdH0pLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgXTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jb2x1bW5UeXBlJC5uZXh0KENvbHVtblR5cGUuREVGQVVMVCk7XG4gICAgICByZXR1cm4gdGhpcy5zZXREZWZhdWx0RmllbGRzKCk7XG4gICAgfSlcbiAgKTtcblxuICBwcml2YXRlIF9zZXR0aW5nUGFnZVRpdGxlID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBvYmplY3RTZXJ2aWNlOiBPYmplY3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb2JqZWN0Q29sdW1uU2VydmljZTogT2JqZWN0Q29sdW1uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9iamVjdE1hbmFnZW1lbnRTZXJ2aWNlOiBPYmplY3RNYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0cjogVG9hc3RyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2VUaXRsZVNlcnZpY2U6IFBhZ2VUaXRsZVNlcnZpY2VcbiAgKSB7fVxuXG4gIG9wZW5Nb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dNb2RhbCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIGNsb3NlTW9kYWwoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93TW9kYWwkLm5leHQoZmFsc2UpO1xuICAgIHRoaXMuY2xlYXJGb3JtJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgb25Gb3JtaW9DaGFuZ2UoZm9ybWlvKTogdm9pZCB7XG4gICAgaWYgKGZvcm1pby5kYXRhICE9IG51bGwpIHtcbiAgICAgIHRoaXMuc3VibWlzc2lvbiQubmV4dChmb3JtaW8uZGF0YSk7XG4gICAgICB0aGlzLmZvcm1WYWxpZCQubmV4dChmb3JtaW8uaXNWYWxpZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFkZE9iamVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVJbnB1dCgpO1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMub2JqZWN0TWFuYWdlbWVudElkJCwgdGhpcy5zdWJtaXNzaW9uJCwgdGhpcy5mb3JtVmFsaWQkXSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBmaWx0ZXIoKFtvYmplY3RNYW5hZ2VtZW50SWQsIHN1Ym1pc3Npb24sIGZvcm1WYWxpZF0pID0+IGZvcm1WYWxpZCksXG4gICAgICAgIHN3aXRjaE1hcCgoW29iamVjdE1hbmFnZW1lbnRJZCwgc3VibWlzc2lvbl0pID0+XG4gICAgICAgICAgdGhpcy5vYmplY3RTZXJ2aWNlXG4gICAgICAgICAgICAuY3JlYXRlT2JqZWN0KFxuICAgICAgICAgICAgICB7b2JqZWN0TWFuYWdlbWVudElkfSxcbiAgICAgICAgICAgICAgey4uLnRoaXMub2JqZWN0U2VydmljZS5yZW1vdmVFbXB0eVN0cmluZ1ZhbHVlc0Zyb21TdWJtaXNzaW9uKHN1Ym1pc3Npb24pfVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUNyZWF0ZU9iamVjdEVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmVuYWJsZUlucHV0KCk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY2xvc2VNb2RhbCgpO1xuICAgICAgICAgIHRoaXMucmVmcmVzaE9iamVjdExpc3QoKTtcbiAgICAgICAgICB0aGlzLmNsZWFyRm9ybSQubmV4dCh0cnVlKTtcbiAgICAgICAgICB0aGlzLnRvYXN0ci5zdWNjZXNzKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ29iamVjdC5tZXNzYWdlcy5vYmplY3RDcmVhdGVkJykpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gIH1cblxuICByZWRpcmVjdFRvRGV0YWlscyhyZWNvcmQpOiB2b2lkIHtcbiAgICBjb25zdCBvYmplY3RJZCA9IHJlY29yZC5vYmplY3RVcmwgPyByZWNvcmQub2JqZWN0VXJsLnNwbGl0KCcvJykucG9wKCkgOiByZWNvcmQub2JqZWN0SWQ7XG4gICAgdGhpcy5vYmplY3RNYW5hZ2VtZW50SWQkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKGNvbmZpZ3VyYXRpb25JZCA9PiB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYC9vYmplY3RzLyR7Y29uZmlndXJhdGlvbklkfS8ke29iamVjdElkfWBdKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNlYXJjaChzZWFyY2hGaWVsZFZhbHVlczogU2VhcmNoRmllbGRWYWx1ZXMpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaEZpZWxkVmFsdWVzJC5uZXh0KHNlYXJjaEZpZWxkVmFsdWVzIHx8IHt9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVmcmVzaE9iamVjdExpc3QoKTogdm9pZCB7XG4gICAgdGhpcy5yZWZyZXNoT2JqZWN0TGlzdCQubmV4dChudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzYWJsZUlucHV0KCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZUlucHV0JC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbmFibGVJbnB1dCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVJbnB1dCQubmV4dChmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIHNldERlZmF1bHRGaWVsZHMoKSB7XG4gICAgY29uc3Qga2V5czogQXJyYXk8c3RyaW5nPiA9IFsncmVjb3JkSW5kZXgnLCAnb2JqZWN0VXJsJ107XG4gICAgcmV0dXJuIGtleXMubWFwKGtleSA9PiAoe1xuICAgICAgbGFiZWw6IGAke3RoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGBvYmplY3QubGFiZWxzLiR7a2V5fWApfWAsXG4gICAgICBrZXksXG4gICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgIHZpZXdUeXBlOiAnc3RyaW5nJyxcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVJldHJpZXZpbmdGb3JtRXJyb3IoZXJyb3I6IGFueSkge1xuICAgIHRoaXMudG9hc3RyLmVycm9yKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ29iamVjdC5tZXNzYWdlcy5vYmplY3RSZXRyaWV2aW5nRm9ybUVycm9yJykpO1xuICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ3JlYXRlT2JqZWN0RXJyb3IoZXJyb3I6IGFueSkge1xuICAgIHRoaXMudG9hc3RyLmVycm9yKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ29iamVjdC5tZXNzYWdlcy5vYmplY3RDcmVhdGlvbkVycm9yJykpO1xuICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwU2VhcmNoVmFsdWVzVG9GaWx0ZXJzKFxuICAgIHZhbHVlczogU2VhcmNoRmllbGRWYWx1ZXNcbiAgKTogQXJyYXk8U2VhcmNoRmlsdGVyIHwgU2VhcmNoRmlsdGVyUmFuZ2U+IHtcbiAgICBjb25zdCBmaWx0ZXJzOiBBcnJheTxTZWFyY2hGaWx0ZXIgfCBTZWFyY2hGaWx0ZXJSYW5nZT4gPSBbXTtcblxuICAgIE9iamVjdC5rZXlzKHZhbHVlcykuZm9yRWFjaCh2YWx1ZUtleSA9PiB7XG4gICAgICBjb25zdCBzZWFyY2hWYWx1ZSA9IHZhbHVlc1t2YWx1ZUtleV0gYXMgYW55O1xuICAgICAgaWYgKHNlYXJjaFZhbHVlLnN0YXJ0KSB7XG4gICAgICAgIGZpbHRlcnMucHVzaCh7a2V5OiB2YWx1ZUtleSwgcmFuZ2VGcm9tOiBzZWFyY2hWYWx1ZS5zdGFydCwgcmFuZ2VUbzogc2VhcmNoVmFsdWUuZW5kfSk7XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoc2VhcmNoVmFsdWUpKSB7XG4gICAgICAgIGZpbHRlcnMucHVzaCh7a2V5OiB2YWx1ZUtleSwgdmFsdWVzOiBzZWFyY2hWYWx1ZX0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBmaWx0ZXJzLnB1c2goe2tleTogdmFsdWVLZXksIHZhbHVlczogW3NlYXJjaFZhbHVlXX0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGZpbHRlcnM7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cbjxuZy1jb250YWluZXJcbiAgKm5nSWY9XCJ7XG4gICAgbG9hZGluZzogbG9hZGluZyQgfCBhc3luYyxcbiAgICBwYWdpbmF0aW9uOiBwYWdpbmF0aW9uJCB8IGFzeW5jLFxuICAgIGRpc2FibGVJbnB1dDogZGlzYWJsZUlucHV0JCB8IGFzeW5jLFxuICAgIGZpZWxkczogZmllbGRzJCB8IGFzeW5jLFxuICAgIG9iamVjdENvbmZpZ3VyYXRpb246IG9iamVjdENvbmZpZ3VyYXRpb24kIHwgYXN5bmNcbiAgfSBhcyBvYnNcIlxuPlxuICA8ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50IHB0LTBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkIHByLTAgcGwtMFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtcmlnaHRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJ0bi1ncm91cCBtdC1tM3B4IG1iLTMgbXItMFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25zOyBjb250ZXh0OiB7b2JzOiBvYnN9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib2JzLmxvYWRpbmcgPT09IGZhbHNlOyBlbHNlIGxvYWRpbmdcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlYXJjaEZpZWxkczsgY29udGV4dDoge29iczogb2JzfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlzdDsgY29udGV4dDoge29iczogb2JzfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3JlYXRlTmV3TW9kYWxcIj48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2J1dHRvbnMgbGV0LW9icz1cIm9ic1wiPlxuICA8YnV0dG9uXG4gICAgKGNsaWNrKT1cIm9wZW5Nb2RhbCgpXCJcbiAgICBjZHNCdXR0b249XCJwcmltYXJ5XCJcbiAgICBzaXplPVwibWRcIlxuICAgIGNsYXNzPVwibWwtM1wiXG4gICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlSW5wdXQgfHwgb2JzLmxvYWRpbmdcIlxuICA+XG4gICAge3sgJ29iamVjdC5jcmVhdGVPYmplY3QnIHwgdHJhbnNsYXRlIH19XG4gICAgPHN2ZyBjbGFzcz1cImNkcy0tYnRuX19pY29uXCIgY2RzSWNvbj1cImFkZFwiIHNpemU9XCIxNlwiPjwvc3ZnPlxuICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2VhcmNoRmllbGRzIGxldC1vYnM9XCJvYnNcIj5cbiAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgICA8dmFsdGltby1zZWFyY2gtZmllbGRzXG4gICAgICBbbG9hZGluZ109XCJvYnMubG9hZGluZ1wiXG4gICAgICBbc2VhcmNoRmllbGRzXT1cIm9iamVjdFNlYXJjaEZpZWxkcyQgfCBhc3luY1wiXG4gICAgICAoZG9TZWFyY2gpPVwic2VhcmNoKCRldmVudClcIlxuICAgICAgW2RvY3VtZW50RGVmaW5pdGlvbk5hbWVdPVwib2JqZWN0TWFuYWdlbWVudElkJCB8IGFzeW5jXCJcbiAgICAgIFtzZXRWYWx1ZXNTdWJqZWN0JF09XCJudWxsXCJcbiAgICA+PC92YWx0aW1vLXNlYXJjaC1maWVsZHM+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNsaXN0IGxldC1vYnM9XCJvYnNcIj5cbiAgPHZhbHRpbW8td2lkZ2V0PlxuICAgIDx2YWx0aW1vLWxpc3RcbiAgICAgIFtpdGVtc109XCJvYnMub2JqZWN0Q29uZmlndXJhdGlvblwiXG4gICAgICBbZmllbGRzXT1cIm9icy5maWVsZHNcIlxuICAgICAgW3ZpZXdNb2RlXT1cInRydWVcIlxuICAgICAgW2hlYWRlcl09XCJ0cnVlXCJcbiAgICAgIFtwYWdpbmF0aW9uXT1cIm9icy5wYWdpbmF0aW9uXCJcbiAgICAgIHBhZ2luYXRpb25JZGVudGlmaWVyPVwib2JqZWN0Q29uZmlndXJhdGlvbkxpc3RcIlxuICAgICAgKHBhZ2luYXRpb25DbGlja2VkKT1cInBhZ2luYXRpb25DbGlja2VkKCRldmVudClcIlxuICAgICAgKHBhZ2luYXRpb25TZXQpPVwicGFnaW5hdGlvblNldCgkZXZlbnQpXCJcbiAgICAgIChyb3dDbGlja2VkKT1cInJlZGlyZWN0VG9EZXRhaWxzKCRldmVudClcIlxuICAgID5cbiAgICAgIDxkaXYgaGVhZGVyPlxuICAgICAgICA8aDMgY2xhc3M9XCJsaXN0LWhlYWRlci10aXRsZVwiPlxuICAgICAgICAgIHt7ICdvYmplY3QudGl0bGUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPHN1cCBjbGFzcz1cIm1sLTEgYmFkZ2UgYmFkZ2UtcGlsbCBiYWRnZS1wcmltYXJ5XCI+e3tcbiAgICAgICAgICAgIG9icy5vYmplY3RDb25maWd1cmF0aW9uPy5sZW5ndGggfHwgMFxuICAgICAgICAgIH19PC9zdXA+XG4gICAgICAgIDwvaDM+XG4gICAgICA8L2Rpdj5cbiAgICA8L3ZhbHRpbW8tbGlzdD5cbiAgPC92YWx0aW1vLXdpZGdldD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY3JlYXRlTmV3TW9kYWw+XG4gIDxjZHMtbW9kYWxcbiAgICB2YWx0aW1vQ2RzTW9kYWxcbiAgICAqbmdJZj1cIntcbiAgICAgIHNob3c6IHNob3dNb2RhbCQgfCBhc3luYyxcbiAgICAgIGZvcm1WYWxpZDogZm9ybVZhbGlkJCB8IGFzeW5jLFxuICAgICAgZm9ybURlZmluaXRpb246IGZvcm1EZWZpbml0aW9uJCB8IGFzeW5jLFxuICAgICAgZGlzYWJsZUlucHV0OiBkaXNhYmxlSW5wdXQkIHwgYXN5bmNcbiAgICB9IGFzIG1vZGFsT2JzXCJcbiAgICBbb3Blbl09XCJtb2RhbE9icy5zaG93XCJcbiAgPlxuICAgIDxjZHMtbW9kYWwtaGVhZGVyIFtzaG93Q2xvc2VCdXR0b25dPVwidHJ1ZVwiIChjbG9zZVNlbGVjdCk9XCJjbG9zZU1vZGFsKClcIj5cbiAgICAgIDxoMyBjZHNNb2RhbEhlYWRlckhlYWRpbmc+XG4gICAgICAgIHt7ICdvYmplY3QuY3JlYXRlT2JqZWN0JyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9oMz5cbiAgICA8L2Nkcy1tb2RhbC1oZWFkZXI+XG4gICAgPHNlY3Rpb24gY2RzTW9kYWxDb250ZW50PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1vZGFsQ29udGVudDsgY29udGV4dDoge21vZGFsT2JzOiBtb2RhbE9ic31cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L3NlY3Rpb24+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1vZGFsRm9vdGVyOyBjb250ZXh0OiB7bW9kYWxPYnM6IG1vZGFsT2JzfVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Nkcy1tb2RhbD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbW9kYWxDb250ZW50IGxldC1tb2RhbE9icz1cIm1vZGFsT2JzXCI+XG4gIDx2YWx0aW1vLWZvcm0taW9cbiAgICBbZm9ybV09XCJtb2RhbE9icy5mb3JtRGVmaW5pdGlvblwiXG4gICAgKGNoYW5nZSk9XCJvbkZvcm1pb0NoYW5nZSgkZXZlbnQpXCJcbiAgPjwvdmFsdGltby1mb3JtLWlvPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNtb2RhbEZvb3RlciBsZXQtbW9kYWxPYnM9XCJtb2RhbE9ic1wiPlxuICA8Y2RzLW1vZGFsLWZvb3Rlcj5cbiAgICA8bmctY29udGFpbmVyPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjZHNCdXR0b249XCJzZWNvbmRhcnlcIlxuICAgICAgICBbYXR0ci5tb2RhbC1wcmltYXJ5LWZvY3VzXT1cInRydWVcIlxuICAgICAgICAoY2xpY2spPVwiY2xvc2VNb2RhbCgpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm1vZGFsT2JzLmRpc2FibGVJbnB1dFwiXG4gICAgICA+XG4gICAgICAgIHt7ICdvYmplY3QuY2xvc2UnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2RzQnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgIFthdHRyLm1vZGFsLXByaW1hcnktZm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgIChjbGljayk9XCJhZGRPYmplY3QoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJtb2RhbE9icy5kaXNhYmxlSW5wdXQgfHwgbW9kYWxPYnMuZm9ybVZhbGlkID09PSBmYWxzZVwiXG4gICAgICA+XG4gICAgICAgIHt7ICdvYmplY3Quc2F2ZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Nkcy1tb2RhbC1mb290ZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xvYWRpbmc+XG4gIDxkaXYgY2xhc3M9XCJsb2FkaW5nLWljb25cIj48Y2RzLWxvYWRpbmc+PC9jZHMtbG9hZGluZz48L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -27,21 +27,21 @@ const routes = [
27
27
  path: 'objects/:objectManagementId',
28
28
  canActivate: [AuthGuardService],
29
29
  component: ObjectListComponent,
30
- data: { title: 'Objects', roles: [ROLE_USER] },
30
+ data: { title: 'Objects', roles: [ROLE_USER], customPageTitle: true },
31
31
  },
32
32
  {
33
33
  path: 'objects/:objectManagementId/:objectId',
34
34
  canActivate: [AuthGuardService],
35
35
  component: ObjectDetailContainerComponent,
36
- data: { title: 'Object details', roles: [ROLE_USER] },
36
+ data: { title: 'Object details', roles: [ROLE_USER], customPageTitle: true },
37
37
  },
38
38
  ];
39
39
  export class ObjectRoutingModule {
40
40
  }
41
- ObjectRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
42
- ObjectRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: ObjectRoutingModule, imports: [CommonModule, i1.RouterModule], exports: [RouterModule] });
43
- ObjectRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectRoutingModule, decorators: [{
41
+ ObjectRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
42
+ ObjectRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ObjectRoutingModule, imports: [CommonModule, i1.RouterModule], exports: [RouterModule] });
43
+ ObjectRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectRoutingModule, decorators: [{
45
45
  type: NgModule,
46
46
  args: [{
47
47
  imports: [CommonModule, RouterModule.forChild(routes)],
@@ -49,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
49
49
  declarations: [],
50
50
  }]
51
51
  }] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9vYmplY3Qvc3JjL2xpYi9vYmplY3Qtcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ25GLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHdFQUF3RSxDQUFDOzs7QUFFdEgsTUFBTSxNQUFNLEdBQVc7SUFDckI7UUFDRSxJQUFJLEVBQUUsNkJBQTZCO1FBQ25DLFdBQVcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO1FBQy9CLFNBQVMsRUFBRSxtQkFBbUI7UUFDOUIsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBQztLQUM3QztJQUNEO1FBQ0UsSUFBSSxFQUFFLHVDQUF1QztRQUM3QyxXQUFXLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztRQUMvQixTQUFTLEVBQUUsOEJBQThCO1FBQ3pDLElBQUksRUFBRSxFQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBQztLQUNwRDtDQUNGLENBQUM7QUFPRixNQUFNLE9BQU8sbUJBQW1COztpSEFBbkIsbUJBQW1CO2tIQUFuQixtQkFBbUIsWUFKcEIsWUFBWSw4QkFDWixZQUFZO2tIQUdYLG1CQUFtQixZQUpwQixZQUFZLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFDM0MsWUFBWTs0RkFHWCxtQkFBbUI7a0JBTC9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3RELE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLEVBQUU7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlck1vZHVsZSwgUm91dGVzfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0F1dGhHdWFyZFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3NlY3VyaXR5JztcbmltcG9ydCB7Uk9MRV9VU0VSfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHtPYmplY3RMaXN0Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvb2JqZWN0LWxpc3Qvb2JqZWN0LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7T2JqZWN0RGV0YWlsQ29udGFpbmVyQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvb2JqZWN0LWRldGFpbC1jb250YWluZXIvb2JqZWN0LWRldGFpbC1jb250YWluZXIuY29tcG9uZW50JztcblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAnb2JqZWN0cy86b2JqZWN0TWFuYWdlbWVudElkJyxcbiAgICBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZFNlcnZpY2VdLFxuICAgIGNvbXBvbmVudDogT2JqZWN0TGlzdENvbXBvbmVudCxcbiAgICBkYXRhOiB7dGl0bGU6ICdPYmplY3RzJywgcm9sZXM6IFtST0xFX1VTRVJdfSxcbiAgfSxcbiAge1xuICAgIHBhdGg6ICdvYmplY3RzLzpvYmplY3RNYW5hZ2VtZW50SWQvOm9iamVjdElkJyxcbiAgICBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZFNlcnZpY2VdLFxuICAgIGNvbXBvbmVudDogT2JqZWN0RGV0YWlsQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIGRhdGE6IHt0aXRsZTogJ09iamVjdCBkZXRhaWxzJywgcm9sZXM6IFtST0xFX1VTRVJdfSxcbiAgfSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW10sXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdFJvdXRpbmdNb2R1bGUge31cbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9vYmplY3Qvc3JjL2xpYi9vYmplY3Qtcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ25GLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHdFQUF3RSxDQUFDOzs7QUFFdEgsTUFBTSxNQUFNLEdBQVc7SUFDckI7UUFDRSxJQUFJLEVBQUUsNkJBQTZCO1FBQ25DLFdBQVcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO1FBQy9CLFNBQVMsRUFBRSxtQkFBbUI7UUFDOUIsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFDO0tBQ3BFO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsdUNBQXVDO1FBQzdDLFdBQVcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO1FBQy9CLFNBQVMsRUFBRSw4QkFBOEI7UUFDekMsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUM7S0FDM0U7Q0FDRixDQUFDO0FBT0YsTUFBTSxPQUFPLG1CQUFtQjs7Z0hBQW5CLG1CQUFtQjtpSEFBbkIsbUJBQW1CLFlBSnBCLFlBQVksOEJBQ1osWUFBWTtpSEFHWCxtQkFBbUIsWUFKcEIsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzNDLFlBQVk7MkZBR1gsbUJBQW1CO2tCQUwvQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN0RCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxFQUFFO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGUsIFJvdXRlc30gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtBdXRoR3VhcmRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9zZWN1cml0eSc7XG5pbXBvcnQge1JPTEVfVVNFUn0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7T2JqZWN0TGlzdENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL29iamVjdC1saXN0L29iamVjdC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQge09iamVjdERldGFpbENvbnRhaW5lckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL29iamVjdC1kZXRhaWwtY29udGFpbmVyL29iamVjdC1kZXRhaWwtY29udGFpbmVyLmNvbXBvbmVudCc7XG5cbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xuICB7XG4gICAgcGF0aDogJ29iamVjdHMvOm9iamVjdE1hbmFnZW1lbnRJZCcsXG4gICAgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmRTZXJ2aWNlXSxcbiAgICBjb21wb25lbnQ6IE9iamVjdExpc3RDb21wb25lbnQsXG4gICAgZGF0YToge3RpdGxlOiAnT2JqZWN0cycsIHJvbGVzOiBbUk9MRV9VU0VSXSwgY3VzdG9tUGFnZVRpdGxlOiB0cnVlfSxcbiAgfSxcbiAge1xuICAgIHBhdGg6ICdvYmplY3RzLzpvYmplY3RNYW5hZ2VtZW50SWQvOm9iamVjdElkJyxcbiAgICBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZFNlcnZpY2VdLFxuICAgIGNvbXBvbmVudDogT2JqZWN0RGV0YWlsQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIGRhdGE6IHt0aXRsZTogJ09iamVjdCBkZXRhaWxzJywgcm9sZXM6IFtST0xFX1VTRVJdLCBjdXN0b21QYWdlVGl0bGU6IHRydWV9LFxuICB9LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgT2JqZWN0Um91dGluZ01vZHVsZSB7fVxuIl19
@@ -18,7 +18,7 @@ import { ObjectRoutingModule } from './object-routing.module';
18
18
  import { ObjectListComponent } from './components/object-list/object-list.component';
19
19
  import { TranslateModule } from '@ngx-translate/core';
20
20
  import { AsyncPipe, CommonModule } from '@angular/common';
21
- import { ConfirmationModalModule, FormIoModule, ListModule, SearchFieldsModule, SpinnerModule, ValtimoIbmModalDirectiveModule, WidgetModule, } from '@valtimo/components';
21
+ import { ConfirmationModalModule, FormIoModule, ListModule, SearchFieldsModule, SpinnerModule, ValtimoCdsModalDirectiveModule, WidgetModule, } from '@valtimo/components';
22
22
  import { ObjectDetailContainerComponent } from './components/object-detail-container/object-detail-container.component';
23
23
  import { ObjectDetailComponent } from './components/object-detail-container/tabs/object-detail/object-detail.component';
24
24
  import { ButtonModule, IconModule, InputModule, LoadingModule, ModalModule, } from 'carbon-components-angular';
@@ -27,8 +27,8 @@ import { TooltipIconModule } from '@valtimo/user-interface';
27
27
  import * as i0 from "@angular/core";
28
28
  export class ObjectModule {
29
29
  }
30
- ObjectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
31
- ObjectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: ObjectModule, declarations: [ObjectListComponent, ObjectDetailContainerComponent, ObjectDetailComponent], imports: [CommonModule,
30
+ ObjectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
31
+ ObjectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ObjectModule, declarations: [ObjectListComponent, ObjectDetailContainerComponent, ObjectDetailComponent], imports: [CommonModule,
32
32
  ObjectRoutingModule,
33
33
  TranslateModule,
34
34
  AsyncPipe,
@@ -45,8 +45,8 @@ ObjectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
45
45
  TooltipIconModule,
46
46
  ConfirmationModalModule,
47
47
  SearchFieldsModule,
48
- ValtimoIbmModalDirectiveModule] });
49
- ObjectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectModule, imports: [CommonModule,
48
+ ValtimoCdsModalDirectiveModule] });
49
+ ObjectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectModule, imports: [CommonModule,
50
50
  ObjectRoutingModule,
51
51
  TranslateModule,
52
52
  WidgetModule,
@@ -62,8 +62,8 @@ ObjectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
62
62
  TooltipIconModule,
63
63
  ConfirmationModalModule,
64
64
  SearchFieldsModule,
65
- ValtimoIbmModalDirectiveModule] });
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectModule, decorators: [{
65
+ ValtimoCdsModalDirectiveModule] });
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectModule, decorators: [{
67
67
  type: NgModule,
68
68
  args: [{
69
69
  declarations: [ObjectListComponent, ObjectDetailContainerComponent, ObjectDetailComponent],
@@ -85,9 +85,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
85
85
  TooltipIconModule,
86
86
  ConfirmationModalModule,
87
87
  SearchFieldsModule,
88
- ValtimoIbmModalDirectiveModule,
88
+ ValtimoCdsModalDirectiveModule,
89
89
  ],
90
90
  exports: [],
91
91
  }]
92
92
  }] });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vb2JqZWN0L3NyYy9saWIvb2JqZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDbkYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixZQUFZLEVBQ1osVUFBVSxFQUNWLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsOEJBQThCLEVBQzlCLFlBQVksR0FDYixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQ3RILE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGlGQUFpRixDQUFDO0FBQ3RILE9BQU8sRUFDTCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxhQUFhLEVBQ2IsV0FBVyxHQUNaLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7O0FBMEIxRCxNQUFNLE9BQU8sWUFBWTs7MEdBQVosWUFBWTsyR0FBWixZQUFZLGlCQXZCUixtQkFBbUIsRUFBRSw4QkFBOEIsRUFBRSxxQkFBcUIsYUFFdkYsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsU0FBUztRQUNULFlBQVk7UUFDWixVQUFVO1FBQ1YsWUFBWTtRQUNaLFVBQVU7UUFDVixhQUFhO1FBQ2IsYUFBYTtRQUNiLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsdUJBQXVCO1FBQ3ZCLGtCQUFrQjtRQUNsQiw4QkFBOEI7MkdBSXJCLFlBQVksWUFyQnJCLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsZUFBZTtRQUVmLFlBQVk7UUFDWixVQUFVO1FBQ1YsWUFBWTtRQUNaLFVBQVU7UUFDVixhQUFhO1FBQ2IsYUFBYTtRQUNiLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsdUJBQXVCO1FBQ3ZCLGtCQUFrQjtRQUNsQiw4QkFBOEI7NEZBSXJCLFlBQVk7a0JBeEJ4QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG1CQUFtQixFQUFFLDhCQUE4QixFQUFFLHFCQUFxQixDQUFDO29CQUMxRixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsU0FBUzt3QkFDVCxZQUFZO3dCQUNaLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixVQUFVO3dCQUNWLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLDhCQUE4QjtxQkFDL0I7b0JBQ0QsT0FBTyxFQUFFLEVBQUU7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JqZWN0Um91dGluZ01vZHVsZX0gZnJvbSAnLi9vYmplY3Qtcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHtPYmplY3RMaXN0Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvb2JqZWN0LWxpc3Qvb2JqZWN0LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7QXN5bmNQaXBlLCBDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb25maXJtYXRpb25Nb2RhbE1vZHVsZSxcbiAgRm9ybUlvTW9kdWxlLFxuICBMaXN0TW9kdWxlLFxuICBTZWFyY2hGaWVsZHNNb2R1bGUsXG4gIFNwaW5uZXJNb2R1bGUsXG4gIFZhbHRpbW9JYm1Nb2RhbERpcmVjdGl2ZU1vZHVsZSxcbiAgV2lkZ2V0TW9kdWxlLFxufSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7T2JqZWN0RGV0YWlsQ29udGFpbmVyQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvb2JqZWN0LWRldGFpbC1jb250YWluZXIvb2JqZWN0LWRldGFpbC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7T2JqZWN0RGV0YWlsQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvb2JqZWN0LWRldGFpbC1jb250YWluZXIvdGFicy9vYmplY3QtZGV0YWlsL29iamVjdC1kZXRhaWwuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEJ1dHRvbk1vZHVsZSxcbiAgSWNvbk1vZHVsZSxcbiAgSW5wdXRNb2R1bGUsXG4gIExvYWRpbmdNb2R1bGUsXG4gIE1vZGFsTW9kdWxlLFxufSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7UmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUb29sdGlwSWNvbk1vZHVsZX0gZnJvbSAnQHZhbHRpbW8vdXNlci1pbnRlcmZhY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtPYmplY3RMaXN0Q29tcG9uZW50LCBPYmplY3REZXRhaWxDb250YWluZXJDb21wb25lbnQsIE9iamVjdERldGFpbENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgT2JqZWN0Um91dGluZ01vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgQXN5bmNQaXBlLFxuICAgIFdpZGdldE1vZHVsZSxcbiAgICBMaXN0TW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIFNwaW5uZXJNb2R1bGUsXG4gICAgTG9hZGluZ01vZHVsZSxcbiAgICBGb3JtSW9Nb2R1bGUsXG4gICAgTW9kYWxNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBUb29sdGlwSWNvbk1vZHVsZSxcbiAgICBDb25maXJtYXRpb25Nb2RhbE1vZHVsZSxcbiAgICBTZWFyY2hGaWVsZHNNb2R1bGUsXG4gICAgVmFsdGltb0libU1vZGFsRGlyZWN0aXZlTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgT2JqZWN0TW9kdWxlIHt9XG4iXX0=
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vb2JqZWN0L3NyYy9saWIvb2JqZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDbkYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixZQUFZLEVBQ1osVUFBVSxFQUNWLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsOEJBQThCLEVBQzlCLFlBQVksR0FDYixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQ3RILE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGlGQUFpRixDQUFDO0FBQ3RILE9BQU8sRUFDTCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxhQUFhLEVBQ2IsV0FBVyxHQUNaLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7O0FBMEIxRCxNQUFNLE9BQU8sWUFBWTs7eUdBQVosWUFBWTswR0FBWixZQUFZLGlCQXZCUixtQkFBbUIsRUFBRSw4QkFBOEIsRUFBRSxxQkFBcUIsYUFFdkYsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsU0FBUztRQUNULFlBQVk7UUFDWixVQUFVO1FBQ1YsWUFBWTtRQUNaLFVBQVU7UUFDVixhQUFhO1FBQ2IsYUFBYTtRQUNiLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsdUJBQXVCO1FBQ3ZCLGtCQUFrQjtRQUNsQiw4QkFBOEI7MEdBSXJCLFlBQVksWUFyQnJCLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsZUFBZTtRQUVmLFlBQVk7UUFDWixVQUFVO1FBQ1YsWUFBWTtRQUNaLFVBQVU7UUFDVixhQUFhO1FBQ2IsYUFBYTtRQUNiLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsdUJBQXVCO1FBQ3ZCLGtCQUFrQjtRQUNsQiw4QkFBOEI7MkZBSXJCLFlBQVk7a0JBeEJ4QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG1CQUFtQixFQUFFLDhCQUE4QixFQUFFLHFCQUFxQixDQUFDO29CQUMxRixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsU0FBUzt3QkFDVCxZQUFZO3dCQUNaLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixVQUFVO3dCQUNWLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLDhCQUE4QjtxQkFDL0I7b0JBQ0QsT0FBTyxFQUFFLEVBQUU7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JqZWN0Um91dGluZ01vZHVsZX0gZnJvbSAnLi9vYmplY3Qtcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHtPYmplY3RMaXN0Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvb2JqZWN0LWxpc3Qvb2JqZWN0LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7QXN5bmNQaXBlLCBDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb25maXJtYXRpb25Nb2RhbE1vZHVsZSxcbiAgRm9ybUlvTW9kdWxlLFxuICBMaXN0TW9kdWxlLFxuICBTZWFyY2hGaWVsZHNNb2R1bGUsXG4gIFNwaW5uZXJNb2R1bGUsXG4gIFZhbHRpbW9DZHNNb2RhbERpcmVjdGl2ZU1vZHVsZSxcbiAgV2lkZ2V0TW9kdWxlLFxufSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7T2JqZWN0RGV0YWlsQ29udGFpbmVyQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvb2JqZWN0LWRldGFpbC1jb250YWluZXIvb2JqZWN0LWRldGFpbC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7T2JqZWN0RGV0YWlsQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvb2JqZWN0LWRldGFpbC1jb250YWluZXIvdGFicy9vYmplY3QtZGV0YWlsL29iamVjdC1kZXRhaWwuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEJ1dHRvbk1vZHVsZSxcbiAgSWNvbk1vZHVsZSxcbiAgSW5wdXRNb2R1bGUsXG4gIExvYWRpbmdNb2R1bGUsXG4gIE1vZGFsTW9kdWxlLFxufSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7UmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUb29sdGlwSWNvbk1vZHVsZX0gZnJvbSAnQHZhbHRpbW8vdXNlci1pbnRlcmZhY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtPYmplY3RMaXN0Q29tcG9uZW50LCBPYmplY3REZXRhaWxDb250YWluZXJDb21wb25lbnQsIE9iamVjdERldGFpbENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgT2JqZWN0Um91dGluZ01vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgQXN5bmNQaXBlLFxuICAgIFdpZGdldE1vZHVsZSxcbiAgICBMaXN0TW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIFNwaW5uZXJNb2R1bGUsXG4gICAgTG9hZGluZ01vZHVsZSxcbiAgICBGb3JtSW9Nb2R1bGUsXG4gICAgTW9kYWxNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBUb29sdGlwSWNvbk1vZHVsZSxcbiAgICBDb25maXJtYXRpb25Nb2RhbE1vZHVsZSxcbiAgICBTZWFyY2hGaWVsZHNNb2R1bGUsXG4gICAgVmFsdGltb0Nkc01vZGFsRGlyZWN0aXZlTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgT2JqZWN0TW9kdWxlIHt9XG4iXX0=
@@ -39,12 +39,12 @@ export class ObjectColumnService {
39
39
  }
40
40
  }
41
41
  }
42
- ObjectColumnService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectColumnService, deps: [{ token: i1.ConfigService }, { token: i2.ObjectManagementService }], target: i0.ɵɵFactoryTarget.Injectable });
43
- ObjectColumnService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectColumnService, providedIn: 'root' });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectColumnService, decorators: [{
42
+ ObjectColumnService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectColumnService, deps: [{ token: i1.ConfigService }, { token: i2.ObjectManagementService }], target: i0.ɵɵFactoryTarget.Injectable });
43
+ ObjectColumnService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectColumnService, providedIn: 'root' });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectColumnService, decorators: [{
45
45
  type: Injectable,
46
46
  args: [{
47
47
  providedIn: 'root',
48
48
  }]
49
49
  }], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.ObjectManagementService }]; } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWNvbHVtbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9vYmplY3Qvc3JjL2xpYi9zZXJ2aWNlcy9vYmplY3QtY29sdW1uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsR0FBRyxFQUFhLE1BQU0sTUFBTSxDQUFDOzs7O0FBTXJDLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFDbUIsYUFBNEIsRUFDNUIsdUJBQWdEO1FBRGhELGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7SUFDaEUsQ0FBQztJQUVKLGdCQUFnQixDQUFDLGVBQXVCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLHVCQUF1QjthQUNoQyxhQUFhLENBQUMsZUFBZSxDQUFDO2FBQzlCLElBQUksQ0FDSCxHQUFHLENBQ0QsaUJBQWlCLENBQUMsRUFBRSxDQUNsQixpQkFBaUI7WUFDakIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztZQUNoQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUM1QixJQUFJLENBQUMsbUNBQW1DLENBQUMsaUJBQWlCLENBQUMsQ0FDOUQsQ0FDRixDQUFDO0lBQ04sQ0FBQztJQUVPLG1DQUFtQyxDQUN6QyxpQkFBMEM7UUFFMUMsT0FBTyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEQsY0FBYyxFQUFFLGdCQUFnQixDQUFDLEdBQUc7WUFDcEMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLFFBQVE7WUFDbkMsV0FBVyxFQUFFLGdCQUFnQixDQUFDLFdBQVc7WUFDekMsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNoRSxZQUFZLEVBQUUsZ0JBQWdCLENBQUMsSUFBSTtZQUNuQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxJQUFJLEVBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLEtBQUssRUFBQyxDQUFDO1lBQzlELEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsSUFBSSxJQUFJO2dCQUNoRSxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDLElBQVc7YUFDckUsQ0FBQztZQUNGLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxJQUFJO2dCQUNyRSxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLHFCQUFxQixFQUFFLFVBQVU7YUFDeEUsQ0FBQztTQUNILENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVPLGNBQWMsQ0FBQywyQkFBbUM7UUFDeEQsUUFBUSwyQkFBMkIsRUFBRTtZQUNuQztnQkFDRSxPQUFPLDJCQUEyQixDQUFDO1NBQ3RDO0lBQ0gsQ0FBQzs7aUhBNUNVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge21hcCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge09iamVjdE1hbmFnZW1lbnRTZXJ2aWNlLCBTZWFyY2hMaXN0Q29sdW1uLCBTZWFyY2hDb2x1bW59IGZyb20gJ0B2YWx0aW1vL29iamVjdC1tYW5hZ2VtZW50JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdENvbHVtblNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBvYmplY3RNYW5hZ2VtZW50U2VydmljZTogT2JqZWN0TWFuYWdlbWVudFNlcnZpY2VcbiAgKSB7fVxuXG4gIGdldE9iamVjdENvbHVtbnMoY29uZmlndXJhdGlvbklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFycmF5PFNlYXJjaENvbHVtbj4+IHtcbiAgICByZXR1cm4gdGhpcy5vYmplY3RNYW5hZ2VtZW50U2VydmljZVxuICAgICAgLmdldFNlYXJjaExpc3QoY29uZmlndXJhdGlvbklkKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChcbiAgICAgICAgICBvYmplY3RMaXN0Q29sdW1ucyA9PlxuICAgICAgICAgICAgb2JqZWN0TGlzdENvbHVtbnMgJiZcbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkob2JqZWN0TGlzdENvbHVtbnMpICYmXG4gICAgICAgICAgICBvYmplY3RMaXN0Q29sdW1ucy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICB0aGlzLm1hcE9iamVjdExpc3RDb2x1bW5zVG9TZWFyY2hDb2x1bW5zKG9iamVjdExpc3RDb2x1bW5zKVxuICAgICAgICApXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBPYmplY3RMaXN0Q29sdW1uc1RvU2VhcmNoQ29sdW1ucyhcbiAgICBzZWFyY2hMaXN0Q29sdW1uczogQXJyYXk8U2VhcmNoTGlzdENvbHVtbj5cbiAgKTogQXJyYXk8U2VhcmNoQ29sdW1uPiB7XG4gICAgcmV0dXJuIHNlYXJjaExpc3RDb2x1bW5zLm1hcChzZWFyY2hMaXN0Q29sdW1uID0+ICh7XG4gICAgICB0cmFuc2xhdGlvbktleTogc2VhcmNoTGlzdENvbHVtbi5rZXksXG4gICAgICBzb3J0YWJsZTogc2VhcmNoTGlzdENvbHVtbi5zb3J0YWJsZSxcbiAgICAgIGRlZmF1bHRTb3J0OiBzZWFyY2hMaXN0Q29sdW1uLmRlZmF1bHRTb3J0LFxuICAgICAgdmlld1R5cGU6IHRoaXMuZ2V0RGlzcGxheVR5cGUoc2VhcmNoTGlzdENvbHVtbi5kaXNwbGF5VHlwZS50eXBlKSxcbiAgICAgIHByb3BlcnR5TmFtZTogc2VhcmNoTGlzdENvbHVtbi5wYXRoLFxuICAgICAgLi4uKHNlYXJjaExpc3RDb2x1bW4udGl0bGUgJiYge3RpdGxlOiBzZWFyY2hMaXN0Q29sdW1uLnRpdGxlfSksXG4gICAgICAuLi4oc2VhcmNoTGlzdENvbHVtbj8uZGlzcGxheVR5cGU/LmRpc3BsYXlUeXBlUGFyYW1ldGVycz8uZW51bSAmJiB7XG4gICAgICAgIGVudW06IHNlYXJjaExpc3RDb2x1bW4uZGlzcGxheVR5cGUuZGlzcGxheVR5cGVQYXJhbWV0ZXJzLmVudW0gYXMgYW55LFxuICAgICAgfSksXG4gICAgICAuLi4oc2VhcmNoTGlzdENvbHVtbi5kaXNwbGF5VHlwZT8uZGlzcGxheVR5cGVQYXJhbWV0ZXJzPy5kYXRlRm9ybWF0ICYmIHtcbiAgICAgICAgZm9ybWF0OiBzZWFyY2hMaXN0Q29sdW1uLmRpc3BsYXlUeXBlPy5kaXNwbGF5VHlwZVBhcmFtZXRlcnM/LmRhdGVGb3JtYXQsXG4gICAgICB9KSxcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIGdldERpc3BsYXlUeXBlKHNlYXJjaExpc3RDb2x1bW5EaXNwbGF5VHlwZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHNlYXJjaExpc3RDb2x1bW5EaXNwbGF5VHlwZSkge1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHNlYXJjaExpc3RDb2x1bW5EaXNwbGF5VHlwZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWNvbHVtbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9vYmplY3Qvc3JjL2xpYi9zZXJ2aWNlcy9vYmplY3QtY29sdW1uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsR0FBRyxFQUFhLE1BQU0sTUFBTSxDQUFDOzs7O0FBTXJDLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFDbUIsYUFBNEIsRUFDNUIsdUJBQWdEO1FBRGhELGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7SUFDaEUsQ0FBQztJQUVKLGdCQUFnQixDQUFDLGVBQXVCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLHVCQUF1QjthQUNoQyxhQUFhLENBQUMsZUFBZSxDQUFDO2FBQzlCLElBQUksQ0FDSCxHQUFHLENBQ0QsaUJBQWlCLENBQUMsRUFBRSxDQUNsQixpQkFBaUI7WUFDakIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztZQUNoQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUM1QixJQUFJLENBQUMsbUNBQW1DLENBQUMsaUJBQWlCLENBQUMsQ0FDOUQsQ0FDRixDQUFDO0lBQ04sQ0FBQztJQUVPLG1DQUFtQyxDQUN6QyxpQkFBMEM7UUFFMUMsT0FBTyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEQsY0FBYyxFQUFFLGdCQUFnQixDQUFDLEdBQUc7WUFDcEMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLFFBQVE7WUFDbkMsV0FBVyxFQUFFLGdCQUFnQixDQUFDLFdBQVc7WUFDekMsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNoRSxZQUFZLEVBQUUsZ0JBQWdCLENBQUMsSUFBSTtZQUNuQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxJQUFJLEVBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLEtBQUssRUFBQyxDQUFDO1lBQzlELEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsSUFBSSxJQUFJO2dCQUNoRSxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDLElBQVc7YUFDckUsQ0FBQztZQUNGLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxJQUFJO2dCQUNyRSxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLHFCQUFxQixFQUFFLFVBQVU7YUFDeEUsQ0FBQztTQUNILENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVPLGNBQWMsQ0FBQywyQkFBbUM7UUFDeEQsUUFBUSwyQkFBMkIsRUFBRTtZQUNuQztnQkFDRSxPQUFPLDJCQUEyQixDQUFDO1NBQ3RDO0lBQ0gsQ0FBQzs7Z0hBNUNVLG1CQUFtQjtvSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07MkZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge21hcCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge09iamVjdE1hbmFnZW1lbnRTZXJ2aWNlLCBTZWFyY2hMaXN0Q29sdW1uLCBTZWFyY2hDb2x1bW59IGZyb20gJ0B2YWx0aW1vL29iamVjdC1tYW5hZ2VtZW50JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdENvbHVtblNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBvYmplY3RNYW5hZ2VtZW50U2VydmljZTogT2JqZWN0TWFuYWdlbWVudFNlcnZpY2VcbiAgKSB7fVxuXG4gIGdldE9iamVjdENvbHVtbnMoY29uZmlndXJhdGlvbklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFycmF5PFNlYXJjaENvbHVtbj4+IHtcbiAgICByZXR1cm4gdGhpcy5vYmplY3RNYW5hZ2VtZW50U2VydmljZVxuICAgICAgLmdldFNlYXJjaExpc3QoY29uZmlndXJhdGlvbklkKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChcbiAgICAgICAgICBvYmplY3RMaXN0Q29sdW1ucyA9PlxuICAgICAgICAgICAgb2JqZWN0TGlzdENvbHVtbnMgJiZcbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkob2JqZWN0TGlzdENvbHVtbnMpICYmXG4gICAgICAgICAgICBvYmplY3RMaXN0Q29sdW1ucy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICB0aGlzLm1hcE9iamVjdExpc3RDb2x1bW5zVG9TZWFyY2hDb2x1bW5zKG9iamVjdExpc3RDb2x1bW5zKVxuICAgICAgICApXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBPYmplY3RMaXN0Q29sdW1uc1RvU2VhcmNoQ29sdW1ucyhcbiAgICBzZWFyY2hMaXN0Q29sdW1uczogQXJyYXk8U2VhcmNoTGlzdENvbHVtbj5cbiAgKTogQXJyYXk8U2VhcmNoQ29sdW1uPiB7XG4gICAgcmV0dXJuIHNlYXJjaExpc3RDb2x1bW5zLm1hcChzZWFyY2hMaXN0Q29sdW1uID0+ICh7XG4gICAgICB0cmFuc2xhdGlvbktleTogc2VhcmNoTGlzdENvbHVtbi5rZXksXG4gICAgICBzb3J0YWJsZTogc2VhcmNoTGlzdENvbHVtbi5zb3J0YWJsZSxcbiAgICAgIGRlZmF1bHRTb3J0OiBzZWFyY2hMaXN0Q29sdW1uLmRlZmF1bHRTb3J0LFxuICAgICAgdmlld1R5cGU6IHRoaXMuZ2V0RGlzcGxheVR5cGUoc2VhcmNoTGlzdENvbHVtbi5kaXNwbGF5VHlwZS50eXBlKSxcbiAgICAgIHByb3BlcnR5TmFtZTogc2VhcmNoTGlzdENvbHVtbi5wYXRoLFxuICAgICAgLi4uKHNlYXJjaExpc3RDb2x1bW4udGl0bGUgJiYge3RpdGxlOiBzZWFyY2hMaXN0Q29sdW1uLnRpdGxlfSksXG4gICAgICAuLi4oc2VhcmNoTGlzdENvbHVtbj8uZGlzcGxheVR5cGU/LmRpc3BsYXlUeXBlUGFyYW1ldGVycz8uZW51bSAmJiB7XG4gICAgICAgIGVudW06IHNlYXJjaExpc3RDb2x1bW4uZGlzcGxheVR5cGUuZGlzcGxheVR5cGVQYXJhbWV0ZXJzLmVudW0gYXMgYW55LFxuICAgICAgfSksXG4gICAgICAuLi4oc2VhcmNoTGlzdENvbHVtbi5kaXNwbGF5VHlwZT8uZGlzcGxheVR5cGVQYXJhbWV0ZXJzPy5kYXRlRm9ybWF0ICYmIHtcbiAgICAgICAgZm9ybWF0OiBzZWFyY2hMaXN0Q29sdW1uLmRpc3BsYXlUeXBlPy5kaXNwbGF5VHlwZVBhcmFtZXRlcnM/LmRhdGVGb3JtYXQsXG4gICAgICB9KSxcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIGdldERpc3BsYXlUeXBlKHNlYXJjaExpc3RDb2x1bW5EaXNwbGF5VHlwZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHNlYXJjaExpc3RDb2x1bW5EaXNwbGF5VHlwZSkge1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHNlYXJjaExpc3RDb2x1bW5EaXNwbGF5VHlwZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -48,12 +48,12 @@ export class ObjectStateService {
48
48
  this._modalType$.next(type);
49
49
  }
50
50
  }
51
- ObjectStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
52
- ObjectStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectStateService, providedIn: 'root' });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectStateService, decorators: [{
51
+ ObjectStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
52
+ ObjectStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectStateService, providedIn: 'root' });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectStateService, decorators: [{
54
54
  type: Injectable,
55
55
  args: [{
56
56
  providedIn: 'root',
57
57
  }]
58
58
  }], ctorParameters: function () { return []; } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL29iamVjdC9zcmMvbGliL3NlcnZpY2VzL29iamVjdC1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZUFBZSxFQUFjLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQzs7QUFLMUQsTUFBTSxPQUFPLGtCQUFrQjtJQU03QjtRQUxpQixnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDNUIsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzVCLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBTyxJQUFJLENBQUMsQ0FBQztRQUM1QyxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFNLEtBQUssQ0FBQyxDQUFDO0lBRWhELENBQUM7SUFFaEIsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBUztRQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDOztnSEF0Q1Usa0JBQWtCO29IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdFN0YXRlU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Nob3dNb2RhbCQgPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9oaWRlTW9kYWwkID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVmcmVzaCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9tb2RhbFR5cGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KCdhZGQnKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgZ2V0IHNob3dNb2RhbCQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fc2hvd01vZGFsJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBoaWRlTW9kYWwkKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2hpZGVNb2RhbCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgcmVmcmVzaCQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fcmVmcmVzaCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgbW9kYWxUeXBlJCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9tb2RhbFR5cGUkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgc2hvd01vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMuX3Nob3dNb2RhbCQubmV4dChudWxsKTtcbiAgfVxuXG4gIGhpZGVNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLl9oaWRlTW9kYWwkLm5leHQobnVsbCk7XG4gIH1cblxuICByZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuX3JlZnJlc2gkLm5leHQobnVsbCk7XG4gIH1cblxuICBzZXRNb2RhbFR5cGUodHlwZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fbW9kYWxUeXBlJC5uZXh0KHR5cGUpO1xuICB9XG59XG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL29iamVjdC9zcmMvbGliL3NlcnZpY2VzL29iamVjdC1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZUFBZSxFQUFjLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQzs7QUFLMUQsTUFBTSxPQUFPLGtCQUFrQjtJQU03QjtRQUxpQixnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDNUIsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzVCLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBTyxJQUFJLENBQUMsQ0FBQztRQUM1QyxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFNLEtBQUssQ0FBQyxDQUFDO0lBRWhELENBQUM7SUFFaEIsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBUztRQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDOzsrR0F0Q1Usa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdFN0YXRlU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Nob3dNb2RhbCQgPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9oaWRlTW9kYWwkID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVmcmVzaCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9tb2RhbFR5cGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KCdhZGQnKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgZ2V0IHNob3dNb2RhbCQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fc2hvd01vZGFsJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBoaWRlTW9kYWwkKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2hpZGVNb2RhbCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgcmVmcmVzaCQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fcmVmcmVzaCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgbW9kYWxUeXBlJCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9tb2RhbFR5cGUkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgc2hvd01vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMuX3Nob3dNb2RhbCQubmV4dChudWxsKTtcbiAgfVxuXG4gIGhpZGVNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLl9oaWRlTW9kYWwkLm5leHQobnVsbCk7XG4gIH1cblxuICByZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuX3JlZnJlc2gkLm5leHQobnVsbCk7XG4gIH1cblxuICBzZXRNb2RhbFR5cGUodHlwZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fbW9kYWxUeXBlJC5uZXh0KHR5cGUpO1xuICB9XG59XG4iXX0=
@@ -44,12 +44,12 @@ export class ObjectService {
44
44
  return Object.fromEntries(Object.entries(submission).filter(([_, value]) => value !== ''));
45
45
  }
46
46
  }
47
- ObjectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
48
- ObjectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectService, providedIn: 'root' });
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectService, decorators: [{
47
+ ObjectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
48
+ ObjectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectService, providedIn: 'root' });
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ObjectService, decorators: [{
50
50
  type: Injectable,
51
51
  args: [{
52
52
  providedIn: 'root',
53
53
  }]
54
54
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL29iamVjdC9zcmMvbGliL3NlcnZpY2VzL29iamVjdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQVV6QyxNQUFNLE9BQU8sYUFBYTtJQUd4QixZQUFvQixJQUFnQixFQUFFLGFBQTRCO1FBQTlDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQztJQUN4RSxDQUFDO0lBRU0sOEJBQThCLENBQ25DLGtCQUEwQixFQUMxQixNQUFZO1FBRVosT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLHNDQUFzQyxrQkFBa0IsU0FBUyxFQUMzRixFQUFDLE1BQU0sRUFBQyxDQUNULENBQUM7SUFDSixDQUFDO0lBRU0sK0JBQStCLENBQ3BDLGtCQUEwQixFQUMxQixNQUFZLEVBQ1osT0FBYTtRQUViLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixzQ0FBc0Msa0JBQWtCLFNBQVMsRUFDM0YsT0FBTyxFQUNQLEVBQUMsTUFBTSxFQUFDLENBQ1QsQ0FBQztJQUNKLENBQUM7SUFFTSxZQUFZLENBQUMsTUFBb0MsRUFBRSxPQUFlO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sR0FBRyxJQUFJLENBQUMsa0JBQWtCLFdBQVcsRUFBRSxPQUFPLEVBQUUsRUFBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFTSxZQUFZLENBQ2pCLE1BQXNELEVBQ3RELE9BQWU7UUFFZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixXQUFXLEVBQUUsT0FBTyxFQUFFLEVBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRU0sWUFBWSxDQUFDLE1BQXNEO1FBQ3hFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQU0sR0FBRyxJQUFJLENBQUMsa0JBQWtCLFdBQVcsRUFBRSxFQUFDLE1BQU0sRUFBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVNLCtCQUErQixDQUFDLE1BQVc7UUFDaEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBaUIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLGdCQUFnQixFQUFFLEVBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRU0scUNBQXFDLENBQUMsVUFBVTtRQUNyRCxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQzs7MkdBbERVLGFBQWE7K0dBQWIsYUFBYSxjQUZaLE1BQU07NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHtPYmplY3RDb25maWd1cmF0aW9ufSBmcm9tICcuLi9tb2RlbHMvb2JqZWN0Lm1vZGVsJztcbmltcG9ydCB7Rm9ybURlZmluaXRpb259IGZyb20gJ0B2YWx0aW1vL2Zvcm0tbWFuYWdlbWVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBPYmplY3RTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSB2YWx0aW1vRW5kcG9pbnRVcmk6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UpIHtcbiAgICB0aGlzLnZhbHRpbW9FbmRwb2ludFVyaSA9IGNvbmZpZ1NlcnZpY2UuY29uZmlnLnZhbHRpbW9BcGkuZW5kcG9pbnRVcmk7XG4gIH1cblxuICBwdWJsaWMgZ2V0T2JqZWN0c0J5T2JqZWN0TWFuYWdlbWVudElkKFxuICAgIG9iamVjdE1hbmFnZW1lbnRJZDogc3RyaW5nLFxuICAgIHBhcmFtcz86IGFueVxuICApOiBPYnNlcnZhYmxlPE9iamVjdENvbmZpZ3VyYXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxPYmplY3RDb25maWd1cmF0aW9uPihcbiAgICAgIGAke3RoaXMudmFsdGltb0VuZHBvaW50VXJpfXYxL29iamVjdC9tYW5hZ2VtZW50L2NvbmZpZ3VyYXRpb24vJHtvYmplY3RNYW5hZ2VtZW50SWR9L29iamVjdGAsXG4gICAgICB7cGFyYW1zfVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcG9zdE9iamVjdHNCeU9iamVjdE1hbmFnZW1lbnRJZChcbiAgICBvYmplY3RNYW5hZ2VtZW50SWQ6IHN0cmluZyxcbiAgICBwYXJhbXM/OiBhbnksXG4gICAgcGF5bG9hZD86IGFueVxuICApOiBPYnNlcnZhYmxlPE9iamVjdENvbmZpZ3VyYXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8T2JqZWN0Q29uZmlndXJhdGlvbj4oXG4gICAgICBgJHt0aGlzLnZhbHRpbW9FbmRwb2ludFVyaX12MS9vYmplY3QvbWFuYWdlbWVudC9jb25maWd1cmF0aW9uLyR7b2JqZWN0TWFuYWdlbWVudElkfS9vYmplY3RgLFxuICAgICAgcGF5bG9hZCxcbiAgICAgIHtwYXJhbXN9XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVPYmplY3QocGFyYW1zOiB7b2JqZWN0TWFuYWdlbWVudElkOiBzdHJpbmd9LCBwYXlsb2FkOiBvYmplY3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudmFsdGltb0VuZHBvaW50VXJpfXYxL29iamVjdGAsIHBheWxvYWQsIHtwYXJhbXN9KTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVPYmplY3QoXG4gICAgcGFyYW1zOiB7b2JqZWN0TWFuYWdlbWVudElkOiBzdHJpbmc7IG9iamVjdElkOiBzdHJpbmd9LFxuICAgIHBheWxvYWQ6IG9iamVjdFxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8YW55PihgJHt0aGlzLnZhbHRpbW9FbmRwb2ludFVyaX12MS9vYmplY3RgLCBwYXlsb2FkLCB7cGFyYW1zfSk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlT2JqZWN0KHBhcmFtczoge29iamVjdE1hbmFnZW1lbnRJZDogc3RyaW5nOyBvYmplY3RJZDogc3RyaW5nfSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8YW55PihgJHt0aGlzLnZhbHRpbW9FbmRwb2ludFVyaX12MS9vYmplY3RgLCB7cGFyYW1zfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UHJlZmlsbGVkT2JqZWN0RnJvbU9iamVjdFVybChwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8Rm9ybURlZmluaXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxGb3JtRGVmaW5pdGlvbj4oYCR7dGhpcy52YWx0aW1vRW5kcG9pbnRVcml9djEvb2JqZWN0L2Zvcm1gLCB7cGFyYW1zfSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlRW1wdHlTdHJpbmdWYWx1ZXNGcm9tU3VibWlzc2lvbihzdWJtaXNzaW9uKSB7XG4gICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhzdWJtaXNzaW9uKS5maWx0ZXIoKFtfLCB2YWx1ZV0pID0+IHZhbHVlICE9PSAnJykpO1xuICB9XG59XG4iXX0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL29iamVjdC9zcmMvbGliL3NlcnZpY2VzL29iamVjdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQVV6QyxNQUFNLE9BQU8sYUFBYTtJQUd4QixZQUFvQixJQUFnQixFQUFFLGFBQTRCO1FBQTlDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQztJQUN4RSxDQUFDO0lBRU0sOEJBQThCLENBQ25DLGtCQUEwQixFQUMxQixNQUFZO1FBRVosT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLHNDQUFzQyxrQkFBa0IsU0FBUyxFQUMzRixFQUFDLE1BQU0sRUFBQyxDQUNULENBQUM7SUFDSixDQUFDO0lBRU0sK0JBQStCLENBQ3BDLGtCQUEwQixFQUMxQixNQUFZLEVBQ1osT0FBYTtRQUViLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixzQ0FBc0Msa0JBQWtCLFNBQVMsRUFDM0YsT0FBTyxFQUNQLEVBQUMsTUFBTSxFQUFDLENBQ1QsQ0FBQztJQUNKLENBQUM7SUFFTSxZQUFZLENBQUMsTUFBb0MsRUFBRSxPQUFlO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sR0FBRyxJQUFJLENBQUMsa0JBQWtCLFdBQVcsRUFBRSxPQUFPLEVBQUUsRUFBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFTSxZQUFZLENBQ2pCLE1BQXNELEVBQ3RELE9BQWU7UUFFZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixXQUFXLEVBQUUsT0FBTyxFQUFFLEVBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRU0sWUFBWSxDQUFDLE1BQXNEO1FBQ3hFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQU0sR0FBRyxJQUFJLENBQUMsa0JBQWtCLFdBQVcsRUFBRSxFQUFDLE1BQU0sRUFBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVNLCtCQUErQixDQUFDLE1BQVc7UUFDaEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBaUIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLGdCQUFnQixFQUFFLEVBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRU0scUNBQXFDLENBQUMsVUFBVTtRQUNyRCxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQzs7MEdBbERVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHtPYmplY3RDb25maWd1cmF0aW9ufSBmcm9tICcuLi9tb2RlbHMvb2JqZWN0Lm1vZGVsJztcbmltcG9ydCB7Rm9ybURlZmluaXRpb259IGZyb20gJ0B2YWx0aW1vL2Zvcm0tbWFuYWdlbWVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBPYmplY3RTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSB2YWx0aW1vRW5kcG9pbnRVcmk6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UpIHtcbiAgICB0aGlzLnZhbHRpbW9FbmRwb2ludFVyaSA9IGNvbmZpZ1NlcnZpY2UuY29uZmlnLnZhbHRpbW9BcGkuZW5kcG9pbnRVcmk7XG4gIH1cblxuICBwdWJsaWMgZ2V0T2JqZWN0c0J5T2JqZWN0TWFuYWdlbWVudElkKFxuICAgIG9iamVjdE1hbmFnZW1lbnRJZDogc3RyaW5nLFxuICAgIHBhcmFtcz86IGFueVxuICApOiBPYnNlcnZhYmxlPE9iamVjdENvbmZpZ3VyYXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxPYmplY3RDb25maWd1cmF0aW9uPihcbiAgICAgIGAke3RoaXMudmFsdGltb0VuZHBvaW50VXJpfXYxL29iamVjdC9tYW5hZ2VtZW50L2NvbmZpZ3VyYXRpb24vJHtvYmplY3RNYW5hZ2VtZW50SWR9L29iamVjdGAsXG4gICAgICB7cGFyYW1zfVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcG9zdE9iamVjdHNCeU9iamVjdE1hbmFnZW1lbnRJZChcbiAgICBvYmplY3RNYW5hZ2VtZW50SWQ6IHN0cmluZyxcbiAgICBwYXJhbXM/OiBhbnksXG4gICAgcGF5bG9hZD86IGFueVxuICApOiBPYnNlcnZhYmxlPE9iamVjdENvbmZpZ3VyYXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8T2JqZWN0Q29uZmlndXJhdGlvbj4oXG4gICAgICBgJHt0aGlzLnZhbHRpbW9FbmRwb2ludFVyaX12MS9vYmplY3QvbWFuYWdlbWVudC9jb25maWd1cmF0aW9uLyR7b2JqZWN0TWFuYWdlbWVudElkfS9vYmplY3RgLFxuICAgICAgcGF5bG9hZCxcbiAgICAgIHtwYXJhbXN9XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVPYmplY3QocGFyYW1zOiB7b2JqZWN0TWFuYWdlbWVudElkOiBzdHJpbmd9LCBwYXlsb2FkOiBvYmplY3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudmFsdGltb0VuZHBvaW50VXJpfXYxL29iamVjdGAsIHBheWxvYWQsIHtwYXJhbXN9KTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVPYmplY3QoXG4gICAgcGFyYW1zOiB7b2JqZWN0TWFuYWdlbWVudElkOiBzdHJpbmc7IG9iamVjdElkOiBzdHJpbmd9LFxuICAgIHBheWxvYWQ6IG9iamVjdFxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8YW55PihgJHt0aGlzLnZhbHRpbW9FbmRwb2ludFVyaX12MS9vYmplY3RgLCBwYXlsb2FkLCB7cGFyYW1zfSk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlT2JqZWN0KHBhcmFtczoge29iamVjdE1hbmFnZW1lbnRJZDogc3RyaW5nOyBvYmplY3RJZDogc3RyaW5nfSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8YW55PihgJHt0aGlzLnZhbHRpbW9FbmRwb2ludFVyaX12MS9vYmplY3RgLCB7cGFyYW1zfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UHJlZmlsbGVkT2JqZWN0RnJvbU9iamVjdFVybChwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8Rm9ybURlZmluaXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxGb3JtRGVmaW5pdGlvbj4oYCR7dGhpcy52YWx0aW1vRW5kcG9pbnRVcml9djEvb2JqZWN0L2Zvcm1gLCB7cGFyYW1zfSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlRW1wdHlTdHJpbmdWYWx1ZXNGcm9tU3VibWlzc2lvbihzdWJtaXNzaW9uKSB7XG4gICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhzdWJtaXNzaW9uKS5maWx0ZXIoKFtfLCB2YWx1ZV0pID0+IHZhbHVlICE9PSAnJykpO1xuICB9XG59XG4iXX0=