@colijnit/sharedcomponents 255.1.8 → 255.1.10

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 (23) hide show
  1. package/bundles/colijnit-sharedcomponents.umd.js +8 -7
  2. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
  3. package/colijnit-sharedcomponents.metadata.json +1 -1
  4. package/esm2015/lib/components/activity-overview-component/component-activity-overview.component.js +2 -2
  5. package/esm2015/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.component.js +5 -3
  6. package/esm2015/lib/components/modify-task-form/components/status-summary-block/status-summary-block.component.js +7 -7
  7. package/esm2015/lib/components/modify-task-form/modify-task-form.component.js +14 -12
  8. package/esm2015/lib/components/open-activity-list/component-activity-list.component.js +2 -2
  9. package/esm2015/lib/components/task-modifyer/task-modifier.component.js +22 -16
  10. package/esm2015/lib/components/task-modifyer/task-modifyer.module..js +4 -3
  11. package/fesm2015/colijnit-sharedcomponents.js +48 -37
  12. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  13. package/index.html +2 -2
  14. package/lib/components/modify-task-form/components/activity-summary-block/style/_layout.scss +8 -0
  15. package/lib/components/modify-task-form/components/creation-summary-block/style/_layout.scss +8 -1
  16. package/lib/components/modify-task-form/components/status-summary-block/style/_layout.scss +6 -3
  17. package/lib/components/modify-task-form/components/task-details/style/_layout.scss +3 -0
  18. package/lib/components/open-activity-list/style/_layout.scss +25 -4
  19. package/lib/components/send-method-dialog/style/_layout.scss +1 -1
  20. package/{main.d0249f34b89d4e820129.js → main.931714f0ac27b7915073.js} +1 -1
  21. package/package.json +2 -2
  22. package/styles.57c23ba3573224ff8f2a.css +1 -0
  23. package/styles.5648bca110e9e1584719.css +0 -1
@@ -184,9 +184,11 @@ TaskModifierComponent.decorators = [
184
184
  template: `
185
185
  <co-dialog *ngIf="showForm"
186
186
  (closeClick)="onPopupClose()"
187
+ [headerTemplate]="headerTemplate"
188
+ [footerTemplate]="footerTemplate"
187
189
  class="task-popup"
188
190
  cssId="task_modifier_popup"
189
- noClickOutside contentSize>
191
+ >
190
192
  <!--
191
193
  [header]="header"
192
194
  [subHeader]="subHeader"
@@ -195,6 +197,12 @@ TaskModifierComponent.decorators = [
195
197
  [headerIcon]="icons.Task"
196
198
  (openLink)="openReferenceInModule()"-->
197
199
  <!-- <ng-template>-->
200
+ <ng-template #headerTemplate>
201
+ <div class="header-title-wrapper">
202
+ <co-icon [iconData]="iconService.getIcon(icons.ListUlRegular)"></co-icon>
203
+ <div class="co-dialog-header-title" [textContent]="'TASK' | localize"></div>
204
+ </div>
205
+ </ng-template>
198
206
  <div class="popup-wrapper"
199
207
  [ngClass]="(showNewForm) ? 'new-task-popup' : ''">
200
208
  <div class="form-wrapper mini-scrollbar">
@@ -218,21 +226,19 @@ TaskModifierComponent.decorators = [
218
226
  <span [textContent]="'SHOW_AFTER_INSERT' | localize"></span>
219
227
  <!-- <thumb [(active)]=showAfterInsert"></thumb>-->
220
228
  </div>
221
- <div class="ok-cancel-buttons">
222
- <div class="button-left">
223
- <co-button [disabled]="readonly || taskEditting" [textContent]="'SAVE' | localize" (click)="handleSaveForm()"></co-button>
224
- </div>
225
- <div class="button-middle">
226
- <co-button *ngIf="showNewForm" [textContent]="'CANCEL' | localize" (click)="handleCancelForm()"></co-button>
227
- </div>
228
- <div class="button-right">
229
- <co-button *ngIf="showModificationForm && !readonly"
230
- [iconData]="iconService.getIcon(icons.Trashbin)" class="delete light"
231
- [disabled]="readonly || taskEditting"
232
- (click)="deleteTask()"></co-button>
233
- </div>
234
- </div>
235
229
  </div>
230
+ <ng-template #footerTemplate>
231
+ <div class="co-dialog-footer-button-wrapper">
232
+ <co-button [disabled]="readonly || taskEditting" class="save-button"
233
+ (click)="handleSaveForm()" [iconData]="iconService.getIcon(icons.CheckDuotone)"></co-button>
234
+ <co-button class="close-button"
235
+ (click)="handleCancelForm()" [iconData]="iconService.getIcon(icons.CrossSkinny)"></co-button>
236
+ <co-button *ngIf="showModificationForm && !readonly"
237
+ [iconData]="iconService.getIcon(icons.Trashbin)" class="delete-button"
238
+ [disabled]="readonly || taskEditting"
239
+ (click)="deleteTask()"></co-button>
240
+ </div>
241
+ </ng-template>
236
242
  <!-- </ng-template>-->
237
243
  </co-dialog>
238
244
  `
@@ -267,4 +273,4 @@ TaskModifierComponent.propDecorators = {
267
273
  __decorate([
268
274
  InputBoolean()
269
275
  ], TaskModifierComponent.prototype, "forceReadonly", void 0);
270
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tb2RpZmllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YXNrLW1vZGlmeWVyL3Rhc2stbW9kaWZpZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFDTCxpQkFBaUIsRUFFakIsYUFBYSxFQUNkLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUVyRSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFJcEcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDdkYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBNkQzRCxNQUFNLE9BQU8scUJBQXFCO0lBaUg5QixZQUNZLGNBQWlDLEVBQ2pDLFVBQWlDLEVBQ3hCLFdBQThCLEVBQ3hDLFdBQTZCLEVBQzFCLGFBQTRCO1FBSjlCLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxlQUFVLEdBQVYsVUFBVSxD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SG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1xyXG4gIENvcmVEaWFsb2dTZXJ2aWNlLFxyXG4gIERpYWxvZ1Jlc3BvbnNlSW50ZXJmYWNlLFxyXG4gIEZvcm1Db21wb25lbnRcclxufSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0FjdGl2aXR5fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvYWN0aXZpdHkuYm9cIjtcclxuaW1wb3J0IHtJbnB1dEJvb2xlYW59IGZyb20gXCIuLi8uLi9kZWNvcmF0b3IvaW5wdXQtYm9vbGVhbi5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtXb3JrZmxvd0NhdGVnb3J5VHlwZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vd29ya2Zsb3ctY2F0ZWdvcnkuZW51bVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtCdXNpbmVzc09iamVjdEZhY3Rvcnl9IGZyb20gXCJAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9zZXJ2aWNlL2J1c2luZXNzLW9iamVjdC1mYWN0b3J5XCI7XHJcbmltcG9ydCB7T3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbn0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZS9vcGVyYXRpb24tY2FsbGJhY2stc2ltcGxlLWZ1bmN0aW9uXCI7XHJcbmltcG9ydCB7VGFza30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3Rhc2suYm9cIjtcclxuaW1wb3J0IHtPcGVyYXRpb25DYWxsYmFja0FjdGl2aXR5fSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlL29wZXJhdGlvbi1jYWxsYmFjay1hY3Rpdml0eVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0FwcFBvcHVwQnV0dG9uVHlwZX0gZnJvbSBcIi4uLy4uL2VudW0vYXBwLWJ1dHRvbi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtNb2RpZnlUYXNrRm9ybUNvbXBvbmVudH0gZnJvbSBcIi4uL21vZGlmeS10YXNrLWZvcm0vbW9kaWZ5LXRhc2stZm9ybS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTaGFyZWRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZVwiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiY28tdGFzay1tb2RpZmllclwiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8Y28tZGlhbG9nICAqbmdJZj1cInNob3dGb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJvblBvcHVwQ2xvc2UoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0YXNrLXBvcHVwXCJcclxuICAgICAgICAgICAgICAgICAgICBjc3NJZD1cInRhc2tfbW9kaWZpZXJfcG9wdXBcIlxyXG4gICAgICAgICAgICAgICAgICAgIG5vQ2xpY2tPdXRzaWRlIGNvbnRlbnRTaXplPlxyXG48IS0tXHJcbiAgICAgICAgICBbaGVhZGVyXT1cImhlYWRlclwiXHJcbiAgICAgICAgICBbc3ViSGVhZGVyXT1cInN1YkhlYWRlclwiXHJcbiAgICAgICAgICBbc3ViSGVhZGVyTGlua109XCJzdWJIZWFkZXJMaW5rXCJcclxuICAgICAgICAgIFtzdWJTdWJIZWFkZXJdPVwic3ViU3ViSGVhZGVyXCJcclxuICAgICAgICAgIFtoZWFkZXJJY29uXT1cImljb25zLlRhc2tcIlxyXG4gICAgICAgICAgKG9wZW5MaW5rKT1cIm9wZW5SZWZlcmVuY2VJbk1vZHVsZSgpXCItLT5cclxuICAgICAgPCEtLSAgICAgIDxuZy10ZW1wbGF0ZT4tLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC13cmFwcGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiKHNob3dOZXdGb3JtKSA/ICduZXctdGFzay1wb3B1cCcgOiAnJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXdyYXBwZXIgbWluaS1zY3JvbGxiYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWZvcm0gI21haW5Gb3JtICh2YWxpZFN1Ym1pdCk9XCJvblZhbGlkKClcIj5cclxuPCEtLVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5ldy10YXNrLWZvcm0gKm5nSWY9XCJzaG93TmV3Rm9ybVwiIFthY3Rpdml0eV09XCJlZGl0QWN0aXZpdHlcIiBbbXlDZmdOYW1lc109XCJ0YXNrQ2ZnTmFtZXNcIiBbdGFza0tleV09XCJyZWZlcmVuY2VJZFwiIFt0YXNrV29ya2Zsb3dDYXRlZ29yeV09XCJ3b3JrZmxvd0NhdGVnb3J5XCI+PC9uZXctdGFzay1mb3JtPlxyXG4tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1tb2RpZnktdGFzay1mb3JtICNtb2RpZnlUYXNrRm9ybSAqbmdJZj1cInNob3dNb2RpZmljYXRpb25Gb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthY3Rpdml0eV09XCJlZGl0QWN0aXZpdHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwb3B1cENvbnRleHRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RhdHVzQ2hhbmdlKT1cImRvSGFuZGxlU3RhdHVzQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNob3dXb3JrTG9nKT1cInNob3dXb3JrTG9nLmVtaXQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYWN0aXZpdHlDaGFuZ2UpPVwidXBkYXRlRWRpdEFjdGl2aXR5KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tbW9kaWZ5LXRhc2stZm9ybT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9jby1mb3JtPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtYnV0dG9uc1wiIGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dOZXdGb3JtXCIgZnhMYXlvdXQ9XCJyb3dcIiBjbGFzcz1cInBvcHVwLXRodW1iXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInU0hPV19BRlRFUl9JTlNFUlQnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgIDwhLS0gICAgICAgICA8dGh1bWIgWyhhY3RpdmUpXT1zaG93QWZ0ZXJJbnNlcnRcIj48L3RodW1iPi0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvay1jYW5jZWwtYnV0dG9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjby1idXR0b24gW2Rpc2FibGVkXT1cInJlYWRvbmx5IHx8IHRhc2tFZGl0dGluZ1wiIFt0ZXh0Q29udGVudF09XCInU0FWRScgfCBsb2NhbGl6ZVwiIChjbGljayk9XCJoYW5kbGVTYXZlRm9ybSgpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tbWlkZGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjby1idXR0b24gKm5nSWY9XCJzaG93TmV3Rm9ybVwiIFt0ZXh0Q29udGVudF09XCInQ0FOQ0VMJyB8IGxvY2FsaXplXCIgKGNsaWNrKT1cImhhbmRsZUNhbmNlbEZvcm0oKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8Y28tYnV0dG9uICpuZ0lmPVwic2hvd01vZGlmaWNhdGlvbkZvcm0gJiYgIXJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlRyYXNoYmluKVwiIGNsYXNzPVwiZGVsZXRlIGxpZ2h0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJyZWFkb25seSB8fCB0YXNrRWRpdHRpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZVRhc2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICA8IS0tIDwvbmctdGVtcGxhdGU+LS0+XHJcbiAgICAgICAgPC9jby1kaWFsb2c+XHJcbiAgICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFza01vZGlmaWVyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAgIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoRm9ybUNvbXBvbmVudClcclxuICAgIHB1YmxpYyBtYWluRm9ybTogRm9ybUNvbXBvbmVudDtcclxuXHJcbiAgICBAVmlld0NoaWxkKGZvcndhcmRSZWYoKCkgPT4gTW9kaWZ5VGFza0Zvcm1Db21wb25lbnQpKVxyXG4gICAgcHVibGljIG1vZGlmeVRhc2tGb3JtOiBNb2RpZnlUYXNrRm9ybUNvbXBvbmVudDtcclxuXHJcbiAgICBwdWJsaWMgZ2V0IHJlYWRvbmx5KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIC8vcmV0dXJuIHRoaXMubW9kdWxlU2VydmljZS5yZWFkb25seSAmJlxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4vKiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHRhc2tDZmdOYW1lczogQWN0aXZpdGllc1Rhc2tDb25maWdOYW1lczsqL1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgd29ya2Zsb3dDYXRlZ29yeTogV29ya2Zsb3dDYXRlZ29yeVR5cGU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyByZWZlcmVuY2U6IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHJlZmVyZW5jZUlkOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB1c2VyR3JvdXBJZDogbnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgcmVsYXRpb25JZDogbnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY3JlYXRlVGFza09wZXJhdGlvbjogT3BlcmF0aW9uQ2FsbGJhY2tBY3Rpdml0eTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgZm9yY2VSZWFkb25seTogYm9vbGVhbjtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyByZWFkb25seSBlZGl0aW5nQ29tcGxldGU6IEV2ZW50RW1pdHRlcjxBY3Rpdml0eT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGl2aXR5PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHJlYWRvbmx5IGFjdGl2aXR5U2F2ZWQ6IEV2ZW50RW1pdHRlcjxBY3Rpdml0eT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGl2aXR5PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHJlYWRvbmx5IGFjdGl2aXR5RGVsZXRlZDogRXZlbnRFbWl0dGVyPEFjdGl2aXR5PiA9IG5ldyBFdmVudEVtaXR0ZXI8QWN0aXZpdHk+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgY2xvc2VkV2l0aG91dENvbXBsZXRlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2hvd1dvcmtMb2c6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyByZWFkb25seSB0YXNrQ3JlYXRlZDogRXZlbnRFbWl0dGVyPFRhc2s+ID0gbmV3IEV2ZW50RW1pdHRlcjxUYXNrPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHJlYWRvbmx5IHRhc2tNb2RpZmllZDogRXZlbnRFbWl0dGVyPFRhc2s+ID0gbmV3IEV2ZW50RW1pdHRlcjxUYXNrPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10YXNrLW1vZGlmaWVyXCIpXHJcbiAgICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHNob3dGb3JtKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNob3dOZXdGb3JtIHx8IHRoaXMuc2hvd01vZGlmaWNhdGlvbkZvcm07XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBoZWFkZXIoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gKHRoaXMuc2hvd01vZGlmaWNhdGlvbkZvcm0pID8gXCJUQVNLXCIgOiBcIkFERF9UQVNLMlwiO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgc3ViSGVhZGVyKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudEFjdGl2aXR5ID8gdGhpcy5jdXJyZW50QWN0aXZpdHkudGFzay50YXNrSWQgKyBcIlwiIDogXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHN1YlN1YkhlYWRlcigpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRBY3Rpdml0eT8udGFzaz8ubGFzdE1vZGlmaWVkQnkgJiYgdGhpcy5jdXJyZW50QWN0aXZpdHk/LnRhc2s/Lmxhc3RNb2RpZmllZERhdGUpIHtcclxuICAgICAgICAgICAgY29uc3QgbGFiZWwgPSB0aGlzLl9kaWN0aW9uYXJ5LmdldCgnTEFTVF9DSEFOR0UnKTtcclxuICAgICAgICAgICAgY29uc3QgbGFzdE1vZGlmaWVkQnk6IHN0cmluZyA9IHRoaXMuY3VycmVudEFjdGl2aXR5LnRhc2s/Lmxhc3RNb2RpZmllZERpc3BsYXlOYW1lO1xyXG4gICAgICAgICAgICBjb25zdCBsYXN0TW9kaWZpZWREYXRlOiBzdHJpbmcgPSB0aGlzLmN1cnJlbnRBY3Rpdml0eS50YXNrPy5sYXN0TW9kaWZpZWREYXRlLnRvTG9jYWxlU3RyaW5nKCk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gbGFiZWwgKyAnOiAnICsgbGFzdE1vZGlmaWVkQnkgKyAnIHwgJyArIGxhc3RNb2RpZmllZERhdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgc3ViSGVhZGVyTGluaygpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICh0aGlzLnNob3dNb2RpZmljYXRpb25Gb3JtICYmIHRoaXMuY3VycmVudEFjdGl2aXR5ICYmIHRoaXMuY3VycmVudEFjdGl2aXR5LnRhc2spIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudEFjdGl2aXR5LnRhc2sud29ya2Zsb3dDYXRlZ29yeSAmJiB0aGlzLmN1cnJlbnRBY3Rpdml0eS50YXNrLnJlZmVyZW5jZSkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGFjdGl2aXR5TmFtZTogc3RyaW5nO1xyXG4gICAgICAgICAgICAgICAgYWN0aXZpdHlOYW1lID0gdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJXT1JLRkxPV19DQVRFR09SWV9cIiArIHRoaXMuY3VycmVudEFjdGl2aXR5LnRhc2sud29ya2Zsb3dDYXRlZ29yeSkgKyBcIiBcIiArIHRoaXMuY3VycmVudEFjdGl2aXR5LnRhc2sucmVmZXJlbmNlICsgXCIpXCI7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYWN0aXZpdHlOYW1lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgdXNlcklzVGFza1JlcG9ydGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRBY3Rpdml0eSAmJlxyXG4gICAgICAgICAgICAoKHRoaXMuZWRpdEFjdGl2aXR5LnRhc2sucmVwb3J0ZXJVc2VyR3JvdXBJZCAmJiB0aGlzLmVkaXRBY3Rpdml0eS50YXNrLnJlcG9ydGVyVXNlckdyb3VwSWQgPT09IHRoaXMudXNlckdyb3VwSWQpIHx8XHJcbiAgICAgICAgICAgICAgICAodGhpcy5lZGl0QWN0aXZpdHkudGFzay5yZXBvcnRlciAmJiB0aGlzLmVkaXRBY3Rpdml0eS50YXNrLnJlcG9ydGVyLnJlbGF0aW9uSWQgPT09IHRoaXMucmVsYXRpb25JZCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzaG93QWZ0ZXJJbnNlcnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBzaG93TmV3Rm9ybTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIHNob3dNb2RpZmljYXRpb25Gb3JtOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgY3VycmVudEFjdGl2aXR5OiBBY3Rpdml0eTtcclxuICAgIHB1YmxpYyBlZGl0QWN0aXZpdHk6IEFjdGl2aXR5O1xyXG5cclxuICAgIHB1YmxpYyB0YXNrRWRpdHRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBDb3JlRGlhbG9nU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9ib0ZhY3Rvcnk6IEJ1c2luZXNzT2JqZWN0RmFjdG9yeSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9kaWN0aW9uYXJ5OiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgICAgICBwdWJsaWMgaWNvblNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIHNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2VcclxuICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVTYXZlRm9ybSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm1haW5Gb3JtLnN1Ym1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBvblZhbGlkKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmICh0aGlzLmVkaXRBY3Rpdml0eSkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdBY3Rpdml0eTogYm9vbGVhbiA9IHRoaXMuZWRpdEFjdGl2aXR5LmlzTmV3O1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UudXBkYXRlQWN0aXZpdHkodGhpcy5lZGl0QWN0aXZpdHkpO1xyXG4gICAgICAgICAgICBpZiAocmVzdWx0KVxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2aXR5U2F2ZWQubmV4dCh0aGlzLmVkaXRBY3Rpdml0eSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmVkaXRpbmdDb21wbGV0ZS5uZXh0KHRoaXMuZWRpdEFjdGl2aXR5KTtcclxuICAgICAgICAgICAgICAgIGlmIChuZXdBY3Rpdml0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFza0NyZWF0ZWQubmV4dCh0aGlzLmVkaXRBY3Rpdml0eS50YXNrKVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhc2tNb2RpZmllZC5uZXh0KHRoaXMuZWRpdEFjdGl2aXR5LnRhc2spO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2hvd0FmdGVySW5zZXJ0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydE1vZGlmeWluZ1Rhc2sodGhpcy5lZGl0QWN0aXZpdHkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZUNhbmNlbEZvcm0oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fY3JlYXRlQ2xvbmUoKTtcclxuICAgICAgICAvL1RPRE86IGlzIHRoaXMgbmVlZGVkP1xyXG4gICAgICAgIC8vdGhpcy5tb2R1bGVTZXJ2aWNlLmNhbmNlbEVkaXQoKTtcclxuICAgICAgICB0aGlzLmNsb3NlZFdpdGhvdXRDb21wbGV0ZS5uZXh0KHRydWUpO1xyXG4gICAgICAgIHRoaXMuaGlkZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvblBvcHVwQ2xvc2UoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5mb3JjZVJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICAgICAgdGhpcy5jbG9zZWRXaXRob3V0Q29tcGxldGUubmV4dCh0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICAvL1RPRE8gZmlndXJlIG91dCByb3V0aW5nIGZyb20gZXh0ZXJuYWwgY29tcG9uZW50XHJcbiAgICAvKnB1YmxpYyBvcGVuUmVmZXJlbmNlSW5Nb2R1bGUoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudEFjdGl2aXR5ICYmIHRoaXMuY3VycmVudEFjdGl2aXR5LnRhc2spIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudEFjdGl2aXR5LnRhc2sud29ya2Zsb3dDYXRlZ29yeSA9PT0gV29ya2Zsb3dDYXRlZ29yeVR5cGUuQWJzZW5jZUZpbGUgfHwgdGhpcy5jdXJyZW50QWN0aXZpdHkudGFzay53b3JrZmxvd0NhdGVnb3J5ID09PSBXb3JrZmxvd0NhdGVnb3J5VHlwZS5QcmV2ZW50aXZlQWJzZW5jZUZpbGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2FwcE5hdmlnYXRvci5uYXZpZ2F0ZVRvSU9uZU1vZHVsZShJT25lTW9kdWxlTmFtZS5BYnNlbmNlRmlsZSwgdGhpcy5jdXJyZW50QWN0aXZpdHkudGFzay5yZWZlcmVuY2VJZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSovXHJcblxyXG4gICAgcHVibGljIGhpZGUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zaG93TmV3Rm9ybSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2hvd01vZGlmaWNhdGlvbkZvcm0gPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZGVsZXRlVGFzaygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBjb25zdCBkb0RlbGV0ZTogRGlhbG9nUmVzcG9uc2VJbnRlcmZhY2UgPSBhd2FpdCB0aGlzLl9kaWFsb2dTZXJ2aWNlLnNob3dZZXNObyhcIkRFTEVURV9UQVNLXCIsXCJERUxFVEVfVEFTS1wiLGZhbHNlKTtcclxuICAgICAgICBpZiAoZG9EZWxldGUuYnV0dG9uID09PSBBcHBQb3B1cEJ1dHRvblR5cGUuWWVzKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5kZWxldGVBY3Rpdml0eSh0aGlzLmVkaXRBY3Rpdml0eSk7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZpdHlEZWxldGVkLm5leHQodGhpcy5lZGl0QWN0aXZpdHkpO1xyXG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGNyZWF0ZU5ld1Rhc2soc3RhbmRhbG9uZTogYm9vbGVhbiA9IHRydWUpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBpZiAodGhpcy5zaG93Rm9ybSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNob3dBZnRlckluc2VydCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY3VycmVudEFjdGl2aXR5ID0gYXdhaXQgdGhpcy5jcmVhdGVUYXNrT3BlcmF0aW9uKHtzdGFuZGFsb25lOiBzdGFuZGFsb25lLCB3b3JrZmxvd0NhdGVnb3J5OiB0aGlzLndvcmtmbG93Q2F0ZWdvcnksIHJlZmVyZW5jZTogdGhpcy5yZWZlcmVuY2UsIHJlZmVyZW5jZUlkOiB0aGlzLnJlZmVyZW5jZUlkfSk7XHJcbiAgICAgICAgdGhpcy5fY3JlYXRlQ2xvbmUoKTtcclxuICAgICAgICB0aGlzLnNob3dOZXdGb3JtID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgc3RhcnRNb2RpZnlpbmdUYXNrKGFjdGl2aXR5OiBBY3Rpdml0eSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmICh0aGlzLnNob3dGb3JtIHx8ICFhY3Rpdml0eS5Jc1Rhc2spIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zaG93QWZ0ZXJJbnNlcnQgPSBmYWxzZTtcclxuICAgICAgICBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UubG9ja1Rhc2soYWN0aXZpdHkudGFzay50YXNrSWQpO1xyXG4gICAgICAgIGFjdGl2aXR5LnRhc2sgPSBhY3Rpdml0eS50YXNrO1xyXG4gICAgICAgIHRoaXMuY3VycmVudEFjdGl2aXR5ID0gYWN0aXZpdHk7XHJcbiAgICAgICAgdGhpcy5fY3JlYXRlQ2xvbmUoKTtcclxuICAgICAgICB0aGlzLnNob3dNb2RpZmljYXRpb25Gb3JtID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgc3RhcnRNb2RpZnlpbmdUYXNrQW5kV29ya0xvZyhhY3Rpdml0eTogQWN0aXZpdHkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBhd2FpdCB0aGlzLnN0YXJ0TW9kaWZ5aW5nVGFzayhhY3Rpdml0eSk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIC8qaWYgKHRoaXMubW9kaWZ5VGFza0Zvcm0pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubW9kaWZ5VGFza0Zvcm0uaGFuZGxlUmVnaXN0ZXJXb3JrKCk7XHJcbiAgICAgICAgICAgIH0qL1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBfY3JlYXRlQ2xvbmUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5lZGl0QWN0aXZpdHkgPSB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShBY3Rpdml0eSwgdGhpcy5jdXJyZW50QWN0aXZpdHkpYXMgQWN0aXZpdHk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRvSGFuZGxlU3RhdHVzQ2hhbmdlKGVkaXR0aW5nOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy50YXNrRWRpdHRpbmcgPSBlZGl0dGluZztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdXBkYXRlRWRpdEFjdGl2aXR5KGFjdGl2aXR5OiBBY3Rpdml0eSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZWRpdEFjdGl2aXR5ID0gdGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoQWN0aXZpdHksIGFjdGl2aXR5KSBhcyBBY3Rpdml0eTtcclxuICAgIH1cclxuXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEljb24gPSBJY29uO1xyXG59XHJcbiJdfQ==
276
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tb2RpZmllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YXNrLW1vZGlmeWVyL3Rhc2stbW9kaWZpZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFDTCxpQkFBaUIsRUFFakIsYUFBYSxFQUNkLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUVyRSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFJcEcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDdkYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBbUUzRCxNQUFNLE9BQU8scUJBQXFCO0lBaUg5QixZQUNZLGNBQWlDLEVBQ2pDLFVBQWlDLEVBQ3hCLFdBQThCLEVBQ3hDLFdBQTZCLEVBQzFCLGFBQTRCO1FBSjlCLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxlQUFVLEdBQVYsVUFBVSxD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ZFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1xyXG4gIENvcmVEaWFsb2dTZXJ2aWNlLFxyXG4gIERpYWxvZ1Jlc3BvbnNlSW50ZXJmYWNlLFxyXG4gIEZvcm1Db21wb25lbnRcclxufSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0FjdGl2aXR5fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvYWN0aXZpdHkuYm9cIjtcclxuaW1wb3J0IHtJbnB1dEJvb2xlYW59IGZyb20gXCIuLi8uLi9kZWNvcmF0b3IvaW5wdXQtYm9vbGVhbi5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtXb3JrZmxvd0NhdGVnb3J5VHlwZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vd29ya2Zsb3ctY2F0ZWdvcnkuZW51bVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtCdXNpbmVzc09iamVjdEZhY3Rvcnl9IGZyb20gXCJAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9zZXJ2aWNlL2J1c2luZXNzLW9iamVjdC1mYWN0b3J5XCI7XHJcbmltcG9ydCB7T3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbn0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZS9vcGVyYXRpb24tY2FsbGJhY2stc2ltcGxlLWZ1bmN0aW9uXCI7XHJcbmltcG9ydCB7VGFza30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3Rhc2suYm9cIjtcclxuaW1wb3J0IHtPcGVyYXRpb25DYWxsYmFja0FjdGl2aXR5fSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlL29wZXJhdGlvbi1jYWxsYmFjay1hY3Rpdml0eVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0FwcFBvcHVwQnV0dG9uVHlwZX0gZnJvbSBcIi4uLy4uL2VudW0vYXBwLWJ1dHRvbi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtNb2RpZnlUYXNrRm9ybUNvbXBvbmVudH0gZnJvbSBcIi4uL21vZGlmeS10YXNrLWZvcm0vbW9kaWZ5LXRhc2stZm9ybS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTaGFyZWRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZVwiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiY28tdGFzay1tb2RpZmllclwiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8Y28tZGlhbG9nICAqbmdJZj1cInNob3dGb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJvblBvcHVwQ2xvc2UoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGFzay1wb3B1cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgY3NzSWQ9XCJ0YXNrX21vZGlmaWVyX3BvcHVwXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbjwhLS1cclxuICAgICAgICAgIFtoZWFkZXJdPVwiaGVhZGVyXCJcclxuICAgICAgICAgIFtzdWJIZWFkZXJdPVwic3ViSGVhZGVyXCJcclxuICAgICAgICAgIFtzdWJIZWFkZXJMaW5rXT1cInN1YkhlYWRlckxpbmtcIlxyXG4gICAgICAgICAgW3N1YlN1YkhlYWRlcl09XCJzdWJTdWJIZWFkZXJcIlxyXG4gICAgICAgICAgW2hlYWRlckljb25dPVwiaWNvbnMuVGFza1wiXHJcbiAgICAgICAgICAob3BlbkxpbmspPVwib3BlblJlZmVyZW5jZUluTW9kdWxlKClcIi0tPlxyXG4gICAgICA8IS0tICAgICAgPG5nLXRlbXBsYXRlPi0tPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci10aXRsZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuTGlzdFVsUmVndWxhcilcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1oZWFkZXItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ1RBU0snIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLXdyYXBwZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCIoc2hvd05ld0Zvcm0pID8gJ25ldy10YXNrLXBvcHVwJyA6ICcnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0td3JhcHBlciBtaW5pLXNjcm9sbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y28tZm9ybSAjbWFpbkZvcm0gKHZhbGlkU3VibWl0KT1cIm9uVmFsaWQoKVwiPlxyXG48IS0tXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmV3LXRhc2stZm9ybSAqbmdJZj1cInNob3dOZXdGb3JtXCIgW2FjdGl2aXR5XT1cImVkaXRBY3Rpdml0eVwiIFtteUNmZ05hbWVzXT1cInRhc2tDZmdOYW1lc1wiIFt0YXNrS2V5XT1cInJlZmVyZW5jZUlkXCIgW3Rhc2tXb3JrZmxvd0NhdGVnb3J5XT1cIndvcmtmbG93Q2F0ZWdvcnlcIj48L25ldy10YXNrLWZvcm0+XHJcbi0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLW1vZGlmeS10YXNrLWZvcm0gI21vZGlmeVRhc2tGb3JtICpuZ0lmPVwic2hvd01vZGlmaWNhdGlvbkZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FjdGl2aXR5XT1cImVkaXRBY3Rpdml0eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BvcHVwQ29udGV4dF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdGF0dXNDaGFuZ2UpPVwiZG9IYW5kbGVTdGF0dXNDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvd1dvcmtMb2cpPVwic2hvd1dvcmtMb2cuZW1pdCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY3Rpdml0eUNoYW5nZSk9XCJ1cGRhdGVFZGl0QWN0aXZpdHkoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby1tb2RpZnktdGFzay1mb3JtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2NvLWZvcm0+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1idXR0b25zXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd05ld0Zvcm1cIiBmeExheW91dD1cInJvd1wiIGNsYXNzPVwicG9wdXAtdGh1bWJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidTSE9XX0FGVEVSX0lOU0VSVCcgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgPCEtLSAgICAgICAgIDx0aHVtYiBbKGFjdGl2ZSldPXNob3dBZnRlckluc2VydFwiPjwvdGh1bWI+LS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctZm9vdGVyLWJ1dHRvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBbZGlzYWJsZWRdPVwicmVhZG9ubHkgfHwgdGFza0VkaXR0aW5nXCIgY2xhc3M9XCJzYXZlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlU2F2ZUZvcm0oKVwiIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrRHVvdG9uZSlcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICA8Y28tYnV0dG9uICBjbGFzcz1cImNsb3NlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQ2FuY2VsRm9ybSgpXCIgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuQ3Jvc3NTa2lubnkpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICAgICAgPGNvLWJ1dHRvbiAqbmdJZj1cInNob3dNb2RpZmljYXRpb25Gb3JtICYmICFyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5UcmFzaGJpbilcIiBjbGFzcz1cImRlbGV0ZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5IHx8IHRhc2tFZGl0dGluZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlVGFzaygpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICA8IS0tIDwvbmctdGVtcGxhdGU+LS0+XHJcbiAgICAgICAgPC9jby1kaWFsb2c+XHJcbiAgICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFza01vZGlmaWVyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAgIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoRm9ybUNvbXBvbmVudClcclxuICAgIHB1YmxpYyBtYWluRm9ybTogRm9ybUNvbXBvbmVudDtcclxuXHJcbiAgICBAVmlld0NoaWxkKGZvcndhcmRSZWYoKCkgPT4gTW9kaWZ5VGFza0Zvcm1Db21wb25lbnQpKVxyXG4gICAgcHVibGljIG1vZGlmeVRhc2tGb3JtOiBNb2RpZnlUYXNrRm9ybUNvbXBvbmVudDtcclxuXHJcbiAgICBwdWJsaWMgZ2V0IHJlYWRvbmx5KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIC8vcmV0dXJuIHRoaXMubW9kdWxlU2VydmljZS5yZWFkb25seSAmJlxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4vKiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHRhc2tDZmdOYW1lczogQWN0aXZpdGllc1Rhc2tDb25maWdOYW1lczsqL1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgd29ya2Zsb3dDYXRlZ29yeTogV29ya2Zsb3dDYXRlZ29yeVR5cGU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyByZWZlcmVuY2U6IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHJlZmVyZW5jZUlkOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB1c2VyR3JvdXBJZDogbnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgcmVsYXRpb25JZDogbnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY3JlYXRlVGFza09wZXJhdGlvbjogT3BlcmF0aW9uQ2FsbGJhY2tBY3Rpdml0eTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgZm9yY2VSZWFkb25seTogYm9vbGVhbjtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyByZWFkb25seSBlZGl0aW5nQ29tcGxldGU6IEV2ZW50RW1pdHRlcjxBY3Rpdml0eT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGl2aXR5PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHJlYWRvbmx5IGFjdGl2aXR5U2F2ZWQ6IEV2ZW50RW1pdHRlcjxBY3Rpdml0eT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGl2aXR5PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHJlYWRvbmx5IGFjdGl2aXR5RGVsZXRlZDogRXZlbnRFbWl0dGVyPEFjdGl2aXR5PiA9IG5ldyBFdmVudEVtaXR0ZXI8QWN0aXZpdHk+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgY2xvc2VkV2l0aG91dENvbXBsZXRlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2hvd1dvcmtMb2c6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyByZWFkb25seSB0YXNrQ3JlYXRlZDogRXZlbnRFbWl0dGVyPFRhc2s+ID0gbmV3IEV2ZW50RW1pdHRlcjxUYXNrPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHJlYWRvbmx5IHRhc2tNb2RpZmllZDogRXZlbnRFbWl0dGVyPFRhc2s+ID0gbmV3IEV2ZW50RW1pdHRlcjxUYXNrPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10YXNrLW1vZGlmaWVyXCIpXHJcbiAgICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHNob3dGb3JtKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNob3dOZXdGb3JtIHx8IHRoaXMuc2hvd01vZGlmaWNhdGlvbkZvcm07XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBoZWFkZXIoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gKHRoaXMuc2hvd01vZGlmaWNhdGlvbkZvcm0pID8gXCJUQVNLXCIgOiBcIkFERF9UQVNLMlwiO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgc3ViSGVhZGVyKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudEFjdGl2aXR5ID8gdGhpcy5jdXJyZW50QWN0aXZpdHkudGFzay50YXNrSWQgKyBcIlwiIDogXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHN1YlN1YkhlYWRlcigpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRBY3Rpdml0eT8udGFzaz8ubGFzdE1vZGlmaWVkQnkgJiYgdGhpcy5jdXJyZW50QWN0aXZpdHk/LnRhc2s/Lmxhc3RNb2RpZmllZERhdGUpIHtcclxuICAgICAgICAgICAgY29uc3QgbGFiZWwgPSB0aGlzLl9kaWN0aW9uYXJ5LmdldCgnTEFTVF9DSEFOR0UnKTtcclxuICAgICAgICAgICAgY29uc3QgbGFzdE1vZGlmaWVkQnk6IHN0cmluZyA9IHRoaXMuY3VycmVudEFjdGl2aXR5LnRhc2s/Lmxhc3RNb2RpZmllZERpc3BsYXlOYW1lO1xyXG4gICAgICAgICAgICBjb25zdCBsYXN0TW9kaWZpZWREYXRlOiBzdHJpbmcgPSB0aGlzLmN1cnJlbnRBY3Rpdml0eS50YXNrPy5sYXN0TW9kaWZpZWREYXRlLnRvTG9jYWxlU3RyaW5nKCk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gbGFiZWwgKyAnOiAnICsgbGFzdE1vZGlmaWVkQnkgKyAnIHwgJyArIGxhc3RNb2RpZmllZERhdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgc3ViSGVhZGVyTGluaygpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICh0aGlzLnNob3dNb2RpZmljYXRpb25Gb3JtICYmIHRoaXMuY3VycmVudEFjdGl2aXR5ICYmIHRoaXMuY3VycmVudEFjdGl2aXR5LnRhc2spIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudEFjdGl2aXR5LnRhc2sud29ya2Zsb3dDYXRlZ29yeSAmJiB0aGlzLmN1cnJlbnRBY3Rpdml0eS50YXNrLnJlZmVyZW5jZSkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGFjdGl2aXR5TmFtZTogc3RyaW5nO1xyXG4gICAgICAgICAgICAgICAgYWN0aXZpdHlOYW1lID0gdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJXT1JLRkxPV19DQVRFR09SWV9cIiArIHRoaXMuY3VycmVudEFjdGl2aXR5LnRhc2sud29ya2Zsb3dDYXRlZ29yeSkgKyBcIiBcIiArIHRoaXMuY3VycmVudEFjdGl2aXR5LnRhc2sucmVmZXJlbmNlICsgXCIpXCI7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYWN0aXZpdHlOYW1lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgdXNlcklzVGFza1JlcG9ydGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRBY3Rpdml0eSAmJlxyXG4gICAgICAgICAgICAoKHRoaXMuZWRpdEFjdGl2aXR5LnRhc2sucmVwb3J0ZXJVc2VyR3JvdXBJZCAmJiB0aGlzLmVkaXRBY3Rpdml0eS50YXNrLnJlcG9ydGVyVXNlckdyb3VwSWQgPT09IHRoaXMudXNlckdyb3VwSWQpIHx8XHJcbiAgICAgICAgICAgICAgICAodGhpcy5lZGl0QWN0aXZpdHkudGFzay5yZXBvcnRlciAmJiB0aGlzLmVkaXRBY3Rpdml0eS50YXNrLnJlcG9ydGVyLnJlbGF0aW9uSWQgPT09IHRoaXMucmVsYXRpb25JZCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzaG93QWZ0ZXJJbnNlcnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBzaG93TmV3Rm9ybTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIHNob3dNb2RpZmljYXRpb25Gb3JtOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgY3VycmVudEFjdGl2aXR5OiBBY3Rpdml0eTtcclxuICAgIHB1YmxpYyBlZGl0QWN0aXZpdHk6IEFjdGl2aXR5O1xyXG5cclxuICAgIHB1YmxpYyB0YXNrRWRpdHRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBDb3JlRGlhbG9nU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9ib0ZhY3Rvcnk6IEJ1c2luZXNzT2JqZWN0RmFjdG9yeSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9kaWN0aW9uYXJ5OiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgICAgICBwdWJsaWMgaWNvblNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIHNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2VcclxuICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVTYXZlRm9ybSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm1haW5Gb3JtLnN1Ym1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBvblZhbGlkKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmICh0aGlzLmVkaXRBY3Rpdml0eSkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdBY3Rpdml0eTogYm9vbGVhbiA9IHRoaXMuZWRpdEFjdGl2aXR5LmlzTmV3O1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UudXBkYXRlQWN0aXZpdHkodGhpcy5lZGl0QWN0aXZpdHkpO1xyXG4gICAgICAgICAgICBpZiAocmVzdWx0KVxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2aXR5U2F2ZWQubmV4dCh0aGlzLmVkaXRBY3Rpdml0eSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmVkaXRpbmdDb21wbGV0ZS5uZXh0KHRoaXMuZWRpdEFjdGl2aXR5KTtcclxuICAgICAgICAgICAgICAgIGlmIChuZXdBY3Rpdml0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFza0NyZWF0ZWQubmV4dCh0aGlzLmVkaXRBY3Rpdml0eS50YXNrKVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhc2tNb2RpZmllZC5uZXh0KHRoaXMuZWRpdEFjdGl2aXR5LnRhc2spO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2hvd0FmdGVySW5zZXJ0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydE1vZGlmeWluZ1Rhc2sodGhpcy5lZGl0QWN0aXZpdHkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZUNhbmNlbEZvcm0oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fY3JlYXRlQ2xvbmUoKTtcclxuICAgICAgICAvL1RPRE86IGlzIHRoaXMgbmVlZGVkP1xyXG4gICAgICAgIC8vdGhpcy5tb2R1bGVTZXJ2aWNlLmNhbmNlbEVkaXQoKTtcclxuICAgICAgICB0aGlzLmNsb3NlZFdpdGhvdXRDb21wbGV0ZS5uZXh0KHRydWUpO1xyXG4gICAgICAgIHRoaXMuaGlkZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvblBvcHVwQ2xvc2UoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5mb3JjZVJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICAgICAgdGhpcy5jbG9zZWRXaXRob3V0Q29tcGxldGUubmV4dCh0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICAvL1RPRE8gZmlndXJlIG91dCByb3V0aW5nIGZyb20gZXh0ZXJuYWwgY29tcG9uZW50XHJcbiAgICAvKnB1YmxpYyBvcGVuUmVmZXJlbmNlSW5Nb2R1bGUoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudEFjdGl2aXR5ICYmIHRoaXMuY3VycmVudEFjdGl2aXR5LnRhc2spIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudEFjdGl2aXR5LnRhc2sud29ya2Zsb3dDYXRlZ29yeSA9PT0gV29ya2Zsb3dDYXRlZ29yeVR5cGUuQWJzZW5jZUZpbGUgfHwgdGhpcy5jdXJyZW50QWN0aXZpdHkudGFzay53b3JrZmxvd0NhdGVnb3J5ID09PSBXb3JrZmxvd0NhdGVnb3J5VHlwZS5QcmV2ZW50aXZlQWJzZW5jZUZpbGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2FwcE5hdmlnYXRvci5uYXZpZ2F0ZVRvSU9uZU1vZHVsZShJT25lTW9kdWxlTmFtZS5BYnNlbmNlRmlsZSwgdGhpcy5jdXJyZW50QWN0aXZpdHkudGFzay5yZWZlcmVuY2VJZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSovXHJcblxyXG4gICAgcHVibGljIGhpZGUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zaG93TmV3Rm9ybSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2hvd01vZGlmaWNhdGlvbkZvcm0gPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZGVsZXRlVGFzaygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBjb25zdCBkb0RlbGV0ZTogRGlhbG9nUmVzcG9uc2VJbnRlcmZhY2UgPSBhd2FpdCB0aGlzLl9kaWFsb2dTZXJ2aWNlLnNob3dZZXNObyhcIkRFTEVURV9UQVNLXCIsXCJERUxFVEVfVEFTS1wiLGZhbHNlKTtcclxuICAgICAgICBpZiAoZG9EZWxldGUuYnV0dG9uID09PSBBcHBQb3B1cEJ1dHRvblR5cGUuWWVzKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5kZWxldGVBY3Rpdml0eSh0aGlzLmVkaXRBY3Rpdml0eSk7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZpdHlEZWxldGVkLm5leHQodGhpcy5lZGl0QWN0aXZpdHkpO1xyXG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGNyZWF0ZU5ld1Rhc2soc3RhbmRhbG9uZTogYm9vbGVhbiA9IHRydWUpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBpZiAodGhpcy5zaG93Rm9ybSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNob3dBZnRlckluc2VydCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY3VycmVudEFjdGl2aXR5ID0gYXdhaXQgdGhpcy5jcmVhdGVUYXNrT3BlcmF0aW9uKHtzdGFuZGFsb25lOiBzdGFuZGFsb25lLCB3b3JrZmxvd0NhdGVnb3J5OiB0aGlzLndvcmtmbG93Q2F0ZWdvcnksIHJlZmVyZW5jZTogdGhpcy5yZWZlcmVuY2UsIHJlZmVyZW5jZUlkOiB0aGlzLnJlZmVyZW5jZUlkfSk7XHJcbiAgICAgICAgdGhpcy5fY3JlYXRlQ2xvbmUoKTtcclxuICAgICAgICB0aGlzLnNob3dOZXdGb3JtID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgc3RhcnRNb2RpZnlpbmdUYXNrKGFjdGl2aXR5OiBBY3Rpdml0eSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmICh0aGlzLnNob3dGb3JtIHx8ICFhY3Rpdml0eS5Jc1Rhc2spIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zaG93QWZ0ZXJJbnNlcnQgPSBmYWxzZTtcclxuICAgICAgICBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UubG9ja1Rhc2soYWN0aXZpdHkudGFzay50YXNrSWQpO1xyXG4gICAgICAgIGFjdGl2aXR5LnRhc2sgPSBhY3Rpdml0eS50YXNrO1xyXG4gICAgICAgIHRoaXMuY3VycmVudEFjdGl2aXR5ID0gYWN0aXZpdHk7XHJcbiAgICAgICAgdGhpcy5fY3JlYXRlQ2xvbmUoKTtcclxuICAgICAgICB0aGlzLnNob3dNb2RpZmljYXRpb25Gb3JtID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgc3RhcnRNb2RpZnlpbmdUYXNrQW5kV29ya0xvZyhhY3Rpdml0eTogQWN0aXZpdHkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBhd2FpdCB0aGlzLnN0YXJ0TW9kaWZ5aW5nVGFzayhhY3Rpdml0eSk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIC8qaWYgKHRoaXMubW9kaWZ5VGFza0Zvcm0pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubW9kaWZ5VGFza0Zvcm0uaGFuZGxlUmVnaXN0ZXJXb3JrKCk7XHJcbiAgICAgICAgICAgIH0qL1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBfY3JlYXRlQ2xvbmUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5lZGl0QWN0aXZpdHkgPSB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShBY3Rpdml0eSwgdGhpcy5jdXJyZW50QWN0aXZpdHkpYXMgQWN0aXZpdHk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRvSGFuZGxlU3RhdHVzQ2hhbmdlKGVkaXR0aW5nOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy50YXNrRWRpdHRpbmcgPSBlZGl0dGluZztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdXBkYXRlRWRpdEFjdGl2aXR5KGFjdGl2aXR5OiBBY3Rpdml0eSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZWRpdEFjdGl2aXR5ID0gdGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoQWN0aXZpdHksIGFjdGl2aXR5KSBhcyBBY3Rpdml0eTtcclxuICAgIH1cclxuXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEljb24gPSBJY29uO1xyXG59XHJcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { NgModule } from "@angular/core";
2
2
  import { TaskModifierComponent } from "./task-modifier.component";
3
- import { ButtonModule, CoDialogModule, FormModule } from "@colijnit/corecomponents_v12";
3
+ import { ButtonModule, CoDialogModule, FormModule, IconModule } from "@colijnit/corecomponents_v12";
4
4
  import { LocalizationModule } from "../../localization/localization.module";
5
5
  import { CommonModule } from "@angular/common";
6
6
  import { ModifyTaskFormModule } from "../modify-task-form/modify-task-form.module";
@@ -15,7 +15,8 @@ TaskModifyerModule.decorators = [
15
15
  LocalizationModule,
16
16
  CommonModule,
17
17
  ButtonModule,
18
- ModifyTaskFormModule
18
+ ModifyTaskFormModule,
19
+ IconModule
19
20
  ],
20
21
  declarations: [
21
22
  TaskModifierComponent
@@ -28,4 +29,4 @@ TaskModifyerModule.decorators = [
28
29
  ]
29
30
  },] }
30
31
  ];
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tb2RpZnllci5tb2R1bGUuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvdGFzay1tb2RpZnllci90YXNrLW1vZGlmeWVyLm1vZHVsZS4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDakYsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFzQnBHLE1BQU0sT0FBTyxrQkFBa0I7OztZQW5COUIsUUFBUSxTQUFDO2dCQUNOLE9BQU8sRUFBRTtvQkFDTCxVQUFVO29CQUNWLGNBQWM7b0JBQ2Qsa0JBQWtCO29CQUNsQixZQUFZO29CQUNaLFlBQVk7b0JBQ1osb0JBQW9CO2lCQUN2QjtnQkFDSCxZQUFZLEVBQUU7b0JBQ1oscUJBQXFCO2lCQUN0QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AscUJBQXFCO2lCQUN0QjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QscUJBQXFCO2lCQUN0QjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtUYXNrTW9kaWZpZXJDb21wb25lbnR9IGZyb20gXCIuL3Rhc2stbW9kaWZpZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBDb0RpYWxvZ01vZHVsZSwgRm9ybU1vZHVsZX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtMb2NhbGl6YXRpb25Nb2R1bGV9IGZyb20gXCIuLi8uLi9sb2NhbGl6YXRpb24vbG9jYWxpemF0aW9uLm1vZHVsZVwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge01vZGlmeVRhc2tGb3JtTW9kdWxlfSBmcm9tIFwiLi4vbW9kaWZ5LXRhc2stZm9ybS9tb2RpZnktdGFzay1mb3JtLm1vZHVsZVwiO1xyXG5pbXBvcnQge0J1c2luZXNzT2JqZWN0RmFjdG9yeX0gZnJvbSBcIkBjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL3NlcnZpY2UvYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnlcIjtcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIEZvcm1Nb2R1bGUsXHJcbiAgICAgICAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgICAgICAgTG9jYWxpemF0aW9uTW9kdWxlLFxyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgTW9kaWZ5VGFza0Zvcm1Nb2R1bGVcclxuICAgIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBUYXNrTW9kaWZpZXJDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFRhc2tNb2RpZmllckNvbXBvbmVudFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBCdXNpbmVzc09iamVjdEZhY3RvcnlcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYXNrTW9kaWZ5ZXJNb2R1bGUge1xyXG5cclxufVxyXG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tb2RpZnllci5tb2R1bGUuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvdGFzay1tb2RpZnllci90YXNrLW1vZGlmeWVyLm1vZHVsZS4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDbEcsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBdUJwRyxNQUFNLE9BQU8sa0JBQWtCOzs7WUFwQjlCLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsVUFBVTtvQkFDVixjQUFjO29CQUNkLGtCQUFrQjtvQkFDbEIsWUFBWTtvQkFDWixZQUFZO29CQUNaLG9CQUFvQjtvQkFDcEIsVUFBVTtpQkFDYjtnQkFDSCxZQUFZLEVBQUU7b0JBQ1oscUJBQXFCO2lCQUN0QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AscUJBQXFCO2lCQUN0QjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QscUJBQXFCO2lCQUN0QjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtUYXNrTW9kaWZpZXJDb21wb25lbnR9IGZyb20gXCIuL3Rhc2stbW9kaWZpZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBDb0RpYWxvZ01vZHVsZSwgRm9ybU1vZHVsZSwgSWNvbk1vZHVsZX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtMb2NhbGl6YXRpb25Nb2R1bGV9IGZyb20gXCIuLi8uLi9sb2NhbGl6YXRpb24vbG9jYWxpemF0aW9uLm1vZHVsZVwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge01vZGlmeVRhc2tGb3JtTW9kdWxlfSBmcm9tIFwiLi4vbW9kaWZ5LXRhc2stZm9ybS9tb2RpZnktdGFzay1mb3JtLm1vZHVsZVwiO1xyXG5pbXBvcnQge0J1c2luZXNzT2JqZWN0RmFjdG9yeX0gZnJvbSBcIkBjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL3NlcnZpY2UvYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnlcIjtcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIEZvcm1Nb2R1bGUsXHJcbiAgICAgICAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgICAgICAgTG9jYWxpemF0aW9uTW9kdWxlLFxyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgTW9kaWZ5VGFza0Zvcm1Nb2R1bGUsXHJcbiAgICAgICAgSWNvbk1vZHVsZVxyXG4gICAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFRhc2tNb2RpZmllckNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgVGFza01vZGlmaWVyQ29tcG9uZW50XHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEJ1c2luZXNzT2JqZWN0RmFjdG9yeVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRhc2tNb2RpZnllck1vZHVsZSB7XHJcblxyXG59XHJcbiJdfQ==
@@ -12201,19 +12201,21 @@ ModifyTaskFormComponent.decorators = [
12201
12201
  (showWorkLog)="handleShowWorkLow()"
12202
12202
  noBorder
12203
12203
  ></co-task-details>
12204
- <co-input-checkbox
12205
- class="invoice-checkbox"
12206
- [label]="'MARKED' | localize"
12207
- [(model)]="activity.task.isInvoiced">
12208
- </co-input-checkbox>
12209
- <div class="marked-time-wrapper">
12204
+ <div class="task-column">
12210
12205
  <co-input-checkbox
12211
- [(model)]="activity.task.workMandatory"
12212
- [label]="'TIMEREGISTRATION_MANDATORY' | localize"
12213
- noModuleService>
12206
+ class="invoice-checkbox"
12207
+ [label]="'MARKED' | localize"
12208
+ [(model)]="activity.task.isInvoiced">
12214
12209
  </co-input-checkbox>
12215
- <!-- TODO implement back later-->
12216
- <!-- <arrow-link *ngIf="!readonly" label="REGISTER_TIME_HERE" (click)="handleRegisterWork()"></arrow-link>-->
12210
+ <div class="marked-time-wrapper">
12211
+ <co-input-checkbox
12212
+ [(model)]="activity.task.workMandatory"
12213
+ [label]="'TIMEREGISTRATION_MANDATORY' | localize"
12214
+ noModuleService>
12215
+ </co-input-checkbox>
12216
+ <!-- TODO implement back later-->
12217
+ <!-- <arrow-link *ngIf="!readonly" label="REGISTER_TIME_HERE" (click)="handleRegisterWork()"></arrow-link>-->
12218
+ </div>
12217
12219
  </div>
12218
12220
 
12219
12221
  </div>
@@ -12485,9 +12487,11 @@ TaskModifierComponent.decorators = [
12485
12487
  template: `
12486
12488
  <co-dialog *ngIf="showForm"
12487
12489
  (closeClick)="onPopupClose()"
12490
+ [headerTemplate]="headerTemplate"
12491
+ [footerTemplate]="footerTemplate"
12488
12492
  class="task-popup"
12489
12493
  cssId="task_modifier_popup"
12490
- noClickOutside contentSize>
12494
+ >
12491
12495
  <!--
12492
12496
  [header]="header"
12493
12497
  [subHeader]="subHeader"
@@ -12496,6 +12500,12 @@ TaskModifierComponent.decorators = [
12496
12500
  [headerIcon]="icons.Task"
12497
12501
  (openLink)="openReferenceInModule()"-->
12498
12502
  <!-- <ng-template>-->
12503
+ <ng-template #headerTemplate>
12504
+ <div class="header-title-wrapper">
12505
+ <co-icon [iconData]="iconService.getIcon(icons.ListUlRegular)"></co-icon>
12506
+ <div class="co-dialog-header-title" [textContent]="'TASK' | localize"></div>
12507
+ </div>
12508
+ </ng-template>
12499
12509
  <div class="popup-wrapper"
12500
12510
  [ngClass]="(showNewForm) ? 'new-task-popup' : ''">
12501
12511
  <div class="form-wrapper mini-scrollbar">
@@ -12519,21 +12529,19 @@ TaskModifierComponent.decorators = [
12519
12529
  <span [textContent]="'SHOW_AFTER_INSERT' | localize"></span>
12520
12530
  <!-- <thumb [(active)]=showAfterInsert"></thumb>-->
12521
12531
  </div>
12522
- <div class="ok-cancel-buttons">
12523
- <div class="button-left">
12524
- <co-button [disabled]="readonly || taskEditting" [textContent]="'SAVE' | localize" (click)="handleSaveForm()"></co-button>
12525
- </div>
12526
- <div class="button-middle">
12527
- <co-button *ngIf="showNewForm" [textContent]="'CANCEL' | localize" (click)="handleCancelForm()"></co-button>
12528
- </div>
12529
- <div class="button-right">
12530
- <co-button *ngIf="showModificationForm && !readonly"
12531
- [iconData]="iconService.getIcon(icons.Trashbin)" class="delete light"
12532
- [disabled]="readonly || taskEditting"
12533
- (click)="deleteTask()"></co-button>
12534
- </div>
12535
- </div>
12536
12532
  </div>
12533
+ <ng-template #footerTemplate>
12534
+ <div class="co-dialog-footer-button-wrapper">
12535
+ <co-button [disabled]="readonly || taskEditting" class="save-button"
12536
+ (click)="handleSaveForm()" [iconData]="iconService.getIcon(icons.CheckDuotone)"></co-button>
12537
+ <co-button class="close-button"
12538
+ (click)="handleCancelForm()" [iconData]="iconService.getIcon(icons.CrossSkinny)"></co-button>
12539
+ <co-button *ngIf="showModificationForm && !readonly"
12540
+ [iconData]="iconService.getIcon(icons.Trashbin)" class="delete-button"
12541
+ [disabled]="readonly || taskEditting"
12542
+ (click)="deleteTask()"></co-button>
12543
+ </div>
12544
+ </ng-template>
12537
12545
  <!-- </ng-template>-->
12538
12546
  </co-dialog>
12539
12547
  `
@@ -13053,7 +13061,7 @@ ComponentActivityListComponent.decorators = [
13053
13061
  [setHasPausedNotificationsForWorkflowProcessOperation]="setHasPausedNotificationsForWorkflowProcessOperation"
13054
13062
  ></co-activity-list-header>
13055
13063
  <div class="activity-list-content">
13056
- <div class="activity-wrapper" [@showHideTab]="activeTab">
13064
+ <div class="activity-wrapper">
13057
13065
  <div class="activity-tab-content mini-scrollbar">
13058
13066
  <ng-container *ngFor="let activityListViewModel of privateActivityListViewModels">
13059
13067
  <co-collapsible *ngIf="activityListViewModel.showing" #collapseable
@@ -13173,7 +13181,7 @@ class ComponentActivityOverviewComponent extends BaseActivityOverviewComponent {
13173
13181
  this.remarkIcon = Icon.CommentRegular;
13174
13182
  this.workIcon = Icon.PersonDiggingRegular;
13175
13183
  this.statusIcon = Icon.DiagramProjectRegular;
13176
- this.taskIcon = Icon.Task;
13184
+ this.taskIcon = Icon.ListUlRegular;
13177
13185
  }
13178
13186
  showClass() {
13179
13187
  return true;
@@ -13707,13 +13715,13 @@ StatusSummaryBlockComponent.decorators = [
13707
13715
  [placeholder]="'ACTUAL_EXECUTION_DATE' | localize"
13708
13716
  ></co-input-date>
13709
13717
  </div>
13718
+ <co-input-text class="single-field"
13719
+ [placeholder]="'ACTIVITY_STATUS' | localize"
13720
+ [model]="workFlow?.state"
13721
+ [leftIconData]="iconService.getIcon(Icon.PinRoundOpen)"
13722
+ [readonly]="true"
13723
+ ></co-input-text>
13710
13724
  </div>
13711
- <co-input-text class="single-field"
13712
- [placeholder]="'ACTIVITY_STATUS' | localize"
13713
- [model]="workFlow?.state"
13714
- [leftIconData]="iconService.getIcon(Icon.PinRoundOpen)"
13715
- [readonly]="true"
13716
- ></co-input-text>
13717
13725
  </ng-template>
13718
13726
  `,
13719
13727
  providers: [{
@@ -13832,14 +13840,16 @@ CreationSummaryBlockComponent.decorators = [
13832
13840
  [readonly]="readonly"
13833
13841
  [collection]="priorityDomainColl"
13834
13842
  [(model)]="chosenPriority"
13835
- (modelChange)="handlePriorityChange($event)"></co-list-of-values>
13843
+ (modelChange)="handlePriorityChange($event)"
13844
+ [label]="'PRIORITY' | localize"></co-list-of-values>
13836
13845
 
13837
13846
  <co-list-of-values
13838
13847
  [readonly]="readonly"
13839
13848
  [collection]="taskCategories"
13840
13849
  [(model)]="chosenTaskCategory"
13841
13850
  [displayField]="'category'"
13842
- (modelChange)="handleTaskCategoryChange($event)"></co-list-of-values>
13851
+ (modelChange)="handleTaskCategoryChange($event)"
13852
+ [label]="'CATEGORY' | localize"></co-list-of-values>
13843
13853
  </div>
13844
13854
  </ng-template>
13845
13855
  `,
@@ -14270,7 +14280,8 @@ TaskModifyerModule.decorators = [
14270
14280
  LocalizationModule,
14271
14281
  CommonModule,
14272
14282
  ButtonModule,
14273
- ModifyTaskFormModule
14283
+ ModifyTaskFormModule,
14284
+ IconModule
14274
14285
  ],
14275
14286
  declarations: [
14276
14287
  TaskModifierComponent