@cleavelandprice/ngx-lib 4.2.0 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/README.md +5 -5
  2. package/esm2022/active-directory/active-directory.module.mjs +4 -4
  3. package/esm2022/active-directory/material/components/user-chooser/user-chooser.component.mjs +5 -5
  4. package/esm2022/active-directory/material/components/user-form-field/user-form-field.component.mjs +5 -5
  5. package/esm2022/active-directory/material/mat-active-directory.module.mjs +5 -5
  6. package/esm2022/active-directory/services/active-directory.service.mjs +3 -3
  7. package/esm2022/authentication/authentication.base.module.mjs +4 -4
  8. package/esm2022/authentication/material/components/login/login.component.mjs +5 -5
  9. package/esm2022/authentication/material/components/login-form/login-form.component.mjs +5 -5
  10. package/esm2022/authentication/material/mat-authentication.module.mjs +4 -4
  11. package/esm2022/authentication/material/services/mat-authentication.service.mjs +3 -3
  12. package/esm2022/authentication/object/authentication-object.module.mjs +4 -4
  13. package/esm2022/authentication/object/services/authentication-object.service.mjs +3 -3
  14. package/esm2022/authentication/token/authetiction-token.module.mjs +4 -4
  15. package/esm2022/authentication/token/services/authentication-token.service.mjs +3 -3
  16. package/esm2022/dialog/components/base/base.component.mjs +5 -5
  17. package/esm2022/dialog/components/choice/choice.component.mjs +5 -5
  18. package/esm2022/dialog/components/confirmation/confirmation.component.mjs +5 -5
  19. package/esm2022/dialog/components/input/input.component.mjs +5 -5
  20. package/esm2022/dialog/components/message/message.component.mjs +5 -5
  21. package/esm2022/dialog/dialog.module.mjs +5 -5
  22. package/esm2022/lib/ngx-lib.module.mjs +4 -4
  23. package/esm2022/lib/services/app-path-config.service.mjs +3 -3
  24. package/esm2022/msgraph/msgraph.module.mjs +5 -5
  25. package/esm2022/quill/components/editor/editor.component.mjs +6 -6
  26. package/esm2022/quill/components/raw/raw.component.mjs +5 -5
  27. package/esm2022/quill/mention/components/editor/editor.component.mjs +6 -18
  28. package/esm2022/quill/mention/quill-mention.module.mjs +4 -4
  29. package/esm2022/quill/quill.module.mjs +4 -4
  30. package/esm2022/sharepoint/components/user-photo/user-photo.component.mjs +3 -3
  31. package/esm2022/sharepoint/pipes/user-photo-url.pipe.mjs +4 -4
  32. package/esm2022/sharepoint/services/sharepoint.service.mjs +3 -3
  33. package/esm2022/sharepoint/sharepoint.module.mjs +4 -4
  34. package/esm2022/table/components/table/table.component.mjs +15 -6
  35. package/esm2022/table/model/table-column.mjs +1 -1
  36. package/esm2022/table/pipes/decimalPoints.mjs +14 -0
  37. package/esm2022/table/pipes/roundNumber.mjs +14 -0
  38. package/esm2022/table/table.api.mjs +3 -1
  39. package/esm2022/table/table.module.mjs +18 -8
  40. package/esm2022/upload/components/upload/upload.component.mjs +3 -3
  41. package/esm2022/upload/components/upload-dialog/upload-dialog.component.mjs +5 -5
  42. package/esm2022/upload/services/upload.service.mjs +3 -3
  43. package/esm2022/upload/upload.module.mjs +4 -4
  44. package/esm2022/url-utilities/pipes/safe-resource-url.pipe.mjs +4 -4
  45. package/esm2022/url-utilities/pipes/safe-url.pipe.mjs +4 -4
  46. package/esm2022/url-utilities/pipes/uri-scheme.pipe.mjs +4 -4
  47. package/esm2022/url-utilities/url-utilities.module.mjs +5 -5
  48. package/fesm2022/cleavelandprice-ngx-lib-active-directory-material.mjs +12 -12
  49. package/fesm2022/cleavelandprice-ngx-lib-active-directory-material.mjs.map +1 -1
  50. package/fesm2022/cleavelandprice-ngx-lib-active-directory.mjs +7 -7
  51. package/fesm2022/cleavelandprice-ngx-lib-authentication-material.mjs +15 -15
  52. package/fesm2022/cleavelandprice-ngx-lib-authentication-material.mjs.map +1 -1
  53. package/fesm2022/cleavelandprice-ngx-lib-authentication-object.mjs +7 -7
  54. package/fesm2022/cleavelandprice-ngx-lib-authentication-token.mjs +7 -7
  55. package/fesm2022/cleavelandprice-ngx-lib-authentication.mjs +4 -4
  56. package/fesm2022/cleavelandprice-ngx-lib-dialog.mjs +24 -24
  57. package/fesm2022/cleavelandprice-ngx-lib-dialog.mjs.map +1 -1
  58. package/fesm2022/cleavelandprice-ngx-lib-msgraph.mjs +4 -4
  59. package/fesm2022/cleavelandprice-ngx-lib-msgraph.mjs.map +1 -1
  60. package/fesm2022/cleavelandprice-ngx-lib-quill-mention.mjs +9 -21
  61. package/fesm2022/cleavelandprice-ngx-lib-quill-mention.mjs.map +1 -1
  62. package/fesm2022/cleavelandprice-ngx-lib-quill.mjs +13 -13
  63. package/fesm2022/cleavelandprice-ngx-lib-quill.mjs.map +1 -1
  64. package/fesm2022/cleavelandprice-ngx-lib-sharepoint.mjs +13 -13
  65. package/fesm2022/cleavelandprice-ngx-lib-sharepoint.mjs.map +1 -1
  66. package/fesm2022/cleavelandprice-ngx-lib-table.mjs +53 -14
  67. package/fesm2022/cleavelandprice-ngx-lib-table.mjs.map +1 -1
  68. package/fesm2022/cleavelandprice-ngx-lib-upload.mjs +14 -14
  69. package/fesm2022/cleavelandprice-ngx-lib-upload.mjs.map +1 -1
  70. package/fesm2022/cleavelandprice-ngx-lib-url-utilities.mjs +13 -13
  71. package/fesm2022/cleavelandprice-ngx-lib-url-utilities.mjs.map +1 -1
  72. package/fesm2022/cleavelandprice-ngx-lib.mjs +7 -7
  73. package/package.json +7 -7
  74. package/quill/mention/components/editor/editor.component.d.ts +0 -4
  75. package/table/components/table/table.component.d.ts +3 -1
  76. package/table/model/table-column.d.ts +5 -1
  77. package/table/pipes/decimalPoints.d.ts +7 -0
  78. package/table/pipes/roundNumber.d.ts +7 -0
  79. package/table/table.api.d.ts +2 -0
  80. package/table/table.module.d.ts +3 -1
@@ -10,6 +10,8 @@ import { MatFormField, MatLabel, MatPrefix } from '@angular/material/form-field'
10
10
  import { MatIcon } from '@angular/material/icon';
11
11
  import { MatInput } from '@angular/material/input';
12
12
  import { MatTooltip } from '@angular/material/tooltip';
13
+ import { RoundNumberPipe } from '../../pipes/roundNumber';
14
+ import { DecimalPointsPipe } from '../../pipes/decimalPoints';
13
15
  import * as i0 from "@angular/core";
14
16
  import * as i1 from "@angular/forms";
15
17
  export class TableComponent {
@@ -23,6 +25,7 @@ export class TableComponent {
23
25
  this.maxTableHeight = input('50em');
24
26
  this.shrinkTable = input(false);
25
27
  this.paginatorSticky = input(false);
28
+ this.pageinatorDefaultIncrement = input(50);
26
29
  this.sortingDataAccessor = input();
27
30
  //#endregion
28
31
  this.buttonClicked = output();
@@ -36,7 +39,7 @@ export class TableComponent {
36
39
  this.dataSource.sortingDataAccessor = this.sortingDataAccessor();
37
40
  }
38
41
  this.columnNames = this.columns().map(c => c.field);
39
- this.#setTablePageSizeOptions();
42
+ this.#setTablePageSizeOptions(this.pageinatorDefaultIncrement());
40
43
  }
41
44
  ngAfterViewInit() {
42
45
  if (this.paginator() && !this.dataSource.paginator) {
@@ -53,6 +56,10 @@ export class TableComponent {
53
56
  buttonClick(rowData, field) {
54
57
  this.buttonClicked.emit({ rowData, field });
55
58
  }
59
+ editableFieldChange(rowData, field, value) {
60
+ rowData[field] = value;
61
+ this.buttonClicked.emit({ rowData, field });
62
+ }
56
63
  getNestedFieldValue(rowData, nestedFieldName) {
57
64
  if (!nestedFieldName) {
58
65
  return;
@@ -66,10 +73,10 @@ export class TableComponent {
66
73
  }
67
74
  this.pageSizeOptions.push(this.dataSource.data.length);
68
75
  }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
70
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: TableComponent, isStandalone: true, selector: "lib-table", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, tableData: { classPropertyName: "tableData", publicName: "tableData", isSignal: true, isRequired: true, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, showPaginator: { classPropertyName: "showPaginator", publicName: "showPaginator", isSignal: true, isRequired: false, transformFunction: null }, showSearch: { classPropertyName: "showSearch", publicName: "showSearch", isSignal: true, isRequired: false, transformFunction: null }, maxTableHeight: { classPropertyName: "maxTableHeight", publicName: "maxTableHeight", isSignal: true, isRequired: false, transformFunction: null }, shrinkTable: { classPropertyName: "shrinkTable", publicName: "shrinkTable", isSignal: true, isRequired: false, transformFunction: null }, paginatorSticky: { classPropertyName: "paginatorSticky", publicName: "paginatorSticky", isSignal: true, isRequired: false, transformFunction: null }, sortingDataAccessor: { classPropertyName: "sortingDataAccessor", publicName: "sortingDataAccessor", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { buttonClicked: "buttonClicked" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, isSignal: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true, isSignal: true }], ngImport: i0, template: "<h3>{{title()}}</h3>\r\n\r\n@if (showSearch()) {\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Search</mat-label>\r\n <mat-icon matPrefix>search</mat-icon>\r\n <input type=\"text\" matInput (keyup)=\"searchFilterChange($event)\">\r\n </mat-form-field>\r\n}\r\n\r\n<div class=\"table-container\" [ngStyle]=\"{'max-height': maxTableHeight()}\" [class.shrink-table]=\"shrinkTable()\">\r\n <table mat-table [dataSource]=\"dataSource\" matSort>\r\n @for (column of columns(); track column) {\r\n <ng-container [matColumnDef]=\"column.field\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header [class.hide-mobile]=\"column.hideOnMobile && isMobile\" [ngStyle]=\"{ 'width': column.columnWidth }\">\r\n <div>{{ column.fieldColumnTitle }}</div>\r\n </th>\r\n \r\n <td mat-cell *matCellDef=\"let data\" [class.hide-mobile]=\"column.hideOnMobile && isMobile\" [ngStyle]=\"{ 'width': column.columnWidth }\">\r\n @if(column.isDate) {\r\n {{ data[column.field] | date:'shortDate' }}\r\n } @else if (column.isNumber) {\r\n @if (column.isNumber.needsRounded) {\r\n @if (column.isNumber.percentage) {\r\n {{ data[column.field] | number:'0.0-0' }}%\r\n } @else {\r\n {{ data[column.field] | number:'0.0-0' }}\r\n }\r\n } @else {\r\n @if (column.isNumber.percentage) {\r\n {{ data[column.field] | number:'.1-2' }}%\r\n } @else {\r\n {{ data[column.field] | number:'.1-2' }}\r\n }\r\n }\r\n } @else if (column.isCheckbox) {\r\n <mat-checkbox [(ngModel)]=\"data[column.field]\" [disabled]=\"column.isCheckbox['isDisabled']\" />\r\n } @else if (column.isHyperlink) {\r\n <a [href]=\"data[column.isHyperlink.linkField]\" target=\"_blank\">\r\n {{ data[column.field] }}\r\n </a>\r\n } @else if (column.isButton) {\r\n @if (column.isButton.isIcon) {\r\n <button mat-icon-button [matTooltip]=\"column.isButton.isIcon.toolTip\" [disabled]=\"column.isButton.isDisabled\"\r\n (click)=\"column.isButton.isDisabled ? undefined : buttonClick(data, column.field)\">\r\n <mat-icon>{{column.isButton.isIcon.iconName}}</mat-icon>\r\n </button>\r\n } @else if (column.isButton.isCheckbox) {\r\n <mat-checkbox [matTooltip]=\"column.isButton.isCheckbox.toolTip\"\r\n [(ngModel)]=\"data[column.field]\" (click)=\"buttonClick(data, column.field)\" />\r\n } @else {\r\n <button mat-raised-button [disabled]=\"column.isButton.isDisabled\"\r\n [color]=\"column.isButton.isDisabled ? undefined : 'primary'\"\r\n [class.button-extra-padding]=\"column.isButton.extraPadding\"\r\n (click)=\"column.isButton.isDisabled ? undefined : buttonClick(data, column.field)\">\r\n {{column.isButton.text}}\r\n </button>\r\n }\r\n } @else if (column.nestedField) {\r\n {{ getNestedFieldValue(data[column.field], column.nestedField) }}\r\n } @else if (column.isEditable) {\r\n @if (column.isEditable.type === 'textarea') {\r\n <textarea style=\"width: 100%;\" [rows]=\"3\" [(ngModel)]=\"data[column.field]\" [disabled]=\"column.isEditable.disable !== undefined && column.isEditable.disable\"></textarea>\r\n } @else {\r\n <input [(ngModel)]=\"data[column.field]\" style=\"width: 55%;\" [disabled]=\"column.isEditable.disable !== undefined && column.isEditable.disable\" [type]=\"column.isEditable.isNumber ? 'number' : 'text'\">\r\n }\r\n } @else {\r\n {{ data[column.field] }}\r\n }\r\n </td>\r\n </ng-container>\r\n }\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columnNames; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: columnNames;\" class=\"table-row\"></tr>\r\n <tr mat-row *matNoDataRow>\r\n <td class=\"mat-cell\" colspan=\"9999\">\r\n No records exist.\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n @if (showPaginator()) {\r\n <mat-paginator [class.paginator-sticky]=\"paginatorSticky()\" [pageSizeOptions]=\"pageSizeOptions\" showFirstLastButtons />\r\n }\r\n</div>\r\n", styles: [".mat-form-field{width:100%!important}.table-container{display:grid;grid-template-columns:1fr;max-height:50em;overflow:auto;margin:1em .5em .5em;text-align:center!important}.table-container .table{width:100%}:host ::ng-deep .mat-sort-header-container{display:flex;justify-content:center}td,th{text-align:center!important}.shrink-table .mat-mdc-unelevated-button{line-height:1.75em}.shrink-table .mat-mdc-outlined-button{line-height:1.5em;height:1.5em}.shrink-table .mat-mdc-row:hover{background-color:#8f8f8f18;font-weight:700}.shrink-table .mat-mdc-row,tr.mat-row{min-height:1.5em;height:1.5em}.shrink-table .mat-mdc-header-row{min-height:40px}.shrink-table tr.mat-mdc-header-row{height:1.5em;border-radius:5px}.shrink-table .mat-column-tools{min-width:225px;max-width:225px}.shrink-table .mat-mdc-header-cell{font-weight:700}.paginator-sticky{bottom:0;position:sticky;z-index:10}.button-extra-padding{padding-top:1.75em;padding-bottom:1.75em}\n"], dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { 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: MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: MatCellDef, selector: "[matCellDef]" }, { kind: "component", type: MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "component", type: MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "directive", type: MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatNoDataRow, selector: "ng-template[matNoDataRow]" }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "component", type: MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: TableComponent, isStandalone: true, selector: "lib-table", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, tableData: { classPropertyName: "tableData", publicName: "tableData", isSignal: true, isRequired: true, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, showPaginator: { classPropertyName: "showPaginator", publicName: "showPaginator", isSignal: true, isRequired: false, transformFunction: null }, showSearch: { classPropertyName: "showSearch", publicName: "showSearch", isSignal: true, isRequired: false, transformFunction: null }, maxTableHeight: { classPropertyName: "maxTableHeight", publicName: "maxTableHeight", isSignal: true, isRequired: false, transformFunction: null }, shrinkTable: { classPropertyName: "shrinkTable", publicName: "shrinkTable", isSignal: true, isRequired: false, transformFunction: null }, paginatorSticky: { classPropertyName: "paginatorSticky", publicName: "paginatorSticky", isSignal: true, isRequired: false, transformFunction: null }, pageinatorDefaultIncrement: { classPropertyName: "pageinatorDefaultIncrement", publicName: "pageinatorDefaultIncrement", isSignal: true, isRequired: false, transformFunction: null }, sortingDataAccessor: { classPropertyName: "sortingDataAccessor", publicName: "sortingDataAccessor", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { buttonClicked: "buttonClicked" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, isSignal: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true, isSignal: true }], ngImport: i0, template: "<h3>{{title()}}</h3>\r\n\r\n@if (showSearch()) {\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Search</mat-label>\r\n <mat-icon matPrefix>search</mat-icon>\r\n <input type=\"text\" matInput (keyup)=\"searchFilterChange($event)\">\r\n </mat-form-field>\r\n}\r\n\r\n<div class=\"table-container\" [ngStyle]=\"{'max-height': maxTableHeight()}\" [class.shrink-table]=\"shrinkTable()\">\r\n <table mat-table [dataSource]=\"dataSource\" matSort>\r\n @for (column of columns(); track column) {\r\n <ng-container [matColumnDef]=\"column.field\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header [class.hide-mobile]=\"column.hideOnMobile && isMobile\" [ngStyle]=\"{ 'width': column.columnWidth }\">\r\n <div>{{ column.fieldColumnTitle }}</div>\r\n </th>\r\n\r\n <td mat-cell *matCellDef=\"let data\" [class.hide-mobile]=\"column.hideOnMobile && isMobile\" [ngStyle]=\"{ 'width': column.columnWidth }\">\r\n @if(column.isDate) {\r\n {{ data[column.field] | date:'shortDate' }}\r\n } @else if (column.isNumber) {\r\n @if (column.isNumber.needsRounded) {\r\n @if (column.isNumber.percentage) {\r\n {{ data[column.field] | number:'0.0-0' }}%\r\n }\r\n @else if (column.isNumber.money) {\r\n ${{ data[column.field] | number:'0.0-0' }}\r\n }\r\n @else {\r\n {{ data[column.field] | number:'0.0-0' }}\r\n }\r\n } @else {\r\n @if (column.isNumber.percentage) {\r\n {{ data[column.field] | number:'.2-2' }}%\r\n }\r\n @else if (column.isNumber.money) {\r\n ${{ data[column.field] | number:'.2-2' }}\r\n }\r\n @else {\r\n {{ data[column.field] | number:'.2-2' }}\r\n }\r\n }\r\n } @else if (column.isCheckbox) {\r\n <mat-checkbox [(ngModel)]=\"data[column.field]\" [disabled]=\"column.isCheckbox['isDisabled']\" />\r\n } @else if (column.isHyperlink) {\r\n <a [href]=\"data[column.isHyperlink.linkField]\" target=\"_blank\">\r\n {{ data[column.field] }}\r\n </a>\r\n } @else if (column.isButton) {\r\n @if (column.isButton.isIcon) {\r\n <button mat-icon-button [matTooltip]=\"column.isButton.isIcon.toolTip\" [disabled]=\"column.isButton.isDisabled\"\r\n (click)=\"column.isButton.isDisabled ? undefined : buttonClick(data, column.field)\">\r\n <mat-icon>{{column.isButton.isIcon.iconName}}</mat-icon>\r\n </button>\r\n } @else if (column.isButton.isCheckbox) {\r\n <mat-checkbox [matTooltip]=\"column.isButton.isCheckbox.toolTip\"\r\n [(ngModel)]=\"data[column.field]\" (click)=\"buttonClick(data, column.field)\" />\r\n } @else {\r\n <button mat-raised-button [disabled]=\"column.isButton.isDisabled\"\r\n [color]=\"column.isButton.isDisabled ? undefined : 'primary'\"\r\n [class.button-extra-padding]=\"column.isButton.extraPadding\"\r\n (click)=\"column.isButton.isDisabled ? undefined : buttonClick(data, column.field)\">\r\n {{column.isButton.text}}\r\n </button>\r\n }\r\n } @else if (column.nestedField) {\r\n {{ getNestedFieldValue(data[column.field], column.nestedField) }}\r\n } @else if (column.isEditable) {\r\n @if (column.isEditable.type === 'textarea') {\r\n <textarea style=\"width: 100%;\" [rows]=\"3\" [(ngModel)]=\"data[column.field]\" [disabled]=\"column.isEditable.disable !== undefined && column.isEditable.disable\"></textarea>\r\n }\r\n @else if (column.isEditable.isNumber) {\r\n @if (column.isEditable.isNumber.needsRounded) {\r\n <input [ngModel]=\"data[column.field] | roundNumber\" style=\"width: 55%;\" [disabled]=\"column.isEditable.disable !== undefined && column.isEditable.disable\" type=\"number\">\r\n }\r\n @else if (column.isEditable.isNumber.decimalPoints) {\r\n <input [ngModel]=\"data[column.field] | decimalPoints:column.isEditable.isNumber.decimalPoints\" (ngModelChange)=\"editableFieldChange(data, column.field, $event)\" style=\"width: 55%;\" [disabled]=\"column.isEditable.disable !== undefined && column.isEditable.disable\" type=\"number\">\r\n }\r\n @else {\r\n <input [ngModel]=\"data[column.field]\" (ngModelChange)=\"editableFieldChange(data, column.field, $event)\" style=\"width: 55%;\" [disabled]=\"column.isEditable.disable !== undefined && column.isEditable.disable\" type=\"number\">\r\n }\r\n }\r\n @else {\r\n <input [(ngModel)]=\"data[column.field]\" (ngModelChange)=\"editableFieldChange(data, column.field, $event)\" style=\"width: 55%;\" [disabled]=\"column.isEditable.disable !== undefined && column.isEditable.disable\" type=\"text\">\r\n }\r\n }\r\n @else {\r\n {{ data[column.field] }}\r\n }\r\n </td>\r\n </ng-container>\r\n }\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columnNames; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: columnNames;\" class=\"table-row\"></tr>\r\n <tr mat-row *matNoDataRow>\r\n <td class=\"mat-cell\" colspan=\"9999\">\r\n No records exist.\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n @if (showPaginator()) {\r\n <mat-paginator [class.paginator-sticky]=\"paginatorSticky()\" [pageSizeOptions]=\"pageSizeOptions\" showFirstLastButtons />\r\n }\r\n</div>\r\n", styles: [".mat-form-field{width:100%!important}.table-container{display:grid;grid-template-columns:1fr;max-height:50em;overflow:auto;margin:1em .5em .5em;text-align:center!important}.table-container .table{width:100%}:host ::ng-deep .mat-sort-header-container{display:flex;justify-content:center}td,th{text-align:center!important}.shrink-table .mat-mdc-unelevated-button{line-height:1.75em}.shrink-table .mat-mdc-outlined-button{line-height:1.5em;height:1.5em}.shrink-table .mat-mdc-row:hover{background-color:#8f8f8f18;font-weight:700}.shrink-table .mat-mdc-row,tr.mat-row{min-height:1.5em;height:1.5em}.shrink-table .mat-mdc-header-row{min-height:40px}.shrink-table tr.mat-mdc-header-row{height:1.5em;border-radius:5px}.shrink-table .mat-column-tools{min-width:225px;max-width:225px}.shrink-table .mat-mdc-header-cell{font-weight:700}.paginator-sticky{bottom:0;position:sticky;z-index:10}.button-extra-padding{padding-top:1.75em;padding-bottom:1.75em}\n"], dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { 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: MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: MatCellDef, selector: "[matCellDef]" }, { kind: "component", type: MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "component", type: MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "directive", type: MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatNoDataRow, selector: "ng-template[matNoDataRow]" }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "component", type: MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: RoundNumberPipe, name: "roundNumber" }, { kind: "pipe", type: DecimalPointsPipe, name: "decimalPoints" }] }); }
71
78
  }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TableComponent, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TableComponent, decorators: [{
73
80
  type: Component,
74
81
  args: [{ selector: 'lib-table', standalone: true, imports: [
75
82
  DatePipe,
@@ -100,6 +107,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
100
107
  MatTooltip,
101
108
  NgClass,
102
109
  NgStyle,
103
- ], template: "<h3>{{title()}}</h3>\r\n\r\n@if (showSearch()) {\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Search</mat-label>\r\n <mat-icon matPrefix>search</mat-icon>\r\n <input type=\"text\" matInput (keyup)=\"searchFilterChange($event)\">\r\n </mat-form-field>\r\n}\r\n\r\n<div class=\"table-container\" [ngStyle]=\"{'max-height': maxTableHeight()}\" [class.shrink-table]=\"shrinkTable()\">\r\n <table mat-table [dataSource]=\"dataSource\" matSort>\r\n @for (column of columns(); track column) {\r\n <ng-container [matColumnDef]=\"column.field\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header [class.hide-mobile]=\"column.hideOnMobile && isMobile\" [ngStyle]=\"{ 'width': column.columnWidth }\">\r\n <div>{{ column.fieldColumnTitle }}</div>\r\n </th>\r\n \r\n <td mat-cell *matCellDef=\"let data\" [class.hide-mobile]=\"column.hideOnMobile && isMobile\" [ngStyle]=\"{ 'width': column.columnWidth }\">\r\n @if(column.isDate) {\r\n {{ data[column.field] | date:'shortDate' }}\r\n } @else if (column.isNumber) {\r\n @if (column.isNumber.needsRounded) {\r\n @if (column.isNumber.percentage) {\r\n {{ data[column.field] | number:'0.0-0' }}%\r\n } @else {\r\n {{ data[column.field] | number:'0.0-0' }}\r\n }\r\n } @else {\r\n @if (column.isNumber.percentage) {\r\n {{ data[column.field] | number:'.1-2' }}%\r\n } @else {\r\n {{ data[column.field] | number:'.1-2' }}\r\n }\r\n }\r\n } @else if (column.isCheckbox) {\r\n <mat-checkbox [(ngModel)]=\"data[column.field]\" [disabled]=\"column.isCheckbox['isDisabled']\" />\r\n } @else if (column.isHyperlink) {\r\n <a [href]=\"data[column.isHyperlink.linkField]\" target=\"_blank\">\r\n {{ data[column.field] }}\r\n </a>\r\n } @else if (column.isButton) {\r\n @if (column.isButton.isIcon) {\r\n <button mat-icon-button [matTooltip]=\"column.isButton.isIcon.toolTip\" [disabled]=\"column.isButton.isDisabled\"\r\n (click)=\"column.isButton.isDisabled ? undefined : buttonClick(data, column.field)\">\r\n <mat-icon>{{column.isButton.isIcon.iconName}}</mat-icon>\r\n </button>\r\n } @else if (column.isButton.isCheckbox) {\r\n <mat-checkbox [matTooltip]=\"column.isButton.isCheckbox.toolTip\"\r\n [(ngModel)]=\"data[column.field]\" (click)=\"buttonClick(data, column.field)\" />\r\n } @else {\r\n <button mat-raised-button [disabled]=\"column.isButton.isDisabled\"\r\n [color]=\"column.isButton.isDisabled ? undefined : 'primary'\"\r\n [class.button-extra-padding]=\"column.isButton.extraPadding\"\r\n (click)=\"column.isButton.isDisabled ? undefined : buttonClick(data, column.field)\">\r\n {{column.isButton.text}}\r\n </button>\r\n }\r\n } @else if (column.nestedField) {\r\n {{ getNestedFieldValue(data[column.field], column.nestedField) }}\r\n } @else if (column.isEditable) {\r\n @if (column.isEditable.type === 'textarea') {\r\n <textarea style=\"width: 100%;\" [rows]=\"3\" [(ngModel)]=\"data[column.field]\" [disabled]=\"column.isEditable.disable !== undefined && column.isEditable.disable\"></textarea>\r\n } @else {\r\n <input [(ngModel)]=\"data[column.field]\" style=\"width: 55%;\" [disabled]=\"column.isEditable.disable !== undefined && column.isEditable.disable\" [type]=\"column.isEditable.isNumber ? 'number' : 'text'\">\r\n }\r\n } @else {\r\n {{ data[column.field] }}\r\n }\r\n </td>\r\n </ng-container>\r\n }\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columnNames; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: columnNames;\" class=\"table-row\"></tr>\r\n <tr mat-row *matNoDataRow>\r\n <td class=\"mat-cell\" colspan=\"9999\">\r\n No records exist.\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n @if (showPaginator()) {\r\n <mat-paginator [class.paginator-sticky]=\"paginatorSticky()\" [pageSizeOptions]=\"pageSizeOptions\" showFirstLastButtons />\r\n }\r\n</div>\r\n", styles: [".mat-form-field{width:100%!important}.table-container{display:grid;grid-template-columns:1fr;max-height:50em;overflow:auto;margin:1em .5em .5em;text-align:center!important}.table-container .table{width:100%}:host ::ng-deep .mat-sort-header-container{display:flex;justify-content:center}td,th{text-align:center!important}.shrink-table .mat-mdc-unelevated-button{line-height:1.75em}.shrink-table .mat-mdc-outlined-button{line-height:1.5em;height:1.5em}.shrink-table .mat-mdc-row:hover{background-color:#8f8f8f18;font-weight:700}.shrink-table .mat-mdc-row,tr.mat-row{min-height:1.5em;height:1.5em}.shrink-table .mat-mdc-header-row{min-height:40px}.shrink-table tr.mat-mdc-header-row{height:1.5em;border-radius:5px}.shrink-table .mat-column-tools{min-width:225px;max-width:225px}.shrink-table .mat-mdc-header-cell{font-weight:700}.paginator-sticky{bottom:0;position:sticky;z-index:10}.button-extra-padding{padding-top:1.75em;padding-bottom:1.75em}\n"] }]
110
+ RoundNumberPipe,
111
+ DecimalPointsPipe
112
+ ], template: "<h3>{{title()}}</h3>\r\n\r\n@if (showSearch()) {\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Search</mat-label>\r\n <mat-icon matPrefix>search</mat-icon>\r\n <input type=\"text\" matInput (keyup)=\"searchFilterChange($event)\">\r\n </mat-form-field>\r\n}\r\n\r\n<div class=\"table-container\" [ngStyle]=\"{'max-height': maxTableHeight()}\" [class.shrink-table]=\"shrinkTable()\">\r\n <table mat-table [dataSource]=\"dataSource\" matSort>\r\n @for (column of columns(); track column) {\r\n <ng-container [matColumnDef]=\"column.field\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header [class.hide-mobile]=\"column.hideOnMobile && isMobile\" [ngStyle]=\"{ 'width': column.columnWidth }\">\r\n <div>{{ column.fieldColumnTitle }}</div>\r\n </th>\r\n\r\n <td mat-cell *matCellDef=\"let data\" [class.hide-mobile]=\"column.hideOnMobile && isMobile\" [ngStyle]=\"{ 'width': column.columnWidth }\">\r\n @if(column.isDate) {\r\n {{ data[column.field] | date:'shortDate' }}\r\n } @else if (column.isNumber) {\r\n @if (column.isNumber.needsRounded) {\r\n @if (column.isNumber.percentage) {\r\n {{ data[column.field] | number:'0.0-0' }}%\r\n }\r\n @else if (column.isNumber.money) {\r\n ${{ data[column.field] | number:'0.0-0' }}\r\n }\r\n @else {\r\n {{ data[column.field] | number:'0.0-0' }}\r\n }\r\n } @else {\r\n @if (column.isNumber.percentage) {\r\n {{ data[column.field] | number:'.2-2' }}%\r\n }\r\n @else if (column.isNumber.money) {\r\n ${{ data[column.field] | number:'.2-2' }}\r\n }\r\n @else {\r\n {{ data[column.field] | number:'.2-2' }}\r\n }\r\n }\r\n } @else if (column.isCheckbox) {\r\n <mat-checkbox [(ngModel)]=\"data[column.field]\" [disabled]=\"column.isCheckbox['isDisabled']\" />\r\n } @else if (column.isHyperlink) {\r\n <a [href]=\"data[column.isHyperlink.linkField]\" target=\"_blank\">\r\n {{ data[column.field] }}\r\n </a>\r\n } @else if (column.isButton) {\r\n @if (column.isButton.isIcon) {\r\n <button mat-icon-button [matTooltip]=\"column.isButton.isIcon.toolTip\" [disabled]=\"column.isButton.isDisabled\"\r\n (click)=\"column.isButton.isDisabled ? undefined : buttonClick(data, column.field)\">\r\n <mat-icon>{{column.isButton.isIcon.iconName}}</mat-icon>\r\n </button>\r\n } @else if (column.isButton.isCheckbox) {\r\n <mat-checkbox [matTooltip]=\"column.isButton.isCheckbox.toolTip\"\r\n [(ngModel)]=\"data[column.field]\" (click)=\"buttonClick(data, column.field)\" />\r\n } @else {\r\n <button mat-raised-button [disabled]=\"column.isButton.isDisabled\"\r\n [color]=\"column.isButton.isDisabled ? undefined : 'primary'\"\r\n [class.button-extra-padding]=\"column.isButton.extraPadding\"\r\n (click)=\"column.isButton.isDisabled ? undefined : buttonClick(data, column.field)\">\r\n {{column.isButton.text}}\r\n </button>\r\n }\r\n } @else if (column.nestedField) {\r\n {{ getNestedFieldValue(data[column.field], column.nestedField) }}\r\n } @else if (column.isEditable) {\r\n @if (column.isEditable.type === 'textarea') {\r\n <textarea style=\"width: 100%;\" [rows]=\"3\" [(ngModel)]=\"data[column.field]\" [disabled]=\"column.isEditable.disable !== undefined && column.isEditable.disable\"></textarea>\r\n }\r\n @else if (column.isEditable.isNumber) {\r\n @if (column.isEditable.isNumber.needsRounded) {\r\n <input [ngModel]=\"data[column.field] | roundNumber\" style=\"width: 55%;\" [disabled]=\"column.isEditable.disable !== undefined && column.isEditable.disable\" type=\"number\">\r\n }\r\n @else if (column.isEditable.isNumber.decimalPoints) {\r\n <input [ngModel]=\"data[column.field] | decimalPoints:column.isEditable.isNumber.decimalPoints\" (ngModelChange)=\"editableFieldChange(data, column.field, $event)\" style=\"width: 55%;\" [disabled]=\"column.isEditable.disable !== undefined && column.isEditable.disable\" type=\"number\">\r\n }\r\n @else {\r\n <input [ngModel]=\"data[column.field]\" (ngModelChange)=\"editableFieldChange(data, column.field, $event)\" style=\"width: 55%;\" [disabled]=\"column.isEditable.disable !== undefined && column.isEditable.disable\" type=\"number\">\r\n }\r\n }\r\n @else {\r\n <input [(ngModel)]=\"data[column.field]\" (ngModelChange)=\"editableFieldChange(data, column.field, $event)\" style=\"width: 55%;\" [disabled]=\"column.isEditable.disable !== undefined && column.isEditable.disable\" type=\"text\">\r\n }\r\n }\r\n @else {\r\n {{ data[column.field] }}\r\n }\r\n </td>\r\n </ng-container>\r\n }\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columnNames; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: columnNames;\" class=\"table-row\"></tr>\r\n <tr mat-row *matNoDataRow>\r\n <td class=\"mat-cell\" colspan=\"9999\">\r\n No records exist.\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n @if (showPaginator()) {\r\n <mat-paginator [class.paginator-sticky]=\"paginatorSticky()\" [pageSizeOptions]=\"pageSizeOptions\" showFirstLastButtons />\r\n }\r\n</div>\r\n", styles: [".mat-form-field{width:100%!important}.table-container{display:grid;grid-template-columns:1fr;max-height:50em;overflow:auto;margin:1em .5em .5em;text-align:center!important}.table-container .table{width:100%}:host ::ng-deep .mat-sort-header-container{display:flex;justify-content:center}td,th{text-align:center!important}.shrink-table .mat-mdc-unelevated-button{line-height:1.75em}.shrink-table .mat-mdc-outlined-button{line-height:1.5em;height:1.5em}.shrink-table .mat-mdc-row:hover{background-color:#8f8f8f18;font-weight:700}.shrink-table .mat-mdc-row,tr.mat-row{min-height:1.5em;height:1.5em}.shrink-table .mat-mdc-header-row{min-height:40px}.shrink-table tr.mat-mdc-header-row{height:1.5em;border-radius:5px}.shrink-table .mat-column-tools{min-width:225px;max-width:225px}.shrink-table .mat-mdc-header-cell{font-weight:700}.paginator-sticky{bottom:0;position:sticky;z-index:10}.button-extra-padding{padding-top:1.75em;padding-bottom:1.75em}\n"] }]
104
113
  }] });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvdGFibGUvc3JjL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvdGFibGUvc3JjL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTNNLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFD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Tzt3QkFDUCxhQUFhO3dCQUNiLFFBQVE7d0JBQ1IsUUFBUTt3QkFDUixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxNQUFNO3dCQUNOLFNBQVM7d0JBQ1QsT0FBTzt3QkFDUCxhQUFhO3dCQUNiLFFBQVE7d0JBQ1IsVUFBVTt3QkFDVixPQUFPO3dCQUNQLE9BQU87cUJBQ1IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIGlucHV0LCBvdXRwdXQsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0U29ydCwgTWF0U29ydEhlYWRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQgeyBNYXRDZWxsLCBNYXRDZWxsRGVmLCBNYXRDb2x1bW5EZWYsIE1hdEhlYWRlckNlbGwsIE1hdEhlYWRlckNlbGxEZWYsIE1hdEhlYWRlclJvdywgTWF0SGVhZGVyUm93RGVmLCBNYXROb0RhdGFSb3csIE1hdFJvdywgTWF0Um93RGVmLCBNYXRUYWJsZSwgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5cclxuaW1wb3J0IHsgRGF0ZVBpcGUsIERlY2ltYWxQaXBlLCBOZ0NsYXNzLCBOZ1N0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbiwgTWF0SWNvbkJ1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGQsIE1hdExhYmVsLCBNYXRQcmVmaXggfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gJy4uLy4uL21vZGVsL3RhYmxlLWNvbHVtbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10YWJsZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBEYXRlUGlwZSxcclxuICAgIERlY2ltYWxQaXBlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRCdXR0b24sXHJcbiAgICBNYXRDZWxsLFxyXG4gICAgTWF0Q2VsbERlZixcclxuICAgIE1hdENoZWNrYm94LFxyXG4gICAgTWF0Q29sdW1uRGVmLFxyXG4gICAgTWF0Rm9ybUZpZWxkLFxyXG4gICAgTWF0SGVhZGVyQ2VsbCxcclxuICAgIE1hdEhlYWRlckNlbGxEZWYsXHJcbiAgICBNYXRIZWFkZXJSb3csXHJcbiAgICBNYXRIZWFkZXJSb3dEZWYsXHJcbiAgICBNYXRJY29uLFxyXG4gICAgTWF0SWNvbkJ1dHRvbixcclxuICAgIE1hdElucHV0LFxyXG4gICAgTWF0TGFiZWwsXHJcbiAgICBNYXROb0RhdGFSb3csXHJcbiAgICBNYXRQYWdpbmF0b3IsXHJcbiAgICBNYXRQcmVmaXgsXHJcbiAgICBNYXRSb3csXHJcbiAgICBNYXRSb3dEZWYsXHJcbiAgICBNYXRTb3J0LFxyXG4gICAgTWF0U29ydEhlYWRlcixcclxuICAgIE1hdFRhYmxlLFxyXG4gICAgTWF0VG9vbHRpcCxcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBOZ1N0eWxlLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIC8vI3JlZ2lvbiBJbnB1dHNcclxuICB0aXRsZSA9IGlucHV0KCcnKTtcclxuICB0YWJsZURhdGEgPSBpbnB1dC5yZXF1aXJlZDxhbnlbXT4oKTtcclxuICBjb2x1bW5zID0gaW5wdXQ8VGFibGVDb2x1bW5bXT4oW10pO1xyXG4gIHNob3dQYWdpbmF0b3IgPSBpbnB1dCh0cnVlKTtcclxuICBzaG93U2VhcmNoID0gaW5wdXQodHJ1ZSk7XHJcbiAgbWF4VGFibGVIZWlnaHQgPSBpbnB1dCgnNTBlbScpO1xyXG4gIHNocmlua1RhYmxlID0gaW5wdXQoZmFsc2UpO1xyXG4gIHBhZ2luYXRvclN0aWNreSA9IGlucHV0KGZhbHNlKTtcclxuICBzb3J0aW5nRGF0YUFjY2Vzc29yID0gaW5wdXQ8KGRhdGE6IGFueSwgc29ydEhlYWRlcklkOiBzdHJpbmcpID0+IHN0cmluZz4oKTtcclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgYnV0dG9uQ2xpY2tlZCA9IG91dHB1dDx7IHJvd0RhdGE6IGFueSwgZmllbGQ6IHN0cmluZyB9PigpO1xyXG5cclxuICBpc01vYmlsZSA9IGZhbHNlO1xyXG4gIGRhdGFTb3VyY2UhOiBNYXRUYWJsZURhdGFTb3VyY2U8YW55PjtcclxuICBwYWdlU2l6ZU9wdGlvbnMhOiBudW1iZXJbXTsgLy8gPSBbMTAsIDIwLCAxMDAsIDUwMF07XHJcbiAgY29sdW1uTmFtZXMhOiBzdHJpbmdbXTtcclxuXHJcbiAgcGFnaW5hdG9yID0gdmlld0NoaWxkKE1hdFBhZ2luYXRvcik7XHJcbiAgc29ydCA9IHZpZXdDaGlsZChNYXRTb3J0KTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKHRoaXMudGFibGVEYXRhKCkpO1xyXG5cclxuICAgIGlmICh0aGlzLnNvcnRpbmdEYXRhQWNjZXNzb3IoKSkge1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydGluZ0RhdGFBY2Nlc3NvciA9IHRoaXMuc29ydGluZ0RhdGFBY2Nlc3NvcigpITtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbHVtbk5hbWVzID0gdGhpcy5jb2x1bW5zKCkubWFwKGMgPT4gYy5maWVsZCk7XHJcbiAgICBcclxuICAgIHRoaXMuI3NldFRhYmxlUGFnZVNpemVPcHRpb25zKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wYWdpbmF0b3IoKSAmJiAhdGhpcy5kYXRhU291cmNlLnBhZ2luYXRvcikge1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3IoKSE7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zb3J0KCkgJiYgIXRoaXMuZGF0YVNvdXJjZS5zb3J0KSB7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0KCkhO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VhcmNoRmlsdGVyQ2hhbmdlKGV2ZW50OiBFdmVudCkge1xyXG4gICAgY29uc3QgZmlsdGVyVmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xyXG4gICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9IGZpbHRlclZhbHVlLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xyXG4gIH1cclxuXHJcbiAgYnV0dG9uQ2xpY2socm93RGF0YTogYW55LCBmaWVsZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmJ1dHRvbkNsaWNrZWQuZW1pdCh7IHJvd0RhdGEsIGZpZWxkIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0TmVzdGVkRmllbGRWYWx1ZShyb3dEYXRhOiBhbnksIG5lc3RlZEZpZWxkTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XHJcbiAgICBpZiAoIW5lc3RlZEZpZWxkTmFtZSkgeyByZXR1cm47IH1cclxuXHJcbiAgICByZXR1cm4gcm93RGF0YVtuZXN0ZWRGaWVsZE5hbWVdO1xyXG4gIH1cclxuXHJcbiAgI3NldFRhYmxlUGFnZVNpemVPcHRpb25zKGRlZmF1bHRQYWdlSW5jcmVtZW50OiBudW1iZXIgPSA1MCkge1xyXG4gICAgdGhpcy5wYWdlU2l6ZU9wdGlvbnMgPSBbXTtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gZGVmYXVsdFBhZ2VJbmNyZW1lbnQ7IGkgPCB0aGlzLmRhdGFTb3VyY2UuZGF0YS5sZW5ndGg7IGkgPSBpICsgKGRlZmF1bHRQYWdlSW5jcmVtZW50ICogMikpIHtcclxuICAgICAgdGhpcy5wYWdlU2l6ZU9wdGlvbnMucHVzaChpKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnBhZ2VTaXplT3B0aW9ucy5wdXNoKHRoaXMuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCk7XHJcbiAgfVxyXG59XHJcbiIsIjxoMz57e3RpdGxlKCl9fTwvaDM+XHJcblxyXG5AaWYgKHNob3dTZWFyY2goKSkge1xyXG4gIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICA8bWF0LWxhYmVsPlNlYXJjaDwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LWljb24gbWF0UHJlZml4PnNlYXJjaDwvbWF0LWljb24+XHJcbiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIG1hdElucHV0IChrZXl1cCk9XCJzZWFyY2hGaWx0ZXJDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbn1cclxuXHJcbjxkaXYgY2xhc3M9XCJ0YWJsZS1jb250YWluZXJcIiBbbmdTdHlsZV09XCJ7J21heC1oZWlnaHQnOiBtYXhUYWJsZUhlaWdodCgpfVwiIFtjbGFzcy5zaHJpbmstdGFibGVdPVwic2hyaW5rVGFibGUoKVwiPlxyXG4gICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCIgbWF0U29ydD5cclxuICAgICAgQGZvciAoY29sdW1uIG9mIGNvbHVtbnMoKTsgdHJhY2sgY29sdW1uKSB7XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT1cImNvbHVtbi5maWVsZFwiPlxyXG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgW2NsYXNzLmhpZGUtbW9iaWxlXT1cImNvbHVtbi5oaWRlT25Nb2JpbGUgJiYgaXNNb2JpbGVcIiBbbmdTdHlsZV09XCJ7ICd3aWR0aCc6IGNvbHVtbi5jb2x1bW5XaWR0aCB9XCI+XHJcbiAgICAgICAgICAgIDxkaXY+e3sgY29sdW1uLmZpZWxkQ29sdW1uVGl0bGUgfX08L2Rpdj5cclxuICAgICAgICAgIDwvdGg+XHJcbiAgXHJcbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZGF0YVwiIFtjbGFzcy5oaWRlLW1vYmlsZV09XCJjb2x1bW4uaGlkZU9uTW9iaWxlICYmIGlzTW9iaWxlXCIgW25nU3R5bGVdPVwieyAnd2lkdGgnOiBjb2x1bW4uY29sdW1uV2lkdGggfVwiPlxyXG4gICAgICAgICAgICBAaWYoY29sdW1uLmlzRGF0ZSkge1xyXG4gICAgICAgICAgICAgIHt7IGRhdGFbY29sdW1uLmZpZWxkXSB8IGRhdGU6J3Nob3J0RGF0ZScgfX1cclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoY29sdW1uLmlzTnVtYmVyKSB7XHJcbiAgICAgICAgICAgICAgQGlmIChjb2x1bW4uaXNOdW1iZXIubmVlZHNSb3VuZGVkKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKGNvbHVtbi5pc051bWJlci5wZXJjZW50YWdlKSB7XHJcbiAgICAgICAgICAgICAgICAgIHt7IGRhdGFbY29sdW1uLmZpZWxkXSB8IG51bWJlcjonMC4wLTAnIH19JVxyXG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIHt7IGRhdGFbY29sdW1uLmZpZWxkXSB8IG51bWJlcjonMC4wLTAnIH19XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKGNvbHVtbi5pc051bWJlci5wZXJjZW50YWdlKSB7XHJcbiAgICAgICAgICAgICAgICAgIHt7IGRhdGFbY29sdW1uLmZpZWxkXSB8IG51bWJlcjonLjEtMicgfX0lXHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAge3sgZGF0YVtjb2x1bW4uZmllbGRdIHwgbnVtYmVyOicuMS0yJyB9fVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoY29sdW1uLmlzQ2hlY2tib3gpIHtcclxuICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IFsobmdNb2RlbCldPVwiZGF0YVtjb2x1bW4uZmllbGRdXCIgW2Rpc2FibGVkXT1cImNvbHVtbi5pc0NoZWNrYm94Wydpc0Rpc2FibGVkJ11cIiAvPlxyXG4gICAgICAgICAgICB9IEBlbHNlIGlmIChjb2x1bW4uaXNIeXBlcmxpbmspIHtcclxuICAgICAgICAgICAgICA8YSBbaHJlZl09XCJkYXRhW2NvbHVtbi5pc0h5cGVybGluay5saW5rRmllbGRdXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBkYXRhW2NvbHVtbi5maWVsZF0gfX1cclxuICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKGNvbHVtbi5pc0J1dHRvbikge1xyXG4gICAgICAgICAgICAgIEBpZiAoY29sdW1uLmlzQnV0dG9uLmlzSWNvbikge1xyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdFRvb2x0aXBdPVwiY29sdW1uLmlzQnV0dG9uLmlzSWNvbi50b29sVGlwXCIgW2Rpc2FibGVkXT1cImNvbHVtbi5pc0J1dHRvbi5pc0Rpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvbHVtbi5pc0J1dHRvbi5pc0Rpc2FibGVkID8gdW5kZWZpbmVkIDogYnV0dG9uQ2xpY2soZGF0YSwgY29sdW1uLmZpZWxkKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+e3tjb2x1bW4uaXNCdXR0b24uaXNJY29uLmljb25OYW1lfX08L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoY29sdW1uLmlzQnV0dG9uLmlzQ2hlY2tib3gpIHtcclxuICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggW21hdFRvb2x0aXBdPVwiY29sdW1uLmlzQnV0dG9uLmlzQ2hlY2tib3gudG9vbFRpcFwiXHJcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZGF0YVtjb2x1bW4uZmllbGRdXCIgKGNsaWNrKT1cImJ1dHRvbkNsaWNrKGRhdGEsIGNvbHVtbi5maWVsZClcIiAvPlxyXG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBbZGlzYWJsZWRdPVwiY29sdW1uLmlzQnV0dG9uLmlzRGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICBbY29sb3JdPVwiY29sdW1uLmlzQnV0dG9uLmlzRGlzYWJsZWQgPyB1bmRlZmluZWQgOiAncHJpbWFyeSdcIlxyXG4gICAgICAgICAgICAgICAgICBbY2xhc3MuYnV0dG9uLWV4dHJhLXBhZGRpbmddPVwiY29sdW1uLmlzQnV0dG9uLmV4dHJhUGFkZGluZ1wiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjb2x1bW4uaXNCdXR0b24uaXNEaXNhYmxlZCA/IHVuZGVmaW5lZCA6IGJ1dHRvbkNsaWNrKGRhdGEsIGNvbHVtbi5maWVsZClcIj5cclxuICAgICAgICAgICAgICAgICAge3tjb2x1bW4uaXNCdXR0b24udGV4dH19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKGNvbHVtbi5uZXN0ZWRGaWVsZCkge1xyXG4gICAgICAgICAgICAgIHt7IGdldE5lc3RlZEZpZWxkVmFsdWUoZGF0YVtjb2x1bW4uZmllbGRdLCBjb2x1bW4ubmVzdGVkRmllbGQpIH19XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKGNvbHVtbi5pc0VkaXRhYmxlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKGNvbHVtbi5pc0VkaXRhYmxlLnR5cGUgPT09ICd0ZXh0YXJlYScpIHtcclxuICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgW3Jvd3NdPVwiM1wiIFsobmdNb2RlbCldPVwiZGF0YVtjb2x1bW4uZmllbGRdXCIgW2Rpc2FibGVkXT1cImNvbHVtbi5pc0VkaXRhYmxlLmRpc2FibGUgIT09IHVuZGVmaW5lZCAmJiBjb2x1bW4uaXNFZGl0YWJsZS5kaXNhYmxlXCI+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJkYXRhW2NvbHVtbi5maWVsZF1cIiBzdHlsZT1cIndpZHRoOiA1NSU7XCIgIFtkaXNhYmxlZF09XCJjb2x1bW4uaXNFZGl0YWJsZS5kaXNhYmxlICE9PSB1bmRlZmluZWQgJiYgY29sdW1uLmlzRWRpdGFibGUuZGlzYWJsZVwiIFt0eXBlXT1cImNvbHVtbi5pc0VkaXRhYmxlLmlzTnVtYmVyID8gJ251bWJlcicgOiAndGV4dCdcIj5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB7eyBkYXRhW2NvbHVtbi5maWVsZF0gfX1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgfVxyXG5cclxuICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJjb2x1bW5OYW1lczsgc3RpY2t5OiB0cnVlXCI+PC90cj5cclxuICAgICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGNvbHVtbk5hbWVzO1wiIGNsYXNzPVwidGFibGUtcm93XCI+PC90cj5cclxuICAgICAgPHRyIG1hdC1yb3cgKm1hdE5vRGF0YVJvdz5cclxuICAgICAgICA8dGQgY2xhc3M9XCJtYXQtY2VsbFwiIGNvbHNwYW49XCI5OTk5XCI+XHJcbiAgICAgICAgICBObyByZWNvcmRzIGV4aXN0LlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgIDwvdHI+XHJcbiAgICA8L3RhYmxlPlxyXG5cclxuICAgIEBpZiAoc2hvd1BhZ2luYXRvcigpKSB7XHJcbiAgICAgIDxtYXQtcGFnaW5hdG9yIFtjbGFzcy5wYWdpbmF0b3Itc3RpY2t5XT1cInBhZ2luYXRvclN0aWNreSgpXCIgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdlU2l6ZU9wdGlvbnNcIiBzaG93Rmlyc3RMYXN0QnV0dG9ucyAvPlxyXG4gICAgfVxyXG48L2Rpdj5cclxuIl19
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvdGFibGUvc3JjL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvdGFibGUvc3JjL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTNNLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFD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UixRQUFRLHNEQUNSLFlBQVksc0VBQ1osWUFBWSxzUEFDWixTQUFTLHFIQUNULE1BQU0sdUZBQ04sU0FBUyx1R0FDVCxPQUFPLGtOQUNQLGFBQWEsdU1BQ2IsUUFBUSxnR0FDUixVQUFVLGlSQUVWLE9BQU8sc0VBQ1AsZUFBZSwrQ0FDZixpQkFBaUI7OzJGQUtSLGNBQWM7a0JBdEMxQixTQUFTOytCQUNFLFdBQVcsY0FDVCxJQUFJLFdBQ1A7d0JBQ1AsUUFBUTt3QkFDUixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsU0FBUzt3QkFDVCxPQUFPO3dCQUNQLFVBQVU7d0JBQ1YsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixPQUFPO3dCQUNQLGFBQWE7d0JBQ2IsUUFBUTt3QkFDUixRQUFRO3dCQUNSLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixTQUFTO3dCQUNULE1BQU07d0JBQ04sU0FBUzt3QkFDVCxPQUFPO3dCQUNQLGFBQWE7d0JBQ2IsUUFBUTt3QkFDUixVQUFVO3dCQUNWLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxlQUFlO3dCQUNmLGlCQUFpQjtxQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIGlucHV0LCBvdXRwdXQsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0U29ydCwgTWF0U29ydEhlYWRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQgeyBNYXRDZWxsLCBNYXRDZWxsRGVmLCBNYXRDb2x1bW5EZWYsIE1hdEhlYWRlckNlbGwsIE1hdEhlYWRlckNlbGxEZWYsIE1hdEhlYWRlclJvdywgTWF0SGVhZGVyUm93RGVmLCBNYXROb0RhdGFSb3csIE1hdFJvdywgTWF0Um93RGVmLCBNYXRUYWJsZSwgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5cclxuaW1wb3J0IHsgRGF0ZVBpcGUsIERlY2ltYWxQaXBlLCBOZ0NsYXNzLCBOZ1N0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbiwgTWF0SWNvbkJ1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGQsIE1hdExhYmVsLCBNYXRQcmVmaXggfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gJy4uLy4uL21vZGVsL3RhYmxlLWNvbHVtbic7XHJcbmltcG9ydCB7IFJvdW5kTnVtYmVyUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3JvdW5kTnVtYmVyJztcclxuaW1wb3J0IHsgRGVjaW1hbFBvaW50c1BpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9kZWNpbWFsUG9pbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRhYmxlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIERhdGVQaXBlLFxyXG4gICAgRGVjaW1hbFBpcGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE1hdEJ1dHRvbixcclxuICAgIE1hdENlbGwsXHJcbiAgICBNYXRDZWxsRGVmLFxyXG4gICAgTWF0Q2hlY2tib3gsXHJcbiAgICBNYXRDb2x1bW5EZWYsXHJcbiAgICBNYXRGb3JtRmllbGQsXHJcbiAgICBNYXRIZWFkZXJDZWxsLFxyXG4gICAgTWF0SGVhZGVyQ2VsbERlZixcclxuICAgIE1hdEhlYWRlclJvdyxcclxuICAgIE1hdEhlYWRlclJvd0RlZixcclxuICAgIE1hdEljb24sXHJcbiAgICBNYXRJY29uQnV0dG9uLFxyXG4gICAgTWF0SW5wdXQsXHJcbiAgICBNYXRMYWJlbCxcclxuICAgIE1hdE5vRGF0YVJvdyxcclxuICAgIE1hdFBhZ2luYXRvcixcclxuICAgIE1hdFByZWZpeCxcclxuICAgIE1hdFJvdyxcclxuICAgIE1hdFJvd0RlZixcclxuICAgIE1hdFNvcnQsXHJcbiAgICBNYXRTb3J0SGVhZGVyLFxyXG4gICAgTWF0VGFibGUsXHJcbiAgICBNYXRUb29sdGlwLFxyXG4gICAgTmdDbGFzcyxcclxuICAgIE5nU3R5bGUsXHJcbiAgICBSb3VuZE51bWJlclBpcGUsXHJcbiAgICBEZWNpbWFsUG9pbnRzUGlwZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIC8vI3JlZ2lvbiBJbnB1dHNcclxuICB0aXRsZSA9IGlucHV0KCcnKTtcclxuICB0YWJsZURhdGEgPSBpbnB1dC5yZXF1aXJlZDxhbnlbXT4oKTtcclxuICBjb2x1bW5zID0gaW5wdXQ8VGFibGVDb2x1bW5bXT4oW10pO1xyXG4gIHNob3dQYWdpbmF0b3IgPSBpbnB1dCh0cnVlKTtcclxuICBzaG93U2VhcmNoID0gaW5wdXQodHJ1ZSk7XHJcbiAgbWF4VGFibGVIZWlnaHQgPSBpbnB1dCgnNTBlbScpO1xyXG4gIHNocmlua1RhYmxlID0gaW5wdXQoZmFsc2UpO1xyXG4gIHBhZ2luYXRvclN0aWNreSA9IGlucHV0KGZhbHNlKTtcclxuICBwYWdlaW5hdG9yRGVmYXVsdEluY3JlbWVudCA9IGlucHV0KDUwKTtcclxuICBzb3J0aW5nRGF0YUFjY2Vzc29yID0gaW5wdXQ8KGRhdGE6IGFueSwgc29ydEhlYWRlcklkOiBzdHJpbmcpID0+IHN0cmluZz4oKTtcclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgYnV0dG9uQ2xpY2tlZCA9IG91dHB1dDx7IHJvd0RhdGE6IGFueSwgZmllbGQ6IHN0cmluZyB9PigpO1xyXG5cclxuICBpc01vYmlsZSA9IGZhbHNlO1xyXG4gIGRhdGFTb3VyY2UhOiBNYXRUYWJsZURhdGFTb3VyY2U8YW55PjtcclxuICBwYWdlU2l6ZU9wdGlvbnMhOiBudW1iZXJbXTsgLy8gPSBbMTAsIDIwLCAxMDAsIDUwMF07XHJcbiAgY29sdW1uTmFtZXMhOiBzdHJpbmdbXTtcclxuXHJcbiAgcGFnaW5hdG9yID0gdmlld0NoaWxkKE1hdFBhZ2luYXRvcik7XHJcbiAgc29ydCA9IHZpZXdDaGlsZChNYXRTb3J0KTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKHRoaXMudGFibGVEYXRhKCkpO1xyXG5cclxuICAgIGlmICh0aGlzLnNvcnRpbmdEYXRhQWNjZXNzb3IoKSkge1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydGluZ0RhdGFBY2Nlc3NvciA9IHRoaXMuc29ydGluZ0RhdGFBY2Nlc3NvcigpITtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbHVtbk5hbWVzID0gdGhpcy5jb2x1bW5zKCkubWFwKGMgPT4gYy5maWVsZCk7XHJcblxyXG4gICAgdGhpcy4jc2V0VGFibGVQYWdlU2l6ZU9wdGlvbnModGhpcy5wYWdlaW5hdG9yRGVmYXVsdEluY3JlbWVudCgpKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBhZ2luYXRvcigpICYmICF0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yKSB7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcigpITtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNvcnQoKSAmJiAhdGhpcy5kYXRhU291cmNlLnNvcnQpIHtcclxuICAgICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnQoKSE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWFyY2hGaWx0ZXJDaGFuZ2UoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBjb25zdCBmaWx0ZXJWYWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gZmlsdGVyVmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCk7XHJcbiAgfVxyXG5cclxuICBidXR0b25DbGljayhyb3dEYXRhOiBhbnksIGZpZWxkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuYnV0dG9uQ2xpY2tlZC5lbWl0KHsgcm93RGF0YSwgZmllbGQgfSk7XHJcbiAgfVxyXG5cclxuICBlZGl0YWJsZUZpZWxkQ2hhbmdlKHJvd0RhdGE6IGFueSwgZmllbGQ6IHN0cmluZywgdmFsdWU6IGFueSkge1xyXG4gICAgcm93RGF0YVtmaWVsZF0gPSB2YWx1ZTtcclxuXHJcbiAgICB0aGlzLmJ1dHRvbkNsaWNrZWQuZW1pdCh7IHJvd0RhdGEsIGZpZWxkIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0TmVzdGVkRmllbGRWYWx1ZShyb3dEYXRhOiBhbnksIG5lc3RlZEZpZWxkTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XHJcbiAgICBpZiAoIW5lc3RlZEZpZWxkTmFtZSkgeyByZXR1cm47IH1cclxuXHJcbiAgICByZXR1cm4gcm93RGF0YVtuZXN0ZWRGaWVsZE5hbWVdO1xyXG4gIH1cclxuXHJcbiAgI3NldFRhYmxlUGFnZVNpemVPcHRpb25zKGRlZmF1bHRQYWdlSW5jcmVtZW50OiBudW1iZXIgPSA1MCkge1xyXG4gICAgdGhpcy5wYWdlU2l6ZU9wdGlvbnMgPSBbXTtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gZGVmYXVsdFBhZ2VJbmNyZW1lbnQ7IGkgPCB0aGlzLmRhdGFTb3VyY2UuZGF0YS5sZW5ndGg7IGkgPSBpICsgKGRlZmF1bHRQYWdlSW5jcmVtZW50ICogMikpIHtcclxuICAgICAgdGhpcy5wYWdlU2l6ZU9wdGlvbnMucHVzaChpKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnBhZ2VTaXplT3B0aW9ucy5wdXNoKHRoaXMuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCk7XHJcbiAgfVxyXG59XHJcbiIsIjxoMz57e3RpdGxlKCl9fTwvaDM+XHJcblxyXG5AaWYgKHNob3dTZWFyY2goKSkge1xyXG4gIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICA8bWF0LWxhYmVsPlNlYXJjaDwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LWljb24gbWF0UHJlZml4PnNlYXJjaDwvbWF0LWljb24+XHJcbiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIG1hdElucHV0IChrZXl1cCk9XCJzZWFyY2hGaWx0ZXJDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbn1cclxuXHJcbjxkaXYgY2xhc3M9XCJ0YWJsZS1jb250YWluZXJcIiBbbmdTdHlsZV09XCJ7J21heC1oZWlnaHQnOiBtYXhUYWJsZUhlaWdodCgpfVwiIFtjbGFzcy5zaHJpbmstdGFibGVdPVwic2hyaW5rVGFibGUoKVwiPlxyXG4gICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCIgbWF0U29ydD5cclxuICAgICAgQGZvciAoY29sdW1uIG9mIGNvbHVtbnMoKTsgdHJhY2sgY29sdW1uKSB7XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT1cImNvbHVtbi5maWVsZFwiPlxyXG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXIgW2NsYXNzLmhpZGUtbW9iaWxlXT1cImNvbHVtbi5oaWRlT25Nb2JpbGUgJiYgaXNNb2JpbGVcIiBbbmdTdHlsZV09XCJ7ICd3aWR0aCc6IGNvbHVtbi5jb2x1bW5XaWR0aCB9XCI+XHJcbiAgICAgICAgICAgIDxkaXY+e3sgY29sdW1uLmZpZWxkQ29sdW1uVGl0bGUgfX08L2Rpdj5cclxuICAgICAgICAgIDwvdGg+XHJcblxyXG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGRhdGFcIiBbY2xhc3MuaGlkZS1tb2JpbGVdPVwiY29sdW1uLmhpZGVPbk1vYmlsZSAmJiBpc01vYmlsZVwiIFtuZ1N0eWxlXT1cInsgJ3dpZHRoJzogY29sdW1uLmNvbHVtbldpZHRoIH1cIj5cclxuICAgICAgICAgICAgQGlmKGNvbHVtbi5pc0RhdGUpIHtcclxuICAgICAgICAgICAgICB7eyBkYXRhW2NvbHVtbi5maWVsZF0gfCBkYXRlOidzaG9ydERhdGUnIH19XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKGNvbHVtbi5pc051bWJlcikge1xyXG4gICAgICAgICAgICAgIEBpZiAoY29sdW1uLmlzTnVtYmVyLm5lZWRzUm91bmRlZCkge1xyXG4gICAgICAgICAgICAgICAgQGlmIChjb2x1bW4uaXNOdW1iZXIucGVyY2VudGFnZSkge1xyXG4gICAgICAgICAgICAgICAgICB7eyBkYXRhW2NvbHVtbi5maWVsZF0gfCBudW1iZXI6JzAuMC0wJyB9fSVcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBlbHNlIGlmIChjb2x1bW4uaXNOdW1iZXIubW9uZXkpIHtcclxuICAgICAgICAgICAgICAgICAgJHt7IGRhdGFbY29sdW1uLmZpZWxkXSB8IG51bWJlcjonMC4wLTAnIH19XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIHt7IGRhdGFbY29sdW1uLmZpZWxkXSB8IG51bWJlcjonMC4wLTAnIH19XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKGNvbHVtbi5pc051bWJlci5wZXJjZW50YWdlKSB7XHJcbiAgICAgICAgICAgICAgICAgIHt7IGRhdGFbY29sdW1uLmZpZWxkXSB8IG51bWJlcjonLjItMicgfX0lXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAZWxzZSBpZiAoY29sdW1uLmlzTnVtYmVyLm1vbmV5KSB7XHJcbiAgICAgICAgICAgICAgICAgICR7eyBkYXRhW2NvbHVtbi5maWVsZF0gfCBudW1iZXI6Jy4yLTInIH19XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIHt7IGRhdGFbY29sdW1uLmZpZWxkXSB8IG51bWJlcjonLjItMicgfX1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKGNvbHVtbi5pc0NoZWNrYm94KSB7XHJcbiAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCBbKG5nTW9kZWwpXT1cImRhdGFbY29sdW1uLmZpZWxkXVwiIFtkaXNhYmxlZF09XCJjb2x1bW4uaXNDaGVja2JveFsnaXNEaXNhYmxlZCddXCIgLz5cclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoY29sdW1uLmlzSHlwZXJsaW5rKSB7XHJcbiAgICAgICAgICAgICAgPGEgW2hyZWZdPVwiZGF0YVtjb2x1bW4uaXNIeXBlcmxpbmsubGlua0ZpZWxkXVwiIHRhcmdldD1cIl9ibGFua1wiPlxyXG4gICAgICAgICAgICAgICAge3sgZGF0YVtjb2x1bW4uZmllbGRdIH19XHJcbiAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICB9IEBlbHNlIGlmIChjb2x1bW4uaXNCdXR0b24pIHtcclxuICAgICAgICAgICAgICBAaWYgKGNvbHVtbi5pc0J1dHRvbi5pc0ljb24pIHtcclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRUb29sdGlwXT1cImNvbHVtbi5pc0J1dHRvbi5pc0ljb24udG9vbFRpcFwiIFtkaXNhYmxlZF09XCJjb2x1bW4uaXNCdXR0b24uaXNEaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjb2x1bW4uaXNCdXR0b24uaXNEaXNhYmxlZCA/IHVuZGVmaW5lZCA6IGJ1dHRvbkNsaWNrKGRhdGEsIGNvbHVtbi5maWVsZClcIj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnt7Y29sdW1uLmlzQnV0dG9uLmlzSWNvbi5pY29uTmFtZX19PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgKGNvbHVtbi5pc0J1dHRvbi5pc0NoZWNrYm94KSB7XHJcbiAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IFttYXRUb29sdGlwXT1cImNvbHVtbi5pc0J1dHRvbi5pc0NoZWNrYm94LnRvb2xUaXBcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImRhdGFbY29sdW1uLmZpZWxkXVwiIChjbGljayk9XCJidXR0b25DbGljayhkYXRhLCBjb2x1bW4uZmllbGQpXCIgLz5cclxuICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gW2Rpc2FibGVkXT1cImNvbHVtbi5pc0J1dHRvbi5pc0Rpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cImNvbHVtbi5pc0J1dHRvbi5pc0Rpc2FibGVkID8gdW5kZWZpbmVkIDogJ3ByaW1hcnknXCJcclxuICAgICAgICAgICAgICAgICAgW2NsYXNzLmJ1dHRvbi1leHRyYS1wYWRkaW5nXT1cImNvbHVtbi5pc0J1dHRvbi5leHRyYVBhZGRpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29sdW1uLmlzQnV0dG9uLmlzRGlzYWJsZWQgPyB1bmRlZmluZWQgOiBidXR0b25DbGljayhkYXRhLCBjb2x1bW4uZmllbGQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7Y29sdW1uLmlzQnV0dG9uLnRleHR9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IEBlbHNlIGlmIChjb2x1bW4ubmVzdGVkRmllbGQpIHtcclxuICAgICAgICAgICAgICB7eyBnZXROZXN0ZWRGaWVsZFZhbHVlKGRhdGFbY29sdW1uLmZpZWxkXSwgY29sdW1uLm5lc3RlZEZpZWxkKSB9fVxyXG4gICAgICAgICAgICB9IEBlbHNlIGlmIChjb2x1bW4uaXNFZGl0YWJsZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmIChjb2x1bW4uaXNFZGl0YWJsZS50eXBlID09PSAndGV4dGFyZWEnKSB7XHJcbiAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBzdHlsZT1cIndpZHRoOiAxMDAlO1wiIFtyb3dzXT1cIjNcIiBbKG5nTW9kZWwpXT1cImRhdGFbY29sdW1uLmZpZWxkXVwiIFtkaXNhYmxlZF09XCJjb2x1bW4uaXNFZGl0YWJsZS5kaXNhYmxlICE9PSB1bmRlZmluZWQgJiYgY29sdW1uLmlzRWRpdGFibGUuZGlzYWJsZVwiPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAZWxzZSBpZiAoY29sdW1uLmlzRWRpdGFibGUuaXNOdW1iZXIpIHtcclxuICAgICAgICAgICAgICAgICAgQGlmIChjb2x1bW4uaXNFZGl0YWJsZS5pc051bWJlci5uZWVkc1JvdW5kZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgW25nTW9kZWxdPVwiZGF0YVtjb2x1bW4uZmllbGRdIHwgcm91bmROdW1iZXJcIiAgc3R5bGU9XCJ3aWR0aDogNTUlO1wiICBbZGlzYWJsZWRdPVwiY29sdW1uLmlzRWRpdGFibGUuZGlzYWJsZSAhPT0gdW5kZWZpbmVkICYmIGNvbHVtbi5pc0VkaXRhYmxlLmRpc2FibGVcIiB0eXBlPVwibnVtYmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgQGVsc2UgaWYgKGNvbHVtbi5pc0VkaXRhYmxlLmlzTnVtYmVyLmRlY2ltYWxQb2ludHMpIHtcclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgW25nTW9kZWxdPVwiZGF0YVtjb2x1bW4uZmllbGRdIHwgZGVjaW1hbFBvaW50czpjb2x1bW4uaXNFZGl0YWJsZS5pc051bWJlci5kZWNpbWFsUG9pbnRzXCIgKG5nTW9kZWxDaGFuZ2UpPVwiZWRpdGFibGVGaWVsZENoYW5nZShkYXRhLCBjb2x1bW4uZmllbGQsICRldmVudClcIiBzdHlsZT1cIndpZHRoOiA1NSU7XCIgIFtkaXNhYmxlZF09XCJjb2x1bW4uaXNFZGl0YWJsZS5kaXNhYmxlICE9PSB1bmRlZmluZWQgJiYgY29sdW1uLmlzRWRpdGFibGUuZGlzYWJsZVwiIHR5cGU9XCJudW1iZXJcIj5cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IFtuZ01vZGVsXT1cImRhdGFbY29sdW1uLmZpZWxkXVwiIChuZ01vZGVsQ2hhbmdlKT1cImVkaXRhYmxlRmllbGRDaGFuZ2UoZGF0YSwgY29sdW1uLmZpZWxkLCAkZXZlbnQpXCIgc3R5bGU9XCJ3aWR0aDogNTUlO1wiICBbZGlzYWJsZWRdPVwiY29sdW1uLmlzRWRpdGFibGUuZGlzYWJsZSAhPT0gdW5kZWZpbmVkICYmIGNvbHVtbi5pc0VkaXRhYmxlLmRpc2FibGVcIiB0eXBlPVwibnVtYmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwiZGF0YVtjb2x1bW4uZmllbGRdXCIgKG5nTW9kZWxDaGFuZ2UpPVwiZWRpdGFibGVGaWVsZENoYW5nZShkYXRhLCBjb2x1bW4uZmllbGQsICRldmVudClcIiBzdHlsZT1cIndpZHRoOiA1NSU7XCIgIFtkaXNhYmxlZF09XCJjb2x1bW4uaXNFZGl0YWJsZS5kaXNhYmxlICE9PSB1bmRlZmluZWQgJiYgY29sdW1uLmlzRWRpdGFibGUuZGlzYWJsZVwiIHR5cGU9XCJ0ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICAgIHt7IGRhdGFbY29sdW1uLmZpZWxkXSB9fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICB9XHJcblxyXG4gICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImNvbHVtbk5hbWVzOyBzdGlja3k6IHRydWVcIj48L3RyPlxyXG4gICAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogY29sdW1uTmFtZXM7XCIgY2xhc3M9XCJ0YWJsZS1yb3dcIj48L3RyPlxyXG4gICAgICA8dHIgbWF0LXJvdyAqbWF0Tm9EYXRhUm93PlxyXG4gICAgICAgIDx0ZCBjbGFzcz1cIm1hdC1jZWxsXCIgY29sc3Bhbj1cIjk5OTlcIj5cclxuICAgICAgICAgIE5vIHJlY29yZHMgZXhpc3QuXHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgPC90cj5cclxuICAgIDwvdGFibGU+XHJcblxyXG4gICAgQGlmIChzaG93UGFnaW5hdG9yKCkpIHtcclxuICAgICAgPG1hdC1wYWdpbmF0b3IgW2NsYXNzLnBhZ2luYXRvci1zdGlja3ldPVwicGFnaW5hdG9yU3RpY2t5KClcIiBbcGFnZVNpemVPcHRpb25zXT1cInBhZ2VTaXplT3B0aW9uc1wiIHNob3dGaXJzdExhc3RCdXR0b25zIC8+XHJcbiAgICB9XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvdGFibGUvc3JjL21vZGVsL3RhYmxlLWNvbHVtbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUYWJsZUNvbHVtbiB7XHJcbiAgZmllbGQ6IHN0cmluZztcclxuICBmaWVsZENvbHVtblRpdGxlOiBzdHJpbmc7XHJcbiAgY29sdW1uV2lkdGg/OiBzdHJpbmc7XHJcblxyXG4gIGlzRGF0ZT86IGJvb2xlYW47XHJcbiAgaXNQZXJjZW50PzogYm9vbGVhbjtcclxuXHJcbiAgaXNOdW1iZXI/OiB7IG5lZWRzUm91bmRlZDogYm9vbGVhbiwgcGVyY2VudGFnZT86IGJvb2xlYW4gfTtcclxuXHJcbiAgaXNDaGVja2JveD86IHsgaXNEaXNhYmxlZDogYm9vbGVhbiB9O1xyXG5cclxuICBpc0J1dHRvbj86IHsgaXNEaXNhYmxlZDogYm9vbGVhbiwgdGV4dD86IHN0cmluZywgaXNJY29uPzogeyBpY29uTmFtZTogc3RyaW5nLCB0b29sVGlwOiBzdHJpbmcgfSwgaXNDaGVja2JveD86IHsgdG9vbFRpcDogc3RyaW5nLCBtdWx0aXBsZVNlbGVjdDogYm9vbGVhbiB9LCBleHRyYVBhZGRpbmc/OiBib29sZWFuIH07XHJcblxyXG4gIGlzRWRpdGFibGU/OiB7IHR5cGU6IHN0cmluZywgZGlzYWJsZT86IGJvb2xlYW4sIGlzTnVtYmVyPzogYm9vbGVhbiB9O1xyXG5cclxuICBoaWRlT25Nb2JpbGU/OiBib29sZWFuO1xyXG5cclxuICBuZXN0ZWRGaWVsZD86IHN0cmluZztcclxuXHJcbiAgaXNIeXBlcmxpbms/OiB7IGxpbmtGaWVsZDogc3RyaW5nIH1cclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvdGFibGUvc3JjL21vZGVsL3RhYmxlLWNvbHVtbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUYWJsZUNvbHVtbiB7XHJcbiAgZmllbGQ6IHN0cmluZztcclxuICBmaWVsZENvbHVtblRpdGxlOiBzdHJpbmc7XHJcbiAgY29sdW1uV2lkdGg/OiBzdHJpbmc7XHJcblxyXG4gIGlzRGF0ZT86IGJvb2xlYW47XHJcbiAgaXNQZXJjZW50PzogYm9vbGVhbjtcclxuXHJcbiAgaXNOdW1iZXI/OiB7IG5lZWRzUm91bmRlZDogYm9vbGVhbiwgcGVyY2VudGFnZT86IGJvb2xlYW4sIG1vbmV5PzogYm9vbGVhbiB9O1xyXG5cclxuICBpc0NoZWNrYm94PzogeyBpc0Rpc2FibGVkOiBib29sZWFuIH07XHJcblxyXG4gIGlzQnV0dG9uPzogeyBpc0Rpc2FibGVkOiBib29sZWFuLCB0ZXh0Pzogc3RyaW5nLCBpc0ljb24/OiB7IGljb25OYW1lOiBzdHJpbmcsIHRvb2xUaXA6IHN0cmluZyB9LCBpc0NoZWNrYm94PzogeyB0b29sVGlwOiBzdHJpbmcsIG11bHRpcGxlU2VsZWN0OiBib29sZWFuIH0sIGV4dHJhUGFkZGluZz86IGJvb2xlYW4gfTtcclxuXHJcbiAgaXNFZGl0YWJsZT86IHtcclxuICAgIHR5cGU6IHN0cmluZyxcclxuICAgIGRpc2FibGU/OiBib29sZWFuLFxyXG4gICAgaXNOdW1iZXI/OiB7IG5lZWRzUm91bmRlZDogYm9vbGVhbiwgZGVjaW1hbFBvaW50cz86IG51bWJlciB9XHJcbiAgfTtcclxuXHJcbiAgaGlkZU9uTW9iaWxlPzogYm9vbGVhbjtcclxuXHJcbiAgbmVzdGVkRmllbGQ/OiBzdHJpbmc7XHJcblxyXG4gIGlzSHlwZXJsaW5rPzogeyBsaW5rRmllbGQ6IHN0cmluZyB9XHJcbn1cclxuIl19
@@ -0,0 +1,14 @@
1
+ import { Pipe } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class DecimalPointsPipe {
4
+ transform(val, numberOfDecimalPoints) {
5
+ return parseFloat(val.toString()).toFixed(numberOfDecimalPoints);
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DecimalPointsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: DecimalPointsPipe, isStandalone: true, name: "decimalPoints" }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: DecimalPointsPipe, decorators: [{
11
+ type: Pipe,
12
+ args: [{ name: 'decimalPoints', standalone: true }]
13
+ }] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaW1hbFBvaW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3RhYmxlL3NyYy9waXBlcy9kZWNpbWFsUG9pbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUdwRCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFNBQVMsQ0FBQyxHQUFRLEVBQUUscUJBQTZCO1FBQy9DLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ25FLENBQUM7OEdBSFUsaUJBQWlCOzRHQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRDdCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBQaXBlKHsgbmFtZTogJ2RlY2ltYWxQb2ludHMnLCBzdGFuZGFsb25lOiB0cnVlIH0pXHJcbmV4cG9ydCBjbGFzcyBEZWNpbWFsUG9pbnRzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm17XHJcbiAgdHJhbnNmb3JtKHZhbDogYW55LCBudW1iZXJPZkRlY2ltYWxQb2ludHM6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHBhcnNlRmxvYXQodmFsLnRvU3RyaW5nKCkpLnRvRml4ZWQobnVtYmVyT2ZEZWNpbWFsUG9pbnRzKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,14 @@
1
+ import { Pipe } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class RoundNumberPipe {
4
+ transform(val) {
5
+ return Math.round(+val);
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RoundNumberPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: RoundNumberPipe, isStandalone: true, name: "roundNumber" }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RoundNumberPipe, decorators: [{
11
+ type: Pipe,
12
+ args: [{ name: 'roundNumber', standalone: true }]
13
+ }] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91bmROdW1iZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi90YWJsZS9zcmMvcGlwZXMvcm91bmROdW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBR3BELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFNBQVMsQ0FBQyxHQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLENBQUM7OEdBSFUsZUFBZTs0R0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5AUGlwZSh7IG5hbWU6ICdyb3VuZE51bWJlcicsIHN0YW5kYWxvbmU6IHRydWUgfSlcclxuZXhwb3J0IGNsYXNzIFJvdW5kTnVtYmVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm17XHJcbiAgdHJhbnNmb3JtKHZhbDogYW55KSB7XHJcbiAgICByZXR1cm4gTWF0aC5yb3VuZCgrdmFsKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,4 +1,6 @@
1
1
  export * from './model/table-column';
2
2
  export * from './components/table/table.component';
3
3
  export * from './table.module';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvdGFibGUvc3JjL3RhYmxlLmFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kZWwvdGFibGUtY29sdW1uJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi90YWJsZS5tb2R1bGUnO1xyXG4iXX0=
4
+ export * from './pipes/roundNumber';
5
+ export * from './pipes/decimalPoints';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvdGFibGUvc3JjL3RhYmxlLmFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZGVsL3RhYmxlLWNvbHVtbic7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUubW9kdWxlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvcm91bmROdW1iZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL2RlY2ltYWxQb2ludHMnO1xyXG4iXX0=
@@ -11,10 +11,12 @@ import { MatSortModule } from '@angular/material/sort';
11
11
  import { MatTableModule } from '@angular/material/table';
12
12
  import { MatTooltipModule } from '@angular/material/tooltip';
13
13
  import { TableComponent } from './components/table/table.component';
14
+ import { RoundNumberPipe } from './pipes/roundNumber';
15
+ import { DecimalPointsPipe } from './pipes/decimalPoints';
14
16
  import * as i0 from "@angular/core";
15
17
  export class TableModule {
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: TableModule, imports: [CommonModule,
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
19
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: TableModule, imports: [CommonModule,
18
20
  FormsModule,
19
21
  ReactiveFormsModule,
20
22
  MatButtonModule,
@@ -26,8 +28,12 @@ export class TableModule {
26
28
  MatPaginatorModule,
27
29
  MatTooltipModule,
28
30
  MatIconModule,
29
- TableComponent], exports: [TableComponent] }); }
30
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TableModule, imports: [CommonModule,
31
+ TableComponent,
32
+ RoundNumberPipe,
33
+ DecimalPointsPipe], exports: [TableComponent,
34
+ RoundNumberPipe,
35
+ DecimalPointsPipe] }); }
36
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TableModule, imports: [CommonModule,
31
37
  FormsModule,
32
38
  ReactiveFormsModule,
33
39
  MatButtonModule,
@@ -41,7 +47,7 @@ export class TableModule {
41
47
  MatIconModule,
42
48
  TableComponent] }); }
43
49
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TableModule, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TableModule, decorators: [{
45
51
  type: NgModule,
46
52
  args: [{
47
53
  declarations: [],
@@ -58,11 +64,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
58
64
  MatPaginatorModule,
59
65
  MatTooltipModule,
60
66
  MatIconModule,
61
- TableComponent
67
+ TableComponent,
68
+ RoundNumberPipe,
69
+ DecimalPointsPipe
62
70
  ],
63
71
  exports: [
64
- TableComponent
72
+ TableComponent,
73
+ RoundNumberPipe,
74
+ DecimalPointsPipe
65
75
  ]
66
76
  }]
67
77
  }] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvdGFibGUvc3JjL3RhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBeUJwRSxNQUFNLE9BQU8sV0FBVzs4R0FBWCxXQUFXOytHQUFYLFdBQVcsWUFwQnBCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBRW5CLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxjQUFjO1lBQ2QsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsYUFBYTtZQUViLGNBQWMsYUFHZCxjQUFjOytHQUdMLFdBQVcsWUFwQnBCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBRW5CLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxjQUFjO1lBQ2QsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsYUFBYTtZQUViLGNBQWM7OzJGQU1MLFdBQVc7a0JBdkJ2QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFFbkIsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBRWIsY0FBYztxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsY0FBYztxQkFDZjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBNYXRTb3J0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0VGFibGVNb2R1bGUsXHJcbiAgICBNYXRTb3J0TW9kdWxlLFxyXG4gICAgTWF0UGFnaW5hdG9yTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcblxyXG4gICAgVGFibGVDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFRhYmxlQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVNb2R1bGUgeyB9XHJcbiJdfQ==
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvdGFibGUvc3JjL3RhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQThCMUQsTUFBTSxPQUFPLFdBQVc7OEdBQVgsV0FBVzsrR0FBWCxXQUFXLFlBeEJwQixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUVuQixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsY0FBYztZQUNkLGFBQWE7WUFDYixrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFFYixjQUFjO1lBQ2QsZUFBZTtZQUNmLGlCQUFpQixhQUdqQixjQUFjO1lBQ2QsZUFBZTtZQUNmLGlCQUFpQjsrR0FHUixXQUFXLFlBeEJwQixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUVuQixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsY0FBYztZQUNkLGFBQWE7WUFDYixrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFFYixjQUFjOzsyRkFVTCxXQUFXO2tCQTVCdkIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFFbkIsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBRWIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGlCQUFpQjtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixpQkFBaUI7cUJBQ2xCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IE1hdFNvcnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdW5kTnVtYmVyUGlwZSB9IGZyb20gJy4vcGlwZXMvcm91bmROdW1iZXInO1xyXG5pbXBvcnQgeyBEZWNpbWFsUG9pbnRzUGlwZSB9IGZyb20gJy4vcGlwZXMvZGVjaW1hbFBvaW50cyc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG5cclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRUYWJsZU1vZHVsZSxcclxuICAgIE1hdFNvcnRNb2R1bGUsXHJcbiAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuXHJcbiAgICBUYWJsZUNvbXBvbmVudCxcclxuICAgIFJvdW5kTnVtYmVyUGlwZSxcclxuICAgIERlY2ltYWxQb2ludHNQaXBlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBUYWJsZUNvbXBvbmVudCxcclxuICAgIFJvdW5kTnVtYmVyUGlwZSxcclxuICAgIERlY2ltYWxQb2ludHNQaXBlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -15,10 +15,10 @@ export class UploadComponent {
15
15
  this.#dialogService.open(UploadDialogComponent, { width: '50%' })
16
16
  .afterClosed().subscribe(() => this.dialogClosed.emit());
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: UploadComponent, isStandalone: true, selector: "cp-upload", outputs: { dialogClosed: "dialogClosed" }, ngImport: i0, template: '<button mat-raised-button (click)="openUploadDialog()">{{ uploadService.options.uploadButtonText }}</button>', isInline: true, dependencies: [{ kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: UploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: UploadComponent, isStandalone: true, selector: "cp-upload", outputs: { dialogClosed: "dialogClosed" }, ngImport: i0, template: '<button mat-raised-button (click)="openUploadDialog()">{{ uploadService.options.uploadButtonText }}</button>', isInline: true, dependencies: [{ kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UploadComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: UploadComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{
24
24
  selector: 'cp-upload',
@@ -79,10 +79,10 @@ export class UploadDialogComponent {
79
79
  }
80
80
  });
81
81
  }
82
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UploadDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
83
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: UploadDialogComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "file", first: true, predicate: ["file"], descendants: true, isSignal: true }], ngImport: i0, template: "<input type=\"file\" #file style=\"display: none\" (change)=\"onFilesAdded()\" multiple />\n\n<div mat-dialog-title id=\"title\">\n <div>{{ services.upload.options.uploadDialogTitle }}</div>\n <button [disabled]=\"uploading || uploadSuccessful\" mat-raised-button color=\"primary\" class=\"add-files-btn\" (click)=\"addFiles()\">\n {{ services.upload.options.uploadDialogAddFilesButtonText }}\n </button>\n</div>\n\n@if (existingFileConflict) {\n <div id=\"conflict\">\n {{ existingFileConflict }} already exists on the server and cannot be overwritten\n </div>\n}\n\n<mat-dialog-content>\n <mat-list>\n @for (file of files; track file) {\n <mat-list-item>\n <h4 mat-line>{{file.name}}</h4>\n @if (progress) {\n <mat-progress-bar mode=\"determinate\" [value]=\"progress[file.name].progress | async\"/>\n }\n </mat-list-item>\n }\n </mat-list>\n</mat-dialog-content>\n\n<mat-dialog-actions id=\"actions\">\n @if (showCancelButton) {\n <button mat-button mat-dialog-close>{{ services.upload.options.uploadDialogCancelButtonText }}</button>\n }\n @if (files.size > 0) {\n <button mat-raised-button color=\"primary\" [disabled]=\"!canBeClosed\" (click)=\"closeDialog()\">{{ primaryButtonText }}</button>\n }\n</mat-dialog-actions>\n", styles: ["#title{display:flex;justify-content:space-between}#actions{display:flex;justify-content:flex-end}#conflict{font-size:.8em;color:red;margin-top:.5em}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { 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: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "component", type: MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }] }); }
82
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: UploadDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
83
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: UploadDialogComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "file", first: true, predicate: ["file"], descendants: true, isSignal: true }], ngImport: i0, template: "<input type=\"file\" #file style=\"display: none\" (change)=\"onFilesAdded()\" multiple />\r\n\r\n<div mat-dialog-title id=\"title\">\r\n <div>{{ services.upload.options.uploadDialogTitle }}</div>\r\n <button [disabled]=\"uploading || uploadSuccessful\" mat-raised-button color=\"primary\" class=\"add-files-btn\" (click)=\"addFiles()\">\r\n {{ services.upload.options.uploadDialogAddFilesButtonText }}\r\n </button>\r\n</div>\r\n\r\n@if (existingFileConflict) {\r\n <div id=\"conflict\">\r\n {{ existingFileConflict }} already exists on the server and cannot be overwritten\r\n </div>\r\n}\r\n\r\n<mat-dialog-content>\r\n <mat-list>\r\n @for (file of files; track file) {\r\n <mat-list-item>\r\n <h4 mat-line>{{file.name}}</h4>\r\n @if (progress) {\r\n <mat-progress-bar mode=\"determinate\" [value]=\"progress[file.name].progress | async\"/>\r\n }\r\n </mat-list-item>\r\n }\r\n </mat-list>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions id=\"actions\">\r\n @if (showCancelButton) {\r\n <button mat-button mat-dialog-close>{{ services.upload.options.uploadDialogCancelButtonText }}</button>\r\n }\r\n @if (files.size > 0) {\r\n <button mat-raised-button color=\"primary\" [disabled]=\"!canBeClosed\" (click)=\"closeDialog()\">{{ primaryButtonText }}</button>\r\n }\r\n</mat-dialog-actions>\r\n", styles: ["#title{display:flex;justify-content:space-between}#actions{display:flex;justify-content:flex-end}#conflict{font-size:.8em;color:red;margin-top:.5em}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { 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: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "component", type: MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }] }); }
84
84
  }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UploadDialogComponent, decorators: [{
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: UploadDialogComponent, decorators: [{
86
86
  type: Component,
87
87
  args: [{ standalone: true, imports: [
88
88
  AsyncPipe,
@@ -93,6 +93,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
93
93
  MatList,
94
94
  MatListItem,
95
95
  MatProgressBar
96
- ], template: "<input type=\"file\" #file style=\"display: none\" (change)=\"onFilesAdded()\" multiple />\n\n<div mat-dialog-title id=\"title\">\n <div>{{ services.upload.options.uploadDialogTitle }}</div>\n <button [disabled]=\"uploading || uploadSuccessful\" mat-raised-button color=\"primary\" class=\"add-files-btn\" (click)=\"addFiles()\">\n {{ services.upload.options.uploadDialogAddFilesButtonText }}\n </button>\n</div>\n\n@if (existingFileConflict) {\n <div id=\"conflict\">\n {{ existingFileConflict }} already exists on the server and cannot be overwritten\n </div>\n}\n\n<mat-dialog-content>\n <mat-list>\n @for (file of files; track file) {\n <mat-list-item>\n <h4 mat-line>{{file.name}}</h4>\n @if (progress) {\n <mat-progress-bar mode=\"determinate\" [value]=\"progress[file.name].progress | async\"/>\n }\n </mat-list-item>\n }\n </mat-list>\n</mat-dialog-content>\n\n<mat-dialog-actions id=\"actions\">\n @if (showCancelButton) {\n <button mat-button mat-dialog-close>{{ services.upload.options.uploadDialogCancelButtonText }}</button>\n }\n @if (files.size > 0) {\n <button mat-raised-button color=\"primary\" [disabled]=\"!canBeClosed\" (click)=\"closeDialog()\">{{ primaryButtonText }}</button>\n }\n</mat-dialog-actions>\n", styles: ["#title{display:flex;justify-content:space-between}#actions{display:flex;justify-content:flex-end}#conflict{font-size:.8em;color:red;margin-top:.5em}\n"] }]
96
+ ], template: "<input type=\"file\" #file style=\"display: none\" (change)=\"onFilesAdded()\" multiple />\r\n\r\n<div mat-dialog-title id=\"title\">\r\n <div>{{ services.upload.options.uploadDialogTitle }}</div>\r\n <button [disabled]=\"uploading || uploadSuccessful\" mat-raised-button color=\"primary\" class=\"add-files-btn\" (click)=\"addFiles()\">\r\n {{ services.upload.options.uploadDialogAddFilesButtonText }}\r\n </button>\r\n</div>\r\n\r\n@if (existingFileConflict) {\r\n <div id=\"conflict\">\r\n {{ existingFileConflict }} already exists on the server and cannot be overwritten\r\n </div>\r\n}\r\n\r\n<mat-dialog-content>\r\n <mat-list>\r\n @for (file of files; track file) {\r\n <mat-list-item>\r\n <h4 mat-line>{{file.name}}</h4>\r\n @if (progress) {\r\n <mat-progress-bar mode=\"determinate\" [value]=\"progress[file.name].progress | async\"/>\r\n }\r\n </mat-list-item>\r\n }\r\n </mat-list>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions id=\"actions\">\r\n @if (showCancelButton) {\r\n <button mat-button mat-dialog-close>{{ services.upload.options.uploadDialogCancelButtonText }}</button>\r\n }\r\n @if (files.size > 0) {\r\n <button mat-raised-button color=\"primary\" [disabled]=\"!canBeClosed\" (click)=\"closeDialog()\">{{ primaryButtonText }}</button>\r\n }\r\n</mat-dialog-actions>\r\n", styles: ["#title{display:flex;justify-content:space-between}#actions{display:flex;justify-content:flex-end}#conflict{font-size:.8em;color:red;margin-top:.5em}\n"] }]
97
97
  }] });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi91cGxvYWQvc3JjL2NvbXBvbmVudHMvdXBsb2FkLWRpYWxvZy91cGxvYWQtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3VwbG9hZC9zcmMvY29tcG9uZW50cy91cGxvYWQtZGlhbG9nL3VwbG9hZC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RyxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQWMsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFpQmhFLE1BQU0sT0FBTyxxQkFBcUI7SUFmbEM7UUFnQkUsYUFBUSxHQUFHO1lBQ1QsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFBLFlBQW1DLENBQUEsQ0FBQztZQUN0RCxNQUFNLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQztTQUM5QixDQUFDO1FBRUYsU0FBSSxHQUFHLFNB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LEdBQUcsS0FBSyxDQUFDO2dCQUU3QyxtQ0FBbUM7Z0JBQ25DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7Z0JBRTdCLCtDQUErQztnQkFDL0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBRXZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUUzQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0E1RlUscUJBQXFCO2tHQUFyQixxQkFBcUIsc0xDekJsQyxteENBb0NBLDJNRHRCSSxTQUFTLDhDQUNULFNBQVMsaUxBQ1QsZ0JBQWdCLDRIQUNoQixjQUFjLHFMQUNkLGdCQUFnQix5R0FDaEIsT0FBTyw0RUFDUCxXQUFXLHFKQUNYLGNBQWM7OzJGQUlMLHFCQUFxQjtrQkFmakMsU0FBUztpQ0FFSSxJQUFJLFdBQ1A7d0JBQ1AsU0FBUzt3QkFDVCxTQUFTO3dCQUNULGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLE9BQU87d0JBQ1AsV0FBVzt3QkFDWCxjQUFjO3FCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBpbmplY3QsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dBY3Rpb25zLCBNYXREaWFsb2dDbG9zZSwgTWF0RGlhbG9nQ29udGVudCwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0TGlzdCwgTWF0TGlzdEl0ZW0gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBVcGxvYWRTdGF0dXMgfSBmcm9tICcuLi8uLi9tb2RlbC91cGxvYWQtc3RhdHVzJztcclxuaW1wb3J0IHsgVXBsb2FkU2VydmljZSB9IGZyb20gJy4vLi4vLi4vc2VydmljZXMvdXBsb2FkLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQXN5bmNQaXBlLFxyXG4gICAgTWF0QnV0dG9uLFxyXG4gICAgTWF0RGlhbG9nQWN0aW9ucyxcclxuICAgIE1hdERpYWxvZ0Nsb3NlLFxyXG4gICAgTWF0RGlhbG9nQ29udGVudCxcclxuICAgIE1hdExpc3QsXHJcbiAgICBNYXRMaXN0SXRlbSxcclxuICAgIE1hdFByb2dyZXNzQmFyXHJcbiAgXSxcclxuICBzdHlsZVVybDogJy4vdXBsb2FkLWRpYWxvZy5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFVwbG9hZERpYWxvZ0NvbXBvbmVudCB7XHJcbiAgc2VydmljZXMgPSB7XHJcbiAgICBkaWFsb2dSZWY6IGluamVjdChNYXREaWFsb2dSZWY8VXBsb2FkRGlhbG9nQ29tcG9uZW50PiksXHJcbiAgICB1cGxvYWQ6IGluamVjdChVcGxvYWRTZXJ2aWNlKVxyXG4gIH07XHJcblxyXG4gIGZpbGUgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZj4oJ2ZpbGUnKTtcclxuXHJcbiAgZmlsZXM6IFNldDxGaWxlPiA9IG5ldyBTZXQoKTtcclxuICBleGlzdGluZ0ZpbGVDb25mbGljdD86IHN0cmluZztcclxuXHJcbiAgLy8gU3RhdGVcclxuICBwcm9ncmVzcz86IFVwbG9hZFN0YXR1cztcclxuICBjYW5CZUNsb3NlZCA9IHRydWU7XHJcbiAgcHJpbWFyeUJ1dHRvblRleHQgPSB0aGlzLnNlcnZpY2VzLnVwbG9hZC5vcHRpb25zLnVwbG9hZERpYWxvZ1VwbG9hZEJ1dHRvblRleHQ7XHJcbiAgc2hvd0NhbmNlbEJ1dHRvbiA9IHRydWU7XHJcbiAgdXBsb2FkaW5nID0gZmFsc2U7XHJcbiAgdXBsb2FkU3VjY2Vzc2Z1bCA9IGZhbHNlO1xyXG5cclxuICBhZGRGaWxlcygpIHtcclxuICAgIHRoaXMuZmlsZSgpLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcclxuICB9XHJcblxyXG4gIG9uRmlsZXNBZGRlZCgpIHtcclxuICAgIGNvbnN0IGZpbGVzOiB7IFtrZXk6IHN0cmluZ106IEZpbGUgfSA9IHRoaXMuZmlsZSgpLm5hdGl2ZUVsZW1lbnQuZmlsZXM7XHJcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBmaWxlcykge1xyXG4gICAgICBpZiAoIWlzTmFOKHBhcnNlSW50KGtleSkpKSB7XHJcbiAgICAgICAgLy8gU2VlIGlmIHRoZSBmaWxlIGFscmVhZHkgZXhpc3RzXHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlcy51cGxvYWQuZXhpc3RzKGZpbGVzW2tleV0ubmFtZSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUoZXhpc3RzID0+IHtcclxuICAgICAgICAgICAgaWYgKGV4aXN0cykge1xyXG4gICAgICAgICAgICAgIHRoaXMuZXhpc3RpbmdGaWxlQ29uZmxpY3QgPSBmaWxlc1trZXldLm5hbWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICghZXhpc3RzKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5maWxlcy5hZGQoZmlsZXNba2V5XSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZURpYWxvZygpIHtcclxuICAgIC8vIGlmIGV2ZXJ5dGhpbmcgd2FzIHVwbG9hZGVkIGFscmVhZHksIGp1c3QgY2xvc2UgdGhlIGRpYWxvZ1xyXG4gICAgaWYgKHRoaXMudXBsb2FkU3VjY2Vzc2Z1bCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBzZXQgdGhlIGNvbXBvbmVudCBzdGF0ZSB0byBcInVwbG9hZGluZ1wiXHJcbiAgICB0aGlzLnVwbG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgLy8gc3RhcnQgdGhlIHVwbG9hZCBhbmQgc2F2ZSB0aGUgcHJvZ3Jlc3MgbWFwXHJcbiAgICB0aGlzLnByb2dyZXNzID0gdGhpcy5zZXJ2aWNlcy51cGxvYWQudXBsb2FkKHRoaXMuZmlsZXMpO1xyXG5cclxuICAgIC8vIGNvbnZlcnQgdGhlIHByb2dyZXNzIG1hcCBpbnRvIGFuIGFycmF5XHJcbiAgICBjb25zdCBhbGxQcm9ncmVzc09ic2VydmFibGVzJDogT2JzZXJ2YWJsZTxudW1iZXI+W10gPSBbXTtcclxuXHJcbiAgICBmb3IgKGxldCBrZXkgaW4gdGhpcy5wcm9ncmVzcykge1xyXG4gICAgICBhbGxQcm9ncmVzc09ic2VydmFibGVzJC5wdXNoKHRoaXMucHJvZ3Jlc3Nba2V5XS5wcm9ncmVzcyk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQWRqdXN0IHRoZSBzdGF0ZSB2YXJpYWJsZXNcclxuXHJcbiAgICAvLyBUaGUgT0stYnV0dG9uIHNob3VsZCBoYXZlIHRoZSB0ZXh0IFwiRmluaXNoXCIgbm93XHJcbiAgICB0aGlzLnByaW1hcnlCdXR0b25UZXh0ID0gdGhpcy5zZXJ2aWNlcy51cGxvYWQub3B0aW9ucy51cGxvYWREaWFsb2dGaW5pc2hCdXR0b25UZXh0O1xyXG5cclxuICAgIC8vIFRoZSBkaWFsb2cgc2hvdWxkIG5vdCBiZSBjbG9zZWQgd2hpbGUgdXBsb2FkaW5nXHJcbiAgICB0aGlzLmNhbkJlQ2xvc2VkID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlcnZpY2VzLmRpYWxvZ1JlZi5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xyXG5cclxuICAgIC8vIEhpZGUgdGhlIGNhbmNlbC1idXR0b25cclxuICAgIHRoaXMuc2hvd0NhbmNlbEJ1dHRvbiA9IGZhbHNlO1xyXG5cclxuICAgIC8vIFdoZW4gYWxsIHByb2dyZXNzLW9ic2VydmFibGVzIGFyZSBjb21wbGV0ZWQuLi5cclxuICAgIGZvcmtKb2luKGFsbFByb2dyZXNzT2JzZXJ2YWJsZXMkKVxyXG4gICAgLnN1YnNjcmliZSh7XHJcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgICAgLy8gLi4uIHRoZSBkaWFsb2cgY2FuIGJlIGNsb3NlZCBhZ2Fpbi4uLlxyXG4gICAgICAgIHRoaXMuY2FuQmVDbG9zZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2VydmljZXMuZGlhbG9nUmVmLmRpc2FibGVDbG9zZSA9IGZhbHNlO1xyXG4gICAgXHJcbiAgICAgICAgLy8gLi4uIHRoZSB1cGxvYWQgd2FzIHN1Y2Nlc3NmdWwuLi5cclxuICAgICAgICB0aGlzLnVwbG9hZFN1Y2Nlc3NmdWwgPSB0cnVlO1xyXG4gICAgXHJcbiAgICAgICAgLy8gLi4uIGFuZCB0aGUgY29tcG9uZW50IGlzIG5vIGxvbmdlciB1cGxvYWRpbmdcclxuICAgICAgICB0aGlzLnVwbG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICAgICAgICBjb25zb2xlLmxvZygnVXBsb2FkIGNvbXBsZXRlJywgdGhpcy5maWxlcyk7XHJcblxyXG4gICAgICAgIHRoaXMuc2VydmljZXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8aW5wdXQgdHlwZT1cImZpbGVcIiAjZmlsZSBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIiAoY2hhbmdlKT1cIm9uRmlsZXNBZGRlZCgpXCIgbXVsdGlwbGUgLz5cblxuPGRpdiBtYXQtZGlhbG9nLXRpdGxlIGlkPVwidGl0bGVcIj5cbiAgPGRpdj57eyBzZXJ2aWNlcy51cGxvYWQub3B0aW9ucy51cGxvYWREaWFsb2dUaXRsZSB9fTwvZGl2PlxuICA8YnV0dG9uIFtkaXNhYmxlZF09XCJ1cGxvYWRpbmcgfHwgdXBsb2FkU3VjY2Vzc2Z1bFwiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIGNsYXNzPVwiYWRkLWZpbGVzLWJ0blwiIChjbGljayk9XCJhZGRGaWxlcygpXCI+XG4gICAge3sgc2VydmljZXMudXBsb2FkLm9wdGlvbnMudXBsb2FkRGlhbG9nQWRkRmlsZXNCdXR0b25UZXh0IH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG5cbkBpZiAoZXhpc3RpbmdGaWxlQ29uZmxpY3QpIHtcbiAgPGRpdiBpZD1cImNvbmZsaWN0XCI+XG4gICAge3sgZXhpc3RpbmdGaWxlQ29uZmxpY3QgfX0gYWxyZWFkeSBleGlzdHMgb24gdGhlIHNlcnZlciBhbmQgY2Fubm90IGJlIG92ZXJ3cml0dGVuXG4gIDwvZGl2PlxufVxuXG48bWF0LWRpYWxvZy1jb250ZW50PlxuICA8bWF0LWxpc3Q+XG4gICAgQGZvciAoZmlsZSBvZiBmaWxlczsgdHJhY2sgZmlsZSkge1xuICAgICAgPG1hdC1saXN0LWl0ZW0+XG4gICAgICAgIDxoNCBtYXQtbGluZT57e2ZpbGUubmFtZX19PC9oND5cbiAgICAgICAgQGlmIChwcm9ncmVzcykge1xuICAgICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJkZXRlcm1pbmF0ZVwiIFt2YWx1ZV09XCJwcm9ncmVzc1tmaWxlLm5hbWVdLnByb2dyZXNzIHwgYXN5bmNcIi8+XG4gICAgICAgIH1cbiAgICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICB9XG4gIDwvbWF0LWxpc3Q+XG48L21hdC1kaWFsb2ctY29udGVudD5cblxuPG1hdC1kaWFsb2ctYWN0aW9ucyBpZD1cImFjdGlvbnNcIj5cbiAgQGlmIChzaG93Q2FuY2VsQnV0dG9uKSB7XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIG1hdC1kaWFsb2ctY2xvc2U+e3sgc2VydmljZXMudXBsb2FkLm9wdGlvbnMudXBsb2FkRGlhbG9nQ2FuY2VsQnV0dG9uVGV4dCB9fTwvYnV0dG9uPlxuICB9XG4gIEBpZiAoZmlsZXMuc2l6ZSA+IDApIHtcbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhY2FuQmVDbG9zZWRcIiAoY2xpY2spPVwiY2xvc2VEaWFsb2coKVwiPnt7IHByaW1hcnlCdXR0b25UZXh0IH19PC9idXR0b24+XG4gIH1cbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuIl19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi91cGxvYWQvc3JjL2NvbXBvbmVudHMvdXBsb2FkLWRpYWxvZy91cGxvYWQtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3VwbG9hZC9zcmMvY29tcG9uZW50cy91cGxvYWQtZGlhbG9nL3VwbG9hZC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RyxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQWMsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFpQmhFLE1BQU0sT0FBTyxxQkFBcUI7SUFmbEM7UUFnQkUsYUFBUSxHQUFHO1lBQ1QsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFBLFlBQW1DLENBQUEsQ0FBQztZQUN0RCxNQUFNLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQztTQUM5QixDQUFDO1FBRUYsU0FBSSxHQUFHLFNB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LEdBQUcsS0FBSyxDQUFDO2dCQUU3QyxtQ0FBbUM7Z0JBQ25DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7Z0JBRTdCLCtDQUErQztnQkFDL0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBRXZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUUzQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0E1RlUscUJBQXFCO2tHQUFyQixxQkFBcUIsc0xDekJsQywyMUNBb0NBLDJNRHRCSSxTQUFTLDhDQUNULFNBQVMsaUxBQ1QsZ0JBQWdCLDRIQUNoQixjQUFjLHFMQUNkLGdCQUFnQix5R0FDaEIsT0FBTyw0RUFDUCxXQUFXLHFKQUNYLGNBQWM7OzJGQUlMLHFCQUFxQjtrQkFmakMsU0FBUztpQ0FFSSxJQUFJLFdBQ1A7d0JBQ1AsU0FBUzt3QkFDVCxTQUFTO3dCQUNULGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLE9BQU87d0JBQ1AsV0FBVzt3QkFDWCxjQUFjO3FCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBpbmplY3QsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dBY3Rpb25zLCBNYXREaWFsb2dDbG9zZSwgTWF0RGlhbG9nQ29udGVudCwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0TGlzdCwgTWF0TGlzdEl0ZW0gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBVcGxvYWRTdGF0dXMgfSBmcm9tICcuLi8uLi9tb2RlbC91cGxvYWQtc3RhdHVzJztcclxuaW1wb3J0IHsgVXBsb2FkU2VydmljZSB9IGZyb20gJy4vLi4vLi4vc2VydmljZXMvdXBsb2FkLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQXN5bmNQaXBlLFxyXG4gICAgTWF0QnV0dG9uLFxyXG4gICAgTWF0RGlhbG9nQWN0aW9ucyxcclxuICAgIE1hdERpYWxvZ0Nsb3NlLFxyXG4gICAgTWF0RGlhbG9nQ29udGVudCxcclxuICAgIE1hdExpc3QsXHJcbiAgICBNYXRMaXN0SXRlbSxcclxuICAgIE1hdFByb2dyZXNzQmFyXHJcbiAgXSxcclxuICBzdHlsZVVybDogJy4vdXBsb2FkLWRpYWxvZy5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFVwbG9hZERpYWxvZ0NvbXBvbmVudCB7XHJcbiAgc2VydmljZXMgPSB7XHJcbiAgICBkaWFsb2dSZWY6IGluamVjdChNYXREaWFsb2dSZWY8VXBsb2FkRGlhbG9nQ29tcG9uZW50PiksXHJcbiAgICB1cGxvYWQ6IGluamVjdChVcGxvYWRTZXJ2aWNlKVxyXG4gIH07XHJcblxyXG4gIGZpbGUgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZj4oJ2ZpbGUnKTtcclxuXHJcbiAgZmlsZXM6IFNldDxGaWxlPiA9IG5ldyBTZXQoKTtcclxuICBleGlzdGluZ0ZpbGVDb25mbGljdD86IHN0cmluZztcclxuXHJcbiAgLy8gU3RhdGVcclxuICBwcm9ncmVzcz86IFVwbG9hZFN0YXR1cztcclxuICBjYW5CZUNsb3NlZCA9IHRydWU7XHJcbiAgcHJpbWFyeUJ1dHRvblRleHQgPSB0aGlzLnNlcnZpY2VzLnVwbG9hZC5vcHRpb25zLnVwbG9hZERpYWxvZ1VwbG9hZEJ1dHRvblRleHQ7XHJcbiAgc2hvd0NhbmNlbEJ1dHRvbiA9IHRydWU7XHJcbiAgdXBsb2FkaW5nID0gZmFsc2U7XHJcbiAgdXBsb2FkU3VjY2Vzc2Z1bCA9IGZhbHNlO1xyXG5cclxuICBhZGRGaWxlcygpIHtcclxuICAgIHRoaXMuZmlsZSgpLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcclxuICB9XHJcblxyXG4gIG9uRmlsZXNBZGRlZCgpIHtcclxuICAgIGNvbnN0IGZpbGVzOiB7IFtrZXk6IHN0cmluZ106IEZpbGUgfSA9IHRoaXMuZmlsZSgpLm5hdGl2ZUVsZW1lbnQuZmlsZXM7XHJcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBmaWxlcykge1xyXG4gICAgICBpZiAoIWlzTmFOKHBhcnNlSW50KGtleSkpKSB7XHJcbiAgICAgICAgLy8gU2VlIGlmIHRoZSBmaWxlIGFscmVhZHkgZXhpc3RzXHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlcy51cGxvYWQuZXhpc3RzKGZpbGVzW2tleV0ubmFtZSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUoZXhpc3RzID0+IHtcclxuICAgICAgICAgICAgaWYgKGV4aXN0cykge1xyXG4gICAgICAgICAgICAgIHRoaXMuZXhpc3RpbmdGaWxlQ29uZmxpY3QgPSBmaWxlc1trZXldLm5hbWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICghZXhpc3RzKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5maWxlcy5hZGQoZmlsZXNba2V5XSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZURpYWxvZygpIHtcclxuICAgIC8vIGlmIGV2ZXJ5dGhpbmcgd2FzIHVwbG9hZGVkIGFscmVhZHksIGp1c3QgY2xvc2UgdGhlIGRpYWxvZ1xyXG4gICAgaWYgKHRoaXMudXBsb2FkU3VjY2Vzc2Z1bCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBzZXQgdGhlIGNvbXBvbmVudCBzdGF0ZSB0byBcInVwbG9hZGluZ1wiXHJcbiAgICB0aGlzLnVwbG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgLy8gc3RhcnQgdGhlIHVwbG9hZCBhbmQgc2F2ZSB0aGUgcHJvZ3Jlc3MgbWFwXHJcbiAgICB0aGlzLnByb2dyZXNzID0gdGhpcy5zZXJ2aWNlcy51cGxvYWQudXBsb2FkKHRoaXMuZmlsZXMpO1xyXG5cclxuICAgIC8vIGNvbnZlcnQgdGhlIHByb2dyZXNzIG1hcCBpbnRvIGFuIGFycmF5XHJcbiAgICBjb25zdCBhbGxQcm9ncmVzc09ic2VydmFibGVzJDogT2JzZXJ2YWJsZTxudW1iZXI+W10gPSBbXTtcclxuXHJcbiAgICBmb3IgKGxldCBrZXkgaW4gdGhpcy5wcm9ncmVzcykge1xyXG4gICAgICBhbGxQcm9ncmVzc09ic2VydmFibGVzJC5wdXNoKHRoaXMucHJvZ3Jlc3Nba2V5XS5wcm9ncmVzcyk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQWRqdXN0IHRoZSBzdGF0ZSB2YXJpYWJsZXNcclxuXHJcbiAgICAvLyBUaGUgT0stYnV0dG9uIHNob3VsZCBoYXZlIHRoZSB0ZXh0IFwiRmluaXNoXCIgbm93XHJcbiAgICB0aGlzLnByaW1hcnlCdXR0b25UZXh0ID0gdGhpcy5zZXJ2aWNlcy51cGxvYWQub3B0aW9ucy51cGxvYWREaWFsb2dGaW5pc2hCdXR0b25UZXh0O1xyXG5cclxuICAgIC8vIFRoZSBkaWFsb2cgc2hvdWxkIG5vdCBiZSBjbG9zZWQgd2hpbGUgdXBsb2FkaW5nXHJcbiAgICB0aGlzLmNhbkJlQ2xvc2VkID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlcnZpY2VzLmRpYWxvZ1JlZi5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xyXG5cclxuICAgIC8vIEhpZGUgdGhlIGNhbmNlbC1idXR0b25cclxuICAgIHRoaXMuc2hvd0NhbmNlbEJ1dHRvbiA9IGZhbHNlO1xyXG5cclxuICAgIC8vIFdoZW4gYWxsIHByb2dyZXNzLW9ic2VydmFibGVzIGFyZSBjb21wbGV0ZWQuLi5cclxuICAgIGZvcmtKb2luKGFsbFByb2dyZXNzT2JzZXJ2YWJsZXMkKVxyXG4gICAgLnN1YnNjcmliZSh7XHJcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgICAgLy8gLi4uIHRoZSBkaWFsb2cgY2FuIGJlIGNsb3NlZCBhZ2Fpbi4uLlxyXG4gICAgICAgIHRoaXMuY2FuQmVDbG9zZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2VydmljZXMuZGlhbG9nUmVmLmRpc2FibGVDbG9zZSA9IGZhbHNlO1xyXG4gICAgXHJcbiAgICAgICAgLy8gLi4uIHRoZSB1cGxvYWQgd2FzIHN1Y2Nlc3NmdWwuLi5cclxuICAgICAgICB0aGlzLnVwbG9hZFN1Y2Nlc3NmdWwgPSB0cnVlO1xyXG4gICAgXHJcbiAgICAgICAgLy8gLi4uIGFuZCB0aGUgY29tcG9uZW50IGlzIG5vIGxvbmdlciB1cGxvYWRpbmdcclxuICAgICAgICB0aGlzLnVwbG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICAgICAgICBjb25zb2xlLmxvZygnVXBsb2FkIGNvbXBsZXRlJywgdGhpcy5maWxlcyk7XHJcblxyXG4gICAgICAgIHRoaXMuc2VydmljZXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8aW5wdXQgdHlwZT1cImZpbGVcIiAjZmlsZSBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIiAoY2hhbmdlKT1cIm9uRmlsZXNBZGRlZCgpXCIgbXVsdGlwbGUgLz5cclxuXHJcbjxkaXYgbWF0LWRpYWxvZy10aXRsZSBpZD1cInRpdGxlXCI+XHJcbiAgPGRpdj57eyBzZXJ2aWNlcy51cGxvYWQub3B0aW9ucy51cGxvYWREaWFsb2dUaXRsZSB9fTwvZGl2PlxyXG4gIDxidXR0b24gW2Rpc2FibGVkXT1cInVwbG9hZGluZyB8fCB1cGxvYWRTdWNjZXNzZnVsXCIgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgY2xhc3M9XCJhZGQtZmlsZXMtYnRuXCIgKGNsaWNrKT1cImFkZEZpbGVzKClcIj5cclxuICAgIHt7IHNlcnZpY2VzLnVwbG9hZC5vcHRpb25zLnVwbG9hZERpYWxvZ0FkZEZpbGVzQnV0dG9uVGV4dCB9fVxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuXHJcbkBpZiAoZXhpc3RpbmdGaWxlQ29uZmxpY3QpIHtcclxuICA8ZGl2IGlkPVwiY29uZmxpY3RcIj5cclxuICAgIHt7IGV4aXN0aW5nRmlsZUNvbmZsaWN0IH19IGFscmVhZHkgZXhpc3RzIG9uIHRoZSBzZXJ2ZXIgYW5kIGNhbm5vdCBiZSBvdmVyd3JpdHRlblxyXG4gIDwvZGl2PlxyXG59XHJcblxyXG48bWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIDxtYXQtbGlzdD5cclxuICAgIEBmb3IgKGZpbGUgb2YgZmlsZXM7IHRyYWNrIGZpbGUpIHtcclxuICAgICAgPG1hdC1saXN0LWl0ZW0+XHJcbiAgICAgICAgPGg0IG1hdC1saW5lPnt7ZmlsZS5uYW1lfX08L2g0PlxyXG4gICAgICAgIEBpZiAocHJvZ3Jlc3MpIHtcclxuICAgICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJkZXRlcm1pbmF0ZVwiIFt2YWx1ZV09XCJwcm9ncmVzc1tmaWxlLm5hbWVdLnByb2dyZXNzIHwgYXN5bmNcIi8+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICB9XHJcbiAgPC9tYXQtbGlzdD5cclxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XHJcblxyXG48bWF0LWRpYWxvZy1hY3Rpb25zIGlkPVwiYWN0aW9uc1wiPlxyXG4gIEBpZiAoc2hvd0NhbmNlbEJ1dHRvbikge1xyXG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIG1hdC1kaWFsb2ctY2xvc2U+e3sgc2VydmljZXMudXBsb2FkLm9wdGlvbnMudXBsb2FkRGlhbG9nQ2FuY2VsQnV0dG9uVGV4dCB9fTwvYnV0dG9uPlxyXG4gIH1cclxuICBAaWYgKGZpbGVzLnNpemUgPiAwKSB7XHJcbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhY2FuQmVDbG9zZWRcIiAoY2xpY2spPVwiY2xvc2VEaWFsb2coKVwiPnt7IHByaW1hcnlCdXR0b25UZXh0IH19PC9idXR0b24+XHJcbiAgfVxyXG48L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuIl19
@@ -89,10 +89,10 @@ export class UploadService extends NgxLibServiceBase {
89
89
  getUploadInfo(request) {
90
90
  return this.#http.post(`${this.apiUrl}${this.options.databaseEndpoint}/info`, request);
91
91
  }
92
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UploadService, deps: [{ token: UploadServiceOptionsToken, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
93
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UploadService, providedIn: 'root' }); }
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: UploadService, deps: [{ token: UploadServiceOptionsToken, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
93
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: UploadService, providedIn: 'root' }); }
94
94
  }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UploadService, decorators: [{
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: UploadService, decorators: [{
96
96
  type: Injectable,
97
97
  args: [{
98
98
  providedIn: 'root'
@@ -25,8 +25,8 @@ export class UploadModule {
25
25
  throw new Error('UploadModule is already loaded. Import it in the AppModule only');
26
26
  }
27
27
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UploadModule, deps: [{ token: UploadModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
29
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: UploadModule, imports: [CommonModule,
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: UploadModule, deps: [{ token: UploadModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
29
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: UploadModule, imports: [CommonModule,
30
30
  MatButtonModule,
31
31
  MatDialogModule,
32
32
  MatListModule,
@@ -34,7 +34,7 @@ export class UploadModule {
34
34
  UploadComponent,
35
35
  UploadDialogComponent], exports: [UploadComponent,
36
36
  UploadDialogComponent] }); }
37
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UploadModule, imports: [CommonModule,
37
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: UploadModule, imports: [CommonModule,
38
38
  MatButtonModule,
39
39
  MatDialogModule,
40
40
  MatListModule,
@@ -42,7 +42,7 @@ export class UploadModule {
42
42
  UploadComponent,
43
43
  UploadDialogComponent] }); }
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UploadModule, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: UploadModule, decorators: [{
46
46
  type: NgModule,
47
47
  args: [{
48
48
  declarations: [],
@@ -6,14 +6,14 @@ export class SafeResourceUrlPipe {
6
6
  transform(value) {
7
7
  return this.#domSanitizer.bypassSecurityTrustResourceUrl(value);
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: SafeResourceUrlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
10
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: SafeResourceUrlPipe, isStandalone: true, name: "safeResourceUrl" }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SafeResourceUrlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
10
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: SafeResourceUrlPipe, isStandalone: true, name: "safeResourceUrl" }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: SafeResourceUrlPipe, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SafeResourceUrlPipe, decorators: [{
13
13
  type: Pipe,
14
14
  args: [{
15
15
  name: 'safeResourceUrl',
16
16
  standalone: true
17
17
  }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1yZXNvdXJjZS11cmwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3VybC11dGlsaXRpZXMvc3JjL3BpcGVzL3NhZmUtcmVzb3VyY2UtdXJsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQVcsTUFBTSwyQkFBMkIsQ0FBQzs7QUFNbEUsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixhQUFhLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRXJDLFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRSxDQUFDOzhHQUxVLG1CQUFtQjs0R0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUovQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxpQkFBaUI7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3NhZmVSZXNvdXJjZVVybCcsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgU2FmZVJlc291cmNlVXJsUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAjZG9tU2FuaXRpemVyID0gaW5qZWN0KERvbVNhbml0aXplcik7XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpOiBTYWZlVXJsIHtcbiAgICByZXR1cm4gdGhpcy4jZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1yZXNvdXJjZS11cmwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3VybC11dGlsaXRpZXMvc3JjL3BpcGVzL3NhZmUtcmVzb3VyY2UtdXJsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQVcsTUFBTSwyQkFBMkIsQ0FBQzs7QUFNbEUsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixhQUFhLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRXJDLFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRSxDQUFDOzhHQUxVLG1CQUFtQjs0R0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUovQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxpQkFBaUI7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnc2FmZVJlc291cmNlVXJsJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWZlUmVzb3VyY2VVcmxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgI2RvbVNhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xyXG5cclxuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyk6IFNhZmVVcmwge1xyXG4gICAgcmV0dXJuIHRoaXMuI2RvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodmFsdWUpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -6,14 +6,14 @@ export class SafeUrlPipe {
6
6
  transform(value) {
7
7
  return this.#domSanitizer.bypassSecurityTrustUrl(value);
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: SafeUrlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
10
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: SafeUrlPipe, isStandalone: true, name: "safeUrl" }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SafeUrlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
10
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: SafeUrlPipe, isStandalone: true, name: "safeUrl" }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: SafeUrlPipe, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SafeUrlPipe, decorators: [{
13
13
  type: Pipe,
14
14
  args: [{
15
15
  name: 'safeUrl',
16
16
  standalone: true
17
17
  }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS11cmwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3VybC11dGlsaXRpZXMvc3JjL3BpcGVzL3NhZmUtdXJsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQVcsTUFBTSwyQkFBMkIsQ0FBQzs7QUFNbEUsTUFBTSxPQUFPLFdBQVc7SUFDdEIsYUFBYSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUVyQyxTQUFTLENBQUMsS0FBYTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQzs4R0FMVSxXQUFXOzRHQUFYLFdBQVc7OzJGQUFYLFdBQVc7a0JBSnZCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFNBQVM7b0JBQ2YsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQFBpcGUoe1xuICBuYW1lOiAnc2FmZVVybCcsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgU2FmZVVybFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgI2RvbVNhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuXG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKTogU2FmZVVybCB7XG4gICAgcmV0dXJuIHRoaXMuI2RvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKHZhbHVlKTtcbiAgfVxufSJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS11cmwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3VybC11dGlsaXRpZXMvc3JjL3BpcGVzL3NhZmUtdXJsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQVcsTUFBTSwyQkFBMkIsQ0FBQzs7QUFNbEUsTUFBTSxPQUFPLFdBQVc7SUFDdEIsYUFBYSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUVyQyxTQUFTLENBQUMsS0FBYTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQzs4R0FMVSxXQUFXOzRHQUFYLFdBQVc7OzJGQUFYLFdBQVc7a0JBSnZCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFNBQVM7b0JBQ2YsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdzYWZlVXJsJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWZlVXJsUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICNkb21TYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpOiBTYWZlVXJsIHtcclxuICAgIHJldHVybiB0aGlzLiNkb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybCh2YWx1ZSk7XHJcbiAgfVxyXG59Il19