vcomply-workflow-engine 6.0.42 → 6.0.43

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.
Files changed (17) hide show
  1. package/esm2022/lib/report-a-case/components/rc-details/rc-details.component.mjs +7 -5
  2. package/esm2022/lib/sharedComponents/policy-template/policy-template.module.mjs +5 -5
  3. package/esm2022/lib/sharedComponents/policy-template/select-template-list/select-template-list.component.mjs +10 -19
  4. package/esm2022/lib/sharedComponents/policy-template/template-list-table/template-list-table.component.mjs +9 -3
  5. package/esm2022/lib/workflow-engine-container/workflow-engine-container.component.mjs +11 -1
  6. package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +3 -3
  7. package/fesm2022/vcomply-workflow-engine.mjs +39 -132
  8. package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
  9. package/lib/sharedComponents/policy-template/policy-template.module.d.ts +2 -2
  10. package/lib/sharedComponents/policy-template/select-template-list/select-template-list.component.d.ts +3 -3
  11. package/lib/sharedComponents/policy-template/template-list-table/template-list-table.component.d.ts +6 -3
  12. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +2 -0
  13. package/package.json +1 -1
  14. package/esm2022/lib/sharedComponents/policy-template/view-policy/view-policy/view-policy.component.mjs +0 -93
  15. package/esm2022/lib/sharedComponents/policy-template/view-policy/view-policy.module.mjs +0 -19
  16. package/lib/sharedComponents/policy-template/view-policy/view-policy/view-policy.component.d.ts +0 -25
  17. 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?.value === rc?.rc_id))
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 === rc?._id)
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.getResponsibilityCentersList();
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmMtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9yZXBvcnQtYS1jYXNlL2NvbXBvbmVudHMvcmMtZGV0YWlscy9yYy1kZXRhaWxzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUliLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixjQUFjLEVBQ2QsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixjQUFjLEdBQ2YsTUFBTSx1Q0FBdUMsQ0FBQztBQUcvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7OztBQWlJakUsTUFBTSxPQUFPLGtCQUFrQjtJQWlDN0IsSUFBYSxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxFQUFFLEdBQUcsQ0FBQztRQUVoQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxFQUFFLFVBQVUsQ0FBQztRQUM3QyxJQUFJLEtBQUssRUFBRSxVQUFVLEVBQUU7WUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDO1NBQzVDO0lBRUgsQ0FBQztJQVFELFlBQW9CLGlCQUEwQztRQUExQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXlCO1FBaEQ5RCxXQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxXQUFXLENBQUM7UUFDdEIsYUFBUSxHQUFHLE1BQU0sQ0FBQztRQUNsQiw4QkFBeUIsR0FBVSxFQUFFLENBQUM7UUFDdEMsaUJBQVksR0FBUTtZQUNsQixH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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwSFQ7OEdBZ0NRLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNPLGdCQUFnQjtzQkFBNUIsS0FBSztnQkFTRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQVNTRVRTIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2Fzc2Vzc3RzLmNvbnN0YW50cyc7XG5pbXBvcnQge1xuICBBQ1RJT05fQ09ERSxcbiAgREVGQVVMVF9GT1JNX0NPTkZJRyxcbiAgRklFTERfU0VMRUNUT1IsXG4gIFJFUE9SVF9DQVNFLFxuICBTZWxlY3Rpb25Qb3B1cFN0YXRlLFxuICBTZWxlY3Rpb25TdGF0ZSxcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3JlcG9ydC1jYXNlLmNvbnN0YW50cyc7XG5cbmltcG9ydCB7IENvbXBsaWFuY2VDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvY29tbW9uLXdvcmtmbG93LXNlcnZpY2VzL2NvbXBsaWFuY2UtY29tbW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgcmVwb3J0IH0gZnJvbSAnLi4vY2FzZS10eXBlLXNsaWRlci9jYXNlLXR5cGUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXJjLWRldGFpbHMnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxhcHAtZmllbGQtaG9sZGVyXG4gICAgICBbaW1hZ2VdPVwiQVNTRVRTLnJlc3BvbnNpYmlsaXR5X2NlbnRlclwiXG4gICAgICBbYWN0aXZlXT1cInJjQ2xpY2tlZFwiXG4gICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgIGZpZWxkU2VsZWN0b3I/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 { ViewPolicyModule } from './view-policy/view-policy.module';
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
- ViewPolicyModule], exports: [TemplateListTableComponent, SelectTemplateListComponent] }); }
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
- ViewPolicyModule] }); }
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
- ViewPolicyModule,
60
+ NgxDocViewerModule,
61
61
  ],
62
62
  exports: [TemplateListTableComponent, SelectTemplateListComponent],
63
63
  }]
64
64
  }] });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5LXRlbXBsYXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvcG9saWN5LXRlbXBsYXRlL3BvbGljeS10ZW1wbGF0ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQW9CcEUsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO2dIQUFwQixvQkFBb0IsaUJBakJoQiwwQkFBMEIsRUFBRSwyQkFBMkIsYUFFcEUsWUFBWTtZQUNaLGFBQWE7WUFDYixhQUFhO1lBQ2IsWUFBWTtZQUNaLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUNuQixXQUFXO1lBQ1gsV0FBVztZQUNYLGVBQWU7WUFDZixnQkFBZ0IsYUFFUiwwQkFBMEIsRUFBRSwyQkFBMkI7Z0hBRXRELG9CQUFvQixZQWY3QixZQUFZO1lBQ1osYUFBYTtZQUNiLGFBQWE7WUFDYixZQUFZO1lBQ1osYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLFdBQVc7WUFDWCxXQUFXO1lBQ1gsZUFBZTtZQUNmLGdCQUFnQjs7NEZBSVAsb0JBQW9CO2tCQWxCaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSwyQkFBMkIsQ0FBQztvQkFDdkUsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixhQUFhO3dCQUNiLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixnQkFBZ0I7cUJBQ2pCO29CQUNELE9BQU8sRUFBRSxDQUFDLDBCQUEwQixFQUFFLDJCQUEyQixDQUFDO2lCQUNuRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGVtcGxhdGVMaXN0VGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RlbXBsYXRlLWxpc3QtdGFibGUvdGVtcGxhdGUtbGlzdC10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0VGVtcGxhdGVMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QtdGVtcGxhdGUtbGlzdC9zZWxlY3QtdGVtcGxhdGUtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4uLy4uL3VpLWtpdC90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICcuLi8uLi91aS1raXQvcG9wb3Zlci9wb3BvdmVyLm1vZHVsZSc7XG5pbXBvcnQgeyBOb0RhdGFNb2R1bGUgfSBmcm9tICcuLi9uby1kYXRhL25vLWRhdGEubW9kdWxlJztcbmltcG9ydCB7IFZMb2FkZXJNb2R1bGUgfSBmcm9tICcuLi92LWxvYWRlci92LWxvYWRlci5tb2R1bGUnO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3RNb2R1bGUgfSBmcm9tICcuLi8uLi91aS1raXQvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5tb2R1bGUnO1xuaW1wb3J0IHsgRmxvYXRpbmdCYXJNb2R1bGUgfSBmcm9tICcuLi9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLm1vZHVsZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBpcGVzTW9kdWxlIH0gZnJvbSAnLi90ZW1wbGF0ZS1waXBlcy90ZW1wbGF0ZS1waXBlcy5tb2R1bGUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQaXBlc01vZHVsZSB9IGZyb20gJy4uLy4uL3BpcGVzL3BpcGVzLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3JtZ3JvdXBNb2R1bGUgfSBmcm9tICcuLi8uLi9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XG5pbXBvcnQgeyBWaWV3UG9saWN5TW9kdWxlIH0gZnJvbSAnLi92aWV3LXBvbGljeS92aWV3LXBvbGljeS5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtUZW1wbGF0ZUxpc3RUYWJsZUNvbXBvbmVudCwgU2VsZWN0VGVtcGxhdGVMaXN0Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUb29sdGlwTW9kdWxlLFxuICAgIFBvcG92ZXJNb2R1bGUsXG4gICAgTm9EYXRhTW9kdWxlLFxuICAgIFZMb2FkZXJNb2R1bGUsXG4gICAgTXVsdGlTZWxlY3RNb2R1bGUsXG4gICAgRmxvYXRpbmdCYXJNb2R1bGUsXG4gICAgVGVtcGxhdGVQaXBlc01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBQaXBlc01vZHVsZSxcbiAgICBGb3JtZ3JvdXBNb2R1bGUsXG4gICAgVmlld1BvbGljeU1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1RlbXBsYXRlTGlzdFRhYmxlQ29tcG9uZW50LCBTZWxlY3RUZW1wbGF0ZUxpc3RDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBQb2xpY3lUZW1wbGF0ZU1vZHVsZSB7fVxuIl19
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5LXRlbXBsYXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvcG9saWN5LXRlbXBsYXRlL3BvbGljeS10ZW1wbGF0ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQW9CcEQsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO2dIQUFwQixvQkFBb0IsaUJBakJoQiwwQkFBMEIsRUFBRSwyQkFBMkIsYUFFcEUsWUFBWTtZQUNaLGFBQWE7WUFDYixhQUFhO1lBQ2IsWUFBWTtZQUNaLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUNuQixXQUFXO1lBQ1gsV0FBVztZQUNYLGVBQWU7WUFDZixrQkFBa0IsYUFFViwwQkFBMEIsRUFBRSwyQkFBMkI7Z0hBRXRELG9CQUFvQixZQWY3QixZQUFZO1lBQ1osYUFBYTtZQUNiLGFBQWE7WUFDYixZQUFZO1lBQ1osYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLFdBQVc7WUFDWCxXQUFXO1lBQ1gsZUFBZTtZQUNmLGtCQUFrQjs7NEZBSVQsb0JBQW9CO2tCQWxCaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSwyQkFBMkIsQ0FBQztvQkFDdkUsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixhQUFhO3dCQUNiLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRSxDQUFDLDBCQUEwQixFQUFFLDJCQUEyQixDQUFDO2lCQUNuRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGVtcGxhdGVMaXN0VGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RlbXBsYXRlLWxpc3QtdGFibGUvdGVtcGxhdGUtbGlzdC10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0VGVtcGxhdGVMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QtdGVtcGxhdGUtbGlzdC9zZWxlY3QtdGVtcGxhdGUtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4uLy4uL3VpLWtpdC90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICcuLi8uLi91aS1raXQvcG9wb3Zlci9wb3BvdmVyLm1vZHVsZSc7XG5pbXBvcnQgeyBOb0RhdGFNb2R1bGUgfSBmcm9tICcuLi9uby1kYXRhL25vLWRhdGEubW9kdWxlJztcbmltcG9ydCB7IFZMb2FkZXJNb2R1bGUgfSBmcm9tICcuLi92LWxvYWRlci92LWxvYWRlci5tb2R1bGUnO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3RNb2R1bGUgfSBmcm9tICcuLi8uLi91aS1raXQvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5tb2R1bGUnO1xuaW1wb3J0IHsgRmxvYXRpbmdCYXJNb2R1bGUgfSBmcm9tICcuLi9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLm1vZHVsZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBpcGVzTW9kdWxlIH0gZnJvbSAnLi90ZW1wbGF0ZS1waXBlcy90ZW1wbGF0ZS1waXBlcy5tb2R1bGUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQaXBlc01vZHVsZSB9IGZyb20gJy4uLy4uL3BpcGVzL3BpcGVzLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3JtZ3JvdXBNb2R1bGUgfSBmcm9tICcuLi8uLi9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XG5pbXBvcnQgeyBOZ3hEb2NWaWV3ZXJNb2R1bGUgfSBmcm9tICduZ3gtZG9jLXZpZXdlcic7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1RlbXBsYXRlTGlzdFRhYmxlQ29tcG9uZW50LCBTZWxlY3RUZW1wbGF0ZUxpc3RDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgUG9wb3Zlck1vZHVsZSxcbiAgICBOb0RhdGFNb2R1bGUsXG4gICAgVkxvYWRlck1vZHVsZSxcbiAgICBNdWx0aVNlbGVjdE1vZHVsZSxcbiAgICBGbG9hdGluZ0Jhck1vZHVsZSxcbiAgICBUZW1wbGF0ZVBpcGVzTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFBpcGVzTW9kdWxlLFxuICAgIEZvcm1ncm91cE1vZHVsZSxcbiAgICBOZ3hEb2NWaWV3ZXJNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtUZW1wbGF0ZUxpc3RUYWJsZUNvbXBvbmVudCwgU2VsZWN0VGVtcGxhdGVMaXN0Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgUG9saWN5VGVtcGxhdGVNb2R1bGUge31cbiJdfQ==
@@ -12,13 +12,14 @@ import * as i7 from "../../../ui-kit/multi-select/cs-multiselect/cs-multiselect.
12
12
  import * as i8 from "../../../ui-kit/multi-select/cs-multiselect-option/cs-multiselect-option.component";
13
13
  import * as i9 from "../../floating-bar/floating-bar.component";
14
14
  import * as i10 from "@angular/forms";
15
- import * as i11 from "../view-policy/view-policy/view-policy.component";
15
+ import * as i11 from "ngx-doc-viewer";
16
16
  import * as i12 from "../template-list-table/template-list-table.component";
17
17
  import * as i13 from "../template-pipes/search-template.pipe";
18
18
  export class SelectTemplateListComponent {
19
19
  constructor(templateService, policyService) {
20
20
  this.templateService = templateService;
21
21
  this.policyService = policyService;
22
+ this.fileUrl = '';
22
23
  this.animation = false;
23
24
  this.defaultTemplates = [];
24
25
  this.customTemplates = null;
@@ -36,7 +37,6 @@ export class SelectTemplateListComponent {
36
37
  this.NO_DATA_FOUND_MESSAGE = NO_DATA_FOUND_MESSAGE;
37
38
  this.selectedTemplate = [];
38
39
  this.isPreview = false;
39
- this.docData = null;
40
40
  this.selectedCategoryId = [];
41
41
  this.onTemplateSelect = new EventEmitter();
42
42
  }
@@ -174,35 +174,26 @@ export class SelectTemplateListComponent {
174
174
  this.selectedTemplate = [];
175
175
  }
176
176
  onPreview(details) {
177
- this.loader = true;
178
- this.getPreviewData(details?._id);
177
+ this.loader = false;
178
+ this.isPreview = true;
179
179
  this.previewTemplate = details;
180
+ this.fileUrl = details?.s3DocxPath;
180
181
  }
181
182
  onClosePreview() {
182
183
  this.isPreview = false;
183
- this.docData = null;
184
184
  this.previewTemplate = null;
185
185
  }
186
- getPreviewData(templateId) {
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
186
  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\">&#xe90b;</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\">&#xe91d;</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" }] }); }
187
+ 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\">&#xe90b;</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\">&#xe91d;</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: 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.NgxDocViewerComponent, selector: "ngx-doc-viewer", inputs: ["url", "queryParams", "viewerUrl", "googleCheckInterval", "googleMaxChecks", "disableContent", "googleCheckContentLoaded", "viewer", "overrideLocalhost"], outputs: ["loaded"] }, { kind: "component", type: i12.TemplateListTableComponent, selector: "app-template-list-table", inputs: ["selectedTemplate", "templateList", "loader", "categoryList", "feature"], outputs: ["onSort", "onSelectTemplate", "onPreview"] }, { kind: "pipe", type: i13.SearchByKeysPipe, name: "SearchByKeys" }] }); }
199
188
  }
200
189
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectTemplateListComponent, decorators: [{
201
190
  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\">&#xe90b;</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\">&#xe91d;</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"] }]
191
+ 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\">&#xe90b;</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\">&#xe91d;</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"] }]
203
192
  }], ctorParameters: function () { return [{ type: i1.TemplateService }, { type: i2.PolicyService }]; }, propDecorators: { selectedCategoryId: [{
204
193
  type: Input
194
+ }], feature: [{
195
+ type: Input
205
196
  }], onTemplateSelect: [{
206
197
  type: Output
207
198
  }] } });
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9wb2xpY3ktdGVtcGxhdGUvc2VsZWN0LXRlbXBsYXRlLWxpc3Qvc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9wb2xpY3ktdGVtcGxhdGUvc2VsZWN0LXRlbXBsYXRlLWxpc3Qvc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIscUJBQXFCLEdBQ3RCLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVF4QyxNQUFNLE9BQU8sMkJBQTJCO0lBd0J0QyxZQUNVLGVBQWdDLEVBQ2hDLGFBQTRCO1FBRDVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXpCdEMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixxQkFBZ0IsR0FBVSxFQUFFLENBQUM7UUFDN0Isb0JBQWUsR0FBaUIsSUFBSSxDQUFDO1FBQ3JDLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxTQUFTLENBQUM7UUFDdkIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQUN6Qix3QkFBbUIsR0FBVSxFQUFFLENBQUM7UUFDaEMsNEJBQXVCLEdBQVUsRUFBRSxDQUFDO1FBQ3BDLGVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNoQixtQkFBYyxHQUFXLEVBQUUsQ0FBQztRQUM1QixtQkFBYyxHQUFXLEVBQUUsQ0FBQztRQUM1QixxQkFBZ0IsR0FBVSxFQUFFLENBQUM7UUFDN0Isd0JBQW1CLEdBQUcsbUJBQW1CLENBQUM7UUFDMUMsMEJBQXFCLEdBQUcscUJBQXFCLENBQUM7UUFDOUMscUJBQWdCLEdBQVUsRUFBRSxDQUFDO1FBQzdCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsWUFBTyxHQUFlLElBQUksQ0FBQztRQUdsQix1QkFBa0IsR0FBYSxFQUFFLENBQUM7UUFDakMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUtsRCxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDekIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFXO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDM0IsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1NBQzlDO2FBQU07WUFDTCxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssSUFBSSxFQUFFO2dCQUNqQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQzthQUMzQjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDO2FBQ2xEO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLE1BQU0sT0FBTyxHQUFHO1lBQ2QsSUFBSSxFQUFFLFFBQVE7WUFDZCxVQUFVLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FDckMsQ0FBQyxRQUFhLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQ3BDO1NBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ2xFLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxFQUFFLFNBQVMsSUFBSSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQzVELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQzdELENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ1gsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDMUQsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ25DLE9BQU87b0JBQ0wsR0FBRyxHQUFHO29CQUNOLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQztvQkFDOUIsWUFBWSxFQUFFLEdBQUcsRUFBRSxZQUFZLENBQUMsT0FBTyxFQUFFO2lCQUMxQyxDQUFDO1lBQ0osQ0FBQyxDQUNGLENBQUM7WUFDRixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtvQkFDaEUsT0FBTzt3QkFDTCxHQUFHLFFBQVE7d0JBQ1gsZUFBZSxFQUFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQ2xELENBQUMsUUFBYSxFQUFFLEVBQUUsQ0FDaEIsUUFBUSxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUNuRDtxQkFDRixDQUFDO2dCQUNKLENBQUMsQ0FBQyxDQUFDO2FBQ0o7WUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDN0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FDN0MsQ0FBQyxRQUFhLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQ3BDLENBQUM7WUFDRixJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FDaEUsQ0FBQyxRQUFhLEVBQUUsRUFBRSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUMzRCxDQUFDO1lBQ0YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLE1BQU0sT0FBTyxHQUFHO1lBQ2QsSUFBSSxFQUFFLFNBQVM7U0FDaEIsQ0FBQztRQUNGLFFBQVEsQ0FBQztZQUNQLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQztZQUM1QyxJQUFJLENBQUMsZUFBZSxDQUFDLHNCQUFzQixFQUFFO1NBQzlDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUN4QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQztZQUMxQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7WUFFM0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7WUFDMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDbEUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFLENBQ2pFLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FDakQsQ0FBQztZQUNGLE9BQU87Z0JBQ0wsR0FBRyxRQUFRO2dCQUNYLGVBQWUsRUFBRSxRQUFRO2FBQzFCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBVztRQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FDaEQsSUFBSSxDQUFDLFlBQVksRUFDakIsR0FBRyxFQUNILElBQUksQ0FBQyxVQUFVLENBQ2hCLENBQUM7SUFDSixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsUUFBYSxFQUFFLEtBQVU7UUFDeEMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtZQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUMvQzthQUFNO1lBQ0wsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQ2xELENBQUMsRUFBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssUUFBUSxFQUFFLE9BQU8sQ0FDdEMsQ0FBQztTQUNIO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxhQUFhLENBQUMsS0FBVTtRQUN0QixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztZQUMzQixPQUFPO1NBQ1I7UUFDRCxJQUFJLGdCQUFnQixHQUNsQixJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVM7WUFDM0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDO1FBQ2pDLGdCQUFnQixHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDbEQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLGdCQUFnQixDQUFDO1lBQ3JDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDNUQsT0FBTyxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQzVDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQ25DLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxRQUFhO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBWTtRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQztJQUNqQyxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxjQUFjLENBQUMsVUFBZTtRQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM1RCxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDWixNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsR0FBRyxDQUFDO2dCQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztnQkFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOytHQTFOVSwyQkFBMkI7bUdBQTNCLDJCQUEyQix5S0NkeEMsbXNKQW1JQTs7NEZEckhhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwwQkFBMEI7a0lBeUIzQixrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRlbXBsYXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RlbXBsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIE5PX0RBVEFfRk9VTkRfSU1BR0UsXG4gIE5PX0RBVEFfRk9VTkRfTUVTU0FHRSxcbn0gZnJvbSAnLi4vY29uc3RhbnRzL3RlbXBsYXRlLmNvbnN0YW50JztcbmltcG9ydCB7IFBvbGljeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9wb2xpY3kuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1zZWxlY3QtdGVtcGxhdGUtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtdGVtcGxhdGUtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC10ZW1wbGF0ZS1saXN0LmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdFRlbXBsYXRlTGlzdENvbXBvbmVudCB7XG4gIGFuaW1hdGlvbiA9IGZhbHNlO1xuICBkZWZhdWx0VGVtcGxhdGVzOiBhbnlbXSA9IFtdO1xuICBjdXN0b21UZW1wbGF0ZXM6IGFueVtdIHwgbnVsbCA9IG51bGw7XG4gIHRlbXBsYXRlTGlzdDogYW55W10gPSBbXTtcbiAgY3VycmVudFRhYiA9ICdWQ09NUExZJztcbiAgbG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIGNhdGVnb3J5TGlzdDogYW55W10gPSBbXTtcbiAgZGVmYXVsdENhdGVnb3J5TGlzdDogYW55W10gPSBbXTtcbiAgdXNlckNyZWF0ZWRDYXRlZ29yeUxpc3Q6IGFueVtdID0gW107XG4gIHNvcnRTdGF0dXMgPSAtMTtcbiAgc2VhcmNoQ2F0ZWdvcnk6IHN0cmluZyA9ICcnO1xuICBzZWFyY2hUZW1wbGF0ZTogc3RyaW5nID0gJyc7XG4gIHNlbGVjdGVkQ2F0ZWdvcnk6IGFueVtdID0gW107XG4gIE5PX0RBVEFfRk9VTkRfSU1BR0UgPSBOT19EQVRBX0ZPVU5EX0lNQUdFO1xuICBOT19EQVRBX0ZPVU5EX01FU1NBR0UgPSBOT19EQVRBX0ZPVU5EX01FU1NBR0U7XG4gIHNlbGVjdGVkVGVtcGxhdGU6IGFueVtdID0gW107XG4gIGlzUHJldmlldyA9IGZhbHNlO1xuICBkb2NEYXRhOiBhbnkgfCBudWxsID0gbnVsbDtcbiAgcHJldmlld1RlbXBsYXRlOiBhbnk7XG5cbiAgQElucHV0KCkgc2VsZWN0ZWRDYXRlZ29yeUlkOiBudW1iZXJbXSA9IFtdO1xuICBAT3V0cHV0KCkgb25UZW1wbGF0ZVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGVtcGxhdGVTZXJ2aWNlOiBUZW1wbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwb2xpY3lTZXJ2aWNlOiBQb2xpY3lTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEFuaW1hdGlvbigpO1xuICAgIHRoaXMuZ2V0VGVtcGxhdGUoKTtcbiAgfVxuXG4gIHNldEFuaW1hdGlvbigpIHtcbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xuICAgIH0sIDMwMCk7XG4gIH1cblxuICBzd2l0Y2hUYWIodGFiOiBzdHJpbmcpIHtcbiAgICB0aGlzLmN1cnJlbnRUYWIgPSB0YWI7XG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5ID0gW107XG4gICAgaWYgKHRhYiA9PT0gJ1ZDT01QTFknKSB7XG4gICAgICB0aGlzLnRlbXBsYXRlTGlzdCA9IFsuLi50aGlzLmRlZmF1bHRUZW1wbGF0ZXNdO1xuICAgICAgdGhpcy5jYXRlZ29yeUxpc3QgPSB0aGlzLmRlZmF1bHRDYXRlZ29yeUxpc3Q7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmN1c3RvbVRlbXBsYXRlcyA9PT0gbnVsbCkge1xuICAgICAgICB0aGlzLmdldEN1c3RvbVRlbXBsYXRlcygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUxpc3QgPSBbLi4udGhpcy5jdXN0b21UZW1wbGF0ZXNdO1xuICAgICAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3Q7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0Q3VzdG9tVGVtcGxhdGVzKCkge1xuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgdHlwZTogJ2N1c3RvbScsXG4gICAgICBjYXRlZ29yeUlkOiB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZC5tYXAoXG4gICAgICAgIChjYXRlZ29yeTogYW55KSA9PiBjYXRlZ29yeS5pdGVtX2lkXG4gICAgICApLFxuICAgIH07XG4gICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZmV0Y2hUZW1wbGF0ZXMocGF5bG9hZCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgdGhpcy5jdXN0b21UZW1wbGF0ZXMgPSByZXM/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==
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9wb2xpY3ktdGVtcGxhdGUvc2VsZWN0LXRlbXBsYXRlLWxpc3Qvc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9wb2xpY3ktdGVtcGxhdGUvc2VsZWN0LXRlbXBsYXRlLWxpc3Qvc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIscUJBQXFCLEdBQ3RCLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVF4QyxNQUFNLE9BQU8sMkJBQTJCO0lBeUJ0QyxZQUNVLGVBQWdDLEVBQ2hDLGFBQTRCO1FBRDVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQTFCdEMsWUFBTyxHQUFXLEVBQUUsQ0FBQTtRQUNwQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLHFCQUFnQixHQUFVLEVBQUUsQ0FBQztRQUM3QixvQkFBZSxHQUFpQixJQUFJLENBQUM7UUFDckMsaUJBQVksR0FBVSxFQUFFLENBQUM7UUFDekIsZUFBVSxHQUFHLFNBQVMsQ0FBQztRQUN2QixXQUFNLEdBQVksS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQVUs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M0IsMkJBQTJCLDZMQ2R4QyxtM0pBMElBOzs0RkQ1SGEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLDBCQUEwQjtrSUF5QjNCLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRlbXBsYXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RlbXBsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIE5PX0RBVEFfRk9VTkRfSU1BR0UsXG4gIE5PX0RBVEFfRk9VTkRfTUVTU0FHRSxcbn0gZnJvbSAnLi4vY29uc3RhbnRzL3RlbXBsYXRlLmNvbnN0YW50JztcbmltcG9ydCB7IFBvbGljeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9wb2xpY3kuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1zZWxlY3QtdGVtcGxhdGUtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtdGVtcGxhdGUtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC10ZW1wbGF0ZS1saXN0LmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdFRlbXBsYXRlTGlzdENvbXBvbmVudCB7XG4gIGZpbGVVcmw6IHN0cmluZyA9ICcnXG4gIGFuaW1hdGlvbiA9IGZhbHNlO1xuICBkZWZhdWx0VGVtcGxhdGVzOiBhbnlbXSA9IFtdO1xuICBjdXN0b21UZW1wbGF0ZXM6IGFueVtdIHwgbnVsbCA9IG51bGw7XG4gIHRlbXBsYXRlTGlzdDogYW55W10gPSBbXTtcbiAgY3VycmVudFRhYiA9ICdWQ09NUExZJztcbiAgbG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIGNhdGVnb3J5TGlzdDogYW55W10gPSBbXTtcbiAgZGVmYXVsdENhdGVnb3J5TGlzdDogYW55W10gPSBbXTtcbiAgdXNlckNyZWF0ZWRDYXRlZ29yeUxpc3Q6IGFueVtdID0gW107XG4gIHNvcnRTdGF0dXMgPSAtMTtcbiAgc2VhcmNoQ2F0ZWdvcnk6IHN0cmluZyA9ICcnO1xuICBzZWFyY2hUZW1wbGF0ZTogc3RyaW5nID0gJyc7XG4gIHNlbGVjdGVkQ2F0ZWdvcnk6IGFueVtdID0gW107XG4gIE5PX0RBVEFfRk9VTkRfSU1BR0UgPSBOT19EQVRBX0ZPVU5EX0lNQUdFO1xuICBOT19EQVRBX0ZPVU5EX01FU1NBR0UgPSBOT19EQVRBX0ZPVU5EX01FU1NBR0U7XG4gIHNlbGVjdGVkVGVtcGxhdGU6IGFueVtdID0gW107XG4gIGlzUHJldmlldyA9IGZhbHNlO1xuICBwcmV2aWV3VGVtcGxhdGU6IGFueTtcblxuICBASW5wdXQoKSBzZWxlY3RlZENhdGVnb3J5SWQ6IG51bWJlcltdID0gW107XG4gIEBJbnB1dCgpIGZlYXR1cmU6IGFueTtcbiAgQE91dHB1dCgpIG9uVGVtcGxhdGVTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRlbXBsYXRlU2VydmljZTogVGVtcGxhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcG9saWN5U2VydmljZTogUG9saWN5U2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRBbmltYXRpb24oKTtcbiAgICB0aGlzLmdldFRlbXBsYXRlKCk7XG4gIH1cblxuICBzZXRBbmltYXRpb24oKSB7XG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcbiAgICB9LCAzMDApO1xuICB9XG5cbiAgc3dpdGNoVGFiKHRhYjogc3RyaW5nKSB7XG4gICAgdGhpcy5jdXJyZW50VGFiID0gdGFiO1xuICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSA9IFtdO1xuICAgIGlmICh0YWIgPT09ICdWQ09NUExZJykge1xuICAgICAgdGhpcy50ZW1wbGF0ZUxpc3QgPSBbLi4udGhpcy5kZWZhdWx0VGVtcGxhdGVzXTtcbiAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0ID0gdGhpcy5kZWZhdWx0Q2F0ZWdvcnlMaXN0O1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5jdXN0b21UZW1wbGF0ZXMgPT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5nZXRDdXN0b21UZW1wbGF0ZXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVMaXN0ID0gWy4uLnRoaXMuY3VzdG9tVGVtcGxhdGVzXTtcbiAgICAgICAgdGhpcy5jYXRlZ29yeUxpc3QgPSB0aGlzLnVzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldEN1c3RvbVRlbXBsYXRlcygpIHtcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgIHR5cGU6ICdjdXN0b20nLFxuICAgICAgY2F0ZWdvcnlJZDogdGhpcy5zZWxlY3RlZENhdGVnb3J5SWQubWFwKFxuICAgICAgICAoY2F0ZWdvcnk6IGFueSkgPT4gY2F0ZWdvcnkuaXRlbV9pZFxuICAgICAgKSxcbiAgICB9O1xuICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlLmZldGNoVGVtcGxhdGVzKHBheWxvYWQpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuY3VzdG9tVGVtcGxhdGVzID0gcmVzPy50ZW1wbGF0ZXMgPz8gW107XG4gICAgICB0aGlzLm1hcEN1c3RvbVRlbXBsYXRlKCk7XG4gICAgfSk7XG4gIH1cblxuICBtYXBDdXN0b21UZW1wbGF0ZSgpIHtcbiAgICB0aGlzLnBvbGljeVNlcnZpY2UuZ2V0Q2F0ZWdvcmllc0xpc3QoKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICB0aGlzLnVzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0ID0gWy4uLnJlc107XG4gICAgICB0aGlzLnVzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0ID0gdGhpcy51c2VyQ3JlYXRlZENhdGVnb3J5TGlzdC5tYXAoXG4gICAgICAgIChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHBhcmVudEl0ZW1zID0gWy4uLm5ldyBTZXQocmVzPy5wYXJlbnRfaXRlbXMgPz8gW10pXTtcbiAgICAgICAgICBwYXJlbnRJdGVtcy51bnNoaWZ0KHJlcy5pdGVtX25hbWUpO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5yZXMsXG4gICAgICAgICAgICBuYW1lOiBwYXJlbnRJdGVtcz8uam9pbignIDwgJyksXG4gICAgICAgICAgICBwYXJlbnRfaXRlbXM6IHJlcz8ucGFyZW50X2l0ZW1zLnJldmVyc2UoKSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICApO1xuICAgICAgaWYgKHRoaXMuY3VzdG9tVGVtcGxhdGVzKSB7XG4gICAgICAgIHRoaXMuY3VzdG9tVGVtcGxhdGVzID0gdGhpcy5jdXN0b21UZW1wbGF0ZXMubWFwKCh0ZW1wbGF0ZTogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnRlbXBsYXRlLFxuICAgICAgICAgICAgY2F0ZWdvcnlEZXRhaWxzOiB0aGlzLnVzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0LmZpbHRlcihcbiAgICAgICAgICAgICAgKGNhdGVnb3J5OiBhbnkpID0+XG4gICAgICAgICAgICAgICAgdGVtcGxhdGU/LmNhdGVnb3J5SWQ/LmluY2x1ZGVzKGNhdGVnb3J5Lml0ZW1faWQpXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgdGhpcy50ZW1wbGF0ZUxpc3QgPSBbLi4ubmV3IFNldCh0aGlzLmN1c3RvbVRlbXBsYXRlcyA/PyBbXSldO1xuICAgICAgY29uc3QgY2F0ZWdvcnlJZHMgPSB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZC5tYXAoXG4gICAgICAgIChjYXRlZ29yeTogYW55KSA9PiBjYXRlZ29yeS5pdGVtX2lkXG4gICAgICApO1xuICAgICAgdGhpcy51c2VyQ3JlYXRlZENhdGVnb3J5TGlzdCA9IHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3QuZmlsdGVyKFxuICAgICAgICAoY2F0ZWdvcnk6IGFueSkgPT4gY2F0ZWdvcnlJZHM/LmluY2x1ZGVzKGNhdGVnb3J5Lml0ZW1faWQpXG4gICAgICApO1xuICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcbiAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0ID0gdGhpcy51c2VyQ3JlYXRlZENhdGVnb3J5TGlzdDtcbiAgICB9KTtcbiAgfVxuXG4gIGdldFRlbXBsYXRlKCkge1xuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgdHlwZTogJ2RlZmF1bHQnLFxuICAgIH07XG4gICAgZm9ya0pvaW4oW1xuICAgICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZmV0Y2hUZW1wbGF0ZXMocGF5bG9hZCksXG4gICAgICB0aGlzLnRlbXBsYXRlU2VydmljZS5mZXRjaERlZmF1bHRDYXRlZ29yaWVzKCksXG4gICAgXSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgdGhpcy5kZWZhdWx0VGVtcGxhdGVzID0gcmVzWzBdPy50ZW1wbGF0ZXM7XG4gICAgICB0aGlzLmRlZmF1bHRDYXRlZ29yeUxpc3QgPSByZXNbMV07XG4gICAgICB0aGlzLm1hcERlZmF1bHRUZW1wbGF0ZSgpO1xuICAgICAgdGhpcy5jYXRlZ29yeUxpc3QgPSBbLi4ubmV3IFNldCh0aGlzLmRlZmF1bHRDYXRlZ29yeUxpc3QpXTtcblxuICAgICAgdGhpcy50ZW1wbGF0ZUxpc3QgPSB0aGlzLmRlZmF1bHRUZW1wbGF0ZXM7XG4gICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgbWFwRGVmYXVsdFRlbXBsYXRlKCkge1xuICAgIHRoaXMuZGVmYXVsdFRlbXBsYXRlcyA9IHRoaXMuZGVmYXVsdFRlbXBsYXRlcy5tYXAoKHRlbXBsYXRlOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IGNhdGVnb3J5ID0gdGhpcy5kZWZhdWx0Q2F0ZWdvcnlMaXN0LmZpbHRlcigoY2F0ZWdvcnk6IGFueSkgPT5cbiAgICAgICAgdGVtcGxhdGU/LmNhdGVnb3J5SWQ/LmluY2x1ZGVzKGNhdGVnb3J5Lml0ZW1faWQpXG4gICAgICApO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4udGVtcGxhdGUsXG4gICAgICAgIGNhdGVnb3J5RGV0YWlsczogY2F0ZWdvcnksXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgc29ydEJ5KGtleTogc3RyaW5nKSB7XG4gICAgdGhpcy5zb3J0U3RhdHVzID0gdGhpcy5zb3J0U3RhdHVzICogLTE7XG4gICAgdGhpcy50ZW1wbGF0ZUxpc3QgPSB0aGlzLnRlbXBsYXRlU2VydmljZS5zb3J0QnlLZXkoXG4gICAgICB0aGlzLnRlbXBsYXRlTGlzdCxcbiAgICAgIGtleSxcbiAgICAgIHRoaXMuc29ydFN0YXR1c1xuICAgICk7XG4gIH1cblxuICBvblNlbGVjdENhdGVnb3J5KGNhdGVnb3J5OiBhbnksIGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoZXZlbnQudGFyZ2V0LmNoZWNrZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeS5wdXNoKGNhdGVnb3J5Py5pdGVtX2lkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5ID0gdGhpcy5zZWxlY3RlZENhdGVnb3J5LmZpbHRlcihcbiAgICAgICAgKGlkOiBhbnkpID0+IGlkICE9PSBjYXRlZ29yeT8uaXRlbV9pZFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5ID0gWy4uLm5ldyBTZXQodGhpcy5zZWxlY3RlZENhdGVnb3J5KV07XG4gIH1cblxuICBvbkFwcGx5RmlsdGVyKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoIWV2ZW50KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkgPSBbXTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IHNlbGVjdGVkVGVtcGxhdGUgPVxuICAgICAgdGhpcy5jdXJyZW50VGFiID09PSAnVkNPTVBMWSdcbiAgICAgICAgPyB0aGlzLmRlZmF1bHRUZW1wbGF0ZXNcbiAgICAgICAgOiB0aGlzLmN1c3RvbVRlbXBsYXRlcyA/PyBbXTtcbiAgICBzZWxlY3RlZFRlbXBsYXRlID0gWy4uLm5ldyBTZXQoc2VsZWN0ZWRUZW1wbGF0ZSldO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLnRlbXBsYXRlTGlzdCA9IHNlbGVjdGVkVGVtcGxhdGU7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudGVtcGxhdGVMaXN0ID0gc2VsZWN0ZWRUZW1wbGF0ZS5maWx0ZXIoKHRlbXBsYXRlOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiB0ZW1wbGF0ZT8uY2F0ZWdvcnlJZD8uc29tZSgoaWQ6IGFueSkgPT5cbiAgICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5LmluY2x1ZGVzKGlkKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uU2VsZWN0VGVtcGxhdGUodGVtcGxhdGU6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRUZW1wbGF0ZSA9IFt0ZW1wbGF0ZV07XG4gIH1cblxuICBzYXZlKCkge1xuICAgIHRoaXMub25UZW1wbGF0ZVNlbGVjdC5lbWl0KHRoaXMuc2VsZWN0ZWRUZW1wbGF0ZSk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLm9uVGVtcGxhdGVTZWxlY3QuZW1pdChbXSk7XG4gIH1cblxuICBkZWxldGVFdmVudCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkVGVtcGxhdGUgPSBbXTtcbiAgfVxuXG4gIG9uUHJldmlldyhkZXRhaWxzOiBhbnkpIHtcbiAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xuICAgIHRoaXMuaXNQcmV2aWV3ID0gdHJ1ZTtcbiAgICB0aGlzLnByZXZpZXdUZW1wbGF0ZSA9IGRldGFpbHM7XG4gICAgdGhpcy5maWxlVXJsID0gZGV0YWlscz8uczNEb2N4UGF0aDtcbiAgfVxuXG4gIG9uQ2xvc2VQcmV2aWV3KCkge1xuICAgIHRoaXMuaXNQcmV2aWV3ID0gZmFsc2U7XG4gICAgdGhpcy5wcmV2aWV3VGVtcGxhdGUgPSBudWxsO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2VsZWN0LXRlbXBsYXRlLWxpc3RcIlxuICBbY2xhc3MuYW5pbWF0ZV09XCJhbmltYXRpb25cIlxuICBbY2xhc3Mud2l0aFByZXZpZXddPVwiaXNQcmV2aWV3XCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1ByZXZpZXdcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNlbGVjdC10ZW1wbGF0ZS1saXN0LWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtNCB2eC1wci00XCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPlNlbGVjdCBhIFRlbXBsYXRlPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNlbGVjdC10ZW1wbGF0ZS1saXN0LWJvZHlcIj5cbiAgICAgIDxhcHAtbG9hZGVyLWlubGluZSAqbmdJZj1cImxvYWRlclwiPjwvYXBwLWxvYWRlci1pbmxpbmU+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtdGVtcGxhdGUtbGlzdC10YWIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1tYi0yXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAoY2xpY2spPVwic3dpdGNoVGFiKCdWQ09NUExZJylcIlxuICAgICAgICAgIGNsYXNzPVwidGFiLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1wYi0yIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWxoLTRcIlxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiY3VycmVudFRhYiA9PT0gJ1ZDT01QTFknXCJcbiAgICAgICAgPlxuICAgICAgICAgIFZDT01QTFkgVEVNUExBVEVTXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKGNsaWNrKT1cInN3aXRjaFRhYignVVNFUl9DUkVBVEVEJylcIlxuICAgICAgICAgIGNsYXNzPVwidGFiLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1wYi0yIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWxoLTRcIlxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiY3VycmVudFRhYiA9PT0gJ1VTRVJfQ1JFQVRFRCdcIlxuICAgICAgICA+XG4gICAgICAgICAgVVNFUi1DUkVBVEVEIFRFTVBMQVRFU1xuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC1ibG9jayB2eC1tYi0yXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBiOzwvaT5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJzZWFyY2hUZW1wbGF0ZVwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImJvZHktdG9wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1lbmQgdngtbWItMlwiPlxuICAgICAgICA8Y3MtbXVsdGktc2VsZWN0XG4gICAgICAgICAgKHNlYXJjaFRleHQpPVwic2VhcmNoQ2F0ZWdvcnkgPSAkZXZlbnRcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU2VsZWN0IENhdGVnb3J5J1wiXG4gICAgICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkQ2F0ZWdvcnlcIlxuICAgICAgICAgIChhcHBseUZpbHRlcik9XCJvbkFwcGx5RmlsdGVyKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgIGxldCBlYWNoQ2F0ZWdvcnkgb2YgY2F0ZWdvcnlMaXN0XG4gICAgICAgICAgICAgICAgfCBTZWFyY2hCeUtleXMgOiBbJ25hbWUnXSA6IHNlYXJjaENhdGVnb3J5XG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxjcy1tdWx0aS1zZWxlY3Qtb3B0aW9uXG4gICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImVhY2hDYXRlZ29yeT8ubmFtZVwiXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cImVhY2hDYXRlZ29yeT8uaXRlbV9pZFwiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwib25TZWxlY3RDYXRlZ29yeShlYWNoQ2F0ZWdvcnksICRldmVudClcIlxuICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgZWFjaENhdGVnb3J5Py5uYW1lIH19XG4gICAgICAgICAgICA8L2NzLW11bHRpLXNlbGVjdC1vcHRpb24+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvY3MtbXVsdGktc2VsZWN0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYm9keS1pbm5lciB2eC1tYi0xXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGVyXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgdGVtcGxhdGVMaXN0XG4gICAgICAgICAgICAgICAgfCBTZWFyY2hCeUtleXNcbiAgICAgICAgICAgICAgICAgIDogWyduYW1lJywgJ2NhdGVnb3J5RGV0YWlscyddXG4gICAgICAgICAgICAgICAgICA6IHNlYXJjaFRlbXBsYXRlIGFzIGFsbFRlbXBsYXRlXG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhcHAtdGVtcGxhdGUtbGlzdC10YWJsZVxuICAgICAgICAgICAgICAqbmdJZj1cImFsbFRlbXBsYXRlLmxlbmd0aFwiXG4gICAgICAgICAgICAgIFt0ZW1wbGF0ZUxpc3RdPVwiYWxsVGVtcGxhdGVcIlxuICAgICAgICAgICAgICBbbG9hZGVyXT1cImxvYWRlclwiXG4gICAgICAgICAgICAgIFtjYXRlZ29yeUxpc3RdPVwiY2F0ZWdvcnlMaXN0XCJcbiAgICAgICAgICAgICAgW3NlbGVjdGVkVGVtcGxhdGVdPVwic2VsZWN0ZWRUZW1wbGF0ZVswXVwiXG4gICAgICAgICAgICAgIFtmZWF0dXJlXT1cImZlYXR1cmVcIlxuICAgICAgICAgICAgICAob25Tb3J0KT1cInNvcnRCeSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKG9uU2VsZWN0VGVtcGxhdGUpPVwib25TZWxlY3RUZW1wbGF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKG9uUHJldmlldyk9XCJvblByZXZpZXcoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC9hcHAtdGVtcGxhdGUtbGlzdC10YWJsZT5cbiAgICAgICAgICAgIDxhcHAtbm8tZGF0YVxuICAgICAgICAgICAgICAqbmdJZj1cIiFhbGxUZW1wbGF0ZT8ubGVuZ3RoXCJcbiAgICAgICAgICAgICAgW25vRGF0YUltYWdlXT1cIk5PX0RBVEFfRk9VTkRfSU1BR0VcIlxuICAgICAgICAgICAgICBbbm9EYXRhVGV4dF09XCJOT19EQVRBX0ZPVU5EX01FU1NBR0VcIlxuICAgICAgICAgICAgPjwvYXBwLW5vLWRhdGE+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxhcHAtZmxvYXRpbmctYmFyXG4gICAgICAgIChjbG9zZUV2ZW50KT1cInNhdmUoKVwiXG4gICAgICAgIChjbG9zZUxpc3QpPVwiY2xvc2UoKVwiXG4gICAgICAgIFtpc0Rpc2FibGVkXT1cInNlbGVjdGVkVGVtcGxhdGU/Lmxlbmd0aCA9PT0gMFwiXG4gICAgICAgIFtzZWxlY3RlZERhdGFdPVwic2VsZWN0ZWRUZW1wbGF0ZVwiXG4gICAgICAgIFtkaXNwbGF5RWxlbWVudEtleV09XCInbmFtZSdcIlxuICAgICAgICBbc2luZ3VsYXJUZXh0XT1cIidUZW1wbGF0ZSBTZWxlY3RlZCdcIlxuICAgICAgICAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlRXZlbnQoKVwiXG4gICAgICA+XG4gICAgICA8L2FwcC1mbG9hdGluZy1iYXI+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNQcmV2aWV3XCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJzZWxlY3QtdGVtcGxhdGUtbGlzdC1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcGwtNCB2eC1wci00XCJcbiAgICA+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJvbkNsb3NlUHJldmlldygpXCJcbiAgICAgICAgY2xhc3M9XCJwcmV2aWV3QnRuIHZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtcC0wIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCJcbiAgICAgID5cbiAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1tci0xXCI+JiN4ZTkxZDs8L2k+UHJldmlld1xuICAgICAgPC9idXR0b24+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidGVtcGxhdGUtbmFtZSB2eC1mcy0xNCB2eC1tbC0xXCJcbiAgICAgICAgW2FwcFRvb2x0aXBdPVwicHJldmlld1RlbXBsYXRlPy5uYW1lXCJcbiAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXG4gICAgICA+XG4gICAgICAgIHt7IHByZXZpZXdUZW1wbGF0ZT8ubmFtZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInByZXZpZXctdGVtcGxhdGUtYm9keSB2eC1kLWZsZXggdngtanVzdGlmeS1jZW50ZXJcIj5cbiAgICAgIDxhcHAtbG9hZGVyLWlubGluZSAqbmdJZj1cImxvYWRlclwiPjwvYXBwLWxvYWRlci1pbmxpbmU+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCIhbG9hZGVyXCIgY2xhc3M9XCJwcmV2aWV3LXRlbXBsYXRlLWJvZHktaW5uZXJcIj5cbiAgICAgICAgPG5neC1kb2Mtdmlld2VyXG4gICAgICAgICAgW3VybF09XCJmaWxlVXJsXCJcbiAgICAgICAgICB2aWV3ZXI9XCJvZmZpY2VcIlxuICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgbWFyZ2luOiAwXCJcbiAgICAgICAgICBkaXNhYmxlQ29udGVudD1cInBvcG91dC1oaWRlXCJcbiAgICAgICAgPlxuICAgICAgICA8L25neC1kb2Mtdmlld2VyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=