vcomply-workflow-engine 6.0.42 → 6.0.44
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/esm2022/lib/report-a-case/components/rc-details/rc-details.component.mjs +7 -5
- package/esm2022/lib/sharedComponents/policy-template/policy-template.module.mjs +5 -5
- package/esm2022/lib/sharedComponents/policy-template/select-template-list/select-template-list.component.mjs +28 -33
- package/esm2022/lib/sharedComponents/policy-template/template-list-table/template-list-table.component.mjs +9 -3
- package/esm2022/lib/workflow-engine-container/workflow-engine-container.component.mjs +11 -1
- package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +3 -3
- package/fesm2022/vcomply-workflow-engine.mjs +45 -135
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/sharedComponents/policy-template/policy-template.module.d.ts +2 -2
- package/lib/sharedComponents/policy-template/select-template-list/select-template-list.component.d.ts +7 -5
- package/lib/sharedComponents/policy-template/template-list-table/template-list-table.component.d.ts +6 -3
- package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +2 -0
- package/package.json +1 -1
- package/esm2022/lib/sharedComponents/policy-template/view-policy/view-policy/view-policy.component.mjs +0 -93
- package/esm2022/lib/sharedComponents/policy-template/view-policy/view-policy.module.mjs +0 -19
- package/lib/sharedComponents/policy-template/view-policy/view-policy/view-policy.component.d.ts +0 -25
- package/lib/sharedComponents/policy-template/view-policy/view-policy.module.d.ts +0 -9
|
@@ -100,9 +100,8 @@ export class RcDetailsComponent {
|
|
|
100
100
|
}
|
|
101
101
|
populateSelectedItems() {
|
|
102
102
|
if (this.selectedItems?.length) {
|
|
103
|
-
this.state = SelectionState.SELECTED;
|
|
104
103
|
this.selectedItems = this.responsibilityCentersList
|
|
105
|
-
?.filter((rc) => this.selectedItems?.some((item) => item
|
|
104
|
+
?.filter((rc) => this.selectedItems?.some((item) => item === rc?._id))
|
|
106
105
|
?.map((rc) => ({
|
|
107
106
|
label: rc?.item_name,
|
|
108
107
|
value: rc?.rc_id,
|
|
@@ -113,11 +112,12 @@ export class RcDetailsComponent {
|
|
|
113
112
|
_id: rc?._id,
|
|
114
113
|
}));
|
|
115
114
|
this.selectedMainRcItems = this.responsibilityCentersList
|
|
116
|
-
?.filter((rc) => this.selectedMainRcItems
|
|
115
|
+
?.filter((rc) => this.selectedMainRcItems?.includes(rc?._id))
|
|
117
116
|
?.map((rc) => ({
|
|
118
117
|
label: rc?.item_name,
|
|
119
118
|
value: rc?._id,
|
|
120
119
|
}));
|
|
120
|
+
this.state = SelectionState.SELECTED;
|
|
121
121
|
}
|
|
122
122
|
else {
|
|
123
123
|
this.mode === 'EDIT' && this.workflowType !== 'ACTW' && this.caseTypeSelected === this.caseType.ADD_CASE_TO_WORKFLOW
|
|
@@ -171,7 +171,9 @@ export class RcDetailsComponent {
|
|
|
171
171
|
}
|
|
172
172
|
activateSelector(active) {
|
|
173
173
|
this.rcClicked = active;
|
|
174
|
-
this.
|
|
174
|
+
if (this.mode !== 'EDIT') {
|
|
175
|
+
this.getResponsibilityCentersList();
|
|
176
|
+
}
|
|
175
177
|
if (active) {
|
|
176
178
|
this.fieldClicked.emit('RC');
|
|
177
179
|
this.filterDeselector.emit(true);
|
|
@@ -476,4 +478,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
476
478
|
}], filterDeselector: [{
|
|
477
479
|
type: Output
|
|
478
480
|
}] } });
|
|
479
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmMtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9yZXBvcnQtYS1jYXNlL2NvbXBvbmVudHMvcmMtZGV0YWlscy9yYy1kZXRhaWxzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUliLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixjQUFjLEVBQ2QsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixjQUFjLEdBQ2YsTUFBTSx1Q0FBdUMsQ0FBQztBQUcvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7OztBQWlJakUsTUFBTSxPQUFPLGtCQUFrQjtJQWlDN0IsSUFBYSxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxFQUFFLEdBQUcsQ0FBQztRQUVoQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxFQUFFLFVBQVUsQ0FBQztRQUM3QyxJQUFJLEtBQUssRUFBRSxVQUFVLEVBQUU7WUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDO1NBQzVDO0lBRUgsQ0FBQztJQVFELFlBQW9CLGlCQUEwQztRQUExQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXlCO1FBaEQ5RCxXQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxXQUFXLENBQUM7UUFDdEIsYUFBUSxHQUFHLE1BQU0sQ0FBQztRQUNsQiw4QkFBeUIsR0FBVSxFQUFFLENBQUM7UUFDdEMsaUJBQVksR0FBUTtZQUNsQixH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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwSFQ7OEdBZ0NRLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNPLGdCQUFnQjtzQkFBNUIsS0FBSztnQkFTRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQVNTRVRTIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2Fzc2Vzc3RzLmNvbnN0YW50cyc7XG5pbXBvcnQge1xuICBBQ1RJT05fQ09ERSxcbiAgREVGQVVMVF9GT1JNX0NPTkZJRyxcbiAgRklFTERfU0VMRUNUT1IsXG4gIFJFUE9SVF9DQVNFLFxuICBTZWxlY3Rpb25Qb3B1cFN0YXRlLFxuICBTZWxlY3Rpb25TdGF0ZSxcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3JlcG9ydC1jYXNlLmNvbnN0YW50cyc7XG5cbmltcG9ydCB7IENvbXBsaWFuY2VDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvY29tbW9uLXdvcmtmbG93LXNlcnZpY2VzL2NvbXBsaWFuY2UtY29tbW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgcmVwb3J0IH0gZnJvbSAnLi4vY2FzZS10eXBlLXNsaWRlci9jYXNlLXR5cGUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXJjLWRldGFpbHMnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxhcHAtZmllbGQtaG9sZGVyXG4gICAgICBbaW1hZ2VdPVwiQVNTRVRTLnJlc3BvbnNpYmlsaXR5X2NlbnRlclwiXG4gICAgICBbYWN0aXZlXT1cInJjQ2xpY2tlZFwiXG4gICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgIGZpZWxkU2VsZWN0b3I/LmluY2x1ZGVzKGZpZWxkU2VsZWN0ZWQpICYmXG4gICAgICAgIGZpZWxkU2VsZWN0ZWQgIT09IGN1cnJlbnRTZWxlY3RvclxuICAgICAgXCJcbiAgICAgIFtjaGVja2VkXT1cInBheWxvYWQ/LnJjX2RldGFpbHM/Lmlkcz8ubGVuZ3RoXCJcbiAgICA+XG5cbiAgICAgIDxuZy1jb250YWluZXIgZmllbGQ+XG4gICAgICAgIDxhcHAtZm9ybS1zZWxlY3RCb3hcbiAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICAgICAgW3N0YXRlXT1cInN0YXRlXCJcbiAgICAgICAgICBbcG9wdXBTdGF0ZV09XCJTZWxlY3Rpb25Qb3B1cFN0YXRlLlNFTEVDVElPTl9ESUFMT0dcIlxuICAgICAgICAgIFtjaGlwSXRlbXNdPVwic2VsZWN0ZWRJdGVtc1wiXG4gICAgICAgICAgW2lzRXJyb3JdPVwidmFsaWRhdGlvbkVycm9yLnJjLmlzRXJyb3JcIlxuICAgICAgICAgIFtlcnJvck1lc3NhZ2VdPVwidmFsaWRhdGlvbkVycm9yLnJjLm1lc3NhZ2VcIlxuICAgICAgICAgIFtlZGl0RGlzYWJsZWRdPVwicmNFZGl0RGlzYWJsZVwiXG4gICAgICAgICAgW3JlbW92YWJsZV09XCIhcmNFZGl0RGlzYWJsZVwiXG4gICAgICAgICAgKGZpZWxkQ2xpY2tlZCk9XCJhY3RpdmF0ZVNlbGVjdG9yKCRldmVudClcIlxuICAgICAgICAgIChzZWxlY3RlZEl0ZW1MaXN0Q2hhbmdlKT1cInNldFJjTGlzdCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhcHAtdmMtbGFiZWxcbiAgICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgICBbbGFiZWxUZXh0XT1cInJjVGV4dHMuY2FzZV9kZXRhaWxzLnJjLnRpdGxlXCJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJcbiAgICAgICAgICAgICAgY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1cgfHxcbiAgICAgICAgICAgICAgd29ya2Zsb3dUeXBlID09PSAnQUNUVydcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPjwvYXBwLXZjLWxhYmVsPlxuICAgICAgICA8L2FwcC1mb3JtLXNlbGVjdEJveD5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAoY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1cgfHxcbiAgICAgICAgICAgICAgd29ya2Zsb3dUeXBlID09PSAnQUNUVycpICYmXG4gICAgICAgICAgICBwYXlsb2FkPy5yY19kZXRhaWxzPy5pZHM/Lmxlbmd0aCA+IDFcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXRjaC1yb3cgc3dpdGNoLWRpc2FibGVkIGFsaWduLXJpZ2h0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0b2dnbGUtdGV4dCB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWxoLTQgIHZ4LW1yLTJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyByY1RleHRzLmNhc2VfZGV0YWlscy5yYy5zYW1lUmNUZXh0IH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxhcHAtY3Mtc3dpdGNoIFtuZ1ZhbHVlXT1cInRydWVcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPiA8L2FwcC1jcy1zd2l0Y2g+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPCEtLSA8YXBwLWNzLXJhZGlvXG4gICAgICAgICAgICBjbGFzcz1cIm1haW4tZmlsZWRcIlxuICAgICAgICAgICAgW25hbWVdPVwiJ2ZmX3Jlc3BvbnNpYmlsaXR5X3JjX2xpbmsnXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cInBheWxvYWQ/LnJjX2RldGFpbHM/LnNlcGFyYXRlX3JjX2Nhc2VzXCJcbiAgICAgICAgICAgIChjaGVja2VkRXZlbnQpPVwib25SY1R5cGVDaGFuZ2UodHJ1ZSlcIlxuICAgICAgICAgICAgPjxkaXYgY2xhc3M9XCJyYy1yYWRpby10ZXh0XCI+XG4gICAgICAgICAgICAgIHt7IHJjVGV4dHMuY2FzZV9kZXRhaWxzLnJjLnNlcGFyYXRlUmNUZXh0IH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJyY1RleHRzLmNhc2VfZGV0YWlscy5yYy5zZXBhcmF0ZVJjVG9vbHRpcFwiXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICA+JiN4ZTkxZjs8L2lcbiAgICAgICAgICAgID48L2FwcC1jcy1yYWRpb1xuICAgICAgICAgID5cbiAgICAgICAgICA8YXBwLWNzLXJhZGlvXG4gICAgICAgICAgICBjbGFzcz1cIm1haW4tZmlsZWRcIlxuICAgICAgICAgICAgW25hbWVdPVwiJ2ZmX3Jlc3BvbnNpYmlsaXR5X3JjX2xpbmsnXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cIiFwYXlsb2FkPy5yY19kZXRhaWxzPy5zZXBhcmF0ZV9yY19jYXNlc1wiXG4gICAgICAgICAgICAoY2hlY2tlZEV2ZW50KT1cIm9uUmNUeXBlQ2hhbmdlKGZhbHNlKVwiXG4gICAgICAgICAgICA+e3sgcmNUZXh0cy5jYXNlX2RldGFpbHMucmMuc2FtZVJjVGV4dFxuICAgICAgICAgICAgfX08aVxuICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcbiAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwicmNUZXh0cy5jYXNlX2RldGFpbHMucmMuc2FtZVJjVG9vbHRpcFwiXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICA+JiN4ZTkxZjs8L2lcbiAgICAgICAgICAgID48L2FwcC1jcy1yYWRpb1xuICAgICAgICAgID4gLS0+XG4gICAgICAgICAgPHBcbiAgICAgICAgICAgICpuZ0lmPVwiIXBheWxvYWQ/LnJjX2RldGFpbHM/LnNlcGFyYXRlX3JjX2Nhc2VzXCJcbiAgICAgICAgICAgIGNsYXNzPVwidngtZnMtMTEgdngtbGgtNCB2eC1mdy01MDAgdngtdHh0LWJsYWNrIHZ4LW1iLTJcIlxuICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImZpZWxkU2VsZWN0b3I/LmluY2x1ZGVzKGZpZWxkU2VsZWN0ZWQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBTRUxFQ1QgVEhFIE1BSU4gUkVTUE9OU0lCSUxJVFkgQ0VOVEVSIEJBU0VEIE9OIFdISUNIIFRIRSBXT1JLRkxPV1xuICAgICAgICAgICAgRk9SIFRISVMgQ0FTRSBXSUxMIEJFIERFRklORURcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPGFwcC1mb3JtLXNlbGVjdEJveFxuICAgICAgICAgICAgKm5nSWY9XCIhcGF5bG9hZD8ucmNfZGV0YWlscz8uc2VwYXJhdGVfcmNfY2FzZXNcIlxuICAgICAgICAgICAgW2NvbmZpZ109XCJtYWluUmNDb25maWdcIlxuICAgICAgICAgICAgW3N0YXRlXT1cIm1haW5SY1N0YXRlXCJcbiAgICAgICAgICAgIFtwb3B1cFN0YXRlXT1cIlNlbGVjdGlvblBvcHVwU3RhdGUuRFJPUF9ET1dOXCJcbiAgICAgICAgICAgIFtjaGlwSXRlbXNdPVwic2VsZWN0ZWRNYWluUmNJdGVtc1wiXG4gICAgICAgICAgICBbaXNFcnJvcl09XCJ2YWxpZGF0aW9uRXJyb3IubWFpblJjLmlzRXJyb3JcIlxuICAgICAgICAgICAgW2Vycm9yTWVzc2FnZV09XCJ2YWxpZGF0aW9uRXJyb3IubWFpblJjLm1lc3NhZ2VcIlxuICAgICAgICAgICAgW2VkaXREaXNhYmxlZF09XCJcbiAgICAgICAgICAgICAgbW9kZSA9PT0gJ0VESVQnICYmXG4gICAgICAgICAgICAgIGNhc2VUeXBlU2VsZWN0ZWQgPT09IGNhc2VUeXBlLkFERF9DQVNFX1RPX1dPUktGTE9XICYmXG4gICAgICAgICAgICAgIHdvcmtmbG93VHlwZSAhPT0gJ0FDVFcnXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgKGZpZWxkQ2xpY2tlZCk9XCJhY3RpdmF0ZVNlbGVjdG9yKCRldmVudClcIlxuICAgICAgICAgICAgKHNlbGVjdGVkSXRlbUxpc3RDaGFuZ2UpPVwic2F2ZU1haW5SY0xpc3QoJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvYXBwLWZvcm0tc2VsZWN0Qm94PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvYXBwLWZpZWxkLWhvbGRlcj5cbiAgICA8YXBwLXJlc3BvbnNpYmlsaXR5LWNlbnRlcnMtbGlzdFxuICAgICAgKm5nSWY9XCJyY0NsaWNrZWRcIlxuICAgICAgW3Jlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3RdPVwicmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdFwiXG4gICAgICBbc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUNlbnRlcnNdPVwic2VsZWN0ZWRSY0xpc3RcIlxuICAgICAgW3JjSWRLZXldPVwiJ3JjX2lkJ1wiXG4gICAgICAoc2F2ZVNlbGVjdGVkTGlzdCk9XCJzYXZlU2VsZWN0ZWRSQ0xpc3QoJGV2ZW50KVwiXG4gICAgICAoY2xvc2VSY0xpc3QpPVwiYWN0aXZhdGVTZWxlY3RvcihmYWxzZSlcIlxuICAgICAgW3Npbmd1bGFyVGV4dF09XCJyY1RleHRzLmNhc2VfZGV0YWlscy5yYy5zaW5ndWxhclRleHRcIlxuICAgICAgW3BsdXJhbFRleHRdPVwicmNUZXh0cy5jYXNlX2RldGFpbHMucmMucGx1cmFsVGV4dFwiXG4gICAgICBbbG9hZGVkXT1cIiFyY0xpc3RMb2FkZXJcIlxuICAgID5cbiAgICA8L2FwcC1yZXNwb25zaWJpbGl0eS1jZW50ZXJzLWxpc3Q+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuLi8uLi8uLi9mb3Jtcy5sZXNzJywgJy4vcmMtZGV0YWlscy5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBSY0RldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEFTU0VUUyA9IEFTU0VUUztcbiAgcmNUZXh0cyA9IFJFUE9SVF9DQVNFO1xuICBjYXNlVHlwZSA9IHJlcG9ydDtcbiAgcmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdDogYW55W10gPSBbXTtcbiAgbWFpblJjQ29uZmlnOiBhbnkgPSB7XG4gICAgLi4uREVGQVVMVF9GT1JNX0NPTkZJRyxcbiAgICBhY3Rpb246IEFDVElPTl9DT0RFLlJDLFxuICAgIHBsYWNlaG9sZGVyOiB0aGlzLnJjVGV4dHMuY2FzZV9kZXRhaWxzLnJjLm1haW5SY1BsYWNlaG9sZGVyLFxuICAgIGl0ZW1zOiBbXSxcbiAgfTtcbiAgY29uZmlnOiBhbnkgPSB7XG4gICAgLi4uREVGQVVMVF9GT1JNX0NPTkZJRyxcbiAgICBhY3Rpb246IEFDVElPTl9DT0RFLlJDLFxuICAgIHBsYWNlaG9sZGVyOiB0aGlzLnJjVGV4dHMuY2FzZV9kZXRhaWxzLnJjLnBsYWNlaG9sZGVyLFxuICAgIGl0ZW1zOiBbXSxcbiAgfTtcbiAgcmNDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIHJjTGlzdExvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBTZWxlY3Rpb25TdGF0ZSA9IFNlbGVjdGlvblN0YXRlO1xuICBTZWxlY3Rpb25Qb3B1cFN0YXRlID0gU2VsZWN0aW9uUG9wdXBTdGF0ZTtcbiAgc3RhdGU6IHN0cmluZyA9IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICBtYWluUmNTdGF0ZTogc3RyaW5nID0gU2VsZWN0aW9uU3RhdGUuRU1QVFk7XG4gIHNlbGVjdGVkSXRlbXM6IGFueVtdID0gW107XG4gIHNlbGVjdGVkUmNMaXN0OiBhbnlbXSA9IFtdO1xuICBzZWxlY3RlZE1haW5SY0l0ZW1zOiBhbnlbXSA9IFtdO1xuICBmaWVsZFNlbGVjdG9yID0gRklFTERfU0VMRUNUT1I7XG4gIGN1cnJlbnRTZWxlY3RvciA9ICdSQyc7XG5cbiAgQElucHV0KCkgcGF5bG9hZDogYW55ID0ge307XG4gIEBJbnB1dCgpIGZpZWxkU2VsZWN0ZWQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjYXNlVHlwZVNlbGVjdGVkOiBzdHJpbmcgPSByZXBvcnQuUkVQT1JUX0NBU0U7XG4gIEBJbnB1dCgpIHZhbGlkYXRpb25FcnJvcjogYW55ID0ge307XG4gIEBJbnB1dCgpIHNldCBpbml0aWFsU2VsZWN0aW9uKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB2YWx1ZT8uaWRzO1xuXG4gICAgdGhpcy5zZWxlY3RlZE1haW5SY0l0ZW1zID0gdmFsdWU/Lm1haW5fcmNfaWQ7XG4gICAgaWYgKHZhbHVlPy5tYWluX3JjX2lkKSB7XG4gICAgICB0aGlzLm1haW5SY1N0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gICAgfVxuXG4gIH1cbiAgQElucHV0KCkgbW9kZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHdvcmtmbG93VHlwZTogc3RyaW5nID0gJyc7XG5cbiAgQE91dHB1dCgpIGZpZWxkQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uUmNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGZpbHRlckRlc2VsZWN0b3IgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbXBsaWFuY2VTZXJ2aWNlOiBDb21wbGlhbmNlQ29tbW9uU2VydmljZSkge31cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgdGhpcy5zZWxlY3RlZFJjTGlzdCA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRNYWluUmNJdGVtcyA9IFtdO1xuICAgIHRoaXMubWFpblJjU3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5FTVBUWTtcbiAgICB0aGlzLnN0YXRlID0gU2VsZWN0aW9uU3RhdGUuRU1QVFk7XG4gICAgdGhpcy5jb21wbGlhbmNlU2VydmljZS5yY0xpc3Q/Lm5leHQobnVsbCk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgdGhpcy5zZWxlY3RlZFJjTGlzdCA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRNYWluUmNJdGVtcyA9IFtdO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ0VESVQnKSB7XG4gICAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3BheWxvYWQnXSkge1xuICAgICAgaWYgKCF0aGlzLnBheWxvYWQ/LnJjX2RldGFpbHM/Lmlkcz8ubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5FTVBUWTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSY0xpc3QgPSBbXTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ2Nhc2VUeXBlU2VsZWN0ZWQnXSkge1xuICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0ID0gW107XG4gICAgfVxuICB9XG5cbiAgZ2V0UmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdCgpIHtcbiAgICB0aGlzLnJjTGlzdExvYWRlciA9IHRydWU7XG4gICAgY29uc3QgYWxsVmlzaWJsZSA9IHRoaXMuY2FzZVR5cGVTZWxlY3RlZCA9PT0gJ3JlcG9ydENhc2UnICYmIHRoaXMud29ya2Zsb3dUeXBlID09PSAnUkFDJyAmJiB0aGlzLm1vZGUgIT09ICdFRElUJyA/IHRydWUgOiBmYWxzZTtcbiAgICB0aGlzLmNvbXBsaWFuY2VTZXJ2aWNlXG4gICAgICAuZ2V0UmNMaXN0SW5mbyh1bmRlZmluZWQsIGFsbFZpc2libGUpXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QgPSByZXM7XG4gICAgICAgIGlmICh0aGlzLm1vZGUgPT09ICdFRElUJykge1xuICAgICAgICAgIHRoaXMucG9wdWxhdGVTZWxlY3RlZEl0ZW1zKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yY0xpc3RMb2FkZXIgPSBmYWxzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcG9wdWxhdGVTZWxlY3RlZEl0ZW1zKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXM/Lmxlbmd0aCApIHtcbiAgICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5TRUxFQ1RFRDtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdFxuICAgICAgICA/LmZpbHRlcigocmM6IGFueSkgPT4gdGhpcy5zZWxlY3RlZEl0ZW1zPy5zb21lKChpdGVtOiBhbnkpID0+IGl0ZW0/LnZhbHVlID09PSByYz8ucmNfaWQpKVxuICAgICAgICA/Lm1hcCgocmM6IGFueSkgPT4gKHtcbiAgICAgICAgICBsYWJlbDogcmM/Lml0ZW1fbmFtZSxcbiAgICAgICAgICB2YWx1ZTogcmM/LnJjX2lkLFxuICAgICAgICB9KSk7XG4gICAgICB0aGlzLnNlbGVjdGVkUmNMaXN0ID0gdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0Py5maWx0ZXIoKHJjOiBhbnkpID0+XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcz8uc29tZSgoaXRlbTogYW55KSA9PiBpdGVtPy52YWx1ZSA9PT0gcmM/LnJjX2lkKVxuICAgICAgKTtcbiAgICAgIHRoaXMubWFpblJjQ29uZmlnLml0ZW1zID0gdGhpcy5zZWxlY3RlZFJjTGlzdC5tYXAoKHJjOiBhbnkpID0+ICh7XG4gICAgICAgIG5hbWU6IHJjPy5pdGVtX25hbWUsXG4gICAgICAgIF9pZDogcmM/Ll9pZCxcbiAgICAgIH0pKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRNYWluUmNJdGVtcyA9IHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdFxuICAgICAgICA/LmZpbHRlcigocmM6IGFueSkgPT4gdGhpcy5zZWxlY3RlZE1haW5SY0l0ZW1zID09PSByYz8uX2lkKVxuICAgICAgICA/Lm1hcCgocmM6IGFueSkgPT4gKHtcbiAgICAgICAgICBsYWJlbDogcmM/Lml0ZW1fbmFtZSxcbiAgICAgICAgICB2YWx1ZTogcmM/Ll9pZCxcbiAgICAgICAgfSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1vZGUgPT09ICdFRElUJyAmJiB0aGlzLndvcmtmbG93VHlwZSAhPT0gJ0FDVFcnICYmIHRoaXMuY2FzZVR5cGVTZWxlY3RlZCA9PT0gdGhpcy5jYXNlVHlwZS5BRERfQ0FTRV9UT19XT1JLRkxPV1xuICAgICAgICA/ICgodGhpcy5zdGF0ZSA9IFNlbGVjdGlvblN0YXRlLkRJU0FCTEVEKSxcbiAgICAgICAgICAodGhpcy5jb25maWcuZGlzYWJsZWRUZXh0ID0gdGhpcy5yY1RleHRzLmNhc2VfZGV0YWlscy5yYy5wbGFjZWhvbGRlcikpXG4gICAgICAgIDogKHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5FTVBUWSk7XG4gICAgfVxuICB9XG5cbiAgc2F2ZVNlbGVjdGVkUkNMaXN0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnJjQ2xpY2tlZCA9IGZhbHNlO1xuICAgIHRoaXMuc2V0U2VsZWN0ZWRSY0xpc3QoZXZlbnQpO1xuICAgIHRoaXMuc2V0TWFpblJjTGlzdChldmVudCk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0XG4gICAgICAuZmlsdGVyKChyYzogYW55KSA9PiBldmVudC5pbmNsdWRlcyhyYz8ucmNfaWQpKVxuICAgICAgLm1hcCgocmM6IGFueSkgPT4gKHtcbiAgICAgICAgbGFiZWw6IHJjPy5pdGVtX25hbWUsXG4gICAgICAgIHZhbHVlOiByYz8ucmNfaWQsXG4gICAgICB9KSk7XG4gICAgdGhpcy5zZXRQYXlsb2FkKGV2ZW50KTtcbiAgICB0aGlzLnN0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gICAgdGhpcy5maWVsZENsaWNrZWQuZW1pdCgnJyk7XG4gICAgdGhpcy52YWxpZGF0aW9uRXJyb3IucmMuaXNFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLnJjLm1lc3NhZ2UgPSAnJztcbiAgICB0aGlzLmZpbHRlckRlc2VsZWN0b3IuZW1pdChmYWxzZSk7XG4gIH1cblxuICBzZXRNYWluUmNMaXN0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm1haW5SY0NvbmZpZy5pdGVtcyA9IHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdFxuICAgICAgLmZpbHRlcigocmM6IGFueSkgPT4gZXZlbnQuaW5jbHVkZXMocmM/LnJjX2lkKSlcbiAgICAgIC5tYXAoKHJjOiBhbnkpID0+ICh7XG4gICAgICAgIG5hbWU6IHJjPy5pdGVtX25hbWUsXG4gICAgICAgIF9pZDogcmM/Ll9pZCxcbiAgICAgIH0pKTtcbiAgfVxuXG4gIHNhdmVNYWluUmNMaXN0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm1haW5SY1N0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gICAgdGhpcy5wYXlsb2FkLnJjX2RldGFpbHMubWFpbl9yY19pZCA9IGV2ZW50WzBdPy52YWx1ZTtcbiAgICB0aGlzLm9uUmNDaGFuZ2UuZW1pdCh0aGlzLnBheWxvYWQucmNfZGV0YWlscy5tYWluX3JjX2lkKTtcbiAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5tYWluUmMuaXNFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLm1haW5SYy5tZXNzYWdlID0gJyc7XG4gIH1cblxuICBzZXRQYXlsb2FkKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnBheWxvYWQucmNfZGV0YWlscy5pZHMgPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3RcbiAgICAgIC5maWx0ZXIoKHJjOiBhbnkpID0+IGV2ZW50LmluY2x1ZGVzKHJjPy5yY19pZCkpXG4gICAgICAubWFwKChyYzogYW55KSA9PiByYz8uX2lkKTtcbiAgICBpZiAodGhpcy5wYXlsb2FkLnJjX2RldGFpbHMuaWRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgdGhpcy5vblJjQ2hhbmdlLmVtaXQodGhpcy5wYXlsb2FkLnJjX2RldGFpbHMuaWRzWzBdKTtcbiAgICB9XG4gIH1cblxuICBzZXRTZWxlY3RlZFJjTGlzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZFJjTGlzdCA9IHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdC5maWx0ZXIoKHJjOiBhbnkpID0+XG4gICAgICBldmVudC5pbmNsdWRlcyhyYz8ucmNfaWQpXG4gICAgKTtcbiAgfVxuXG4gIGFjdGl2YXRlU2VsZWN0b3IoYWN0aXZlOiBib29sZWFuKSB7XG4gICAgdGhpcy5yY0NsaWNrZWQgPSBhY3RpdmU7XG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0KCk7XG4gICAgaWYgKGFjdGl2ZSkge1xuICAgICAgdGhpcy5maWVsZENsaWNrZWQuZW1pdCgnUkMnKTtcbiAgICAgIHRoaXMuZmlsdGVyRGVzZWxlY3Rvci5lbWl0KHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpZWxkQ2xpY2tlZC5lbWl0KCcnKTtcbiAgICAgIHRoaXMuZmlsdGVyRGVzZWxlY3Rvci5lbWl0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBzZXRSY0xpc3QoZXZlbnQ6IGFueSkge1xuICAgIGlmICghZXZlbnQ/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5yZXNldFJjTGlzdCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWRSY0xpc3QgPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3Q/LmZpbHRlcigocmM6IGFueSkgPT5cbiAgICAgIGV2ZW50Py5zb21lKChpdGVtOiBhbnkpID0+IGl0ZW0/LnZhbHVlID09PSByYz8ucmNfaWQpXG4gICAgKTtcbiAgICB0aGlzLnBheWxvYWQucmNfZGV0YWlscy5pZHMgPSB0aGlzLnNlbGVjdGVkUmNMaXN0Py5tYXAoXG4gICAgICAocmM6IGFueSkgPT4gcmM/Ll9pZFxuICAgICk7XG4gICAgdGhpcy5zdGF0ZSA9IFNlbGVjdGlvblN0YXRlLlNFTEVDVEVEO1xuICB9XG5cbiAgcmVzZXRSY0xpc3QoKSB7XG4gICAgdGhpcy5zZWxlY3RlZFJjTGlzdCA9IFtdO1xuICAgIHRoaXMucGF5bG9hZC5yY19kZXRhaWxzLmlkcyA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5FTVBUWTtcbiAgfVxuXG4gIG9uUmNUeXBlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnBheWxvYWQucmNfZGV0YWlscy5zZXBhcmF0ZV9yY19jYXNlcyA9IGV2ZW50O1xuICB9XG5cbiAgZ2V0IHJjRWRpdERpc2FibGUoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMubW9kZSA9PT0gJ0VESVQnICYmXG4gICAgICB0aGlzLmNhc2VUeXBlU2VsZWN0ZWQgPT09IHRoaXMuY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1cgJiZcbiAgICAgIHRoaXMud29ya2Zsb3dUeXBlICE9PSAnQUNUVycgJiZcbiAgICAgIHRoaXMucGF5bG9hZD8ucmNfZGV0YWlscz8uaWRzPy5sZW5ndGggPT09IDFcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
481
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmMtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9yZXBvcnQtYS1jYXNlL2NvbXBvbmVudHMvcmMtZGV0YWlscy9yYy1kZXRhaWxzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUliLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixjQUFjLEVBQ2QsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixjQUFjLEdBQ2YsTUFBTSx1Q0FBdUMsQ0FBQztBQUcvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7OztBQWlJakUsTUFBTSxPQUFPLGtCQUFrQjtJQWlDN0IsSUFBYSxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxFQUFFLEdBQUcsQ0FBQztRQUVoQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxFQUFFLFVBQVUsQ0FBQztRQUM3QyxJQUFJLEtBQUssRUFBRSxVQUFVLEVBQUU7WUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDO1NBQzVDO0lBRUgsQ0FBQztJQVFELFlBQW9CLGlCQUEwQztRQUExQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXlCO1FBaEQ5RCxXQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxXQUFXLENBQUM7UUFDdEIsYUFBUSxHQUFHLE1BQU0sQ0FBQztRQUNsQiw4QkFBeUIsR0FBVSxFQUFFLENBQUM7UUFDdEMsaUJBQVksR0FBUTtZQUNsQixHQUFHLG1CQUFtQjtZQUN0QixNQUFNLEVBQUUsV0FBVyxDQUFDLEVBQUU7WUFDdEIsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUI7WUFDM0QsS0FBSyxFQUFFLEVBQUU7U0FDVixDQUFDO1FBQ0YsV0FBTSxHQUFRO1lBQ1osR0FBRyxtQkFBbUI7WUFDdEIsTUFBTSxFQUFFLFdBQVcsQ0FBQyxFQUFFO1lBQ3RCLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsV0FBVztZQUNyRCxLQUFLLEVBQUUsRUFBRTtTQUNWLENBQUM7UUFDRixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLHdCQUFtQixHQUFHLG1CQUFtQixDQUFDO1FBQzFDLFVBQUssR0FBVyxjQUFjLENBQUMsS0FBSyxDQUFDO1FBQ3JDLGdCQUFXLEdBQVcsY0FBYyxDQUFDLEtBQUssQ0FBQztRQUMzQyxrQkFBYSxHQUFVLEVBQUUsQ0FBQztRQUMxQixtQkFBYyxHQUFVLEVBQUUsQ0FBQztRQUMzQix3QkFBbUIsR0FBVSxFQUFFLENBQUM7UUFDaEMsa0JBQWEsR0FBRyxjQUFjLENBQUM7UUFDL0Isb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFFZCxZQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ2xCLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBQzNCLHFCQUFnQixHQUFXLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDOUMsb0JBQWUsR0FBUSxFQUFFLENBQUM7UUFVMUIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUV6QixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDckMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUVZLENBQUM7SUFDbEUsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQztRQUNsQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUN4QixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztTQUNyQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUU7Z0JBQzFDLElBQUksQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQztnQkFDbEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO2FBQzFCO1NBQ0Y7UUFDRCxJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1lBQy9CLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxFQUFFLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBRUQsNEJBQTRCO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2hJLElBQUksQ0FBQyxpQkFBaUI7YUFDbkIsYUFBYSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUM7YUFDcEMsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDdEIsSUFBSSxDQUFDLHlCQUF5QixHQUFHLEdBQUcsQ0FBQztZQUNyQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO2dCQUN4QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQzthQUM5QjtZQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFHO1lBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLHlCQUF5QjtnQkFDakQsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUNoRixFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDbEIsS0FBSyxFQUFFLEVBQUUsRUFBRSxTQUFTO2dCQUNwQixLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUs7YUFDakIsQ0FBQyxDQUFDLENBQUM7WUFDTixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUN2RSxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssS0FBSyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQ25FLENBQUM7WUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDOUQsSUFBSSxFQUFFLEVBQUUsRUFBRSxTQUFTO2dCQUNuQixHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUc7YUFDYixDQUFDLENBQUMsQ0FBQztZQUNKLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMseUJBQXlCO2dCQUN2RCxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ2xFLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNsQixLQUFLLEVBQUUsRUFBRSxFQUFFLFNBQVM7Z0JBQ3BCLEtBQUssRUFBRSxFQUFFLEVBQUUsR0FBRzthQUNmLENBQUMsQ0FBQyxDQUFDO1lBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDO1NBQ3RDO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0I7Z0JBQ2xILENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDO29CQUN2QyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDeEUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBVTtRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyx5QkFBeUI7YUFDaEQsTUFBTSxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUM5QyxHQUFHLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDakIsS0FBSyxFQUFFLEVBQUUsRUFBRSxTQUFTO1lBQ3BCLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSztTQUNqQixDQUFDLENBQUMsQ0FBQztRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDeEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBVTtRQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMseUJBQXlCO2FBQ3JELE1BQU0sQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDOUMsR0FBRyxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2pCLElBQUksRUFBRSxFQUFFLEVBQUUsU0FBUztZQUNuQixHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUc7U0FDYixDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUM7UUFDM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUM7UUFDckQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUM1QyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLHlCQUF5QjthQUN6RCxNQUFNLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQzlDLEdBQUcsQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDNUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdEQ7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBVTtRQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUN0RSxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUFlO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDMUIsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7U0FDbkM7UUFDRCxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbEM7YUFBTTtZQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVU7UUFDbEIsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQ3ZFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLEtBQUssRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUN0RCxDQUFDO1FBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUNwRCxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FDckIsQ0FBQztRQUNGLElBQUksQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQztJQUN2QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sQ0FDTCxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU07WUFDcEIsSUFBSSxDQUFDLGdCQUFnQixLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsb0JBQW9CO1lBQzVELElBQUksQ0FBQyxZQUFZLEtBQUssTUFBTTtZQUM1QixJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxLQUFLLENBQUMsQ0FDNUMsQ0FBQztJQUNKLENBQUM7K0dBOU5VLGtCQUFrQjttR0FBbEIsa0JBQWtCLGtaQTdIbkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEhUOzs0RkFHVSxrQkFBa0I7a0JBL0g5QixTQUFTOytCQUNFLGdCQUFnQixZQUNoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwSFQ7OEdBZ0NRLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNPLGdCQUFnQjtzQkFBNUIsS0FBSztnQkFTRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQVNTRVRTIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2Fzc2Vzc3RzLmNvbnN0YW50cyc7XG5pbXBvcnQge1xuICBBQ1RJT05fQ09ERSxcbiAgREVGQVVMVF9GT1JNX0NPTkZJRyxcbiAgRklFTERfU0VMRUNUT1IsXG4gIFJFUE9SVF9DQVNFLFxuICBTZWxlY3Rpb25Qb3B1cFN0YXRlLFxuICBTZWxlY3Rpb25TdGF0ZSxcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3JlcG9ydC1jYXNlLmNvbnN0YW50cyc7XG5cbmltcG9ydCB7IENvbXBsaWFuY2VDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvY29tbW9uLXdvcmtmbG93LXNlcnZpY2VzL2NvbXBsaWFuY2UtY29tbW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgcmVwb3J0IH0gZnJvbSAnLi4vY2FzZS10eXBlLXNsaWRlci9jYXNlLXR5cGUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXJjLWRldGFpbHMnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxhcHAtZmllbGQtaG9sZGVyXG4gICAgICBbaW1hZ2VdPVwiQVNTRVRTLnJlc3BvbnNpYmlsaXR5X2NlbnRlclwiXG4gICAgICBbYWN0aXZlXT1cInJjQ2xpY2tlZFwiXG4gICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgIGZpZWxkU2VsZWN0b3I/LmluY2x1ZGVzKGZpZWxkU2VsZWN0ZWQpICYmXG4gICAgICAgIGZpZWxkU2VsZWN0ZWQgIT09IGN1cnJlbnRTZWxlY3RvclxuICAgICAgXCJcbiAgICAgIFtjaGVja2VkXT1cInBheWxvYWQ/LnJjX2RldGFpbHM/Lmlkcz8ubGVuZ3RoXCJcbiAgICA+XG5cbiAgICAgIDxuZy1jb250YWluZXIgZmllbGQ+XG4gICAgICAgIDxhcHAtZm9ybS1zZWxlY3RCb3hcbiAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICAgICAgW3N0YXRlXT1cInN0YXRlXCJcbiAgICAgICAgICBbcG9wdXBTdGF0ZV09XCJTZWxlY3Rpb25Qb3B1cFN0YXRlLlNFTEVDVElPTl9ESUFMT0dcIlxuICAgICAgICAgIFtjaGlwSXRlbXNdPVwic2VsZWN0ZWRJdGVtc1wiXG4gICAgICAgICAgW2lzRXJyb3JdPVwidmFsaWRhdGlvbkVycm9yLnJjLmlzRXJyb3JcIlxuICAgICAgICAgIFtlcnJvck1lc3NhZ2VdPVwidmFsaWRhdGlvbkVycm9yLnJjLm1lc3NhZ2VcIlxuICAgICAgICAgIFtlZGl0RGlzYWJsZWRdPVwicmNFZGl0RGlzYWJsZVwiXG4gICAgICAgICAgW3JlbW92YWJsZV09XCIhcmNFZGl0RGlzYWJsZVwiXG4gICAgICAgICAgKGZpZWxkQ2xpY2tlZCk9XCJhY3RpdmF0ZVNlbGVjdG9yKCRldmVudClcIlxuICAgICAgICAgIChzZWxlY3RlZEl0ZW1MaXN0Q2hhbmdlKT1cInNldFJjTGlzdCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhcHAtdmMtbGFiZWxcbiAgICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgICBbbGFiZWxUZXh0XT1cInJjVGV4dHMuY2FzZV9kZXRhaWxzLnJjLnRpdGxlXCJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJcbiAgICAgICAgICAgICAgY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1cgfHxcbiAgICAgICAgICAgICAgd29ya2Zsb3dUeXBlID09PSAnQUNUVydcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPjwvYXBwLXZjLWxhYmVsPlxuICAgICAgICA8L2FwcC1mb3JtLXNlbGVjdEJveD5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAoY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1cgfHxcbiAgICAgICAgICAgICAgd29ya2Zsb3dUeXBlID09PSAnQUNUVycpICYmXG4gICAgICAgICAgICBwYXlsb2FkPy5yY19kZXRhaWxzPy5pZHM/Lmxlbmd0aCA+IDFcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXRjaC1yb3cgc3dpdGNoLWRpc2FibGVkIGFsaWduLXJpZ2h0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0b2dnbGUtdGV4dCB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWxoLTQgIHZ4LW1yLTJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyByY1RleHRzLmNhc2VfZGV0YWlscy5yYy5zYW1lUmNUZXh0IH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxhcHAtY3Mtc3dpdGNoIFtuZ1ZhbHVlXT1cInRydWVcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPiA8L2FwcC1jcy1zd2l0Y2g+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPCEtLSA8YXBwLWNzLXJhZGlvXG4gICAgICAgICAgICBjbGFzcz1cIm1haW4tZmlsZWRcIlxuICAgICAgICAgICAgW25hbWVdPVwiJ2ZmX3Jlc3BvbnNpYmlsaXR5X3JjX2xpbmsnXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cInBheWxvYWQ/LnJjX2RldGFpbHM/LnNlcGFyYXRlX3JjX2Nhc2VzXCJcbiAgICAgICAgICAgIChjaGVja2VkRXZlbnQpPVwib25SY1R5cGVDaGFuZ2UodHJ1ZSlcIlxuICAgICAgICAgICAgPjxkaXYgY2xhc3M9XCJyYy1yYWRpby10ZXh0XCI+XG4gICAgICAgICAgICAgIHt7IHJjVGV4dHMuY2FzZV9kZXRhaWxzLnJjLnNlcGFyYXRlUmNUZXh0IH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJyY1RleHRzLmNhc2VfZGV0YWlscy5yYy5zZXBhcmF0ZVJjVG9vbHRpcFwiXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICA+JiN4ZTkxZjs8L2lcbiAgICAgICAgICAgID48L2FwcC1jcy1yYWRpb1xuICAgICAgICAgID5cbiAgICAgICAgICA8YXBwLWNzLXJhZGlvXG4gICAgICAgICAgICBjbGFzcz1cIm1haW4tZmlsZWRcIlxuICAgICAgICAgICAgW25hbWVdPVwiJ2ZmX3Jlc3BvbnNpYmlsaXR5X3JjX2xpbmsnXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cIiFwYXlsb2FkPy5yY19kZXRhaWxzPy5zZXBhcmF0ZV9yY19jYXNlc1wiXG4gICAgICAgICAgICAoY2hlY2tlZEV2ZW50KT1cIm9uUmNUeXBlQ2hhbmdlKGZhbHNlKVwiXG4gICAgICAgICAgICA+e3sgcmNUZXh0cy5jYXNlX2RldGFpbHMucmMuc2FtZVJjVGV4dFxuICAgICAgICAgICAgfX08aVxuICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcbiAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwicmNUZXh0cy5jYXNlX2RldGFpbHMucmMuc2FtZVJjVG9vbHRpcFwiXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICA+JiN4ZTkxZjs8L2lcbiAgICAgICAgICAgID48L2FwcC1jcy1yYWRpb1xuICAgICAgICAgID4gLS0+XG4gICAgICAgICAgPHBcbiAgICAgICAgICAgICpuZ0lmPVwiIXBheWxvYWQ/LnJjX2RldGFpbHM/LnNlcGFyYXRlX3JjX2Nhc2VzXCJcbiAgICAgICAgICAgIGNsYXNzPVwidngtZnMtMTEgdngtbGgtNCB2eC1mdy01MDAgdngtdHh0LWJsYWNrIHZ4LW1iLTJcIlxuICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImZpZWxkU2VsZWN0b3I/LmluY2x1ZGVzKGZpZWxkU2VsZWN0ZWQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBTRUxFQ1QgVEhFIE1BSU4gUkVTUE9OU0lCSUxJVFkgQ0VOVEVSIEJBU0VEIE9OIFdISUNIIFRIRSBXT1JLRkxPV1xuICAgICAgICAgICAgRk9SIFRISVMgQ0FTRSBXSUxMIEJFIERFRklORURcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPGFwcC1mb3JtLXNlbGVjdEJveFxuICAgICAgICAgICAgKm5nSWY9XCIhcGF5bG9hZD8ucmNfZGV0YWlscz8uc2VwYXJhdGVfcmNfY2FzZXNcIlxuICAgICAgICAgICAgW2NvbmZpZ109XCJtYWluUmNDb25maWdcIlxuICAgICAgICAgICAgW3N0YXRlXT1cIm1haW5SY1N0YXRlXCJcbiAgICAgICAgICAgIFtwb3B1cFN0YXRlXT1cIlNlbGVjdGlvblBvcHVwU3RhdGUuRFJPUF9ET1dOXCJcbiAgICAgICAgICAgIFtjaGlwSXRlbXNdPVwic2VsZWN0ZWRNYWluUmNJdGVtc1wiXG4gICAgICAgICAgICBbaXNFcnJvcl09XCJ2YWxpZGF0aW9uRXJyb3IubWFpblJjLmlzRXJyb3JcIlxuICAgICAgICAgICAgW2Vycm9yTWVzc2FnZV09XCJ2YWxpZGF0aW9uRXJyb3IubWFpblJjLm1lc3NhZ2VcIlxuICAgICAgICAgICAgW2VkaXREaXNhYmxlZF09XCJcbiAgICAgICAgICAgICAgbW9kZSA9PT0gJ0VESVQnICYmXG4gICAgICAgICAgICAgIGNhc2VUeXBlU2VsZWN0ZWQgPT09IGNhc2VUeXBlLkFERF9DQVNFX1RPX1dPUktGTE9XICYmXG4gICAgICAgICAgICAgIHdvcmtmbG93VHlwZSAhPT0gJ0FDVFcnXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgKGZpZWxkQ2xpY2tlZCk9XCJhY3RpdmF0ZVNlbGVjdG9yKCRldmVudClcIlxuICAgICAgICAgICAgKHNlbGVjdGVkSXRlbUxpc3RDaGFuZ2UpPVwic2F2ZU1haW5SY0xpc3QoJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvYXBwLWZvcm0tc2VsZWN0Qm94PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvYXBwLWZpZWxkLWhvbGRlcj5cbiAgICA8YXBwLXJlc3BvbnNpYmlsaXR5LWNlbnRlcnMtbGlzdFxuICAgICAgKm5nSWY9XCJyY0NsaWNrZWRcIlxuICAgICAgW3Jlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3RdPVwicmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdFwiXG4gICAgICBbc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUNlbnRlcnNdPVwic2VsZWN0ZWRSY0xpc3RcIlxuICAgICAgW3JjSWRLZXldPVwiJ3JjX2lkJ1wiXG4gICAgICAoc2F2ZVNlbGVjdGVkTGlzdCk9XCJzYXZlU2VsZWN0ZWRSQ0xpc3QoJGV2ZW50KVwiXG4gICAgICAoY2xvc2VSY0xpc3QpPVwiYWN0aXZhdGVTZWxlY3RvcihmYWxzZSlcIlxuICAgICAgW3Npbmd1bGFyVGV4dF09XCJyY1RleHRzLmNhc2VfZGV0YWlscy5yYy5zaW5ndWxhclRleHRcIlxuICAgICAgW3BsdXJhbFRleHRdPVwicmNUZXh0cy5jYXNlX2RldGFpbHMucmMucGx1cmFsVGV4dFwiXG4gICAgICBbbG9hZGVkXT1cIiFyY0xpc3RMb2FkZXJcIlxuICAgID5cbiAgICA8L2FwcC1yZXNwb25zaWJpbGl0eS1jZW50ZXJzLWxpc3Q+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuLi8uLi8uLi9mb3Jtcy5sZXNzJywgJy4vcmMtZGV0YWlscy5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBSY0RldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEFTU0VUUyA9IEFTU0VUUztcbiAgcmNUZXh0cyA9IFJFUE9SVF9DQVNFO1xuICBjYXNlVHlwZSA9IHJlcG9ydDtcbiAgcmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdDogYW55W10gPSBbXTtcbiAgbWFpblJjQ29uZmlnOiBhbnkgPSB7XG4gICAgLi4uREVGQVVMVF9GT1JNX0NPTkZJRyxcbiAgICBhY3Rpb246IEFDVElPTl9DT0RFLlJDLFxuICAgIHBsYWNlaG9sZGVyOiB0aGlzLnJjVGV4dHMuY2FzZV9kZXRhaWxzLnJjLm1haW5SY1BsYWNlaG9sZGVyLFxuICAgIGl0ZW1zOiBbXSxcbiAgfTtcbiAgY29uZmlnOiBhbnkgPSB7XG4gICAgLi4uREVGQVVMVF9GT1JNX0NPTkZJRyxcbiAgICBhY3Rpb246IEFDVElPTl9DT0RFLlJDLFxuICAgIHBsYWNlaG9sZGVyOiB0aGlzLnJjVGV4dHMuY2FzZV9kZXRhaWxzLnJjLnBsYWNlaG9sZGVyLFxuICAgIGl0ZW1zOiBbXSxcbiAgfTtcbiAgcmNDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIHJjTGlzdExvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBTZWxlY3Rpb25TdGF0ZSA9IFNlbGVjdGlvblN0YXRlO1xuICBTZWxlY3Rpb25Qb3B1cFN0YXRlID0gU2VsZWN0aW9uUG9wdXBTdGF0ZTtcbiAgc3RhdGU6IHN0cmluZyA9IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICBtYWluUmNTdGF0ZTogc3RyaW5nID0gU2VsZWN0aW9uU3RhdGUuRU1QVFk7XG4gIHNlbGVjdGVkSXRlbXM6IGFueVtdID0gW107XG4gIHNlbGVjdGVkUmNMaXN0OiBhbnlbXSA9IFtdO1xuICBzZWxlY3RlZE1haW5SY0l0ZW1zOiBhbnlbXSA9IFtdO1xuICBmaWVsZFNlbGVjdG9yID0gRklFTERfU0VMRUNUT1I7XG4gIGN1cnJlbnRTZWxlY3RvciA9ICdSQyc7XG5cbiAgQElucHV0KCkgcGF5bG9hZDogYW55ID0ge307XG4gIEBJbnB1dCgpIGZpZWxkU2VsZWN0ZWQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjYXNlVHlwZVNlbGVjdGVkOiBzdHJpbmcgPSByZXBvcnQuUkVQT1JUX0NBU0U7XG4gIEBJbnB1dCgpIHZhbGlkYXRpb25FcnJvcjogYW55ID0ge307XG4gIEBJbnB1dCgpIHNldCBpbml0aWFsU2VsZWN0aW9uKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB2YWx1ZT8uaWRzO1xuXG4gICAgdGhpcy5zZWxlY3RlZE1haW5SY0l0ZW1zID0gdmFsdWU/Lm1haW5fcmNfaWQ7XG4gICAgaWYgKHZhbHVlPy5tYWluX3JjX2lkKSB7XG4gICAgICB0aGlzLm1haW5SY1N0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gICAgfVxuXG4gIH1cbiAgQElucHV0KCkgbW9kZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHdvcmtmbG93VHlwZTogc3RyaW5nID0gJyc7XG5cbiAgQE91dHB1dCgpIGZpZWxkQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uUmNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGZpbHRlckRlc2VsZWN0b3IgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbXBsaWFuY2VTZXJ2aWNlOiBDb21wbGlhbmNlQ29tbW9uU2VydmljZSkge31cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgdGhpcy5zZWxlY3RlZFJjTGlzdCA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRNYWluUmNJdGVtcyA9IFtdO1xuICAgIHRoaXMubWFpblJjU3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5FTVBUWTtcbiAgICB0aGlzLnN0YXRlID0gU2VsZWN0aW9uU3RhdGUuRU1QVFk7XG4gICAgdGhpcy5jb21wbGlhbmNlU2VydmljZS5yY0xpc3Q/Lm5leHQobnVsbCk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgdGhpcy5zZWxlY3RlZFJjTGlzdCA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRNYWluUmNJdGVtcyA9IFtdO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ0VESVQnKSB7XG4gICAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3BheWxvYWQnXSkge1xuICAgICAgaWYgKCF0aGlzLnBheWxvYWQ/LnJjX2RldGFpbHM/Lmlkcz8ubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5FTVBUWTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSY0xpc3QgPSBbXTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ2Nhc2VUeXBlU2VsZWN0ZWQnXSkge1xuICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0ID0gW107XG4gICAgfVxuICB9XG5cbiAgZ2V0UmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdCgpIHtcbiAgICB0aGlzLnJjTGlzdExvYWRlciA9IHRydWU7XG4gICAgY29uc3QgYWxsVmlzaWJsZSA9IHRoaXMuY2FzZVR5cGVTZWxlY3RlZCA9PT0gJ3JlcG9ydENhc2UnICYmIHRoaXMud29ya2Zsb3dUeXBlID09PSAnUkFDJyAmJiB0aGlzLm1vZGUgIT09ICdFRElUJyA/IHRydWUgOiBmYWxzZTtcbiAgICB0aGlzLmNvbXBsaWFuY2VTZXJ2aWNlXG4gICAgICAuZ2V0UmNMaXN0SW5mbyh1bmRlZmluZWQsIGFsbFZpc2libGUpXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QgPSByZXM7XG4gICAgICAgIGlmICh0aGlzLm1vZGUgPT09ICdFRElUJykge1xuICAgICAgICAgIHRoaXMucG9wdWxhdGVTZWxlY3RlZEl0ZW1zKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yY0xpc3RMb2FkZXIgPSBmYWxzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcG9wdWxhdGVTZWxlY3RlZEl0ZW1zKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXM/Lmxlbmd0aCApIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdFxuICAgICAgICA/LmZpbHRlcigocmM6IGFueSkgPT4gdGhpcy5zZWxlY3RlZEl0ZW1zPy5zb21lKChpdGVtOiBhbnkpID0+IGl0ZW0gPT09IHJjPy5faWQpKVxuICAgICAgICA/Lm1hcCgocmM6IGFueSkgPT4gKHtcbiAgICAgICAgICBsYWJlbDogcmM/Lml0ZW1fbmFtZSxcbiAgICAgICAgICB2YWx1ZTogcmM/LnJjX2lkLFxuICAgICAgICB9KSk7XG4gICAgICB0aGlzLnNlbGVjdGVkUmNMaXN0ID0gdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0Py5maWx0ZXIoKHJjOiBhbnkpID0+XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcz8uc29tZSgoaXRlbTogYW55KSA9PiBpdGVtPy52YWx1ZSA9PT0gcmM/LnJjX2lkKVxuICAgICAgKTtcbiAgICAgIHRoaXMubWFpblJjQ29uZmlnLml0ZW1zID0gdGhpcy5zZWxlY3RlZFJjTGlzdC5tYXAoKHJjOiBhbnkpID0+ICh7XG4gICAgICAgIG5hbWU6IHJjPy5pdGVtX25hbWUsXG4gICAgICAgIF9pZDogcmM/Ll9pZCxcbiAgICAgIH0pKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRNYWluUmNJdGVtcyA9IHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdFxuICAgICAgICA/LmZpbHRlcigocmM6IGFueSkgPT4gdGhpcy5zZWxlY3RlZE1haW5SY0l0ZW1zPy5pbmNsdWRlcyhyYz8uX2lkKSlcbiAgICAgICAgPy5tYXAoKHJjOiBhbnkpID0+ICh7XG4gICAgICAgICAgbGFiZWw6IHJjPy5pdGVtX25hbWUsXG4gICAgICAgICAgdmFsdWU6IHJjPy5faWQsXG4gICAgICAgIH0pKTtcbiAgICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5TRUxFQ1RFRDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2RlID09PSAnRURJVCcgJiYgdGhpcy53b3JrZmxvd1R5cGUgIT09ICdBQ1RXJyAmJiB0aGlzLmNhc2VUeXBlU2VsZWN0ZWQgPT09IHRoaXMuY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1dcbiAgICAgICAgPyAoKHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5ESVNBQkxFRCksXG4gICAgICAgICAgKHRoaXMuY29uZmlnLmRpc2FibGVkVGV4dCA9IHRoaXMucmNUZXh0cy5jYXNlX2RldGFpbHMucmMucGxhY2Vob2xkZXIpKVxuICAgICAgICA6ICh0aGlzLnN0YXRlID0gU2VsZWN0aW9uU3RhdGUuRU1QVFkpO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVTZWxlY3RlZFJDTGlzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5yY0NsaWNrZWQgPSBmYWxzZTtcbiAgICB0aGlzLnNldFNlbGVjdGVkUmNMaXN0KGV2ZW50KTtcbiAgICB0aGlzLnNldE1haW5SY0xpc3QoZXZlbnQpO1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdFxuICAgICAgLmZpbHRlcigocmM6IGFueSkgPT4gZXZlbnQuaW5jbHVkZXMocmM/LnJjX2lkKSlcbiAgICAgIC5tYXAoKHJjOiBhbnkpID0+ICh7XG4gICAgICAgIGxhYmVsOiByYz8uaXRlbV9uYW1lLFxuICAgICAgICB2YWx1ZTogcmM/LnJjX2lkLFxuICAgICAgfSkpO1xuICAgIHRoaXMuc2V0UGF5bG9hZChldmVudCk7XG4gICAgdGhpcy5zdGF0ZSA9IFNlbGVjdGlvblN0YXRlLlNFTEVDVEVEO1xuICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoJycpO1xuICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLnJjLmlzRXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5yYy5tZXNzYWdlID0gJyc7XG4gICAgdGhpcy5maWx0ZXJEZXNlbGVjdG9yLmVtaXQoZmFsc2UpO1xuICB9XG5cbiAgc2V0TWFpblJjTGlzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5tYWluUmNDb25maWcuaXRlbXMgPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3RcbiAgICAgIC5maWx0ZXIoKHJjOiBhbnkpID0+IGV2ZW50LmluY2x1ZGVzKHJjPy5yY19pZCkpXG4gICAgICAubWFwKChyYzogYW55KSA9PiAoe1xuICAgICAgICBuYW1lOiByYz8uaXRlbV9uYW1lLFxuICAgICAgICBfaWQ6IHJjPy5faWQsXG4gICAgICB9KSk7XG4gIH1cblxuICBzYXZlTWFpblJjTGlzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5tYWluUmNTdGF0ZSA9IFNlbGVjdGlvblN0YXRlLlNFTEVDVEVEO1xuICAgIHRoaXMucGF5bG9hZC5yY19kZXRhaWxzLm1haW5fcmNfaWQgPSBldmVudFswXT8udmFsdWU7XG4gICAgdGhpcy5vblJjQ2hhbmdlLmVtaXQodGhpcy5wYXlsb2FkLnJjX2RldGFpbHMubWFpbl9yY19pZCk7XG4gICAgdGhpcy52YWxpZGF0aW9uRXJyb3IubWFpblJjLmlzRXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5tYWluUmMubWVzc2FnZSA9ICcnO1xuICB9XG5cbiAgc2V0UGF5bG9hZChldmVudDogYW55KSB7XG4gICAgdGhpcy5wYXlsb2FkLnJjX2RldGFpbHMuaWRzID0gdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0XG4gICAgICAuZmlsdGVyKChyYzogYW55KSA9PiBldmVudC5pbmNsdWRlcyhyYz8ucmNfaWQpKVxuICAgICAgLm1hcCgocmM6IGFueSkgPT4gcmM/Ll9pZCk7XG4gICAgaWYgKHRoaXMucGF5bG9hZC5yY19kZXRhaWxzLmlkcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMub25SY0NoYW5nZS5lbWl0KHRoaXMucGF5bG9hZC5yY19kZXRhaWxzLmlkc1swXSk7XG4gICAgfVxuICB9XG5cbiAgc2V0U2VsZWN0ZWRSY0xpc3QoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRSY0xpc3QgPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QuZmlsdGVyKChyYzogYW55KSA9PlxuICAgICAgZXZlbnQuaW5jbHVkZXMocmM/LnJjX2lkKVxuICAgICk7XG4gIH1cblxuICBhY3RpdmF0ZVNlbGVjdG9yKGFjdGl2ZTogYm9vbGVhbikge1xuICAgIHRoaXMucmNDbGlja2VkID0gYWN0aXZlO1xuICAgIGlmICh0aGlzLm1vZGUgIT09ICdFRElUJykge1xuICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdCgpO1xuICAgIH1cbiAgICBpZiAoYWN0aXZlKSB7XG4gICAgICB0aGlzLmZpZWxkQ2xpY2tlZC5lbWl0KCdSQycpO1xuICAgICAgdGhpcy5maWx0ZXJEZXNlbGVjdG9yLmVtaXQodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoJycpO1xuICAgICAgdGhpcy5maWx0ZXJEZXNlbGVjdG9yLmVtaXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHNldFJjTGlzdChldmVudDogYW55KSB7XG4gICAgaWYgKCFldmVudD8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLnJlc2V0UmNMaXN0KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZFJjTGlzdCA9IHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdD8uZmlsdGVyKChyYzogYW55KSA9PlxuICAgICAgZXZlbnQ/LnNvbWUoKGl0ZW06IGFueSkgPT4gaXRlbT8udmFsdWUgPT09IHJjPy5yY19pZClcbiAgICApO1xuICAgIHRoaXMucGF5bG9hZC5yY19kZXRhaWxzLmlkcyA9IHRoaXMuc2VsZWN0ZWRSY0xpc3Q/Lm1hcChcbiAgICAgIChyYzogYW55KSA9PiByYz8uX2lkXG4gICAgKTtcbiAgICB0aGlzLnN0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gIH1cblxuICByZXNldFJjTGlzdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkUmNMaXN0ID0gW107XG4gICAgdGhpcy5wYXlsb2FkLnJjX2RldGFpbHMuaWRzID0gW107XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgdGhpcy5zdGF0ZSA9IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICB9XG5cbiAgb25SY1R5cGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMucGF5bG9hZC5yY19kZXRhaWxzLnNlcGFyYXRlX3JjX2Nhc2VzID0gZXZlbnQ7XG4gIH1cblxuICBnZXQgcmNFZGl0RGlzYWJsZSgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5tb2RlID09PSAnRURJVCcgJiZcbiAgICAgIHRoaXMuY2FzZVR5cGVTZWxlY3RlZCA9PT0gdGhpcy5jYXNlVHlwZS5BRERfQ0FTRV9UT19XT1JLRkxPVyAmJlxuICAgICAgdGhpcy53b3JrZmxvd1R5cGUgIT09ICdBQ1RXJyAmJlxuICAgICAgdGhpcy5wYXlsb2FkPy5yY19kZXRhaWxzPy5pZHM/Lmxlbmd0aCA9PT0gMVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -12,7 +12,7 @@ import { TemplatePipesModule } from './template-pipes/template-pipes.module';
|
|
|
12
12
|
import { FormsModule } from '@angular/forms';
|
|
13
13
|
import { PipesModule } from '../../pipes/pipes.module';
|
|
14
14
|
import { FormgroupModule } from '../../formgroup/formgroup.module';
|
|
15
|
-
import {
|
|
15
|
+
import { NgxDocViewerModule } from 'ngx-doc-viewer';
|
|
16
16
|
import * as i0 from "@angular/core";
|
|
17
17
|
export class PolicyTemplateModule {
|
|
18
18
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PolicyTemplateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -27,7 +27,7 @@ export class PolicyTemplateModule {
|
|
|
27
27
|
FormsModule,
|
|
28
28
|
PipesModule,
|
|
29
29
|
FormgroupModule,
|
|
30
|
-
|
|
30
|
+
NgxDocViewerModule], exports: [TemplateListTableComponent, SelectTemplateListComponent] }); }
|
|
31
31
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PolicyTemplateModule, imports: [CommonModule,
|
|
32
32
|
TooltipModule,
|
|
33
33
|
PopoverModule,
|
|
@@ -39,7 +39,7 @@ export class PolicyTemplateModule {
|
|
|
39
39
|
FormsModule,
|
|
40
40
|
PipesModule,
|
|
41
41
|
FormgroupModule,
|
|
42
|
-
|
|
42
|
+
NgxDocViewerModule] }); }
|
|
43
43
|
}
|
|
44
44
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PolicyTemplateModule, decorators: [{
|
|
45
45
|
type: NgModule,
|
|
@@ -57,9 +57,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
57
57
|
FormsModule,
|
|
58
58
|
PipesModule,
|
|
59
59
|
FormgroupModule,
|
|
60
|
-
|
|
60
|
+
NgxDocViewerModule,
|
|
61
61
|
],
|
|
62
62
|
exports: [TemplateListTableComponent, SelectTemplateListComponent],
|
|
63
63
|
}]
|
|
64
64
|
}] });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5LXRlbXBsYXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvcG9saWN5LXRlbXBsYXRlL3BvbGljeS10ZW1wbGF0ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQW9CcEQsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO2dIQUFwQixvQkFBb0IsaUJBakJoQiwwQkFBMEIsRUFBRSwyQkFBMkIsYUFFcEUsWUFBWTtZQUNaLGFBQWE7WUFDYixhQUFhO1lBQ2IsWUFBWTtZQUNaLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUNuQixXQUFXO1lBQ1gsV0FBVztZQUNYLGVBQWU7WUFDZixrQkFBa0IsYUFFViwwQkFBMEIsRUFBRSwyQkFBMkI7Z0hBRXRELG9CQUFvQixZQWY3QixZQUFZO1lBQ1osYUFBYTtZQUNiLGFBQWE7WUFDYixZQUFZO1lBQ1osYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLFdBQVc7WUFDWCxXQUFXO1lBQ1gsZUFBZTtZQUNmLGtCQUFrQjs7NEZBSVQsb0JBQW9CO2tCQWxCaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSwyQkFBMkIsQ0FBQztvQkFDdkUsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixhQUFhO3dCQUNiLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRSxDQUFDLDBCQUEwQixFQUFFLDJCQUEyQixDQUFDO2lCQUNuRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGVtcGxhdGVMaXN0VGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RlbXBsYXRlLWxpc3QtdGFibGUvdGVtcGxhdGUtbGlzdC10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0VGVtcGxhdGVMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QtdGVtcGxhdGUtbGlzdC9zZWxlY3QtdGVtcGxhdGUtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4uLy4uL3VpLWtpdC90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICcuLi8uLi91aS1raXQvcG9wb3Zlci9wb3BvdmVyLm1vZHVsZSc7XG5pbXBvcnQgeyBOb0RhdGFNb2R1bGUgfSBmcm9tICcuLi9uby1kYXRhL25vLWRhdGEubW9kdWxlJztcbmltcG9ydCB7IFZMb2FkZXJNb2R1bGUgfSBmcm9tICcuLi92LWxvYWRlci92LWxvYWRlci5tb2R1bGUnO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3RNb2R1bGUgfSBmcm9tICcuLi8uLi91aS1raXQvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5tb2R1bGUnO1xuaW1wb3J0IHsgRmxvYXRpbmdCYXJNb2R1bGUgfSBmcm9tICcuLi9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLm1vZHVsZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBpcGVzTW9kdWxlIH0gZnJvbSAnLi90ZW1wbGF0ZS1waXBlcy90ZW1wbGF0ZS1waXBlcy5tb2R1bGUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQaXBlc01vZHVsZSB9IGZyb20gJy4uLy4uL3BpcGVzL3BpcGVzLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3JtZ3JvdXBNb2R1bGUgfSBmcm9tICcuLi8uLi9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XG5pbXBvcnQgeyBOZ3hEb2NWaWV3ZXJNb2R1bGUgfSBmcm9tICduZ3gtZG9jLXZpZXdlcic7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1RlbXBsYXRlTGlzdFRhYmxlQ29tcG9uZW50LCBTZWxlY3RUZW1wbGF0ZUxpc3RDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgUG9wb3Zlck1vZHVsZSxcbiAgICBOb0RhdGFNb2R1bGUsXG4gICAgVkxvYWRlck1vZHVsZSxcbiAgICBNdWx0aVNlbGVjdE1vZHVsZSxcbiAgICBGbG9hdGluZ0Jhck1vZHVsZSxcbiAgICBUZW1wbGF0ZVBpcGVzTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFBpcGVzTW9kdWxlLFxuICAgIEZvcm1ncm91cE1vZHVsZSxcbiAgICBOZ3hEb2NWaWV3ZXJNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtUZW1wbGF0ZUxpc3RUYWJsZUNvbXBvbmVudCwgU2VsZWN0VGVtcGxhdGVMaXN0Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgUG9saWN5VGVtcGxhdGVNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,24 +1,26 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, Input, Optional, Output } from '@angular/core';
|
|
2
2
|
import { forkJoin } from 'rxjs';
|
|
3
3
|
import { NO_DATA_FOUND_IMAGE, NO_DATA_FOUND_MESSAGE, } from '../constants/template.constant';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "../services/template.service";
|
|
6
6
|
import * as i2 from "../../../workflow-services/policy.service";
|
|
7
|
-
import * as i3 from "
|
|
8
|
-
import * as i4 from "
|
|
9
|
-
import * as i5 from "
|
|
10
|
-
import * as i6 from "../../
|
|
11
|
-
import * as i7 from "
|
|
12
|
-
import * as i8 from "../../../ui-kit/multi-select/cs-multiselect
|
|
13
|
-
import * as i9 from "
|
|
14
|
-
import * as i10 from "
|
|
15
|
-
import * as i11 from "
|
|
16
|
-
import * as i12 from "
|
|
17
|
-
import * as i13 from "../template-
|
|
7
|
+
import * as i3 from "../../../configurations";
|
|
8
|
+
import * as i4 from "@angular/common";
|
|
9
|
+
import * as i5 from "../../../ui-kit/tooltip/tooltip.directive";
|
|
10
|
+
import * as i6 from "../../no-data/no-data.component";
|
|
11
|
+
import * as i7 from "../../v-loader/loader-inline/loader-inline.component";
|
|
12
|
+
import * as i8 from "../../../ui-kit/multi-select/cs-multiselect/cs-multiselect.component";
|
|
13
|
+
import * as i9 from "../../../ui-kit/multi-select/cs-multiselect-option/cs-multiselect-option.component";
|
|
14
|
+
import * as i10 from "../../floating-bar/floating-bar.component";
|
|
15
|
+
import * as i11 from "@angular/forms";
|
|
16
|
+
import * as i12 from "ngx-doc-viewer";
|
|
17
|
+
import * as i13 from "../template-list-table/template-list-table.component";
|
|
18
|
+
import * as i14 from "../template-pipes/search-template.pipe";
|
|
18
19
|
export class SelectTemplateListComponent {
|
|
19
|
-
constructor(templateService, policyService) {
|
|
20
|
+
constructor(templateService, policyService, config) {
|
|
20
21
|
this.templateService = templateService;
|
|
21
22
|
this.policyService = policyService;
|
|
23
|
+
this.fileUrl = '';
|
|
22
24
|
this.animation = false;
|
|
23
25
|
this.defaultTemplates = [];
|
|
24
26
|
this.customTemplates = null;
|
|
@@ -36,9 +38,9 @@ export class SelectTemplateListComponent {
|
|
|
36
38
|
this.NO_DATA_FOUND_MESSAGE = NO_DATA_FOUND_MESSAGE;
|
|
37
39
|
this.selectedTemplate = [];
|
|
38
40
|
this.isPreview = false;
|
|
39
|
-
this.docData = null;
|
|
40
41
|
this.selectedCategoryId = [];
|
|
41
42
|
this.onTemplateSelect = new EventEmitter();
|
|
43
|
+
this.env = config?.envConfig;
|
|
42
44
|
}
|
|
43
45
|
ngOnInit() {
|
|
44
46
|
this.setAnimation();
|
|
@@ -174,35 +176,28 @@ export class SelectTemplateListComponent {
|
|
|
174
176
|
this.selectedTemplate = [];
|
|
175
177
|
}
|
|
176
178
|
onPreview(details) {
|
|
177
|
-
this.loader =
|
|
178
|
-
this.
|
|
179
|
+
this.loader = false;
|
|
180
|
+
this.isPreview = true;
|
|
179
181
|
this.previewTemplate = details;
|
|
182
|
+
this.fileUrl = `${this.env?.s3Url}${this.env?.s3Bucket}/${details?.s3DocxPath}`;
|
|
180
183
|
}
|
|
181
184
|
onClosePreview() {
|
|
182
185
|
this.isPreview = false;
|
|
183
|
-
this.docData = null;
|
|
184
186
|
this.previewTemplate = null;
|
|
185
187
|
}
|
|
186
|
-
|
|
187
|
-
this.loader = true;
|
|
188
|
-
this.templateService.getTemplateContent(templateId).subscribe({
|
|
189
|
-
next: (res) => {
|
|
190
|
-
const { response } = res;
|
|
191
|
-
this.loader = false;
|
|
192
|
-
this.docData = response;
|
|
193
|
-
this.isPreview = true;
|
|
194
|
-
},
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectTemplateListComponent, deps: [{ token: i1.TemplateService }, { token: i2.PolicyService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
198
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SelectTemplateListComponent, selector: "app-select-template-list", inputs: { selectedCategoryId: "selectedCategoryId" }, outputs: { onTemplateSelect: "onTemplateSelect" }, ngImport: i0, template: "<div\n class=\"select-template-list\"\n [class.animate]=\"animation\"\n [class.withPreview]=\"isPreview\"\n>\n <ng-container *ngIf=\"!isPreview\">\n <div\n class=\"select-template-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Template</div>\n </div>\n <div class=\"select-template-list-body\">\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\n\n <div class=\"select-template-list-tab vx-d-flex vx-align-center vx-mb-2\">\n <button\n (click)=\"switchTab('VCOMPLY')\"\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\n [class.active]=\"currentTab === 'VCOMPLY'\"\n >\n VCOMPLY TEMPLATES\n </button>\n <button\n (click)=\"switchTab('USER_CREATED')\"\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\n [class.active]=\"currentTab === 'USER_CREATED'\"\n >\n USER-CREATED TEMPLATES\n </button>\n </div>\n <div class=\"search-block vx-mb-2\">\n <i class=\"icons\"></i>\n <input type=\"text\" [(ngModel)]=\"searchTemplate\" placeholder=\"Search\" />\n </div>\n <div class=\"body-top vx-d-flex vx-align-center vx-justify-end vx-mb-2\">\n <cs-multi-select\n (searchText)=\"searchCategory = $event\"\n [placeholder]=\"'Select Category'\"\n [value]=\"selectedCategory\"\n (applyFilter)=\"onApplyFilter($event)\"\n >\n <ng-container\n *ngFor=\"\n let eachCategory of categoryList\n | SearchByKeys : ['name'] : searchCategory\n \"\n >\n <cs-multi-select-option\n [appTooltip]=\"eachCategory?.name\"\n placement=\"bottom-left\"\n delay=\"0\"\n [value]=\"eachCategory?.item_id\"\n (change)=\"onSelectCategory(eachCategory, $event)\"\n [tooltipMandatory]=\"true\"\n >\n {{ eachCategory?.name }}\n </cs-multi-select-option>\n </ng-container>\n </cs-multi-select>\n </div>\n <div class=\"body-inner vx-mb-1\">\n <ng-container *ngIf=\"!loader\">\n <ng-container\n *ngIf=\"\n templateList\n | SearchByKeys\n : ['name', 'categoryDetails']\n : searchTemplate as allTemplate\n \"\n >\n <app-template-list-table\n *ngIf=\"allTemplate.length\"\n [templateList]=\"allTemplate\"\n [loader]=\"loader\"\n [categoryList]=\"categoryList\"\n [selectedTemplate]=\"selectedTemplate[0]\"\n (onSort)=\"sortBy($event)\"\n (onSelectTemplate)=\"onSelectTemplate($event)\"\n (onPreview)=\"onPreview($event)\"\n ></app-template-list-table>\n <app-no-data\n *ngIf=\"!allTemplate?.length\"\n [noDataImage]=\"NO_DATA_FOUND_IMAGE\"\n [noDataText]=\"NO_DATA_FOUND_MESSAGE\"\n ></app-no-data>\n </ng-container>\n </ng-container>\n </div>\n\n <app-floating-bar\n (closeEvent)=\"save()\"\n (closeList)=\"close()\"\n [isDisabled]=\"selectedTemplate?.length === 0\"\n [selectedData]=\"selectedTemplate\"\n [displayElementKey]=\"'name'\"\n [singularText]=\"'Template Selected'\"\n (deleteEvent)=\"deleteEvent()\"\n >\n </app-floating-bar>\n </div>\n </ng-container>\n <ng-container *ngIf=\"isPreview\">\n <div\n class=\"select-template-list-head vx-d-flex vx-align-center vx-pl-4 vx-pr-4\"\n >\n <button\n (click)=\"onClosePreview()\"\n class=\"previewBtn vx-fs-14 vx-fw-500 vx-label-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\n >\n <i class=\"icons vx-mr-1\"></i>Preview\n </button>\n <div\n class=\"template-name vx-fs-14 vx-ml-1\"\n [appTooltip]=\"previewTemplate?.name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n {{ previewTemplate?.name }}\n </div>\n </div>\n <div class=\"preview-template-body vx-d-flex vx-justify-center\">\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\n\n <div *ngIf=\"!loader\" class=\"preview-template-body-inner\">\n <app-view-policy #view_policy [contents]=\"docData\"> </app-view-policy>\n </div>\n </div>\n </ng-container>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .select-template-list{background:#fff;position:fixed;inset:0 500px 0 0;z-index:10}::ng-deep .select-template-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .select-template-list:after{background:#f1f1f1;content:\"\";position:absolute;top:3px;right:0;width:1px;height:calc(100% - 3px)}::ng-deep .select-template-list.withPreview{background:#f2f2f5}::ng-deep .select-template-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .select-template-list-head button.previewBtn{background:transparent;border-radius:0;border:none}::ng-deep .select-template-list-head .template-name{color:#787a8c;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 5rem)}::ng-deep .select-template-list-tab{border-bottom:1px solid #dbdbdb}::ng-deep .select-template-list-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.1875rem solid transparent;color:#565a6f;height:23px;margin-right:1.75rem!important}::ng-deep .select-template-list-tab button.active{pointer-events:none}::ng-deep .select-template-list-tab button.active.tab-btn{border-color:#1e5dd3;color:#1e5dd3}::ng-deep .select-template-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .select-template-list-body .search-block{position:relative}::ng-deep .select-template-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .select-template-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .select-template-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .select-template-list-body .body-top cs-multi-select{display:block;width:320px}::ng-deep .select-template-list-body .body-inner{height:calc(100% - 180px);width:calc(100% + 2rem);padding-right:2rem;overflow:hidden;overflow-y:auto;scrollbar-width:thin}::ng-deep .select-template-list-body .body-inner::-webkit-scrollbar-track{background-color:#f1f1f1}::ng-deep .select-template-list-body .body-inner::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .select-template-list .preview-template-body{margin-top:3rem;height:calc(100% - 6rem)}::ng-deep .select-template-list .preview-template-body-inner{background:#fff;border-radius:8px 8px 0 0;border:1px solid #dbdbdb;width:50rem}::ng-deep .select-template-list .preview-template-body-inner app-view-policy{display:block;height:100%}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer{height:100%!important;min-height:unset!important}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn{height:100%}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane{height:calc(100% - 30px)}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane .e-control.e-documenteditor{height:100%!important;min-height:unset!important}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane .e-control.e-documenteditor .e-documenteditor-optionspane{height:100%}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i5.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "button"], outputs: ["buttonAction"] }, { kind: "component", type: i6.LoaderInlineComponent, selector: "app-loader-inline" }, { kind: "component", type: i7.CsMultiselectComponent, selector: "cs-multi-select", inputs: ["isRequired", "dropdownLabel", "dropdownSubLabel", "disabled", "placeholder", "searchPlaceholder", "value", "selectedItem"], outputs: ["valueChange", "applyFilter", "searchText", "resetSelectedData"] }, { kind: "component", type: i8.CsMultiselectOptionComponent, selector: "cs-multi-select-option", inputs: ["value"] }, { kind: "component", type: i9.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "directive", type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i11.ViewPolicyComponent, selector: "app-view-policy", inputs: ["contents", "userName"] }, { kind: "component", type: i12.TemplateListTableComponent, selector: "app-template-list-table", inputs: ["selectedTemplate", "templateList", "loader", "categoryList"], outputs: ["onSort", "onSelectTemplate", "onPreview"] }, { kind: "pipe", type: i13.SearchByKeysPipe, name: "SearchByKeys" }] }); }
|
|
188
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectTemplateListComponent, deps: [{ token: i1.TemplateService }, { token: i2.PolicyService }, { token: i3.Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
189
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SelectTemplateListComponent, selector: "app-select-template-list", inputs: { selectedCategoryId: "selectedCategoryId", feature: "feature" }, outputs: { onTemplateSelect: "onTemplateSelect" }, ngImport: i0, template: "<div\n class=\"select-template-list\"\n [class.animate]=\"animation\"\n [class.withPreview]=\"isPreview\"\n>\n <ng-container *ngIf=\"!isPreview\">\n <div\n class=\"select-template-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Template</div>\n </div>\n <div class=\"select-template-list-body\">\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\n\n <div class=\"select-template-list-tab vx-d-flex vx-align-center vx-mb-2\">\n <button\n (click)=\"switchTab('VCOMPLY')\"\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\n [class.active]=\"currentTab === 'VCOMPLY'\"\n >\n VCOMPLY TEMPLATES\n </button>\n <button\n (click)=\"switchTab('USER_CREATED')\"\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\n [class.active]=\"currentTab === 'USER_CREATED'\"\n >\n USER-CREATED TEMPLATES\n </button>\n </div>\n <div class=\"search-block vx-mb-2\">\n <i class=\"icons\"></i>\n <input type=\"text\" [(ngModel)]=\"searchTemplate\" placeholder=\"Search\" />\n </div>\n <div class=\"body-top vx-d-flex vx-align-center vx-justify-end vx-mb-2\">\n <cs-multi-select\n (searchText)=\"searchCategory = $event\"\n [placeholder]=\"'Select Category'\"\n [value]=\"selectedCategory\"\n (applyFilter)=\"onApplyFilter($event)\"\n >\n <ng-container\n *ngFor=\"\n let eachCategory of categoryList\n | SearchByKeys : ['name'] : searchCategory\n \"\n >\n <cs-multi-select-option\n [appTooltip]=\"eachCategory?.name\"\n placement=\"bottom-left\"\n delay=\"0\"\n [value]=\"eachCategory?.item_id\"\n (change)=\"onSelectCategory(eachCategory, $event)\"\n [tooltipMandatory]=\"true\"\n >\n {{ eachCategory?.name }}\n </cs-multi-select-option>\n </ng-container>\n </cs-multi-select>\n </div>\n <div class=\"body-inner vx-mb-1\">\n <ng-container *ngIf=\"!loader\">\n <ng-container\n *ngIf=\"\n templateList\n | SearchByKeys\n : ['name', 'categoryDetails']\n : searchTemplate as allTemplate\n \"\n >\n <app-template-list-table\n *ngIf=\"allTemplate.length\"\n [templateList]=\"allTemplate\"\n [loader]=\"loader\"\n [categoryList]=\"categoryList\"\n [selectedTemplate]=\"selectedTemplate[0]\"\n [feature]=\"feature\"\n (onSort)=\"sortBy($event)\"\n (onSelectTemplate)=\"onSelectTemplate($event)\"\n (onPreview)=\"onPreview($event)\"\n ></app-template-list-table>\n <app-no-data\n *ngIf=\"!allTemplate?.length\"\n [noDataImage]=\"NO_DATA_FOUND_IMAGE\"\n [noDataText]=\"NO_DATA_FOUND_MESSAGE\"\n ></app-no-data>\n </ng-container>\n </ng-container>\n </div>\n\n <app-floating-bar\n (closeEvent)=\"save()\"\n (closeList)=\"close()\"\n [isDisabled]=\"selectedTemplate?.length === 0\"\n [selectedData]=\"selectedTemplate\"\n [displayElementKey]=\"'name'\"\n [singularText]=\"'Template Selected'\"\n (deleteEvent)=\"deleteEvent()\"\n >\n </app-floating-bar>\n </div>\n </ng-container>\n <ng-container *ngIf=\"isPreview\">\n <div\n class=\"select-template-list-head vx-d-flex vx-align-center vx-pl-4 vx-pr-4\"\n >\n <button\n (click)=\"onClosePreview()\"\n class=\"previewBtn vx-fs-14 vx-fw-500 vx-label-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\n >\n <i class=\"icons vx-mr-1\"></i>Preview\n </button>\n <div\n class=\"template-name vx-fs-14 vx-ml-1\"\n [appTooltip]=\"previewTemplate?.name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n {{ previewTemplate?.name }}\n </div>\n </div>\n <div class=\"preview-template-body vx-d-flex vx-justify-center\">\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\n\n <div *ngIf=\"!loader\" class=\"preview-template-body-inner\">\n <ngx-doc-viewer\n [url]=\"fileUrl\"\n viewer=\"office\"\n style=\"width: 100%; height: 100%; margin: 0\"\n disableContent=\"popout-hide\"\n >\n </ngx-doc-viewer>\n </div>\n </div>\n </ng-container>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .select-template-list{background:#fff;position:fixed;inset:0 500px 0 0;z-index:10}::ng-deep .select-template-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .select-template-list:after{background:#f1f1f1;content:\"\";position:absolute;top:3px;right:0;width:1px;height:calc(100% - 3px)}::ng-deep .select-template-list.withPreview{background:#f2f2f5}::ng-deep .select-template-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .select-template-list-head button.previewBtn{background:transparent;border-radius:0;border:none}::ng-deep .select-template-list-head .template-name{color:#787a8c;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 5rem)}::ng-deep .select-template-list-tab{border-bottom:1px solid #dbdbdb}::ng-deep .select-template-list-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.1875rem solid transparent;color:#565a6f;height:23px;margin-right:1.75rem!important}::ng-deep .select-template-list-tab button.active{pointer-events:none}::ng-deep .select-template-list-tab button.active.tab-btn{border-color:#1e5dd3;color:#1e5dd3}::ng-deep .select-template-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .select-template-list-body .search-block{position:relative}::ng-deep .select-template-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .select-template-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .select-template-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .select-template-list-body .body-top cs-multi-select{display:block;width:320px}::ng-deep .select-template-list-body .body-inner{height:calc(100% - 180px);width:calc(100% + 2rem);padding-right:2rem;overflow:hidden;overflow-y:auto;scrollbar-width:thin}::ng-deep .select-template-list-body .body-inner::-webkit-scrollbar-track{background-color:#f1f1f1}::ng-deep .select-template-list-body .body-inner::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .select-template-list .preview-template-body{margin-top:3rem;height:calc(100% - 6rem)}::ng-deep .select-template-list .preview-template-body-inner{background:#fff;border-radius:8px 8px 0 0;border:1px solid #dbdbdb;width:50rem}::ng-deep .select-template-list .preview-template-body-inner app-view-policy{display:block;height:100%}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer{height:100%!important;min-height:unset!important}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn{height:100%}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane{height:calc(100% - 30px)}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane .e-control.e-documenteditor{height:100%!important;min-height:unset!important}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane .e-control.e-documenteditor .e-documenteditor-optionspane{height:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i6.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "button"], outputs: ["buttonAction"] }, { kind: "component", type: i7.LoaderInlineComponent, selector: "app-loader-inline" }, { kind: "component", type: i8.CsMultiselectComponent, selector: "cs-multi-select", inputs: ["isRequired", "dropdownLabel", "dropdownSubLabel", "disabled", "placeholder", "searchPlaceholder", "value", "selectedItem"], outputs: ["valueChange", "applyFilter", "searchText", "resetSelectedData"] }, { kind: "component", type: i9.CsMultiselectOptionComponent, selector: "cs-multi-select-option", inputs: ["value"] }, { kind: "component", type: i10.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "directive", type: i11.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i11.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i12.NgxDocViewerComponent, selector: "ngx-doc-viewer", inputs: ["url", "queryParams", "viewerUrl", "googleCheckInterval", "googleMaxChecks", "disableContent", "googleCheckContentLoaded", "viewer", "overrideLocalhost"], outputs: ["loaded"] }, { kind: "component", type: i13.TemplateListTableComponent, selector: "app-template-list-table", inputs: ["selectedTemplate", "templateList", "loader", "categoryList", "feature"], outputs: ["onSort", "onSelectTemplate", "onPreview"] }, { kind: "pipe", type: i14.SearchByKeysPipe, name: "SearchByKeys" }] }); }
|
|
199
190
|
}
|
|
200
191
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectTemplateListComponent, decorators: [{
|
|
201
192
|
type: Component,
|
|
202
|
-
args: [{ selector: 'app-select-template-list', template: "<div\n class=\"select-template-list\"\n [class.animate]=\"animation\"\n [class.withPreview]=\"isPreview\"\n>\n <ng-container *ngIf=\"!isPreview\">\n <div\n class=\"select-template-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Template</div>\n </div>\n <div class=\"select-template-list-body\">\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\n\n <div class=\"select-template-list-tab vx-d-flex vx-align-center vx-mb-2\">\n <button\n (click)=\"switchTab('VCOMPLY')\"\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\n [class.active]=\"currentTab === 'VCOMPLY'\"\n >\n VCOMPLY TEMPLATES\n </button>\n <button\n (click)=\"switchTab('USER_CREATED')\"\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\n [class.active]=\"currentTab === 'USER_CREATED'\"\n >\n USER-CREATED TEMPLATES\n </button>\n </div>\n <div class=\"search-block vx-mb-2\">\n <i class=\"icons\"></i>\n <input type=\"text\" [(ngModel)]=\"searchTemplate\" placeholder=\"Search\" />\n </div>\n <div class=\"body-top vx-d-flex vx-align-center vx-justify-end vx-mb-2\">\n <cs-multi-select\n (searchText)=\"searchCategory = $event\"\n [placeholder]=\"'Select Category'\"\n [value]=\"selectedCategory\"\n (applyFilter)=\"onApplyFilter($event)\"\n >\n <ng-container\n *ngFor=\"\n let eachCategory of categoryList\n | SearchByKeys : ['name'] : searchCategory\n \"\n >\n <cs-multi-select-option\n [appTooltip]=\"eachCategory?.name\"\n placement=\"bottom-left\"\n delay=\"0\"\n [value]=\"eachCategory?.item_id\"\n (change)=\"onSelectCategory(eachCategory, $event)\"\n [tooltipMandatory]=\"true\"\n >\n {{ eachCategory?.name }}\n </cs-multi-select-option>\n </ng-container>\n </cs-multi-select>\n </div>\n <div class=\"body-inner vx-mb-1\">\n <ng-container *ngIf=\"!loader\">\n <ng-container\n *ngIf=\"\n templateList\n | SearchByKeys\n : ['name', 'categoryDetails']\n : searchTemplate as allTemplate\n \"\n >\n <app-template-list-table\n *ngIf=\"allTemplate.length\"\n [templateList]=\"allTemplate\"\n [loader]=\"loader\"\n [categoryList]=\"categoryList\"\n [selectedTemplate]=\"selectedTemplate[0]\"\n (onSort)=\"sortBy($event)\"\n (onSelectTemplate)=\"onSelectTemplate($event)\"\n (onPreview)=\"onPreview($event)\"\n ></app-template-list-table>\n <app-no-data\n *ngIf=\"!allTemplate?.length\"\n [noDataImage]=\"NO_DATA_FOUND_IMAGE\"\n [noDataText]=\"NO_DATA_FOUND_MESSAGE\"\n ></app-no-data>\n </ng-container>\n </ng-container>\n </div>\n\n <app-floating-bar\n (closeEvent)=\"save()\"\n (closeList)=\"close()\"\n [isDisabled]=\"selectedTemplate?.length === 0\"\n [selectedData]=\"selectedTemplate\"\n [displayElementKey]=\"'name'\"\n [singularText]=\"'Template Selected'\"\n (deleteEvent)=\"deleteEvent()\"\n >\n </app-floating-bar>\n </div>\n </ng-container>\n <ng-container *ngIf=\"isPreview\">\n <div\n class=\"select-template-list-head vx-d-flex vx-align-center vx-pl-4 vx-pr-4\"\n >\n <button\n (click)=\"onClosePreview()\"\n class=\"previewBtn vx-fs-14 vx-fw-500 vx-label-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\n >\n <i class=\"icons vx-mr-1\"></i>Preview\n </button>\n <div\n class=\"template-name vx-fs-14 vx-ml-1\"\n [appTooltip]=\"previewTemplate?.name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n {{ previewTemplate?.name }}\n </div>\n </div>\n <div class=\"preview-template-body vx-d-flex vx-justify-center\">\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\n\n <div *ngIf=\"!loader\" class=\"preview-template-body-inner\">\n <
|
|
203
|
-
}], ctorParameters: function () { return [{ type: i1.TemplateService }, { type: i2.PolicyService }
|
|
193
|
+
args: [{ selector: 'app-select-template-list', template: "<div\n class=\"select-template-list\"\n [class.animate]=\"animation\"\n [class.withPreview]=\"isPreview\"\n>\n <ng-container *ngIf=\"!isPreview\">\n <div\n class=\"select-template-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Template</div>\n </div>\n <div class=\"select-template-list-body\">\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\n\n <div class=\"select-template-list-tab vx-d-flex vx-align-center vx-mb-2\">\n <button\n (click)=\"switchTab('VCOMPLY')\"\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\n [class.active]=\"currentTab === 'VCOMPLY'\"\n >\n VCOMPLY TEMPLATES\n </button>\n <button\n (click)=\"switchTab('USER_CREATED')\"\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\n [class.active]=\"currentTab === 'USER_CREATED'\"\n >\n USER-CREATED TEMPLATES\n </button>\n </div>\n <div class=\"search-block vx-mb-2\">\n <i class=\"icons\"></i>\n <input type=\"text\" [(ngModel)]=\"searchTemplate\" placeholder=\"Search\" />\n </div>\n <div class=\"body-top vx-d-flex vx-align-center vx-justify-end vx-mb-2\">\n <cs-multi-select\n (searchText)=\"searchCategory = $event\"\n [placeholder]=\"'Select Category'\"\n [value]=\"selectedCategory\"\n (applyFilter)=\"onApplyFilter($event)\"\n >\n <ng-container\n *ngFor=\"\n let eachCategory of categoryList\n | SearchByKeys : ['name'] : searchCategory\n \"\n >\n <cs-multi-select-option\n [appTooltip]=\"eachCategory?.name\"\n placement=\"bottom-left\"\n delay=\"0\"\n [value]=\"eachCategory?.item_id\"\n (change)=\"onSelectCategory(eachCategory, $event)\"\n [tooltipMandatory]=\"true\"\n >\n {{ eachCategory?.name }}\n </cs-multi-select-option>\n </ng-container>\n </cs-multi-select>\n </div>\n <div class=\"body-inner vx-mb-1\">\n <ng-container *ngIf=\"!loader\">\n <ng-container\n *ngIf=\"\n templateList\n | SearchByKeys\n : ['name', 'categoryDetails']\n : searchTemplate as allTemplate\n \"\n >\n <app-template-list-table\n *ngIf=\"allTemplate.length\"\n [templateList]=\"allTemplate\"\n [loader]=\"loader\"\n [categoryList]=\"categoryList\"\n [selectedTemplate]=\"selectedTemplate[0]\"\n [feature]=\"feature\"\n (onSort)=\"sortBy($event)\"\n (onSelectTemplate)=\"onSelectTemplate($event)\"\n (onPreview)=\"onPreview($event)\"\n ></app-template-list-table>\n <app-no-data\n *ngIf=\"!allTemplate?.length\"\n [noDataImage]=\"NO_DATA_FOUND_IMAGE\"\n [noDataText]=\"NO_DATA_FOUND_MESSAGE\"\n ></app-no-data>\n </ng-container>\n </ng-container>\n </div>\n\n <app-floating-bar\n (closeEvent)=\"save()\"\n (closeList)=\"close()\"\n [isDisabled]=\"selectedTemplate?.length === 0\"\n [selectedData]=\"selectedTemplate\"\n [displayElementKey]=\"'name'\"\n [singularText]=\"'Template Selected'\"\n (deleteEvent)=\"deleteEvent()\"\n >\n </app-floating-bar>\n </div>\n </ng-container>\n <ng-container *ngIf=\"isPreview\">\n <div\n class=\"select-template-list-head vx-d-flex vx-align-center vx-pl-4 vx-pr-4\"\n >\n <button\n (click)=\"onClosePreview()\"\n class=\"previewBtn vx-fs-14 vx-fw-500 vx-label-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\n >\n <i class=\"icons vx-mr-1\"></i>Preview\n </button>\n <div\n class=\"template-name vx-fs-14 vx-ml-1\"\n [appTooltip]=\"previewTemplate?.name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n {{ previewTemplate?.name }}\n </div>\n </div>\n <div class=\"preview-template-body vx-d-flex vx-justify-center\">\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\n\n <div *ngIf=\"!loader\" class=\"preview-template-body-inner\">\n <ngx-doc-viewer\n [url]=\"fileUrl\"\n viewer=\"office\"\n style=\"width: 100%; height: 100%; margin: 0\"\n disableContent=\"popout-hide\"\n >\n </ngx-doc-viewer>\n </div>\n </div>\n </ng-container>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .select-template-list{background:#fff;position:fixed;inset:0 500px 0 0;z-index:10}::ng-deep .select-template-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .select-template-list:after{background:#f1f1f1;content:\"\";position:absolute;top:3px;right:0;width:1px;height:calc(100% - 3px)}::ng-deep .select-template-list.withPreview{background:#f2f2f5}::ng-deep .select-template-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .select-template-list-head button.previewBtn{background:transparent;border-radius:0;border:none}::ng-deep .select-template-list-head .template-name{color:#787a8c;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 5rem)}::ng-deep .select-template-list-tab{border-bottom:1px solid #dbdbdb}::ng-deep .select-template-list-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.1875rem solid transparent;color:#565a6f;height:23px;margin-right:1.75rem!important}::ng-deep .select-template-list-tab button.active{pointer-events:none}::ng-deep .select-template-list-tab button.active.tab-btn{border-color:#1e5dd3;color:#1e5dd3}::ng-deep .select-template-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .select-template-list-body .search-block{position:relative}::ng-deep .select-template-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .select-template-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .select-template-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .select-template-list-body .body-top cs-multi-select{display:block;width:320px}::ng-deep .select-template-list-body .body-inner{height:calc(100% - 180px);width:calc(100% + 2rem);padding-right:2rem;overflow:hidden;overflow-y:auto;scrollbar-width:thin}::ng-deep .select-template-list-body .body-inner::-webkit-scrollbar-track{background-color:#f1f1f1}::ng-deep .select-template-list-body .body-inner::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .select-template-list .preview-template-body{margin-top:3rem;height:calc(100% - 6rem)}::ng-deep .select-template-list .preview-template-body-inner{background:#fff;border-radius:8px 8px 0 0;border:1px solid #dbdbdb;width:50rem}::ng-deep .select-template-list .preview-template-body-inner app-view-policy{display:block;height:100%}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer{height:100%!important;min-height:unset!important}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn{height:100%}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane{height:calc(100% - 30px)}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane .e-control.e-documenteditor{height:100%!important;min-height:unset!important}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane .e-control.e-documenteditor .e-documenteditor-optionspane{height:100%}\n"] }]
|
|
194
|
+
}], ctorParameters: function () { return [{ type: i1.TemplateService }, { type: i2.PolicyService }, { type: i3.Configurations, decorators: [{
|
|
195
|
+
type: Optional
|
|
196
|
+
}] }]; }, propDecorators: { selectedCategoryId: [{
|
|
197
|
+
type: Input
|
|
198
|
+
}], feature: [{
|
|
204
199
|
type: Input
|
|
205
200
|
}], onTemplateSelect: [{
|
|
206
201
|
type: Output
|
|
207
202
|
}] } });
|
|
208
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9wb2xpY3ktdGVtcGxhdGUvc2VsZWN0LXRlbXBsYXRlLWxpc3Qvc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9wb2xpY3ktdGVtcGxhdGUvc2VsZWN0LXRlbXBsYXRlLWxpc3Qvc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIscUJBQXFCLEdBQ3RCLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVF4QyxNQUFNLE9BQU8sMkJBQTJCO0lBd0J0QyxZQUNVLGVBQWdDLEVBQ2hDLGFBQTRCO1FBRDVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXpCdEMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixxQkFBZ0IsR0FBVSxFQUFFLENBQUM7UUFDN0Isb0JBQWUsR0FBaUIsSUFBSSxDQUFDO1FBQ3JDLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxTQUFTLENBQUM7UUFDdkIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQUN6Qix3QkFBbUIsR0FB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QUMsVUFBZTtRQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM1RCxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDWixNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsR0FBRyxDQUFDO2dCQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztnQkFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOytHQTFOVSwyQkFBMkI7bUdBQTNCLDJCQUEyQix5S0NkeEMsbXNKQW1JQTs7NEZEckhhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwwQkFBMEI7a0lBeUIzQixrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRlbXBsYXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RlbXBsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIE5PX0RBVEFfRk9VTkRfSU1BR0UsXG4gIE5PX0RBVEFfRk9VTkRfTUVTU0FHRSxcbn0gZnJvbSAnLi4vY29uc3RhbnRzL3RlbXBsYXRlLmNvbnN0YW50JztcbmltcG9ydCB7IFBvbGljeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9wb2xpY3kuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1zZWxlY3QtdGVtcGxhdGUtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtdGVtcGxhdGUtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC10ZW1wbGF0ZS1saXN0LmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdFRlbXBsYXRlTGlzdENvbXBvbmVudCB7XG4gIGFuaW1hdGlvbiA9IGZhbHNlO1xuICBkZWZhdWx0VGVtcGxhdGVzOiBhbnlbXSA9IFtdO1xuICBjdXN0b21UZW1wbGF0ZXM6IGFueVtdIHwgbnVsbCA9IG51bGw7XG4gIHRlbXBsYXRlTGlzdDogYW55W10gPSBbXTtcbiAgY3VycmVudFRhYiA9ICdWQ09NUExZJztcbiAgbG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIGNhdGVnb3J5TGlzdDogYW55W10gPSBbXTtcbiAgZGVmYXVsdENhdGVnb3J5TGlzdDogYW55W10gPSBbXTtcbiAgdXNlckNyZWF0ZWRDYXRlZ29yeUxpc3Q6IGFueVtdID0gW107XG4gIHNvcnRTdGF0dXMgPSAtMTtcbiAgc2VhcmNoQ2F0ZWdvcnk6IHN0cmluZyA9ICcnO1xuICBzZWFyY2hUZW1wbGF0ZTogc3RyaW5nID0gJyc7XG4gIHNlbGVjdGVkQ2F0ZWdvcnk6IGFueVtdID0gW107XG4gIE5PX0RBVEFfRk9VTkRfSU1BR0UgPSBOT19EQVRBX0ZPVU5EX0lNQUdFO1xuICBOT19EQVRBX0ZPVU5EX01FU1NBR0UgPSBOT19EQVRBX0ZPVU5EX01FU1NBR0U7XG4gIHNlbGVjdGVkVGVtcGxhdGU6IGFueVtdID0gW107XG4gIGlzUHJldmlldyA9IGZhbHNlO1xuICBkb2NEYXRhOiBhbnkgfCBudWxsID0gbnVsbDtcbiAgcHJldmlld1RlbXBsYXRlOiBhbnk7XG5cbiAgQElucHV0KCkgc2VsZWN0ZWRDYXRlZ29yeUlkOiBudW1iZXJbXSA9IFtdO1xuICBAT3V0cHV0KCkgb25UZW1wbGF0ZVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGVtcGxhdGVTZXJ2aWNlOiBUZW1wbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwb2xpY3lTZXJ2aWNlOiBQb2xpY3lTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEFuaW1hdGlvbigpO1xuICAgIHRoaXMuZ2V0VGVtcGxhdGUoKTtcbiAgfVxuXG4gIHNldEFuaW1hdGlvbigpIHtcbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xuICAgIH0sIDMwMCk7XG4gIH1cblxuICBzd2l0Y2hUYWIodGFiOiBzdHJpbmcpIHtcbiAgICB0aGlzLmN1cnJlbnRUYWIgPSB0YWI7XG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5ID0gW107XG4gICAgaWYgKHRhYiA9PT0gJ1ZDT01QTFknKSB7XG4gICAgICB0aGlzLnRlbXBsYXRlTGlzdCA9IFsuLi50aGlzLmRlZmF1bHRUZW1wbGF0ZXNdO1xuICAgICAgdGhpcy5jYXRlZ29yeUxpc3QgPSB0aGlzLmRlZmF1bHRDYXRlZ29yeUxpc3Q7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmN1c3RvbVRlbXBsYXRlcyA9PT0gbnVsbCkge1xuICAgICAgICB0aGlzLmdldEN1c3RvbVRlbXBsYXRlcygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUxpc3QgPSBbLi4udGhpcy5jdXN0b21UZW1wbGF0ZXNdO1xuICAgICAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3Q7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0Q3VzdG9tVGVtcGxhdGVzKCkge1xuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgdHlwZTogJ2N1c3RvbScsXG4gICAgICBjYXRlZ29yeUlkOiB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZC5tYXAoXG4gICAgICAgIChjYXRlZ29yeTogYW55KSA9PiBjYXRlZ29yeS5pdGVtX2lkXG4gICAgICApLFxuICAgIH07XG4gICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZmV0Y2hUZW1wbGF0ZXMocGF5bG9hZCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgdGhpcy5jdXN0b21UZW1wbGF0ZXMgPSByZXM/LnRlbXBsYXRlcyA/PyBbXTtcbiAgICAgIHRoaXMubWFwQ3VzdG9tVGVtcGxhdGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG1hcEN1c3RvbVRlbXBsYXRlKCkge1xuICAgIHRoaXMucG9saWN5U2VydmljZS5nZXRDYXRlZ29yaWVzTGlzdCgpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgIHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3QgPSBbLi4ucmVzXTtcbiAgICAgIHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3QgPSB0aGlzLnVzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0Lm1hcChcbiAgICAgICAgKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgcGFyZW50SXRlbXMgPSBbLi4ubmV3IFNldChyZXM/LnBhcmVudF9pdGVtcyA/PyBbXSldO1xuICAgICAgICAgIHBhcmVudEl0ZW1zLnVuc2hpZnQocmVzLml0ZW1fbmFtZSk7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnJlcyxcbiAgICAgICAgICAgIG5hbWU6IHBhcmVudEl0ZW1zPy5qb2luKCcgPCAnKSxcbiAgICAgICAgICAgIHBhcmVudF9pdGVtczogcmVzPy5wYXJlbnRfaXRlbXMucmV2ZXJzZSgpLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICBpZiAodGhpcy5jdXN0b21UZW1wbGF0ZXMpIHtcbiAgICAgICAgdGhpcy5jdXN0b21UZW1wbGF0ZXMgPSB0aGlzLmN1c3RvbVRlbXBsYXRlcy5tYXAoKHRlbXBsYXRlOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udGVtcGxhdGUsXG4gICAgICAgICAgICBjYXRlZ29yeURldGFpbHM6IHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3QuZmlsdGVyKFxuICAgICAgICAgICAgICAoY2F0ZWdvcnk6IGFueSkgPT5cbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZT8uY2F0ZWdvcnlJZD8uaW5jbHVkZXMoY2F0ZWdvcnkuaXRlbV9pZClcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLnRlbXBsYXRlTGlzdCA9IFsuLi5uZXcgU2V0KHRoaXMuY3VzdG9tVGVtcGxhdGVzID8/IFtdKV07XG4gICAgICBjb25zdCBjYXRlZ29yeUlkcyA9IHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUlkLm1hcChcbiAgICAgICAgKGNhdGVnb3J5OiBhbnkpID0+IGNhdGVnb3J5Lml0ZW1faWRcbiAgICAgICk7XG4gICAgICB0aGlzLnVzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0ID0gdGhpcy51c2VyQ3JlYXRlZENhdGVnb3J5TGlzdC5maWx0ZXIoXG4gICAgICAgIChjYXRlZ29yeTogYW55KSA9PiBjYXRlZ29yeUlkcz8uaW5jbHVkZXMoY2F0ZWdvcnkuaXRlbV9pZClcbiAgICAgICk7XG4gICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xuICAgICAgdGhpcy5jYXRlZ29yeUxpc3QgPSB0aGlzLnVzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0O1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0VGVtcGxhdGUoKSB7XG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICB0eXBlOiAnZGVmYXVsdCcsXG4gICAgfTtcbiAgICBmb3JrSm9pbihbXG4gICAgICB0aGlzLnRlbXBsYXRlU2VydmljZS5mZXRjaFRlbXBsYXRlcyhwYXlsb2FkKSxcbiAgICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlLmZldGNoRGVmYXVsdENhdGVnb3JpZXMoKSxcbiAgICBdKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICB0aGlzLmRlZmF1bHRUZW1wbGF0ZXMgPSByZXNbMF0/LnRlbXBsYXRlcztcbiAgICAgIHRoaXMuZGVmYXVsdENhdGVnb3J5TGlzdCA9IHJlc1sxXTtcbiAgICAgIHRoaXMubWFwRGVmYXVsdFRlbXBsYXRlKCk7XG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IFsuLi5uZXcgU2V0KHRoaXMuZGVmYXVsdENhdGVnb3J5TGlzdCldO1xuXG4gICAgICB0aGlzLnRlbXBsYXRlTGlzdCA9IHRoaXMuZGVmYXVsdFRlbXBsYXRlcztcbiAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBtYXBEZWZhdWx0VGVtcGxhdGUoKSB7XG4gICAgdGhpcy5kZWZhdWx0VGVtcGxhdGVzID0gdGhpcy5kZWZhdWx0VGVtcGxhdGVzLm1hcCgodGVtcGxhdGU6IGFueSkgPT4ge1xuICAgICAgY29uc3QgY2F0ZWdvcnkgPSB0aGlzLmRlZmF1bHRDYXRlZ29yeUxpc3QuZmlsdGVyKChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgICB0ZW1wbGF0ZT8uY2F0ZWdvcnlJZD8uaW5jbHVkZXMoY2F0ZWdvcnkuaXRlbV9pZClcbiAgICAgICk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi50ZW1wbGF0ZSxcbiAgICAgICAgY2F0ZWdvcnlEZXRhaWxzOiBjYXRlZ29yeSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBzb3J0Qnkoa2V5OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNvcnRTdGF0dXMgPSB0aGlzLnNvcnRTdGF0dXMgKiAtMTtcbiAgICB0aGlzLnRlbXBsYXRlTGlzdCA9IHRoaXMudGVtcGxhdGVTZXJ2aWNlLnNvcnRCeUtleShcbiAgICAgIHRoaXMudGVtcGxhdGVMaXN0LFxuICAgICAga2V5LFxuICAgICAgdGhpcy5zb3J0U3RhdHVzXG4gICAgKTtcbiAgfVxuXG4gIG9uU2VsZWN0Q2F0ZWdvcnkoY2F0ZWdvcnk6IGFueSwgZXZlbnQ6IGFueSkge1xuICAgIGlmIChldmVudC50YXJnZXQuY2hlY2tlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5LnB1c2goY2F0ZWdvcnk/Lml0ZW1faWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkgPSB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkuZmlsdGVyKFxuICAgICAgICAoaWQ6IGFueSkgPT4gaWQgIT09IGNhdGVnb3J5Py5pdGVtX2lkXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkgPSBbLi4ubmV3IFNldCh0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkpXTtcbiAgfVxuXG4gIG9uQXBwbHlGaWx0ZXIoZXZlbnQ6IGFueSkge1xuICAgIGlmICghZXZlbnQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSA9IFtdO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgc2VsZWN0ZWRUZW1wbGF0ZSA9XG4gICAgICB0aGlzLmN1cnJlbnRUYWIgPT09ICdWQ09NUExZJ1xuICAgICAgICA/IHRoaXMuZGVmYXVsdFRlbXBsYXRlc1xuICAgICAgICA6IHRoaXMuY3VzdG9tVGVtcGxhdGVzID8/IFtdO1xuICAgIHNlbGVjdGVkVGVtcGxhdGUgPSBbLi4ubmV3IFNldChzZWxlY3RlZFRlbXBsYXRlKV07XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRDYXRlZ29yeS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMudGVtcGxhdGVMaXN0ID0gc2VsZWN0ZWRUZW1wbGF0ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy50ZW1wbGF0ZUxpc3QgPSBzZWxlY3RlZFRlbXBsYXRlLmZpbHRlcigodGVtcGxhdGU6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHRlbXBsYXRlPy5jYXRlZ29yeUlkPy5zb21lKChpZDogYW55KSA9PlxuICAgICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkuaW5jbHVkZXMoaWQpXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgb25TZWxlY3RUZW1wbGF0ZSh0ZW1wbGF0ZTogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZFRlbXBsYXRlID0gW3RlbXBsYXRlXTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgdGhpcy5vblRlbXBsYXRlU2VsZWN0LmVtaXQodGhpcy5zZWxlY3RlZFRlbXBsYXRlKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMub25UZW1wbGF0ZVNlbGVjdC5lbWl0KFtdKTtcbiAgfVxuXG4gIGRlbGV0ZUV2ZW50KCkge1xuICAgIHRoaXMuc2VsZWN0ZWRUZW1wbGF0ZSA9IFtdO1xuICB9XG5cbiAgb25QcmV2aWV3KGRldGFpbHM6IGFueSkge1xuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcbiAgICB0aGlzLmdldFByZXZpZXdEYXRhKGRldGFpbHM/Ll9pZCk7XG4gICAgdGhpcy5wcmV2aWV3VGVtcGxhdGUgPSBkZXRhaWxzO1xuICB9XG5cbiAgb25DbG9zZVByZXZpZXcoKSB7XG4gICAgdGhpcy5pc1ByZXZpZXcgPSBmYWxzZTtcbiAgICB0aGlzLmRvY0RhdGEgPSBudWxsO1xuICAgIHRoaXMucHJldmlld1RlbXBsYXRlID0gbnVsbDtcbiAgfVxuXG4gIGdldFByZXZpZXdEYXRhKHRlbXBsYXRlSWQ6IGFueSkge1xuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcbiAgICB0aGlzLnRlbXBsYXRlU2VydmljZS5nZXRUZW1wbGF0ZUNvbnRlbnQodGVtcGxhdGVJZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgY29uc3QgeyByZXNwb25zZSB9ID0gcmVzO1xuICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xuICAgICAgICB0aGlzLmRvY0RhdGEgPSByZXNwb25zZTtcbiAgICAgICAgdGhpcy5pc1ByZXZpZXcgPSB0cnVlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNlbGVjdC10ZW1wbGF0ZS1saXN0XCJcbiAgW2NsYXNzLmFuaW1hdGVdPVwiYW5pbWF0aW9uXCJcbiAgW2NsYXNzLndpdGhQcmV2aWV3XT1cImlzUHJldmlld1wiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNQcmV2aWV3XCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJzZWxlY3QtdGVtcGxhdGUtbGlzdC1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXBsLTQgdngtcHItNFwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5TZWxlY3QgYSBUZW1wbGF0ZTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtdGVtcGxhdGUtbGlzdC1ib2R5XCI+XG4gICAgICA8YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJsb2FkZXJcIj48L2FwcC1sb2FkZXItaW5saW5lPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LXRlbXBsYXRlLWxpc3QtdGFiIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtbWItMlwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKGNsaWNrKT1cInN3aXRjaFRhYignVkNPTVBMWScpXCJcbiAgICAgICAgICBjbGFzcz1cInRhYi1idG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtcGItMiB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1saC00XCJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRUYWIgPT09ICdWQ09NUExZJ1wiXG4gICAgICAgID5cbiAgICAgICAgICBWQ09NUExZIFRFTVBMQVRFU1xuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIChjbGljayk9XCJzd2l0Y2hUYWIoJ1VTRVJfQ1JFQVRFRCcpXCJcbiAgICAgICAgICBjbGFzcz1cInRhYi1idG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtcGItMiB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1saC00XCJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRUYWIgPT09ICdVU0VSX0NSRUFURUQnXCJcbiAgICAgICAgPlxuICAgICAgICAgIFVTRVItQ1JFQVRFRCBURU1QTEFURVNcbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtYmxvY2sgdngtbWItMlwiPlxuICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwic2VhcmNoVGVtcGxhdGVcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJib2R5LXRvcCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktZW5kIHZ4LW1iLTJcIj5cbiAgICAgICAgPGNzLW11bHRpLXNlbGVjdFxuICAgICAgICAgIChzZWFyY2hUZXh0KT1cInNlYXJjaENhdGVnb3J5ID0gJGV2ZW50XCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NlbGVjdCBDYXRlZ29yeSdcIlxuICAgICAgICAgIFt2YWx1ZV09XCJzZWxlY3RlZENhdGVnb3J5XCJcbiAgICAgICAgICAoYXBwbHlGaWx0ZXIpPVwib25BcHBseUZpbHRlcigkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICBsZXQgZWFjaENhdGVnb3J5IG9mIGNhdGVnb3J5TGlzdFxuICAgICAgICAgICAgICAgIHwgU2VhcmNoQnlLZXlzIDogWyduYW1lJ10gOiBzZWFyY2hDYXRlZ29yeVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Y3MtbXVsdGktc2VsZWN0LW9wdGlvblxuICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJlYWNoQ2F0ZWdvcnk/Lm5hbWVcIlxuICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJlYWNoQ2F0ZWdvcnk/Lml0ZW1faWRcIlxuICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uU2VsZWN0Q2F0ZWdvcnkoZWFjaENhdGVnb3J5LCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IGVhY2hDYXRlZ29yeT8ubmFtZSB9fVxuICAgICAgICAgICAgPC9jcy1tdWx0aS1zZWxlY3Qtb3B0aW9uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2NzLW11bHRpLXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImJvZHktaW5uZXIgdngtbWItMVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRlclwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgIHRlbXBsYXRlTGlzdFxuICAgICAgICAgICAgICAgIHwgU2VhcmNoQnlLZXlzXG4gICAgICAgICAgICAgICAgICA6IFsnbmFtZScsICdjYXRlZ29yeURldGFpbHMnXVxuICAgICAgICAgICAgICAgICAgOiBzZWFyY2hUZW1wbGF0ZSBhcyBhbGxUZW1wbGF0ZVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXBwLXRlbXBsYXRlLWxpc3QtdGFibGVcbiAgICAgICAgICAgICAgKm5nSWY9XCJhbGxUZW1wbGF0ZS5sZW5ndGhcIlxuICAgICAgICAgICAgICBbdGVtcGxhdGVMaXN0XT1cImFsbFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgW2xvYWRlcl09XCJsb2FkZXJcIlxuICAgICAgICAgICAgICBbY2F0ZWdvcnlMaXN0XT1cImNhdGVnb3J5TGlzdFwiXG4gICAgICAgICAgICAgIFtzZWxlY3RlZFRlbXBsYXRlXT1cInNlbGVjdGVkVGVtcGxhdGVbMF1cIlxuICAgICAgICAgICAgICAob25Tb3J0KT1cInNvcnRCeSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKG9uU2VsZWN0VGVtcGxhdGUpPVwib25TZWxlY3RUZW1wbGF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKG9uUHJldmlldyk9XCJvblByZXZpZXcoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC9hcHAtdGVtcGxhdGUtbGlzdC10YWJsZT5cbiAgICAgICAgICAgIDxhcHAtbm8tZGF0YVxuICAgICAgICAgICAgICAqbmdJZj1cIiFhbGxUZW1wbGF0ZT8ubGVuZ3RoXCJcbiAgICAgICAgICAgICAgW25vRGF0YUltYWdlXT1cIk5PX0RBVEFfRk9VTkRfSU1BR0VcIlxuICAgICAgICAgICAgICBbbm9EYXRhVGV4dF09XCJOT19EQVRBX0ZPVU5EX01FU1NBR0VcIlxuICAgICAgICAgICAgPjwvYXBwLW5vLWRhdGE+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxhcHAtZmxvYXRpbmctYmFyXG4gICAgICAgIChjbG9zZUV2ZW50KT1cInNhdmUoKVwiXG4gICAgICAgIChjbG9zZUxpc3QpPVwiY2xvc2UoKVwiXG4gICAgICAgIFtpc0Rpc2FibGVkXT1cInNlbGVjdGVkVGVtcGxhdGU/Lmxlbmd0aCA9PT0gMFwiXG4gICAgICAgIFtzZWxlY3RlZERhdGFdPVwic2VsZWN0ZWRUZW1wbGF0ZVwiXG4gICAgICAgIFtkaXNwbGF5RWxlbWVudEtleV09XCInbmFtZSdcIlxuICAgICAgICBbc2luZ3VsYXJUZXh0XT1cIidUZW1wbGF0ZSBTZWxlY3RlZCdcIlxuICAgICAgICAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlRXZlbnQoKVwiXG4gICAgICA+XG4gICAgICA8L2FwcC1mbG9hdGluZy1iYXI+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNQcmV2aWV3XCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJzZWxlY3QtdGVtcGxhdGUtbGlzdC1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcGwtNCB2eC1wci00XCJcbiAgICA+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJvbkNsb3NlUHJldmlldygpXCJcbiAgICAgICAgY2xhc3M9XCJwcmV2aWV3QnRuIHZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtcC0wIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCJcbiAgICAgID5cbiAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1tci0xXCI+JiN4ZTkxZDs8L2k+UHJldmlld1xuICAgICAgPC9idXR0b24+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidGVtcGxhdGUtbmFtZSB2eC1mcy0xNCB2eC1tbC0xXCJcbiAgICAgICAgW2FwcFRvb2x0aXBdPVwicHJldmlld1RlbXBsYXRlPy5uYW1lXCJcbiAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXG4gICAgICA+XG4gICAgICAgIHt7IHByZXZpZXdUZW1wbGF0ZT8ubmFtZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInByZXZpZXctdGVtcGxhdGUtYm9keSB2eC1kLWZsZXggdngtanVzdGlmeS1jZW50ZXJcIj5cbiAgICAgIDxhcHAtbG9hZGVyLWlubGluZSAqbmdJZj1cImxvYWRlclwiPjwvYXBwLWxvYWRlci1pbmxpbmU+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCIhbG9hZGVyXCIgY2xhc3M9XCJwcmV2aWV3LXRlbXBsYXRlLWJvZHktaW5uZXJcIj5cbiAgICAgICAgPGFwcC12aWV3LXBvbGljeSAjdmlld19wb2xpY3kgW2NvbnRlbnRzXT1cImRvY0RhdGFcIj4gPC9hcHAtdmlldy1wb2xpY3k+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9wb2xpY3ktdGVtcGxhdGUvc2VsZWN0LXRlbXBsYXRlLWxpc3Qvc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9wb2xpY3ktdGVtcGxhdGUvc2VsZWN0LXRlbXBsYXRlLWxpc3Qvc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLHFCQUFxQixHQUN0QixNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBUXhDLE1BQU0sT0FBTywyQkFBMkI7SUEwQnRDLFlBQ1UsZUFBZ0MsRUFDaEMsYUFBNEIsRUFDeEIsTUFBdUI7UUFGM0Isb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBM0J0QyxZQUFPLEdBQVcsRUFBRSxDQUFBO1FBRXBCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIscUJBQWdCLEdBQVUsRUFBRSxDQUFDO1FBQzdCLG9CQUFlLEdBQWlCLElBQUksQ0FBQztRQUNyQyxpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQUN6QixlQUFVLEdBQUcsU0FBUyxDQUFDO1FBQ3ZCLFdBQU0sR0FBWSxLQUFL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QUUsVUFBVSxFQUFFLENBQUM7SUFDbEYsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDOytHQW5OVSwyQkFBMkI7bUdBQTNCLDJCQUEyQiw2TENkeEMsbTNKQTBJQTs7NEZENUhhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwwQkFBMEI7OzBCQWlDakMsUUFBUTs0Q0FQRixrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3B0aW9uYWwsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGVtcGxhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGVtcGxhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgTk9fREFUQV9GT1VORF9JTUFHRSxcbiAgTk9fREFUQV9GT1VORF9NRVNTQUdFLFxufSBmcm9tICcuLi9jb25zdGFudHMvdGVtcGxhdGUuY29uc3RhbnQnO1xuaW1wb3J0IHsgUG9saWN5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3dvcmtmbG93LXNlcnZpY2VzL3BvbGljeS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlndXJhdGlvbnMnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXNlbGVjdC10ZW1wbGF0ZS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC10ZW1wbGF0ZS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50Lmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0VGVtcGxhdGVMaXN0Q29tcG9uZW50IHtcbiAgZmlsZVVybDogc3RyaW5nID0gJydcbiAgZW52OmFueTtcbiAgYW5pbWF0aW9uID0gZmFsc2U7XG4gIGRlZmF1bHRUZW1wbGF0ZXM6IGFueVtdID0gW107XG4gIGN1c3RvbVRlbXBsYXRlczogYW55W10gfCBudWxsID0gbnVsbDtcbiAgdGVtcGxhdGVMaXN0OiBhbnlbXSA9IFtdO1xuICBjdXJyZW50VGFiID0gJ1ZDT01QTFknO1xuICBsb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY2F0ZWdvcnlMaXN0OiBhbnlbXSA9IFtdO1xuICBkZWZhdWx0Q2F0ZWdvcnlMaXN0OiBhbnlbXSA9IFtdO1xuICB1c2VyQ3JlYXRlZENhdGVnb3J5TGlzdDogYW55W10gPSBbXTtcbiAgc29ydFN0YXR1cyA9IC0xO1xuICBzZWFyY2hDYXRlZ29yeTogc3RyaW5nID0gJyc7XG4gIHNlYXJjaFRlbXBsYXRlOiBzdHJpbmcgPSAnJztcbiAgc2VsZWN0ZWRDYXRlZ29yeTogYW55W10gPSBbXTtcbiAgTk9fREFUQV9GT1VORF9JTUFHRSA9IE5PX0RBVEFfRk9VTkRfSU1BR0U7XG4gIE5PX0RBVEFfRk9VTkRfTUVTU0FHRSA9IE5PX0RBVEFfRk9VTkRfTUVTU0FHRTtcbiAgc2VsZWN0ZWRUZW1wbGF0ZTogYW55W10gPSBbXTtcbiAgaXNQcmV2aWV3ID0gZmFsc2U7XG4gIHByZXZpZXdUZW1wbGF0ZTogYW55O1xuXG4gIEBJbnB1dCgpIHNlbGVjdGVkQ2F0ZWdvcnlJZDogbnVtYmVyW10gPSBbXTtcbiAgQElucHV0KCkgZmVhdHVyZTogYW55O1xuICBAT3V0cHV0KCkgb25UZW1wbGF0ZVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGVtcGxhdGVTZXJ2aWNlOiBUZW1wbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwb2xpY3lTZXJ2aWNlOiBQb2xpY3lTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zXG4gICkge1xuICAgIHRoaXMuZW52ID0gY29uZmlnPy5lbnZDb25maWdcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0QW5pbWF0aW9uKCk7XG4gICAgdGhpcy5nZXRUZW1wbGF0ZSgpO1xuICB9XG5cbiAgc2V0QW5pbWF0aW9uKCkge1xuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XG4gICAgfSwgMzAwKTtcbiAgfVxuXG4gIHN3aXRjaFRhYih0YWI6IHN0cmluZykge1xuICAgIHRoaXMuY3VycmVudFRhYiA9IHRhYjtcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkgPSBbXTtcbiAgICBpZiAodGFiID09PSAnVkNPTVBMWScpIHtcbiAgICAgIHRoaXMudGVtcGxhdGVMaXN0ID0gWy4uLnRoaXMuZGVmYXVsdFRlbXBsYXRlc107XG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IHRoaXMuZGVmYXVsdENhdGVnb3J5TGlzdDtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuY3VzdG9tVGVtcGxhdGVzID09PSBudWxsKSB7XG4gICAgICAgIHRoaXMuZ2V0Q3VzdG9tVGVtcGxhdGVzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnRlbXBsYXRlTGlzdCA9IFsuLi50aGlzLmN1c3RvbVRlbXBsYXRlc107XG4gICAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0ID0gdGhpcy51c2VyQ3JlYXRlZENhdGVnb3J5TGlzdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRDdXN0b21UZW1wbGF0ZXMoKSB7XG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICB0eXBlOiAnY3VzdG9tJyxcbiAgICAgIGNhdGVnb3J5SWQ6IHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUlkLm1hcChcbiAgICAgICAgKGNhdGVnb3J5OiBhbnkpID0+IGNhdGVnb3J5Lml0ZW1faWRcbiAgICAgICksXG4gICAgfTtcbiAgICB0aGlzLnRlbXBsYXRlU2VydmljZS5mZXRjaFRlbXBsYXRlcyhwYXlsb2FkKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICB0aGlzLmN1c3RvbVRlbXBsYXRlcyA9IHJlcz8udGVtcGxhdGVzID8/IFtdO1xuICAgICAgdGhpcy5tYXBDdXN0b21UZW1wbGF0ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgbWFwQ3VzdG9tVGVtcGxhdGUoKSB7XG4gICAgdGhpcy5wb2xpY3lTZXJ2aWNlLmdldENhdGVnb3JpZXNMaXN0KCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgdGhpcy51c2VyQ3JlYXRlZENhdGVnb3J5TGlzdCA9IFsuLi5yZXNdO1xuICAgICAgdGhpcy51c2VyQ3JlYXRlZENhdGVnb3J5TGlzdCA9IHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3QubWFwKFxuICAgICAgICAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBwYXJlbnRJdGVtcyA9IFsuLi5uZXcgU2V0KHJlcz8ucGFyZW50X2l0ZW1zID8/IFtdKV07XG4gICAgICAgICAgcGFyZW50SXRlbXMudW5zaGlmdChyZXMuaXRlbV9uYW1lKTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ucmVzLFxuICAgICAgICAgICAgbmFtZTogcGFyZW50SXRlbXM/LmpvaW4oJyA8ICcpLFxuICAgICAgICAgICAgcGFyZW50X2l0ZW1zOiByZXM/LnBhcmVudF9pdGVtcy5yZXZlcnNlKCksXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIGlmICh0aGlzLmN1c3RvbVRlbXBsYXRlcykge1xuICAgICAgICB0aGlzLmN1c3RvbVRlbXBsYXRlcyA9IHRoaXMuY3VzdG9tVGVtcGxhdGVzLm1hcCgodGVtcGxhdGU6IGFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi50ZW1wbGF0ZSxcbiAgICAgICAgICAgIGNhdGVnb3J5RGV0YWlsczogdGhpcy51c2VyQ3JlYXRlZENhdGVnb3J5TGlzdC5maWx0ZXIoXG4gICAgICAgICAgICAgIChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgICAgICAgICAgIHRlbXBsYXRlPy5jYXRlZ29yeUlkPy5pbmNsdWRlcyhjYXRlZ29yeS5pdGVtX2lkKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMudGVtcGxhdGVMaXN0ID0gWy4uLm5ldyBTZXQodGhpcy5jdXN0b21UZW1wbGF0ZXMgPz8gW10pXTtcbiAgICAgIGNvbnN0IGNhdGVnb3J5SWRzID0gdGhpcy5zZWxlY3RlZENhdGVnb3J5SWQubWFwKFxuICAgICAgICAoY2F0ZWdvcnk6IGFueSkgPT4gY2F0ZWdvcnkuaXRlbV9pZFxuICAgICAgKTtcbiAgICAgIHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3QgPSB0aGlzLnVzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0LmZpbHRlcihcbiAgICAgICAgKGNhdGVnb3J5OiBhbnkpID0+IGNhdGVnb3J5SWRzPy5pbmNsdWRlcyhjYXRlZ29yeS5pdGVtX2lkKVxuICAgICAgKTtcbiAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3Q7XG4gICAgfSk7XG4gIH1cblxuICBnZXRUZW1wbGF0ZSgpIHtcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgIHR5cGU6ICdkZWZhdWx0JyxcbiAgICB9O1xuICAgIGZvcmtKb2luKFtcbiAgICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlLmZldGNoVGVtcGxhdGVzKHBheWxvYWQpLFxuICAgICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZmV0Y2hEZWZhdWx0Q2F0ZWdvcmllcygpLFxuICAgIF0pLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuZGVmYXVsdFRlbXBsYXRlcyA9IHJlc1swXT8udGVtcGxhdGVzO1xuICAgICAgdGhpcy5kZWZhdWx0Q2F0ZWdvcnlMaXN0ID0gcmVzWzFdO1xuICAgICAgdGhpcy5tYXBEZWZhdWx0VGVtcGxhdGUoKTtcbiAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0ID0gWy4uLm5ldyBTZXQodGhpcy5kZWZhdWx0Q2F0ZWdvcnlMaXN0KV07XG5cbiAgICAgIHRoaXMudGVtcGxhdGVMaXN0ID0gdGhpcy5kZWZhdWx0VGVtcGxhdGVzO1xuICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIG1hcERlZmF1bHRUZW1wbGF0ZSgpIHtcbiAgICB0aGlzLmRlZmF1bHRUZW1wbGF0ZXMgPSB0aGlzLmRlZmF1bHRUZW1wbGF0ZXMubWFwKCh0ZW1wbGF0ZTogYW55KSA9PiB7XG4gICAgICBjb25zdCBjYXRlZ29yeSA9IHRoaXMuZGVmYXVsdENhdGVnb3J5TGlzdC5maWx0ZXIoKGNhdGVnb3J5OiBhbnkpID0+XG4gICAgICAgIHRlbXBsYXRlPy5jYXRlZ29yeUlkPy5pbmNsdWRlcyhjYXRlZ29yeS5pdGVtX2lkKVxuICAgICAgKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnRlbXBsYXRlLFxuICAgICAgICBjYXRlZ29yeURldGFpbHM6IGNhdGVnb3J5LFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHNvcnRCeShrZXk6IHN0cmluZykge1xuICAgIHRoaXMuc29ydFN0YXR1cyA9IHRoaXMuc29ydFN0YXR1cyAqIC0xO1xuICAgIHRoaXMudGVtcGxhdGVMaXN0ID0gdGhpcy50ZW1wbGF0ZVNlcnZpY2Uuc29ydEJ5S2V5KFxuICAgICAgdGhpcy50ZW1wbGF0ZUxpc3QsXG4gICAgICBrZXksXG4gICAgICB0aGlzLnNvcnRTdGF0dXNcbiAgICApO1xuICB9XG5cbiAgb25TZWxlY3RDYXRlZ29yeShjYXRlZ29yeTogYW55LCBldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50LnRhcmdldC5jaGVja2VkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkucHVzaChjYXRlZ29yeT8uaXRlbV9pZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSA9IHRoaXMuc2VsZWN0ZWRDYXRlZ29yeS5maWx0ZXIoXG4gICAgICAgIChpZDogYW55KSA9PiBpZCAhPT0gY2F0ZWdvcnk/Lml0ZW1faWRcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSA9IFsuLi5uZXcgU2V0KHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSldO1xuICB9XG5cbiAgb25BcHBseUZpbHRlcihldmVudDogYW55KSB7XG4gICAgaWYgKCFldmVudCkge1xuICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5ID0gW107XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBzZWxlY3RlZFRlbXBsYXRlID1cbiAgICAgIHRoaXMuY3VycmVudFRhYiA9PT0gJ1ZDT01QTFknXG4gICAgICAgID8gdGhpcy5kZWZhdWx0VGVtcGxhdGVzXG4gICAgICAgIDogdGhpcy5jdXN0b21UZW1wbGF0ZXMgPz8gW107XG4gICAgc2VsZWN0ZWRUZW1wbGF0ZSA9IFsuLi5uZXcgU2V0KHNlbGVjdGVkVGVtcGxhdGUpXTtcbiAgICBpZiAodGhpcy5zZWxlY3RlZENhdGVnb3J5Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy50ZW1wbGF0ZUxpc3QgPSBzZWxlY3RlZFRlbXBsYXRlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnRlbXBsYXRlTGlzdCA9IHNlbGVjdGVkVGVtcGxhdGUuZmlsdGVyKCh0ZW1wbGF0ZTogYW55KSA9PiB7XG4gICAgICByZXR1cm4gdGVtcGxhdGU/LmNhdGVnb3J5SWQ/LnNvbWUoKGlkOiBhbnkpID0+XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeS5pbmNsdWRlcyhpZClcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBvblNlbGVjdFRlbXBsYXRlKHRlbXBsYXRlOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkVGVtcGxhdGUgPSBbdGVtcGxhdGVdO1xuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICB0aGlzLm9uVGVtcGxhdGVTZWxlY3QuZW1pdCh0aGlzLnNlbGVjdGVkVGVtcGxhdGUpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5vblRlbXBsYXRlU2VsZWN0LmVtaXQoW10pO1xuICB9XG5cbiAgZGVsZXRlRXZlbnQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZFRlbXBsYXRlID0gW107XG4gIH1cblxuICBvblByZXZpZXcoZGV0YWlsczogYW55KSB7XG4gICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcbiAgICB0aGlzLmlzUHJldmlldyA9IHRydWU7XG4gICAgdGhpcy5wcmV2aWV3VGVtcGxhdGUgPSBkZXRhaWxzO1xuICAgIHRoaXMuZmlsZVVybCA9IGAke3RoaXMuZW52Py5zM1VybH0ke3RoaXMuZW52Py5zM0J1Y2tldH0vJHtkZXRhaWxzPy5zM0RvY3hQYXRofWA7XG4gIH1cblxuICBvbkNsb3NlUHJldmlldygpIHtcbiAgICB0aGlzLmlzUHJldmlldyA9IGZhbHNlO1xuICAgIHRoaXMucHJldmlld1RlbXBsYXRlID0gbnVsbDtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNlbGVjdC10ZW1wbGF0ZS1saXN0XCJcbiAgW2NsYXNzLmFuaW1hdGVdPVwiYW5pbWF0aW9uXCJcbiAgW2NsYXNzLndpdGhQcmV2aWV3XT1cImlzUHJldmlld1wiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNQcmV2aWV3XCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJzZWxlY3QtdGVtcGxhdGUtbGlzdC1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXBsLTQgdngtcHItNFwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5TZWxlY3QgYSBUZW1wbGF0ZTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtdGVtcGxhdGUtbGlzdC1ib2R5XCI+XG4gICAgICA8YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJsb2FkZXJcIj48L2FwcC1sb2FkZXItaW5saW5lPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LXRlbXBsYXRlLWxpc3QtdGFiIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtbWItMlwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKGNsaWNrKT1cInN3aXRjaFRhYignVkNPTVBMWScpXCJcbiAgICAgICAgICBjbGFzcz1cInRhYi1idG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtcGItMiB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1saC00XCJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRUYWIgPT09ICdWQ09NUExZJ1wiXG4gICAgICAgID5cbiAgICAgICAgICBWQ09NUExZIFRFTVBMQVRFU1xuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIChjbGljayk9XCJzd2l0Y2hUYWIoJ1VTRVJfQ1JFQVRFRCcpXCJcbiAgICAgICAgICBjbGFzcz1cInRhYi1idG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtcGItMiB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1saC00XCJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRUYWIgPT09ICdVU0VSX0NSRUFURUQnXCJcbiAgICAgICAgPlxuICAgICAgICAgIFVTRVItQ1JFQVRFRCBURU1QTEFURVNcbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtYmxvY2sgdngtbWItMlwiPlxuICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwic2VhcmNoVGVtcGxhdGVcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJib2R5LXRvcCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktZW5kIHZ4LW1iLTJcIj5cbiAgICAgICAgPGNzLW11bHRpLXNlbGVjdFxuICAgICAgICAgIChzZWFyY2hUZXh0KT1cInNlYXJjaENhdGVnb3J5ID0gJGV2ZW50XCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NlbGVjdCBDYXRlZ29yeSdcIlxuICAgICAgICAgIFt2YWx1ZV09XCJzZWxlY3RlZENhdGVnb3J5XCJcbiAgICAgICAgICAoYXBwbHlGaWx0ZXIpPVwib25BcHBseUZpbHRlcigkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICBsZXQgZWFjaENhdGVnb3J5IG9mIGNhdGVnb3J5TGlzdFxuICAgICAgICAgICAgICAgIHwgU2VhcmNoQnlLZXlzIDogWyduYW1lJ10gOiBzZWFyY2hDYXRlZ29yeVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Y3MtbXVsdGktc2VsZWN0LW9wdGlvblxuICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJlYWNoQ2F0ZWdvcnk/Lm5hbWVcIlxuICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJlYWNoQ2F0ZWdvcnk/Lml0ZW1faWRcIlxuICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uU2VsZWN0Q2F0ZWdvcnkoZWFjaENhdGVnb3J5LCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IGVhY2hDYXRlZ29yeT8ubmFtZSB9fVxuICAgICAgICAgICAgPC9jcy1tdWx0aS1zZWxlY3Qtb3B0aW9uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2NzLW11bHRpLXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImJvZHktaW5uZXIgdngtbWItMVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRlclwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgIHRlbXBsYXRlTGlzdFxuICAgICAgICAgICAgICAgIHwgU2VhcmNoQnlLZXlzXG4gICAgICAgICAgICAgICAgICA6IFsnbmFtZScsICdjYXRlZ29yeURldGFpbHMnXVxuICAgICAgICAgICAgICAgICAgOiBzZWFyY2hUZW1wbGF0ZSBhcyBhbGxUZW1wbGF0ZVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXBwLXRlbXBsYXRlLWxpc3QtdGFibGVcbiAgICAgICAgICAgICAgKm5nSWY9XCJhbGxUZW1wbGF0ZS5sZW5ndGhcIlxuICAgICAgICAgICAgICBbdGVtcGxhdGVMaXN0XT1cImFsbFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgW2xvYWRlcl09XCJsb2FkZXJcIlxuICAgICAgICAgICAgICBbY2F0ZWdvcnlMaXN0XT1cImNhdGVnb3J5TGlzdFwiXG4gICAgICAgICAgICAgIFtzZWxlY3RlZFRlbXBsYXRlXT1cInNlbGVjdGVkVGVtcGxhdGVbMF1cIlxuICAgICAgICAgICAgICBbZmVhdHVyZV09XCJmZWF0dXJlXCJcbiAgICAgICAgICAgICAgKG9uU29ydCk9XCJzb3J0QnkoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChvblNlbGVjdFRlbXBsYXRlKT1cIm9uU2VsZWN0VGVtcGxhdGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChvblByZXZpZXcpPVwib25QcmV2aWV3KCRldmVudClcIlxuICAgICAgICAgICAgPjwvYXBwLXRlbXBsYXRlLWxpc3QtdGFibGU+XG4gICAgICAgICAgICA8YXBwLW5vLWRhdGFcbiAgICAgICAgICAgICAgKm5nSWY9XCIhYWxsVGVtcGxhdGU/Lmxlbmd0aFwiXG4gICAgICAgICAgICAgIFtub0RhdGFJbWFnZV09XCJOT19EQVRBX0ZPVU5EX0lNQUdFXCJcbiAgICAgICAgICAgICAgW25vRGF0YVRleHRdPVwiTk9fREFUQV9GT1VORF9NRVNTQUdFXCJcbiAgICAgICAgICAgID48L2FwcC1uby1kYXRhPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8YXBwLWZsb2F0aW5nLWJhclxuICAgICAgICAoY2xvc2VFdmVudCk9XCJzYXZlKClcIlxuICAgICAgICAoY2xvc2VMaXN0KT1cImNsb3NlKClcIlxuICAgICAgICBbaXNEaXNhYmxlZF09XCJzZWxlY3RlZFRlbXBsYXRlPy5sZW5ndGggPT09IDBcIlxuICAgICAgICBbc2VsZWN0ZWREYXRhXT1cInNlbGVjdGVkVGVtcGxhdGVcIlxuICAgICAgICBbZGlzcGxheUVsZW1lbnRLZXldPVwiJ25hbWUnXCJcbiAgICAgICAgW3Npbmd1bGFyVGV4dF09XCInVGVtcGxhdGUgU2VsZWN0ZWQnXCJcbiAgICAgICAgKGRlbGV0ZUV2ZW50KT1cImRlbGV0ZUV2ZW50KClcIlxuICAgICAgPlxuICAgICAgPC9hcHAtZmxvYXRpbmctYmFyPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzUHJldmlld1wiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2VsZWN0LXRlbXBsYXRlLWxpc3QtaGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXBsLTQgdngtcHItNFwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAoY2xpY2spPVwib25DbG9zZVByZXZpZXcoKVwiXG4gICAgICAgIGNsYXNzPVwicHJldmlld0J0biB2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiXG4gICAgICA+XG4gICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgdngtbXItMVwiPiYjeGU5MWQ7PC9pPlByZXZpZXdcbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInRlbXBsYXRlLW5hbWUgdngtZnMtMTQgdngtbWwtMVwiXG4gICAgICAgIFthcHBUb29sdGlwXT1cInByZXZpZXdUZW1wbGF0ZT8ubmFtZVwiXG4gICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgPlxuICAgICAgICB7eyBwcmV2aWV3VGVtcGxhdGU/Lm5hbWUgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LXRlbXBsYXRlLWJvZHkgdngtZC1mbGV4IHZ4LWp1c3RpZnktY2VudGVyXCI+XG4gICAgICA8YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJsb2FkZXJcIj48L2FwcC1sb2FkZXItaW5saW5lPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWxvYWRlclwiIGNsYXNzPVwicHJldmlldy10ZW1wbGF0ZS1ib2R5LWlubmVyXCI+XG4gICAgICAgIDxuZ3gtZG9jLXZpZXdlclxuICAgICAgICAgIFt1cmxdPVwiZmlsZVVybFwiXG4gICAgICAgICAgdmlld2VyPVwib2ZmaWNlXCJcbiAgICAgICAgICBzdHlsZT1cIndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IG1hcmdpbjogMFwiXG4gICAgICAgICAgZGlzYWJsZUNvbnRlbnQ9XCJwb3BvdXQtaGlkZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZ3gtZG9jLXZpZXdlcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|