@valtimo/zgw 12.14.1 → 13.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/valtimo-zgw.mjs +701 -1181
- package/fesm2022/valtimo-zgw.mjs.map +1 -1
- package/lib/components/case-management-zgw/case-management-zgw.component.d.ts +35 -0
- package/lib/components/case-management-zgw/case-management-zgw.component.d.ts.map +1 -0
- package/lib/components/case-management-zgw-general/case-management-zgw-general.component.d.ts +6 -0
- package/lib/components/case-management-zgw-general/case-management-zgw-general.component.d.ts.map +1 -0
- package/lib/components/index.d.ts +1 -1
- package/lib/components/index.d.ts.map +1 -1
- package/lib/models/{dossier-management-zgw.model.d.ts → case-management-zgw.model.d.ts} +3 -2
- package/lib/models/case-management-zgw.model.d.ts.map +1 -0
- package/lib/models/index.d.ts +1 -1
- package/lib/models/index.d.ts.map +1 -1
- package/lib/modules/documenten-api/components/documenten-api-column-modal/documenten-api-column-modal.component.d.ts.map +1 -1
- package/lib/modules/documenten-api/components/documenten-api-columns/documenten-api-columns.component.d.ts +6 -4
- package/lib/modules/documenten-api/components/documenten-api-columns/documenten-api-columns.component.d.ts.map +1 -1
- package/lib/modules/documenten-api/components/documenten-api-documents/documenten-api-documents.component.d.ts +19 -17
- package/lib/modules/documenten-api/components/documenten-api-documents/documenten-api-documents.component.d.ts.map +1 -1
- package/lib/modules/documenten-api/components/documenten-api-filter/documenten-api-filter.component.d.ts +2 -1
- package/lib/modules/documenten-api/components/documenten-api-filter/documenten-api-filter.component.d.ts.map +1 -1
- package/lib/modules/documenten-api/components/{documenten-api-link-upload-process/dossier-management-link-process.component.d.ts → documenten-api-link-process/case-management-link-process.component.d.ts} +15 -9
- package/lib/modules/documenten-api/components/documenten-api-link-process/case-management-link-process.component.d.ts.map +1 -0
- package/lib/modules/documenten-api/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.d.ts +5 -3
- package/lib/modules/documenten-api/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.d.ts.map +1 -1
- package/lib/modules/documenten-api/components/documenten-api-tag-modal/documenten-api-tag-modal.component.d.ts +2 -2
- package/lib/modules/documenten-api/components/documenten-api-tag-modal/documenten-api-tag-modal.component.d.ts.map +1 -1
- package/lib/modules/documenten-api/components/documenten-api-tags/documenten-api-tags.component.d.ts +5 -6
- package/lib/modules/documenten-api/components/documenten-api-tags/documenten-api-tags.component.d.ts.map +1 -1
- package/lib/modules/documenten-api/components/documenten-api-upload-field-model/documenten-api-upload-field-modal.component.d.ts +6 -3
- package/lib/modules/documenten-api/components/documenten-api-upload-field-model/documenten-api-upload-field-modal.component.d.ts.map +1 -1
- package/lib/modules/documenten-api/components/documenten-api-upload-fields/documenten-api-upload-fields.component.d.ts +8 -6
- package/lib/modules/documenten-api/components/documenten-api-upload-fields/documenten-api-upload-fields.component.d.ts.map +1 -1
- package/lib/modules/documenten-api/components/documenten-api-version/documenten-api-version.component.d.ts +1 -1
- package/lib/modules/documenten-api/components/documenten-api-version/documenten-api-version.component.d.ts.map +1 -1
- package/lib/modules/documenten-api/components/index.d.ts +1 -1
- package/lib/modules/documenten-api/components/index.d.ts.map +1 -1
- package/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.component.d.ts +7 -9
- package/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.component.d.ts.map +1 -1
- package/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.formio.d.ts.map +1 -1
- package/lib/modules/documenten-api/services/documenten-api-column.service.d.ts +2 -2
- package/lib/modules/documenten-api/services/documenten-api-column.service.d.ts.map +1 -1
- package/lib/modules/documenten-api/services/documenten-api-document.service.d.ts +1 -1
- package/lib/modules/documenten-api/services/documenten-api-link-process.service.d.ts +4 -4
- package/lib/modules/documenten-api/services/documenten-api-link-process.service.d.ts.map +1 -1
- package/lib/modules/documenten-api/services/documenten-api-tag.service.d.ts +1 -1
- package/lib/modules/documenten-api/services/documenten-api-version.service.d.ts +2 -2
- package/lib/modules/documenten-api/services/documenten-api-version.service.d.ts.map +1 -1
- package/lib/modules/index.d.ts +0 -2
- package/lib/modules/index.d.ts.map +1 -1
- package/lib/modules/objecten-api/components/object-type/object-type.component.d.ts +3 -3
- package/lib/modules/objecten-api/components/object-type/object-type.component.d.ts.map +1 -1
- package/lib/modules/objecten-api/components/zaakobjecten/zaakobjecten.component.d.ts +3 -3
- package/lib/modules/objecten-api/components/zaakobjecten/zaakobjecten.component.d.ts.map +1 -1
- package/lib/modules/objecten-api/services/zaakobjecten.service.d.ts +1 -1
- package/lib/modules/zaakdetails/components/document-objecten-api-sync/document-objecten-api-sync.component.d.ts +14 -7
- package/lib/modules/zaakdetails/components/document-objecten-api-sync/document-objecten-api-sync.component.d.ts.map +1 -1
- package/lib/modules/zaakdetails/services/document-objecten-api-sync.service.d.ts +4 -6
- package/lib/modules/zaakdetails/services/document-objecten-api-sync.service.d.ts.map +1 -1
- package/lib/modules/zaken-api/components/zaken-api-zaaktype-link/zaken-api-zaaktype-link.component.d.ts +20 -21
- package/lib/modules/zaken-api/components/zaken-api-zaaktype-link/zaken-api-zaaktype-link.component.d.ts.map +1 -1
- package/lib/modules/zaken-api/models/zaken-api-zaaktype-link.model.d.ts.map +1 -1
- package/lib/modules/zaken-api/services/zaken-api-zaaktype-link.service.d.ts +1 -1
- package/lib/services/{dossier-management-zgw.service.d.ts → case-management-zgw.service.d.ts} +4 -4
- package/lib/services/case-management-zgw.service.d.ts.map +1 -0
- package/lib/services/index.d.ts +1 -1
- package/lib/services/index.d.ts.map +1 -1
- package/lib/zgw.module.d.ts +1 -2
- package/lib/zgw.module.d.ts.map +1 -1
- package/package.json +7 -9
- package/public_api.d.ts +0 -2
- package/public_api.d.ts.map +1 -1
- package/esm2022/lib/components/dossier-management-zgw/dossier-management-zgw.component.mjs +0 -91
- package/esm2022/lib/components/index.mjs +0 -17
- package/esm2022/lib/models/dossier-management-zgw.model.mjs +0 -23
- package/esm2022/lib/models/index.mjs +0 -17
- package/esm2022/lib/modules/contactmomenten/components/contact-moments/contact-moments.component.mjs +0 -89
- package/esm2022/lib/modules/contactmomenten/components/index.mjs +0 -17
- package/esm2022/lib/modules/contactmomenten/index.mjs +0 -19
- package/esm2022/lib/modules/contactmomenten/models/contact-moment.model.mjs +0 -17
- package/esm2022/lib/modules/contactmomenten/models/index.mjs +0 -17
- package/esm2022/lib/modules/contactmomenten/services/contact-moment.service.mjs +0 -43
- package/esm2022/lib/modules/contactmomenten/services/index.mjs +0 -17
- package/esm2022/lib/modules/documenten-api/components/documenten-api-column-modal/documenten-api-column-modal.component.mjs +0 -175
- package/esm2022/lib/modules/documenten-api/components/documenten-api-columns/documenten-api-columns.component.mjs +0 -142
- package/esm2022/lib/modules/documenten-api/components/documenten-api-documents/documenten-api-documents.component.mjs +0 -443
- package/esm2022/lib/modules/documenten-api/components/documenten-api-filter/documenten-api-filter.component.mjs +0 -174
- package/esm2022/lib/modules/documenten-api/components/documenten-api-link-upload-process/dossier-management-link-process.component.mjs +0 -100
- package/esm2022/lib/modules/documenten-api/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.mjs +0 -541
- package/esm2022/lib/modules/documenten-api/components/documenten-api-tag-modal/documenten-api-tag-modal.component.mjs +0 -116
- package/esm2022/lib/modules/documenten-api/components/documenten-api-tags/documenten-api-tags.component.mjs +0 -162
- package/esm2022/lib/modules/documenten-api/components/documenten-api-upload-field-model/documenten-api-upload-field-modal.component.mjs +0 -183
- package/esm2022/lib/modules/documenten-api/components/documenten-api-upload-fields/documenten-api-upload-fields.component.mjs +0 -118
- package/esm2022/lib/modules/documenten-api/components/documenten-api-version/documenten-api-version.component.mjs +0 -43
- package/esm2022/lib/modules/documenten-api/components/index.mjs +0 -27
- package/esm2022/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader-edit-form.mjs +0 -554
- package/esm2022/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.component.mjs +0 -256
- package/esm2022/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.formio.mjs +0 -46
- package/esm2022/lib/modules/documenten-api/formio/documenten-api-uploader/index.mjs +0 -19
- package/esm2022/lib/modules/documenten-api/formio/index.mjs +0 -17
- package/esm2022/lib/modules/documenten-api/index.mjs +0 -20
- package/esm2022/lib/modules/documenten-api/models/configured-column.model.mjs +0 -27
- package/esm2022/lib/modules/documenten-api/models/documenten-api-column-modal.model.mjs +0 -17
- package/esm2022/lib/modules/documenten-api/models/documenten-api-filter.model.mjs +0 -17
- package/esm2022/lib/modules/documenten-api/models/documenten-api-link-process.model.mjs +0 -17
- package/esm2022/lib/modules/documenten-api/models/documenten-api-metadata.model.mjs +0 -34
- package/esm2022/lib/modules/documenten-api/models/documenten-api-tag.model.mjs +0 -17
- package/esm2022/lib/modules/documenten-api/models/documenten-api-upload-field.model.mjs +0 -33
- package/esm2022/lib/modules/documenten-api/models/documenten-api-version.model.mjs +0 -17
- package/esm2022/lib/modules/documenten-api/models/documenten-api.model.mjs +0 -37
- package/esm2022/lib/modules/documenten-api/models/index.mjs +0 -23
- package/esm2022/lib/modules/documenten-api/services/documenten-api-column.service.mjs +0 -38
- package/esm2022/lib/modules/documenten-api/services/documenten-api-document.service.mjs +0 -58
- package/esm2022/lib/modules/documenten-api/services/documenten-api-link-process.service.mjs +0 -51
- package/esm2022/lib/modules/documenten-api/services/documenten-api-tag.service.mjs +0 -36
- package/esm2022/lib/modules/documenten-api/services/documenten-api-version.service.mjs +0 -50
- package/esm2022/lib/modules/documenten-api/services/index.mjs +0 -21
- package/esm2022/lib/modules/haalcentraal-brp/components/cases-list/cases-list.component.mjs +0 -56
- package/esm2022/lib/modules/haalcentraal-brp/components/customer-list/customer-list.component.mjs +0 -133
- package/esm2022/lib/modules/haalcentraal-brp/customer-routing.module.mjs +0 -51
- package/esm2022/lib/modules/haalcentraal-brp/customer.module.mjs +0 -76
- package/esm2022/lib/modules/haalcentraal-brp/index.mjs +0 -19
- package/esm2022/lib/modules/haalcentraal-brp/models/case.mjs +0 -17
- package/esm2022/lib/modules/haalcentraal-brp/models/customer.mjs +0 -17
- package/esm2022/lib/modules/haalcentraal-brp/models/index.mjs +0 -18
- package/esm2022/lib/modules/haalcentraal-brp/services/customer.service.mjs +0 -43
- package/esm2022/lib/modules/haalcentraal-brp/services/index.mjs +0 -17
- package/esm2022/lib/modules/index.mjs +0 -22
- package/esm2022/lib/modules/objecten-api/components/index.mjs +0 -18
- package/esm2022/lib/modules/objecten-api/components/object-type/object-type.component.mjs +0 -122
- package/esm2022/lib/modules/objecten-api/components/zaakobjecten/zaakobjecten.component.mjs +0 -125
- package/esm2022/lib/modules/objecten-api/index.mjs +0 -19
- package/esm2022/lib/modules/objecten-api/models/index.mjs +0 -17
- package/esm2022/lib/modules/objecten-api/models/zaakobjecten.model.mjs +0 -17
- package/esm2022/lib/modules/objecten-api/services/index.mjs +0 -17
- package/esm2022/lib/modules/objecten-api/services/zaakobjecten.service.mjs +0 -44
- package/esm2022/lib/modules/zaakdetails/components/document-objecten-api-sync/document-objecten-api-sync.component.mjs +0 -127
- package/esm2022/lib/modules/zaakdetails/components/index.mjs +0 -17
- package/esm2022/lib/modules/zaakdetails/index.mjs +0 -19
- package/esm2022/lib/modules/zaakdetails/models/document-objecten-api-sync.model.mjs +0 -2
- package/esm2022/lib/modules/zaakdetails/models/index.mjs +0 -17
- package/esm2022/lib/modules/zaakdetails/services/document-objecten-api-sync.service.mjs +0 -51
- package/esm2022/lib/modules/zaakdetails/services/index.mjs +0 -17
- package/esm2022/lib/modules/zaken-api/components/index.mjs +0 -17
- package/esm2022/lib/modules/zaken-api/components/zaken-api-zaaktype-link/zaken-api-zaaktype-link.component.mjs +0 -183
- package/esm2022/lib/modules/zaken-api/index.mjs +0 -19
- package/esm2022/lib/modules/zaken-api/models/index.mjs +0 -17
- package/esm2022/lib/modules/zaken-api/models/zaken-api-zaaktype-link.model.mjs +0 -2
- package/esm2022/lib/modules/zaken-api/services/index.mjs +0 -17
- package/esm2022/lib/modules/zaken-api/services/zaken-api-zaaktype-link.service.mjs +0 -39
- package/esm2022/lib/services/dossier-management-zgw.service.mjs +0 -43
- package/esm2022/lib/services/index.mjs +0 -17
- package/esm2022/lib/zgw.module.mjs +0 -123
- package/esm2022/public_api.mjs +0 -27
- package/esm2022/valtimo-zgw.mjs +0 -5
- package/lib/components/dossier-management-zgw/dossier-management-zgw.component.d.ts +0 -24
- package/lib/components/dossier-management-zgw/dossier-management-zgw.component.d.ts.map +0 -1
- package/lib/models/dossier-management-zgw.model.d.ts.map +0 -1
- package/lib/modules/contactmomenten/components/contact-moments/contact-moments.component.d.ts +0 -29
- package/lib/modules/contactmomenten/components/contact-moments/contact-moments.component.d.ts.map +0 -1
- package/lib/modules/contactmomenten/components/index.d.ts +0 -2
- package/lib/modules/contactmomenten/components/index.d.ts.map +0 -1
- package/lib/modules/contactmomenten/index.d.ts +0 -4
- package/lib/modules/contactmomenten/index.d.ts.map +0 -1
- package/lib/modules/contactmomenten/models/contact-moment.model.d.ts +0 -14
- package/lib/modules/contactmomenten/models/contact-moment.model.d.ts.map +0 -1
- package/lib/modules/contactmomenten/models/index.d.ts +0 -2
- package/lib/modules/contactmomenten/models/index.d.ts.map +0 -1
- package/lib/modules/contactmomenten/services/contact-moment.service.d.ts +0 -18
- package/lib/modules/contactmomenten/services/contact-moment.service.d.ts.map +0 -1
- package/lib/modules/contactmomenten/services/index.d.ts +0 -2
- package/lib/modules/contactmomenten/services/index.d.ts.map +0 -1
- package/lib/modules/documenten-api/components/documenten-api-link-upload-process/dossier-management-link-process.component.d.ts.map +0 -1
- package/lib/modules/haalcentraal-brp/components/cases-list/cases-list.component.d.ts +0 -20
- package/lib/modules/haalcentraal-brp/components/cases-list/cases-list.component.d.ts.map +0 -1
- package/lib/modules/haalcentraal-brp/components/customer-list/customer-list.component.d.ts +0 -39
- package/lib/modules/haalcentraal-brp/components/customer-list/customer-list.component.d.ts.map +0 -1
- package/lib/modules/haalcentraal-brp/customer-routing.module.d.ts +0 -9
- package/lib/modules/haalcentraal-brp/customer-routing.module.d.ts.map +0 -1
- package/lib/modules/haalcentraal-brp/customer.module.d.ts +0 -17
- package/lib/modules/haalcentraal-brp/customer.module.d.ts.map +0 -1
- package/lib/modules/haalcentraal-brp/index.d.ts +0 -4
- package/lib/modules/haalcentraal-brp/index.d.ts.map +0 -1
- package/lib/modules/haalcentraal-brp/models/case.d.ts +0 -8
- package/lib/modules/haalcentraal-brp/models/case.d.ts.map +0 -1
- package/lib/modules/haalcentraal-brp/models/customer.d.ts +0 -22
- package/lib/modules/haalcentraal-brp/models/customer.d.ts.map +0 -1
- package/lib/modules/haalcentraal-brp/models/index.d.ts +0 -3
- package/lib/modules/haalcentraal-brp/models/index.d.ts.map +0 -1
- package/lib/modules/haalcentraal-brp/services/customer.service.d.ts +0 -18
- package/lib/modules/haalcentraal-brp/services/customer.service.d.ts.map +0 -1
- package/lib/modules/haalcentraal-brp/services/index.d.ts +0 -2
- package/lib/modules/haalcentraal-brp/services/index.d.ts.map +0 -1
- package/lib/services/dossier-management-zgw.service.d.ts.map +0 -1
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { CommonModule } from '@angular/common';
|
|
17
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
18
|
-
import { ReactiveFormsModule, Validators } from '@angular/forms';
|
|
19
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
20
|
-
import { ButtonModule, DropdownModule, InputModule, LayerModule, ModalModule, NotificationModule, RadioModule, } from 'carbon-components-angular';
|
|
21
|
-
import { BehaviorSubject, combineLatest, map, Subscription, switchMap } from 'rxjs';
|
|
22
|
-
import { CARBON_CONSTANTS } from '@valtimo/components';
|
|
23
|
-
import * as i0 from "@angular/core";
|
|
24
|
-
import * as i1 from "@angular/forms";
|
|
25
|
-
import * as i2 from "@ngx-translate/core";
|
|
26
|
-
import * as i3 from "../../services";
|
|
27
|
-
import * as i4 from "@angular/common";
|
|
28
|
-
import * as i5 from "carbon-components-angular";
|
|
29
|
-
export class DocumentenApiColumnModalComponent {
|
|
30
|
-
set prefillColumn(value) {
|
|
31
|
-
if (!value)
|
|
32
|
-
return;
|
|
33
|
-
const column = { content: value.key, selected: true, column: value };
|
|
34
|
-
const defaultSort = value.defaultSort ?? 'noDefault';
|
|
35
|
-
this.formGroup.patchValue({ column, defaultSort });
|
|
36
|
-
this.formGroup.get('column')?.disable();
|
|
37
|
-
this._prefillColumn = [column];
|
|
38
|
-
}
|
|
39
|
-
get prefillColumn() {
|
|
40
|
-
return this._prefillColumn;
|
|
41
|
-
}
|
|
42
|
-
set type(value) {
|
|
43
|
-
this._type = value;
|
|
44
|
-
if (value === 'edit') {
|
|
45
|
-
this.formGroup.get('column')?.disable;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
get type() {
|
|
49
|
-
return this._type;
|
|
50
|
-
}
|
|
51
|
-
set availableColumns(value) {
|
|
52
|
-
if (!value)
|
|
53
|
-
return;
|
|
54
|
-
this._availableColumns$.next(value);
|
|
55
|
-
}
|
|
56
|
-
set configuredColumns(value) {
|
|
57
|
-
if (!value)
|
|
58
|
-
return;
|
|
59
|
-
this._defaultSortedColumn = value.find((column) => !!column.defaultSort);
|
|
60
|
-
}
|
|
61
|
-
constructor(fb, translateService, zgwDocumentenApiColumnService) {
|
|
62
|
-
this.fb = fb;
|
|
63
|
-
this.translateService = translateService;
|
|
64
|
-
this.zgwDocumentenApiColumnService = zgwDocumentenApiColumnService;
|
|
65
|
-
this._availableColumns$ = new BehaviorSubject([]);
|
|
66
|
-
this.availableColumns$ = combineLatest([
|
|
67
|
-
this._availableColumns$,
|
|
68
|
-
this.translateService.stream('key'),
|
|
69
|
-
]).pipe(map(([columns]) => columns.map((column) => ({
|
|
70
|
-
content: this.translateService.instant(`zgw.documentColumns.${column.key}`),
|
|
71
|
-
selected: false,
|
|
72
|
-
column,
|
|
73
|
-
}))));
|
|
74
|
-
this.closeModal = new EventEmitter();
|
|
75
|
-
this.formGroup = this.fb.group({
|
|
76
|
-
column: this.fb.control({ content: '', selected: false, column: {} }, Validators.required),
|
|
77
|
-
defaultSort: this.fb.control('noDefault'),
|
|
78
|
-
});
|
|
79
|
-
this._notificationMessage$ = new BehaviorSubject('zgw.columns.defaultWarning');
|
|
80
|
-
this.notificationObj$ = combineLatest([
|
|
81
|
-
this._notificationMessage$,
|
|
82
|
-
this.translateService.stream('key'),
|
|
83
|
-
]).pipe(map(([message]) => ({
|
|
84
|
-
type: 'warning',
|
|
85
|
-
lowContrast: true,
|
|
86
|
-
title: this.translateService.instant('interface.warning'),
|
|
87
|
-
message: this.translateService.instant(message),
|
|
88
|
-
showClose: false,
|
|
89
|
-
})));
|
|
90
|
-
this.showRadioButtons = true;
|
|
91
|
-
this._subscriptions = new Subscription();
|
|
92
|
-
}
|
|
93
|
-
ngOnInit() {
|
|
94
|
-
this.openDisableRadioSubscription();
|
|
95
|
-
}
|
|
96
|
-
ngOnDestroy() {
|
|
97
|
-
this._subscriptions.unsubscribe();
|
|
98
|
-
}
|
|
99
|
-
onClose(refresh = false) {
|
|
100
|
-
this.closeModal.emit(refresh ? 'closeAndRefresh' : 'close');
|
|
101
|
-
setTimeout(() => {
|
|
102
|
-
this.formGroup.reset();
|
|
103
|
-
this.formGroup.enable();
|
|
104
|
-
this.showRadioButtons = true;
|
|
105
|
-
this._notificationMessage$.next('zgw.columns.defaultWarning');
|
|
106
|
-
this._prefillColumn = null;
|
|
107
|
-
}, CARBON_CONSTANTS.modalAnimationMs);
|
|
108
|
-
}
|
|
109
|
-
updateColumn() {
|
|
110
|
-
const columnValue = this.formGroup.get('column')?.value;
|
|
111
|
-
if (!columnValue || !this.definitionName) {
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
const defaultSortValue = this.formGroup.get('defaultSort')?.value;
|
|
115
|
-
const defaultSort = !defaultSortValue
|
|
116
|
-
? null
|
|
117
|
-
: defaultSortValue === 'noDefault'
|
|
118
|
-
? null
|
|
119
|
-
: defaultSortValue;
|
|
120
|
-
const column = { ...columnValue.column, defaultSort };
|
|
121
|
-
if (!!this._defaultSortedColumn &&
|
|
122
|
-
this._defaultSortedColumn.key !== column.key &&
|
|
123
|
-
!!column.defaultSort) {
|
|
124
|
-
this.zgwDocumentenApiColumnService
|
|
125
|
-
.updateColumn(this.definitionName, {
|
|
126
|
-
...this._defaultSortedColumn,
|
|
127
|
-
defaultSort: null,
|
|
128
|
-
})
|
|
129
|
-
.pipe(switchMap(() => this.zgwDocumentenApiColumnService.updateColumn(this.definitionName, column)))
|
|
130
|
-
.subscribe(() => {
|
|
131
|
-
this.onClose(true);
|
|
132
|
-
});
|
|
133
|
-
return;
|
|
134
|
-
}
|
|
135
|
-
this.zgwDocumentenApiColumnService.updateColumn(this.definitionName, column).subscribe(() => {
|
|
136
|
-
this.onClose(true);
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
openDisableRadioSubscription() {
|
|
140
|
-
this._subscriptions.add(this.formGroup.get('column')?.valueChanges.subscribe(columnValue => {
|
|
141
|
-
this.showRadioButtons = !!columnValue?.column.sortable;
|
|
142
|
-
this._notificationMessage$.next(this.showRadioButtons ? 'zgw.columns.defaultWarning' : 'zgw.columns.notSortable');
|
|
143
|
-
}));
|
|
144
|
-
}
|
|
145
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiColumnModalComponent, deps: [{ token: i1.FormBuilder }, { token: i2.TranslateService }, { token: i3.DocumentenApiColumnService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
146
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DocumentenApiColumnModalComponent, isStandalone: true, selector: "valtimo-documenten-api-column-modal", inputs: { definitionName: "definitionName", prefillColumn: "prefillColumn", type: "type", availableColumns: "availableColumns", configuredColumns: "configuredColumns" }, outputs: { closeModal: "closeModal" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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\n<cds-modal valtimoCdsModal [open]=\"type !== 'closed'\" size=\"sm\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onClose()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{ (type === 'add' ? 'zgw.columns.add' : 'zgw.columns.edit') | translate }}\n </h3>\n </cds-modal-header>\n\n <form\n class=\"valtimo-documenten-api-column-modal__content\"\n cdsModalContent\n [formGroup]=\"formGroup\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown\n formControlName=\"column\"\n [label]=\"'zgw.columns.column' | translate\"\n [dropUp]=\"false\"\n >\n <cds-dropdown-list\n [items]=\"!prefillColumn ? (availableColumns$ | async) : prefillColumn\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-radio-group *ngIf=\"showRadioButtons\" legend=\"Default sort\" formControlName=\"defaultSort\">\n <cds-radio value=\"noDefault\"> {{ 'interface.sorting.noDefault' | translate }} </cds-radio>\n\n <cds-radio value=\"DESC\"> {{ 'interface.sorting.descending' | translate }} </cds-radio>\n\n <cds-radio value=\"ASC\"> {{ 'interface.sorting.ascending' | translate }} </cds-radio>\n </cds-radio-group>\n\n <cds-inline-notification [notificationObj]=\"notificationObj$ | async\"></cds-inline-notification>\n </form>\n\n <cds-modal-footer [cdsLayer]=\"1\">\n <button cdsButton=\"secondary\" (click)=\"onClose()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"formGroup.invalid\" (click)=\"updateColumn()\">\n {{ (type === 'add' ? 'interface.add' : 'interface.save') | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-documenten-api-column-modal__content{display:flex;flex-direction:column;gap:16px}\n/*!\n * Copyright 2015-2024 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"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i5.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i5.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i5.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i5.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i5.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: InputModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i5.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i5.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: RadioModule }, { kind: "component", type: i5.Radio, selector: "cds-radio, ibm-radio", inputs: ["checked", "name", "disabled", "labelPlacement", "ariaLabelledby", "ariaLabel", "required", "value", "skeleton", "id"], outputs: ["change"] }, { kind: "component", type: i5.RadioGroup, selector: "cds-radio-group, ibm-radio-group", inputs: ["selected", "value", "name", "disabled", "skeleton", "orientation", "labelPlacement", "legend", "ariaLabel", "ariaLabelledby", "helperText", "invalid", "invalidText", "warn", "warnText"], outputs: ["change"] }, { kind: "ngmodule", type: NotificationModule }, { kind: "component", type: i5.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i5.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
147
|
-
}
|
|
148
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiColumnModalComponent, decorators: [{
|
|
149
|
-
type: Component,
|
|
150
|
-
args: [{ selector: 'valtimo-documenten-api-column-modal', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
151
|
-
CommonModule,
|
|
152
|
-
ModalModule,
|
|
153
|
-
TranslateModule,
|
|
154
|
-
InputModule,
|
|
155
|
-
ReactiveFormsModule,
|
|
156
|
-
ButtonModule,
|
|
157
|
-
DropdownModule,
|
|
158
|
-
RadioModule,
|
|
159
|
-
NotificationModule,
|
|
160
|
-
LayerModule,
|
|
161
|
-
], template: "<!--\n ~ Copyright 2015-2024 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\n<cds-modal valtimoCdsModal [open]=\"type !== 'closed'\" size=\"sm\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onClose()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{ (type === 'add' ? 'zgw.columns.add' : 'zgw.columns.edit') | translate }}\n </h3>\n </cds-modal-header>\n\n <form\n class=\"valtimo-documenten-api-column-modal__content\"\n cdsModalContent\n [formGroup]=\"formGroup\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown\n formControlName=\"column\"\n [label]=\"'zgw.columns.column' | translate\"\n [dropUp]=\"false\"\n >\n <cds-dropdown-list\n [items]=\"!prefillColumn ? (availableColumns$ | async) : prefillColumn\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-radio-group *ngIf=\"showRadioButtons\" legend=\"Default sort\" formControlName=\"defaultSort\">\n <cds-radio value=\"noDefault\"> {{ 'interface.sorting.noDefault' | translate }} </cds-radio>\n\n <cds-radio value=\"DESC\"> {{ 'interface.sorting.descending' | translate }} </cds-radio>\n\n <cds-radio value=\"ASC\"> {{ 'interface.sorting.ascending' | translate }} </cds-radio>\n </cds-radio-group>\n\n <cds-inline-notification [notificationObj]=\"notificationObj$ | async\"></cds-inline-notification>\n </form>\n\n <cds-modal-footer [cdsLayer]=\"1\">\n <button cdsButton=\"secondary\" (click)=\"onClose()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"formGroup.invalid\" (click)=\"updateColumn()\">\n {{ (type === 'add' ? 'interface.add' : 'interface.save') | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-documenten-api-column-modal__content{display:flex;flex-direction:column;gap:16px}\n/*!\n * Copyright 2015-2024 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"] }]
|
|
162
|
-
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.TranslateService }, { type: i3.DocumentenApiColumnService }], propDecorators: { definitionName: [{
|
|
163
|
-
type: Input
|
|
164
|
-
}], prefillColumn: [{
|
|
165
|
-
type: Input
|
|
166
|
-
}], type: [{
|
|
167
|
-
type: Input
|
|
168
|
-
}], availableColumns: [{
|
|
169
|
-
type: Input
|
|
170
|
-
}], configuredColumns: [{
|
|
171
|
-
type: Input
|
|
172
|
-
}], closeModal: [{
|
|
173
|
-
type: Output
|
|
174
|
-
}] } });
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRlbi1hcGktY29sdW1uLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vemd3L3NyYy9saWIvbW9kdWxlcy9kb2N1bWVudGVuLWFwaS9jb21wb25lbnRzL2RvY3VtZW50ZW4tYXBpLWNvbHVtbi1tb2RhbC9kb2N1bWVudGVuLWFwaS1jb2x1bW4tbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby96Z3cvc3JjL2xpYi9tb2R1bGVzL2RvY3VtZW50ZW4tYXBpL2NvbXBvbmVudHMvZG9jdW1lbnRlbi1hcGktY29sdW1uLW1vZGFsL2RvY3VtZW50ZW4tYXBpLWNvbHVtbi1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWMsbUJBQW1CLEVBQUUsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUUsT0FBTyxFQUFDLGVBQWUsRUFBbUIsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsWUFBWSxFQUNaLGNBQWMsRUFDZCxXQUFXLEVBQ1gsV0FBVyxFQUVYLFdBQVcsRUFFWCxrQkFBa0IsRUFDbEIsV0FBVyxHQUNaLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLFlBQVksRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFPOUYsT0FBTyxFQUFDLGdCQUFnQixFQUFD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QkFBa0IsMk1BQ2xCLFdBQVc7OzRGQUdGLGlDQUFpQztrQkFuQjdDLFNBQVM7K0JBQ0UscUNBQXFDLG1CQUc5Qix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixXQUFXO3FCQUNaO3dKQUdlLGNBQWM7c0JBQTdCLEtBQUs7Z0JBR2MsYUFBYTtzQkFBaEMsS0FBSztnQkFjYyxJQUFJO3NCQUF2QixLQUFLO2dCQVdjLGdCQUFnQjtzQkFBbkMsS0FBSztnQkFvQmMsaUJBQWlCO3NCQUFwQyxLQUFLO2dCQU1JLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUJ1aWxkZXIsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7XG4gIEJ1dHRvbk1vZHVsZSxcbiAgRHJvcGRvd25Nb2R1bGUsXG4gIElucHV0TW9kdWxlLFxuICBMYXllck1vZHVsZSxcbiAgTGlzdEl0ZW0sXG4gIE1vZGFsTW9kdWxlLFxuICBOb3RpZmljYXRpb25Db250ZW50LFxuICBOb3RpZmljYXRpb25Nb2R1bGUsXG4gIFJhZGlvTW9kdWxlLFxufSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgc3dpdGNoTWFwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIENvbmZpZ3VyZWRDb2x1bW4sXG4gIERvY3VtZW50ZW5BcGlDb2x1bW5Nb2RhbFR5cGUsXG4gIERvY3VtZW50ZW5BcGlDb2x1bW5Nb2RhbFR5cGVDbG9zZUV2ZW50LFxufSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtEb2N1bWVudGVuQXBpQ29sdW1uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtDQVJCT05fQ09OU1RBTlRTfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kb2N1bWVudGVuLWFwaS1jb2x1bW4tbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vZG9jdW1lbnRlbi1hcGktY29sdW1uLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZG9jdW1lbnRlbi1hcGktY29sdW1uLW1vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1vZGFsTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBEcm9wZG93bk1vZHVsZSxcbiAgICBSYWRpb01vZHVsZSxcbiAgICBOb3RpZmljYXRpb25Nb2R1bGUsXG4gICAgTGF5ZXJNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERvY3VtZW50ZW5BcGlDb2x1bW5Nb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcHVibGljIGRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfcHJlZmlsbENvbHVtbiE6IExpc3RJdGVtW10gfCBudWxsO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IHByZWZpbGxDb2x1bW4odmFsdWU6IENvbmZpZ3VyZWRDb2x1bW4gfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm47XG5cbiAgICBjb25zdCBjb2x1bW4gPSB7Y29udGVudDogdmFsdWUua2V5LCBzZWxlY3RlZDogdHJ1ZSwgY29sdW1uOiB2YWx1ZX07XG4gICAgY29uc3QgZGVmYXVsdFNvcnQgPSB2YWx1ZS5kZWZhdWx0U29ydCA/PyAnbm9EZWZhdWx0JztcbiAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHtjb2x1bW4sIGRlZmF1bHRTb3J0fSk7XG4gICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdjb2x1bW4nKT8uZGlzYWJsZSgpO1xuICAgIHRoaXMuX3ByZWZpbGxDb2x1bW4gPSBbY29sdW1uXTtcbiAgfVxuICBwdWJsaWMgZ2V0IHByZWZpbGxDb2x1bW4oKTogTGlzdEl0ZW1bXSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9wcmVmaWxsQ29sdW1uO1xuICB9XG5cbiAgcHJpdmF0ZSBfdHlwZSE6IERvY3VtZW50ZW5BcGlDb2x1bW5Nb2RhbFR5cGU7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgdHlwZSh2YWx1ZTogRG9jdW1lbnRlbkFwaUNvbHVtbk1vZGFsVHlwZSkge1xuICAgIHRoaXMuX3R5cGUgPSB2YWx1ZTtcbiAgICBpZiAodmFsdWUgPT09ICdlZGl0Jykge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdjb2x1bW4nKT8uZGlzYWJsZTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCB0eXBlKCk6IERvY3VtZW50ZW5BcGlDb2x1bW5Nb2RhbFR5cGUge1xuICAgIHJldHVybiB0aGlzLl90eXBlO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYXZhaWxhYmxlQ29sdW1ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENvbmZpZ3VyZWRDb2x1bW5bXT4oW10pO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IGF2YWlsYWJsZUNvbHVtbnModmFsdWU6IENvbmZpZ3VyZWRDb2x1bW5bXSkge1xuICAgIGlmICghdmFsdWUpIHJldHVybjtcblxuICAgIHRoaXMuX2F2YWlsYWJsZUNvbHVtbnMkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGF2YWlsYWJsZUNvbHVtbnMkOiBPYnNlcnZhYmxlPExpc3RJdGVtW10+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5fYXZhaWxhYmxlQ29sdW1ucyQsXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgna2V5JyksXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbY29sdW1uc10pID0+XG4gICAgICBjb2x1bW5zLm1hcCgoY29sdW1uOiBDb25maWd1cmVkQ29sdW1uKSA9PiAoe1xuICAgICAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChgemd3LmRvY3VtZW50Q29sdW1ucy4ke2NvbHVtbi5rZXl9YCksXG4gICAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgY29sdW1uLFxuICAgICAgfSkpXG4gICAgKVxuICApO1xuXG4gIHByaXZhdGUgX2RlZmF1bHRTb3J0ZWRDb2x1bW4hOiBDb25maWd1cmVkQ29sdW1uIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IGNvbmZpZ3VyZWRDb2x1bW5zKHZhbHVlOiBDb25maWd1cmVkQ29sdW1uW10pIHtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm47XG5cbiAgICB0aGlzLl9kZWZhdWx0U29ydGVkQ29sdW1uID0gdmFsdWUuZmluZCgoY29sdW1uOiBDb25maWd1cmVkQ29sdW1uKSA9PiAhIWNvbHVtbi5kZWZhdWx0U29ydCk7XG4gIH1cblxuICBAT3V0cHV0KCkgY2xvc2VNb2RhbCA9IG5ldyBFdmVudEVtaXR0ZXI8RG9jdW1lbnRlbkFwaUNvbHVtbk1vZGFsVHlwZUNsb3NlRXZlbnQ+KCk7XG5cbiAgcHVibGljIGZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgIGNvbHVtbjogdGhpcy5mYi5jb250cm9sKFxuICAgICAge2NvbnRlbnQ6ICcnLCBzZWxlY3RlZDogZmFsc2UsIGNvbHVtbjoge30gYXMgQ29uZmlndXJlZENvbHVtbn0sXG4gICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXG4gICAgKSxcbiAgICBkZWZhdWx0U29ydDogdGhpcy5mYi5jb250cm9sPCdBU0MnIHwgJ0RFU0MnIHwgJ25vRGVmYXVsdCc+KCdub0RlZmF1bHQnKSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbm90aWZpY2F0aW9uTWVzc2FnZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oXG4gICAgJ3pndy5jb2x1bW5zLmRlZmF1bHRXYXJuaW5nJ1xuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgbm90aWZpY2F0aW9uT2JqJDogT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25Db250ZW50PiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuX25vdGlmaWNhdGlvbk1lc3NhZ2UkLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW21lc3NhZ2VdKSA9PiAoe1xuICAgICAgdHlwZTogJ3dhcm5pbmcnLFxuICAgICAgbG93Q29udHJhc3Q6IHRydWUsXG4gICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2ludGVyZmFjZS53YXJuaW5nJyksXG4gICAgICBtZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChtZXNzYWdlKSxcbiAgICAgIHNob3dDbG9zZTogZmFsc2UsXG4gICAgfSkpXG4gICk7XG5cbiAgcHVibGljIHNob3dSYWRpb0J1dHRvbnMgPSB0cnVlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgemd3RG9jdW1lbnRlbkFwaUNvbHVtblNlcnZpY2U6IERvY3VtZW50ZW5BcGlDb2x1bW5TZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuRGlzYWJsZVJhZGlvU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG9uQ2xvc2UocmVmcmVzaCA9IGZhbHNlKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZU1vZGFsLmVtaXQocmVmcmVzaCA/ICdjbG9zZUFuZFJlZnJlc2gnIDogJ2Nsb3NlJyk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLnJlc2V0KCk7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5lbmFibGUoKTtcbiAgICAgIHRoaXMuc2hvd1JhZGlvQnV0dG9ucyA9IHRydWU7XG4gICAgICB0aGlzLl9ub3RpZmljYXRpb25NZXNzYWdlJC5uZXh0KCd6Z3cuY29sdW1ucy5kZWZhdWx0V2FybmluZycpO1xuICAgICAgdGhpcy5fcHJlZmlsbENvbHVtbiA9IG51bGw7XG4gICAgfSwgQ0FSQk9OX0NPTlNUQU5UUy5tb2RhbEFuaW1hdGlvbk1zKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVDb2x1bW4oKTogdm9pZCB7XG4gICAgY29uc3QgY29sdW1uVmFsdWU6IExpc3RJdGVtIHwgbnVsbCB8IHVuZGVmaW5lZCA9IHRoaXMuZm9ybUdyb3VwLmdldCgnY29sdW1uJyk/LnZhbHVlO1xuICAgIGlmICghY29sdW1uVmFsdWUgfHwgIXRoaXMuZGVmaW5pdGlvbk5hbWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZGVmYXVsdFNvcnRWYWx1ZSA9IHRoaXMuZm9ybUdyb3VwLmdldCgnZGVmYXVsdFNvcnQnKT8udmFsdWU7XG4gICAgY29uc3QgZGVmYXVsdFNvcnQgPSAhZGVmYXVsdFNvcnRWYWx1ZVxuICAgICAgPyBudWxsXG4gICAgICA6IGRlZmF1bHRTb3J0VmFsdWUgPT09ICdub0RlZmF1bHQnXG4gICAgICAgID8gbnVsbFxuICAgICAgICA6IGRlZmF1bHRTb3J0VmFsdWU7XG4gICAgY29uc3QgY29sdW1uID0gey4uLmNvbHVtblZhbHVlLmNvbHVtbiwgZGVmYXVsdFNvcnR9O1xuXG4gICAgaWYgKFxuICAgICAgISF0aGlzLl9kZWZhdWx0U29ydGVkQ29sdW1uICYmXG4gICAgICB0aGlzLl9kZWZhdWx0U29ydGVkQ29sdW1uLmtleSAhPT0gY29sdW1uLmtleSAmJlxuICAgICAgISFjb2x1bW4uZGVmYXVsdFNvcnRcbiAgICApIHtcbiAgICAgIHRoaXMuemd3RG9jdW1lbnRlbkFwaUNvbHVtblNlcnZpY2VcbiAgICAgICAgLnVwZGF0ZUNvbHVtbih0aGlzLmRlZmluaXRpb25OYW1lLCB7XG4gICAgICAgICAgLi4udGhpcy5fZGVmYXVsdFNvcnRlZENvbHVtbixcbiAgICAgICAgICBkZWZhdWx0U29ydDogbnVsbCxcbiAgICAgICAgfSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgICB0aGlzLnpnd0RvY3VtZW50ZW5BcGlDb2x1bW5TZXJ2aWNlLnVwZGF0ZUNvbHVtbih0aGlzLmRlZmluaXRpb25OYW1lLCBjb2x1bW4pXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMub25DbG9zZSh0cnVlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnpnd0RvY3VtZW50ZW5BcGlDb2x1bW5TZXJ2aWNlLnVwZGF0ZUNvbHVtbih0aGlzLmRlZmluaXRpb25OYW1lLCBjb2x1bW4pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLm9uQ2xvc2UodHJ1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5EaXNhYmxlUmFkaW9TdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2NvbHVtbicpPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKGNvbHVtblZhbHVlID0+IHtcbiAgICAgICAgdGhpcy5zaG93UmFkaW9CdXR0b25zID0gISFjb2x1bW5WYWx1ZT8uY29sdW1uLnNvcnRhYmxlO1xuXG4gICAgICAgIHRoaXMuX25vdGlmaWNhdGlvbk1lc3NhZ2UkLm5leHQoXG4gICAgICAgICAgdGhpcy5zaG93UmFkaW9CdXR0b25zID8gJ3pndy5jb2x1bW5zLmRlZmF1bHRXYXJuaW5nJyA6ICd6Z3cuY29sdW1ucy5ub3RTb3J0YWJsZSdcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48Y2RzLW1vZGFsIHZhbHRpbW9DZHNNb2RhbCBbb3Blbl09XCJ0eXBlICE9PSAnY2xvc2VkJ1wiIHNpemU9XCJzbVwiPlxuICA8Y2RzLW1vZGFsLWhlYWRlciBzaG93Q2xvc2VCdXR0b249XCJ0cnVlXCIgKGNsb3NlU2VsZWN0KT1cIm9uQ2xvc2UoKVwiIFtjZHNMYXllcl09XCIxXCI+XG4gICAgPGgzIGNkc01vZGFsSGVhZGVySGVhZGluZz5cbiAgICAgIHt7ICh0eXBlID09PSAnYWRkJyA/ICd6Z3cuY29sdW1ucy5hZGQnIDogJ3pndy5jb2x1bW5zLmVkaXQnKSB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvaDM+XG4gIDwvY2RzLW1vZGFsLWhlYWRlcj5cblxuICA8Zm9ybVxuICAgIGNsYXNzPVwidmFsdGltby1kb2N1bWVudGVuLWFwaS1jb2x1bW4tbW9kYWxfX2NvbnRlbnRcIlxuICAgIGNkc01vZGFsQ29udGVudFxuICAgIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgICBbY2RzTGF5ZXJdPVwiMVwiXG4gID5cbiAgICA8Y2RzLWRyb3Bkb3duXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb2x1bW5cIlxuICAgICAgW2xhYmVsXT1cIid6Z3cuY29sdW1ucy5jb2x1bW4nIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtkcm9wVXBdPVwiZmFsc2VcIlxuICAgID5cbiAgICAgIDxjZHMtZHJvcGRvd24tbGlzdFxuICAgICAgICBbaXRlbXNdPVwiIXByZWZpbGxDb2x1bW4gPyAoYXZhaWxhYmxlQ29sdW1ucyQgfCBhc3luYykgOiBwcmVmaWxsQ29sdW1uXCJcbiAgICAgID48L2Nkcy1kcm9wZG93bi1saXN0PlxuICAgIDwvY2RzLWRyb3Bkb3duPlxuXG4gICAgPGNkcy1yYWRpby1ncm91cCAqbmdJZj1cInNob3dSYWRpb0J1dHRvbnNcIiBsZWdlbmQ9XCJEZWZhdWx0IHNvcnRcIiBmb3JtQ29udHJvbE5hbWU9XCJkZWZhdWx0U29ydFwiPlxuICAgICAgPGNkcy1yYWRpbyB2YWx1ZT1cIm5vRGVmYXVsdFwiPiB7eyAnaW50ZXJmYWNlLnNvcnRpbmcubm9EZWZhdWx0JyB8IHRyYW5zbGF0ZSB9fSA8L2Nkcy1yYWRpbz5cblxuICAgICAgPGNkcy1yYWRpbyB2YWx1ZT1cIkRFU0NcIj4ge3sgJ2ludGVyZmFjZS5zb3J0aW5nLmRlc2NlbmRpbmcnIHwgdHJhbnNsYXRlIH19IDwvY2RzLXJhZGlvPlxuXG4gICAgICA8Y2RzLXJhZGlvIHZhbHVlPVwiQVNDXCI+IHt7ICdpbnRlcmZhY2Uuc29ydGluZy5hc2NlbmRpbmcnIHwgdHJhbnNsYXRlIH19IDwvY2RzLXJhZGlvPlxuICAgIDwvY2RzLXJhZGlvLWdyb3VwPlxuXG4gICAgPGNkcy1pbmxpbmUtbm90aWZpY2F0aW9uIFtub3RpZmljYXRpb25PYmpdPVwibm90aWZpY2F0aW9uT2JqJCB8IGFzeW5jXCI+PC9jZHMtaW5saW5lLW5vdGlmaWNhdGlvbj5cbiAgPC9mb3JtPlxuXG4gIDxjZHMtbW9kYWwtZm9vdGVyIFtjZHNMYXllcl09XCIxXCI+XG4gICAgPGJ1dHRvbiBjZHNCdXR0b249XCJzZWNvbmRhcnlcIiAoY2xpY2spPVwib25DbG9zZSgpXCI+XG4gICAgICB7eyAnaW50ZXJmYWNlLmNhbmNlbCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cblxuICAgIDxidXR0b24gY2RzQnV0dG9uPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJmb3JtR3JvdXAuaW52YWxpZFwiIChjbGljayk9XCJ1cGRhdGVDb2x1bW4oKVwiPlxuICAgICAge3sgKHR5cGUgPT09ICdhZGQnID8gJ2ludGVyZmFjZS5hZGQnIDogJ2ludGVyZmFjZS5zYXZlJykgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9jZHMtbW9kYWwtZm9vdGVyPlxuPC9jZHMtbW9kYWw+XG4iXX0=
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { CommonModule } from '@angular/common';
|
|
17
|
-
import { ChangeDetectionStrategy, Component, ViewChild, } from '@angular/core';
|
|
18
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
19
|
-
import { CarbonListModule, ConfirmationModalModule, ViewType, } from '@valtimo/components';
|
|
20
|
-
import { ButtonModule, IconModule, TagModule } from 'carbon-components-angular';
|
|
21
|
-
import { BehaviorSubject, combineLatest, filter, map, switchMap, tap } from 'rxjs';
|
|
22
|
-
import { DocumentenApiColumnModalComponent } from '../documenten-api-column-modal/documenten-api-column-modal.component';
|
|
23
|
-
import * as i0 from "@angular/core";
|
|
24
|
-
import * as i1 from "@angular/router";
|
|
25
|
-
import * as i2 from "../../services";
|
|
26
|
-
import * as i3 from "@angular/common";
|
|
27
|
-
import * as i4 from "@valtimo/components";
|
|
28
|
-
import * as i5 from "@ngx-translate/core";
|
|
29
|
-
import * as i6 from "carbon-components-angular";
|
|
30
|
-
export class DocumentenApiColumnsComponent {
|
|
31
|
-
get documentDefinitionName$() {
|
|
32
|
-
return this._documentDefinitionName$;
|
|
33
|
-
}
|
|
34
|
-
constructor(route, zgwDocumentColumnService) {
|
|
35
|
-
this.route = route;
|
|
36
|
-
this.zgwDocumentColumnService = zgwDocumentColumnService;
|
|
37
|
-
this._reload$ = new BehaviorSubject(null);
|
|
38
|
-
this._documentDefinitionName$ = this.route.params.pipe(map(params => params?.name), filter(docDefName => !!docDefName));
|
|
39
|
-
this.loading$ = new BehaviorSubject(true);
|
|
40
|
-
this.configuredColumns$ = combineLatest([
|
|
41
|
-
this._documentDefinitionName$,
|
|
42
|
-
this._reload$,
|
|
43
|
-
]).pipe(tap(([_, reload]) => {
|
|
44
|
-
if (reload === null)
|
|
45
|
-
this.loading$.next(true);
|
|
46
|
-
}), switchMap(([documentDefinitionName]) => this.zgwDocumentColumnService.getAdminConfiguredColumns(documentDefinitionName)), tap(() => {
|
|
47
|
-
this.loading$.next(false);
|
|
48
|
-
}));
|
|
49
|
-
this.configurableColumns$ = this.documentDefinitionName$.pipe(switchMap((documentDefinitionName) => combineLatest([
|
|
50
|
-
this.zgwDocumentColumnService.getAdminConfigurableColumns(documentDefinitionName),
|
|
51
|
-
this.configuredColumns$,
|
|
52
|
-
])), map(([configurableColumns, configuredColumns]) => {
|
|
53
|
-
const configuredKeys = configuredColumns.map((column) => column.key);
|
|
54
|
-
return configurableColumns.filter((column) => !configuredKeys.includes(column.key));
|
|
55
|
-
}));
|
|
56
|
-
this.ACTION_ITEMS = [
|
|
57
|
-
{
|
|
58
|
-
label: 'interface.edit',
|
|
59
|
-
callback: this.openEditModal.bind(this),
|
|
60
|
-
type: 'normal',
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
label: 'interface.delete',
|
|
64
|
-
callback: this.openDeleteModal.bind(this),
|
|
65
|
-
type: 'danger',
|
|
66
|
-
},
|
|
67
|
-
];
|
|
68
|
-
this.CARBON_THEME = 'g10';
|
|
69
|
-
this.columnModalType$ = new BehaviorSubject('closed');
|
|
70
|
-
this.prefillColumn$ = new BehaviorSubject(undefined);
|
|
71
|
-
this.columnToUpdate$ = new BehaviorSubject(undefined);
|
|
72
|
-
this.showDeleteModal$ = new BehaviorSubject(false);
|
|
73
|
-
}
|
|
74
|
-
ngAfterViewInit() {
|
|
75
|
-
this.fields = [
|
|
76
|
-
{
|
|
77
|
-
key: 'key',
|
|
78
|
-
label: 'zgw.columns.column',
|
|
79
|
-
viewType: ViewType.TEMPLATE,
|
|
80
|
-
template: this.columnKeyTemplate,
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
key: 'defaultSort',
|
|
84
|
-
label: 'listColumn.defaultSort',
|
|
85
|
-
viewType: ViewType.TEMPLATE,
|
|
86
|
-
template: this.defaultSortTemplate,
|
|
87
|
-
},
|
|
88
|
-
];
|
|
89
|
-
}
|
|
90
|
-
openDeleteModal(column) {
|
|
91
|
-
this.columnToUpdate$.next(column);
|
|
92
|
-
this.showDeleteModal$.next(true);
|
|
93
|
-
}
|
|
94
|
-
openEditModal(column) {
|
|
95
|
-
this.prefillColumn$.next(column);
|
|
96
|
-
this.columnModalType$.next('edit');
|
|
97
|
-
}
|
|
98
|
-
openAddModal() {
|
|
99
|
-
this.columnModalType$.next('add');
|
|
100
|
-
this.prefillColumn$.next(undefined);
|
|
101
|
-
}
|
|
102
|
-
onCloseModal(closeModalEvent) {
|
|
103
|
-
if (closeModalEvent === 'closeAndRefresh')
|
|
104
|
-
this.reload();
|
|
105
|
-
this.columnModalType$.next('closed');
|
|
106
|
-
}
|
|
107
|
-
confirmDeleteStatus(column, definitionName) {
|
|
108
|
-
this.zgwDocumentColumnService.deleteColumn(definitionName, column.key).subscribe(() => {
|
|
109
|
-
this.reload();
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
onItemsReordered(definitionName, columns) {
|
|
113
|
-
this.zgwDocumentColumnService.updateConfiguredColumns(definitionName, columns).subscribe(() => {
|
|
114
|
-
this.reload(true);
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
reload(noAnimation = false) {
|
|
118
|
-
this._reload$.next(noAnimation ? 'noAnimation' : null);
|
|
119
|
-
}
|
|
120
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiColumnsComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.DocumentenApiColumnService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
121
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DocumentenApiColumnsComponent, isStandalone: true, selector: "valtimo-documenten-api-columns", viewQueries: [{ propertyName: "columnKeyTemplate", first: true, predicate: ["columnKeyTemplate"], descendants: true }, { propertyName: "defaultSortTemplate", first: true, predicate: ["defaultSortTemplate"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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\n<ng-container\n *ngIf=\"{\n columnModalType: columnModalType$ | async,\n columnToUpdate: columnToUpdate$ | async,\n documentDefinitionName: documentDefinitionName$ | async,\n configuredColumns: configuredColumns$ | async,\n configurableColumns: configurableColumns$ | async,\n loading: loading$ | async,\n prefillColumn: prefillColumn$ | async,\n } as obs\"\n>\n <valtimo-carbon-list\n [actionItems]=\"ACTION_ITEMS\"\n [fields]=\"fields\"\n [header]=\"false\"\n [items]=\"obs.configuredColumns\"\n [loading]=\"obs.loading || !fields\"\n [movingRowsEnabled]=\"true\"\n (itemsReordered)=\"onItemsReordered(obs.documentDefinitionName, $event)\"\n >\n <ng-container carbonToolbarContent>\n <ng-container *ngTemplateOutlet=\"addButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addButton\"\n [description]=\"'zgw.documents.noColumns.description' | translate\"\n [title]=\"'zgw.documents.noColumns.title' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-documenten-api-column-modal\n [availableColumns]=\"obs.configurableColumns\"\n [configuredColumns]=\"obs.configuredColumns\"\n [definitionName]=\"obs.documentDefinitionName\"\n [prefillColumn]=\"obs.prefillColumn\"\n [type]=\"obs.columnModalType\"\n (closeModal)=\"onCloseModal($event)\"\n ></valtimo-documenten-api-column-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"zgw.columns.deleteText\"\n [outputOnConfirm]=\"columnToUpdate$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"confirmDeleteStatus($event, obs.documentDefinitionName)\"\n ></valtimo-confirmation-modal>\n</ng-container>\n\n<ng-template #addButton>\n <button cdsButton=\"primary\" [disabled]=\"loading$ | async\" (click)=\"openAddModal()\">\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'zgw.columns.add' | translate }}\n </button>\n</ng-template>\n\n<ng-template #columnKeyTemplate let-data=\"data\">\n {{ 'zgw.documentColumns.' + data.item.key | translate }}\n</ng-template>\n\n<ng-template #defaultSortTemplate let-data=\"data\">\n {{\n data.item.defaultSort === null\n ? '-'\n : ('interface.sorting.' + (data.item.defaultSort === 'ASC' ? 'ascending' : 'descending')\n | translate)\n }}\n</ng-template>\n", styles: ["::ng-deep .cds-tag--no-margin{margin:0}\n/*!\n * Copyright 2015-2024 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"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "component", type: DocumentenApiColumnModalComponent, selector: "valtimo-documenten-api-column-modal", inputs: ["definitionName", "prefillColumn", "type", "availableColumns", "configuredColumns"], outputs: ["closeModal"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i4.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i4.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ConfirmationModalModule }, { kind: "component", type: i4.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "ngmodule", type: TagModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i6.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
122
|
-
}
|
|
123
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiColumnsComponent, decorators: [{
|
|
124
|
-
type: Component,
|
|
125
|
-
args: [{ selector: 'valtimo-documenten-api-columns', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
126
|
-
CommonModule,
|
|
127
|
-
DocumentenApiColumnModalComponent,
|
|
128
|
-
CarbonListModule,
|
|
129
|
-
TranslateModule,
|
|
130
|
-
ConfirmationModalModule,
|
|
131
|
-
TagModule,
|
|
132
|
-
ButtonModule,
|
|
133
|
-
IconModule,
|
|
134
|
-
], template: "<!--\n ~ Copyright 2015-2024 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\n<ng-container\n *ngIf=\"{\n columnModalType: columnModalType$ | async,\n columnToUpdate: columnToUpdate$ | async,\n documentDefinitionName: documentDefinitionName$ | async,\n configuredColumns: configuredColumns$ | async,\n configurableColumns: configurableColumns$ | async,\n loading: loading$ | async,\n prefillColumn: prefillColumn$ | async,\n } as obs\"\n>\n <valtimo-carbon-list\n [actionItems]=\"ACTION_ITEMS\"\n [fields]=\"fields\"\n [header]=\"false\"\n [items]=\"obs.configuredColumns\"\n [loading]=\"obs.loading || !fields\"\n [movingRowsEnabled]=\"true\"\n (itemsReordered)=\"onItemsReordered(obs.documentDefinitionName, $event)\"\n >\n <ng-container carbonToolbarContent>\n <ng-container *ngTemplateOutlet=\"addButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addButton\"\n [description]=\"'zgw.documents.noColumns.description' | translate\"\n [title]=\"'zgw.documents.noColumns.title' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-documenten-api-column-modal\n [availableColumns]=\"obs.configurableColumns\"\n [configuredColumns]=\"obs.configuredColumns\"\n [definitionName]=\"obs.documentDefinitionName\"\n [prefillColumn]=\"obs.prefillColumn\"\n [type]=\"obs.columnModalType\"\n (closeModal)=\"onCloseModal($event)\"\n ></valtimo-documenten-api-column-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"zgw.columns.deleteText\"\n [outputOnConfirm]=\"columnToUpdate$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"confirmDeleteStatus($event, obs.documentDefinitionName)\"\n ></valtimo-confirmation-modal>\n</ng-container>\n\n<ng-template #addButton>\n <button cdsButton=\"primary\" [disabled]=\"loading$ | async\" (click)=\"openAddModal()\">\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'zgw.columns.add' | translate }}\n </button>\n</ng-template>\n\n<ng-template #columnKeyTemplate let-data=\"data\">\n {{ 'zgw.documentColumns.' + data.item.key | translate }}\n</ng-template>\n\n<ng-template #defaultSortTemplate let-data=\"data\">\n {{\n data.item.defaultSort === null\n ? '-'\n : ('interface.sorting.' + (data.item.defaultSort === 'ASC' ? 'ascending' : 'descending')\n | translate)\n }}\n</ng-template>\n", styles: ["::ng-deep .cds-tag--no-margin{margin:0}\n/*!\n * Copyright 2015-2024 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"] }]
|
|
135
|
-
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.DocumentenApiColumnService }], propDecorators: { columnKeyTemplate: [{
|
|
136
|
-
type: ViewChild,
|
|
137
|
-
args: ['columnKeyTemplate']
|
|
138
|
-
}], defaultSortTemplate: [{
|
|
139
|
-
type: ViewChild,
|
|
140
|
-
args: ['defaultSortTemplate']
|
|
141
|
-
}] } });
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRlbi1hcGktY29sdW1ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3pndy9zcmMvbGliL21vZHVsZXMvZG9jdW1lbnRlbi1hcGkvY29tcG9uZW50cy9kb2N1bWVudGVuLWFwaS1jb2x1bW5zL2RvY3VtZW50ZW4tYXBpLWNvbHVtbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby96Z3cvc3JjL2xpYi9tb2R1bGVzL2RvY3VtZW50ZW4tYXBpL2NvbXBvbmVudHMvZG9jdW1lbnRlbi1hcGktY29sdW1ucy9kb2N1bWVudGVuLWFwaS1jb2x1bW5zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUVMLGdCQUFnQixFQUVoQix1QkFBdUIsRUFDdkIsUUFBUSxHQUNULE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDOUUsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxTQUFTLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBTzdGLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHNFQUFzRSxDQUFDOzs7Ozs7OztBQW1CdkgsTUFBTSxPQUFPLDZCQUE2QjtJQVd4QyxJQUFXLHVCQUF1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ICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICBBY3Rpb25JdGVtLFxuICBDYXJib25MaXN0TW9kdWxlLFxuICBDb2x1bW5Db25maWcsXG4gIENvbmZpcm1hdGlvbk1vZGFsTW9kdWxlLFxuICBWaWV3VHlwZSxcbn0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge0J1dHRvbk1vZHVsZSwgSWNvbk1vZHVsZSwgVGFnTW9kdWxlfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgc3dpdGNoTWFwLCB0YXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJlZENvbHVtbixcbiAgRG9jdW1lbnRlbkFwaUNvbHVtbk1vZGFsVHlwZSxcbiAgRG9jdW1lbnRlbkFwaUNvbHVtbk1vZGFsVHlwZUNsb3NlRXZlbnQsXG59IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge0RvY3VtZW50ZW5BcGlDb2x1bW5TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge0RvY3VtZW50ZW5BcGlDb2x1bW5Nb2RhbENvbXBvbmVudH0gZnJvbSAnLi4vZG9jdW1lbnRlbi1hcGktY29sdW1uLW1vZGFsL2RvY3VtZW50ZW4tYXBpLWNvbHVtbi1tb2RhbC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWRvY3VtZW50ZW4tYXBpLWNvbHVtbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZG9jdW1lbnRlbi1hcGktY29sdW1ucy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RvY3VtZW50ZW4tYXBpLWNvbHVtbnMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRG9jdW1lbnRlbkFwaUNvbHVtbk1vZGFsQ29tcG9uZW50LFxuICAgIENhcmJvbkxpc3RNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIENvbmZpcm1hdGlvbk1vZGFsTW9kdWxlLFxuICAgIFRhZ01vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgSWNvbk1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRlbkFwaUNvbHVtbnNDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgnY29sdW1uS2V5VGVtcGxhdGUnKSBwdWJsaWMgcmVhZG9ubHkgY29sdW1uS2V5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBWaWV3Q2hpbGQoJ2RlZmF1bHRTb3J0VGVtcGxhdGUnKSBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdFNvcnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9yZWxvYWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudWxsIHwgJ25vQW5pbWF0aW9uJz4obnVsbCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZG9jdW1lbnREZWZpbml0aW9uTmFtZSQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMucm91dGUucGFyYW1zLnBpcGUoXG4gICAgbWFwKHBhcmFtcyA9PiBwYXJhbXM/Lm5hbWUpLFxuICAgIGZpbHRlcihkb2NEZWZOYW1lID0+ICEhZG9jRGVmTmFtZSlcbiAgKTtcblxuICBwdWJsaWMgZ2V0IGRvY3VtZW50RGVmaW5pdGlvbk5hbWUkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RvY3VtZW50RGVmaW5pdGlvbk5hbWUkO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgY29uZmlndXJlZENvbHVtbnMkOiBPYnNlcnZhYmxlPENvbmZpZ3VyZWRDb2x1bW5bXT4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLl9kb2N1bWVudERlZmluaXRpb25OYW1lJCxcbiAgICB0aGlzLl9yZWxvYWQkLFxuICBdKS5waXBlKFxuICAgIHRhcCgoW18sIHJlbG9hZF0pID0+IHtcbiAgICAgIGlmIChyZWxvYWQgPT09IG51bGwpIHRoaXMubG9hZGluZyQubmV4dCh0cnVlKTtcbiAgICB9KSxcbiAgICBzd2l0Y2hNYXAoKFtkb2N1bWVudERlZmluaXRpb25OYW1lXSkgPT5cbiAgICAgIHRoaXMuemd3RG9jdW1lbnRDb2x1bW5TZXJ2aWNlLmdldEFkbWluQ29uZmlndXJlZENvbHVtbnMoZG9jdW1lbnREZWZpbml0aW9uTmFtZSlcbiAgICApLFxuICAgIHRhcCgoKSA9PiB7XG4gICAgICB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpO1xuICAgIH0pXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNvbmZpZ3VyYWJsZUNvbHVtbnMkOiBPYnNlcnZhYmxlPENvbmZpZ3VyZWRDb2x1bW5bXT4gPVxuICAgIHRoaXMuZG9jdW1lbnREZWZpbml0aW9uTmFtZSQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoZG9jdW1lbnREZWZpbml0aW9uTmFtZTogc3RyaW5nKSA9PlxuICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICB0aGlzLnpnd0RvY3VtZW50Q29sdW1uU2VydmljZS5nZXRBZG1pbkNvbmZpZ3VyYWJsZUNvbHVtbnMoZG9jdW1lbnREZWZpbml0aW9uTmFtZSksXG4gICAgICAgICAgdGhpcy5jb25maWd1cmVkQ29sdW1ucyQsXG4gICAgICAgIF0pXG4gICAgICApLFxuICAgICAgbWFwKChbY29uZmlndXJhYmxlQ29sdW1ucywgY29uZmlndXJlZENvbHVtbnNdKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbmZpZ3VyZWRLZXlzOiBzdHJpbmdbXSA9IGNvbmZpZ3VyZWRDb2x1bW5zLm1hcChcbiAgICAgICAgICAoY29sdW1uOiBDb25maWd1cmVkQ29sdW1uKSA9PiBjb2x1bW4ua2V5XG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIGNvbmZpZ3VyYWJsZUNvbHVtbnMuZmlsdGVyKFxuICAgICAgICAgIChjb2x1bW46IENvbmZpZ3VyZWRDb2x1bW4pID0+ICFjb25maWd1cmVkS2V5cy5pbmNsdWRlcyhjb2x1bW4ua2V5KVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuXG4gIHB1YmxpYyBmaWVsZHM6IENvbHVtbkNvbmZpZ1tdO1xuXG4gIHB1YmxpYyByZWFkb25seSBBQ1RJT05fSVRFTVM6IEFjdGlvbkl0ZW1bXSA9IFtcbiAgICB7XG4gICAgICBsYWJlbDogJ2ludGVyZmFjZS5lZGl0JyxcbiAgICAgIGNhbGxiYWNrOiB0aGlzLm9wZW5FZGl0TW9kYWwuYmluZCh0aGlzKSxcbiAgICAgIHR5cGU6ICdub3JtYWwnLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdpbnRlcmZhY2UuZGVsZXRlJyxcbiAgICAgIGNhbGxiYWNrOiB0aGlzLm9wZW5EZWxldGVNb2RhbC5iaW5kKHRoaXMpLFxuICAgICAgdHlwZTogJ2RhbmdlcicsXG4gICAgfSxcbiAgXTtcblxuICBwdWJsaWMgcmVhZG9ubHkgQ0FSQk9OX1RIRU1FID0gJ2cxMCc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNvbHVtbk1vZGFsVHlwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERvY3VtZW50ZW5BcGlDb2x1bW5Nb2RhbFR5cGU+KCdjbG9zZWQnKTtcbiAgcHVibGljIHJlYWRvbmx5IHByZWZpbGxDb2x1bW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDb25maWd1cmVkQ29sdW1uIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIHB1YmxpYyByZWFkb25seSBjb2x1bW5Ub1VwZGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENvbmZpZ3VyZWRDb2x1bW4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHB1YmxpYyByZWFkb25seSBzaG93RGVsZXRlTW9kYWwkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSB6Z3dEb2N1bWVudENvbHVtblNlcnZpY2U6IERvY3VtZW50ZW5BcGlDb2x1bW5TZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmllbGRzID0gW1xuICAgICAge1xuICAgICAgICBrZXk6ICdrZXknLFxuICAgICAgICBsYWJlbDogJ3pndy5jb2x1bW5zLmNvbHVtbicsXG4gICAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5URU1QTEFURSxcbiAgICAgICAgdGVtcGxhdGU6IHRoaXMuY29sdW1uS2V5VGVtcGxhdGUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdkZWZhdWx0U29ydCcsXG4gICAgICAgIGxhYmVsOiAnbGlzdENvbHVtbi5kZWZhdWx0U29ydCcsXG4gICAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5URU1QTEFURSxcbiAgICAgICAgdGVtcGxhdGU6IHRoaXMuZGVmYXVsdFNvcnRUZW1wbGF0ZSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuRGVsZXRlTW9kYWwoY29sdW1uOiBDb25maWd1cmVkQ29sdW1uKTogdm9pZCB7XG4gICAgdGhpcy5jb2x1bW5Ub1VwZGF0ZSQubmV4dChjb2x1bW4pO1xuICAgIHRoaXMuc2hvd0RlbGV0ZU1vZGFsJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIG9wZW5FZGl0TW9kYWwoY29sdW1uOiBDb25maWd1cmVkQ29sdW1uKTogdm9pZCB7XG4gICAgdGhpcy5wcmVmaWxsQ29sdW1uJC5uZXh0KGNvbHVtbik7XG4gICAgdGhpcy5jb2x1bW5Nb2RhbFR5cGUkLm5leHQoJ2VkaXQnKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuQWRkTW9kYWwoKTogdm9pZCB7XG4gICAgdGhpcy5jb2x1bW5Nb2RhbFR5cGUkLm5leHQoJ2FkZCcpO1xuICAgIHRoaXMucHJlZmlsbENvbHVtbiQubmV4dCh1bmRlZmluZWQpO1xuICB9XG5cbiAgcHVibGljIG9uQ2xvc2VNb2RhbChjbG9zZU1vZGFsRXZlbnQ6IERvY3VtZW50ZW5BcGlDb2x1bW5Nb2RhbFR5cGVDbG9zZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGNsb3NlTW9kYWxFdmVudCA9PT0gJ2Nsb3NlQW5kUmVmcmVzaCcpIHRoaXMucmVsb2FkKCk7XG5cbiAgICB0aGlzLmNvbHVtbk1vZGFsVHlwZSQubmV4dCgnY2xvc2VkJyk7XG4gIH1cblxuICBwdWJsaWMgY29uZmlybURlbGV0ZVN0YXR1cyhjb2x1bW46IENvbmZpZ3VyZWRDb2x1bW4sIGRlZmluaXRpb25OYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnpnd0RvY3VtZW50Q29sdW1uU2VydmljZS5kZWxldGVDb2x1bW4oZGVmaW5pdGlvbk5hbWUsIGNvbHVtbi5rZXkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlbG9hZCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uSXRlbXNSZW9yZGVyZWQoZGVmaW5pdGlvbk5hbWU6IHN0cmluZywgY29sdW1uczogQ29uZmlndXJlZENvbHVtbltdKTogdm9pZCB7XG4gICAgdGhpcy56Z3dEb2N1bWVudENvbHVtblNlcnZpY2UudXBkYXRlQ29uZmlndXJlZENvbHVtbnMoZGVmaW5pdGlvbk5hbWUsIGNvbHVtbnMpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlbG9hZCh0cnVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVsb2FkKG5vQW5pbWF0aW9uID0gZmFsc2UpOiB2b2lkIHtcbiAgICB0aGlzLl9yZWxvYWQkLm5leHQobm9BbmltYXRpb24gPyAnbm9BbmltYXRpb24nIDogbnVsbCk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIntcbiAgICBjb2x1bW5Nb2RhbFR5cGU6IGNvbHVtbk1vZGFsVHlwZSQgfCBhc3luYyxcbiAgICBjb2x1bW5Ub1VwZGF0ZTogY29sdW1uVG9VcGRhdGUkIHwgYXN5bmMsXG4gICAgZG9jdW1lbnREZWZpbml0aW9uTmFtZTogZG9jdW1lbnREZWZpbml0aW9uTmFtZSQgfCBhc3luYyxcbiAgICBjb25maWd1cmVkQ29sdW1uczogY29uZmlndXJlZENvbHVtbnMkIHwgYXN5bmMsXG4gICAgY29uZmlndXJhYmxlQ29sdW1uczogY29uZmlndXJhYmxlQ29sdW1ucyQgfCBhc3luYyxcbiAgICBsb2FkaW5nOiBsb2FkaW5nJCB8IGFzeW5jLFxuICAgIHByZWZpbGxDb2x1bW46IHByZWZpbGxDb2x1bW4kIHwgYXN5bmMsXG4gIH0gYXMgb2JzXCJcbj5cbiAgPHZhbHRpbW8tY2FyYm9uLWxpc3RcbiAgICBbYWN0aW9uSXRlbXNdPVwiQUNUSU9OX0lURU1TXCJcbiAgICBbZmllbGRzXT1cImZpZWxkc1wiXG4gICAgW2hlYWRlcl09XCJmYWxzZVwiXG4gICAgW2l0ZW1zXT1cIm9icy5jb25maWd1cmVkQ29sdW1uc1wiXG4gICAgW2xvYWRpbmddPVwib2JzLmxvYWRpbmcgfHwgIWZpZWxkc1wiXG4gICAgW21vdmluZ1Jvd3NFbmFibGVkXT1cInRydWVcIlxuICAgIChpdGVtc1Jlb3JkZXJlZCk9XCJvbkl0ZW1zUmVvcmRlcmVkKG9icy5kb2N1bWVudERlZmluaXRpb25OYW1lLCAkZXZlbnQpXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgY2FyYm9uVG9vbGJhckNvbnRlbnQ+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWRkQnV0dG9uXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8dmFsdGltby1uby1yZXN1bHRzXG4gICAgICBbYWN0aW9uXT1cImFkZEJ1dHRvblwiXG4gICAgICBbZGVzY3JpcHRpb25dPVwiJ3pndy5kb2N1bWVudHMubm9Db2x1bW5zLmRlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbdGl0bGVdPVwiJ3pndy5kb2N1bWVudHMubm9Db2x1bW5zLnRpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgPjwvdmFsdGltby1uby1yZXN1bHRzPlxuICA8L3ZhbHRpbW8tY2FyYm9uLWxpc3Q+XG5cbiAgPHZhbHRpbW8tZG9jdW1lbnRlbi1hcGktY29sdW1uLW1vZGFsXG4gICAgW2F2YWlsYWJsZUNvbHVtbnNdPVwib2JzLmNvbmZpZ3VyYWJsZUNvbHVtbnNcIlxuICAgIFtjb25maWd1cmVkQ29sdW1uc109XCJvYnMuY29uZmlndXJlZENvbHVtbnNcIlxuICAgIFtkZWZpbml0aW9uTmFtZV09XCJvYnMuZG9jdW1lbnREZWZpbml0aW9uTmFtZVwiXG4gICAgW3ByZWZpbGxDb2x1bW5dPVwib2JzLnByZWZpbGxDb2x1bW5cIlxuICAgIFt0eXBlXT1cIm9icy5jb2x1bW5Nb2RhbFR5cGVcIlxuICAgIChjbG9zZU1vZGFsKT1cIm9uQ2xvc2VNb2RhbCgkZXZlbnQpXCJcbiAgPjwvdmFsdGltby1kb2N1bWVudGVuLWFwaS1jb2x1bW4tbW9kYWw+XG5cbiAgPHZhbHRpbW8tY29uZmlybWF0aW9uLW1vZGFsXG4gICAgY29uZmlybUJ1dHRvblRleHRUcmFuc2xhdGlvbktleT1cImludGVyZmFjZS5kZWxldGVcIlxuICAgIGNvbmZpcm1CdXR0b25UeXBlPVwiZGFuZ2VyXCJcbiAgICBjb250ZW50VHJhbnNsYXRpb25LZXk9XCJ6Z3cuY29sdW1ucy5kZWxldGVUZXh0XCJcbiAgICBbb3V0cHV0T25Db25maXJtXT1cImNvbHVtblRvVXBkYXRlJCB8IGFzeW5jXCJcbiAgICBbc2hvd01vZGFsU3ViamVjdCRdPVwic2hvd0RlbGV0ZU1vZGFsJFwiXG4gICAgdGl0bGVUcmFuc2xhdGlvbktleT1cImludGVyZmFjZS5kZWxldGVcIlxuICAgIChjb25maXJtRXZlbnQpPVwiY29uZmlybURlbGV0ZVN0YXR1cygkZXZlbnQsIG9icy5kb2N1bWVudERlZmluaXRpb25OYW1lKVwiXG4gID48L3ZhbHRpbW8tY29uZmlybWF0aW9uLW1vZGFsPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjYWRkQnV0dG9uPlxuICA8YnV0dG9uIGNkc0J1dHRvbj1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwibG9hZGluZyQgfCBhc3luY1wiIChjbGljayk9XCJvcGVuQWRkTW9kYWwoKVwiPlxuICAgIDxzdmcgY2RzSWNvbj1cImFkZFwiIHNpemU9XCIxNlwiIGNsYXNzPVwiY2RzLS1idG5fX2ljb25cIj48L3N2Zz5cblxuICAgIHt7ICd6Z3cuY29sdW1ucy5hZGQnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjb2x1bW5LZXlUZW1wbGF0ZSBsZXQtZGF0YT1cImRhdGFcIj5cbiAge3sgJ3pndy5kb2N1bWVudENvbHVtbnMuJyArIGRhdGEuaXRlbS5rZXkgfCB0cmFuc2xhdGUgfX1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdFNvcnRUZW1wbGF0ZSBsZXQtZGF0YT1cImRhdGFcIj5cbiAge3tcbiAgICBkYXRhLml0ZW0uZGVmYXVsdFNvcnQgPT09IG51bGxcbiAgICAgID8gJy0nXG4gICAgICA6ICgnaW50ZXJmYWNlLnNvcnRpbmcuJyArIChkYXRhLml0ZW0uZGVmYXVsdFNvcnQgPT09ICdBU0MnID8gJ2FzY2VuZGluZycgOiAnZGVzY2VuZGluZycpXG4gICAgICAgIHwgdHJhbnNsYXRlKVxuICB9fVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|