@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.
- package/README.md +5 -5
- package/esm2022/active-directory/active-directory.module.mjs +4 -4
- package/esm2022/active-directory/material/components/user-chooser/user-chooser.component.mjs +5 -5
- package/esm2022/active-directory/material/components/user-form-field/user-form-field.component.mjs +5 -5
- package/esm2022/active-directory/material/mat-active-directory.module.mjs +5 -5
- package/esm2022/active-directory/services/active-directory.service.mjs +3 -3
- package/esm2022/authentication/authentication.base.module.mjs +4 -4
- package/esm2022/authentication/material/components/login/login.component.mjs +5 -5
- package/esm2022/authentication/material/components/login-form/login-form.component.mjs +5 -5
- package/esm2022/authentication/material/mat-authentication.module.mjs +4 -4
- package/esm2022/authentication/material/services/mat-authentication.service.mjs +3 -3
- package/esm2022/authentication/object/authentication-object.module.mjs +4 -4
- package/esm2022/authentication/object/services/authentication-object.service.mjs +3 -3
- package/esm2022/authentication/token/authetiction-token.module.mjs +4 -4
- package/esm2022/authentication/token/services/authentication-token.service.mjs +3 -3
- package/esm2022/dialog/components/base/base.component.mjs +5 -5
- package/esm2022/dialog/components/choice/choice.component.mjs +5 -5
- package/esm2022/dialog/components/confirmation/confirmation.component.mjs +5 -5
- package/esm2022/dialog/components/input/input.component.mjs +5 -5
- package/esm2022/dialog/components/message/message.component.mjs +5 -5
- package/esm2022/dialog/dialog.module.mjs +5 -5
- package/esm2022/lib/ngx-lib.module.mjs +4 -4
- package/esm2022/lib/services/app-path-config.service.mjs +3 -3
- package/esm2022/msgraph/msgraph.module.mjs +5 -5
- package/esm2022/quill/components/editor/editor.component.mjs +6 -6
- package/esm2022/quill/components/raw/raw.component.mjs +5 -5
- package/esm2022/quill/mention/components/editor/editor.component.mjs +6 -18
- package/esm2022/quill/mention/quill-mention.module.mjs +4 -4
- package/esm2022/quill/quill.module.mjs +4 -4
- package/esm2022/sharepoint/components/user-photo/user-photo.component.mjs +3 -3
- package/esm2022/sharepoint/pipes/user-photo-url.pipe.mjs +4 -4
- package/esm2022/sharepoint/services/sharepoint.service.mjs +3 -3
- package/esm2022/sharepoint/sharepoint.module.mjs +4 -4
- package/esm2022/table/components/table/table.component.mjs +15 -6
- package/esm2022/table/model/table-column.mjs +1 -1
- package/esm2022/table/pipes/decimalPoints.mjs +14 -0
- package/esm2022/table/pipes/roundNumber.mjs +14 -0
- package/esm2022/table/table.api.mjs +3 -1
- package/esm2022/table/table.module.mjs +18 -8
- package/esm2022/upload/components/upload/upload.component.mjs +3 -3
- package/esm2022/upload/components/upload-dialog/upload-dialog.component.mjs +5 -5
- package/esm2022/upload/services/upload.service.mjs +3 -3
- package/esm2022/upload/upload.module.mjs +4 -4
- package/esm2022/url-utilities/pipes/safe-resource-url.pipe.mjs +4 -4
- package/esm2022/url-utilities/pipes/safe-url.pipe.mjs +4 -4
- package/esm2022/url-utilities/pipes/uri-scheme.pipe.mjs +4 -4
- package/esm2022/url-utilities/url-utilities.module.mjs +5 -5
- package/fesm2022/cleavelandprice-ngx-lib-active-directory-material.mjs +12 -12
- package/fesm2022/cleavelandprice-ngx-lib-active-directory-material.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-active-directory.mjs +7 -7
- package/fesm2022/cleavelandprice-ngx-lib-authentication-material.mjs +15 -15
- package/fesm2022/cleavelandprice-ngx-lib-authentication-material.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-authentication-object.mjs +7 -7
- package/fesm2022/cleavelandprice-ngx-lib-authentication-token.mjs +7 -7
- package/fesm2022/cleavelandprice-ngx-lib-authentication.mjs +4 -4
- package/fesm2022/cleavelandprice-ngx-lib-dialog.mjs +24 -24
- package/fesm2022/cleavelandprice-ngx-lib-dialog.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-msgraph.mjs +4 -4
- package/fesm2022/cleavelandprice-ngx-lib-msgraph.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-quill-mention.mjs +9 -21
- package/fesm2022/cleavelandprice-ngx-lib-quill-mention.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-quill.mjs +13 -13
- package/fesm2022/cleavelandprice-ngx-lib-quill.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-sharepoint.mjs +13 -13
- package/fesm2022/cleavelandprice-ngx-lib-sharepoint.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-table.mjs +53 -14
- package/fesm2022/cleavelandprice-ngx-lib-table.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-upload.mjs +14 -14
- package/fesm2022/cleavelandprice-ngx-lib-upload.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-url-utilities.mjs +13 -13
- package/fesm2022/cleavelandprice-ngx-lib-url-utilities.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib.mjs +7 -7
- package/package.json +7 -7
- package/quill/mention/components/editor/editor.component.d.ts +0 -4
- package/table/components/table/table.component.d.ts +3 -1
- package/table/model/table-column.d.ts +5 -1
- package/table/pipes/decimalPoints.d.ts +7 -0
- package/table/pipes/roundNumber.d.ts +7 -0
- package/table/table.api.d.ts +2 -0
- 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.
|
|
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.
|
|
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
|
-
|
|
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/
|
|
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
|
-
|
|
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.
|
|
17
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
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
|
|
30
|
-
|
|
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.
|
|
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,
|
|
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.
|
|
19
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
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.
|
|
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.
|
|
83
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.
|
|
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.
|
|
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.
|
|
93
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
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.
|
|
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.
|
|
29
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
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.
|
|
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.
|
|
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.
|
|
10
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.
|
|
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.
|
|
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,
|
|
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.
|
|
10
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.
|
|
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.
|
|
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,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS11cmwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3VybC11dGlsaXRpZXMvc3JjL3BpcGVzL3NhZmUtdXJsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQVcsTUFBTSwyQkFBMkIsQ0FBQzs7QUFNbEUsTUFBTSxPQUFPLFdBQVc7SUFDdEIsYUFBYSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUVyQyxTQUFTLENBQUMsS0FBYTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQzs4R0FMVSxXQUFXOzRHQUFYLFdBQVc7OzJGQUFYLFdBQVc7a0JBSnZCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFNBQVM7b0JBQ2YsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdzYWZlVXJsJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWZlVXJsUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICNkb21TYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpOiBTYWZlVXJsIHtcclxuICAgIHJldHVybiB0aGlzLiNkb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybCh2YWx1ZSk7XHJcbiAgfVxyXG59Il19
|