@firestitch/system 18.0.29 → 18.0.32

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 (75) hide show
  1. package/app/modules/query-logs/components/explain/explain.component.d.ts +2 -2
  2. package/app/modules/query-logs/components/query-log/query-log.component.d.ts +2 -3
  3. package/app/modules/query-logs/components/query-logs/query-logs.component.d.ts +1 -3
  4. package/app/modules/system/components/api-log/api-log.component.d.ts +1 -3
  5. package/app/modules/system/components/api-logs/api-logs.component.d.ts +1 -3
  6. package/app/modules/system/components/cron/cron.component.d.ts +1 -1
  7. package/app/modules/system/components/cron-log/cron-log.component.d.ts +1 -2
  8. package/app/modules/system/components/cron-next-run/cron-next-run.component.d.ts +2 -3
  9. package/app/modules/system/components/crons/crons.component.d.ts +1 -1
  10. package/app/modules/system/components/dashboard/dashboard.component.d.ts +3 -5
  11. package/app/modules/system/components/info/info.component.d.ts +1 -1
  12. package/app/modules/system/components/process/process.component.d.ts +3 -12
  13. package/app/modules/system/components/processes/processes.component.d.ts +1 -6
  14. package/app/modules/system/components/server-logs/components/server-log/server-log.component.d.ts +0 -1
  15. package/app/modules/system/components/server-logs/server-logs.component.d.ts +1 -4
  16. package/app/modules/system/components/settings/settings.component.d.ts +2 -6
  17. package/app/modules/system/components/upgrade-logs/upgrade-logs.component.d.ts +1 -1
  18. package/app/modules/system/data/cron.data.d.ts +0 -2
  19. package/app/modules/system/data/process.data.d.ts +1 -2
  20. package/app/modules/system/fs-system.module.d.ts +40 -40
  21. package/app/modules/system/pipes/key-name-value.pipe.d.ts +1 -1
  22. package/esm2022/app/modules/query-logs/components/explain/explain.component.mjs +27 -18
  23. package/esm2022/app/modules/query-logs/components/index.mjs +1 -1
  24. package/esm2022/app/modules/query-logs/components/query-log/query-log.component.mjs +44 -25
  25. package/esm2022/app/modules/query-logs/components/query-logs/query-logs.component.mjs +19 -16
  26. package/esm2022/app/modules/system/components/api-log/api-log.component.mjs +20 -23
  27. package/esm2022/app/modules/system/components/api-log/index.mjs +1 -1
  28. package/esm2022/app/modules/system/components/api-logs/api-logs.component.mjs +18 -16
  29. package/esm2022/app/modules/system/components/api-logs/index.mjs +1 -1
  30. package/esm2022/app/modules/system/components/cron/cron.component.mjs +31 -13
  31. package/esm2022/app/modules/system/components/cron/index.mjs +1 -1
  32. package/esm2022/app/modules/system/components/cron-log/cron-log.component.mjs +30 -20
  33. package/esm2022/app/modules/system/components/cron-log/index.mjs +1 -1
  34. package/esm2022/app/modules/system/components/cron-logs/cron-logs.component.mjs +3 -3
  35. package/esm2022/app/modules/system/components/cron-next-run/cron-next-run.component.mjs +13 -16
  36. package/esm2022/app/modules/system/components/crons/crons.component.mjs +17 -10
  37. package/esm2022/app/modules/system/components/crons/index.mjs +1 -1
  38. package/esm2022/app/modules/system/components/dashboard/dashboard.component.mjs +30 -24
  39. package/esm2022/app/modules/system/components/dashboard/index.mjs +1 -1
  40. package/esm2022/app/modules/system/components/info/index.mjs +1 -1
  41. package/esm2022/app/modules/system/components/info/info.component.mjs +3 -3
  42. package/esm2022/app/modules/system/components/process/index.mjs +1 -1
  43. package/esm2022/app/modules/system/components/process/process.component.mjs +38 -36
  44. package/esm2022/app/modules/system/components/processes/index.mjs +1 -1
  45. package/esm2022/app/modules/system/components/processes/processes.component.mjs +13 -23
  46. package/esm2022/app/modules/system/components/server-logs/components/server-log/server-log.component.mjs +7 -13
  47. package/esm2022/app/modules/system/components/server-logs/index.mjs +1 -1
  48. package/esm2022/app/modules/system/components/server-logs/server-logs.component.mjs +17 -17
  49. package/esm2022/app/modules/system/components/settings/index.mjs +1 -1
  50. package/esm2022/app/modules/system/components/settings/settings.component.mjs +49 -33
  51. package/esm2022/app/modules/system/components/upgrade-logs/index.mjs +1 -1
  52. package/esm2022/app/modules/system/components/upgrade-logs/upgrade-logs.component.mjs +7 -6
  53. package/esm2022/app/modules/system/consts/api-log-states.const.mjs +1 -1
  54. package/esm2022/app/modules/system/consts/process-states.const.mjs +1 -1
  55. package/esm2022/app/modules/system/consts/setting-interface-types.const.mjs +1 -1
  56. package/esm2022/app/modules/system/data/cron.data.mjs +5 -9
  57. package/esm2022/app/modules/system/data/process.data.mjs +5 -9
  58. package/esm2022/app/modules/system/enums/api-log-state.enum.mjs +1 -1
  59. package/esm2022/app/modules/system/enums/index.mjs +1 -1
  60. package/esm2022/app/modules/system/enums/process-state.enum.mjs +1 -1
  61. package/esm2022/app/modules/system/enums/setting-interface-type.enum.mjs +1 -1
  62. package/esm2022/app/modules/system/fs-system.module.mjs +37 -26
  63. package/esm2022/app/modules/system/helpers/index-name-value.mjs +1 -1
  64. package/esm2022/app/modules/system/injectors/system-config.injector.mjs +1 -1
  65. package/esm2022/app/modules/system/interfaces/dashboard-action.mjs +1 -1
  66. package/esm2022/app/modules/system/interfaces/process-action.mjs +1 -1
  67. package/esm2022/app/modules/system/interfaces/system-config.mjs +1 -1
  68. package/esm2022/app/modules/system/pipes/key-name-value.pipe.mjs +3 -2
  69. package/esm2022/public_api.mjs +1 -2
  70. package/fesm2022/firestitch-system.mjs +416 -438
  71. package/fesm2022/firestitch-system.mjs.map +1 -1
  72. package/package.json +1 -1
  73. package/public_api.d.ts +0 -1
  74. package/app/modules/query-logs/query-logs.module.d.ts +0 -23
  75. package/esm2022/app/modules/query-logs/query-logs.module.mjs +0 -83
@@ -1,26 +1,23 @@
1
- import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Input, ViewChild, inject } from '@angular/core';
2
2
  import { MatDialog } from '@angular/material/dialog';
3
3
  import { ItemType } from '@firestitch/filter';
4
- import { FsListComponent, PaginationStrategy } from '@firestitch/list';
4
+ import { FsListComponent, PaginationStrategy, FsListModule } from '@firestitch/list';
5
5
  import { map } from 'rxjs/operators';
6
6
  import { ApiLogStates } from '../../consts';
7
7
  import { indexNameValue } from '../../helpers/index-name-value';
8
8
  import { ApiLogComponent } from '../api-log/api-log.component';
9
+ import { MatIcon } from '@angular/material/icon';
10
+ import { NgClass } from '@angular/common';
11
+ import { FsDateModule } from '@firestitch/date';
9
12
  import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/material/dialog";
11
- import * as i2 from "@angular/common";
12
- import * as i3 from "@angular/material/icon";
13
- import * as i4 from "@firestitch/date";
14
- import * as i5 from "@firestitch/list";
13
+ import * as i1 from "@firestitch/list";
14
+ import * as i2 from "@firestitch/date";
15
15
  export class ApiLogsComponent {
16
- _dialog;
16
+ _dialog = inject(MatDialog);
17
17
  list;
18
18
  loadApiLogs;
19
19
  config = null;
20
20
  apiLogStates = indexNameValue(ApiLogStates);
21
- constructor(_dialog) {
22
- this._dialog = _dialog;
23
- }
24
21
  ngOnInit() {
25
22
  this._configList();
26
23
  }
@@ -60,16 +57,21 @@ export class ApiLogsComponent {
60
57
  },
61
58
  };
62
59
  }
63
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ApiLogsComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
64
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: ApiLogsComponent, selector: "fs-system-api-logs", inputs: { loadApiLogs: "loadApiLogs" }, viewQueries: [{ propertyName: "list", first: true, predicate: FsListComponent, descendants: true, static: true }], ngImport: i0, template: "<fs-list [config]=\"config\">\n <fs-list-column>\n <ng-template fs-list-header>Name</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <a href=\"javascript:;\" (click)=\"open(row)\">\n {{row.type || 'Unknown'}}\n <mat-icon class=\"direction\" *ngIf=\"row.direction=='outgoing'\">arrow_upward</mat-icon>\n <mat-icon class=\"direction\" *ngIf=\"row.direction=='incoming'\">arrow_downward</mat-icon>\n </a>\n </ng-template>\n </fs-list-column>\n <fs-list-column>\n <ng-template fs-list-header>Status</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n {{apiLogStates[row.state]}}\n <span *ngIf=\"row.code\" class=\"code\" [ngClass]=\"{'success': row.code==200,'error': row.code!=200 }\">[{{row.code}}]</span>\n </ng-template>\n </fs-list-column>\n <fs-list-column>\n <ng-template fs-list-header>Message</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n {{row.message}}\n </ng-template>\n </fs-list-column>\n <fs-list-column>\n <ng-template fs-list-header>Date</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <fs-date-ago [date]=\"row.createDate\"></fs-date-ago>\n <div><small *ngIf=\"row.length\">Duration: {{ row.length | fsDateDuration }}</small></div>\n </ng-template>\n </fs-list-column>\n </fs-list>\n", styles: [".code.success{color:green}.code.error{color:red}.direction{font-size:14px;height:14px;line-height:14px;width:14px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }, { kind: "component", type: i5.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { kind: "directive", type: i5.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customizable", "sortable", "sortableDefault", "sortableDirection", "direction", "align", "width", "class"] }, { kind: "directive", type: i5.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { kind: "directive", type: i5.FsListHeaderDirective, selector: "[fs-list-header]", inputs: ["colspan", "align", "class"] }, { kind: "pipe", type: i4.FsDateDurationPipe, name: "fsDateDuration" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
60
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ApiLogsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
61
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: ApiLogsComponent, isStandalone: true, selector: "fs-system-api-logs", inputs: { loadApiLogs: "loadApiLogs" }, viewQueries: [{ propertyName: "list", first: true, predicate: FsListComponent, descendants: true, static: true }], ngImport: i0, template: "<fs-list [config]=\"config\">\n <fs-list-column>\n <ng-template fs-list-header>Name</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <a href=\"javascript:;\" (click)=\"open(row)\">\n {{row.type || 'Unknown'}}\n @if (row.direction=='outgoing') {\n <mat-icon class=\"direction\">arrow_upward</mat-icon>\n }\n @if (row.direction=='incoming') {\n <mat-icon class=\"direction\">arrow_downward</mat-icon>\n }\n </a>\n </ng-template>\n </fs-list-column>\n <fs-list-column>\n <ng-template fs-list-header>Status</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n {{apiLogStates[row.state]}}\n @if (row.code) {\n <span class=\"code\" [ngClass]=\"{'success': row.code==200,'error': row.code!=200 }\">[{{row.code}}]</span>\n }\n </ng-template>\n </fs-list-column>\n <fs-list-column>\n <ng-template fs-list-header>Message</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n {{row.message}}\n </ng-template>\n </fs-list-column>\n <fs-list-column>\n <ng-template fs-list-header>Date</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <fs-date-ago [date]=\"row.createDate\"></fs-date-ago>\n <div>@if (row.length) {\n <small>Duration: {{ row.length | fsDateDuration }}</small>\n }</div>\n </ng-template>\n </fs-list-column>\n</fs-list>\n", styles: [".code.success{color:green}.code.error{color:red}.direction{font-size:14px;height:14px;line-height:14px;width:14px}\n"], dependencies: [{ kind: "ngmodule", type: FsListModule }, { kind: "component", type: i1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { kind: "directive", type: i1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customizable", "sortable", "sortableDefault", "sortableDirection", "direction", "align", "width", "class"] }, { kind: "directive", type: i1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { kind: "directive", type: i1.FsListHeaderDirective, selector: "[fs-list-header]", inputs: ["colspan", "align", "class"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FsDateModule }, { kind: "pipe", type: i2.FsDateDurationPipe, name: "fsDateDuration" }, { kind: "component", type: i2.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
65
62
  }
66
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ApiLogsComponent, decorators: [{
67
64
  type: Component,
68
- args: [{ selector: 'fs-system-api-logs', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fs-list [config]=\"config\">\n <fs-list-column>\n <ng-template fs-list-header>Name</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <a href=\"javascript:;\" (click)=\"open(row)\">\n {{row.type || 'Unknown'}}\n <mat-icon class=\"direction\" *ngIf=\"row.direction=='outgoing'\">arrow_upward</mat-icon>\n <mat-icon class=\"direction\" *ngIf=\"row.direction=='incoming'\">arrow_downward</mat-icon>\n </a>\n </ng-template>\n </fs-list-column>\n <fs-list-column>\n <ng-template fs-list-header>Status</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n {{apiLogStates[row.state]}}\n <span *ngIf=\"row.code\" class=\"code\" [ngClass]=\"{'success': row.code==200,'error': row.code!=200 }\">[{{row.code}}]</span>\n </ng-template>\n </fs-list-column>\n <fs-list-column>\n <ng-template fs-list-header>Message</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n {{row.message}}\n </ng-template>\n </fs-list-column>\n <fs-list-column>\n <ng-template fs-list-header>Date</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <fs-date-ago [date]=\"row.createDate\"></fs-date-ago>\n <div><small *ngIf=\"row.length\">Duration: {{ row.length | fsDateDuration }}</small></div>\n </ng-template>\n </fs-list-column>\n </fs-list>\n", styles: [".code.success{color:green}.code.error{color:red}.direction{font-size:14px;height:14px;line-height:14px;width:14px}\n"] }]
69
- }], ctorParameters: () => [{ type: i1.MatDialog }], propDecorators: { list: [{
65
+ args: [{ selector: 'fs-system-api-logs', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
66
+ FsListModule,
67
+ MatIcon,
68
+ NgClass,
69
+ FsDateModule,
70
+ ], template: "<fs-list [config]=\"config\">\n <fs-list-column>\n <ng-template fs-list-header>Name</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <a href=\"javascript:;\" (click)=\"open(row)\">\n {{row.type || 'Unknown'}}\n @if (row.direction=='outgoing') {\n <mat-icon class=\"direction\">arrow_upward</mat-icon>\n }\n @if (row.direction=='incoming') {\n <mat-icon class=\"direction\">arrow_downward</mat-icon>\n }\n </a>\n </ng-template>\n </fs-list-column>\n <fs-list-column>\n <ng-template fs-list-header>Status</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n {{apiLogStates[row.state]}}\n @if (row.code) {\n <span class=\"code\" [ngClass]=\"{'success': row.code==200,'error': row.code!=200 }\">[{{row.code}}]</span>\n }\n </ng-template>\n </fs-list-column>\n <fs-list-column>\n <ng-template fs-list-header>Message</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n {{row.message}}\n </ng-template>\n </fs-list-column>\n <fs-list-column>\n <ng-template fs-list-header>Date</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <fs-date-ago [date]=\"row.createDate\"></fs-date-ago>\n <div>@if (row.length) {\n <small>Duration: {{ row.length | fsDateDuration }}</small>\n }</div>\n </ng-template>\n </fs-list-column>\n</fs-list>\n", styles: [".code.success{color:green}.code.error{color:red}.direction{font-size:14px;height:14px;line-height:14px;width:14px}\n"] }]
71
+ }], propDecorators: { list: [{
70
72
  type: ViewChild,
71
73
  args: [FsListComponent, { static: true }]
72
74
  }], loadApiLogs: [{
73
75
  type: Input
74
76
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWxvZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL3N5c3RlbS9jb21wb25lbnRzL2FwaS1sb2dzL2FwaS1sb2dzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9zeXN0ZW0vY29tcG9uZW50cy9hcGktbG9ncy9hcGktbG9ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFnQixrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR3JGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7QUFTL0QsTUFBTSxPQUFPLGdCQUFnQjtJQVdqQjtJQVJILElBQUksQ0FBa0I7SUFFYixXQUFXLENBQTBEO0lBRTlFLE1BQU0sR0FBaUIsSUFBSSxDQUFDO0lBQzVCLFlBQVksR0FBRyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFbkQsWUFDVSxPQUFrQjtRQUFsQixZQUFPLEdBQVAsT0FBTyxDQUFXO0lBQ3hCLENBQUM7SUFFRSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxJQUFJLENBQUMsTUFBTTtRQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDakMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFO1lBQ2hCLEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLE1BQU0sRUFBRTtnQkFDTixRQUFRLEVBQUUsa0JBQWtCLENBQUMsSUFBSTthQUNsQztZQUNELE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxJQUFJLEVBQUUsUUFBUSxDQUFDLE9BQU87b0JBQ3RCLElBQUksRUFBRSxTQUFTO29CQUNmLEtBQUssRUFBRSxRQUFRO2lCQUNoQjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsUUFBUSxDQUFDLE1BQU07b0JBQ3JCLElBQUksRUFBRSxPQUFPO29CQUNiLEtBQUssRUFBRSxRQUFRO29CQUNmLE1BQU0sRUFBRSxZQUFZO2lCQUNyQjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsWUFBWTtvQkFDbEIsSUFBSSxFQUFFLFFBQVEsQ0FBQyxTQUFTO29CQUN4QixLQUFLLEVBQUUsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO2lCQUNoQzthQUNGO1lBQ0QsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRyxDQUFDLENBQUM7Z0JBRTFCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7cUJBQzNCLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FDM0UsQ0FBQztZQUNOLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQzt1R0F6RFUsZ0JBQWdCOzJGQUFoQixnQkFBZ0Isd0lBRWhCLGVBQWUsOERDdkI1QiwyNENBZ0NBOzsyRkRYYSxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU07OEVBS3hDLElBQUk7c0JBRFYsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUc1QixXQUFXO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuaW1wb3J0IHsgSXRlbVR5cGUgfSBmcm9tICdAZmlyZXN0aXRjaC9maWx0ZXInO1xyXG5pbXBvcnQgeyBGc0xpc3RDb21wb25lbnQsIEZzTGlzdENvbmZpZywgUGFnaW5hdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGZpcmVzdGl0Y2gvbGlzdCc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEFwaUxvZ1N0YXRlcyB9IGZyb20gJy4uLy4uL2NvbnN0cyc7XHJcbmltcG9ydCB7IGluZGV4TmFtZVZhbHVlIH0gZnJvbSAnLi4vLi4vaGVscGVycy9pbmRleC1uYW1lLXZhbHVlJztcclxuaW1wb3J0IHsgQXBpTG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vYXBpLWxvZy9hcGktbG9nLmNvbXBvbmVudCc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdmcy1zeXN0ZW0tYXBpLWxvZ3MnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hcGktbG9ncy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYXBpLWxvZ3MuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwaUxvZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBAVmlld0NoaWxkKEZzTGlzdENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwdWJsaWMgbGlzdDogRnNMaXN0Q29tcG9uZW50O1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgbG9hZEFwaUxvZ3M6IChkYXRhOiBhbnkpID0+IE9ic2VydmFibGU8eyBkYXRhOiBhbnlbXTsgcGFnaW5nOiBhbnkgfT47XHJcblxyXG4gIHB1YmxpYyBjb25maWc6IEZzTGlzdENvbmZpZyA9IG51bGw7XHJcbiAgcHVibGljIGFwaUxvZ1N0YXRlcyA9IGluZGV4TmFtZVZhbHVlKEFwaUxvZ1N0YXRlcyk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgKSB7IH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5fY29uZmlnTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW4oYXBpTG9nKSB7XHJcbiAgICB0aGlzLl9kaWFsb2cub3BlbihBcGlMb2dDb21wb25lbnQsIHtcclxuICAgICAgZGF0YTogeyBhcGlMb2cgfSxcclxuICAgICAgd2lkdGg6ICc4NSUnLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jb25maWdMaXN0KCkge1xyXG4gICAgdGhpcy5jb25maWcgPSB7XHJcbiAgICAgIHBhZ2luZzoge1xyXG4gICAgICAgIHN0cmF0ZWd5OiBQYWdpbmF0aW9uU3RyYXRlZ3kuTWFueSxcclxuICAgICAgfSxcclxuICAgICAgZmlsdGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHR5cGU6IEl0ZW1UeXBlLktleXdvcmQsXHJcbiAgICAgICAgICBuYW1lOiAna2V5d29yZCcsXHJcbiAgICAgICAgICBsYWJlbDogJ1NlYXJjaCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICB0eXBlOiBJdGVtVHlwZS5TZWxlY3QsXHJcbiAgICAgICAgICBuYW1lOiAnc3RhdGUnLFxyXG4gICAgICAgICAgbGFiZWw6ICdTdGF0dXMnLFxyXG4gICAgICAgICAgdmFsdWVzOiBBcGlMb2dTdGF0ZXMsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBuYW1lOiAnY3JlYXRlRGF0ZScsXHJcbiAgICAgICAgICB0eXBlOiBJdGVtVHlwZS5EYXRlUmFuZ2UsXHJcbiAgICAgICAgICBsYWJlbDogWydGcm9tIERhdGUnLCAnVG8gRGF0ZSddLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGZldGNoOiAocXVlcnkpID0+IHtcclxuICAgICAgICBPYmplY3QuYXNzaWduKHF1ZXJ5LCB7IH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5sb2FkQXBpTG9ncyhxdWVyeSlcclxuICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+ICh7IGRhdGE6IHJlc3BvbnNlLmRhdGEsIHBhZ2luZzogcmVzcG9uc2UucGFnaW5nIH0pKSxcclxuICAgICAgICAgICk7XHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iLCI8ZnMtbGlzdCBbY29uZmlnXT1cImNvbmZpZ1wiPlxuICAgIDxmcy1saXN0LWNvbHVtbj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWhlYWRlcj5OYW1lPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWNlbGwgbGV0LXJvdz1cInJvd1wiPlxuICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDo7XCIgKGNsaWNrKT1cIm9wZW4ocm93KVwiPlxuICAgICAgICAgIHt7cm93LnR5cGUgfHwgJ1Vua25vd24nfX1cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJkaXJlY3Rpb25cIiAqbmdJZj1cInJvdy5kaXJlY3Rpb249PSdvdXRnb2luZydcIj5hcnJvd191cHdhcmQ8L21hdC1pY29uPlxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImRpcmVjdGlvblwiICpuZ0lmPVwicm93LmRpcmVjdGlvbj09J2luY29taW5nJ1wiPmFycm93X2Rvd253YXJkPC9tYXQtaWNvbj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2ZzLWxpc3QtY29sdW1uPlxuICAgIDxmcy1saXN0LWNvbHVtbj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWhlYWRlcj5TdGF0dXM8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtY2VsbCBsZXQtcm93PVwicm93XCI+XG4gICAgICAgIHt7YXBpTG9nU3RhdGVzW3Jvdy5zdGF0ZV19fVxuICAgICAgICA8c3BhbiAqbmdJZj1cInJvdy5jb2RlXCIgY2xhc3M9XCJjb2RlXCIgW25nQ2xhc3NdPVwieydzdWNjZXNzJzogcm93LmNvZGU9PTIwMCwnZXJyb3InOiByb3cuY29kZSE9MjAwIH1cIj5be3tyb3cuY29kZX19XTwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9mcy1saXN0LWNvbHVtbj5cbiAgICA8ZnMtbGlzdC1jb2x1bW4+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWhlYWRlcj5NZXNzYWdlPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtY2VsbCBsZXQtcm93PVwicm93XCI+XG4gICAgICAgICAge3tyb3cubWVzc2FnZX19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2ZzLWxpc3QtY29sdW1uPlxuICAgIDxmcy1saXN0LWNvbHVtbj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWhlYWRlcj5EYXRlPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWNlbGwgbGV0LXJvdz1cInJvd1wiPlxuICAgICAgICA8ZnMtZGF0ZS1hZ28gW2RhdGVdPVwicm93LmNyZWF0ZURhdGVcIj48L2ZzLWRhdGUtYWdvPlxuICAgICAgICA8ZGl2PjxzbWFsbCAqbmdJZj1cInJvdy5sZW5ndGhcIj5EdXJhdGlvbjoge3sgcm93Lmxlbmd0aCB8IGZzRGF0ZUR1cmF0aW9uIH19PC9zbWFsbD48L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9mcy1saXN0LWNvbHVtbj5cbiAgPC9mcy1saXN0PlxuIl19
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWxvZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL3N5c3RlbS9jb21wb25lbnRzL2FwaS1sb2dzL2FwaS1sb2dzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9zeXN0ZW0vY29tcG9uZW50cy9hcGktbG9ncy9hcGktbG9ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBZ0Isa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHbkcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQWdCaEQsTUFBTSxPQUFPLGdCQUFnQjtJQUNuQixPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBSTdCLElBQUksQ0FBa0I7SUFFYixXQUFXLENBQTBEO0lBRTlFLE1BQU0sR0FBaUIsSUFBSSxDQUFDO0lBQzVCLFlBQVksR0FBRyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFNUMsUUFBUTtRQUNiLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU0sSUFBSSxDQUFDLE1BQU07UUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ2pDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRTtZQUNoQixLQUFLLEVBQUUsS0FBSztTQUNiLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUc7WUFDWixNQUFNLEVBQUU7Z0JBQ04sUUFBUSxFQUFFLGtCQUFrQixDQUFDLElBQUk7YUFDbEM7WUFDRCxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLFFBQVEsQ0FBQyxPQUFPO29CQUN0QixJQUFJLEVBQUUsU0FBUztvQkFDZixLQUFLLEVBQUUsUUFBUTtpQkFDaEI7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLFFBQVEsQ0FBQyxNQUFNO29CQUNyQixJQUFJLEVBQUUsT0FBTztvQkFDYixLQUFLLEVBQUUsUUFBUTtvQkFDZixNQUFNLEVBQUUsWUFBWTtpQkFDckI7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLElBQUksRUFBRSxRQUFRLENBQUMsU0FBUztvQkFDeEIsS0FBSyxFQUFFLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQztpQkFDaEM7YUFDRjtZQUNELEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNmLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUcsQ0FBQyxDQUFDO2dCQUUxQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO3FCQUMzQixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQzNFLENBQUM7WUFDTixDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7dUdBdkRVLGdCQUFnQjsyRkFBaEIsZ0JBQWdCLDRKQUloQixlQUFlLDhEQ25DNUIsMjRDQXdDQSw2S0RmUSxZQUFZLHluQkFDWixPQUFPLDJJQUNQLE9BQU8sbUZBQ1AsWUFBWTs7MkZBR1AsZ0JBQWdCO2tCQWI1QixTQUFTOytCQUNJLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxZQUFZO3FCQUNmOzhCQU9JLElBQUk7c0JBRFYsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUc1QixXQUFXO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgSXRlbVR5cGUgfSBmcm9tICdAZmlyZXN0aXRjaC9maWx0ZXInO1xuaW1wb3J0IHsgRnNMaXN0Q29tcG9uZW50LCBGc0xpc3RDb25maWcsIFBhZ2luYXRpb25TdHJhdGVneSwgRnNMaXN0TW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvbGlzdCc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQXBpTG9nU3RhdGVzIH0gZnJvbSAnLi4vLi4vY29uc3RzJztcbmltcG9ydCB7IGluZGV4TmFtZVZhbHVlIH0gZnJvbSAnLi4vLi4vaGVscGVycy9pbmRleC1uYW1lLXZhbHVlJztcbmltcG9ydCB7IEFwaUxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FwaS1sb2cvYXBpLWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGc0RhdGVNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9kYXRlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZzLXN5c3RlbS1hcGktbG9ncycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FwaS1sb2dzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hcGktbG9ncy5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBGc0xpc3RNb2R1bGUsXG4gICAgICAgIE1hdEljb24sXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIEZzRGF0ZU1vZHVsZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBcGlMb2dzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBfZGlhbG9nID0gaW5qZWN0KE1hdERpYWxvZyk7XG5cblxuICBAVmlld0NoaWxkKEZzTGlzdENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGxpc3Q6IEZzTGlzdENvbXBvbmVudDtcblxuICBASW5wdXQoKSBwdWJsaWMgbG9hZEFwaUxvZ3M6IChkYXRhOiBhbnkpID0+IE9ic2VydmFibGU8eyBkYXRhOiBhbnlbXTsgcGFnaW5nOiBhbnkgfT47XG5cbiAgcHVibGljIGNvbmZpZzogRnNMaXN0Q29uZmlnID0gbnVsbDtcbiAgcHVibGljIGFwaUxvZ1N0YXRlcyA9IGluZGV4TmFtZVZhbHVlKEFwaUxvZ1N0YXRlcyk7XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuX2NvbmZpZ0xpc3QoKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKGFwaUxvZykge1xuICAgIHRoaXMuX2RpYWxvZy5vcGVuKEFwaUxvZ0NvbXBvbmVudCwge1xuICAgICAgZGF0YTogeyBhcGlMb2cgfSxcbiAgICAgIHdpZHRoOiAnODUlJyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbmZpZ0xpc3QoKSB7XG4gICAgdGhpcy5jb25maWcgPSB7XG4gICAgICBwYWdpbmc6IHtcbiAgICAgICAgc3RyYXRlZ3k6IFBhZ2luYXRpb25TdHJhdGVneS5NYW55LFxuICAgICAgfSxcbiAgICAgIGZpbHRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IEl0ZW1UeXBlLktleXdvcmQsXG4gICAgICAgICAgbmFtZTogJ2tleXdvcmQnLFxuICAgICAgICAgIGxhYmVsOiAnU2VhcmNoJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IEl0ZW1UeXBlLlNlbGVjdCxcbiAgICAgICAgICBuYW1lOiAnc3RhdGUnLFxuICAgICAgICAgIGxhYmVsOiAnU3RhdHVzJyxcbiAgICAgICAgICB2YWx1ZXM6IEFwaUxvZ1N0YXRlcyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdjcmVhdGVEYXRlJyxcbiAgICAgICAgICB0eXBlOiBJdGVtVHlwZS5EYXRlUmFuZ2UsXG4gICAgICAgICAgbGFiZWw6IFsnRnJvbSBEYXRlJywgJ1RvIERhdGUnXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBmZXRjaDogKHF1ZXJ5KSA9PiB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24ocXVlcnksIHsgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZEFwaUxvZ3MocXVlcnkpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+ICh7IGRhdGE6IHJlc3BvbnNlLmRhdGEsIHBhZ2luZzogcmVzcG9uc2UucGFnaW5nIH0pKSxcbiAgICAgICAgICApO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG4iLCI8ZnMtbGlzdCBbY29uZmlnXT1cImNvbmZpZ1wiPlxuICA8ZnMtbGlzdC1jb2x1bW4+XG4gICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtaGVhZGVyPk5hbWU8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWNlbGwgbGV0LXJvdz1cInJvd1wiPlxuICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6O1wiIChjbGljayk9XCJvcGVuKHJvdylcIj5cbiAgICAgICAge3tyb3cudHlwZSB8fCAnVW5rbm93bid9fVxuICAgICAgICBAaWYgKHJvdy5kaXJlY3Rpb249PSdvdXRnb2luZycpIHtcbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJkaXJlY3Rpb25cIj5hcnJvd191cHdhcmQ8L21hdC1pY29uPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAocm93LmRpcmVjdGlvbj09J2luY29taW5nJykge1xuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImRpcmVjdGlvblwiPmFycm93X2Rvd253YXJkPC9tYXQtaWNvbj5cbiAgICAgICAgfVxuICAgICAgPC9hPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZnMtbGlzdC1jb2x1bW4+XG4gIDxmcy1saXN0LWNvbHVtbj5cbiAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1oZWFkZXI+U3RhdHVzPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj5cbiAgICAgIHt7YXBpTG9nU3RhdGVzW3Jvdy5zdGF0ZV19fVxuICAgICAgQGlmIChyb3cuY29kZSkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cImNvZGVcIiBbbmdDbGFzc109XCJ7J3N1Y2Nlc3MnOiByb3cuY29kZT09MjAwLCdlcnJvcic6IHJvdy5jb2RlIT0yMDAgfVwiPlt7e3Jvdy5jb2RlfX1dPC9zcGFuPlxuICAgICAgfVxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZnMtbGlzdC1jb2x1bW4+XG4gIDxmcy1saXN0LWNvbHVtbj5cbiAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1oZWFkZXI+TWVzc2FnZTwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtY2VsbCBsZXQtcm93PVwicm93XCI+XG4gICAgICB7e3Jvdy5tZXNzYWdlfX1cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2ZzLWxpc3QtY29sdW1uPlxuICA8ZnMtbGlzdC1jb2x1bW4+XG4gICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtaGVhZGVyPkRhdGU8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWNlbGwgbGV0LXJvdz1cInJvd1wiPlxuICAgICAgPGZzLWRhdGUtYWdvIFtkYXRlXT1cInJvdy5jcmVhdGVEYXRlXCI+PC9mcy1kYXRlLWFnbz5cbiAgICAgIDxkaXY+QGlmIChyb3cubGVuZ3RoKSB7XG4gICAgICAgIDxzbWFsbD5EdXJhdGlvbjoge3sgcm93Lmxlbmd0aCB8IGZzRGF0ZUR1cmF0aW9uIH19PC9zbWFsbD5cbiAgICAgIH08L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2ZzLWxpc3QtY29sdW1uPlxuPC9mcy1saXN0PlxuIl19
@@ -1,2 +1,2 @@
1
1
  export * from './api-logs.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvc3lzdGVtL2NvbXBvbmVudHMvYXBpLWxvZ3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXBpLWxvZ3MuY29tcG9uZW50JztcclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvc3lzdGVtL2NvbXBvbmVudHMvYXBpLWxvZ3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXBpLWxvZ3MuY29tcG9uZW50JztcbiJdfQ==
@@ -1,18 +1,21 @@
1
1
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, } from '@angular/core';
2
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
2
+ import { MAT_DIALOG_DATA, MatDialogTitle, MatDialogContent, MatDialogActions, MatDialogClose } from '@angular/material/dialog';
3
3
  import { CronProcessStates, CronStates } from '../../consts';
4
4
  import { CronData } from '../../data/cron.data';
5
5
  import { indexNameValue } from '../../helpers/index-name-value';
6
+ import { FsSkeletonModule } from '@firestitch/skeleton';
7
+ import { FsDialogModule } from '@firestitch/dialog';
8
+ import { CdkScrollable } from '@angular/cdk/scrolling';
9
+ import { MatTabGroup, MatTab, MatTabContent } from '@angular/material/tabs';
10
+ import { FsLabelModule } from '@firestitch/label';
11
+ import { FsDateModule } from '@firestitch/date';
12
+ import { CronLogsComponent } from '../cron-logs/cron-logs.component';
13
+ import { MatButton } from '@angular/material/button';
6
14
  import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common";
8
- import * as i2 from "@angular/material/button";
9
- import * as i3 from "@angular/material/dialog";
10
- import * as i4 from "@angular/material/tabs";
11
- import * as i5 from "@firestitch/date";
12
- import * as i6 from "@firestitch/skeleton";
13
- import * as i7 from "@firestitch/label";
14
- import * as i8 from "@firestitch/dialog";
15
- import * as i9 from "../cron-logs/cron-logs.component";
15
+ import * as i1 from "@firestitch/skeleton";
16
+ import * as i2 from "@firestitch/dialog";
17
+ import * as i3 from "@firestitch/label";
18
+ import * as i4 from "@firestitch/date";
16
19
  export class CronComponent {
17
20
  cron;
18
21
  tabIndex = 0;
@@ -53,10 +56,25 @@ export class CronComponent {
53
56
  });
54
57
  }
55
58
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CronComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
56
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: CronComponent, selector: "ng-component", ngImport: i0, template: "<fs-dialog *fsSkeleton=\"cron\">\n <h1 mat-dialog-title>\n Cron\n <div class=\"small\">\n {{ cron.name }}\n </div>\n </h1>\n <mat-dialog-content>\n <mat-tab-group (selectedIndexChange)=\"selectedIndexChange($event)\">\n <mat-tab label=\"Overview\">\n <div class=\"fs-row.gap-lg.wrap.align-start\">\n <fs-label-field>\n <fs-label>\n Status\n </fs-label>\n {{ CronStates[cron.state] }}\n </fs-label-field>\n <fs-label-field *ngIf=\"cron.cronSetting\">\n <fs-label>\n Run Frequency\n </fs-label>\n {{ cron.cronSetting.summary }}\n </fs-label-field>\n <fs-label-field>\n <fs-label>\n Process ID\n </fs-label>\n {{ cron.processId || 'None' }}\n <ng-container *ngIf=\"cron.processId\">\n <div class=\"small\">\n {{ CronProcessStates[cron.processState] || 'Unknown' }}\n </div>\n </ng-container>\n </fs-label-field>\n <fs-label-field>\n <fs-label>\n Last Ran\n </fs-label>\n <ng-container *ngIf=\"cron.duration===null; else lastRan\">\n Never\n </ng-container>\n <ng-template #lastRan>\n <fs-date-ago [date]=\"cron.createDate\"></fs-date-ago>\n <div>\n <small *ngIf=\"cron.duration\">\n Duration: {{ cron.duration | fsDateDuration }}\n </small>\n </div>\n </ng-template>\n </fs-label-field>\n <fs-label-field>\n <fs-label>\n Timeout hours\n </fs-label>\n {{ cron.cronSetting?.timeout || 'N/A' }}\n </fs-label-field>\n </div>\n <fs-label-field *ngIf=\"cron.message\">\n <fs-label>\n Last Message\n </fs-label>\n <div class=\"message\">\n {{ cron.message }}\n </div>\n </fs-label-field>\n </mat-tab>\n <mat-tab label=\"Logs\">\n <ng-template matTabContent>\n <app-cron-logs [cron]=\"cron\"></app-cron-logs>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n [mat-dialog-close]=\"true\"\n color=\"primary\">\n Done\n </button>\n <ng-container *ngIf=\"tabIndex === 0\">\n <button\n *ngFor=\"let cronAction of cronActions\"\n mat-button\n (click)=\"cronActionClick(cronAction)\">\n {{ cronAction.label }}\n </button>\n </ng-container>\n </mat-dialog-actions>\n</fs-dialog>", styles: [":host ::ng-deep .col-message .message{white-space:break-spaces;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}:host ::ng-deep .col-date{white-space:nowrap}h1 .small{line-height:normal}.row{display:flex;flex-wrap:wrap}.row fs-label-field:not(:last-child){margin-right:40px}.message{white-space:pre-line}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i4.MatTabContent, selector: "[matTabContent]" }, { kind: "component", type: i4.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i4.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: i5.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }, { kind: "directive", type: i6.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { kind: "component", type: i7.FsLabelComponent, selector: "fs-label" }, { kind: "component", type: i7.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["appearance", "showOutline", "disabled", "focused", "hoverable", "padless"] }, { kind: "component", type: i8.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileButtonPlacement", "mobileWidth", "mode", "buttonLayout"] }, { kind: "component", type: i9.CronLogsComponent, selector: "app-cron-logs", inputs: ["cron"] }, { kind: "pipe", type: i5.FsDateDurationPipe, name: "fsDateDuration" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
59
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: CronComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<fs-dialog *fsSkeleton=\"cron\">\n <h1 mat-dialog-title>\n Cron\n <div class=\"small\">\n {{ cron.name }}\n </div>\n </h1>\n <mat-dialog-content>\n <mat-tab-group (selectedIndexChange)=\"selectedIndexChange($event)\">\n <mat-tab label=\"Overview\">\n <div class=\"fs-row.gap-lg.wrap.align-start\">\n <fs-label-field>\n <fs-label>\n Status\n </fs-label>\n {{ CronStates[cron.state] }}\n </fs-label-field>\n @if (cron.cronSetting) {\n <fs-label-field>\n <fs-label>\n Run Frequency\n </fs-label>\n {{ cron.cronSetting.summary }}\n </fs-label-field>\n }\n <fs-label-field>\n <fs-label>\n Process ID\n </fs-label>\n {{ cron.processId || 'None' }}\n @if (cron.processId) {\n <div class=\"small\">\n {{ CronProcessStates[cron.processState] || 'Unknown' }}\n </div>\n }\n </fs-label-field>\n <fs-label-field>\n <fs-label>\n Last Ran\n </fs-label>\n @if (cron.duration===null) {\n Never\n } @else {\n <fs-date-ago [date]=\"cron.createDate\"></fs-date-ago>\n <div>\n @if (cron.duration) {\n <small>\n Duration: {{ cron.duration | fsDateDuration }}\n </small>\n }\n </div>\n }\n </fs-label-field>\n <fs-label-field>\n <fs-label>\n Timeout hours\n </fs-label>\n {{ cron.cronSetting?.timeout || 'N/A' }}\n </fs-label-field>\n </div>\n @if (cron.message) {\n <fs-label-field>\n <fs-label>\n Last Message\n </fs-label>\n <div class=\"message\">\n {{ cron.message }}\n </div>\n </fs-label-field>\n }\n </mat-tab>\n <mat-tab label=\"Logs\">\n <ng-template matTabContent>\n <app-cron-logs [cron]=\"cron\"></app-cron-logs>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n [mat-dialog-close]=\"true\"\n color=\"primary\">\n Done\n </button>\n @if (tabIndex === 0) {\n @for (cronAction of cronActions; track cronAction) {\n <button\n mat-button\n (click)=\"cronActionClick(cronAction)\">\n {{ cronAction.label }}\n </button>\n }\n }\n </mat-dialog-actions>\n</fs-dialog>", styles: [":host ::ng-deep .col-message .message{white-space:break-spaces;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}:host ::ng-deep .col-date{white-space:nowrap}h1 .small{line-height:normal}.row{display:flex;flex-wrap:wrap}.row fs-label-field:not(:last-child){margin-right:40px}.message{white-space:pre-line}\n"], dependencies: [{ kind: "ngmodule", type: FsSkeletonModule }, { kind: "directive", type: i1.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { kind: "ngmodule", type: FsDialogModule }, { kind: "component", type: i2.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileButtonPlacement", "mobileWidth", "mode", "buttonLayout"] }, { kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "ngmodule", type: FsLabelModule }, { kind: "component", type: i3.FsLabelComponent, selector: "fs-label" }, { kind: "component", type: i3.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["appearance", "showOutline", "disabled", "focused", "hoverable", "padless"] }, { kind: "ngmodule", type: FsDateModule }, { kind: "pipe", type: i4.FsDateDurationPipe, name: "fsDateDuration" }, { kind: "component", type: i4.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }, { kind: "directive", type: MatTabContent, selector: "[matTabContent]" }, { kind: "component", type: CronLogsComponent, selector: "app-cron-logs", inputs: ["cron"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
57
60
  }
58
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CronComponent, decorators: [{
59
62
  type: Component,
60
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<fs-dialog *fsSkeleton=\"cron\">\n <h1 mat-dialog-title>\n Cron\n <div class=\"small\">\n {{ cron.name }}\n </div>\n </h1>\n <mat-dialog-content>\n <mat-tab-group (selectedIndexChange)=\"selectedIndexChange($event)\">\n <mat-tab label=\"Overview\">\n <div class=\"fs-row.gap-lg.wrap.align-start\">\n <fs-label-field>\n <fs-label>\n Status\n </fs-label>\n {{ CronStates[cron.state] }}\n </fs-label-field>\n <fs-label-field *ngIf=\"cron.cronSetting\">\n <fs-label>\n Run Frequency\n </fs-label>\n {{ cron.cronSetting.summary }}\n </fs-label-field>\n <fs-label-field>\n <fs-label>\n Process ID\n </fs-label>\n {{ cron.processId || 'None' }}\n <ng-container *ngIf=\"cron.processId\">\n <div class=\"small\">\n {{ CronProcessStates[cron.processState] || 'Unknown' }}\n </div>\n </ng-container>\n </fs-label-field>\n <fs-label-field>\n <fs-label>\n Last Ran\n </fs-label>\n <ng-container *ngIf=\"cron.duration===null; else lastRan\">\n Never\n </ng-container>\n <ng-template #lastRan>\n <fs-date-ago [date]=\"cron.createDate\"></fs-date-ago>\n <div>\n <small *ngIf=\"cron.duration\">\n Duration: {{ cron.duration | fsDateDuration }}\n </small>\n </div>\n </ng-template>\n </fs-label-field>\n <fs-label-field>\n <fs-label>\n Timeout hours\n </fs-label>\n {{ cron.cronSetting?.timeout || 'N/A' }}\n </fs-label-field>\n </div>\n <fs-label-field *ngIf=\"cron.message\">\n <fs-label>\n Last Message\n </fs-label>\n <div class=\"message\">\n {{ cron.message }}\n </div>\n </fs-label-field>\n </mat-tab>\n <mat-tab label=\"Logs\">\n <ng-template matTabContent>\n <app-cron-logs [cron]=\"cron\"></app-cron-logs>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n [mat-dialog-close]=\"true\"\n color=\"primary\">\n Done\n </button>\n <ng-container *ngIf=\"tabIndex === 0\">\n <button\n *ngFor=\"let cronAction of cronActions\"\n mat-button\n (click)=\"cronActionClick(cronAction)\">\n {{ cronAction.label }}\n </button>\n </ng-container>\n </mat-dialog-actions>\n</fs-dialog>", styles: [":host ::ng-deep .col-message .message{white-space:break-spaces;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}:host ::ng-deep .col-date{white-space:nowrap}h1 .small{line-height:normal}.row{display:flex;flex-wrap:wrap}.row fs-label-field:not(:last-child){margin-right:40px}.message{white-space:pre-line}\n"] }]
63
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
64
+ FsSkeletonModule,
65
+ FsDialogModule,
66
+ MatDialogTitle,
67
+ CdkScrollable,
68
+ MatDialogContent,
69
+ MatTabGroup,
70
+ MatTab,
71
+ FsLabelModule,
72
+ FsDateModule,
73
+ MatTabContent,
74
+ CronLogsComponent,
75
+ MatDialogActions,
76
+ MatButton,
77
+ MatDialogClose,
78
+ ], template: "<fs-dialog *fsSkeleton=\"cron\">\n <h1 mat-dialog-title>\n Cron\n <div class=\"small\">\n {{ cron.name }}\n </div>\n </h1>\n <mat-dialog-content>\n <mat-tab-group (selectedIndexChange)=\"selectedIndexChange($event)\">\n <mat-tab label=\"Overview\">\n <div class=\"fs-row.gap-lg.wrap.align-start\">\n <fs-label-field>\n <fs-label>\n Status\n </fs-label>\n {{ CronStates[cron.state] }}\n </fs-label-field>\n @if (cron.cronSetting) {\n <fs-label-field>\n <fs-label>\n Run Frequency\n </fs-label>\n {{ cron.cronSetting.summary }}\n </fs-label-field>\n }\n <fs-label-field>\n <fs-label>\n Process ID\n </fs-label>\n {{ cron.processId || 'None' }}\n @if (cron.processId) {\n <div class=\"small\">\n {{ CronProcessStates[cron.processState] || 'Unknown' }}\n </div>\n }\n </fs-label-field>\n <fs-label-field>\n <fs-label>\n Last Ran\n </fs-label>\n @if (cron.duration===null) {\n Never\n } @else {\n <fs-date-ago [date]=\"cron.createDate\"></fs-date-ago>\n <div>\n @if (cron.duration) {\n <small>\n Duration: {{ cron.duration | fsDateDuration }}\n </small>\n }\n </div>\n }\n </fs-label-field>\n <fs-label-field>\n <fs-label>\n Timeout hours\n </fs-label>\n {{ cron.cronSetting?.timeout || 'N/A' }}\n </fs-label-field>\n </div>\n @if (cron.message) {\n <fs-label-field>\n <fs-label>\n Last Message\n </fs-label>\n <div class=\"message\">\n {{ cron.message }}\n </div>\n </fs-label-field>\n }\n </mat-tab>\n <mat-tab label=\"Logs\">\n <ng-template matTabContent>\n <app-cron-logs [cron]=\"cron\"></app-cron-logs>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n [mat-dialog-close]=\"true\"\n color=\"primary\">\n Done\n </button>\n @if (tabIndex === 0) {\n @for (cronAction of cronActions; track cronAction) {\n <button\n mat-button\n (click)=\"cronActionClick(cronAction)\">\n {{ cronAction.label }}\n </button>\n }\n }\n </mat-dialog-actions>\n</fs-dialog>", styles: [":host ::ng-deep .col-message .message{white-space:break-spaces;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}:host ::ng-deep .col-date{white-space:nowrap}h1 .small{line-height:normal}.row{display:flex;flex-wrap:wrap}.row fs-label-field:not(:last-child){margin-right:40px}.message{white-space:pre-line}\n"] }]
61
79
  }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvc3lzdGVtL2NvbXBvbmVudHMvY3Jvbi9jcm9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9zeXN0ZW0vY29tcG9uZW50cy9jcm9uL2Nyb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEdBQzlELE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7O0FBUWhFLE1BQU0sT0FBTyxhQUFhO0lBRWpCLElBQUksQ0FBQztJQUNMLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDYixVQUFVLEdBQUcsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hDLGlCQUFpQixHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRXRELFdBQVcsQ0FBQztJQUVYLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ25DLEtBQUssR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFakMsUUFBUTtRQUNiLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFTSxlQUFlLENBQUMsVUFBVTtRQUMvQixVQUFVO2FBQ1AsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDakIsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLG1CQUFtQixDQUFDLEtBQUs7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsU0FBUzthQUNYLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDdkIsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRO1NBQzNELENBQUM7YUFDRCxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHO2dCQUNWLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJO2dCQUNsQixHQUFHLElBQUk7YUFDUixDQUFDO1lBRUYsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVc7aUJBQ3RDLE1BQU0sQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFO2dCQUN4QixPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxDQUFDO1lBRUwsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7dUdBL0NVLGFBQWE7MkZBQWIsYUFBYSxvRENoQjFCLGd1RkF5Rlk7OzJGRHpFQyxhQUFhO2tCQUx6QixTQUFTO3NDQUdTLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBDcm9uUHJvY2Vzc1N0YXRlcywgQ3JvblN0YXRlcyB9IGZyb20gJy4uLy4uL2NvbnN0cyc7XG5pbXBvcnQgeyBDcm9uRGF0YSB9IGZyb20gJy4uLy4uL2RhdGEvY3Jvbi5kYXRhJztcbmltcG9ydCB7IGluZGV4TmFtZVZhbHVlIH0gZnJvbSAnLi4vLi4vaGVscGVycy9pbmRleC1uYW1lLXZhbHVlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2Nyb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jcm9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDcm9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgY3JvbjtcbiAgcHVibGljIHRhYkluZGV4ID0gMDtcbiAgcHVibGljIENyb25TdGF0ZXMgPSBpbmRleE5hbWVWYWx1ZShDcm9uU3RhdGVzKTtcbiAgcHVibGljIENyb25Qcm9jZXNzU3RhdGVzID0gaW5kZXhOYW1lVmFsdWUoQ3JvblByb2Nlc3NTdGF0ZXMpO1xuXG4gIHB1YmxpYyBjcm9uQWN0aW9ucztcbiAgXG4gIHByaXZhdGUgX2Nyb25EYXRhID0gaW5qZWN0KENyb25EYXRhKTtcbiAgcHJpdmF0ZSBfY2RSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIF9kYXRhID0gaW5qZWN0KE1BVF9ESUFMT0dfREFUQSk7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubG9hZCgpO1xuICB9XG5cbiAgcHVibGljIGNyb25BY3Rpb25DbGljayhjcm9uQWN0aW9uKSB7XG4gICAgY3JvbkFjdGlvblxuICAgICAgLmFjdGlvbih0aGlzLmNyb24pXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RlZEluZGV4Q2hhbmdlKGluZGV4KSB7XG4gICAgdGhpcy50YWJJbmRleCA9IGluZGV4O1xuICB9XG5cbiAgcHVibGljIGxvYWQoKTogdm9pZCB7XG4gICAgdGhpcy5fY3JvbkRhdGFcbiAgICAgIC5nZXQodGhpcy5fZGF0YS5jcm9uLmlkLCB7XG4gICAgICAgIHRpbWV6b25lOiBJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmUsXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSgoY3JvbikgPT4ge1xuICAgICAgICB0aGlzLmNyb24gPSB7XG4gICAgICAgICAgLi4udGhpcy5fZGF0YS5jcm9uLFxuICAgICAgICAgIC4uLmNyb24sXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5jcm9uQWN0aW9ucyA9IHRoaXMuX2RhdGEuY3JvbkFjdGlvbnNcbiAgICAgICAgICAuZmlsdGVyKChjcm9uTG9nQWN0aW9uKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gY3JvbkxvZ0FjdGlvbi5zaG93KHRoaXMuY3Jvbik7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPGZzLWRpYWxvZyAqZnNTa2VsZXRvbj1cImNyb25cIj5cbiAgPGgxIG1hdC1kaWFsb2ctdGl0bGU+XG4gICAgQ3JvblxuICAgIDxkaXYgY2xhc3M9XCJzbWFsbFwiPlxuICAgICAge3sgY3Jvbi5uYW1lIH19XG4gICAgPC9kaXY+XG4gIDwvaDE+XG4gIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPG1hdC10YWItZ3JvdXAgKHNlbGVjdGVkSW5kZXhDaGFuZ2UpPVwic2VsZWN0ZWRJbmRleENoYW5nZSgkZXZlbnQpXCI+XG4gICAgICA8bWF0LXRhYiBsYWJlbD1cIk92ZXJ2aWV3XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmcy1yb3cuZ2FwLWxnLndyYXAuYWxpZ24tc3RhcnRcIj5cbiAgICAgICAgICA8ZnMtbGFiZWwtZmllbGQ+XG4gICAgICAgICAgICA8ZnMtbGFiZWw+XG4gICAgICAgICAgICAgIFN0YXR1c1xuICAgICAgICAgICAgPC9mcy1sYWJlbD5cbiAgICAgICAgICAgIHt7IENyb25TdGF0ZXNbY3Jvbi5zdGF0ZV0gfX1cbiAgICAgICAgICA8L2ZzLWxhYmVsLWZpZWxkPlxuICAgICAgICAgIDxmcy1sYWJlbC1maWVsZCAqbmdJZj1cImNyb24uY3JvblNldHRpbmdcIj5cbiAgICAgICAgICAgIDxmcy1sYWJlbD5cbiAgICAgICAgICAgICAgUnVuIEZyZXF1ZW5jeVxuICAgICAgICAgICAgPC9mcy1sYWJlbD5cbiAgICAgICAgICAgIHt7IGNyb24uY3JvblNldHRpbmcuc3VtbWFyeSB9fVxuICAgICAgICAgIDwvZnMtbGFiZWwtZmllbGQ+XG4gICAgICAgICAgPGZzLWxhYmVsLWZpZWxkPlxuICAgICAgICAgICAgPGZzLWxhYmVsPlxuICAgICAgICAgICAgICBQcm9jZXNzIElEXG4gICAgICAgICAgICA8L2ZzLWxhYmVsPlxuICAgICAgICAgICAge3sgY3Jvbi5wcm9jZXNzSWQgfHwgJ05vbmUnIH19XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3Jvbi5wcm9jZXNzSWRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNtYWxsXCI+XG4gICAgICAgICAgICAgICAge3sgQ3JvblByb2Nlc3NTdGF0ZXNbY3Jvbi5wcm9jZXNzU3RhdGVdIHx8ICdVbmtub3duJyB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZnMtbGFiZWwtZmllbGQ+XG4gICAgICAgICAgPGZzLWxhYmVsLWZpZWxkPlxuICAgICAgICAgICAgPGZzLWxhYmVsPlxuICAgICAgICAgICAgICBMYXN0IFJhblxuICAgICAgICAgICAgPC9mcy1sYWJlbD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjcm9uLmR1cmF0aW9uPT09bnVsbDsgZWxzZSBsYXN0UmFuXCI+XG4gICAgICAgICAgICAgIE5ldmVyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbGFzdFJhbj5cbiAgICAgICAgICAgICAgPGZzLWRhdGUtYWdvIFtkYXRlXT1cImNyb24uY3JlYXRlRGF0ZVwiPjwvZnMtZGF0ZS1hZ28+XG4gICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPHNtYWxsICpuZ0lmPVwiY3Jvbi5kdXJhdGlvblwiPlxuICAgICAgICAgICAgICAgICAgRHVyYXRpb246IHt7IGNyb24uZHVyYXRpb24gfCBmc0RhdGVEdXJhdGlvbiB9fVxuICAgICAgICAgICAgICAgIDwvc21hbGw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2ZzLWxhYmVsLWZpZWxkPlxuICAgICAgICAgIDxmcy1sYWJlbC1maWVsZD5cbiAgICAgICAgICAgIDxmcy1sYWJlbD5cbiAgICAgICAgICAgICAgVGltZW91dCBob3Vyc1xuICAgICAgICAgICAgPC9mcy1sYWJlbD5cbiAgICAgICAgICAgIHt7IGNyb24uY3JvblNldHRpbmc/LnRpbWVvdXQgfHwgJ04vQScgfX1cbiAgICAgICAgICA8L2ZzLWxhYmVsLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGZzLWxhYmVsLWZpZWxkICpuZ0lmPVwiY3Jvbi5tZXNzYWdlXCI+XG4gICAgICAgICAgPGZzLWxhYmVsPlxuICAgICAgICAgICAgTGFzdCBNZXNzYWdlXG4gICAgICAgICAgPC9mcy1sYWJlbD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZVwiPlxuICAgICAgICAgICAge3sgY3Jvbi5tZXNzYWdlIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZnMtbGFiZWwtZmllbGQ+XG4gICAgICA8L21hdC10YWI+XG4gICAgICA8bWF0LXRhYiBsYWJlbD1cIkxvZ3NcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICAgICAgPGFwcC1jcm9uLWxvZ3MgW2Nyb25dPVwiY3JvblwiPjwvYXBwLWNyb24tbG9ncz5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbWF0LXRhYj5cbiAgICA8L21hdC10YWItZ3JvdXA+XG4gIDwvbWF0LWRpYWxvZy1jb250ZW50PlxuICA8bWF0LWRpYWxvZy1hY3Rpb25zPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICBbbWF0LWRpYWxvZy1jbG9zZV09XCJ0cnVlXCJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICBEb25lXG4gICAgPC9idXR0b24+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRhYkluZGV4ID09PSAwXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGNyb25BY3Rpb24gb2YgY3JvbkFjdGlvbnNcIlxuICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAoY2xpY2spPVwiY3JvbkFjdGlvbkNsaWNrKGNyb25BY3Rpb24pXCI+XG4gICAgICAgIHt7IGNyb25BY3Rpb24ubGFiZWwgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L21hdC1kaWFsb2ctYWN0aW9ucz5cbjwvZnMtZGlhbG9nPiJdfQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvc3lzdGVtL2NvbXBvbmVudHMvY3Jvbi9jcm9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9zeXN0ZW0vY29tcG9uZW50cy9jcm9uL2Nyb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEdBQzlELE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRS9ILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7QUF5QnJELE1BQU0sT0FBTyxhQUFhO0lBRWpCLElBQUksQ0FBQztJQUNMLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDYixVQUFVLEdBQUcsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hDLGlCQUFpQixHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRXRELFdBQVcsQ0FBQztJQUVYLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ25DLEtBQUssR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFakMsUUFBUTtRQUNiLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFTSxlQUFlLENBQUMsVUFBVTtRQUMvQixVQUFVO2FBQ1AsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDakIsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLG1CQUFtQixDQUFDLEtBQUs7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsU0FBUzthQUNYLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDdkIsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRO1NBQzNELENBQUM7YUFDRCxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHO2dCQUNWLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJO2dCQUNsQixHQUFHLElBQUk7YUFDUixDQUFDO1lBRUYsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVc7aUJBQ3RDLE1BQU0sQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFO2dCQUN4QixPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxDQUFDO1lBRUwsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7dUdBL0NVLGFBQWE7MkZBQWIsYUFBYSx3RUN6QzFCLHlzRkErRlksK1lEdEVKLGdCQUFnQixpS0FDaEIsY0FBYyxpTUFDZCxjQUFjLCtIQUVkLGdCQUFnQix5R0FDaEIsV0FBVyxrYkFDWCxNQUFNLG9LQUNOLGFBQWEsK1FBQ2IsWUFBWSwrUEFDWixhQUFhLDREQUNiLGlCQUFpQiw0RUFDakIsZ0JBQWdCLDRIQUNoQixTQUFTLGlMQUNULGNBQWM7OzJGQUdULGFBQWE7a0JBdEJ6QixTQUFTO3NDQUdXLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNMLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLE1BQU07d0JBQ04sYUFBYTt3QkFDYixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLFNBQVM7d0JBQ1QsY0FBYztxQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1RpdGxlLCBNYXREaWFsb2dDb250ZW50LCBNYXREaWFsb2dBY3Rpb25zLCBNYXREaWFsb2dDbG9zZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IENyb25Qcm9jZXNzU3RhdGVzLCBDcm9uU3RhdGVzIH0gZnJvbSAnLi4vLi4vY29uc3RzJztcbmltcG9ydCB7IENyb25EYXRhIH0gZnJvbSAnLi4vLi4vZGF0YS9jcm9uLmRhdGEnO1xuaW1wb3J0IHsgaW5kZXhOYW1lVmFsdWUgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2luZGV4LW5hbWUtdmFsdWUnO1xuaW1wb3J0IHsgRnNTa2VsZXRvbk1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL3NrZWxldG9uJztcbmltcG9ydCB7IEZzRGlhbG9nTW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZGlhbG9nJztcbmltcG9ydCB7IENka1Njcm9sbGFibGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7IE1hdFRhYkdyb3VwLCBNYXRUYWIsIE1hdFRhYkNvbnRlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcbmltcG9ydCB7IEZzTGFiZWxNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9sYWJlbCc7XG5pbXBvcnQgeyBGc0RhdGVNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9kYXRlJztcbmltcG9ydCB7IENyb25Mb2dzQ29tcG9uZW50IH0gZnJvbSAnLi4vY3Jvbi1sb2dzL2Nyb24tbG9ncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0QnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcblxuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJy4vY3Jvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY3Jvbi5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBGc1NrZWxldG9uTW9kdWxlLFxuICAgICAgICBGc0RpYWxvZ01vZHVsZSxcbiAgICAgICAgTWF0RGlhbG9nVGl0bGUsXG4gICAgICAgIENka1Njcm9sbGFibGUsXG4gICAgICAgIE1hdERpYWxvZ0NvbnRlbnQsXG4gICAgICAgIE1hdFRhYkdyb3VwLFxuICAgICAgICBNYXRUYWIsXG4gICAgICAgIEZzTGFiZWxNb2R1bGUsXG4gICAgICAgIEZzRGF0ZU1vZHVsZSxcbiAgICAgICAgTWF0VGFiQ29udGVudCxcbiAgICAgICAgQ3JvbkxvZ3NDb21wb25lbnQsXG4gICAgICAgIE1hdERpYWxvZ0FjdGlvbnMsXG4gICAgICAgIE1hdEJ1dHRvbixcbiAgICAgICAgTWF0RGlhbG9nQ2xvc2UsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3JvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIGNyb247XG4gIHB1YmxpYyB0YWJJbmRleCA9IDA7XG4gIHB1YmxpYyBDcm9uU3RhdGVzID0gaW5kZXhOYW1lVmFsdWUoQ3JvblN0YXRlcyk7XG4gIHB1YmxpYyBDcm9uUHJvY2Vzc1N0YXRlcyA9IGluZGV4TmFtZVZhbHVlKENyb25Qcm9jZXNzU3RhdGVzKTtcblxuICBwdWJsaWMgY3JvbkFjdGlvbnM7XG4gIFxuICBwcml2YXRlIF9jcm9uRGF0YSA9IGluamVjdChDcm9uRGF0YSk7XG4gIHByaXZhdGUgX2NkUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBfZGF0YSA9IGluamVjdChNQVRfRElBTE9HX0RBVEEpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBjcm9uQWN0aW9uQ2xpY2soY3JvbkFjdGlvbikge1xuICAgIGNyb25BY3Rpb25cbiAgICAgIC5hY3Rpb24odGhpcy5jcm9uKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubG9hZCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0ZWRJbmRleENoYW5nZShpbmRleCkge1xuICAgIHRoaXMudGFiSW5kZXggPSBpbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBsb2FkKCk6IHZvaWQge1xuICAgIHRoaXMuX2Nyb25EYXRhXG4gICAgICAuZ2V0KHRoaXMuX2RhdGEuY3Jvbi5pZCwge1xuICAgICAgICB0aW1lem9uZTogSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKGNyb24pID0+IHtcbiAgICAgICAgdGhpcy5jcm9uID0ge1xuICAgICAgICAgIC4uLnRoaXMuX2RhdGEuY3JvbixcbiAgICAgICAgICAuLi5jcm9uLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuY3JvbkFjdGlvbnMgPSB0aGlzLl9kYXRhLmNyb25BY3Rpb25zXG4gICAgICAgICAgLmZpbHRlcigoY3JvbkxvZ0FjdGlvbikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGNyb25Mb2dBY3Rpb24uc2hvdyh0aGlzLmNyb24pO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxmcy1kaWFsb2cgKmZzU2tlbGV0b249XCJjcm9uXCI+XG4gIDxoMSBtYXQtZGlhbG9nLXRpdGxlPlxuICAgIENyb25cbiAgICA8ZGl2IGNsYXNzPVwic21hbGxcIj5cbiAgICAgIHt7IGNyb24ubmFtZSB9fVxuICAgIDwvZGl2PlxuICA8L2gxPlxuICA8bWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxtYXQtdGFiLWdyb3VwIChzZWxlY3RlZEluZGV4Q2hhbmdlKT1cInNlbGVjdGVkSW5kZXhDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgPG1hdC10YWIgbGFiZWw9XCJPdmVydmlld1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZnMtcm93LmdhcC1sZy53cmFwLmFsaWduLXN0YXJ0XCI+XG4gICAgICAgICAgPGZzLWxhYmVsLWZpZWxkPlxuICAgICAgICAgICAgPGZzLWxhYmVsPlxuICAgICAgICAgICAgICBTdGF0dXNcbiAgICAgICAgICAgIDwvZnMtbGFiZWw+XG4gICAgICAgICAgICB7eyBDcm9uU3RhdGVzW2Nyb24uc3RhdGVdIH19XG4gICAgICAgICAgPC9mcy1sYWJlbC1maWVsZD5cbiAgICAgICAgICBAaWYgKGNyb24uY3JvblNldHRpbmcpIHtcbiAgICAgICAgICAgIDxmcy1sYWJlbC1maWVsZD5cbiAgICAgICAgICAgICAgPGZzLWxhYmVsPlxuICAgICAgICAgICAgICAgIFJ1biBGcmVxdWVuY3lcbiAgICAgICAgICAgICAgPC9mcy1sYWJlbD5cbiAgICAgICAgICAgICAge3sgY3Jvbi5jcm9uU2V0dGluZy5zdW1tYXJ5IH19XG4gICAgICAgICAgICA8L2ZzLWxhYmVsLWZpZWxkPlxuICAgICAgICAgIH1cbiAgICAgICAgICA8ZnMtbGFiZWwtZmllbGQ+XG4gICAgICAgICAgICA8ZnMtbGFiZWw+XG4gICAgICAgICAgICAgIFByb2Nlc3MgSURcbiAgICAgICAgICAgIDwvZnMtbGFiZWw+XG4gICAgICAgICAgICB7eyBjcm9uLnByb2Nlc3NJZCB8fCAnTm9uZScgfX1cbiAgICAgICAgICAgIEBpZiAoY3Jvbi5wcm9jZXNzSWQpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNtYWxsXCI+XG4gICAgICAgICAgICAgICAge3sgQ3JvblByb2Nlc3NTdGF0ZXNbY3Jvbi5wcm9jZXNzU3RhdGVdIHx8ICdVbmtub3duJyB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2ZzLWxhYmVsLWZpZWxkPlxuICAgICAgICAgIDxmcy1sYWJlbC1maWVsZD5cbiAgICAgICAgICAgIDxmcy1sYWJlbD5cbiAgICAgICAgICAgICAgTGFzdCBSYW5cbiAgICAgICAgICAgIDwvZnMtbGFiZWw+XG4gICAgICAgICAgICBAaWYgKGNyb24uZHVyYXRpb249PT1udWxsKSB7XG4gICAgICAgICAgICAgIE5ldmVyXG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgPGZzLWRhdGUtYWdvIFtkYXRlXT1cImNyb24uY3JlYXRlRGF0ZVwiPjwvZnMtZGF0ZS1hZ28+XG4gICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgQGlmIChjcm9uLmR1cmF0aW9uKSB7XG4gICAgICAgICAgICAgICAgICA8c21hbGw+XG4gICAgICAgICAgICAgICAgICAgIER1cmF0aW9uOiB7eyBjcm9uLmR1cmF0aW9uIHwgZnNEYXRlRHVyYXRpb24gfX1cbiAgICAgICAgICAgICAgICAgIDwvc21hbGw+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2ZzLWxhYmVsLWZpZWxkPlxuICAgICAgICAgIDxmcy1sYWJlbC1maWVsZD5cbiAgICAgICAgICAgIDxmcy1sYWJlbD5cbiAgICAgICAgICAgICAgVGltZW91dCBob3Vyc1xuICAgICAgICAgICAgPC9mcy1sYWJlbD5cbiAgICAgICAgICAgIHt7IGNyb24uY3JvblNldHRpbmc/LnRpbWVvdXQgfHwgJ04vQScgfX1cbiAgICAgICAgICA8L2ZzLWxhYmVsLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmIChjcm9uLm1lc3NhZ2UpIHtcbiAgICAgICAgICA8ZnMtbGFiZWwtZmllbGQ+XG4gICAgICAgICAgICA8ZnMtbGFiZWw+XG4gICAgICAgICAgICAgIExhc3QgTWVzc2FnZVxuICAgICAgICAgICAgPC9mcy1sYWJlbD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlXCI+XG4gICAgICAgICAgICAgIHt7IGNyb24ubWVzc2FnZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9mcy1sYWJlbC1maWVsZD5cbiAgICAgICAgfVxuICAgICAgPC9tYXQtdGFiPlxuICAgICAgPG1hdC10YWIgbGFiZWw9XCJMb2dzXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgICAgIDxhcHAtY3Jvbi1sb2dzIFtjcm9uXT1cImNyb25cIj48L2FwcC1jcm9uLWxvZ3M+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L21hdC10YWI+XG4gICAgPC9tYXQtdGFiLWdyb3VwPlxuICA8L21hdC1kaWFsb2ctY29udGVudD5cbiAgPG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgICA8YnV0dG9uXG4gICAgICBtYXQtYnV0dG9uXG4gICAgICBbbWF0LWRpYWxvZy1jbG9zZV09XCJ0cnVlXCJcbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiPlxuICAgICAgRG9uZVxuICAgIDwvYnV0dG9uPlxuICAgIEBpZiAodGFiSW5kZXggPT09IDApIHtcbiAgICAgIEBmb3IgKGNyb25BY3Rpb24gb2YgY3JvbkFjdGlvbnM7IHRyYWNrIGNyb25BY3Rpb24pIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAoY2xpY2spPVwiY3JvbkFjdGlvbkNsaWNrKGNyb25BY3Rpb24pXCI+XG4gICAgICAgICAge3sgY3JvbkFjdGlvbi5sYWJlbCB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICB9XG4gIDwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuPC9mcy1kaWFsb2c+Il19
@@ -1,2 +1,2 @@
1
1
  export * from './cron.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvc3lzdGVtL2NvbXBvbmVudHMvY3Jvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jcm9uLmNvbXBvbmVudCc7XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvc3lzdGVtL2NvbXBvbmVudHMvY3Jvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jcm9uLmNvbXBvbmVudCc7XG4iXX0=
@@ -1,23 +1,24 @@
1
- import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
2
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
1
+ import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
2
+ import { MAT_DIALOG_DATA, MatDialogTitle, MatDialogContent, MatDialogActions, MatDialogClose } from '@angular/material/dialog';
3
3
  import { CronLogStates } from '../../consts/cron-log-states.const';
4
4
  import { indexNameValue } from '../../helpers/index-name-value';
5
+ import { FsSkeletonModule } from '@firestitch/skeleton';
6
+ import { FsDialogModule } from '@firestitch/dialog';
7
+ import { CdkScrollable } from '@angular/cdk/scrolling';
8
+ import { FsLabelModule } from '@firestitch/label';
9
+ import { NgStyle } from '@angular/common';
10
+ import { FsDateModule } from '@firestitch/date';
11
+ import { MatButton } from '@angular/material/button';
5
12
  import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@angular/material/button";
8
- import * as i3 from "@angular/material/dialog";
13
+ import * as i1 from "@firestitch/skeleton";
14
+ import * as i2 from "@firestitch/dialog";
15
+ import * as i3 from "@firestitch/label";
9
16
  import * as i4 from "@firestitch/date";
10
- import * as i5 from "@firestitch/skeleton";
11
- import * as i6 from "@firestitch/label";
12
- import * as i7 from "@firestitch/dialog";
13
17
  export class CronLogComponent {
14
- _data;
18
+ _data = inject(MAT_DIALOG_DATA);
15
19
  cronLog;
16
20
  CronLogStates = indexNameValue(CronLogStates);
17
21
  CronLogStateColors = {};
18
- constructor(_data) {
19
- this._data = _data;
20
- }
21
22
  ngOnInit() {
22
23
  this.cronLog = this._data.cronLog;
23
24
  this.CronLogStateColors = CronLogStates
@@ -26,14 +27,23 @@ export class CronLogComponent {
26
27
  return accum;
27
28
  }, {});
28
29
  }
29
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CronLogComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
30
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: CronLogComponent, selector: "ng-component", ngImport: i0, template: "<fs-dialog *fsSkeleton=\"cronLog\">\n <div mat-dialog-title>\n Cron Log\n </div>\n <mat-dialog-content>\n <div class=\"row\">\n <fs-label-field>\n <fs-label>\n Status\n </fs-label>\n <div [ngStyle]=\"{ color: CronLogStateColors[cronLog.state]}\">\n {{ CronLogStates[cronLog.state] || cronLog.state }}\n </div>\n </fs-label-field>\n <fs-label-field>\n <fs-label>\n Date\n </fs-label>\n <fs-date-ago [date]=\"cronLog.createDate\"></fs-date-ago>\n </fs-label-field>\n </div>\n <fs-label-field *ngIf=\"cronLog.message\">\n <fs-label>\n Message\n </fs-label>\n <div class=\"message\">\n {{ cronLog.message }}\n </div>\n </fs-label-field>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n [mat-dialog-close]=\"true\"\n color=\"primary\">\n Done\n </button>\n </mat-dialog-actions>\n</fs-dialog>", styles: [".message{white-space:pre-line}.row{display:flex;flex-wrap:wrap}.row fs-label-field:not(:last-child){margin-right:40px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i4.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }, { kind: "directive", type: i5.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { kind: "component", type: i6.FsLabelComponent, selector: "fs-label" }, { kind: "component", type: i6.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["appearance", "showOutline", "disabled", "focused", "hoverable", "padless"] }, { kind: "component", type: i7.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileButtonPlacement", "mobileWidth", "mode", "buttonLayout"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
30
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CronLogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: CronLogComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<fs-dialog *fsSkeleton=\"cronLog\">\n <div mat-dialog-title>\n Cron Log\n </div>\n <mat-dialog-content>\n <div class=\"row\">\n <fs-label-field>\n <fs-label>\n Status\n </fs-label>\n <div [ngStyle]=\"{ color: CronLogStateColors[cronLog.state]}\">\n {{ CronLogStates[cronLog.state] || cronLog.state }}\n </div>\n </fs-label-field>\n <fs-label-field>\n <fs-label>\n Date\n </fs-label>\n <fs-date-ago [date]=\"cronLog.createDate\"></fs-date-ago>\n </fs-label-field>\n </div>\n @if (cronLog.message) {\n <fs-label-field>\n <fs-label>\n Message\n </fs-label>\n <div class=\"message\">\n {{ cronLog.message }}\n </div>\n </fs-label-field>\n }\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n [mat-dialog-close]=\"true\"\n color=\"primary\">\n Done\n </button>\n </mat-dialog-actions>\n</fs-dialog>", styles: [".message{white-space:pre-line}.row{display:flex;flex-wrap:wrap}.row fs-label-field:not(:last-child){margin-right:40px}\n"], dependencies: [{ kind: "ngmodule", type: FsSkeletonModule }, { kind: "directive", type: i1.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { kind: "ngmodule", type: FsDialogModule }, { kind: "component", type: i2.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileButtonPlacement", "mobileWidth", "mode", "buttonLayout"] }, { kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: FsLabelModule }, { kind: "component", type: i3.FsLabelComponent, selector: "fs-label" }, { kind: "component", type: i3.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["appearance", "showOutline", "disabled", "focused", "hoverable", "padless"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FsDateModule }, { kind: "component", type: i4.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
31
32
  }
32
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CronLogComponent, decorators: [{
33
34
  type: Component,
34
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<fs-dialog *fsSkeleton=\"cronLog\">\n <div mat-dialog-title>\n Cron Log\n </div>\n <mat-dialog-content>\n <div class=\"row\">\n <fs-label-field>\n <fs-label>\n Status\n </fs-label>\n <div [ngStyle]=\"{ color: CronLogStateColors[cronLog.state]}\">\n {{ CronLogStates[cronLog.state] || cronLog.state }}\n </div>\n </fs-label-field>\n <fs-label-field>\n <fs-label>\n Date\n </fs-label>\n <fs-date-ago [date]=\"cronLog.createDate\"></fs-date-ago>\n </fs-label-field>\n </div>\n <fs-label-field *ngIf=\"cronLog.message\">\n <fs-label>\n Message\n </fs-label>\n <div class=\"message\">\n {{ cronLog.message }}\n </div>\n </fs-label-field>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n [mat-dialog-close]=\"true\"\n color=\"primary\">\n Done\n </button>\n </mat-dialog-actions>\n</fs-dialog>", styles: [".message{white-space:pre-line}.row{display:flex;flex-wrap:wrap}.row fs-label-field:not(:last-child){margin-right:40px}\n"] }]
35
- }], ctorParameters: () => [{ type: undefined, decorators: [{
36
- type: Inject,
37
- args: [MAT_DIALOG_DATA]
38
- }] }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi1sb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL3N5c3RlbS9jb21wb25lbnRzL2Nyb24tbG9nL2Nyb24tbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9zeXN0ZW0vY29tcG9uZW50cy9jcm9uLWxvZy9jcm9uLWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7O0FBUWhFLE1BQU0sT0FBTyxnQkFBZ0I7SUFPUTtJQUw1QixPQUFPLENBQUM7SUFDUixhQUFhLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzlDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztJQUUvQixZQUNtQyxLQUFLO1FBQUwsVUFBSyxHQUFMLEtBQUssQ0FBQTtJQUNyQyxDQUFDO0lBRUcsUUFBUTtRQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGFBQWE7YUFDcEMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxFQUFFO1lBQzlCLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztZQUUvQyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNYLENBQUM7dUdBbEJVLGdCQUFnQixrQkFPakIsZUFBZTsyRkFQZCxnQkFBZ0Isb0RDYjdCLG0rQkFzQ1k7OzJGRHpCQyxnQkFBZ0I7a0JBTDVCLFNBQVM7c0NBR1MsdUJBQXVCLENBQUMsTUFBTTs7MEJBUzVDLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IENyb25Mb2dTdGF0ZXMgfSBmcm9tICcuLi8uLi9jb25zdHMvY3Jvbi1sb2ctc3RhdGVzLmNvbnN0JztcbmltcG9ydCB7IGluZGV4TmFtZVZhbHVlIH0gZnJvbSAnLi4vLi4vaGVscGVycy9pbmRleC1uYW1lLXZhbHVlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2Nyb24tbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3Jvbi1sb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENyb25Mb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBjcm9uTG9nO1xuICBwdWJsaWMgQ3JvbkxvZ1N0YXRlcyA9IGluZGV4TmFtZVZhbHVlKENyb25Mb2dTdGF0ZXMpO1xuICBwdWJsaWMgQ3JvbkxvZ1N0YXRlQ29sb3JzID0ge307XG4gIFxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJpdmF0ZSBfZGF0YSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNyb25Mb2cgPSB0aGlzLl9kYXRhLmNyb25Mb2c7XG4gICAgdGhpcy5Dcm9uTG9nU3RhdGVDb2xvcnMgPSBDcm9uTG9nU3RhdGVzXG4gICAgICAucmVkdWNlKChhY2N1bSwgY3JvbkxvZ1N0YXRlKSA9PiB7XG4gICAgICAgIGFjY3VtW2Nyb25Mb2dTdGF0ZS52YWx1ZV0gPSBjcm9uTG9nU3RhdGUuY29sb3I7XG5cbiAgICAgICAgcmV0dXJuIGFjY3VtO1xuICAgICAgfSwge30pO1xuICB9XG59XG4iLCI8ZnMtZGlhbG9nICpmc1NrZWxldG9uPVwiY3JvbkxvZ1wiPlxuICA8ZGl2IG1hdC1kaWFsb2ctdGl0bGU+XG4gICAgQ3JvbiBMb2dcbiAgPC9kaXY+XG4gIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgPGZzLWxhYmVsLWZpZWxkPlxuICAgICAgICA8ZnMtbGFiZWw+XG4gICAgICAgICAgU3RhdHVzXG4gICAgICAgIDwvZnMtbGFiZWw+XG4gICAgICAgIDxkaXYgW25nU3R5bGVdPVwieyBjb2xvcjogQ3JvbkxvZ1N0YXRlQ29sb3JzW2Nyb25Mb2cuc3RhdGVdfVwiPlxuICAgICAgICAgIHt7IENyb25Mb2dTdGF0ZXNbY3JvbkxvZy5zdGF0ZV0gfHwgY3JvbkxvZy5zdGF0ZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZnMtbGFiZWwtZmllbGQ+XG4gICAgICA8ZnMtbGFiZWwtZmllbGQ+XG4gICAgICAgIDxmcy1sYWJlbD5cbiAgICAgICAgICBEYXRlXG4gICAgICAgIDwvZnMtbGFiZWw+XG4gICAgICAgIDxmcy1kYXRlLWFnbyBbZGF0ZV09XCJjcm9uTG9nLmNyZWF0ZURhdGVcIj48L2ZzLWRhdGUtYWdvPlxuICAgICAgPC9mcy1sYWJlbC1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8ZnMtbGFiZWwtZmllbGQgKm5nSWY9XCJjcm9uTG9nLm1lc3NhZ2VcIj5cbiAgICAgIDxmcy1sYWJlbD5cbiAgICAgICAgTWVzc2FnZVxuICAgICAgPC9mcy1sYWJlbD5cbiAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlXCI+XG4gICAgICAgIHt7IGNyb25Mb2cubWVzc2FnZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9mcy1sYWJlbC1maWVsZD5cbiAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG4gIDxtYXQtZGlhbG9nLWFjdGlvbnM+XG4gICAgPGJ1dHRvblxuICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgIFttYXQtZGlhbG9nLWNsb3NlXT1cInRydWVcIlxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgIERvbmVcbiAgICA8L2J1dHRvbj5cbiAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG48L2ZzLWRpYWxvZz4iXX0=
35
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
36
+ FsSkeletonModule,
37
+ FsDialogModule,
38
+ MatDialogTitle,
39
+ CdkScrollable,
40
+ MatDialogContent,
41
+ FsLabelModule,
42
+ NgStyle,
43
+ FsDateModule,
44
+ MatDialogActions,
45
+ MatButton,
46
+ MatDialogClose,
47
+ ], template: "<fs-dialog *fsSkeleton=\"cronLog\">\n <div mat-dialog-title>\n Cron Log\n </div>\n <mat-dialog-content>\n <div class=\"row\">\n <fs-label-field>\n <fs-label>\n Status\n </fs-label>\n <div [ngStyle]=\"{ color: CronLogStateColors[cronLog.state]}\">\n {{ CronLogStates[cronLog.state] || cronLog.state }}\n </div>\n </fs-label-field>\n <fs-label-field>\n <fs-label>\n Date\n </fs-label>\n <fs-date-ago [date]=\"cronLog.createDate\"></fs-date-ago>\n </fs-label-field>\n </div>\n @if (cronLog.message) {\n <fs-label-field>\n <fs-label>\n Message\n </fs-label>\n <div class=\"message\">\n {{ cronLog.message }}\n </div>\n </fs-label-field>\n }\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n [mat-dialog-close]=\"true\"\n color=\"primary\">\n Done\n </button>\n </mat-dialog-actions>\n</fs-dialog>", styles: [".message{white-space:pre-line}.row{display:flex;flex-wrap:wrap}.row fs-label-field:not(:last-child){margin-right:40px}\n"] }]
48
+ }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi1sb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL3N5c3RlbS9jb21wb25lbnRzL2Nyb24tbG9nL2Nyb24tbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9zeXN0ZW0vY29tcG9uZW50cy9jcm9uLWxvZy9jcm9uLWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRixPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUvSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7QUFzQnJELE1BQU0sT0FBTyxnQkFBZ0I7SUFDbkIsS0FBSyxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUdqQyxPQUFPLENBQUM7SUFDUixhQUFhLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzlDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztJQUV4QixRQUFRO1FBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUNsQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsYUFBYTthQUNwQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLEVBQUU7WUFDOUIsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO1lBRS9DLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzt1R0FoQlUsZ0JBQWdCOzJGQUFoQixnQkFBZ0Isd0VDbEM3Qix1L0JBd0NZLGlMRG5CSixnQkFBZ0IsaUtBQ2hCLGNBQWMsaU1BQ2QsY0FBYywrSEFFZCxnQkFBZ0Isd0dBQ2hCLGFBQWEsZ1JBQ2IsT0FBTywwRUFDUCxZQUFZLHdMQUNaLGdCQUFnQiw0SEFDaEIsU0FBUyxpTEFDVCxjQUFjOzsyRkFHVCxnQkFBZ0I7a0JBbkI1QixTQUFTO3NDQUdXLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNMLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLE9BQU87d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLFNBQVM7d0JBQ1QsY0FBYztxQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1RpdGxlLCBNYXREaWFsb2dDb250ZW50LCBNYXREaWFsb2dBY3Rpb25zLCBNYXREaWFsb2dDbG9zZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IENyb25Mb2dTdGF0ZXMgfSBmcm9tICcuLi8uLi9jb25zdHMvY3Jvbi1sb2ctc3RhdGVzLmNvbnN0JztcbmltcG9ydCB7IGluZGV4TmFtZVZhbHVlIH0gZnJvbSAnLi4vLi4vaGVscGVycy9pbmRleC1uYW1lLXZhbHVlJztcbmltcG9ydCB7IEZzU2tlbGV0b25Nb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9za2VsZXRvbic7XG5pbXBvcnQgeyBGc0RpYWxvZ01vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2RpYWxvZyc7XG5pbXBvcnQgeyBDZGtTY3JvbGxhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQgeyBGc0xhYmVsTW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvbGFiZWwnO1xuaW1wb3J0IHsgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGc0RhdGVNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9kYXRlJztcbmltcG9ydCB7IE1hdEJ1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL2Nyb24tbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jcm9uLWxvZy5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBGc1NrZWxldG9uTW9kdWxlLFxuICAgICAgICBGc0RpYWxvZ01vZHVsZSxcbiAgICAgICAgTWF0RGlhbG9nVGl0bGUsXG4gICAgICAgIENka1Njcm9sbGFibGUsXG4gICAgICAgIE1hdERpYWxvZ0NvbnRlbnQsXG4gICAgICAgIEZzTGFiZWxNb2R1bGUsXG4gICAgICAgIE5nU3R5bGUsXG4gICAgICAgIEZzRGF0ZU1vZHVsZSxcbiAgICAgICAgTWF0RGlhbG9nQWN0aW9ucyxcbiAgICAgICAgTWF0QnV0dG9uLFxuICAgICAgICBNYXREaWFsb2dDbG9zZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDcm9uTG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBfZGF0YSA9IGluamVjdChNQVRfRElBTE9HX0RBVEEpO1xuXG5cbiAgcHVibGljIGNyb25Mb2c7XG4gIHB1YmxpYyBDcm9uTG9nU3RhdGVzID0gaW5kZXhOYW1lVmFsdWUoQ3JvbkxvZ1N0YXRlcyk7XG4gIHB1YmxpYyBDcm9uTG9nU3RhdGVDb2xvcnMgPSB7fTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jcm9uTG9nID0gdGhpcy5fZGF0YS5jcm9uTG9nO1xuICAgIHRoaXMuQ3JvbkxvZ1N0YXRlQ29sb3JzID0gQ3JvbkxvZ1N0YXRlc1xuICAgICAgLnJlZHVjZSgoYWNjdW0sIGNyb25Mb2dTdGF0ZSkgPT4ge1xuICAgICAgICBhY2N1bVtjcm9uTG9nU3RhdGUudmFsdWVdID0gY3JvbkxvZ1N0YXRlLmNvbG9yO1xuXG4gICAgICAgIHJldHVybiBhY2N1bTtcbiAgICAgIH0sIHt9KTtcbiAgfVxufVxuIiwiPGZzLWRpYWxvZyAqZnNTa2VsZXRvbj1cImNyb25Mb2dcIj5cbiAgPGRpdiBtYXQtZGlhbG9nLXRpdGxlPlxuICAgIENyb24gTG9nXG4gIDwvZGl2PlxuICA8bWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgIDxmcy1sYWJlbC1maWVsZD5cbiAgICAgICAgPGZzLWxhYmVsPlxuICAgICAgICAgIFN0YXR1c1xuICAgICAgICA8L2ZzLWxhYmVsPlxuICAgICAgICA8ZGl2IFtuZ1N0eWxlXT1cInsgY29sb3I6IENyb25Mb2dTdGF0ZUNvbG9yc1tjcm9uTG9nLnN0YXRlXX1cIj5cbiAgICAgICAgICB7eyBDcm9uTG9nU3RhdGVzW2Nyb25Mb2cuc3RhdGVdIHx8IGNyb25Mb2cuc3RhdGUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2ZzLWxhYmVsLWZpZWxkPlxuICAgICAgPGZzLWxhYmVsLWZpZWxkPlxuICAgICAgICA8ZnMtbGFiZWw+XG4gICAgICAgICAgRGF0ZVxuICAgICAgICA8L2ZzLWxhYmVsPlxuICAgICAgICA8ZnMtZGF0ZS1hZ28gW2RhdGVdPVwiY3JvbkxvZy5jcmVhdGVEYXRlXCI+PC9mcy1kYXRlLWFnbz5cbiAgICAgIDwvZnMtbGFiZWwtZmllbGQ+XG4gICAgPC9kaXY+XG4gICAgQGlmIChjcm9uTG9nLm1lc3NhZ2UpIHtcbiAgICAgIDxmcy1sYWJlbC1maWVsZD5cbiAgICAgICAgPGZzLWxhYmVsPlxuICAgICAgICAgIE1lc3NhZ2VcbiAgICAgICAgPC9mcy1sYWJlbD5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2VcIj5cbiAgICAgICAgICB7eyBjcm9uTG9nLm1lc3NhZ2UgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2ZzLWxhYmVsLWZpZWxkPlxuICAgIH1cbiAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG4gIDxtYXQtZGlhbG9nLWFjdGlvbnM+XG4gICAgPGJ1dHRvblxuICAgICAgbWF0LWJ1dHRvblxuICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwidHJ1ZVwiXG4gICAgICBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgIERvbmVcbiAgICA8L2J1dHRvbj5cbiAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG48L2ZzLWRpYWxvZz4iXX0=
@@ -1,2 +1,2 @@
1
1
  export * from './cron-log.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvc3lzdGVtL2NvbXBvbmVudHMvY3Jvbi1sb2cvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY3Jvbi1sb2cuY29tcG9uZW50JztcclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvc3lzdGVtL2NvbXBvbmVudHMvY3Jvbi1sb2cvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY3Jvbi1sb2cuY29tcG9uZW50JztcbiJdfQ==
@@ -75,7 +75,7 @@ export class CronLogsComponent {
75
75
  };
76
76
  }
77
77
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CronLogsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
78
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: CronLogsComponent, isStandalone: true, selector: "app-cron-logs", inputs: { cron: "cron" }, ngImport: i0, template: "<fs-list [config]=\"config\">\n <fs-list-column\n name=\"state\"\n title=\"Status\">\n <ng-template\n fs-list-cell\n let-row=\"row\">\n <a\n (click)=\"cronLogOpen(row)\"\n [ngStyle]=\"{ color: CronLogStateColors[row.state] }\">\n {{ CronLogStates[row.state] || row.state }}\n </a>\n </ng-template>\n </fs-list-column>\n <fs-list-column\n title=\"Message\"\n class=\"col-message\">\n <ng-template\n fs-list-cell\n let-row=\"row\">\n <div class=\"message\">\n {{ row.message }}\n </div>\n </ng-template>\n </fs-list-column>\n <fs-list-column\n title=\"Duration\"\n class=\"col-message\">\n <ng-template\n fs-list-cell\n let-row=\"row\">\n <ng-container *ngIf=\"row.duration\">\n {{ row.duration | fsDateDuration: 'hour-minute-second' }}\n </ng-container>\n </ng-template>\n </fs-list-column>\n <fs-list-column\n name=\"create_date\"\n title=\"Date\"\n class=\"col-date\">\n <ng-template\n fs-list-cell\n let-row=\"row\">\n <fs-date-ago [date]=\"row.createDate\"></fs-date-ago>\n </ng-template>\n </fs-list-column>\n</fs-list>", styles: [":host ::ng-deep .col-message .message{white-space:break-spaces;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}:host ::ng-deep .col-date{white-space:nowrap}h1 .small{line-height:normal}.row{display:flex;flex-wrap:wrap}.row fs-label-field:not(:last-child){margin-right:40px}.message{white-space:pre-line}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FsListModule }, { kind: "component", type: i2.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { kind: "directive", type: i2.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customizable", "sortable", "sortableDefault", "sortableDirection", "direction", "align", "width", "class"] }, { kind: "directive", type: i2.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { kind: "ngmodule", type: FsDateModule }, { kind: "pipe", type: i3.FsDateDurationPipe, name: "fsDateDuration" }, { kind: "component", type: i3.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
78
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: CronLogsComponent, isStandalone: true, selector: "app-cron-logs", inputs: { cron: "cron" }, ngImport: i0, template: "<fs-list [config]=\"config\">\n <fs-list-column\n name=\"state\"\n title=\"Status\">\n <ng-template\n fs-list-cell\n let-row=\"row\">\n <a\n (click)=\"cronLogOpen(row)\"\n [ngStyle]=\"{ color: CronLogStateColors[row.state] }\">\n {{ CronLogStates[row.state] || row.state }}\n </a>\n </ng-template>\n </fs-list-column>\n <fs-list-column\n title=\"Message\"\n class=\"col-message\">\n <ng-template\n fs-list-cell\n let-row=\"row\">\n <div class=\"message\">\n {{ row.message }}\n </div>\n </ng-template>\n </fs-list-column>\n <fs-list-column\n title=\"Duration\"\n class=\"col-message\">\n <ng-template\n fs-list-cell\n let-row=\"row\">\n @if (row.duration) {\n {{ row.duration | fsDateDuration: 'hour-minute-second' }}\n }\n </ng-template>\n </fs-list-column>\n <fs-list-column\n name=\"create_date\"\n title=\"Date\"\n class=\"col-date\">\n <ng-template\n fs-list-cell\n let-row=\"row\">\n <fs-date-ago [date]=\"row.createDate\"></fs-date-ago>\n </ng-template>\n </fs-list-column>\n</fs-list>", styles: [":host ::ng-deep .col-message .message{white-space:break-spaces;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}:host ::ng-deep .col-date{white-space:nowrap}h1 .small{line-height:normal}.row{display:flex;flex-wrap:wrap}.row fs-label-field:not(:last-child){margin-right:40px}.message{white-space:pre-line}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FsListModule }, { kind: "component", type: i2.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { kind: "directive", type: i2.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customizable", "sortable", "sortableDefault", "sortableDirection", "direction", "align", "width", "class"] }, { kind: "directive", type: i2.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { kind: "ngmodule", type: FsDateModule }, { kind: "pipe", type: i3.FsDateDurationPipe, name: "fsDateDuration" }, { kind: "component", type: i3.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
79
79
  }
80
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CronLogsComponent, decorators: [{
81
81
  type: Component,
@@ -83,8 +83,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
83
83
  CommonModule,
84
84
  FsListModule,
85
85
  FsDateModule,
86
- ], template: "<fs-list [config]=\"config\">\n <fs-list-column\n name=\"state\"\n title=\"Status\">\n <ng-template\n fs-list-cell\n let-row=\"row\">\n <a\n (click)=\"cronLogOpen(row)\"\n [ngStyle]=\"{ color: CronLogStateColors[row.state] }\">\n {{ CronLogStates[row.state] || row.state }}\n </a>\n </ng-template>\n </fs-list-column>\n <fs-list-column\n title=\"Message\"\n class=\"col-message\">\n <ng-template\n fs-list-cell\n let-row=\"row\">\n <div class=\"message\">\n {{ row.message }}\n </div>\n </ng-template>\n </fs-list-column>\n <fs-list-column\n title=\"Duration\"\n class=\"col-message\">\n <ng-template\n fs-list-cell\n let-row=\"row\">\n <ng-container *ngIf=\"row.duration\">\n {{ row.duration | fsDateDuration: 'hour-minute-second' }}\n </ng-container>\n </ng-template>\n </fs-list-column>\n <fs-list-column\n name=\"create_date\"\n title=\"Date\"\n class=\"col-date\">\n <ng-template\n fs-list-cell\n let-row=\"row\">\n <fs-date-ago [date]=\"row.createDate\"></fs-date-ago>\n </ng-template>\n </fs-list-column>\n</fs-list>", styles: [":host ::ng-deep .col-message .message{white-space:break-spaces;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}:host ::ng-deep .col-date{white-space:nowrap}h1 .small{line-height:normal}.row{display:flex;flex-wrap:wrap}.row fs-label-field:not(:last-child){margin-right:40px}.message{white-space:pre-line}\n"] }]
86
+ ], template: "<fs-list [config]=\"config\">\n <fs-list-column\n name=\"state\"\n title=\"Status\">\n <ng-template\n fs-list-cell\n let-row=\"row\">\n <a\n (click)=\"cronLogOpen(row)\"\n [ngStyle]=\"{ color: CronLogStateColors[row.state] }\">\n {{ CronLogStates[row.state] || row.state }}\n </a>\n </ng-template>\n </fs-list-column>\n <fs-list-column\n title=\"Message\"\n class=\"col-message\">\n <ng-template\n fs-list-cell\n let-row=\"row\">\n <div class=\"message\">\n {{ row.message }}\n </div>\n </ng-template>\n </fs-list-column>\n <fs-list-column\n title=\"Duration\"\n class=\"col-message\">\n <ng-template\n fs-list-cell\n let-row=\"row\">\n @if (row.duration) {\n {{ row.duration | fsDateDuration: 'hour-minute-second' }}\n }\n </ng-template>\n </fs-list-column>\n <fs-list-column\n name=\"create_date\"\n title=\"Date\"\n class=\"col-date\">\n <ng-template\n fs-list-cell\n let-row=\"row\">\n <fs-date-ago [date]=\"row.createDate\"></fs-date-ago>\n </ng-template>\n </fs-list-column>\n</fs-list>", styles: [":host ::ng-deep .col-message .message{white-space:break-spaces;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}:host ::ng-deep .col-date{white-space:nowrap}h1 .small{line-height:normal}.row{display:flex;flex-wrap:wrap}.row fs-label-field:not(:last-child){margin-right:40px}.message{white-space:pre-line}\n"] }]
87
87
  }], propDecorators: { cron: [{
88
88
  type: Input
89
89
  }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi1sb2dzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9zeXN0ZW0vY29tcG9uZW50cy9jcm9uLWxvZ3MvY3Jvbi1sb2dzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9zeXN0ZW0vY29tcG9uZW50cy9jcm9uLWxvZ3MvY3Jvbi1sb2dzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbEYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7QUFlL0MsTUFBTSxPQUFPLGlCQUFpQjtJQUVaLElBQUksQ0FBQztJQUNkLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztJQUV4QixNQUFNLENBQWU7SUFDckIsYUFBYSxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM5QyxXQUFXLENBQUM7SUFFWCxTQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLE9BQU8sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUIsS0FBSyxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUVqQyxRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFJLENBQUMsa0JBQWtCLEdBQUcsYUFBYTthQUNwQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLEVBQUU7WUFDOUIsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO1lBRS9DLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFPO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ2xDLElBQUksRUFBRTtnQkFDSixPQUFPO2FBQ1I7WUFDRCxLQUFLLEVBQUUsS0FBSztTQUNiLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLE1BQU0sRUFBRTtnQkFDTixRQUFRLEVBQUUsa0JBQWtCLENBQUMsSUFBSTthQUNsQztZQUNELE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxJQUFJLEVBQUUsUUFBUSxDQUFDLE1BQU07b0JBQ3JCLElBQUksRUFBRSxPQUFPO29CQUNiLEtBQUssRUFBRSxRQUFRO29CQUNmLE1BQU0sRUFBRTt3QkFDTixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTt3QkFDNUIsR0FBRyxhQUFhO3FCQUNqQjtpQkFDRjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsUUFBUSxDQUFDLFNBQVM7b0JBQ3hCLElBQUksRUFBRSxNQUFNO29CQUNaLEtBQUssRUFBRSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUM7aUJBQ2hDO2FBQ0Y7WUFDRCxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDZixLQUFLLEdBQUc7b0JBQ04sR0FBRyxLQUFLO29CQUNSLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7aUJBQ3JCLENBQUM7Z0JBRUYsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUU7b0JBQ3ZDLEdBQUcsRUFBRSxJQUFJO2lCQUNWLENBQUM7cUJBQ0MsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDdEQsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUNOLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQzt1R0F0RVUsaUJBQWlCOzJGQUFqQixpQkFBaUIsbUdDN0I5QixndENBOENVLCtZRHRCTixZQUFZLHVOQUNaLFlBQVksNGZBQ1osWUFBWTs7MkZBR0gsaUJBQWlCO2tCQVo3QixTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLFlBQVk7cUJBQ2I7OEJBSWUsSUFBSTtzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBGc0RhdGVNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9kYXRlJztcbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZmlsdGVyJztcbmltcG9ydCB7IEZzTGlzdENvbmZpZywgRnNMaXN0TW9kdWxlLCBQYWdpbmF0aW9uU3RyYXRlZ3kgfSBmcm9tICdAZmlyZXN0aXRjaC9saXN0JztcblxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDcm9uTG9nU3RhdGVzIH0gZnJvbSAnLi4vLi4vY29uc3RzL2Nyb24tbG9nLXN0YXRlcy5jb25zdCc7XG5pbXBvcnQgeyBDcm9uRGF0YSB9IGZyb20gJy4uLy4uL2RhdGEvY3Jvbi5kYXRhJztcbmltcG9ydCB7IGluZGV4TmFtZVZhbHVlIH0gZnJvbSAnLi4vLi4vaGVscGVycy9pbmRleC1uYW1lLXZhbHVlJztcbmltcG9ydCB7IENyb25Mb2dDb21wb25lbnQgfSBmcm9tICcuLi9jcm9uLWxvZyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNyb24tbG9ncycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jcm9uLWxvZ3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jcm9uLWxvZ3MuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRnNMaXN0TW9kdWxlLFxuICAgIEZzRGF0ZU1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3JvbkxvZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjcm9uO1xuICBwdWJsaWMgQ3JvbkxvZ1N0YXRlQ29sb3JzID0ge307XG5cbiAgcHVibGljIGNvbmZpZzogRnNMaXN0Q29uZmlnO1xuICBwdWJsaWMgQ3JvbkxvZ1N0YXRlcyA9IGluZGV4TmFtZVZhbHVlKENyb25Mb2dTdGF0ZXMpO1xuICBwdWJsaWMgY3JvbkFjdGlvbnM7XG4gIFxuICBwcml2YXRlIF9jcm9uRGF0YSA9IGluamVjdChDcm9uRGF0YSk7XG4gIHByaXZhdGUgX2RpYWxvZyA9IGluamVjdChNYXREaWFsb2cpO1xuICBwcml2YXRlIF9kYXRhID0gaW5qZWN0KE1BVF9ESUFMT0dfREFUQSk7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY3JvbiA9IHRoaXMuX2RhdGEuY3JvbjtcbiAgICB0aGlzLmxvYWQoKTtcbiAgICB0aGlzLkNyb25Mb2dTdGF0ZUNvbG9ycyA9IENyb25Mb2dTdGF0ZXNcbiAgICAgIC5yZWR1Y2UoKGFjY3VtLCBjcm9uTG9nU3RhdGUpID0+IHtcbiAgICAgICAgYWNjdW1bY3JvbkxvZ1N0YXRlLnZhbHVlXSA9IGNyb25Mb2dTdGF0ZS5jb2xvcjtcblxuICAgICAgICByZXR1cm4gYWNjdW07XG4gICAgICB9LCB7fSk7XG4gIH1cblxuICBwdWJsaWMgY3JvbkxvZ09wZW4oY3JvbkxvZyk6IHZvaWQge1xuICAgIHRoaXMuX2RpYWxvZy5vcGVuKENyb25Mb2dDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHsgXG4gICAgICAgIGNyb25Mb2csXG4gICAgICB9LFxuICAgICAgd2lkdGg6ICc4NSUnLFxuICAgIH0pOyAgICBcbiAgfVxuXG4gIHB1YmxpYyBsb2FkKCk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgcGFnaW5nOiB7XG4gICAgICAgIHN0cmF0ZWd5OiBQYWdpbmF0aW9uU3RyYXRlZ3kuTWFueSxcbiAgICAgIH0sXG4gICAgICBmaWx0ZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBJdGVtVHlwZS5TZWxlY3QsXG4gICAgICAgICAgbmFtZTogJ3N0YXRlJyxcbiAgICAgICAgICBsYWJlbDogJ1N0YXR1cycsXG4gICAgICAgICAgdmFsdWVzOiBbXG4gICAgICAgICAgICB7IG5hbWU6ICdBbGwnLCB2YWx1ZTogbnVsbCB9LFxuICAgICAgICAgICAgLi4uQ3JvbkxvZ1N0YXRlcyxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogSXRlbVR5cGUuRGF0ZVJhbmdlLFxuICAgICAgICAgIG5hbWU6ICdkYXRlJyxcbiAgICAgICAgICBsYWJlbDogWydGcm9tIERhdGUnLCAnVG8gRGF0ZSddLFxuICAgICAgICB9LFxuICAgICAgXSwgICAgICAgICAgXG4gICAgICBmZXRjaDogKHF1ZXJ5KSA9PiB7XG4gICAgICAgIHF1ZXJ5ID0ge1xuICAgICAgICAgIC4uLnF1ZXJ5LFxuICAgICAgICAgIGNyb25JZDogdGhpcy5jcm9uLmlkLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLl9jcm9uRGF0YS5jcm9uTG9nR2V0cyhxdWVyeSwge1xuICAgICAgICAgIGtleTogbnVsbCxcbiAgICAgICAgfSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7IGRhdGE6IGRhdGEuY3JvbkxvZ3MsIHBhZ2luZzogZGF0YS5wYWdpbmcgfTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiIsIjxmcy1saXN0IFtjb25maWddPVwiY29uZmlnXCI+XG4gIDxmcy1saXN0LWNvbHVtblxuICAgICAgbmFtZT1cInN0YXRlXCJcbiAgICAgIHRpdGxlPVwiU3RhdHVzXCI+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIGZzLWxpc3QtY2VsbFxuICAgICAgICBsZXQtcm93PVwicm93XCI+XG4gICAgICA8YVxuICAgICAgICAgIChjbGljayk9XCJjcm9uTG9nT3Blbihyb3cpXCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJ7IGNvbG9yOiBDcm9uTG9nU3RhdGVDb2xvcnNbcm93LnN0YXRlXSB9XCI+XG4gICAgICAgIHt7IENyb25Mb2dTdGF0ZXNbcm93LnN0YXRlXSB8fCByb3cuc3RhdGUgfX1cbiAgICAgIDwvYT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2ZzLWxpc3QtY29sdW1uPlxuICA8ZnMtbGlzdC1jb2x1bW5cbiAgICAgIHRpdGxlPVwiTWVzc2FnZVwiXG4gICAgICBjbGFzcz1cImNvbC1tZXNzYWdlXCI+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIGZzLWxpc3QtY2VsbFxuICAgICAgICBsZXQtcm93PVwicm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZVwiPlxuICAgICAgICB7eyByb3cubWVzc2FnZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9mcy1saXN0LWNvbHVtbj5cbiAgPGZzLWxpc3QtY29sdW1uXG4gICAgICB0aXRsZT1cIkR1cmF0aW9uXCJcbiAgICAgIGNsYXNzPVwiY29sLW1lc3NhZ2VcIj5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgZnMtbGlzdC1jZWxsXG4gICAgICAgIGxldC1yb3c9XCJyb3dcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3cuZHVyYXRpb25cIj5cbiAgICAgICAge3sgcm93LmR1cmF0aW9uIHwgZnNEYXRlRHVyYXRpb246ICdob3VyLW1pbnV0ZS1zZWNvbmQnIH19XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2ZzLWxpc3QtY29sdW1uPlxuICA8ZnMtbGlzdC1jb2x1bW5cbiAgICAgIG5hbWU9XCJjcmVhdGVfZGF0ZVwiXG4gICAgICB0aXRsZT1cIkRhdGVcIlxuICAgICAgY2xhc3M9XCJjb2wtZGF0ZVwiPlxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBmcy1saXN0LWNlbGxcbiAgICAgICAgbGV0LXJvdz1cInJvd1wiPlxuICAgICAgPGZzLWRhdGUtYWdvIFtkYXRlXT1cInJvdy5jcmVhdGVEYXRlXCI+PC9mcy1kYXRlLWFnbz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2ZzLWxpc3QtY29sdW1uPlxuPC9mcy1saXN0PiJdfQ==
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi1sb2dzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9zeXN0ZW0vY29tcG9uZW50cy9jcm9uLWxvZ3MvY3Jvbi1sb2dzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9zeXN0ZW0vY29tcG9uZW50cy9jcm9uLWxvZ3MvY3Jvbi1sb2dzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbEYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7QUFlL0MsTUFBTSxPQUFPLGlCQUFpQjtJQUVaLElBQUksQ0FBQztJQUNkLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztJQUV4QixNQUFNLENBQWU7SUFDckIsYUFBYSxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM5QyxXQUFXLENBQUM7SUFFWCxTQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLE9BQU8sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUIsS0FBSyxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUVqQyxRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFJLENBQUMsa0JBQWtCLEdBQUcsYUFBYTthQUNwQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLEVBQUU7WUFDOUIsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO1lBRS9DLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFPO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ2xDLElBQUksRUFBRTtnQkFDSixPQUFPO2FBQ1I7WUFDRCxLQUFLLEVBQUUsS0FBSztTQUNiLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLE1BQU0sRUFBRTtnQkFDTixRQUFRLEVBQUUsa0JBQWtCLENBQUMsSUFBSTthQUNsQztZQUNELE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxJQUFJLEVBQUUsUUFBUSxDQUFDLE1BQU07b0JBQ3JCLElBQUksRUFBRSxPQUFPO29CQUNiLEtBQUssRUFBRSxRQUFRO29CQUNmLE1BQU0sRUFBRTt3QkFDTixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTt3QkFDNUIsR0FBRyxhQUFhO3FCQUNqQjtpQkFDRjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsUUFBUSxDQUFDLFNBQVM7b0JBQ3hCLElBQUksRUFBRSxNQUFNO29CQUNaLEtBQUssRUFBRSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUM7aUJBQ2hDO2FBQ0Y7WUFDRCxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDZixLQUFLLEdBQUc7b0JBQ04sR0FBRyxLQUFLO29CQUNSLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7aUJBQ3JCLENBQUM7Z0JBRUYsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUU7b0JBQ3ZDLEdBQUcsRUFBRSxJQUFJO2lCQUNWLENBQUM7cUJBQ0MsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDdEQsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUNOLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQzt1R0F0RVUsaUJBQWlCOzJGQUFqQixpQkFBaUIsbUdDN0I5Qiwyb0NBOENVLCtZRHRCTixZQUFZLG1IQUNaLFlBQVksNGZBQ1osWUFBWTs7MkZBR0gsaUJBQWlCO2tCQVo3QixTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLFlBQVk7cUJBQ2I7OEJBSWUsSUFBSTtzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBGc0RhdGVNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9kYXRlJztcbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZmlsdGVyJztcbmltcG9ydCB7IEZzTGlzdENvbmZpZywgRnNMaXN0TW9kdWxlLCBQYWdpbmF0aW9uU3RyYXRlZ3kgfSBmcm9tICdAZmlyZXN0aXRjaC9saXN0JztcblxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDcm9uTG9nU3RhdGVzIH0gZnJvbSAnLi4vLi4vY29uc3RzL2Nyb24tbG9nLXN0YXRlcy5jb25zdCc7XG5pbXBvcnQgeyBDcm9uRGF0YSB9IGZyb20gJy4uLy4uL2RhdGEvY3Jvbi5kYXRhJztcbmltcG9ydCB7IGluZGV4TmFtZVZhbHVlIH0gZnJvbSAnLi4vLi4vaGVscGVycy9pbmRleC1uYW1lLXZhbHVlJztcbmltcG9ydCB7IENyb25Mb2dDb21wb25lbnQgfSBmcm9tICcuLi9jcm9uLWxvZyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNyb24tbG9ncycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jcm9uLWxvZ3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jcm9uLWxvZ3MuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRnNMaXN0TW9kdWxlLFxuICAgIEZzRGF0ZU1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3JvbkxvZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjcm9uO1xuICBwdWJsaWMgQ3JvbkxvZ1N0YXRlQ29sb3JzID0ge307XG5cbiAgcHVibGljIGNvbmZpZzogRnNMaXN0Q29uZmlnO1xuICBwdWJsaWMgQ3JvbkxvZ1N0YXRlcyA9IGluZGV4TmFtZVZhbHVlKENyb25Mb2dTdGF0ZXMpO1xuICBwdWJsaWMgY3JvbkFjdGlvbnM7XG4gIFxuICBwcml2YXRlIF9jcm9uRGF0YSA9IGluamVjdChDcm9uRGF0YSk7XG4gIHByaXZhdGUgX2RpYWxvZyA9IGluamVjdChNYXREaWFsb2cpO1xuICBwcml2YXRlIF9kYXRhID0gaW5qZWN0KE1BVF9ESUFMT0dfREFUQSk7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY3JvbiA9IHRoaXMuX2RhdGEuY3JvbjtcbiAgICB0aGlzLmxvYWQoKTtcbiAgICB0aGlzLkNyb25Mb2dTdGF0ZUNvbG9ycyA9IENyb25Mb2dTdGF0ZXNcbiAgICAgIC5yZWR1Y2UoKGFjY3VtLCBjcm9uTG9nU3RhdGUpID0+IHtcbiAgICAgICAgYWNjdW1bY3JvbkxvZ1N0YXRlLnZhbHVlXSA9IGNyb25Mb2dTdGF0ZS5jb2xvcjtcblxuICAgICAgICByZXR1cm4gYWNjdW07XG4gICAgICB9LCB7fSk7XG4gIH1cblxuICBwdWJsaWMgY3JvbkxvZ09wZW4oY3JvbkxvZyk6IHZvaWQge1xuICAgIHRoaXMuX2RpYWxvZy5vcGVuKENyb25Mb2dDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHsgXG4gICAgICAgIGNyb25Mb2csXG4gICAgICB9LFxuICAgICAgd2lkdGg6ICc4NSUnLFxuICAgIH0pOyAgICBcbiAgfVxuXG4gIHB1YmxpYyBsb2FkKCk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgcGFnaW5nOiB7XG4gICAgICAgIHN0cmF0ZWd5OiBQYWdpbmF0aW9uU3RyYXRlZ3kuTWFueSxcbiAgICAgIH0sXG4gICAgICBmaWx0ZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBJdGVtVHlwZS5TZWxlY3QsXG4gICAgICAgICAgbmFtZTogJ3N0YXRlJyxcbiAgICAgICAgICBsYWJlbDogJ1N0YXR1cycsXG4gICAgICAgICAgdmFsdWVzOiBbXG4gICAgICAgICAgICB7IG5hbWU6ICdBbGwnLCB2YWx1ZTogbnVsbCB9LFxuICAgICAgICAgICAgLi4uQ3JvbkxvZ1N0YXRlcyxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogSXRlbVR5cGUuRGF0ZVJhbmdlLFxuICAgICAgICAgIG5hbWU6ICdkYXRlJyxcbiAgICAgICAgICBsYWJlbDogWydGcm9tIERhdGUnLCAnVG8gRGF0ZSddLFxuICAgICAgICB9LFxuICAgICAgXSwgICAgICAgICAgXG4gICAgICBmZXRjaDogKHF1ZXJ5KSA9PiB7XG4gICAgICAgIHF1ZXJ5ID0ge1xuICAgICAgICAgIC4uLnF1ZXJ5LFxuICAgICAgICAgIGNyb25JZDogdGhpcy5jcm9uLmlkLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLl9jcm9uRGF0YS5jcm9uTG9nR2V0cyhxdWVyeSwge1xuICAgICAgICAgIGtleTogbnVsbCxcbiAgICAgICAgfSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7IGRhdGE6IGRhdGEuY3JvbkxvZ3MsIHBhZ2luZzogZGF0YS5wYWdpbmcgfTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiIsIjxmcy1saXN0IFtjb25maWddPVwiY29uZmlnXCI+XG4gIDxmcy1saXN0LWNvbHVtblxuICAgIG5hbWU9XCJzdGF0ZVwiXG4gICAgdGl0bGU9XCJTdGF0dXNcIj5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgIGZzLWxpc3QtY2VsbFxuICAgICAgbGV0LXJvdz1cInJvd1wiPlxuICAgICAgPGFcbiAgICAgICAgKGNsaWNrKT1cImNyb25Mb2dPcGVuKHJvdylcIlxuICAgICAgICBbbmdTdHlsZV09XCJ7IGNvbG9yOiBDcm9uTG9nU3RhdGVDb2xvcnNbcm93LnN0YXRlXSB9XCI+XG4gICAgICAgIHt7IENyb25Mb2dTdGF0ZXNbcm93LnN0YXRlXSB8fCByb3cuc3RhdGUgfX1cbiAgICAgIDwvYT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2ZzLWxpc3QtY29sdW1uPlxuICA8ZnMtbGlzdC1jb2x1bW5cbiAgICB0aXRsZT1cIk1lc3NhZ2VcIlxuICAgIGNsYXNzPVwiY29sLW1lc3NhZ2VcIj5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgIGZzLWxpc3QtY2VsbFxuICAgICAgbGV0LXJvdz1cInJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2VcIj5cbiAgICAgICAge3sgcm93Lm1lc3NhZ2UgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZnMtbGlzdC1jb2x1bW4+XG4gIDxmcy1saXN0LWNvbHVtblxuICAgIHRpdGxlPVwiRHVyYXRpb25cIlxuICAgIGNsYXNzPVwiY29sLW1lc3NhZ2VcIj5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgIGZzLWxpc3QtY2VsbFxuICAgICAgbGV0LXJvdz1cInJvd1wiPlxuICAgICAgQGlmIChyb3cuZHVyYXRpb24pIHtcbiAgICAgICAge3sgcm93LmR1cmF0aW9uIHwgZnNEYXRlRHVyYXRpb246ICdob3VyLW1pbnV0ZS1zZWNvbmQnIH19XG4gICAgICB9XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9mcy1saXN0LWNvbHVtbj5cbiAgPGZzLWxpc3QtY29sdW1uXG4gICAgbmFtZT1cImNyZWF0ZV9kYXRlXCJcbiAgICB0aXRsZT1cIkRhdGVcIlxuICAgIGNsYXNzPVwiY29sLWRhdGVcIj5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgIGZzLWxpc3QtY2VsbFxuICAgICAgbGV0LXJvdz1cInJvd1wiPlxuICAgICAgPGZzLWRhdGUtYWdvIFtkYXRlXT1cInJvdy5jcmVhdGVEYXRlXCI+PC9mcy1kYXRlLWFnbz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2ZzLWxpc3QtY29sdW1uPlxuPC9mcy1saXN0PiJdfQ==