@valtimo/connector-management 10.8.0 → 11.0.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.
- package/{esm2020 → esm2022}/lib/components/add-connector-configure/add-connector-configure.component.mjs +4 -4
- package/esm2022/lib/components/add-connector-select/add-connector-select.component.mjs +66 -0
- package/{esm2020 → esm2022}/lib/components/connector-link-extension/connector-link-extension.component.mjs +4 -4
- package/esm2022/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.mjs +127 -0
- package/esm2022/lib/components/connector-management/connector-management.component.mjs +102 -0
- package/esm2022/lib/components/connector-modal/connector-modal.component.mjs +95 -0
- package/{esm2020 → esm2022}/lib/components/edit-connector-form/edit-connector-form.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/edit-connector-properties/edit-connector-properties.component.mjs +5 -5
- package/esm2022/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component.mjs +173 -0
- package/esm2022/lib/components/edit-taak-connector/edit-taak-connector.component.mjs +143 -0
- package/{esm2020 → esm2022}/lib/components/modify-connector/modify-connector.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/multi-value-connector-property/multi-value-connector-property.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/connector-management-routing.mjs +5 -5
- package/esm2022/lib/connector-management.module.mjs +145 -0
- package/esm2022/lib/services/connector-management/connector-management.service.mjs +56 -0
- package/{esm2020 → esm2022}/lib/services/connector-management-state/connector-management-state.service.mjs +4 -4
- package/esm2022/lib/services/object-api-sync/object-api-sync.service.mjs +47 -0
- package/{fesm2020 → fesm2022}/valtimo-connector-management.mjs +123 -130
- package/fesm2022/valtimo-connector-management.mjs.map +1 -0
- package/lib/components/add-connector-configure/add-connector-configure.component.d.ts +1 -1
- package/lib/components/add-connector-select/add-connector-select.component.d.ts +1 -1
- package/lib/components/connector-link-extension/connector-link-extension.component.d.ts +1 -1
- package/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.d.ts +1 -1
- package/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.d.ts.map +1 -1
- package/lib/components/connector-management/connector-management.component.d.ts +2 -3
- package/lib/components/connector-management/connector-management.component.d.ts.map +1 -1
- package/lib/components/connector-modal/connector-modal.component.d.ts +4 -4
- package/lib/components/connector-modal/connector-modal.component.d.ts.map +1 -1
- package/lib/components/edit-connector-form/edit-connector-form.component.d.ts +1 -1
- package/lib/components/edit-connector-properties/edit-connector-properties.component.d.ts +1 -1
- package/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component.d.ts +1 -1
- package/lib/components/edit-taak-connector/edit-taak-connector.component.d.ts +1 -1
- package/lib/components/modify-connector/modify-connector.component.d.ts +1 -1
- package/lib/components/multi-value-connector-property/multi-value-connector-property.component.d.ts +1 -1
- package/lib/connector-management.module.d.ts +1 -3
- package/lib/connector-management.module.d.ts.map +1 -1
- package/lib/services/connector-management/connector-management.service.d.ts.map +1 -1
- package/lib/services/object-api-sync/object-api-sync.service.d.ts.map +1 -1
- package/package.json +8 -15
- package/esm2020/lib/components/add-connector-select/add-connector-select.component.mjs +0 -67
- package/esm2020/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.mjs +0 -129
- package/esm2020/lib/components/connector-management/connector-management.component.mjs +0 -103
- package/esm2020/lib/components/connector-modal/connector-modal.component.mjs +0 -95
- package/esm2020/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component.mjs +0 -174
- package/esm2020/lib/components/edit-taak-connector/edit-taak-connector.component.mjs +0 -144
- package/esm2020/lib/connector-management.module.mjs +0 -150
- package/esm2020/lib/services/connector-management/connector-management.service.mjs +0 -56
- package/esm2020/lib/services/object-api-sync/object-api-sync.service.mjs +0 -47
- package/fesm2015/valtimo-connector-management.mjs +0 -2077
- package/fesm2015/valtimo-connector-management.mjs.map +0 -1
- package/fesm2020/valtimo-connector-management.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.form.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/edit-taak-connector/edit-taak-connector.form.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/extension/connector-management.extension.init.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/object-sync.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/valtimo-connector-management.mjs +0 -0
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2023 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 { Component, ViewChild } from '@angular/core';
|
|
17
|
-
import { Subject } from 'rxjs';
|
|
18
|
-
import { take } from 'rxjs/operators';
|
|
19
|
-
import * as i0 from "@angular/core";
|
|
20
|
-
import * as i1 from "../../services/connector-management-state/connector-management-state.service";
|
|
21
|
-
import * as i2 from "@valtimo/user-interface";
|
|
22
|
-
import * as i3 from "@angular/common";
|
|
23
|
-
import * as i4 from "../add-connector-select/add-connector-select.component";
|
|
24
|
-
import * as i5 from "../add-connector-configure/add-connector-configure.component";
|
|
25
|
-
import * as i6 from "../modify-connector/modify-connector.component";
|
|
26
|
-
import * as i7 from "@ngx-translate/core";
|
|
27
|
-
export class ConnectorModalComponent {
|
|
28
|
-
constructor(stateService, modalService) {
|
|
29
|
-
this.stateService = stateService;
|
|
30
|
-
this.modalService = modalService;
|
|
31
|
-
this.connectorTypeSelected$ = this.stateService.selectedConnector$;
|
|
32
|
-
this.saveButtonDisabled$ = this.stateService.saveButtonDisabled$;
|
|
33
|
-
this.inputDisabled$ = this.stateService.inputDisabled$;
|
|
34
|
-
this.hideModalSaveButton$ = this.stateService.hideModalSaveButton$;
|
|
35
|
-
this.returnToFirstStepSubject$ = new Subject();
|
|
36
|
-
}
|
|
37
|
-
ngAfterViewInit() {
|
|
38
|
-
this.openShowSubscription();
|
|
39
|
-
this.openHideSubscription();
|
|
40
|
-
}
|
|
41
|
-
ngOnDestroy() {
|
|
42
|
-
this.showSubscription?.unsubscribe();
|
|
43
|
-
this.hideSubscription?.unsubscribe();
|
|
44
|
-
}
|
|
45
|
-
hide() {
|
|
46
|
-
this.stateService.disableInput();
|
|
47
|
-
this.modalService.closeModal(() => {
|
|
48
|
-
this.returnToFirstStep();
|
|
49
|
-
this.stateService.enableInput();
|
|
50
|
-
this.stateService.clearSelectedConnector();
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
complete() {
|
|
54
|
-
this.stateService.save();
|
|
55
|
-
}
|
|
56
|
-
delete() {
|
|
57
|
-
this.stateService.delete();
|
|
58
|
-
}
|
|
59
|
-
openShowSubscription() {
|
|
60
|
-
this.showSubscription = this.stateService.showModal$.subscribe(() => {
|
|
61
|
-
this.show();
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
openHideSubscription() {
|
|
65
|
-
this.hideSubscription = this.stateService.hideModal$.subscribe(() => {
|
|
66
|
-
this.hide();
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
returnToFirstStep() {
|
|
70
|
-
this.returnToFirstStepSubject$.next(true);
|
|
71
|
-
}
|
|
72
|
-
show() {
|
|
73
|
-
this.stateService.modalType$.pipe(take(1)).subscribe(modalType => {
|
|
74
|
-
if (modalType === 'add') {
|
|
75
|
-
this.modalService.openModal(this.connectorCreateModal);
|
|
76
|
-
}
|
|
77
|
-
else if (modalType === 'modify') {
|
|
78
|
-
this.modalService.openModal(this.connectorEditModal);
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
ConnectorModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ConnectorModalComponent, deps: [{ token: i1.ConnectorManagementStateService }, { token: i2.ModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
84
|
-
ConnectorModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ConnectorModalComponent, selector: "valtimo-connector-modal", viewQueries: [{ propertyName: "connectorCreateModal", first: true, predicate: ["connectorCreateModal"], descendants: true }, { propertyName: "connectorEditModal", first: true, predicate: ["connectorEditModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 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<v-modal #connectorEditModal>\n <div role=\"header\">\n <div class=\"edit-connector-title\">\n <v-title [margin]=\"false\">{{ 'connectorManagement.modify' | translate }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <valtimo-modify-connector\n [showSaveButton]=\"false\"\n [showDeleteButton]=\"false\"\n ></valtimo-modify-connector>\n </div>\n <div role=\"footer\">\n <div class=\"edit-connector-buttons\">\n <v-button\n [disabled]=\"inputDisabled$ | async\"\n (clickEvent)=\"delete()\"\n [mdiIcon]=\"'delete'\"\n type=\"danger\"\n >{{ 'connectorManagement.remove' | translate }}</v-button\n >\n <v-button\n *ngIf=\"(hideModalSaveButton$ | async) === false\"\n [disabled]=\"(saveButtonDisabled$ | async) || (inputDisabled$ | async)\"\n (clickEvent)=\"complete()\"\n [mdiIcon]=\"'check'\"\n type=\"success\"\n >{{ 'connectorManagement.save' | translate }}</v-button\n >\n </div>\n </div>\n</v-modal>\n\n<v-stepper-container\n (completeEvent)=\"complete()\"\n (cancelClickEvent)=\"hide()\"\n [disabled]=\"inputDisabled$ | async\"\n [returnToFirstStepSubject$]=\"returnToFirstStepSubject$\"\n>\n <v-modal #connectorCreateModal (closeEvent)=\"hide()\">\n <div role=\"header\">\n <v-stepper-header></v-stepper-header>\n </div>\n <div role=\"content\">\n <v-stepper-content>\n <v-stepper-step titleTranslationKey=\"addConnectorSteps.step0\">\n <valtimo-add-connector-select></valtimo-add-connector-select>\n </v-stepper-step>\n <v-stepper-step titleTranslationKey=\"addConnectorSteps.step1\">\n <valtimo-add-connector-configure\n [showSaveButton]=\"false\"\n ></valtimo-add-connector-configure>\n </v-stepper-step>\n </v-stepper-content>\n </div>\n <div role=\"footer\">\n <v-stepper-footer>\n <v-stepper-footer-step\n nextButtonTranslationKey=\"addConnectorSteps.step1\"\n [nextButtonEnabled]=\"connectorTypeSelected$ | async\"\n ></v-stepper-footer-step>\n <v-stepper-footer-step\n completeButtonTranslationKey=\"addConnectorSteps.complete\"\n [completeButtonEnabled]=\"(saveButtonDisabled$ | async) === false\"\n [showCompleteButton]=\"(hideModalSaveButton$ | async) === false\"\n ></v-stepper-footer-step>\n </v-stepper-footer>\n </div>\n </v-modal>\n</v-stepper-container>\n", styles: ["/*!\n * Copyright 2015-2023 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 */.edit-connector-buttons,.edit-connector-title{width:100%;display:flex;flex-direction:row;justify-content:space-between}.edit-connector-title{justify-content:center}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { kind: "component", type: i2.ModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter"], outputs: ["closeEvent"] }, { kind: "component", type: i2.StepperContainerComponent, selector: "v-stepper-container", inputs: ["returnToFirstStepSubject$", "disabled"], outputs: ["cancelClickEvent", "completeEvent", "nextStepEvent"] }, { kind: "component", type: i2.StepperContentComponent, selector: "v-stepper-content" }, { kind: "component", type: i2.StepperFooterComponent, selector: "v-stepper-footer" }, { kind: "component", type: i2.StepperHeaderComponent, selector: "v-stepper-header" }, { kind: "component", type: i2.StepperStepComponent, selector: "v-stepper-step", inputs: ["titleTranslationKey"] }, { kind: "component", type: i2.StepperFooterStepComponent, selector: "v-stepper-footer-step", inputs: ["nextButtonEnabled", "completeButtonEnabled", "nextButtonTranslationKey", "cancelButtonTranslationKey", "completeButtonTranslationKey", "completeButtonMdiIcon", "showCompleteButton"] }, { kind: "component", type: i2.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { kind: "component", type: i4.AddConnectorSelectComponent, selector: "valtimo-add-connector-select" }, { kind: "component", type: i5.AddConnectorConfigureComponent, selector: "valtimo-add-connector-configure", inputs: ["showSaveButton"] }, { kind: "component", type: i6.ModifyConnectorComponent, selector: "valtimo-modify-connector", inputs: ["showSaveButton", "showDeleteButton"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ConnectorModalComponent, decorators: [{
|
|
86
|
-
type: Component,
|
|
87
|
-
args: [{ selector: 'valtimo-connector-modal', template: "<!--\n ~ Copyright 2015-2023 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<v-modal #connectorEditModal>\n <div role=\"header\">\n <div class=\"edit-connector-title\">\n <v-title [margin]=\"false\">{{ 'connectorManagement.modify' | translate }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <valtimo-modify-connector\n [showSaveButton]=\"false\"\n [showDeleteButton]=\"false\"\n ></valtimo-modify-connector>\n </div>\n <div role=\"footer\">\n <div class=\"edit-connector-buttons\">\n <v-button\n [disabled]=\"inputDisabled$ | async\"\n (clickEvent)=\"delete()\"\n [mdiIcon]=\"'delete'\"\n type=\"danger\"\n >{{ 'connectorManagement.remove' | translate }}</v-button\n >\n <v-button\n *ngIf=\"(hideModalSaveButton$ | async) === false\"\n [disabled]=\"(saveButtonDisabled$ | async) || (inputDisabled$ | async)\"\n (clickEvent)=\"complete()\"\n [mdiIcon]=\"'check'\"\n type=\"success\"\n >{{ 'connectorManagement.save' | translate }}</v-button\n >\n </div>\n </div>\n</v-modal>\n\n<v-stepper-container\n (completeEvent)=\"complete()\"\n (cancelClickEvent)=\"hide()\"\n [disabled]=\"inputDisabled$ | async\"\n [returnToFirstStepSubject$]=\"returnToFirstStepSubject$\"\n>\n <v-modal #connectorCreateModal (closeEvent)=\"hide()\">\n <div role=\"header\">\n <v-stepper-header></v-stepper-header>\n </div>\n <div role=\"content\">\n <v-stepper-content>\n <v-stepper-step titleTranslationKey=\"addConnectorSteps.step0\">\n <valtimo-add-connector-select></valtimo-add-connector-select>\n </v-stepper-step>\n <v-stepper-step titleTranslationKey=\"addConnectorSteps.step1\">\n <valtimo-add-connector-configure\n [showSaveButton]=\"false\"\n ></valtimo-add-connector-configure>\n </v-stepper-step>\n </v-stepper-content>\n </div>\n <div role=\"footer\">\n <v-stepper-footer>\n <v-stepper-footer-step\n nextButtonTranslationKey=\"addConnectorSteps.step1\"\n [nextButtonEnabled]=\"connectorTypeSelected$ | async\"\n ></v-stepper-footer-step>\n <v-stepper-footer-step\n completeButtonTranslationKey=\"addConnectorSteps.complete\"\n [completeButtonEnabled]=\"(saveButtonDisabled$ | async) === false\"\n [showCompleteButton]=\"(hideModalSaveButton$ | async) === false\"\n ></v-stepper-footer-step>\n </v-stepper-footer>\n </div>\n </v-modal>\n</v-stepper-container>\n", styles: ["/*!\n * Copyright 2015-2023 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 */.edit-connector-buttons,.edit-connector-title{width:100%;display:flex;flex-direction:row;justify-content:space-between}.edit-connector-title{justify-content:center}\n"] }]
|
|
88
|
-
}], ctorParameters: function () { return [{ type: i1.ConnectorManagementStateService }, { type: i2.ModalService }]; }, propDecorators: { connectorCreateModal: [{
|
|
89
|
-
type: ViewChild,
|
|
90
|
-
args: ['connectorCreateModal']
|
|
91
|
-
}], connectorEditModal: [{
|
|
92
|
-
type: ViewChild,
|
|
93
|
-
args: ['connectorEditModal']
|
|
94
|
-
}] } });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdG9yLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29ubmVjdG9yLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Nvbm5lY3Rvci1tb2RhbC9jb25uZWN0b3ItbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb25uZWN0b3ItbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvY29ubmVjdG9yLW1vZGFsL2Nvbm5lY3Rvci1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBZ0IsU0FBUyxFQUFhLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU3RSxPQUFPLEVBQWEsT0FBTyxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBR3ZELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBT3BDLE1BQU0sT0FBTyx1QkFBdUI7SUFhbEMsWUFDbUIsWUFBNkMsRUFDN0MsWUFBMEI7UUFEMUIsaUJBQVksR0FBWixZQUFZLENBQWlDO1FBQzdDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBUnBDLDJCQUFzQixHQUE4QixJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDO1FBQ3pGLHdCQUFtQixHQUF3QixJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDO1FBQ2pGLG1CQUFjLEdBQXdCLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDO1FBQ3ZFLHlCQUFvQixHQUF3QixJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDO1FBQ25GLDhCQUF5QixHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFLekQsQ0FBQztJQUVKLGVBQWU7UUFDYixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNoQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNsRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDbEUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVPLElBQUk7UUFDVixJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQy9ELElBQUksU0FBUyxLQUFLLEtBQUssRUFBRTtnQkFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7YUFDeEQ7aUJBQU0sSUFBSSxTQUFTLEtBQUssUUFBUSxFQUFFO2dCQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQzthQUN0RDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7b0hBckVVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHdTQzVCcEMsNGxHQXNGQTsyRkQxRGEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHlCQUF5QjtpSkFLQSxvQkFBb0I7c0JBQXRELFNBQVM7dUJBQUMsc0JBQXNCO2dCQUNBLGtCQUFrQjtzQkFBbEQsU0FBUzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgT25EZXN0cm95LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNb2RhbENvbXBvbmVudCBhcyB2TW9kYWxDb21wb25lbnQsIE1vZGFsU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vdXNlci1pbnRlcmZhY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDb25uZWN0b3JUeXBlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHtDb25uZWN0b3JNYW5hZ2VtZW50U3RhdGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25uZWN0b3ItbWFuYWdlbWVudC1zdGF0ZS9jb25uZWN0b3ItbWFuYWdlbWVudC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWNvbm5lY3Rvci1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25uZWN0b3ItbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb25uZWN0b3ItbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29ubmVjdG9yTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCdjb25uZWN0b3JDcmVhdGVNb2RhbCcpIGNvbm5lY3RvckNyZWF0ZU1vZGFsOiB2TW9kYWxDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ2Nvbm5lY3RvckVkaXRNb2RhbCcpIGNvbm5lY3RvckVkaXRNb2RhbDogdk1vZGFsQ29tcG9uZW50O1xuXG4gIHNob3dTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIGhpZGVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgcmVhZG9ubHkgY29ubmVjdG9yVHlwZVNlbGVjdGVkJDogT2JzZXJ2YWJsZTxDb25uZWN0b3JUeXBlPiA9IHRoaXMuc3RhdGVTZXJ2aWNlLnNlbGVjdGVkQ29ubmVjdG9yJDtcbiAgcmVhZG9ubHkgc2F2ZUJ1dHRvbkRpc2FibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuc3RhdGVTZXJ2aWNlLnNhdmVCdXR0b25EaXNhYmxlZCQ7XG4gIHJlYWRvbmx5IGlucHV0RGlzYWJsZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5zdGF0ZVNlcnZpY2UuaW5wdXREaXNhYmxlZCQ7XG4gIHJlYWRvbmx5IGhpZGVNb2RhbFNhdmVCdXR0b24kOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5zdGF0ZVNlcnZpY2UuaGlkZU1vZGFsU2F2ZUJ1dHRvbiQ7XG4gIHJlYWRvbmx5IHJldHVyblRvRmlyc3RTdGVwU3ViamVjdCQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdGVTZXJ2aWNlOiBDb25uZWN0b3JNYW5hZ2VtZW50U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5TaG93U3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5vcGVuSGlkZVN1YnNjcmlwdGlvbigpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zaG93U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuaGlkZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UuZGlzYWJsZUlucHV0KCk7XG4gICAgdGhpcy5tb2RhbFNlcnZpY2UuY2xvc2VNb2RhbCgoKSA9PiB7XG4gICAgICB0aGlzLnJldHVyblRvRmlyc3RTdGVwKCk7XG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5lbmFibGVJbnB1dCgpO1xuICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UuY2xlYXJTZWxlY3RlZENvbm5lY3RvcigpO1xuICAgIH0pO1xuICB9XG5cbiAgY29tcGxldGUoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2F2ZSgpO1xuICB9XG5cbiAgZGVsZXRlKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmRlbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuU2hvd1N1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dTdWJzY3JpcHRpb24gPSB0aGlzLnN0YXRlU2VydmljZS5zaG93TW9kYWwkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnNob3coKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkhpZGVTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5oaWRlU3Vic2NyaXB0aW9uID0gdGhpcy5zdGF0ZVNlcnZpY2UuaGlkZU1vZGFsJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJldHVyblRvRmlyc3RTdGVwKCk6IHZvaWQge1xuICAgIHRoaXMucmV0dXJuVG9GaXJzdFN0ZXBTdWJqZWN0JC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLm1vZGFsVHlwZSQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUobW9kYWxUeXBlID0+IHtcbiAgICAgIGlmIChtb2RhbFR5cGUgPT09ICdhZGQnKSB7XG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW5Nb2RhbCh0aGlzLmNvbm5lY3RvckNyZWF0ZU1vZGFsKTtcbiAgICAgIH0gZWxzZSBpZiAobW9kYWxUeXBlID09PSAnbW9kaWZ5Jykge1xuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuTW9kYWwodGhpcy5jb25uZWN0b3JFZGl0TW9kYWwpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjx2LW1vZGFsICNjb25uZWN0b3JFZGl0TW9kYWw+XG4gIDxkaXYgcm9sZT1cImhlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJlZGl0LWNvbm5lY3Rvci10aXRsZVwiPlxuICAgICAgPHYtdGl0bGUgW21hcmdpbl09XCJmYWxzZVwiPnt7ICdjb25uZWN0b3JNYW5hZ2VtZW50Lm1vZGlmeScgfCB0cmFuc2xhdGUgfX08L3YtdGl0bGU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IHJvbGU9XCJjb250ZW50XCI+XG4gICAgPHZhbHRpbW8tbW9kaWZ5LWNvbm5lY3RvclxuICAgICAgW3Nob3dTYXZlQnV0dG9uXT1cImZhbHNlXCJcbiAgICAgIFtzaG93RGVsZXRlQnV0dG9uXT1cImZhbHNlXCJcbiAgICA+PC92YWx0aW1vLW1vZGlmeS1jb25uZWN0b3I+XG4gIDwvZGl2PlxuICA8ZGl2IHJvbGU9XCJmb290ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZWRpdC1jb25uZWN0b3ItYnV0dG9uc1wiPlxuICAgICAgPHYtYnV0dG9uXG4gICAgICAgIFtkaXNhYmxlZF09XCJpbnB1dERpc2FibGVkJCB8IGFzeW5jXCJcbiAgICAgICAgKGNsaWNrRXZlbnQpPVwiZGVsZXRlKClcIlxuICAgICAgICBbbWRpSWNvbl09XCInZGVsZXRlJ1wiXG4gICAgICAgIHR5cGU9XCJkYW5nZXJcIlxuICAgICAgICA+e3sgJ2Nvbm5lY3Rvck1hbmFnZW1lbnQucmVtb3ZlJyB8IHRyYW5zbGF0ZSB9fTwvdi1idXR0b25cbiAgICAgID5cbiAgICAgIDx2LWJ1dHRvblxuICAgICAgICAqbmdJZj1cIihoaWRlTW9kYWxTYXZlQnV0dG9uJCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiKHNhdmVCdXR0b25EaXNhYmxlZCQgfCBhc3luYykgfHwgKGlucHV0RGlzYWJsZWQkIHwgYXN5bmMpXCJcbiAgICAgICAgKGNsaWNrRXZlbnQpPVwiY29tcGxldGUoKVwiXG4gICAgICAgIFttZGlJY29uXT1cIidjaGVjaydcIlxuICAgICAgICB0eXBlPVwic3VjY2Vzc1wiXG4gICAgICAgID57eyAnY29ubmVjdG9yTWFuYWdlbWVudC5zYXZlJyB8IHRyYW5zbGF0ZSB9fTwvdi1idXR0b25cbiAgICAgID5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3YtbW9kYWw+XG5cbjx2LXN0ZXBwZXItY29udGFpbmVyXG4gIChjb21wbGV0ZUV2ZW50KT1cImNvbXBsZXRlKClcIlxuICAoY2FuY2VsQ2xpY2tFdmVudCk9XCJoaWRlKClcIlxuICBbZGlzYWJsZWRdPVwiaW5wdXREaXNhYmxlZCQgfCBhc3luY1wiXG4gIFtyZXR1cm5Ub0ZpcnN0U3RlcFN1YmplY3QkXT1cInJldHVyblRvRmlyc3RTdGVwU3ViamVjdCRcIlxuPlxuICA8di1tb2RhbCAjY29ubmVjdG9yQ3JlYXRlTW9kYWwgKGNsb3NlRXZlbnQpPVwiaGlkZSgpXCI+XG4gICAgPGRpdiByb2xlPVwiaGVhZGVyXCI+XG4gICAgICA8di1zdGVwcGVyLWhlYWRlcj48L3Ytc3RlcHBlci1oZWFkZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiByb2xlPVwiY29udGVudFwiPlxuICAgICAgPHYtc3RlcHBlci1jb250ZW50PlxuICAgICAgICA8di1zdGVwcGVyLXN0ZXAgdGl0bGVUcmFuc2xhdGlvbktleT1cImFkZENvbm5lY3RvclN0ZXBzLnN0ZXAwXCI+XG4gICAgICAgICAgPHZhbHRpbW8tYWRkLWNvbm5lY3Rvci1zZWxlY3Q+PC92YWx0aW1vLWFkZC1jb25uZWN0b3Itc2VsZWN0PlxuICAgICAgICA8L3Ytc3RlcHBlci1zdGVwPlxuICAgICAgICA8di1zdGVwcGVyLXN0ZXAgdGl0bGVUcmFuc2xhdGlvbktleT1cImFkZENvbm5lY3RvclN0ZXBzLnN0ZXAxXCI+XG4gICAgICAgICAgPHZhbHRpbW8tYWRkLWNvbm5lY3Rvci1jb25maWd1cmVcbiAgICAgICAgICAgIFtzaG93U2F2ZUJ1dHRvbl09XCJmYWxzZVwiXG4gICAgICAgICAgPjwvdmFsdGltby1hZGQtY29ubmVjdG9yLWNvbmZpZ3VyZT5cbiAgICAgICAgPC92LXN0ZXBwZXItc3RlcD5cbiAgICAgIDwvdi1zdGVwcGVyLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiByb2xlPVwiZm9vdGVyXCI+XG4gICAgICA8di1zdGVwcGVyLWZvb3Rlcj5cbiAgICAgICAgPHYtc3RlcHBlci1mb290ZXItc3RlcFxuICAgICAgICAgIG5leHRCdXR0b25UcmFuc2xhdGlvbktleT1cImFkZENvbm5lY3RvclN0ZXBzLnN0ZXAxXCJcbiAgICAgICAgICBbbmV4dEJ1dHRvbkVuYWJsZWRdPVwiY29ubmVjdG9yVHlwZVNlbGVjdGVkJCB8IGFzeW5jXCJcbiAgICAgICAgPjwvdi1zdGVwcGVyLWZvb3Rlci1zdGVwPlxuICAgICAgICA8di1zdGVwcGVyLWZvb3Rlci1zdGVwXG4gICAgICAgICAgY29tcGxldGVCdXR0b25UcmFuc2xhdGlvbktleT1cImFkZENvbm5lY3RvclN0ZXBzLmNvbXBsZXRlXCJcbiAgICAgICAgICBbY29tcGxldGVCdXR0b25FbmFibGVkXT1cIihzYXZlQnV0dG9uRGlzYWJsZWQkIHwgYXN5bmMpID09PSBmYWxzZVwiXG4gICAgICAgICAgW3Nob3dDb21wbGV0ZUJ1dHRvbl09XCIoaGlkZU1vZGFsU2F2ZUJ1dHRvbiQgfCBhc3luYykgPT09IGZhbHNlXCJcbiAgICAgICAgPjwvdi1zdGVwcGVyLWZvb3Rlci1zdGVwPlxuICAgICAgPC92LXN0ZXBwZXItZm9vdGVyPlxuICAgIDwvZGl2PlxuICA8L3YtbW9kYWw+XG48L3Ytc3RlcHBlci1jb250YWluZXI+XG4iXX0=
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2023 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 { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
17
|
-
import { editProductAanvragenConnectorForm } from './edit-product-aanvragen-connector.form';
|
|
18
|
-
import { BehaviorSubject, combineLatest, Subject } from 'rxjs';
|
|
19
|
-
import { cloneDeep } from 'lodash';
|
|
20
|
-
import { map, switchMap, tap } from 'rxjs/operators';
|
|
21
|
-
import * as i0 from "@angular/core";
|
|
22
|
-
import * as i1 from "@valtimo/form";
|
|
23
|
-
import * as i2 from "@valtimo/document";
|
|
24
|
-
import * as i3 from "@ngx-translate/core";
|
|
25
|
-
import * as i4 from "../../services/connector-management/connector-management.service";
|
|
26
|
-
import * as i5 from "../../services/connector-management-state/connector-management-state.service";
|
|
27
|
-
import * as i6 from "@angular/common";
|
|
28
|
-
import * as i7 from "@valtimo/components";
|
|
29
|
-
import * as i8 from "@angular/flex-layout/extended";
|
|
30
|
-
export class EditProductAanvragenConnectorComponent {
|
|
31
|
-
constructor(formTranslationService, formMappingService, documentService, translateService, connectorManagementService, stateService) {
|
|
32
|
-
this.formTranslationService = formTranslationService;
|
|
33
|
-
this.formMappingService = formMappingService;
|
|
34
|
-
this.documentService = documentService;
|
|
35
|
-
this.translateService = translateService;
|
|
36
|
-
this.connectorManagementService = connectorManagementService;
|
|
37
|
-
this.stateService = stateService;
|
|
38
|
-
this.showDeleteButton = false;
|
|
39
|
-
this.propertiesSave = new EventEmitter();
|
|
40
|
-
this.connectorDelete = new EventEmitter();
|
|
41
|
-
this.formRefresh$ = new Subject();
|
|
42
|
-
this.formDefinition$ = new BehaviorSubject(undefined);
|
|
43
|
-
this.translatedFormDefinition$ = this.formDefinition$.pipe(map(definition => this.formTranslationService.translateForm(definition)));
|
|
44
|
-
this.caseDefinitionOptions = [];
|
|
45
|
-
this.processDocumentDefinitionOptions = {};
|
|
46
|
-
this.options = {
|
|
47
|
-
disableAlerts: true,
|
|
48
|
-
};
|
|
49
|
-
this.mapCaseDefinitionKeyComponent = (component) => {
|
|
50
|
-
if (component.key === 'caseDefinitionKey') {
|
|
51
|
-
return { ...component, disabled: false, data: { values: this.caseDefinitionOptions } };
|
|
52
|
-
}
|
|
53
|
-
return component;
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
ngOnInit() {
|
|
57
|
-
window['productRequestDefinitions'] = {};
|
|
58
|
-
this.openFormDefinitionSubscription();
|
|
59
|
-
this.openDeleteSubscription();
|
|
60
|
-
this.formDefinition$.next(editProductAanvragenConnectorForm);
|
|
61
|
-
this.loadConnectorNames();
|
|
62
|
-
this.loadDefinitions();
|
|
63
|
-
this.stateService.hideModalSaveButton();
|
|
64
|
-
}
|
|
65
|
-
ngOnChanges() {
|
|
66
|
-
this.formDefinition$.next(editProductAanvragenConnectorForm);
|
|
67
|
-
this.loadConnectorNames();
|
|
68
|
-
this.loadDefinitions();
|
|
69
|
-
}
|
|
70
|
-
ngOnDestroy() {
|
|
71
|
-
this.formDefinitionSubscription?.unsubscribe();
|
|
72
|
-
this.translateSubscription?.unsubscribe();
|
|
73
|
-
this.deleteSubscription?.unsubscribe();
|
|
74
|
-
}
|
|
75
|
-
onSubmit(event) {
|
|
76
|
-
const submission = event.data;
|
|
77
|
-
const properties = cloneDeep(this.properties);
|
|
78
|
-
properties.objectsApiConnectionName = submission.objectsApiConnectionName;
|
|
79
|
-
properties.openNotificatieConnectionName = submission.openNotificatieConnectionName;
|
|
80
|
-
properties.aanvragerRolTypeUrl = submission.applicantRoleTypeUrl;
|
|
81
|
-
properties.typeMapping = submission.productAanvraagTypes;
|
|
82
|
-
this.propertiesSave.emit({ properties, name: submission.connectorName });
|
|
83
|
-
}
|
|
84
|
-
onDelete() {
|
|
85
|
-
this.stateService.disableInput();
|
|
86
|
-
this.connectorDelete.emit();
|
|
87
|
-
}
|
|
88
|
-
openFormDefinitionSubscription() {
|
|
89
|
-
this.formDefinitionSubscription = combineLatest([
|
|
90
|
-
this.formDefinition$,
|
|
91
|
-
this.translateService.stream('key'),
|
|
92
|
-
]).subscribe(([form]) => {
|
|
93
|
-
const translatedForm = this.formTranslationService.translateForm(form);
|
|
94
|
-
this.refreshForm({ form: translatedForm });
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
prefillForm() {
|
|
98
|
-
const properties = cloneDeep(this.properties);
|
|
99
|
-
const submission = {};
|
|
100
|
-
submission.objectsApiConnectionName = properties.objectsApiConnectionName;
|
|
101
|
-
submission.openNotificatieConnectionName = properties.openNotificatieConnectionName;
|
|
102
|
-
submission.applicantRoleTypeUrl = properties.aanvragerRolTypeUrl;
|
|
103
|
-
submission.productAanvraagTypes = properties.typeMapping;
|
|
104
|
-
submission.connectorName = this.defaultName;
|
|
105
|
-
this.refreshForm({ submission: { data: submission } });
|
|
106
|
-
}
|
|
107
|
-
refreshForm(refreshValue) {
|
|
108
|
-
this.formRefresh$.next(refreshValue);
|
|
109
|
-
}
|
|
110
|
-
loadDefinitions() {
|
|
111
|
-
let documentDefinitions;
|
|
112
|
-
this.documentService
|
|
113
|
-
.getAllDefinitions()
|
|
114
|
-
.pipe(tap(resDocumentDefinitions => (documentDefinitions = resDocumentDefinitions.content)), switchMap(resDocumentDefinitions => combineLatest(resDocumentDefinitions.content.map(definition => this.documentService.findProcessDocumentDefinitions(definition.id.name)))), tap(res => {
|
|
115
|
-
this.caseDefinitionOptions = documentDefinitions.map(documentDefinition => ({
|
|
116
|
-
label: documentDefinition.id.name,
|
|
117
|
-
value: documentDefinition.id.name,
|
|
118
|
-
}));
|
|
119
|
-
documentDefinitions.forEach((documentDefinition, index) => {
|
|
120
|
-
this.processDocumentDefinitionOptions[documentDefinition.id.name] = res[index].map(processDocumentDefinition => processDocumentDefinition.id.processDefinitionKey);
|
|
121
|
-
});
|
|
122
|
-
window['productRequestDefinitions'] = this.processDocumentDefinitionOptions;
|
|
123
|
-
const definitionWithCaseDefinitionOptions = this.formMappingService.mapComponents(this.formDefinition$.getValue(), this.mapCaseDefinitionKeyComponent);
|
|
124
|
-
this.formDefinition$.next(definitionWithCaseDefinitionOptions);
|
|
125
|
-
if (this.properties?.aanvragerRolTypeUrl) {
|
|
126
|
-
this.prefillForm();
|
|
127
|
-
}
|
|
128
|
-
}))
|
|
129
|
-
.subscribe();
|
|
130
|
-
}
|
|
131
|
-
loadConnectorNames() {
|
|
132
|
-
this.connectorManagementService
|
|
133
|
-
.getConnectorTypes()
|
|
134
|
-
.pipe(tap(res => {
|
|
135
|
-
res.forEach(connectorType => {
|
|
136
|
-
if (connectorType.name === 'ObjectsApi') {
|
|
137
|
-
this.loadConnectorNamesByType('objectApiConnectorNames', connectorType.id);
|
|
138
|
-
}
|
|
139
|
-
else if (connectorType.name === 'OpenNotificatie') {
|
|
140
|
-
this.loadConnectorNamesByType('openNotificatieConnectorNames', connectorType.id);
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
}))
|
|
144
|
-
.subscribe();
|
|
145
|
-
}
|
|
146
|
-
loadConnectorNamesByType(windowKey, connectorTypeId) {
|
|
147
|
-
this.connectorManagementService
|
|
148
|
-
.getConnectorInstancesByType(connectorTypeId)
|
|
149
|
-
.pipe(map(res => (window[windowKey] = res.content.map(connector => connector.name))))
|
|
150
|
-
.subscribe();
|
|
151
|
-
}
|
|
152
|
-
openDeleteSubscription() {
|
|
153
|
-
this.deleteSubscription = this.stateService.delete$.subscribe(() => {
|
|
154
|
-
this.onDelete();
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
EditProductAanvragenConnectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EditProductAanvragenConnectorComponent, deps: [{ token: i1.FormTranslationService }, { token: i1.FormMappingService }, { token: i2.DocumentService }, { token: i3.TranslateService }, { token: i4.ConnectorManagementService }, { token: i5.ConnectorManagementStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
159
|
-
EditProductAanvragenConnectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: EditProductAanvragenConnectorComponent, selector: "valtimo-edit-product-aanvragen-connector", inputs: { properties: "properties", defaultName: "defaultName", showDeleteButton: "showDeleteButton" }, outputs: { propertiesSave: "propertiesSave", connectorDelete: "connectorDelete" }, usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 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<div\n *ngIf=\"translatedFormDefinition$ | async as definition\"\n class=\"edit-product-request\"\n [ngClass]=\"{'has-delete': showDeleteButton}\"\n>\n <valtimo-form-io\n [form]=\"definition\"\n [formRefresh$]=\"formRefresh$\"\n [options]=\"options\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n\n <button *ngIf=\"showDeleteButton\" class=\"btn btn-danger btn-space\" (click)=\"onDelete()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>\n {{ 'connectorManagement.remove' | translate }}\n </button>\n</div>\n", styles: ["/*!\n * Copyright 2015-2023 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 */.edit-product-request ::ng-deep .btn-wizard-nav-cancel{display:none}.edit-product-request ::ng-deep .list-inline{display:flex;flex-direction:row;justify-content:flex-end}.edit-product-request ::ng-deep .col-sm-2{flex:0 0 25%;max-width:25%}.edit-product-request ::ng-deep .edit-grid-component>label{display:none}.edit-product-request.has-delete ::ng-deep .list-inline{margin-bottom:-30px}.edit-product-request .btn-danger{position:relative}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "directive", type: i8.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
|
|
160
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EditProductAanvragenConnectorComponent, decorators: [{
|
|
161
|
-
type: Component,
|
|
162
|
-
args: [{ selector: 'valtimo-edit-product-aanvragen-connector', template: "<!--\n ~ Copyright 2015-2023 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<div\n *ngIf=\"translatedFormDefinition$ | async as definition\"\n class=\"edit-product-request\"\n [ngClass]=\"{'has-delete': showDeleteButton}\"\n>\n <valtimo-form-io\n [form]=\"definition\"\n [formRefresh$]=\"formRefresh$\"\n [options]=\"options\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n\n <button *ngIf=\"showDeleteButton\" class=\"btn btn-danger btn-space\" (click)=\"onDelete()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>\n {{ 'connectorManagement.remove' | translate }}\n </button>\n</div>\n", styles: ["/*!\n * Copyright 2015-2023 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 */.edit-product-request ::ng-deep .btn-wizard-nav-cancel{display:none}.edit-product-request ::ng-deep .list-inline{display:flex;flex-direction:row;justify-content:flex-end}.edit-product-request ::ng-deep .col-sm-2{flex:0 0 25%;max-width:25%}.edit-product-request ::ng-deep .edit-grid-component>label{display:none}.edit-product-request.has-delete ::ng-deep .list-inline{margin-bottom:-30px}.edit-product-request .btn-danger{position:relative}\n"] }]
|
|
163
|
-
}], ctorParameters: function () { return [{ type: i1.FormTranslationService }, { type: i1.FormMappingService }, { type: i2.DocumentService }, { type: i3.TranslateService }, { type: i4.ConnectorManagementService }, { type: i5.ConnectorManagementStateService }]; }, propDecorators: { properties: [{
|
|
164
|
-
type: Input
|
|
165
|
-
}], defaultName: [{
|
|
166
|
-
type: Input
|
|
167
|
-
}], showDeleteButton: [{
|
|
168
|
-
type: Input
|
|
169
|
-
}], propertiesSave: [{
|
|
170
|
-
type: Output
|
|
171
|
-
}], connectorDelete: [{
|
|
172
|
-
type: Output
|
|
173
|
-
}] } });
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1wcm9kdWN0LWFhbnZyYWdlbi1jb25uZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb25uZWN0b3ItbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvZWRpdC1wcm9kdWN0LWFhbnZyYWdlbi1jb25uZWN0b3IvZWRpdC1wcm9kdWN0LWFhbnZyYWdlbi1jb25uZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb25uZWN0b3ItbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvZWRpdC1wcm9kdWN0LWFhbnZyYWdlbi1jb25uZWN0b3IvZWRpdC1wcm9kdWN0LWFhbnZyYWdlbi1jb25uZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWdDLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUkxRixPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFJM0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUVqQyxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQVNuRCxNQUFNLE9BQU8sc0NBQXNDO0lBd0JqRCxZQUNtQixzQkFBOEMsRUFDOUMsa0JBQXNDLEVBQ3RDLGVBQWdDLEVBQ2hDLGdCQUFrQyxFQUNsQywwQkFBc0QsRUFDdEQsWUFBNkM7UUFMN0MsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5Qyx1QkFB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TSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNwRixTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2pFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O21JQXBMVSxzQ0FBc0M7dUhBQXRDLHNDQUFzQyxnU0NwQ25ELHFyQ0FrQ0E7MkZERWEsc0NBQXNDO2tCQUxsRCxTQUFTOytCQUNFLDBDQUEwQztrU0FLM0MsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ZWRpdFByb2R1Y3RBYW52cmFnZW5Db25uZWN0b3JGb3JtfSBmcm9tICcuL2VkaXQtcHJvZHVjdC1hYW52cmFnZW4tY29ubmVjdG9yLmZvcm0nO1xuaW1wb3J0IHtGb3JtTWFwcGluZ1NlcnZpY2UsIEZvcm1UcmFuc2xhdGlvblNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2Zvcm0nO1xuaW1wb3J0IHtEb2N1bWVudERlZmluaXRpb24sIERvY3VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtFeHRlbmRlZENvbXBvbmVudFNjaGVtYX0gZnJvbSAnZm9ybWlvanMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIFN1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Nvbm5lY3RvclByb3BlcnRpZXN9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge0Zvcm1pb0Zvcm0sIEZvcm1pb1JlZnJlc2hWYWx1ZX0gZnJvbSAnQGZvcm1pby9hbmd1bGFyJztcbmltcG9ydCB7Rm9ybWlvT3B0aW9uc30gZnJvbSAnQGZvcm1pby9hbmd1bGFyL2Zvcm1pby5jb21tb24nO1xuaW1wb3J0IHtjbG9uZURlZXB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHttYXAsIHN3aXRjaE1hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0Nvbm5lY3Rvck1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25uZWN0b3ItbWFuYWdlbWVudC9jb25uZWN0b3ItbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7Q29ubmVjdG9yTWFuYWdlbWVudFN0YXRlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29ubmVjdG9yLW1hbmFnZW1lbnQtc3RhdGUvY29ubmVjdG9yLW1hbmFnZW1lbnQtc3RhdGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tZWRpdC1wcm9kdWN0LWFhbnZyYWdlbi1jb25uZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vZWRpdC1wcm9kdWN0LWFhbnZyYWdlbi1jb25uZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lZGl0LXByb2R1Y3QtYWFudnJhZ2VuLWNvbm5lY3Rvci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0UHJvZHVjdEFhbnZyYWdlbkNvbm5lY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwcm9wZXJ0aWVzOiBDb25uZWN0b3JQcm9wZXJ0aWVzO1xuICBASW5wdXQoKSBkZWZhdWx0TmFtZSE6IHN0cmluZztcbiAgQElucHV0KCkgc2hvd0RlbGV0ZUJ1dHRvbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBwcm9wZXJ0aWVzU2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8e3Byb3BlcnRpZXM6IENvbm5lY3RvclByb3BlcnRpZXM7IG5hbWU6IHN0cmluZ30+KCk7XG4gIEBPdXRwdXQoKSBjb25uZWN0b3JEZWxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBmb3JtUmVmcmVzaCQgPSBuZXcgU3ViamVjdDxGb3JtaW9SZWZyZXNoVmFsdWU+KCk7XG4gIGZvcm1EZWZpbml0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Rm9ybWlvRm9ybT4odW5kZWZpbmVkKTtcbiAgdHJhbnNsYXRlZEZvcm1EZWZpbml0aW9uJCA9IHRoaXMuZm9ybURlZmluaXRpb24kLnBpcGUoXG4gICAgbWFwKGRlZmluaXRpb24gPT4gdGhpcy5mb3JtVHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUZvcm0oZGVmaW5pdGlvbikpXG4gICk7XG4gIGNhc2VEZWZpbml0aW9uT3B0aW9uczogQXJyYXk8e2xhYmVsOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmd9PiA9IFtdO1xuICBwcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uT3B0aW9uczoge1tjYXNlRGVmaW5pdGlvbklkOiBzdHJpbmddOiBBcnJheTxzdHJpbmc+fSA9IHt9O1xuXG4gIHJlYWRvbmx5IG9wdGlvbnM6IEZvcm1pb09wdGlvbnMgPSB7XG4gICAgZGlzYWJsZUFsZXJ0czogdHJ1ZSxcbiAgfTtcblxuICBwcml2YXRlIGZvcm1EZWZpbml0aW9uU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHRyYW5zbGF0ZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBkZWxldGVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtVHJhbnNsYXRpb25TZXJ2aWNlOiBGb3JtVHJhbnNsYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybU1hcHBpbmdTZXJ2aWNlOiBGb3JtTWFwcGluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25uZWN0b3JNYW5hZ2VtZW50U2VydmljZTogQ29ubmVjdG9yTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IENvbm5lY3Rvck1hbmFnZW1lbnRTdGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHdpbmRvd1sncHJvZHVjdFJlcXVlc3REZWZpbml0aW9ucyddID0ge307XG4gICAgdGhpcy5vcGVuRm9ybURlZmluaXRpb25TdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLm9wZW5EZWxldGVTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLmZvcm1EZWZpbml0aW9uJC5uZXh0KGVkaXRQcm9kdWN0QWFudnJhZ2VuQ29ubmVjdG9yRm9ybSk7XG4gICAgdGhpcy5sb2FkQ29ubmVjdG9yTmFtZXMoKTtcbiAgICB0aGlzLmxvYWREZWZpbml0aW9ucygpO1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmhpZGVNb2RhbFNhdmVCdXR0b24oKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybURlZmluaXRpb24kLm5leHQoZWRpdFByb2R1Y3RBYW52cmFnZW5Db25uZWN0b3JGb3JtKTtcbiAgICB0aGlzLmxvYWRDb25uZWN0b3JOYW1lcygpO1xuICAgIHRoaXMubG9hZERlZmluaXRpb25zKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1EZWZpbml0aW9uU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMudHJhbnNsYXRlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZGVsZXRlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHN1Ym1pc3Npb24gPSBldmVudC5kYXRhO1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSBjbG9uZURlZXAodGhpcy5wcm9wZXJ0aWVzKTtcblxuICAgIHByb3BlcnRpZXMub2JqZWN0c0FwaUNvbm5lY3Rpb25OYW1lID0gc3VibWlzc2lvbi5vYmplY3RzQXBpQ29ubmVjdGlvbk5hbWU7XG4gICAgcHJvcGVydGllcy5vcGVuTm90aWZpY2F0aWVDb25uZWN0aW9uTmFtZSA9IHN1Ym1pc3Npb24ub3Blbk5vdGlmaWNhdGllQ29ubmVjdGlvbk5hbWU7XG4gICAgcHJvcGVydGllcy5hYW52cmFnZXJSb2xUeXBlVXJsID0gc3VibWlzc2lvbi5hcHBsaWNhbnRSb2xlVHlwZVVybDtcbiAgICBwcm9wZXJ0aWVzLnR5cGVNYXBwaW5nID0gc3VibWlzc2lvbi5wcm9kdWN0QWFudnJhYWdUeXBlcztcblxuICAgIHRoaXMucHJvcGVydGllc1NhdmUuZW1pdCh7cHJvcGVydGllcywgbmFtZTogc3VibWlzc2lvbi5jb25uZWN0b3JOYW1lfSk7XG4gIH1cblxuICBvbkRlbGV0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5kaXNhYmxlSW5wdXQoKTtcbiAgICB0aGlzLmNvbm5lY3RvckRlbGV0ZS5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5Gb3JtRGVmaW5pdGlvblN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1EZWZpbml0aW9uU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmZvcm1EZWZpbml0aW9uJCxcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICAgIF0pLnN1YnNjcmliZSgoW2Zvcm1dKSA9PiB7XG4gICAgICBjb25zdCB0cmFuc2xhdGVkRm9ybSA9IHRoaXMuZm9ybVRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVGb3JtKGZvcm0pO1xuICAgICAgdGhpcy5yZWZyZXNoRm9ybSh7Zm9ybTogdHJhbnNsYXRlZEZvcm19KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcHJlZmlsbEZvcm0oKTogdm9pZCB7XG4gICAgY29uc3QgcHJvcGVydGllcyA9IGNsb25lRGVlcCh0aGlzLnByb3BlcnRpZXMpO1xuICAgIGNvbnN0IHN1Ym1pc3Npb246IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9ID0ge307XG5cbiAgICBzdWJtaXNzaW9uLm9iamVjdHNBcGlDb25uZWN0aW9uTmFtZSA9IHByb3BlcnRpZXMub2JqZWN0c0FwaUNvbm5lY3Rpb25OYW1lO1xuICAgIHN1Ym1pc3Npb24ub3Blbk5vdGlmaWNhdGllQ29ubmVjdGlvbk5hbWUgPSBwcm9wZXJ0aWVzLm9wZW5Ob3RpZmljYXRpZUNvbm5lY3Rpb25OYW1lO1xuICAgIHN1Ym1pc3Npb24uYXBwbGljYW50Um9sZVR5cGVVcmwgPSBwcm9wZXJ0aWVzLmFhbnZyYWdlclJvbFR5cGVVcmw7XG4gICAgc3VibWlzc2lvbi5wcm9kdWN0QWFudnJhYWdUeXBlcyA9IHByb3BlcnRpZXMudHlwZU1hcHBpbmc7XG4gICAgc3VibWlzc2lvbi5jb25uZWN0b3JOYW1lID0gdGhpcy5kZWZhdWx0TmFtZTtcblxuICAgIHRoaXMucmVmcmVzaEZvcm0oe3N1Ym1pc3Npb246IHtkYXRhOiBzdWJtaXNzaW9ufX0pO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBDYXNlRGVmaW5pdGlvbktleUNvbXBvbmVudCA9IChcbiAgICBjb21wb25lbnQ6IEV4dGVuZGVkQ29tcG9uZW50U2NoZW1hXG4gICk6IEV4dGVuZGVkQ29tcG9uZW50U2NoZW1hID0+IHtcbiAgICBpZiAoY29tcG9uZW50LmtleSA9PT0gJ2Nhc2VEZWZpbml0aW9uS2V5Jykge1xuICAgICAgcmV0dXJuIHsuLi5jb21wb25lbnQsIGRpc2FibGVkOiBmYWxzZSwgZGF0YToge3ZhbHVlczogdGhpcy5jYXNlRGVmaW5pdGlvbk9wdGlvbnN9fTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tcG9uZW50O1xuICB9O1xuXG4gIHByaXZhdGUgcmVmcmVzaEZvcm0ocmVmcmVzaFZhbHVlOiBGb3JtaW9SZWZyZXNoVmFsdWUpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1SZWZyZXNoJC5uZXh0KHJlZnJlc2hWYWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGxvYWREZWZpbml0aW9ucygpOiB2b2lkIHtcbiAgICBsZXQgZG9jdW1lbnREZWZpbml0aW9uczogQXJyYXk8RG9jdW1lbnREZWZpbml0aW9uPjtcblxuICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlXG4gICAgICAuZ2V0QWxsRGVmaW5pdGlvbnMoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcChyZXNEb2N1bWVudERlZmluaXRpb25zID0+IChkb2N1bWVudERlZmluaXRpb25zID0gcmVzRG9jdW1lbnREZWZpbml0aW9ucy5jb250ZW50KSksXG4gICAgICAgIHN3aXRjaE1hcChyZXNEb2N1bWVudERlZmluaXRpb25zID0+XG4gICAgICAgICAgY29tYmluZUxhdGVzdChcbiAgICAgICAgICAgIHJlc0RvY3VtZW50RGVmaW5pdGlvbnMuY29udGVudC5tYXAoZGVmaW5pdGlvbiA9PlxuICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5maW5kUHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbnMoZGVmaW5pdGlvbi5pZC5uYW1lKVxuICAgICAgICAgICAgKVxuICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgdGFwKHJlcyA9PiB7XG4gICAgICAgICAgdGhpcy5jYXNlRGVmaW5pdGlvbk9wdGlvbnMgPSBkb2N1bWVudERlZmluaXRpb25zLm1hcChkb2N1bWVudERlZmluaXRpb24gPT4gKHtcbiAgICAgICAgICAgIGxhYmVsOiBkb2N1bWVudERlZmluaXRpb24uaWQubmFtZSxcbiAgICAgICAgICAgIHZhbHVlOiBkb2N1bWVudERlZmluaXRpb24uaWQubmFtZSxcbiAgICAgICAgICB9KSk7XG5cbiAgICAgICAgICBkb2N1bWVudERlZmluaXRpb25zLmZvckVhY2goKGRvY3VtZW50RGVmaW5pdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbk9wdGlvbnNbZG9jdW1lbnREZWZpbml0aW9uLmlkLm5hbWVdID0gcmVzW2luZGV4XS5tYXAoXG4gICAgICAgICAgICAgIHByb2Nlc3NEb2N1bWVudERlZmluaXRpb24gPT4gcHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbi5pZC5wcm9jZXNzRGVmaW5pdGlvbktleVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHdpbmRvd1sncHJvZHVjdFJlcXVlc3REZWZpbml0aW9ucyddID0gdGhpcy5wcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uT3B0aW9ucztcblxuICAgICAgICAgIGNvbnN0IGRlZmluaXRpb25XaXRoQ2FzZURlZmluaXRpb25PcHRpb25zID0gdGhpcy5mb3JtTWFwcGluZ1NlcnZpY2UubWFwQ29tcG9uZW50cyhcbiAgICAgICAgICAgIHRoaXMuZm9ybURlZmluaXRpb24kLmdldFZhbHVlKCksXG4gICAgICAgICAgICB0aGlzLm1hcENhc2VEZWZpbml0aW9uS2V5Q29tcG9uZW50XG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHRoaXMuZm9ybURlZmluaXRpb24kLm5leHQoZGVmaW5pdGlvbldpdGhDYXNlRGVmaW5pdGlvbk9wdGlvbnMpO1xuXG4gICAgICAgICAgaWYgKHRoaXMucHJvcGVydGllcz8uYWFudnJhZ2VyUm9sVHlwZVVybCkge1xuICAgICAgICAgICAgdGhpcy5wcmVmaWxsRm9ybSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZENvbm5lY3Rvck5hbWVzKCk6IHZvaWQge1xuICAgIHRoaXMuY29ubmVjdG9yTWFuYWdlbWVudFNlcnZpY2VcbiAgICAgIC5nZXRDb25uZWN0b3JUeXBlcygpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKHJlcyA9PiB7XG4gICAgICAgICAgcmVzLmZvckVhY2goY29ubmVjdG9yVHlwZSA9PiB7XG4gICAgICAgICAgICBpZiAoY29ubmVjdG9yVHlwZS5uYW1lID09PSAnT2JqZWN0c0FwaScpIHtcbiAgICAgICAgICAgICAgdGhpcy5sb2FkQ29ubmVjdG9yTmFtZXNCeVR5cGUoJ29iamVjdEFwaUNvbm5lY3Rvck5hbWVzJywgY29ubmVjdG9yVHlwZS5pZCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNvbm5lY3RvclR5cGUubmFtZSA9PT0gJ09wZW5Ob3RpZmljYXRpZScpIHtcbiAgICAgICAgICAgICAgdGhpcy5sb2FkQ29ubmVjdG9yTmFtZXNCeVR5cGUoJ29wZW5Ob3RpZmljYXRpZUNvbm5lY3Rvck5hbWVzJywgY29ubmVjdG9yVHlwZS5pZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRDb25uZWN0b3JOYW1lc0J5VHlwZSh3aW5kb3dLZXk6IHN0cmluZywgY29ubmVjdG9yVHlwZUlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbm5lY3Rvck1hbmFnZW1lbnRTZXJ2aWNlXG4gICAgICAuZ2V0Q29ubmVjdG9ySW5zdGFuY2VzQnlUeXBlKGNvbm5lY3RvclR5cGVJZClcbiAgICAgIC5waXBlKG1hcChyZXMgPT4gKHdpbmRvd1t3aW5kb3dLZXldID0gcmVzLmNvbnRlbnQubWFwKGNvbm5lY3RvciA9PiBjb25uZWN0b3IubmFtZSkpKSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkRlbGV0ZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmRlbGV0ZVN1YnNjcmlwdGlvbiA9IHRoaXMuc3RhdGVTZXJ2aWNlLmRlbGV0ZSQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMub25EZWxldGUoKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2XG4gICpuZ0lmPVwidHJhbnNsYXRlZEZvcm1EZWZpbml0aW9uJCB8IGFzeW5jIGFzIGRlZmluaXRpb25cIlxuICBjbGFzcz1cImVkaXQtcHJvZHVjdC1yZXF1ZXN0XCJcbiAgW25nQ2xhc3NdPVwieydoYXMtZGVsZXRlJzogc2hvd0RlbGV0ZUJ1dHRvbn1cIlxuPlxuICA8dmFsdGltby1mb3JtLWlvXG4gICAgW2Zvcm1dPVwiZGVmaW5pdGlvblwiXG4gICAgW2Zvcm1SZWZyZXNoJF09XCJmb3JtUmVmcmVzaCRcIlxuICAgIFtvcHRpb25zXT1cIm9wdGlvbnNcIlxuICAgIChzdWJtaXQpPVwib25TdWJtaXQoJGV2ZW50KVwiXG4gID5cbiAgPC92YWx0aW1vLWZvcm0taW8+XG5cbiAgPGJ1dHRvbiAqbmdJZj1cInNob3dEZWxldGVCdXR0b25cIiBjbGFzcz1cImJ0biBidG4tZGFuZ2VyIGJ0bi1zcGFjZVwiIChjbGljayk9XCJvbkRlbGV0ZSgpXCI+XG4gICAgPGkgY2xhc3M9XCJpY29uIG1kaSBtZGktZGVsZXRlIG1yLTFcIj48L2k+XG4gICAge3sgJ2Nvbm5lY3Rvck1hbmFnZW1lbnQucmVtb3ZlJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2023 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 { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
17
|
-
import { editTaakConnectorForm } from './edit-taak-connector.form';
|
|
18
|
-
import { BehaviorSubject, combineLatest, Subject, timer } from 'rxjs';
|
|
19
|
-
import { cloneDeep } from 'lodash';
|
|
20
|
-
import { map, tap } from 'rxjs/operators';
|
|
21
|
-
import * as i0 from "@angular/core";
|
|
22
|
-
import * as i1 from "@valtimo/form";
|
|
23
|
-
import * as i2 from "@ngx-translate/core";
|
|
24
|
-
import * as i3 from "../../services/connector-management/connector-management.service";
|
|
25
|
-
import * as i4 from "../../services/connector-management-state/connector-management-state.service";
|
|
26
|
-
import * as i5 from "@angular/common";
|
|
27
|
-
import * as i6 from "@valtimo/components";
|
|
28
|
-
import * as i7 from "@angular/flex-layout/extended";
|
|
29
|
-
export class EditTaakConnectorComponent {
|
|
30
|
-
constructor(formTranslationService, formMappingService, translateService, connectorManagementService, stateService) {
|
|
31
|
-
this.formTranslationService = formTranslationService;
|
|
32
|
-
this.formMappingService = formMappingService;
|
|
33
|
-
this.translateService = translateService;
|
|
34
|
-
this.connectorManagementService = connectorManagementService;
|
|
35
|
-
this.stateService = stateService;
|
|
36
|
-
this.showDeleteButton = false;
|
|
37
|
-
this.propertiesSave = new EventEmitter();
|
|
38
|
-
this.connectorDelete = new EventEmitter();
|
|
39
|
-
this.formRefresh$ = new Subject();
|
|
40
|
-
this.formDefinition$ = new BehaviorSubject(undefined);
|
|
41
|
-
this.translatedFormDefinition$ = this.formDefinition$.pipe(map(definition => this.formTranslationService.translateForm(definition)));
|
|
42
|
-
this.options = {
|
|
43
|
-
disableAlerts: true,
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
ngOnInit() {
|
|
47
|
-
this.openFormDefinitionSubscription();
|
|
48
|
-
this.openDeleteSubscription();
|
|
49
|
-
this.formDefinition$.next(editTaakConnectorForm);
|
|
50
|
-
this.loadConnectorNames();
|
|
51
|
-
this.prefillForm();
|
|
52
|
-
this.stateService.hideModalSaveButton();
|
|
53
|
-
}
|
|
54
|
-
ngOnChanges() {
|
|
55
|
-
this.formDefinition$.next(editTaakConnectorForm);
|
|
56
|
-
this.loadConnectorNames();
|
|
57
|
-
this.prefillForm();
|
|
58
|
-
}
|
|
59
|
-
ngOnDestroy() {
|
|
60
|
-
this.formDefinitionSubscription?.unsubscribe();
|
|
61
|
-
this.translateSubscription?.unsubscribe();
|
|
62
|
-
this.deleteSubscription?.unsubscribe();
|
|
63
|
-
}
|
|
64
|
-
onSubmit(event) {
|
|
65
|
-
const submission = event.data;
|
|
66
|
-
const properties = cloneDeep(this.properties);
|
|
67
|
-
properties.objectsApiConnectionName = submission.objectsApiConnectionName;
|
|
68
|
-
properties.openNotificatieConnectionName = submission.openNotificatieConnectionName;
|
|
69
|
-
this.propertiesSave.emit({ properties, name: submission.connectorName });
|
|
70
|
-
}
|
|
71
|
-
onDelete() {
|
|
72
|
-
this.stateService.disableInput();
|
|
73
|
-
this.connectorDelete.emit();
|
|
74
|
-
}
|
|
75
|
-
openFormDefinitionSubscription() {
|
|
76
|
-
this.formDefinitionSubscription = combineLatest([
|
|
77
|
-
this.formDefinition$,
|
|
78
|
-
this.translateService.stream('key'),
|
|
79
|
-
]).subscribe(([form]) => {
|
|
80
|
-
const translatedForm = this.formTranslationService.translateForm(form);
|
|
81
|
-
this.refreshForm({ form: translatedForm });
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
prefillForm() {
|
|
85
|
-
timer(100)
|
|
86
|
-
.pipe(tap(() => {
|
|
87
|
-
if (this.defaultName !== undefined) {
|
|
88
|
-
const properties = cloneDeep(this.properties);
|
|
89
|
-
const submission = {};
|
|
90
|
-
submission.objectsApiConnectionName = properties.objectsApiConnectionName;
|
|
91
|
-
submission.openNotificatieConnectionName = properties.openNotificatieConnectionName;
|
|
92
|
-
submission.connectorName = this.defaultName;
|
|
93
|
-
this.refreshForm({ submission: { data: submission } });
|
|
94
|
-
}
|
|
95
|
-
}))
|
|
96
|
-
.subscribe();
|
|
97
|
-
}
|
|
98
|
-
refreshForm(refreshValue) {
|
|
99
|
-
this.formRefresh$.next(refreshValue);
|
|
100
|
-
}
|
|
101
|
-
loadConnectorNames() {
|
|
102
|
-
this.connectorManagementService
|
|
103
|
-
.getConnectorTypes()
|
|
104
|
-
.pipe(tap(res => {
|
|
105
|
-
res.forEach(connectorType => {
|
|
106
|
-
if (connectorType.name === 'ObjectsApi') {
|
|
107
|
-
this.loadConnectorNamesByType('objectApiConnectorNames', connectorType.id);
|
|
108
|
-
}
|
|
109
|
-
else if (connectorType.name === 'OpenNotificatie') {
|
|
110
|
-
this.loadConnectorNamesByType('openNotificatieConnectorNames', connectorType.id);
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
}))
|
|
114
|
-
.subscribe();
|
|
115
|
-
}
|
|
116
|
-
loadConnectorNamesByType(windowKey, connectorTypeId) {
|
|
117
|
-
this.connectorManagementService
|
|
118
|
-
.getConnectorInstancesByType(connectorTypeId)
|
|
119
|
-
.pipe(map(res => (window[windowKey] = res.content.map(connector => connector.name))))
|
|
120
|
-
.subscribe();
|
|
121
|
-
}
|
|
122
|
-
openDeleteSubscription() {
|
|
123
|
-
this.deleteSubscription = this.stateService.delete$.subscribe(() => {
|
|
124
|
-
this.onDelete();
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
EditTaakConnectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EditTaakConnectorComponent, deps: [{ token: i1.FormTranslationService }, { token: i1.FormMappingService }, { token: i2.TranslateService }, { token: i3.ConnectorManagementService }, { token: i4.ConnectorManagementStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
129
|
-
EditTaakConnectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: EditTaakConnectorComponent, selector: "valtimo-edit-taak-connector", inputs: { properties: "properties", defaultName: "defaultName", showDeleteButton: "showDeleteButton" }, outputs: { propertiesSave: "propertiesSave", connectorDelete: "connectorDelete" }, usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 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<div\n *ngIf=\"translatedFormDefinition$ | async as definition\"\n class=\"edit-taak\"\n [ngClass]=\"{'has-delete': showDeleteButton}\"\n>\n <valtimo-form-io\n [form]=\"definition\"\n [formRefresh$]=\"formRefresh$\"\n [options]=\"options\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n\n <button *ngIf=\"showDeleteButton\" class=\"btn btn-danger btn-space\" (click)=\"onDelete()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>\n {{ 'connectorManagement.remove' | translate }}\n </button>\n</div>\n", styles: ["/*!\n * Copyright 2015-2023 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 */.edit-taak ::ng-deep .list-inline{display:flex;flex-direction:row;justify-content:flex-end}.edit-taak .btn-danger{position:absolute;bottom:35px}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "directive", type: i7.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EditTaakConnectorComponent, decorators: [{
|
|
131
|
-
type: Component,
|
|
132
|
-
args: [{ selector: 'valtimo-edit-taak-connector', template: "<!--\n ~ Copyright 2015-2023 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<div\n *ngIf=\"translatedFormDefinition$ | async as definition\"\n class=\"edit-taak\"\n [ngClass]=\"{'has-delete': showDeleteButton}\"\n>\n <valtimo-form-io\n [form]=\"definition\"\n [formRefresh$]=\"formRefresh$\"\n [options]=\"options\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n\n <button *ngIf=\"showDeleteButton\" class=\"btn btn-danger btn-space\" (click)=\"onDelete()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>\n {{ 'connectorManagement.remove' | translate }}\n </button>\n</div>\n", styles: ["/*!\n * Copyright 2015-2023 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 */.edit-taak ::ng-deep .list-inline{display:flex;flex-direction:row;justify-content:flex-end}.edit-taak .btn-danger{position:absolute;bottom:35px}\n"] }]
|
|
133
|
-
}], ctorParameters: function () { return [{ type: i1.FormTranslationService }, { type: i1.FormMappingService }, { type: i2.TranslateService }, { type: i3.ConnectorManagementService }, { type: i4.ConnectorManagementStateService }]; }, propDecorators: { properties: [{
|
|
134
|
-
type: Input
|
|
135
|
-
}], defaultName: [{
|
|
136
|
-
type: Input
|
|
137
|
-
}], showDeleteButton: [{
|
|
138
|
-
type: Input
|
|
139
|
-
}], propertiesSave: [{
|
|
140
|
-
type: Output
|
|
141
|
-
}], connectorDelete: [{
|
|
142
|
-
type: Output
|
|
143
|
-
}] } });
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC10YWFrLWNvbm5lY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Nvbm5lY3Rvci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9lZGl0LXRhYWstY29ubmVjdG9yL2VkaXQtdGFhay1jb25uZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb25uZWN0b3ItbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvZWRpdC10YWFrLWNvbm5lY3Rvci9lZGl0LXRhYWstY29ubmVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFnQyxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFakUsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFnQixLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFJbEYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUVqQyxPQUFPLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFTeEMsTUFBTSxPQUFPLDBCQUEwQjtJQXNCckMsWUFDbUIsc0JBQThDLEVBQzlDLGtCQUFzQyxFQUN0QyxnQkFBa0MsRUFDbEMsMEJBQXNELEVBQ3RELFlBQTZDO1FBSjdDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLCtCQUEwQixHQUExQiwwQkFB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LENBQUM7SUFDakIsQ0FBQztJQUVPLHdCQUF3QixDQUFDLFNBQWlCLEVBQUUsZUFBdUI7UUFDekUsSUFBSSxDQUFDLDBCQUEwQjthQUM1QiwyQkFBMkIsQ0FBQyxlQUFlLENBQUM7YUFDNUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNwRixTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2pFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3VIQS9IVSwwQkFBMEI7MkdBQTFCLDBCQUEwQixtUkNsQ3ZDLDBxQ0FrQ0E7MkZEQWEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLDZCQUE2QjtvUUFLOUIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ZWRpdFRhYWtDb25uZWN0b3JGb3JtfSBmcm9tICcuL2VkaXQtdGFhay1jb25uZWN0b3IuZm9ybSc7XG5pbXBvcnQge0Zvcm1NYXBwaW5nU2VydmljZSwgRm9ybVRyYW5zbGF0aW9uU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZm9ybSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Nvbm5lY3RvclByb3BlcnRpZXN9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge0Zvcm1pb0Zvcm0sIEZvcm1pb1JlZnJlc2hWYWx1ZX0gZnJvbSAnQGZvcm1pby9hbmd1bGFyJztcbmltcG9ydCB7Rm9ybWlvT3B0aW9uc30gZnJvbSAnQGZvcm1pby9hbmd1bGFyL2Zvcm1pby5jb21tb24nO1xuaW1wb3J0IHtjbG9uZURlZXB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHttYXAsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb25uZWN0b3JNYW5hZ2VtZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29ubmVjdG9yLW1hbmFnZW1lbnQvY29ubmVjdG9yLW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQge0Nvbm5lY3Rvck1hbmFnZW1lbnRTdGF0ZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Nvbm5lY3Rvci1tYW5hZ2VtZW50LXN0YXRlL2Nvbm5lY3Rvci1tYW5hZ2VtZW50LXN0YXRlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWVkaXQtdGFhay1jb25uZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vZWRpdC10YWFrLWNvbm5lY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VkaXQtdGFhay1jb25uZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRWRpdFRhYWtDb25uZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcHJvcGVydGllczogQ29ubmVjdG9yUHJvcGVydGllcztcbiAgQElucHV0KCkgZGVmYXVsdE5hbWUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNob3dEZWxldGVCdXR0b24gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgcHJvcGVydGllc1NhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPHtwcm9wZXJ0aWVzOiBDb25uZWN0b3JQcm9wZXJ0aWVzOyBuYW1lOiBzdHJpbmd9PigpO1xuICBAT3V0cHV0KCkgY29ubmVjdG9yRGVsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgZm9ybVJlZnJlc2gkID0gbmV3IFN1YmplY3Q8Rm9ybWlvUmVmcmVzaFZhbHVlPigpO1xuICBmb3JtRGVmaW5pdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZvcm1pb0Zvcm0+KHVuZGVmaW5lZCk7XG4gIHRyYW5zbGF0ZWRGb3JtRGVmaW5pdGlvbiQgPSB0aGlzLmZvcm1EZWZpbml0aW9uJC5waXBlKFxuICAgIG1hcChkZWZpbml0aW9uID0+IHRoaXMuZm9ybVRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVGb3JtKGRlZmluaXRpb24pKVxuICApO1xuXG4gIHJlYWRvbmx5IG9wdGlvbnM6IEZvcm1pb09wdGlvbnMgPSB7XG4gICAgZGlzYWJsZUFsZXJ0czogdHJ1ZSxcbiAgfTtcblxuICBwcml2YXRlIGZvcm1EZWZpbml0aW9uU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHRyYW5zbGF0ZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBkZWxldGVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtVHJhbnNsYXRpb25TZXJ2aWNlOiBGb3JtVHJhbnNsYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybU1hcHBpbmdTZXJ2aWNlOiBGb3JtTWFwcGluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29ubmVjdG9yTWFuYWdlbWVudFNlcnZpY2U6IENvbm5lY3Rvck1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdGVTZXJ2aWNlOiBDb25uZWN0b3JNYW5hZ2VtZW50U3RhdGVTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5Gb3JtRGVmaW5pdGlvblN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3BlbkRlbGV0ZVN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMuZm9ybURlZmluaXRpb24kLm5leHQoZWRpdFRhYWtDb25uZWN0b3JGb3JtKTtcbiAgICB0aGlzLmxvYWRDb25uZWN0b3JOYW1lcygpO1xuICAgIHRoaXMucHJlZmlsbEZvcm0oKTtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5oaWRlTW9kYWxTYXZlQnV0dG9uKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1EZWZpbml0aW9uJC5uZXh0KGVkaXRUYWFrQ29ubmVjdG9yRm9ybSk7XG4gICAgdGhpcy5sb2FkQ29ubmVjdG9yTmFtZXMoKTtcbiAgICB0aGlzLnByZWZpbGxGb3JtKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1EZWZpbml0aW9uU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMudHJhbnNsYXRlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZGVsZXRlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHN1Ym1pc3Npb24gPSBldmVudC5kYXRhO1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSBjbG9uZURlZXAodGhpcy5wcm9wZXJ0aWVzKTtcblxuICAgIHByb3BlcnRpZXMub2JqZWN0c0FwaUNvbm5lY3Rpb25OYW1lID0gc3VibWlzc2lvbi5vYmplY3RzQXBpQ29ubmVjdGlvbk5hbWU7XG4gICAgcHJvcGVydGllcy5vcGVuTm90aWZpY2F0aWVDb25uZWN0aW9uTmFtZSA9IHN1Ym1pc3Npb24ub3Blbk5vdGlmaWNhdGllQ29ubmVjdGlvbk5hbWU7XG5cbiAgICB0aGlzLnByb3BlcnRpZXNTYXZlLmVtaXQoe3Byb3BlcnRpZXMsIG5hbWU6IHN1Ym1pc3Npb24uY29ubmVjdG9yTmFtZX0pO1xuICB9XG5cbiAgb25EZWxldGUoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UuZGlzYWJsZUlucHV0KCk7XG4gICAgdGhpcy5jb25uZWN0b3JEZWxldGUuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRm9ybURlZmluaXRpb25TdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtRGVmaW5pdGlvblN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5mb3JtRGVmaW5pdGlvbiQsXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKSxcbiAgICBdKS5zdWJzY3JpYmUoKFtmb3JtXSkgPT4ge1xuICAgICAgY29uc3QgdHJhbnNsYXRlZEZvcm0gPSB0aGlzLmZvcm1UcmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlRm9ybShmb3JtKTtcbiAgICAgIHRoaXMucmVmcmVzaEZvcm0oe2Zvcm06IHRyYW5zbGF0ZWRGb3JtfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHByZWZpbGxGb3JtKCk6IHZvaWQge1xuICAgIHRpbWVyKDEwMClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmRlZmF1bHROYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHByb3BlcnRpZXMgPSBjbG9uZURlZXAodGhpcy5wcm9wZXJ0aWVzKTtcbiAgICAgICAgICAgIGNvbnN0IHN1Ym1pc3Npb246IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9ID0ge307XG5cbiAgICAgICAgICAgIHN1Ym1pc3Npb24ub2JqZWN0c0FwaUNvbm5lY3Rpb25OYW1lID0gcHJvcGVydGllcy5vYmplY3RzQXBpQ29ubmVjdGlvbk5hbWU7XG4gICAgICAgICAgICBzdWJtaXNzaW9uLm9wZW5Ob3RpZmljYXRpZUNvbm5lY3Rpb25OYW1lID0gcHJvcGVydGllcy5vcGVuTm90aWZpY2F0aWVDb25uZWN0aW9uTmFtZTtcbiAgICAgICAgICAgIHN1Ym1pc3Npb24uY29ubmVjdG9yTmFtZSA9IHRoaXMuZGVmYXVsdE5hbWU7XG5cbiAgICAgICAgICAgIHRoaXMucmVmcmVzaEZvcm0oe3N1Ym1pc3Npb246IHtkYXRhOiBzdWJtaXNzaW9ufX0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVmcmVzaEZvcm0ocmVmcmVzaFZhbHVlOiBGb3JtaW9SZWZyZXNoVmFsdWUpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1SZWZyZXNoJC5uZXh0KHJlZnJlc2hWYWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRDb25uZWN0b3JOYW1lcygpOiB2b2lkIHtcbiAgICB0aGlzLmNvbm5lY3Rvck1hbmFnZW1lbnRTZXJ2aWNlXG4gICAgICAuZ2V0Q29ubmVjdG9yVHlwZXMoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcChyZXMgPT4ge1xuICAgICAgICAgIHJlcy5mb3JFYWNoKGNvbm5lY3RvclR5cGUgPT4ge1xuICAgICAgICAgICAgaWYgKGNvbm5lY3RvclR5cGUubmFtZSA9PT0gJ09iamVjdHNBcGknKSB7XG4gICAgICAgICAgICAgIHRoaXMubG9hZENvbm5lY3Rvck5hbWVzQnlUeXBlKCdvYmplY3RBcGlDb25uZWN0b3JOYW1lcycsIGNvbm5lY3RvclR5cGUuaWQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjb25uZWN0b3JUeXBlLm5hbWUgPT09ICdPcGVuTm90aWZpY2F0aWUnKSB7XG4gICAgICAgICAgICAgIHRoaXMubG9hZENvbm5lY3Rvck5hbWVzQnlUeXBlKCdvcGVuTm90aWZpY2F0aWVDb25uZWN0b3JOYW1lcycsIGNvbm5lY3RvclR5cGUuaWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkQ29ubmVjdG9yTmFtZXNCeVR5cGUod2luZG93S2V5OiBzdHJpbmcsIGNvbm5lY3RvclR5cGVJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5jb25uZWN0b3JNYW5hZ2VtZW50U2VydmljZVxuICAgICAgLmdldENvbm5lY3Rvckluc3RhbmNlc0J5VHlwZShjb25uZWN0b3JUeXBlSWQpXG4gICAgICAucGlwZShtYXAocmVzID0+ICh3aW5kb3dbd2luZG93S2V5XSA9IHJlcy5jb250ZW50Lm1hcChjb25uZWN0b3IgPT4gY29ubmVjdG9yLm5hbWUpKSkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5EZWxldGVTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5kZWxldGVTdWJzY3JpcHRpb24gPSB0aGlzLnN0YXRlU2VydmljZS5kZWxldGUkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLm9uRGVsZXRlKCk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdlxuICAqbmdJZj1cInRyYW5zbGF0ZWRGb3JtRGVmaW5pdGlvbiQgfCBhc3luYyBhcyBkZWZpbml0aW9uXCJcbiAgY2xhc3M9XCJlZGl0LXRhYWtcIlxuICBbbmdDbGFzc109XCJ7J2hhcy1kZWxldGUnOiBzaG93RGVsZXRlQnV0dG9ufVwiXG4+XG4gIDx2YWx0aW1vLWZvcm0taW9cbiAgICBbZm9ybV09XCJkZWZpbml0aW9uXCJcbiAgICBbZm9ybVJlZnJlc2gkXT1cImZvcm1SZWZyZXNoJFwiXG4gICAgW29wdGlvbnNdPVwib3B0aW9uc1wiXG4gICAgKHN1Ym1pdCk9XCJvblN1Ym1pdCgkZXZlbnQpXCJcbiAgPlxuICA8L3ZhbHRpbW8tZm9ybS1pbz5cblxuICA8YnV0dG9uICpuZ0lmPVwic2hvd0RlbGV0ZUJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1kYW5nZXIgYnRuLXNwYWNlXCIgKGNsaWNrKT1cIm9uRGVsZXRlKClcIj5cbiAgICA8aSBjbGFzcz1cImljb24gbWRpIG1kaS1kZWxldGUgbXItMVwiPjwvaT5cbiAgICB7eyAnY29ubmVjdG9yTWFuYWdlbWVudC5yZW1vdmUnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|