ngx-techlify-core 18.80.0 → 18.82.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model.component.mjs +2 -2
  2. package/esm2022/lib/audit-log/audit-log-list/audit-log-list.component.mjs +2 -1
  3. package/esm2022/lib/core/app-update.service.mjs +64 -0
  4. package/esm2022/lib/core/index.mjs +2 -1
  5. package/esm2022/lib/export-excel/export-excel-button/export-excel-button.component.mjs +2 -2
  6. package/esm2022/lib/number-selector/number-selector.component.mjs +118 -0
  7. package/esm2022/lib/timeline-activity/timeline-activity-button/timeline-activity-button.component.mjs +2 -2
  8. package/esm2022/lib/timeline-filter/timeline-filter.component.mjs +43 -14
  9. package/esm2022/lib/user/app-admin-user-list/app-admin-user-list.component.mjs +5 -4
  10. package/esm2022/lib/user/user-enable-button-component/user-enable-button.component.mjs +5 -5
  11. package/esm2022/lib/user/user-list/user-list.component.mjs +3 -3
  12. package/esm2022/lib/utility/index.mjs +1 -2
  13. package/esm2022/lib/utility/utility.module.mjs +5 -7
  14. package/esm2022/public-api.mjs +2 -1
  15. package/fesm2022/ngx-techlify-core.mjs +233 -72
  16. package/fesm2022/ngx-techlify-core.mjs.map +1 -1
  17. package/lib/core/app-update.service.d.ts +25 -0
  18. package/lib/core/index.d.ts +1 -0
  19. package/lib/number-selector/number-selector.component.d.ts +44 -0
  20. package/lib/timeline-filter/timeline-filter.component.d.ts +13 -2
  21. package/lib/utility/index.d.ts +0 -1
  22. package/lib/utility/utility.module.d.ts +3 -4
  23. package/package.json +2 -1
  24. package/public-api.d.ts +1 -0
  25. package/styles/style.scss +3 -3
  26. package/esm2022/lib/utility/number-selector.component.mjs +0 -42
  27. package/lib/utility/number-selector.component.d.ts +0 -23
@@ -44,11 +44,11 @@ export class AuditLogForModelComponent {
44
44
  });
45
45
  }
46
46
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuditLogForModelComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AuditLogForModelComponent, selector: "app-audit-log-for-model", inputs: { isIconView: "isIconView", modelType: "modelType", modelId: "modelId", logView: "logView" }, ngImport: i0, template: "<ng-container *ngIf=\"isIconView\">\n <app-techlify-icon *ngIf=\"logView==='recent'\" name=\"history\" matTooltip=\"Recent Audit Log\"\n (click)=\"$event.stopPropagation();getLogView()\" class=\"clickable\"></app-techlify-icon>\n <app-techlify-icon *ngIf=\"logView==='all'\" name=\"history\" matTooltip=\"All Audit Logs\"\n (click)=\"$event.stopPropagation();getLogsView()\" class=\"clickable\"></app-techlify-icon>\n</ng-container>\n\n\n<ng-container *ngIf=\"!isIconView\">\n <button type=\"button\" *ngIf=\"logView==='recent'\" mat-icon-button matTooltip=\"Recent Audit Log\"\n (click)=\"$event.stopPropagation();getLogView()\">\n <mat-icon>history</mat-icon>\n </button>\n\n <button type=\"button\" *ngIf=\"logView==='all'\" mat-icon-button matTooltip=\"All Audit Logs\"\n (click)=\"$event.stopPropagation();getLogsView()\">\n <mat-icon>history</mat-icon>\n </button>\n</ng-container>", styles: [".icon-md{height:24px!important;width:24px!important;font-size:24px!important;margin:0 1px}.icon-sm{height:20px!important;width:20px!important;font-size:20px!important}.icon-xs{height:16px!important;width:16px!important;font-size:16px!important}.fl-md{width:200px!important}.fl-md .mat-mdc-form-field{width:100%!important}.fl-sm{width:150px!important}.fl-sm .mat-mdc-form-field{width:100%!important}.mat-btn-md{height:25px!important;padding:0 8px!important}.fs-12{font-size:12px!important}.fs-16{font-size:16px!important}.fs-13{font-size:13px!important}.fs-18{font-size:18px!important}.clickable:hover{cursor:pointer}.mat-mdc-form-field-hint-wrapper{padding:0 4px!important}.nil-subscript-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.create-another .mat-mdc-checkbox label{margin:0!important}.create-another .mdc-checkbox{padding:0!important}.create-another .mdc-checkbox__background{position:relative;top:0;left:0}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element{color:#f0f0f0!important;-webkit-text-fill-color:#f0f0f0!important}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-select-value{color:#f0f0f0!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i6.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }] }); }
47
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AuditLogForModelComponent, selector: "app-audit-log-for-model", inputs: { isIconView: "isIconView", modelType: "modelType", modelId: "modelId", logView: "logView" }, ngImport: i0, template: "<ng-container *ngIf=\"isIconView\">\n <app-techlify-icon *ngIf=\"logView==='recent'\" name=\"history\" matTooltip=\"Recent Audit Log\"\n (click)=\"$event.stopPropagation();getLogView()\" class=\"clickable\"></app-techlify-icon>\n <app-techlify-icon *ngIf=\"logView==='all'\" name=\"history\" matTooltip=\"All Audit Logs\"\n (click)=\"$event.stopPropagation();getLogsView()\" class=\"clickable\"></app-techlify-icon>\n</ng-container>\n\n\n<ng-container *ngIf=\"!isIconView\">\n <button type=\"button\" *ngIf=\"logView==='recent'\" mat-icon-button matTooltip=\"Recent Audit Log\"\n (click)=\"$event.stopPropagation();getLogView()\">\n <mat-icon>history</mat-icon>\n </button>\n\n <button type=\"button\" *ngIf=\"logView==='all'\" mat-icon-button matTooltip=\"All Audit Logs\"\n (click)=\"$event.stopPropagation();getLogsView()\">\n <mat-icon>history</mat-icon>\n </button>\n</ng-container>", styles: [".icon-md{height:24px!important;width:24px!important;font-size:24px!important;margin:0 1px}.icon-sm{height:20px!important;width:20px!important;font-size:20px!important}.icon-xs{height:16px!important;width:16px!important;font-size:16px!important}.fl-md{width:200px!important}.fl-md .mat-mdc-form-field{width:100%!important}.fl-sm{width:150px!important}.fl-sm .mat-mdc-form-field{width:100%!important}.mat-btn-md{height:25px!important;padding:0 8px!important}.fs-12{font-size:12px!important}.fs-16{font-size:16px!important}.fs-13{font-size:13px!important}.fs-18{font-size:18px!important}.clickable:hover{cursor:pointer}.mat-mdc-form-field-hint-wrapper{padding:0 4px!important}.nil-subscript-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.create-another .mat-mdc-checkbox label{margin:0!important}.create-another .mdc-checkbox{padding:0!important}.create-another .mdc-checkbox__background{position:relative;top:0;left:0}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element{color:#555!important;-webkit-text-fill-color:#555555!important}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-select-value{color:#555!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i6.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }] }); }
48
48
  }
49
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuditLogForModelComponent, decorators: [{
50
50
  type: Component,
51
- args: [{ selector: 'app-audit-log-for-model', template: "<ng-container *ngIf=\"isIconView\">\n <app-techlify-icon *ngIf=\"logView==='recent'\" name=\"history\" matTooltip=\"Recent Audit Log\"\n (click)=\"$event.stopPropagation();getLogView()\" class=\"clickable\"></app-techlify-icon>\n <app-techlify-icon *ngIf=\"logView==='all'\" name=\"history\" matTooltip=\"All Audit Logs\"\n (click)=\"$event.stopPropagation();getLogsView()\" class=\"clickable\"></app-techlify-icon>\n</ng-container>\n\n\n<ng-container *ngIf=\"!isIconView\">\n <button type=\"button\" *ngIf=\"logView==='recent'\" mat-icon-button matTooltip=\"Recent Audit Log\"\n (click)=\"$event.stopPropagation();getLogView()\">\n <mat-icon>history</mat-icon>\n </button>\n\n <button type=\"button\" *ngIf=\"logView==='all'\" mat-icon-button matTooltip=\"All Audit Logs\"\n (click)=\"$event.stopPropagation();getLogsView()\">\n <mat-icon>history</mat-icon>\n </button>\n</ng-container>", styles: [".icon-md{height:24px!important;width:24px!important;font-size:24px!important;margin:0 1px}.icon-sm{height:20px!important;width:20px!important;font-size:20px!important}.icon-xs{height:16px!important;width:16px!important;font-size:16px!important}.fl-md{width:200px!important}.fl-md .mat-mdc-form-field{width:100%!important}.fl-sm{width:150px!important}.fl-sm .mat-mdc-form-field{width:100%!important}.mat-btn-md{height:25px!important;padding:0 8px!important}.fs-12{font-size:12px!important}.fs-16{font-size:16px!important}.fs-13{font-size:13px!important}.fs-18{font-size:18px!important}.clickable:hover{cursor:pointer}.mat-mdc-form-field-hint-wrapper{padding:0 4px!important}.nil-subscript-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.create-another .mat-mdc-checkbox label{margin:0!important}.create-another .mdc-checkbox{padding:0!important}.create-another .mdc-checkbox__background{position:relative;top:0;left:0}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element{color:#f0f0f0!important;-webkit-text-fill-color:#f0f0f0!important}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-select-value{color:#f0f0f0!important}\n"] }]
51
+ args: [{ selector: 'app-audit-log-for-model', template: "<ng-container *ngIf=\"isIconView\">\n <app-techlify-icon *ngIf=\"logView==='recent'\" name=\"history\" matTooltip=\"Recent Audit Log\"\n (click)=\"$event.stopPropagation();getLogView()\" class=\"clickable\"></app-techlify-icon>\n <app-techlify-icon *ngIf=\"logView==='all'\" name=\"history\" matTooltip=\"All Audit Logs\"\n (click)=\"$event.stopPropagation();getLogsView()\" class=\"clickable\"></app-techlify-icon>\n</ng-container>\n\n\n<ng-container *ngIf=\"!isIconView\">\n <button type=\"button\" *ngIf=\"logView==='recent'\" mat-icon-button matTooltip=\"Recent Audit Log\"\n (click)=\"$event.stopPropagation();getLogView()\">\n <mat-icon>history</mat-icon>\n </button>\n\n <button type=\"button\" *ngIf=\"logView==='all'\" mat-icon-button matTooltip=\"All Audit Logs\"\n (click)=\"$event.stopPropagation();getLogsView()\">\n <mat-icon>history</mat-icon>\n </button>\n</ng-container>", styles: [".icon-md{height:24px!important;width:24px!important;font-size:24px!important;margin:0 1px}.icon-sm{height:20px!important;width:20px!important;font-size:20px!important}.icon-xs{height:16px!important;width:16px!important;font-size:16px!important}.fl-md{width:200px!important}.fl-md .mat-mdc-form-field{width:100%!important}.fl-sm{width:150px!important}.fl-sm .mat-mdc-form-field{width:100%!important}.mat-btn-md{height:25px!important;padding:0 8px!important}.fs-12{font-size:12px!important}.fs-16{font-size:16px!important}.fs-13{font-size:13px!important}.fs-18{font-size:18px!important}.clickable:hover{cursor:pointer}.mat-mdc-form-field-hint-wrapper{padding:0 4px!important}.nil-subscript-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.create-another .mat-mdc-checkbox label{margin:0!important}.create-another .mdc-checkbox{padding:0!important}.create-another .mdc-checkbox__background{position:relative;top:0;left:0}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element{color:#555!important;-webkit-text-fill-color:#555555!important}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-select-value{color:#555!important}\n"] }]
52
52
  }], ctorParameters: () => [{ type: i1.MatDialog }], propDecorators: { isIconView: [{
53
53
  type: Input
54
54
  }], modelType: [{
@@ -65,6 +65,7 @@ let AuditLogListComponent = class AuditLogListComponent extends TechlifyListComp
65
65
  if (!this.disableFilterPatchingFromUrl) {
66
66
  this.patchFiltersFromRoute();
67
67
  }
68
+ this.loadData();
68
69
  this.listenFilterChanges();
69
70
  }
70
71
  get excelData() {
@@ -145,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
145
146
  }], scrollContainer: [{
146
147
  type: Input
147
148
  }] } });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLWxpc3QvYXVkaXQtbG9nLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLWxpc3QvYXVkaXQtbG9nLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXbEQsSUFBTSxxQkFBcUIsR0FBM0IsTUFBTSxxQkFBc0IsU0FBUSxxQkFBcUI7SUFzQjlELFlBQ1UsTUFBYyxFQUNmLFNBQXVCLEVBQ3RCLFdBQXdCLEVBQ2IsT0FBd0IsRUFDakMsUUFBa0I7UUFFNUIsS0FBSyxFQUFFLENBQUM7UUFOQSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2YsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNiLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQ2pDLGFBQVEsR0FBUixRQUFRLENBQVU7UUF2QnJCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBRXpCLGlDQUE0QixHQUFHLEtBQUssQ0FBQztRQUNyQyxvQkFBZSxHQUFXLEVBQUUsQ0FBQyxDQUFFLHNFQUFzRTtRQUU5RyxxQkFBZ0IsR0FBVTtZQUN4QixPQUFPO1lBQ1AsSUFBSTtZQUNK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QUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsRSxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDekIsT0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuRixPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9FLE9BQU8sQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNyRCxPQUFPLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckQsT0FBTyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRTNDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUIsQ0FBQzsrR0F0SFUscUJBQXFCO21HQUFyQixxQkFBcUIsbVVDZmxDLGlsSUE2Rk07O0FEOUVPLHFCQUFxQjtJQU5qQyxZQUFZLEVBQUU7R0FNRixxQkFBcUIsQ0F1SGpDOzs0RkF2SFkscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG9CQUFvQjtxTEFNckIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyw0QkFBNEI7c0JBQXBDLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95IH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgVGVjaGxpZnlMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmFzZS1tb2RlbCc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEF1ZGl0TG9nU2VydmljZSB9IGZyb20gJy4uL2F1ZGl0LWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYXVkaXQtbG9nLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXVkaXQtbG9nLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdWRpdC1sb2ctbGlzdC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBdWRpdExvZ0xpc3RDb21wb25lbnQgZXh0ZW5kcyBUZWNobGlmeUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgb2JqZWN0SWQ6IGFueTtcbiAgQElucHV0KCkgb2JqZWN0VHlwZTogYW55O1xuICBASW5wdXQoKSBzaG93RmlsdGVyID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0V4cG9ydEJ1dHRvbnMgPSB0cnVlO1xuICBASW5wdXQoKSB1c2VySWQ6IGFueTtcbiAgQElucHV0KCkgZGlzYWJsZUZpbHRlclBhdGNoaW5nRnJvbVVybCA9IGZhbHNlO1xuICBASW5wdXQoKSBzY3JvbGxDb250YWluZXI6IHN0cmluZyA9ICcnOyAgLy9Eb24ndCBkZWZhdWx0IHRoZSBzY3JvbGwgY29udGFpbmVyLiBPdmVycmlkZSBpdCB3aGVyZSBldmVyIHJlcXVpcmVkLlxuXG4gIGRpc3BsYXllZENvbHVtbnM6IGFueVtdID0gW1xuICAgICdpbmRleCcsXG4gICAgJ2lkJyxcbiAgICAnY3JlYXRlZF9hdCcsXG4gICAgJ29iamVjdF90eXBlJyxcbiAgICAnb2JqZWN0X2lkJyxcbiAgICAnYWN0aW9uJyxcbiAgICAnY2hhbmdlcycsXG4gICAgJ3VzZXIuZW1haWwnLFxuICAgICdhY3Rpb25zJyxcbiAgXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2VydmljZTogQXVkaXRMb2dTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBkYXRlUGlwZTogRGF0ZVBpcGVcbiAgKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuZmlsdGVyRm9ybUNvbmZpZ3VyYXRpb24gPSB7XG4gICAgICBkdXJhdGlvbjogeyBudW1iZXI6IHRydWUgfSxcbiAgICAgIG9iamVjdF90eXBlOiB7IG11bHRpcGxlOiB0cnVlIH0sXG4gICAgICBhY3Rpb246IHsgbXVsdGlwbGU6IHRydWUgfSxcbiAgICAgIGNyZWF0b3JfaWRzOiB7IG11bHRpcGxlOiB0cnVlIH0sXG4gICAgfTtcblxuICAgIHRoaXMuZmlsdGVyRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgYWN0aW9uOiBbJyddLFxuICAgICAgY2hhbmdlX3NlYXJjaDogWycnXSxcbiAgICAgIGR1cmF0aW9uOiBbJyddLFxuICAgICAgZGF0ZV9mcm9tOiBbJyddLFxuICAgICAgZGF0ZV90bzogWycnXSxcbiAgICAgIG1vZGVsX3NlYXJjaDogWycnXSxcbiAgICAgIG9iamVjdF90eXBlOiBbJyddLFxuICAgICAgb2JqZWN0X2lkOiBbJyddLFxuICAgICAgdXNlcl9pZDogWycnXSxcbiAgICAgIHNvcnRfYnk6ICdjcmVhdGVkX2F0fGRlc2MnLFxuICAgICAgY3JlYXRvcl9pZHM6IFsnJ10sXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpemVEYXRhKCk7XG5cbiAgICBpZiAoIXRoaXMuZGlzYWJsZUZpbHRlclBhdGNoaW5nRnJvbVVybCkge1xuICAgICAgdGhpcy5wYXRjaEZpbHRlcnNGcm9tUm91dGUoKTtcbiAgICB9XG5cbiAgICB0aGlzLmxpc3RlbkZpbHRlckNoYW5nZXMoKTtcbiAgfVxuXG4gIGdldCBleGNlbERhdGEoKTogYW55W10ge1xuICAgIGlmICh0aGlzLm1vZGVscy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5tb2RlbHMubWFwKGl0ZW0gPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIFR5cGU6IGl0ZW0/Lm9iamVjdF90eXBlLFxuICAgICAgICAgIEFjdGlvbjogaXRlbT8uYWN0aW9uLFxuICAgICAgICAgIERhdGE6IEpTT04uc3RyaW5naWZ5KGl0ZW0/LmRhdGEgfHwge30pLFxuICAgICAgICAgIE9iamVjdDogSlNPTi5zdHJpbmdpZnkoaXRlbT8ub2JqZWN0IHx8IHt9KSxcbiAgICAgICAgICAnUHJlLU9iamVjdCc6IEpTT04uc3RyaW5naWZ5KGl0ZW0/LnByZV9vYmplY3QgfHwge30pLFxuICAgICAgICAgICdDcmVhdGVkIEF0JzogbmV3IERhdGUoaXRlbT8uY3JlYXRlZF9hdCkudG9EYXRlU3RyaW5nKCksXG4gICAgICAgICAgJ0NyZWF0ZWQgQnknOiBpdGVtPy51c2VyPy5lbWFpbFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGxvZ0NsaWNrZWQobG9nOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9zeXN0ZW0vYXVkaXQtbG9ncy9sb2ctdmlldycsIGxvZy5pZF0pO1xuICB9XG5cbiAgaW5pdGlhbGl6ZURhdGEoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub2JqZWN0VHlwZSkgdGhpcy5maWx0ZXJGb3JtLnBhdGNoVmFsdWUoeyBvYmplY3RfdHlwZTogdGhpcy5vYmplY3RUeXBlIH0pO1xuICAgIGlmICh0aGlzLm9iamVjdElkKSB0aGlzLmZpbHRlckZvcm0ucGF0Y2hWYWx1ZSh7IG9iamVjdF9pZDogdGhpcy5vYmplY3RJZCB9KTtcbiAgICBpZiAodGhpcy51c2VySWQpIHRoaXMuZmlsdGVyRm9ybS5wYXRjaFZhbHVlKHsgdXNlcl9pZDogdGhpcy51c2VySWQgfSk7XG4gIH1cblxuICBnZXRUcmFuc2Zvcm1lZENoYW5nZXMobG9nOiBhbnkpOiBzdHJpbmcge1xuICAgIGlmIChsb2c/LmRhdGE/LmNoYW5nZXMpIHtcbiAgICAgIGNvbnN0IGNoYW5nZXMgPSBPYmplY3Qua2V5cyhsb2c/LmRhdGE/LmNoYW5nZXMpIHx8IFtdO1xuICAgICAgbGV0IHZhbHVlID0gJzxkaXY+JztcbiAgICAgIGNoYW5nZXMuZm9yRWFjaCgoa2V5OiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgZGlzcGxheUF0dHJpYnV0ZSA9IChrZXkgYXMgc3RyaW5nKS5zcGxpdCgnXycpLm1hcCh4ID0+IHguY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB4LnNsaWNlKDEpKS5qb2luKCcgJyk7XG4gICAgICAgIHZhbHVlID0gYCR7dmFsdWV9IDxkaXY+PGI+JHtkaXNwbGF5QXR0cmlidXRlfTo8L2I+IDxzcGFuIGlkPVwib2xkLXZhbHVlXCI+JHtsb2c/LnByZV9vYmplY3Rba2V5XSA/PyAnJ308L3NwYW4+PHNwYW4gaWQ9XCJuZXctdmFsdWVcIj4ke2xvZz8ub2JqZWN0W2tleV0gPz8gJyd9PC9zcGFuPjwvZGl2PmA7XG4gICAgICB9KTtcbiAgICAgIHZhbHVlID0gYCR7dmFsdWV9IDwvZGl2PmA7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIE5lZWRlZCBmb3IgYXV0b21hdGljIHVuc3Vic2NyaWJlIHdpdGggdW50aWxEZXN0cm95ZWRcbiAgfVxuXG4gIGxvYWREYXRhKCk6IHZvaWQge1xuICAgIGNvbnN0IGZpbHRlcnMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZmlsdGVyRm9ybS52YWx1ZSkpO1xuICAgIGZpbHRlcnMucGFnZSA9IHRoaXMucGFnZTtcbiAgICBmaWx0ZXJzLmRhdGVfZnJvbSA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGZpbHRlcnMuZGF0ZV9mcm9tLCAneXl5eS1NTS1kZCcpID8/ICcnO1xuICAgIGZpbHRlcnMuZGF0ZV90byA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGZpbHRlcnMuZGF0ZV90bywgJ3l5eXktTU0tZGQnKSA/PyAnJztcbiAgICBmaWx0ZXJzLmNyZWF0b3JfaWRzID0gZmlsdGVycy5jcmVhdG9yX2lkcy50b1N0cmluZygpO1xuICAgIGZpbHRlcnMub2JqZWN0X3R5cGUgPSBmaWx0ZXJzLm9iamVjdF90eXBlLnRvU3RyaW5nKCk7XG4gICAgZmlsdGVycy5hY3Rpb24gPSBmaWx0ZXJzLmFjdGlvbi50b1N0cmluZygpO1xuXG4gICAgc3VwZXIubG9hZERhdGEoZmlsdGVycyk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtLTJcIj5cbiAgPG1hdC1jYXJkPlxuICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCIgc3R5bGU9XCJtaW4td2lkdGg6IDIwMHB4XCI+XG4gICAgICAgICAgPGg1IGNsYXNzPVwibWItMFwiPiBBdWRpdCBMb2dzIDwvaDU+XG4gICAgICAgICAgPGFwcC1leHBvcnQtZXhjZWwtYnV0dG9uICpuZ0lmPVwic2hvd0V4cG9ydEJ1dHRvbnNcIiBtYXRUb29sdGlwPVwiRXhwb3J0XCIgZWxlbWVudElkPVwiYXVkaXQtbG9ncy10YWJsZVwiXG4gICAgICAgICAgICBjbGFzcz1cIm10LTFcIiBuYW1lPVwiQXVkaXRMb2dzXCIgW2RhdGFdPVwiZXhjZWxEYXRhXCI+XG4gICAgICAgICAgPC9hcHAtZXhwb3J0LWV4Y2VsLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGFwcC1hdWRpdC1sb2ctbGlzdC1maWx0ZXIgY2xhc3M9XCJ3LTEwMFwiICpuZ0lmPVwic2hvd0ZpbHRlclwiIFtmaWx0ZXJGb3JtXT1cImZpbHRlckZvcm1cIiBbb2JqZWN0VHlwZV09XCJvYmplY3RUeXBlXCJcbiAgICAgICAgICBbb2JqZWN0SWRdPVwib2JqZWN0SWRcIj48L2FwcC1hdWRpdC1sb2ctbGlzdC1maWx0ZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gIDwvbWF0LWNhcmQ+XG5cbiAgPG1hdC1jYXJkIGNsYXNzPVwibXQtMlwiPlxuICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJtb2RlbHNcIiBtYXRTb3J0IGNsYXNzPVwidy0xMDBcIiBpbmZpbml0ZVNjcm9sbCBbaW5maW5pdGVTY3JvbGxEaXN0YW5jZV09XCIyXCJcbiAgICAgICAgW2luZmluaXRlU2Nyb2xsVGhyb3R0bGVdPVwiNTBcIiBbaW5maW5pdGVTY3JvbGxDb250YWluZXJdPVwic2Nyb2xsQ29udGFpbmVyXCIgKHNjcm9sbGVkKT1cIm9uU2Nyb2xsKClcIlxuICAgICAgICBbZnJvbVJvb3RdPVwidHJ1ZVwiIChtYXRTb3J0Q2hhbmdlKT1cInNvcnRDb2x1bW4oJGV2ZW50KVwiPlxuXG4gICAgICAgIDwhLS0gSW5kZXggQ29sdW1uIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImluZGV4XCI+XG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gIyA8L3RoPlxuICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpID0gaW5kZXhcIj4ge3sgaSsxIH19IDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaWRcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBMb2cgIyA8L3RoPlxuICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBhdWRpdExvZ1wiPlxuICAgICAgICAgICAge3thdWRpdExvZz8uaWR9fVxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwib2JqZWN0X3R5cGVcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj4gTW9kZWwgVHlwZSA8L3RoPlxuICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBhdWRpdExvZztcIj4ge3sgYXVkaXRMb2cub2JqZWN0X3R5cGUgfX0gPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJvYmplY3RfaWRcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBNb2RlbCAjIDwvdGg+XG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGF1ZGl0TG9nXCI+XG4gICAgICAgICAgICB7e2F1ZGl0TG9nPy5vYmplY3RfaWR9fVxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiYWN0aW9uXCI+XG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+IEFjdGlvbiA8L3RoPlxuICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBhdWRpdExvZztcIj4ge3sgYXVkaXRMb2c/LmFjdGlvbiB9fSA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImNyZWF0ZWRfYXRcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj4gQ3JlYXRlZCBBdCA8L3RoPlxuICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBhdWRpdExvZ1wiPlxuICAgICAgICAgICAge3thdWRpdExvZz8uY3JlYXRlZF9hdCB8IGRhdGU6J21lZGl1bSd9fVxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidXNlci5lbWFpbFwiPlxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPiBDcmVhdGVkIEJ5IDwvdGg+XG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGF1ZGl0TG9nXCI+XG4gICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTBcIj57e2F1ZGl0TG9nPy51c2VyPy5uYW1lfX08L3A+XG4gICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPnt7IGF1ZGl0TG9nPy51c2VyPy5lbWFpbCB9fTwvc21hbGw+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJjaGFuZ2VzXCI+XG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gQ2hhbmdlczwvdGg+XG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGF1ZGl0TG9nXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHgtM1wiIFtpbm5lckh0bWxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGdldFRyYW5zZm9ybWVkQ2hhbmdlcyhhdWRpdExvZykpXCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIEFjdGlvbnMgQ29sdW1uIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImFjdGlvbnNcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBBY3Rpb25zIDwvdGg+XG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGF1ZGl0TG9nXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj5cbiAgICAgICAgICAgICAgPGFwcC10ZWNobGlmeS1pY29uIHJvbGU9XCJidXR0b25cIiBuYW1lPVwidmlld1wiIGNsYXNzPVwiY2xpY2thYmxlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwibG9nQ2xpY2tlZChhdWRpdExvZyk7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiIG1hdFRvb2x0aXA9XCJWaWV3XCI+PC9hcHAtdGVjaGxpZnktaWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uczsgc3RpY2t5OnRydWVcIj48L3RyPlxuICAgICAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIj48L3RyPlxuICAgICAgPC90YWJsZT5cbiAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgKm5nSWY9XCJpc1dvcmtpbmdcIj48L21hdC1wcm9ncmVzcy1iYXI+XG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICA8L21hdC1jYXJkPlxuPC9kaXY+Il19
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLWxpc3QvYXVkaXQtbG9nLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLWxpc3QvYXVkaXQtbG9nLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXbEQsSUFBTSxxQkFBcUIsR0FBM0IsTUFBTSxxQkFBc0IsU0FBUSxxQkFBcUI7SUFzQjlELFlBQ1UsTUFBYyxFQUNmLFNBQXVCLEVBQ3RCLFdBQXdCLEVBQ2IsT0FBd0IsRUFDakMsUUFBa0I7UUFFNUIsS0FBSyxFQUFFLENBQUM7UUFOQSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2YsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNiLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQ2pDLGFBQVEsR0FBUixRQUFRLENBQVU7UUF2QnJCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBRXpCLGlDQUE0QixHQUFHLEtBQUssQ0FBQztRQUNyQyxvQkFBZSxHQUFXLEVBQUUsQ0FBQyxDQUFFLHNFQUFzRTtRQUU5RyxxQkFBZ0IsR0FBVTtZQUN4QixPQUFPO1lBQ1AsSUFBSTtZQUNK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bnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFRlY2hsaWZ5TGlzdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UtbW9kZWwnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBdWRpdExvZ1NlcnZpY2UgfSBmcm9tICcuLi9hdWRpdC1sb2cuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWF1ZGl0LWxvZy1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1ZGl0LWxvZy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXVkaXQtbG9nLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQXVkaXRMb2dMaXN0Q29tcG9uZW50IGV4dGVuZHMgVGVjaGxpZnlMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIG9iamVjdElkOiBhbnk7XG4gIEBJbnB1dCgpIG9iamVjdFR5cGU6IGFueTtcbiAgQElucHV0KCkgc2hvd0ZpbHRlciA9IHRydWU7XG4gIEBJbnB1dCgpIHNob3dFeHBvcnRCdXR0b25zID0gdHJ1ZTtcbiAgQElucHV0KCkgdXNlcklkOiBhbnk7XG4gIEBJbnB1dCgpIGRpc2FibGVGaWx0ZXJQYXRjaGluZ0Zyb21VcmwgPSBmYWxzZTtcbiAgQElucHV0KCkgc2Nyb2xsQ29udGFpbmVyOiBzdHJpbmcgPSAnJzsgIC8vRG9uJ3QgZGVmYXVsdCB0aGUgc2Nyb2xsIGNvbnRhaW5lci4gT3ZlcnJpZGUgaXQgd2hlcmUgZXZlciByZXF1aXJlZC5cblxuICBkaXNwbGF5ZWRDb2x1bW5zOiBhbnlbXSA9IFtcbiAgICAnaW5kZXgnLFxuICAgICdpZCcsXG4gICAgJ2NyZWF0ZWRfYXQnLFxuICAgICdvYmplY3RfdHlwZScsXG4gICAgJ29iamVjdF9pZCcsXG4gICAgJ2FjdGlvbicsXG4gICAgJ2NoYW5nZXMnLFxuICAgICd1c2VyLmVtYWlsJyxcbiAgICAnYWN0aW9ucycsXG4gIF07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwdWJsaWMgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHNlcnZpY2U6IEF1ZGl0TG9nU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZGF0ZVBpcGU6IERhdGVQaXBlXG4gICkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmZpbHRlckZvcm1Db25maWd1cmF0aW9uID0ge1xuICAgICAgZHVyYXRpb246IHsgbnVtYmVyOiB0cnVlIH0sXG4gICAgICBvYmplY3RfdHlwZTogeyBtdWx0aXBsZTogdHJ1ZSB9LFxuICAgICAgYWN0aW9uOiB7IG11bHRpcGxlOiB0cnVlIH0sXG4gICAgICBjcmVhdG9yX2lkczogeyBtdWx0aXBsZTogdHJ1ZSB9LFxuICAgIH07XG5cbiAgICB0aGlzLmZpbHRlckZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGFjdGlvbjogWycnXSxcbiAgICAgIGNoYW5nZV9zZWFyY2g6IFsnJ10sXG4gICAgICBkdXJhdGlvbjogWycnXSxcbiAgICAgIGRhdGVfZnJvbTogWycnXSxcbiAgICAgIGRhdGVfdG86IFsnJ10sXG4gICAgICBtb2RlbF9zZWFyY2g6IFsnJ10sXG4gICAgICBvYmplY3RfdHlwZTogWycnXSxcbiAgICAgIG9iamVjdF9pZDogWycnXSxcbiAgICAgIHVzZXJfaWQ6IFsnJ10sXG4gICAgICBzb3J0X2J5OiAnY3JlYXRlZF9hdHxkZXNjJyxcbiAgICAgIGNyZWF0b3JfaWRzOiBbJyddLFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsaXplRGF0YSgpO1xuXG4gICAgaWYgKCF0aGlzLmRpc2FibGVGaWx0ZXJQYXRjaGluZ0Zyb21VcmwpIHtcbiAgICAgIHRoaXMucGF0Y2hGaWx0ZXJzRnJvbVJvdXRlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5sb2FkRGF0YSgpO1xuICAgIHRoaXMubGlzdGVuRmlsdGVyQ2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0IGV4Y2VsRGF0YSgpOiBhbnlbXSB7XG4gICAgaWYgKHRoaXMubW9kZWxzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB0aGlzLm1vZGVscy5tYXAoaXRlbSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgVHlwZTogaXRlbT8ub2JqZWN0X3R5cGUsXG4gICAgICAgICAgQWN0aW9uOiBpdGVtPy5hY3Rpb24sXG4gICAgICAgICAgRGF0YTogSlNPTi5zdHJpbmdpZnkoaXRlbT8uZGF0YSB8fCB7fSksXG4gICAgICAgICAgT2JqZWN0OiBKU09OLnN0cmluZ2lmeShpdGVtPy5vYmplY3QgfHwge30pLFxuICAgICAgICAgICdQcmUtT2JqZWN0JzogSlNPTi5zdHJpbmdpZnkoaXRlbT8ucHJlX29iamVjdCB8fCB7fSksXG4gICAgICAgICAgJ0NyZWF0ZWQgQXQnOiBuZXcgRGF0ZShpdGVtPy5jcmVhdGVkX2F0KS50b0RhdGVTdHJpbmcoKSxcbiAgICAgICAgICAnQ3JlYXRlZCBCeSc6IGl0ZW0/LnVzZXI/LmVtYWlsXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgbG9nQ2xpY2tlZChsb2c6IGFueSk6IHZvaWQge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL3N5c3RlbS9hdWRpdC1sb2dzL2xvZy12aWV3JywgbG9nLmlkXSk7XG4gIH1cblxuICBpbml0aWFsaXplRGF0YSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vYmplY3RUeXBlKSB0aGlzLmZpbHRlckZvcm0ucGF0Y2hWYWx1ZSh7IG9iamVjdF90eXBlOiB0aGlzLm9iamVjdFR5cGUgfSk7XG4gICAgaWYgKHRoaXMub2JqZWN0SWQpIHRoaXMuZmlsdGVyRm9ybS5wYXRjaFZhbHVlKHsgb2JqZWN0X2lkOiB0aGlzLm9iamVjdElkIH0pO1xuICAgIGlmICh0aGlzLnVzZXJJZCkgdGhpcy5maWx0ZXJGb3JtLnBhdGNoVmFsdWUoeyB1c2VyX2lkOiB0aGlzLnVzZXJJZCB9KTtcbiAgfVxuXG4gIGdldFRyYW5zZm9ybWVkQ2hhbmdlcyhsb2c6IGFueSk6IHN0cmluZyB7XG4gICAgaWYgKGxvZz8uZGF0YT8uY2hhbmdlcykge1xuICAgICAgY29uc3QgY2hhbmdlcyA9IE9iamVjdC5rZXlzKGxvZz8uZGF0YT8uY2hhbmdlcykgfHwgW107XG4gICAgICBsZXQgdmFsdWUgPSAnPGRpdj4nO1xuICAgICAgY2hhbmdlcy5mb3JFYWNoKChrZXk6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBkaXNwbGF5QXR0cmlidXRlID0gKGtleSBhcyBzdHJpbmcpLnNwbGl0KCdfJykubWFwKHggPT4geC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHguc2xpY2UoMSkpLmpvaW4oJyAnKTtcbiAgICAgICAgdmFsdWUgPSBgJHt2YWx1ZX0gPGRpdj48Yj4ke2Rpc3BsYXlBdHRyaWJ1dGV9OjwvYj4gPHNwYW4gaWQ9XCJvbGQtdmFsdWVcIj4ke2xvZz8ucHJlX29iamVjdFtrZXldID8/ICcnfTwvc3Bhbj48c3BhbiBpZD1cIm5ldy12YWx1ZVwiPiR7bG9nPy5vYmplY3Rba2V5XSA/PyAnJ308L3NwYW4+PC9kaXY+YDtcbiAgICAgIH0pO1xuICAgICAgdmFsdWUgPSBgJHt2YWx1ZX0gPC9kaXY+YDtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gTmVlZGVkIGZvciBhdXRvbWF0aWMgdW5zdWJzY3JpYmUgd2l0aCB1bnRpbERlc3Ryb3llZFxuICB9XG5cbiAgbG9hZERhdGEoKTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVycyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5maWx0ZXJGb3JtLnZhbHVlKSk7XG4gICAgZmlsdGVycy5wYWdlID0gdGhpcy5wYWdlO1xuICAgIGZpbHRlcnMuZGF0ZV9mcm9tID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZmlsdGVycy5kYXRlX2Zyb20sICd5eXl5LU1NLWRkJykgPz8gJyc7XG4gICAgZmlsdGVycy5kYXRlX3RvID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZmlsdGVycy5kYXRlX3RvLCAneXl5eS1NTS1kZCcpID8/ICcnO1xuICAgIGZpbHRlcnMuY3JlYXRvcl9pZHMgPSBmaWx0ZXJzLmNyZWF0b3JfaWRzLnRvU3RyaW5nKCk7XG4gICAgZmlsdGVycy5vYmplY3RfdHlwZSA9IGZpbHRlcnMub2JqZWN0X3R5cGUudG9TdHJpbmcoKTtcbiAgICBmaWx0ZXJzLmFjdGlvbiA9IGZpbHRlcnMuYWN0aW9uLnRvU3RyaW5nKCk7XG5cbiAgICBzdXBlci5sb2FkRGF0YShmaWx0ZXJzKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm0tMlwiPlxuICA8bWF0LWNhcmQ+XG4gICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIiBzdHlsZT1cIm1pbi13aWR0aDogMjAwcHhcIj5cbiAgICAgICAgICA8aDUgY2xhc3M9XCJtYi0wXCI+IEF1ZGl0IExvZ3MgPC9oNT5cbiAgICAgICAgICA8YXBwLWV4cG9ydC1leGNlbC1idXR0b24gKm5nSWY9XCJzaG93RXhwb3J0QnV0dG9uc1wiIG1hdFRvb2x0aXA9XCJFeHBvcnRcIiBlbGVtZW50SWQ9XCJhdWRpdC1sb2dzLXRhYmxlXCJcbiAgICAgICAgICAgIGNsYXNzPVwibXQtMVwiIG5hbWU9XCJBdWRpdExvZ3NcIiBbZGF0YV09XCJleGNlbERhdGFcIj5cbiAgICAgICAgICA8L2FwcC1leHBvcnQtZXhjZWwtYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8YXBwLWF1ZGl0LWxvZy1saXN0LWZpbHRlciBjbGFzcz1cInctMTAwXCIgKm5nSWY9XCJzaG93RmlsdGVyXCIgW2ZpbHRlckZvcm1dPVwiZmlsdGVyRm9ybVwiIFtvYmplY3RUeXBlXT1cIm9iamVjdFR5cGVcIlxuICAgICAgICAgIFtvYmplY3RJZF09XCJvYmplY3RJZFwiPjwvYXBwLWF1ZGl0LWxvZy1saXN0LWZpbHRlcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgPC9tYXQtY2FyZD5cblxuICA8bWF0LWNhcmQgY2xhc3M9XCJtdC0yXCI+XG4gICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cIm1vZGVsc1wiIG1hdFNvcnQgY2xhc3M9XCJ3LTEwMFwiIGluZmluaXRlU2Nyb2xsIFtpbmZpbml0ZVNjcm9sbERpc3RhbmNlXT1cIjJcIlxuICAgICAgICBbaW5maW5pdGVTY3JvbGxUaHJvdHRsZV09XCI1MFwiIFtpbmZpbml0ZVNjcm9sbENvbnRhaW5lcl09XCJzY3JvbGxDb250YWluZXJcIiAoc2Nyb2xsZWQpPVwib25TY3JvbGwoKVwiXG4gICAgICAgIFtmcm9tUm9vdF09XCJ0cnVlXCIgKG1hdFNvcnRDaGFuZ2UpPVwic29ydENvbHVtbigkZXZlbnQpXCI+XG5cbiAgICAgICAgPCEtLSBJbmRleCBDb2x1bW4gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaW5kZXhcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiAjIDwvdGg+XG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGkgPSBpbmRleFwiPiB7eyBpKzEgfX0gPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJpZFwiPlxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IExvZyAjIDwvdGg+XG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGF1ZGl0TG9nXCI+XG4gICAgICAgICAgICB7e2F1ZGl0TG9nPy5pZH19XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJvYmplY3RfdHlwZVwiPlxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPiBNb2RlbCBUeXBlIDwvdGg+XG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGF1ZGl0TG9nO1wiPiB7eyBhdWRpdExvZy5vYmplY3RfdHlwZSB9fSA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm9iamVjdF9pZFwiPlxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IE1vZGVsICMgPC90aD5cbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgYXVkaXRMb2dcIj5cbiAgICAgICAgICAgIHt7YXVkaXRMb2c/Lm9iamVjdF9pZH19XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJhY3Rpb25cIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj4gQWN0aW9uIDwvdGg+XG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGF1ZGl0TG9nO1wiPiB7eyBhdWRpdExvZz8uYWN0aW9uIH19IDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiY3JlYXRlZF9hdFwiPlxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPiBDcmVhdGVkIEF0IDwvdGg+XG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGF1ZGl0TG9nXCI+XG4gICAgICAgICAgICB7e2F1ZGl0TG9nPy5jcmVhdGVkX2F0IHwgZGF0ZTonbWVkaXVtJ319XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ1c2VyLmVtYWlsXCI+XG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+IENyZWF0ZWQgQnkgPC90aD5cbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgYXVkaXRMb2dcIj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMFwiPnt7YXVkaXRMb2c/LnVzZXI/Lm5hbWV9fTwvcD5cbiAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCI+e3sgYXVkaXRMb2c/LnVzZXI/LmVtYWlsIH19PC9zbWFsbD5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImNoYW5nZXNcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBDaGFuZ2VzPC90aD5cbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgYXVkaXRMb2dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweC0zXCIgW2lubmVySHRtbF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZ2V0VHJhbnNmb3JtZWRDaGFuZ2VzKGF1ZGl0TG9nKSlcIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gQWN0aW9ucyBDb2x1bW4gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiYWN0aW9uc1wiPlxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IEFjdGlvbnMgPC90aD5cbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgYXVkaXRMb2dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICA8YXBwLXRlY2hsaWZ5LWljb24gcm9sZT1cImJ1dHRvblwiIG5hbWU9XCJ2aWV3XCIgY2xhc3M9XCJjbGlja2FibGVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJsb2dDbGlja2VkKGF1ZGl0TG9nKTskZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCIgbWF0VG9vbHRpcD1cIlZpZXdcIj48L2FwcC10ZWNobGlmeS1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6dHJ1ZVwiPjwvdHI+XG4gICAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XG4gICAgICA8L3RhYmxlPlxuICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiAqbmdJZj1cImlzV29ya2luZ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gIDwvbWF0LWNhcmQ+XG48L2Rpdj4iXX0=
@@ -0,0 +1,64 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/service-worker";
4
+ import * as i2 from "@angular/material/snack-bar";
5
+ /**
6
+ * Watches for new app deployments via the Angular service worker and prompts
7
+ * the user to reload. Checks are event-driven only (VERSION_READY push, tab
8
+ * becoming visible again) - a periodic polling interval was reviewed and
9
+ * rejected, so don't reintroduce one.
10
+ *
11
+ * Consuming apps must register the service worker themselves
12
+ * (ServiceWorkerModule.register('ngsw-worker.js', ...)) and call init() once,
13
+ * e.g. from AppComponent.ngOnInit().
14
+ */
15
+ export class AppUpdateService {
16
+ constructor(swUpdate, snackBar) {
17
+ this.swUpdate = swUpdate;
18
+ this.snackBar = snackBar;
19
+ }
20
+ init() {
21
+ if (!this.swUpdate.isEnabled) {
22
+ return;
23
+ }
24
+ this.promptOnVersionReady();
25
+ this.reloadOnUnrecoverableState();
26
+ this.checkForUpdatesWhenTabBecomesVisible();
27
+ }
28
+ promptOnVersionReady() {
29
+ this.swUpdate.versionUpdates.subscribe(event => {
30
+ if (event.type === 'VERSION_READY') {
31
+ this.promptReload();
32
+ }
33
+ });
34
+ }
35
+ reloadOnUnrecoverableState() {
36
+ this.swUpdate.unrecoverable.subscribe(() => {
37
+ alert('An error occurred loading the latest version of the app. It will now reload to recover.');
38
+ document.location.reload();
39
+ });
40
+ }
41
+ checkForUpdatesWhenTabBecomesVisible() {
42
+ document.addEventListener('visibilitychange', () => {
43
+ if (document.visibilityState === 'visible') {
44
+ this.swUpdate.checkForUpdate();
45
+ }
46
+ });
47
+ }
48
+ promptReload() {
49
+ const snackBarRef = this.snackBar.open('A new version of the app is available.', 'Reload', {
50
+ horizontalPosition: 'right',
51
+ verticalPosition: 'top',
52
+ });
53
+ snackBarRef.onAction().subscribe(() => document.location.reload());
54
+ }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppUpdateService, deps: [{ token: i1.SwUpdate }, { token: i2.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable }); }
56
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppUpdateService, providedIn: 'root' }); }
57
+ }
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppUpdateService, decorators: [{
59
+ type: Injectable,
60
+ args: [{
61
+ providedIn: 'root'
62
+ }]
63
+ }], ctorParameters: () => [{ type: i1.SwUpdate }, { type: i2.MatSnackBar }] });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXVwZGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9jb3JlL2FwcC11cGRhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBSTNDOzs7Ozs7Ozs7R0FTRztBQUlILE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsWUFDVSxRQUFrQixFQUNsQixRQUFxQjtRQURyQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQWE7SUFDM0IsQ0FBQztJQUVMLElBQUk7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM3QixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxvQ0FBb0MsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzdDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxlQUFlLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTywwQkFBMEI7UUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN6QyxLQUFLLENBQUMseUZBQXlGLENBQUMsQ0FBQztZQUNqRyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9DQUFvQztRQUMxQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFO1lBQ2pELElBQUksUUFBUSxDQUFDLGVBQWUsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNqQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sWUFBWTtRQUNsQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyx3Q0FBd0MsRUFBRSxRQUFRLEVBQUU7WUFDekYsa0JBQWtCLEVBQUUsT0FBTztZQUMzQixnQkFBZ0IsRUFBRSxLQUFLO1NBQ3hCLENBQUMsQ0FBQztRQUNILFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7K0dBOUNVLGdCQUFnQjttSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN3VXBkYXRlIH0gZnJvbSAnQGFuZ3VsYXIvc2VydmljZS13b3JrZXInO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuXG4vKipcbiAqIFdhdGNoZXMgZm9yIG5ldyBhcHAgZGVwbG95bWVudHMgdmlhIHRoZSBBbmd1bGFyIHNlcnZpY2Ugd29ya2VyIGFuZCBwcm9tcHRzXG4gKiB0aGUgdXNlciB0byByZWxvYWQuIENoZWNrcyBhcmUgZXZlbnQtZHJpdmVuIG9ubHkgKFZFUlNJT05fUkVBRFkgcHVzaCwgdGFiXG4gKiBiZWNvbWluZyB2aXNpYmxlIGFnYWluKSAtIGEgcGVyaW9kaWMgcG9sbGluZyBpbnRlcnZhbCB3YXMgcmV2aWV3ZWQgYW5kXG4gKiByZWplY3RlZCwgc28gZG9uJ3QgcmVpbnRyb2R1Y2Ugb25lLlxuICpcbiAqIENvbnN1bWluZyBhcHBzIG11c3QgcmVnaXN0ZXIgdGhlIHNlcnZpY2Ugd29ya2VyIHRoZW1zZWx2ZXNcbiAqIChTZXJ2aWNlV29ya2VyTW9kdWxlLnJlZ2lzdGVyKCduZ3N3LXdvcmtlci5qcycsIC4uLikpIGFuZCBjYWxsIGluaXQoKSBvbmNlLFxuICogZS5nLiBmcm9tIEFwcENvbXBvbmVudC5uZ09uSW5pdCgpLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBcHBVcGRhdGVTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN3VXBkYXRlOiBTd1VwZGF0ZSxcbiAgICBwcml2YXRlIHNuYWNrQmFyOiBNYXRTbmFja0JhclxuICApIHsgfVxuXG4gIGluaXQoKSB7XG4gICAgaWYgKCF0aGlzLnN3VXBkYXRlLmlzRW5hYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucHJvbXB0T25WZXJzaW9uUmVhZHkoKTtcbiAgICB0aGlzLnJlbG9hZE9uVW5yZWNvdmVyYWJsZVN0YXRlKCk7XG4gICAgdGhpcy5jaGVja0ZvclVwZGF0ZXNXaGVuVGFiQmVjb21lc1Zpc2libGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgcHJvbXB0T25WZXJzaW9uUmVhZHkoKSB7XG4gICAgdGhpcy5zd1VwZGF0ZS52ZXJzaW9uVXBkYXRlcy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICdWRVJTSU9OX1JFQURZJykge1xuICAgICAgICB0aGlzLnByb21wdFJlbG9hZCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZWxvYWRPblVucmVjb3ZlcmFibGVTdGF0ZSgpIHtcbiAgICB0aGlzLnN3VXBkYXRlLnVucmVjb3ZlcmFibGUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGFsZXJ0KCdBbiBlcnJvciBvY2N1cnJlZCBsb2FkaW5nIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgYXBwLiBJdCB3aWxsIG5vdyByZWxvYWQgdG8gcmVjb3Zlci4nKTtcbiAgICAgIGRvY3VtZW50LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0ZvclVwZGF0ZXNXaGVuVGFiQmVjb21lc1Zpc2libGUoKSB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndmlzaWJpbGl0eWNoYW5nZScsICgpID0+IHtcbiAgICAgIGlmIChkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgPT09ICd2aXNpYmxlJykge1xuICAgICAgICB0aGlzLnN3VXBkYXRlLmNoZWNrRm9yVXBkYXRlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHByb21wdFJlbG9hZCgpIHtcbiAgICBjb25zdCBzbmFja0JhclJlZiA9IHRoaXMuc25hY2tCYXIub3BlbignQSBuZXcgdmVyc2lvbiBvZiB0aGUgYXBwIGlzIGF2YWlsYWJsZS4nLCAnUmVsb2FkJywge1xuICAgICAgaG9yaXpvbnRhbFBvc2l0aW9uOiAncmlnaHQnLFxuICAgICAgdmVydGljYWxQb3NpdGlvbjogJ3RvcCcsXG4gICAgfSk7XG4gICAgc25hY2tCYXJSZWYub25BY3Rpb24oKS5zdWJzY3JpYmUoKCkgPT4gZG9jdW1lbnQubG9jYXRpb24ucmVsb2FkKCkpO1xuICB9XG59XG4iXX0=
@@ -1,6 +1,7 @@
1
1
  export * from './snack/snack.component';
2
2
  export * from './snack/snack.module';
3
3
  export * from './alert.service';
4
+ export * from './app-update.service';
4
5
  export * from './api-prefix.interceptor';
5
6
  export * from './authentication.guard';
6
7
  export * from './authentication.service';
@@ -19,4 +20,4 @@ export * from './techlify-config.model';
19
20
  export * from './token.interceptor';
20
21
  export * from './filter.service';
21
22
  export * from './environment.service';
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2NvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NuYWNrL3NuYWNrLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NuYWNrL3NuYWNrLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYWxlcnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2FwaS1wcmVmaXguaW50ZXJjZXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoZW50aWNhdGlvbi5ndWFyZCc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jYWNoZS5pbnRlcmNlcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlZGVudGlhbHMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2Vycm9yLWhhbmRsZXIuaW50ZXJjZXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLXZhbGlkYXRvci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1jYWNoZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbG9nZ2VyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9yb3V0ZS1yZXVzYWJsZS1zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JhZ2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3RlY2hsaWZ5LWNvbmZpZy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3Rva2VuLmludGVyY2VwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnZpcm9ubWVudC5zZXJ2aWNlJztcbiJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2NvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc25hY2svc25hY2suY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc25hY2svc25hY2subW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9hbGVydC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBwLXVwZGF0ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpLXByZWZpeC5pbnRlcmNlcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2F1dGhlbnRpY2F0aW9uLmd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NhY2hlLmludGVyY2VwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlnLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVkZW50aWFscy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3ItaGFuZGxlci5pbnRlcmNlcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2Vycm9yLWhhbmRsZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tdmFsaWRhdG9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9odHRwLWNhY2hlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9odHRwLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2dnZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3JvdXRlLXJldXNhYmxlLXN0cmF0ZWd5JztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdGVjaGxpZnktY29uZmlnLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW4uaW50ZXJjZXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2Vudmlyb25tZW50LnNlcnZpY2UnO1xuIl19
@@ -89,11 +89,11 @@ export class ExportExcelButtonComponent {
89
89
  });
90
90
  }
91
91
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExportExcelButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
92
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ExportExcelButtonComponent, selector: "app-export-excel-button", inputs: { isCSV: "isCSV", iconName: "iconName", fileName: "fileName", data: "data", tableId: "tableId", isParseNumeric: "isParseNumeric" }, outputs: { isExportingToExcel: "isExportingToExcel" }, ngImport: i0, template: "<app-techlify-icon class=\"clickable d-print-none\" *ngIf=\"!isWorking\" [name]=\"iconName\" (click)=\"exportToExcel()\"\n matTooltip=\"Excel Export\">\n</app-techlify-icon>", styles: [".icon-md{height:24px!important;width:24px!important;font-size:24px!important;margin:0 1px}.icon-sm{height:20px!important;width:20px!important;font-size:20px!important}.icon-xs{height:16px!important;width:16px!important;font-size:16px!important}.fl-md{width:200px!important}.fl-md .mat-mdc-form-field{width:100%!important}.fl-sm{width:150px!important}.fl-sm .mat-mdc-form-field{width:100%!important}.mat-btn-md{height:25px!important;padding:0 8px!important}.fs-12{font-size:12px!important}.fs-16{font-size:16px!important}.fs-13{font-size:13px!important}.fs-18{font-size:18px!important}.clickable:hover{cursor:pointer}.mat-mdc-form-field-hint-wrapper{padding:0 4px!important}.nil-subscript-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.create-another .mat-mdc-checkbox label{margin:0!important}.create-another .mdc-checkbox{padding:0!important}.create-another .mdc-checkbox__background{position:relative;top:0;left:0}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element{color:#f0f0f0!important;-webkit-text-fill-color:#f0f0f0!important}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-select-value{color:#f0f0f0!important}:host{display:flex;align-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i3.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }] }); }
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ExportExcelButtonComponent, selector: "app-export-excel-button", inputs: { isCSV: "isCSV", iconName: "iconName", fileName: "fileName", data: "data", tableId: "tableId", isParseNumeric: "isParseNumeric" }, outputs: { isExportingToExcel: "isExportingToExcel" }, ngImport: i0, template: "<app-techlify-icon class=\"clickable d-print-none\" *ngIf=\"!isWorking\" [name]=\"iconName\" (click)=\"exportToExcel()\"\n matTooltip=\"Excel Export\">\n</app-techlify-icon>", styles: [".icon-md{height:24px!important;width:24px!important;font-size:24px!important;margin:0 1px}.icon-sm{height:20px!important;width:20px!important;font-size:20px!important}.icon-xs{height:16px!important;width:16px!important;font-size:16px!important}.fl-md{width:200px!important}.fl-md .mat-mdc-form-field{width:100%!important}.fl-sm{width:150px!important}.fl-sm .mat-mdc-form-field{width:100%!important}.mat-btn-md{height:25px!important;padding:0 8px!important}.fs-12{font-size:12px!important}.fs-16{font-size:16px!important}.fs-13{font-size:13px!important}.fs-18{font-size:18px!important}.clickable:hover{cursor:pointer}.mat-mdc-form-field-hint-wrapper{padding:0 4px!important}.nil-subscript-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.create-another .mat-mdc-checkbox label{margin:0!important}.create-another .mdc-checkbox{padding:0!important}.create-another .mdc-checkbox__background{position:relative;top:0;left:0}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element{color:#555!important;-webkit-text-fill-color:#555555!important}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-select-value{color:#555!important}:host{display:flex;align-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i3.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }] }); }
93
93
  }
94
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExportExcelButtonComponent, decorators: [{
95
95
  type: Component,
96
- args: [{ selector: 'app-export-excel-button', template: "<app-techlify-icon class=\"clickable d-print-none\" *ngIf=\"!isWorking\" [name]=\"iconName\" (click)=\"exportToExcel()\"\n matTooltip=\"Excel Export\">\n</app-techlify-icon>", styles: [".icon-md{height:24px!important;width:24px!important;font-size:24px!important;margin:0 1px}.icon-sm{height:20px!important;width:20px!important;font-size:20px!important}.icon-xs{height:16px!important;width:16px!important;font-size:16px!important}.fl-md{width:200px!important}.fl-md .mat-mdc-form-field{width:100%!important}.fl-sm{width:150px!important}.fl-sm .mat-mdc-form-field{width:100%!important}.mat-btn-md{height:25px!important;padding:0 8px!important}.fs-12{font-size:12px!important}.fs-16{font-size:16px!important}.fs-13{font-size:13px!important}.fs-18{font-size:18px!important}.clickable:hover{cursor:pointer}.mat-mdc-form-field-hint-wrapper{padding:0 4px!important}.nil-subscript-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.create-another .mat-mdc-checkbox label{margin:0!important}.create-another .mdc-checkbox{padding:0!important}.create-another .mdc-checkbox__background{position:relative;top:0;left:0}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element{color:#f0f0f0!important;-webkit-text-fill-color:#f0f0f0!important}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-select-value{color:#f0f0f0!important}:host{display:flex;align-content:center}\n"] }]
96
+ args: [{ selector: 'app-export-excel-button', template: "<app-techlify-icon class=\"clickable d-print-none\" *ngIf=\"!isWorking\" [name]=\"iconName\" (click)=\"exportToExcel()\"\n matTooltip=\"Excel Export\">\n</app-techlify-icon>", styles: [".icon-md{height:24px!important;width:24px!important;font-size:24px!important;margin:0 1px}.icon-sm{height:20px!important;width:20px!important;font-size:20px!important}.icon-xs{height:16px!important;width:16px!important;font-size:16px!important}.fl-md{width:200px!important}.fl-md .mat-mdc-form-field{width:100%!important}.fl-sm{width:150px!important}.fl-sm .mat-mdc-form-field{width:100%!important}.mat-btn-md{height:25px!important;padding:0 8px!important}.fs-12{font-size:12px!important}.fs-16{font-size:16px!important}.fs-13{font-size:13px!important}.fs-18{font-size:18px!important}.clickable:hover{cursor:pointer}.mat-mdc-form-field-hint-wrapper{padding:0 4px!important}.nil-subscript-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.create-another .mat-mdc-checkbox label{margin:0!important}.create-another .mdc-checkbox{padding:0!important}.create-another .mdc-checkbox__background{position:relative;top:0;left:0}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element{color:#555!important;-webkit-text-fill-color:#555555!important}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-select-value{color:#555!important}:host{display:flex;align-content:center}\n"] }]
97
97
  }], ctorParameters: () => [], propDecorators: { isCSV: [{
98
98
  type: Input
99
99
  }], iconName: [{
@@ -0,0 +1,118 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { booleanAttribute, Component, computed, Input, input, numberAttribute, Optional, Self, signal } from '@angular/core';
3
+ import { MatFormFieldControl } from '@angular/material/form-field';
4
+ import { Subject, Subscription } from 'rxjs';
5
+ import { MaterialModule } from '../material.module';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/cdk/a11y";
8
+ import * as i2 from "@angular/forms";
9
+ import * as i3 from "@angular/common";
10
+ import * as i4 from "@angular/material/core";
11
+ import * as i5 from "@angular/material/select";
12
+ export class NumberSelectorComponent {
13
+ static { this.nextId = 0; }
14
+ get empty() { return this.selected() === null; }
15
+ get shouldLabelFloat() { return this.focused || !this.empty; }
16
+ get errorState() {
17
+ return !!(this.ngControl && this.ngControl.invalid && (this.ngControl.touched || this.ngControl.dirty));
18
+ }
19
+ get value() { return this.selected(); }
20
+ set value(data) {
21
+ this.selected.set(data ?? null);
22
+ this.stateChanges.next();
23
+ }
24
+ constructor(_focusMonitor, _elementRef, ngControl) {
25
+ this._focusMonitor = _focusMonitor;
26
+ this._elementRef = _elementRef;
27
+ this.ngControl = ngControl;
28
+ this.min = input(1, { transform: numberAttribute });
29
+ this.max = input(10, { transform: numberAttribute });
30
+ this.placeholder = '';
31
+ this.required = false;
32
+ this.selected = signal(null);
33
+ this.items = computed(() => {
34
+ const items = [];
35
+ for (let value = this.min(); value <= this.max(); value++) {
36
+ items.push(value);
37
+ }
38
+ return items;
39
+ });
40
+ this.stateChanges = new Subject();
41
+ this.controlType = 'number-selector';
42
+ this.id = `number-selector-${NumberSelectorComponent.nextId++}`;
43
+ this.describedBy = '';
44
+ this.focused = false;
45
+ this.disabled = false;
46
+ this.onChange = () => { };
47
+ this.onTouched = () => { };
48
+ this.subscriptions = new Subscription();
49
+ this.subscriptions.add(_focusMonitor.monitor(_elementRef, true).subscribe(origin => {
50
+ if (this.focused && !origin) {
51
+ this.onTouched();
52
+ }
53
+ this.focused = !!origin;
54
+ this.stateChanges.next();
55
+ }));
56
+ if (this.ngControl != null) {
57
+ this.ngControl.valueAccessor = this;
58
+ }
59
+ }
60
+ setDescribedByIds(ids) {
61
+ this.describedBy = ids.join(' ');
62
+ }
63
+ onContainerClick(event) {
64
+ event.stopPropagation();
65
+ }
66
+ writeValue(data) {
67
+ this.value = data;
68
+ }
69
+ registerOnChange(fn) {
70
+ this.onChange = fn;
71
+ }
72
+ registerOnTouched(fn) {
73
+ this.onTouched = fn;
74
+ }
75
+ setDisabledState(isDisabled) {
76
+ this.disabled = isDisabled;
77
+ this.stateChanges.next();
78
+ }
79
+ handleChange(data) {
80
+ this.value = data;
81
+ this.onChange(this.value);
82
+ this.onTouched();
83
+ }
84
+ ngOnDestroy() {
85
+ this.stateChanges.complete();
86
+ this._focusMonitor.stopMonitoring(this._elementRef);
87
+ this.subscriptions.unsubscribe();
88
+ }
89
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumberSelectorComponent, deps: [{ token: i1.FocusMonitor }, { token: i0.ElementRef }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
90
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: NumberSelectorComponent, isStandalone: true, selector: "app-number-selector", inputs: { min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: false, isRequired: false, transformFunction: booleanAttribute } }, providers: [
91
+ {
92
+ provide: MatFormFieldControl,
93
+ useExisting: NumberSelectorComponent
94
+ }
95
+ ], ngImport: i0, template: "<mat-select [value]=\"selected()\" [required]=\"required\" [disabled]=\"disabled\" [attr.aria-describedby]=\"describedBy\"\n (selectionChange)=\"handleChange($event.value)\">\n <mat-option *ngFor=\"let item of items()\" [value]=\"item\">{{ item }}</mat-option>\n</mat-select>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }] }); }
96
+ }
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumberSelectorComponent, decorators: [{
98
+ type: Component,
99
+ args: [{ selector: 'app-number-selector', standalone: true, imports: [
100
+ CommonModule,
101
+ MaterialModule
102
+ ], providers: [
103
+ {
104
+ provide: MatFormFieldControl,
105
+ useExisting: NumberSelectorComponent
106
+ }
107
+ ], template: "<mat-select [value]=\"selected()\" [required]=\"required\" [disabled]=\"disabled\" [attr.aria-describedby]=\"describedBy\"\n (selectionChange)=\"handleChange($event.value)\">\n <mat-option *ngFor=\"let item of items()\" [value]=\"item\">{{ item }}</mat-option>\n</mat-select>\n" }]
108
+ }], ctorParameters: () => [{ type: i1.FocusMonitor }, { type: i0.ElementRef }, { type: i2.NgControl, decorators: [{
109
+ type: Optional
110
+ }, {
111
+ type: Self
112
+ }] }], propDecorators: { placeholder: [{
113
+ type: Input
114
+ }], required: [{
115
+ type: Input,
116
+ args: [{ transform: booleanAttribute }]
117
+ }] } });
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvbnVtYmVyLXNlbGVjdG9yL251bWJlci1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL251bWJlci1zZWxlY3Rvci9udW1iZXItc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULFFBQVEsRUFFUixLQUFLLEVBQ0wsS0FBSyxFQUNMLGVBQWUsRUFFZixRQUFRLEVBQ1IsSUFBSSxFQUNKLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7QUFpQnBELE1BQU0sT0FBTyx1QkFBdUI7YUFFM0IsV0FBTSxHQUFHLENBQUMsQUFBSixDQUFLO0lBNEJsQixJQUFJLEtBQUssS0FBYyxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRXpELElBQUksZ0JBQWdCLEtBQWMsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFFdkUsSUFBSSxVQUFVO1FBQ1osT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMs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RSxPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixXQUFXLHlCQUF5Qjt5QkFDckM7cUJBQ0Y7OzBCQWlERSxRQUFROzswQkFBSSxJQUFJO3lDQXpDVixXQUFXO3NCQUFuQixLQUFLO2dCQUNrQyxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBpbnB1dCxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBTZWxmLFxuICBzaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uL21hdGVyaWFsLm1vZHVsZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1udW1iZXItc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vbnVtYmVyLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRlcmlhbE1vZHVsZVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLFxuICAgICAgdXNlRXhpc3Rpbmc6IE51bWJlclNlbGVjdG9yQ29tcG9uZW50XG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE51bWJlclNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE1hdEZvcm1GaWVsZENvbnRyb2w8bnVtYmVyPiwgT25EZXN0cm95IHtcblxuICBzdGF0aWMgbmV4dElkID0gMDtcbiAgcmVhZG9ubHkgbWluID0gaW5wdXQoMSwgeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KTtcbiAgcmVhZG9ubHkgbWF4ID0gaW5wdXQoMTAsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG5cbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHJlcXVpcmVkID0gZmFsc2U7XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWQgPSBzaWduYWw8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgcmVhZG9ubHkgaXRlbXMgPSBjb21wdXRlZDxudW1iZXJbXT4oKCkgPT4ge1xuICAgIGNvbnN0IGl0ZW1zOiBudW1iZXJbXSA9IFtdO1xuICAgIGZvciAobGV0IHZhbHVlID0gdGhpcy5taW4oKTsgdmFsdWUgPD0gdGhpcy5tYXgoKTsgdmFsdWUrKykge1xuICAgICAgaXRlbXMucHVzaCh2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiBpdGVtcztcbiAgfSk7XG5cbiAgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgY29udHJvbFR5cGUgPSAnbnVtYmVyLXNlbGVjdG9yJztcbiAgaWQgPSBgbnVtYmVyLXNlbGVjdG9yLSR7TnVtYmVyU2VsZWN0b3JDb21wb25lbnQubmV4dElkKyt9YDtcbiAgZGVzY3JpYmVkQnkgPSAnJztcbiAgZm9jdXNlZCA9IGZhbHNlO1xuICBkaXNhYmxlZCA9IGZhbHNlO1xuICBvbkNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHsgfTtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgZ2V0IGVtcHR5KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5zZWxlY3RlZCgpID09PSBudWxsOyB9XG5cbiAgZ2V0IHNob3VsZExhYmVsRmxvYXQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmZvY3VzZWQgfHwgIXRoaXMuZW1wdHk7IH1cblxuICBnZXQgZXJyb3JTdGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy5uZ0NvbnRyb2wgJiYgdGhpcy5uZ0NvbnRyb2wuaW52YWxpZCAmJiAodGhpcy5uZ0NvbnRyb2wudG91Y2hlZCB8fCB0aGlzLm5nQ29udHJvbC5kaXJ0eSkpO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCk6IG51bWJlciB8IG51bGwgeyByZXR1cm4gdGhpcy5zZWxlY3RlZCgpOyB9XG4gIHNldCB2YWx1ZShkYXRhOiBudW1iZXIgfCBudWxsKSB7XG4gICAgdGhpcy5zZWxlY3RlZC5zZXQoZGF0YSA/PyBudWxsKTtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9mb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCkge1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIF9mb2N1c01vbml0b3IubW9uaXRvcihfZWxlbWVudFJlZiwgdHJ1ZSkuc3Vic2NyaWJlKG9yaWdpbiA9PiB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQgJiYgIW9yaWdpbikge1xuICAgICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mb2N1c2VkID0gISFvcmlnaW47XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGlmICh0aGlzLm5nQ29udHJvbCAhPSBudWxsKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG4gIH1cblxuICBzZXREZXNjcmliZWRCeUlkcyhpZHM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy5kZXNjcmliZWRCeSA9IGlkcy5qb2luKCcgJyk7XG4gIH1cblxuICBvbkNvbnRhaW5lckNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKGRhdGE6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gZGF0YTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgaGFuZGxlQ2hhbmdlKGRhdGE6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gZGF0YTtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2ZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLl9lbGVtZW50UmVmKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPG1hdC1zZWxlY3QgW3ZhbHVlXT1cInNlbGVjdGVkKClcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImRlc2NyaWJlZEJ5XCJcbiAgKHNlbGVjdGlvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50LnZhbHVlKVwiPlxuICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcygpXCIgW3ZhbHVlXT1cIml0ZW1cIj57eyBpdGVtIH19PC9tYXQtb3B0aW9uPlxuPC9tYXQtc2VsZWN0PlxuIl19
@@ -21,11 +21,11 @@ export class TimelineActivityButtonComponent {
21
21
  });
22
22
  }
23
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineActivityButtonComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TimelineActivityButtonComponent, selector: "app-timeline-activity-button", inputs: { changeableType: "changeableType", changeableId: "changeableId", timelineableType: "timelineableType", timelineableId: "timelineableId", timelineableDisplayField: "timelineableDisplayField", title: "title" }, ngImport: i0, template: "<app-techlify-icon name=\"history\" matTooltip=\"Timeline History\" (click)=\"$event.stopPropagation();openDialog(listView)\"\n class=\"clickable\"></app-techlify-icon>\n\n<ng-template #listView>\n <app-timeline-activity-list [changeableId]=\"changeableId\" [changeableType]=\"changeableType\"\n [timelineableDisplayField]=\"timelineableDisplayField\" [timelineableType]=\"timelineableType\"\n [timelineableId]=\"timelineableId\" [title]=\"title\"></app-timeline-activity-list>\n</ng-template>", styles: [".icon-md{height:24px!important;width:24px!important;font-size:24px!important;margin:0 1px}.icon-sm{height:20px!important;width:20px!important;font-size:20px!important}.icon-xs{height:16px!important;width:16px!important;font-size:16px!important}.fl-md{width:200px!important}.fl-md .mat-mdc-form-field{width:100%!important}.fl-sm{width:150px!important}.fl-sm .mat-mdc-form-field{width:100%!important}.mat-btn-md{height:25px!important;padding:0 8px!important}.fs-12{font-size:12px!important}.fs-16{font-size:16px!important}.fs-13{font-size:13px!important}.fs-18{font-size:18px!important}.clickable:hover{cursor:pointer}.mat-mdc-form-field-hint-wrapper{padding:0 4px!important}.nil-subscript-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.create-another .mat-mdc-checkbox label{margin:0!important}.create-another .mdc-checkbox{padding:0!important}.create-another .mdc-checkbox__background{position:relative;top:0;left:0}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element{color:#f0f0f0!important;-webkit-text-fill-color:#f0f0f0!important}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-select-value{color:#f0f0f0!important}\n"], dependencies: [{ kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i3.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }, { kind: "component", type: i4.TimelineActivityListComponent, selector: "app-timeline-activity-list", inputs: ["changeableType", "changeableId", "timelineableType", "timelineableId", "timelineableDisplayField", "scrollContainer", "title"] }] }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TimelineActivityButtonComponent, selector: "app-timeline-activity-button", inputs: { changeableType: "changeableType", changeableId: "changeableId", timelineableType: "timelineableType", timelineableId: "timelineableId", timelineableDisplayField: "timelineableDisplayField", title: "title" }, ngImport: i0, template: "<app-techlify-icon name=\"history\" matTooltip=\"Timeline History\" (click)=\"$event.stopPropagation();openDialog(listView)\"\n class=\"clickable\"></app-techlify-icon>\n\n<ng-template #listView>\n <app-timeline-activity-list [changeableId]=\"changeableId\" [changeableType]=\"changeableType\"\n [timelineableDisplayField]=\"timelineableDisplayField\" [timelineableType]=\"timelineableType\"\n [timelineableId]=\"timelineableId\" [title]=\"title\"></app-timeline-activity-list>\n</ng-template>", styles: [".icon-md{height:24px!important;width:24px!important;font-size:24px!important;margin:0 1px}.icon-sm{height:20px!important;width:20px!important;font-size:20px!important}.icon-xs{height:16px!important;width:16px!important;font-size:16px!important}.fl-md{width:200px!important}.fl-md .mat-mdc-form-field{width:100%!important}.fl-sm{width:150px!important}.fl-sm .mat-mdc-form-field{width:100%!important}.mat-btn-md{height:25px!important;padding:0 8px!important}.fs-12{font-size:12px!important}.fs-16{font-size:16px!important}.fs-13{font-size:13px!important}.fs-18{font-size:18px!important}.clickable:hover{cursor:pointer}.mat-mdc-form-field-hint-wrapper{padding:0 4px!important}.nil-subscript-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.create-another .mat-mdc-checkbox label{margin:0!important}.create-another .mdc-checkbox{padding:0!important}.create-another .mdc-checkbox__background{position:relative;top:0;left:0}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element{color:#555!important;-webkit-text-fill-color:#555555!important}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-select-value{color:#555!important}\n"], dependencies: [{ kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i3.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }, { kind: "component", type: i4.TimelineActivityListComponent, selector: "app-timeline-activity-list", inputs: ["changeableType", "changeableId", "timelineableType", "timelineableId", "timelineableDisplayField", "scrollContainer", "title"] }] }); }
25
25
  }
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineActivityButtonComponent, decorators: [{
27
27
  type: Component,
28
- args: [{ selector: 'app-timeline-activity-button', template: "<app-techlify-icon name=\"history\" matTooltip=\"Timeline History\" (click)=\"$event.stopPropagation();openDialog(listView)\"\n class=\"clickable\"></app-techlify-icon>\n\n<ng-template #listView>\n <app-timeline-activity-list [changeableId]=\"changeableId\" [changeableType]=\"changeableType\"\n [timelineableDisplayField]=\"timelineableDisplayField\" [timelineableType]=\"timelineableType\"\n [timelineableId]=\"timelineableId\" [title]=\"title\"></app-timeline-activity-list>\n</ng-template>", styles: [".icon-md{height:24px!important;width:24px!important;font-size:24px!important;margin:0 1px}.icon-sm{height:20px!important;width:20px!important;font-size:20px!important}.icon-xs{height:16px!important;width:16px!important;font-size:16px!important}.fl-md{width:200px!important}.fl-md .mat-mdc-form-field{width:100%!important}.fl-sm{width:150px!important}.fl-sm .mat-mdc-form-field{width:100%!important}.mat-btn-md{height:25px!important;padding:0 8px!important}.fs-12{font-size:12px!important}.fs-16{font-size:16px!important}.fs-13{font-size:13px!important}.fs-18{font-size:18px!important}.clickable:hover{cursor:pointer}.mat-mdc-form-field-hint-wrapper{padding:0 4px!important}.nil-subscript-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.create-another .mat-mdc-checkbox label{margin:0!important}.create-another .mdc-checkbox{padding:0!important}.create-another .mdc-checkbox__background{position:relative;top:0;left:0}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element{color:#f0f0f0!important;-webkit-text-fill-color:#f0f0f0!important}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-select-value{color:#f0f0f0!important}\n"] }]
28
+ args: [{ selector: 'app-timeline-activity-button', template: "<app-techlify-icon name=\"history\" matTooltip=\"Timeline History\" (click)=\"$event.stopPropagation();openDialog(listView)\"\n class=\"clickable\"></app-techlify-icon>\n\n<ng-template #listView>\n <app-timeline-activity-list [changeableId]=\"changeableId\" [changeableType]=\"changeableType\"\n [timelineableDisplayField]=\"timelineableDisplayField\" [timelineableType]=\"timelineableType\"\n [timelineableId]=\"timelineableId\" [title]=\"title\"></app-timeline-activity-list>\n</ng-template>", styles: [".icon-md{height:24px!important;width:24px!important;font-size:24px!important;margin:0 1px}.icon-sm{height:20px!important;width:20px!important;font-size:20px!important}.icon-xs{height:16px!important;width:16px!important;font-size:16px!important}.fl-md{width:200px!important}.fl-md .mat-mdc-form-field{width:100%!important}.fl-sm{width:150px!important}.fl-sm .mat-mdc-form-field{width:100%!important}.mat-btn-md{height:25px!important;padding:0 8px!important}.fs-12{font-size:12px!important}.fs-16{font-size:16px!important}.fs-13{font-size:13px!important}.fs-18{font-size:18px!important}.clickable:hover{cursor:pointer}.mat-mdc-form-field-hint-wrapper{padding:0 4px!important}.nil-subscript-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.create-another .mat-mdc-checkbox label{margin:0!important}.create-another .mdc-checkbox{padding:0!important}.create-another .mdc-checkbox__background{position:relative;top:0;left:0}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element{color:#555!important;-webkit-text-fill-color:#555555!important}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-select-value{color:#555!important}\n"] }]
29
29
  }], ctorParameters: () => [{ type: i1.MatDialog }], propDecorators: { changeableType: [{
30
30
  type: Input
31
31
  }], changeableId: [{