nuxeo-development-framework 1.9.3 → 1.9.5
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/bundles/nuxeo-development-framework.umd.js +27 -15
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +19 -7
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +4 -4
- package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +2 -2
- package/esm2015/lib/components/table/table/table.component.js +12 -11
- package/esm2015/lib/components/table/table.module.js +5 -4
- package/esm2015/lib/shared/components/spinner/spinner.component.js +1 -1
- package/fesm2015/nuxeo-development-framework.js +27 -15
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.d.ts +2 -1
- package/lib/components/table/table.module.d.ts +2 -1
- package/package.json +1 -1
|
@@ -4,15 +4,16 @@ import * as i1 from "../../../Core/services/nuxeo/nuxeo.service";
|
|
|
4
4
|
import * as i2 from "../../../configuration/app-config.service";
|
|
5
5
|
import * as i3 from "../../../Core/services/translation/translation.service";
|
|
6
6
|
import * as i4 from "@swimlane/ngx-datatable";
|
|
7
|
-
import * as i5 from "
|
|
8
|
-
import * as i6 from "../../dynamic-view/
|
|
9
|
-
import * as i7 from "../../dynamic-view/
|
|
10
|
-
import * as i8 from "
|
|
11
|
-
import * as i9 from "
|
|
12
|
-
import * as i10 from "
|
|
13
|
-
import * as i11 from "
|
|
14
|
-
import * as i12 from "@
|
|
15
|
-
import * as i13 from "
|
|
7
|
+
import * as i5 from "@angular/material/checkbox";
|
|
8
|
+
import * as i6 from "../../dynamic-view/dropdown-viewer/dropdown-viewer.component";
|
|
9
|
+
import * as i7 from "../../dynamic-view/department-viewer/department-viewer.component";
|
|
10
|
+
import * as i8 from "../../dynamic-view/date-viewer/date-viewer.component";
|
|
11
|
+
import * as i9 from "../dynamic-column/dynamic-column.component";
|
|
12
|
+
import * as i10 from "@angular/common";
|
|
13
|
+
import * as i11 from "../../../directive/permissions/permissions.directive";
|
|
14
|
+
import * as i12 from "@angular/material/tooltip";
|
|
15
|
+
import * as i13 from "@ngx-translate/core";
|
|
16
|
+
import * as i14 from "../../../pipes/localized-date.pipe";
|
|
16
17
|
/**
|
|
17
18
|
* this component is a multi-purpose dynamically generated dumb data table that can be configured to show any list of data,
|
|
18
19
|
* for more information on configuring the table
|
|
@@ -166,7 +167,7 @@ export class TableComponent {
|
|
|
166
167
|
}
|
|
167
168
|
}
|
|
168
169
|
TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: TableComponent, deps: [{ token: i1.NuxeoService }, { token: i2.AppConfigService }, { token: i3.TranslationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
169
|
-
TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: TableComponent, selector: "cts-table", inputs: { rows: "rows", columns: "columns", responsiveColumns: "responsiveColumns", entityType: "entityType", prefix: "prefix", pageCount: "pageCount", totalRecords: "totalRecords", rowCursor: "rowCursor", fullWidth: "fullWidth", vocItemTranslationPrefix: "vocItemTranslationPrefix", tableMode: "tableMode", tableActions: "tableActions", format: "format", defultSort: "defultSort", highlightSelectedCard: "highlightSelectedCard", multiSelectRows: "multiSelectRows" }, outputs: { onRowSelected: "onRowSelected", onRowIndexSelected: "onRowIndexSelected", onIconSelected: "onIconSelected", actionOnRow: "actionOnRow", onSorting: "onSorting", onMultiRowSelected: "onMultiRowSelected" }, ngImport: i0, template: "<div [style]=\"'width:' + tableWidth\" *ngIf=\"tableMode === 'list'\">\r\n <ngx-datatable\r\n class=\"large-table\"\r\n [rows]=\"rows\"\r\n [columnMode]=\"'force'\"\r\n [externalSorting]=\"true\"\r\n (activate)=\"rowDetails($event)\"\r\n (select)=\"onSelect($event)\"\r\n (sort)=\"onSort($event)\"\r\n (window:resize)=\"assignTableColumns($event)\"\r\n [rowHeight]=\"'auto'\"\r\n [selected]=\"selected\"\r\n [selectionType]=\"multiSelectRows ? 'checkbox' : 'single'\"\r\n [sorts]=\"[{ prop: defultSort?.name, dir: defultSort?.dir }]\"\r\n >\r\n\r\n <ngx-datatable-column\r\n *ngIf=\"multiSelectRows\"\r\n [width]=\"30\"\r\n [sortable]=\"false\"\r\n [prop]=\"''\"\r\n [canAutoResize]=\"false\"\r\n [draggable]=\"false\"\r\n [resizeable]=\"false\"\r\n>\r\n <ng-template\r\n ngx-datatable-header-template\r\n let-value=\"value\"\r\n let-allRowsSelected=\"allRowsSelected\"\r\n let-selectFn=\"selectFn\"\r\n >\r\n <input class=\"checkbox-input\" type=\"checkbox\" [checked]=\"allRowsSelected\" (change)=\"selectFn(!allRowsSelected)\" />\r\n </ng-template>\r\n <ng-template\r\n ngx-datatable-cell-template\r\n let-value=\"value\"\r\n let-isSelected=\"isSelected\"\r\n let-onCheckboxChangeFn=\"onCheckboxChangeFn\"\r\n >\r\n <input class=\"checkbox-input\" type=\"checkbox\" [checked]=\"isSelected\" (change)=\"onCheckboxChangeFn($event)\" />\r\n </ng-template>\r\n</ngx-datatable-column>\r\n <!-- | translate -->\r\n <ng-container *ngFor=\"let column of tableColumns; let i = index\">\r\n <ng-container *permission=\"{name: column.permission}\">\r\n <ngx-datatable-column\r\n *ngIf=\"column.display\"\r\n [sortable]=\"column.sortable\"\r\n [name]=\"prefix + column.name | translate\"\r\n [prop]=\"column.prop\"\r\n [resizeable]=\"false\"\r\n [draggable]=\"false\"\r\n [maxWidth]=\"column.size\"\r\n [headerClass]=\"column.headerClass ? column.headerClass : ''\"\r\n >\r\n <ng-template\r\n let-row=\"row\"\r\n let-value=\"value\"\r\n let-index=\"index\"\r\n ngx-datatable-cell-template\r\n >\r\n <ng-container *ngIf=\"column.type === 'text'\">\r\n <div class=\"cell-text-wrapper\">\r\n {{ value ? value : \"--\" }}\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'vocabulary'\">\r\n <div class=\"cell-text-wrapper\">\r\n <cts-dropdown-viewer\r\n [withOutLabel]=\"true\"\r\n [value]=\"value\"\r\n [dropdownId]=\"column.vocabularyId\"\r\n ></cts-dropdown-viewer>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'VocCell'\">\r\n <div class=\"cell-text-wrapper\">\r\n {{ (value ? column.vocabularyId + '.' + value : \"--\") | translate }}\r\n </div>\r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"column.type === 'VocItem'\">\r\n <div class=\"cell-text-wrapper\">\r\n {{ vocItemTranslationPrefix + value | translate }}\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"column.type === 'department'\">\r\n <div class=\"cell-text-wrapper\">\r\n <cts-department-viewer\r\n [noStyle]=\"true\"\r\n [value]=\"value\"\r\n >\r\n </cts-department-viewer>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'status'\">\r\n <div class=\"status-wrapper\">\r\n <span class=\"value {{ value }}\">{{\r\n \"STATS.\" + value | translate\r\n }}</span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'role'\">\r\n <div class=\"cell-text-wrapper\">\r\n {{ \"role.\" + (value ? value : \"--\") | translate }}\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'direction'\">\r\n <div\r\n (click)=\"iconSelected($event, row)\"\r\n class=\"status-wrapper {{ value }} {{ row.state }}\"\r\n >\r\n <span class=\"iner-status-wrapper\" matTooltip=\"{{ 'STATS.' + row.state | translate }}\">\r\n <ng-container *permission=\"{ name: 'isFavorite', entity: row }\" >\r\n <span class=\"fav-icon-indicator bi bi-star-fill\"></span>\r\n </ng-container>\r\n <i\r\n class=\"bi bi-box-arrow-down\"\r\n *ngIf=\"row.type === 'IncomingCorrespondence'\"\r\n ></i>\r\n <i\r\n class=\"bi bi-box-arrow-up outgoing\"\r\n *ngIf=\"row.type === 'OutgoingCorrespondence'\"\r\n ></i>\r\n <i\r\n class=\"bi bi-box-arrow-right internal\"\r\n *ngIf=\"row.type === 'InternalCorrespondence'\"\r\n ></i>\r\n </span>\r\n <!-- <span class=\"value {{ value }}\">{{ \"STATS.\" + value | translate }}</span> -->\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'actions' && rows.length !== 0\">\r\n <div [ngClass]=\"disabledActions ? 'disabled-actions-wrapper' : 'actions-wrapper'\">\r\n <!-- <span class=\"bi bi-trash delete-icon\" (click)=\"performAction(row , 'delete')\"></span> -->\r\n <i\r\n class=\"bi bi-pencil-square edit-icon\"\r\n matTooltip=\"{{ 'UPDATE' | translate }}\"\r\n (click)=\"performAction(row, 'edit')\"\r\n *ngIf=\"entityType === 'voc-table'\"\r\n ></i>\r\n <i\r\n class=\"bi bi-trash\"\r\n matTooltip=\"{{ 'delete' | translate }}\"\r\n (click)=\"performAction(row, 'delete')\"\r\n *ngIf=\"\r\n entityType === 'voc-table' || entityType === 'department' ||\r\n entityType === 'signers'\r\n \"\r\n ></i>\r\n\r\n <i\r\n class=\"bi bi-plus-square\"\r\n matTooltip=\"{{ 'USER_MANGMENT.addToDepartment' | translate }}\"\r\n (click)=\"performAction(row, 'delete')\"\r\n *ngIf=\"entityType === 'users' && row.isInitial\"\r\n ></i>\r\n \r\n <span *ngFor=\"let action of column.actions\">\r\n <i\r\n *permission=\"{ name: action.permission, entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n class=\"{{ action.icon }}\"\r\n matTooltip=\"{{ action.tooltip | translate }}\"\r\n (click)=\"performAction(row, action.actionName)\"\r\n ></i>\r\n </span>\r\n\r\n <!-- <i\r\n *permission=\"{ name: 'registerCorrespondance', entity: row }\"\r\n class=\"bi bi-box-arrow-in-right\"\r\n matTooltip=\"{{ 'LISTING.REGISTER' | translate }}\"\r\n (click)=\"performAction(row, 'register')\"\r\n ></i>\r\n <i\r\n *permission=\"{ name: 'sendCorrespondance', entity: row }\"\r\n class=\"bi bi-envelope\"\r\n matTooltip=\"{{ 'LISTING.SEND' | translate }}\"\r\n (click)=\"performAction(row, 'send')\"\r\n ></i>\r\n <i\r\n *permission=\"{ name: 'closeCorrespondance', entity: row }\"\r\n class=\"bi bi-x-circle\"\r\n matTooltip=\"{{ 'LISTING.CLOSE' | translate }}\"\r\n (click)=\"performAction(row, 'close')\"\r\n ></i>\r\n <i\r\n *permission=\"{ name: 'archiveCorrespondance', entity: row }\"\r\n class=\"bi bi-folder-symlink\"\r\n matTooltip=\"{{ 'LISTING.ARCHIVE' | translate }}\"\r\n (click)=\"performAction(row, 'archive')\"\r\n ></i> -->\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'date'\">\r\n <div class=\"cell-text-wrapper\">\r\n <cts-date-viewer\r\n [withOutLabel]=\"true\"\r\n [value]=\"value\"\r\n ></cts-date-viewer>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"column.type === 'custom'\">\r\n <cts-dynamic-column\r\n [id]=\"column.template\"\r\n [column]=\"column\"\r\n [context]=\"row\"\r\n >\r\n </cts-dynamic-column>\r\n </ng-container>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n </ng-container>\r\n </ng-container>\r\n </ngx-datatable>\r\n</div>\r\n\r\n<div *ngIf=\"tableMode === 'card'\">\r\n <div class=\"cards-container\">\r\n <div class=\"single-card\" *ngFor=\"let row of rows; let i = index\">\r\n <div class=\"memo-title\">\r\n <span>\r\n {{ row.properties.referenceNumber }}\r\n </span>\r\n <span class=\"action-wrap\">\r\n <span class=\"action\" *ngFor=\"let action of tableActions\">\r\n <i\r\n *permission=\"{ name: action.permission, entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n class=\"{{ action.icon }}\"\r\n matTooltip=\"{{ action.tooltip | translate }}\"\r\n (click)=\"performAction(row, action.actionName)\"\r\n ></i>\r\n </span>\r\n <button\r\n *permission=\"{ name: 'deleteMemo', entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n (click)=\"performAction(row, 'deleteMemo')\"\r\n >\r\n <i\r\n class=\"bi bi-trash\"\r\n matTooltip=\"{{ 'LISTING.ONLY_DELETE' | translate }}\"\r\n ></i>\r\n </button>\r\n <button\r\n *permission=\"{ name: 'terminateDelegation', entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n (click)=\"performAction(row, 'terminateDelegation')\"\r\n >\r\n <i\r\n class=\"bi bi-trash\"\r\n matTooltip=\"{{ 'LISTING.CANCEL' | translate }}\"\r\n ></i>\r\n </button>\r\n <span\r\n class=\"publish-state\"\r\n *permission=\"{ name: 'memoPublished', entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n >\r\n {{ \"MEMOS.PUBLISHED\" | translate }}\r\n </span>\r\n <span\r\n class=\"publish-state\"\r\n *permission=\"{ name: 'delegationFinished', entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n >\r\n {{ \"delegations.finished\" | translate }}\r\n </span>\r\n <span\r\n class=\"publish-state\"\r\n *permission=\"{ name: 'delegationActive', entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n >\r\n {{ \"delegations.active\" | translate }}\r\n </span>\r\n </span>\r\n </div>\r\n <div\r\n class=\"memo-body\"\r\n *ngFor=\"let property of columns\"\r\n (click)=\"cardSelected(row);cardFocused(i)\"\r\n >\r\n <div class=\"key\" *ngIf=\"property.type !== 'default'\">{{ prefix + property.key | translate }}</div>\r\n <ng-container *ngIf=\"property.type === 'default'\">\r\n <div class=\"key\" *permission=\"{ name: 'internalIsEnabled', entity: row , user: nuxeoService.nuxeoClient.user}\">\r\n {{ prefix + property.key | translate }}\r\n </div>\r\n </ng-container>\r\n <div class=\"value\">\r\n <div class=\"text\" *ngIf=\"property.type === 'text'\">\r\n {{ row.properties[property.value] }}\r\n </div>\r\n <div class=\"text\" *ngIf=\"property.type === 'user'\">\r\n {{ row.properties[property.value].fullName }}\r\n </div>\r\n <div class=\"text\" *ngIf=\"property.type === 'date'\">\r\n {{row.properties[property.value] | localizedDate:format:(isArabic? 'ar-AR' : 'en-US')}}\r\n <!-- <cts-date-viewer [withOutLabel]=\"true\" [value]=\"row.properties[property.value]\" ></cts-date-viewer> -->\r\n </div>\r\n <div class=\"text\" *ngIf=\"property.type === 'boolean'\">\r\n {{ (row.properties[property.value] ? 'Yes':'No') | translate }}\r\n </div>\r\n <ng-container *ngIf=\"property.type === 'default'\">\r\n <div class=\"text\" *permission=\"{ name: 'internalIsEnabled', entity: row , user: nuxeoService.nuxeoClient.user}\">\r\n {{ row.properties[property.value] }}\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"property.type === 'custom'\">\r\n <div class=\"text\" *ngFor=\"let item of row.properties[property.value]\">\r\n {{ item | translate }} {{\", \" }}\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"tableMode === 'dynamicCard'\">\r\n <div class=\"cards-container\">\r\n <div class=\"single-card\" [ngClass]=\"{'selected-card': highlightSelectedCard && row?.isSelected}\" *ngFor=\"let row of rows\">\r\n <div *ngIf=\"columns.length > 1\">\r\n <div\r\n class=\"memo-body\"\r\n *ngFor=\"let property of columns\"\r\n (click)=\"cardSelected(row)\"\r\n >\r\n <div class=\"key\">{{ prefix + property.key | translate }}</div>\r\n <div class=\"value\">\r\n <div class=\"text\" *ngIf=\"property.type === 'text'\">\r\n {{ row.properties[property.value] }}\r\n </div>\r\n <div class=\"text\" *ngIf=\"property.type === 'date'\">\r\n {{ row.properties[property.value] | localizedDate: \"MMMM d, y\" }}\r\n <!-- <cts-date-viewer [withOutLabel]=\"true\" [value]=\"row.properties[property.value]\" ></cts-date-viewer> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"iner-card-container {{entityType}}\" (click)=\"cardSelected(row)\" *ngIf=\"columns.length === 1\">\r\n <cts-dynamic-column\r\n [id]=\"columns[0].template\"\r\n [column]=\"columns[0]\"\r\n [context]=\"row\"\r\n >\r\n </cts-dynamic-column>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: ["@charset \"UTF-8\";.bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.ngx-datatable{border:1px solid #eef1f5;border-radius:5px}.ngx-datatable .datatable-header{font-weight:bold;width:100%!important;height:50px!important;background-color:#eef1f5;color:#9aa4ac;font-size:14px}.ngx-datatable .datatable-header .datatable-header-inner{width:100%!important;height:100%;padding:0 20px}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center{width:100%!important;display:flex;justify-content:space-between;align-items:center}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .sort-btn{margin:5px 5px 0;width:16px;height:16px}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .sort-btn:before{content:\"\\f127\";display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:normal!important;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-icon-up.sort-btn:before{content:\"\\f57b\";color:#000;font-size:16px}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-icon-down.sort-btn:before{content:\"\\f574\";color:#000;font-size:16px}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-header-cell-template-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center;white-space:pre-wrap}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-header-cell-template-wrap .datatable-header-cell-wrapper{display:flex}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-header-cell-template-wrap .datatable-header-cell-wrapper .datatable-header-cell-label{text-align:center}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-header-cell-template-wrap .checkbox-input{z-index:99}.ngx-datatable .datatable-body .empty-row{text-align:center}.ngx-datatable .datatable-body .datatable-scroll{width:100%!important}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper{height:50px;font-size:14px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row{width:100%!important;height:100%}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center{width:100%!important;display:flex;justify-content:space-between;padding:0 20px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell{min-height:50px;display:flex;align-items:center;overflow:hidden}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .datatable-body-cell-label{width:100%;display:flex;justify-content:center}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .datatable-body-cell-label .checkbox-input{z-index:99}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .datatable-body-cell-label .cell-text-wrapper{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 5px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .iner-status-wrapper{position:relative}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .iner-status-wrapper .fav-icon-indicator{font-size:12px;position:absolute;top:-5px;right:-10px;color:#ebb98e}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .value{display:flex;justify-content:center;align-items:center;border-radius:5px;width:100px;height:25px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .draft{background-color:#596973;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .inProgress{background-color:#3c3cf0;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .registered{background-color:#5a1496;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .archived{background-color:#fbb62c;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .closed{background-color:#00dca5;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .approved{background-color:#06a57e;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .assigned{background-color:#fd6670;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .sent{background-color:#3c3cf0;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .under_revision{background:#689be7;color:#e9f1fd}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .rejected{background-color:#fd6670;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.Incoming{color:#00dca5;font-size:30px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.Outgoing{color:#fbb62c;font-size:30px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.Internal{color:#3c3cf0;font-size:30px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.internal{color:#3c3cf0;font-size:30px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper{width:100%}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .bi{font-size:25px;cursor:pointer;color:#465573;margin:0 5px!important}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .bi:hover{color:#2e62df!important;font-size:26px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .disabled-actions-wrapper{width:100%}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .disabled-actions-wrapper .bi{font-size:25px;cursor:not-allowed;color:#465573;margin:0 5px!important;opacity:.7}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper:nth-child(even){background-color:#f4f6f8}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper:hover{background-color:#eef1f5}.cards-container{display:flex;flex-wrap:wrap;justify-content:center}.cards-container .single-card{padding:15px;border:1px solid rgba(180,186,198,.2);border-radius:3px;min-width:270px;width:24%;margin:0 5px 10px;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;cursor:pointer}.cards-container .single-card .memo-title{font-size:14px;font-weight:bold;color:#465573;border-bottom:1px solid lightgray;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}.cards-container .single-card .memo-title .action-wrap .action{margin:0 5px;cursor:pointer}.cards-container .single-card .memo-title .action-wrap .action i{font-size:16px}.cards-container .single-card .memo-title .action-wrap .action i:hover{color:#00f}.cards-container .single-card .memo-title .action-wrap .publish-state{font-size:12px;color:#00dca5;font-weight:bold}.cards-container .single-card .memo-title .action-wrap button{border:none;color:#465573;background-color:transparent}.cards-container .single-card .memo-title .action-wrap button i{font-size:16px}.cards-container .single-card .memo-title .action-wrap button i:hover{color:#00f}.cards-container .single-card .memo-body{display:flex;padding:0 10px}.cards-container .single-card .memo-body .key{width:50%;font-size:12px;color:#9aa4ac}.cards-container .single-card .memo-body .value{width:50%;font-size:12px}.cards-container .single-card .memo-body .value .text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cards-container .single-card:hover{background-color:#f6f7f8}.cards-container .single-card:focus{background-color:#f6f7f8}.cards-container .selected-card{background-color:#f6f7f8}.rtl .ngx-datatable .datatable-body .status-wrapper .fav-icon-indicator{left:-10px;top:15px!important;right:auto!important}\n"], components: [{ type: i4.DatatableComponent, selector: "ngx-datatable", inputs: ["selected", "scrollbarV", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "loadingIndicator", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "groupExpansionDefault", "selectAllRowsOnPage", "virtualization", "summaryRow", "summaryHeight", "summaryPosition", "rowIdentity", "rows", "groupedRows", "groupRowsBy", "columns", "limit", "count", "offset", "targetMarkerTemplate", "selectionType", "rowClass", "selectCheck", "displayCheck", "trackByProp", "treeFromRelation", "treeToRelation"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction"] }, { type: i5.DropdownViewerComponent, selector: "cts-dropdown-viewer", inputs: ["label", "value", "dropdownId", "vertical", "withOutLabel"] }, { type: i6.DepartmentViewerComponent, selector: "cts-department-viewer", inputs: ["label", "value", "dropdownId", "vertical", "withOutLabel", "noStyle"] }, { type: i7.DateViewerComponent, selector: "cts-date-viewer", inputs: ["label", "value", "vertical", "format", "hijri", "withOutLabel"] }, { type: i8.DynamicColumnComponent, selector: "cts-dynamic-column", inputs: ["id", "context", "column"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DataTableColumnDirective, selector: "ngx-datatable-column", inputs: ["name", "prop", "frozenLeft", "frozenRight", "flexGrow", "resizeable", "comparator", "pipe", "sortable", "draggable", "canAutoResize", "minWidth", "width", "maxWidth", "checkboxable", "headerCheckboxable", "headerClass", "cellClass", "isTreeColumn", "treeLevelIndent", "summaryFunc", "summaryTemplate", "cellTemplate", "headerTemplate", "treeToggleTemplate"] }, { type: i4.DataTableColumnHeaderDirective, selector: "[ngx-datatable-header-template]" }, { type: i4.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10.PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i11.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "translate": i12.TranslatePipe, "localizedDate": i13.LocalizedDatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
170
|
+
TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: TableComponent, selector: "cts-table", inputs: { rows: "rows", columns: "columns", responsiveColumns: "responsiveColumns", entityType: "entityType", prefix: "prefix", pageCount: "pageCount", totalRecords: "totalRecords", rowCursor: "rowCursor", fullWidth: "fullWidth", vocItemTranslationPrefix: "vocItemTranslationPrefix", tableMode: "tableMode", tableActions: "tableActions", format: "format", defultSort: "defultSort", highlightSelectedCard: "highlightSelectedCard", multiSelectRows: "multiSelectRows" }, outputs: { onRowSelected: "onRowSelected", onRowIndexSelected: "onRowIndexSelected", onIconSelected: "onIconSelected", actionOnRow: "actionOnRow", onSorting: "onSorting", onMultiRowSelected: "onMultiRowSelected" }, ngImport: i0, template: "<div [style]=\"'width:' + tableWidth\" *ngIf=\"tableMode === 'list'\">\r\n <ngx-datatable\r\n class=\"large-table\"\r\n [rows]=\"rows\"\r\n [columnMode]=\"'force'\"\r\n [externalSorting]=\"true\"\r\n (activate)=\"rowDetails($event)\"\r\n (select)=\"onSelect($event)\"\r\n (sort)=\"onSort($event)\"\r\n (window:resize)=\"assignTableColumns($event)\"\r\n [rowHeight]=\"'auto'\"\r\n [selected]=\"selected\"\r\n [selectionType]=\"multiSelectRows ? 'checkbox' : 'single'\"\r\n [sorts]=\"[{ prop: defultSort?.name, dir: defultSort?.dir }]\"\r\n >\r\n\r\n <ngx-datatable-column\r\n *ngIf=\"multiSelectRows\"\r\n [width]=\"30\"\r\n [sortable]=\"false\"\r\n [prop]=\"''\"\r\n [canAutoResize]=\"false\"\r\n [draggable]=\"false\"\r\n [resizeable]=\"false\"\r\n>\r\n <ng-template\r\n ngx-datatable-header-template\r\n let-value=\"value\"\r\n let-allRowsSelected=\"allRowsSelected\"\r\n let-selectFn=\"selectFn\"\r\n >\r\n <!-- <input class=\"checkbox-input\" type=\"checkbox\" [checked]=\"allRowsSelected\" (change)=\"selectFn(!allRowsSelected)\" /> -->\r\n <mat-checkbox color=\"primary\" [checked]=\"allRowsSelected\" (change)=\"selectFn(!allRowsSelected)\">\r\n </mat-checkbox>\r\n </ng-template>\r\n <ng-template\r\n ngx-datatable-cell-template\r\n let-value=\"value\"\r\n let-isSelected=\"isSelected\"\r\n let-onCheckboxChangeFn=\"onCheckboxChangeFn\"\r\n >\r\n <!-- <input class=\"checkbox-input\" type=\"checkbox\" [checked]=\"isSelected\" (change)=\"onCheckboxChangeFn($event)\" /> -->\r\n <mat-checkbox color=\"primary\" [checked]=\"isSelected\" (change)=\"onCheckboxChangeFn(!allRowsSelected)\">\r\n </mat-checkbox>\r\n </ng-template>\r\n</ngx-datatable-column>\r\n <!-- | translate -->\r\n <ng-container *ngFor=\"let column of tableColumns; let i = index\">\r\n <ng-container *permission=\"{name: column.permission}\">\r\n <ngx-datatable-column\r\n *ngIf=\"column.display\"\r\n [sortable]=\"column.sortable\"\r\n [name]=\"prefix + column.name | translate\"\r\n [prop]=\"column.prop\"\r\n [resizeable]=\"false\"\r\n [draggable]=\"false\"\r\n [maxWidth]=\"column.size\"\r\n [headerClass]=\"column.headerClass ? column.headerClass : ''\"\r\n >\r\n <ng-template\r\n let-row=\"row\"\r\n let-value=\"value\"\r\n let-index=\"index\"\r\n ngx-datatable-cell-template\r\n >\r\n <ng-container *ngIf=\"column.type === 'text'\">\r\n <div class=\"cell-text-wrapper\">\r\n {{ value ? value : \"--\" }}\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'vocabulary'\">\r\n <div class=\"cell-text-wrapper\">\r\n <cts-dropdown-viewer\r\n [withOutLabel]=\"true\"\r\n [value]=\"value\"\r\n [dropdownId]=\"column.vocabularyId\"\r\n ></cts-dropdown-viewer>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'VocCell'\">\r\n <div class=\"cell-text-wrapper\">\r\n {{ (value ? column.vocabularyId + '.' + value : \"--\") | translate }}\r\n </div>\r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"column.type === 'VocItem'\">\r\n <div class=\"cell-text-wrapper\">\r\n {{ vocItemTranslationPrefix + value | translate }}\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"column.type === 'department'\">\r\n <div class=\"cell-text-wrapper\">\r\n <cts-department-viewer\r\n [noStyle]=\"true\"\r\n [value]=\"value\"\r\n >\r\n </cts-department-viewer>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'status'\">\r\n <div class=\"status-wrapper\">\r\n <span class=\"value {{ value }}\">{{\r\n \"STATS.\" + value | translate\r\n }}</span>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'role'\">\r\n <div class=\"cell-text-wrapper\">\r\n {{ \"role.\" + (value ? value : \"--\") | translate }}\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'direction'\">\r\n <div\r\n (click)=\"iconSelected($event, row)\"\r\n class=\"status-wrapper {{ value }} {{ row.state }}\"\r\n >\r\n <span class=\"iner-status-wrapper\" matTooltip=\"{{ 'STATS.' + row.state | translate }}\">\r\n <ng-container *permission=\"{ name: 'isFavorite', entity: row }\" >\r\n <span class=\"fav-icon-indicator bi bi-star-fill\"></span>\r\n </ng-container>\r\n <i\r\n class=\"bi bi-box-arrow-down\"\r\n *ngIf=\"row.type === 'IncomingCorrespondence'\"\r\n ></i>\r\n <i\r\n class=\"bi bi-box-arrow-up outgoing\"\r\n *ngIf=\"row.type === 'OutgoingCorrespondence'\"\r\n ></i>\r\n <i\r\n class=\"bi bi-box-arrow-right internal\"\r\n *ngIf=\"row.type === 'InternalCorrespondence'\"\r\n ></i>\r\n </span>\r\n <!-- <span class=\"value {{ value }}\">{{ \"STATS.\" + value | translate }}</span> -->\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'actions' && rows.length !== 0\">\r\n <div [ngClass]=\"disabledActions ? 'disabled-actions-wrapper' : 'actions-wrapper'\">\r\n <!-- <span class=\"bi bi-trash delete-icon\" (click)=\"performAction(row , 'delete')\"></span> -->\r\n <i\r\n class=\"bi bi-pencil-square edit-icon\"\r\n matTooltip=\"{{ 'UPDATE' | translate }}\"\r\n (click)=\"performAction(row, 'edit')\"\r\n *ngIf=\"entityType === 'voc-table'\"\r\n ></i>\r\n <i\r\n class=\"bi bi-trash\"\r\n matTooltip=\"{{ 'delete' | translate }}\"\r\n (click)=\"performAction(row, 'delete')\"\r\n *ngIf=\"\r\n entityType === 'voc-table' || entityType === 'department' ||\r\n entityType === 'signers'\r\n \"\r\n ></i>\r\n\r\n <i\r\n class=\"bi bi-plus-square\"\r\n matTooltip=\"{{ 'USER_MANGMENT.addToDepartment' | translate }}\"\r\n (click)=\"performAction(row, 'delete')\"\r\n *ngIf=\"entityType === 'users' && row.isInitial\"\r\n ></i>\r\n \r\n <span *ngFor=\"let action of column.actions\">\r\n <i\r\n *permission=\"{ name: action.permission, entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n class=\"{{ action.icon }}\"\r\n matTooltip=\"{{ action.tooltip | translate }}\"\r\n (click)=\"performAction(row, action.actionName)\"\r\n ></i>\r\n </span>\r\n\r\n <!-- <i\r\n *permission=\"{ name: 'registerCorrespondance', entity: row }\"\r\n class=\"bi bi-box-arrow-in-right\"\r\n matTooltip=\"{{ 'LISTING.REGISTER' | translate }}\"\r\n (click)=\"performAction(row, 'register')\"\r\n ></i>\r\n <i\r\n *permission=\"{ name: 'sendCorrespondance', entity: row }\"\r\n class=\"bi bi-envelope\"\r\n matTooltip=\"{{ 'LISTING.SEND' | translate }}\"\r\n (click)=\"performAction(row, 'send')\"\r\n ></i>\r\n <i\r\n *permission=\"{ name: 'closeCorrespondance', entity: row }\"\r\n class=\"bi bi-x-circle\"\r\n matTooltip=\"{{ 'LISTING.CLOSE' | translate }}\"\r\n (click)=\"performAction(row, 'close')\"\r\n ></i>\r\n <i\r\n *permission=\"{ name: 'archiveCorrespondance', entity: row }\"\r\n class=\"bi bi-folder-symlink\"\r\n matTooltip=\"{{ 'LISTING.ARCHIVE' | translate }}\"\r\n (click)=\"performAction(row, 'archive')\"\r\n ></i> -->\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"column.type === 'date'\">\r\n <div class=\"cell-text-wrapper\">\r\n <cts-date-viewer\r\n [withOutLabel]=\"true\"\r\n [value]=\"value\"\r\n ></cts-date-viewer>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"column.type === 'custom'\">\r\n <cts-dynamic-column\r\n [id]=\"column.template\"\r\n [column]=\"column\"\r\n [context]=\"row\"\r\n >\r\n </cts-dynamic-column>\r\n </ng-container>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n </ng-container>\r\n </ng-container>\r\n </ngx-datatable>\r\n</div>\r\n\r\n<div *ngIf=\"tableMode === 'card'\">\r\n <div class=\"cards-container\">\r\n <div class=\"single-card\" *ngFor=\"let row of rows; let i = index\">\r\n <div class=\"memo-title\">\r\n <span>\r\n {{ row.properties.referenceNumber }}\r\n </span>\r\n <span class=\"action-wrap\">\r\n <span class=\"action\" *ngFor=\"let action of tableActions\">\r\n <i\r\n *permission=\"{ name: action.permission, entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n class=\"{{ action.icon }}\"\r\n matTooltip=\"{{ action.tooltip | translate }}\"\r\n (click)=\"performAction(row, action.actionName)\"\r\n ></i>\r\n </span>\r\n <button\r\n *permission=\"{ name: 'deleteMemo', entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n (click)=\"performAction(row, 'deleteMemo')\"\r\n >\r\n <i\r\n class=\"bi bi-trash\"\r\n matTooltip=\"{{ 'LISTING.ONLY_DELETE' | translate }}\"\r\n ></i>\r\n </button>\r\n <button\r\n *permission=\"{ name: 'terminateDelegation', entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n (click)=\"performAction(row, 'terminateDelegation')\"\r\n >\r\n <i\r\n class=\"bi bi-trash\"\r\n matTooltip=\"{{ 'LISTING.CANCEL' | translate }}\"\r\n ></i>\r\n </button>\r\n <span\r\n class=\"publish-state\"\r\n *permission=\"{ name: 'memoPublished', entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n >\r\n {{ \"MEMOS.PUBLISHED\" | translate }}\r\n </span>\r\n <span\r\n class=\"publish-state\"\r\n *permission=\"{ name: 'delegationFinished', entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n >\r\n {{ \"delegations.finished\" | translate }}\r\n </span>\r\n <span\r\n class=\"publish-state\"\r\n *permission=\"{ name: 'delegationActive', entity: row , user: nuxeoService.nuxeoClient.user}\"\r\n >\r\n {{ \"delegations.active\" | translate }}\r\n </span>\r\n </span>\r\n </div>\r\n <div\r\n class=\"memo-body\"\r\n *ngFor=\"let property of columns\"\r\n (click)=\"cardSelected(row);cardFocused(i)\"\r\n >\r\n <div class=\"key\" *ngIf=\"property.type !== 'default'\">{{ prefix + property.key | translate }}</div>\r\n <ng-container *ngIf=\"property.type === 'default'\">\r\n <div class=\"key\" *permission=\"{ name: 'internalIsEnabled', entity: row , user: nuxeoService.nuxeoClient.user}\">\r\n {{ prefix + property.key | translate }}\r\n </div>\r\n </ng-container>\r\n <div class=\"value\">\r\n <div class=\"text\" *ngIf=\"property.type === 'text'\">\r\n {{ row.properties[property.value] }}\r\n </div>\r\n <div class=\"text\" *ngIf=\"property.type === 'user'\">\r\n {{ row.properties[property.value].fullName }}\r\n </div>\r\n <div class=\"text\" *ngIf=\"property.type === 'date'\">\r\n {{row.properties[property.value] | localizedDate:format:(isArabic? 'ar-AR' : 'en-US')}}\r\n <!-- <cts-date-viewer [withOutLabel]=\"true\" [value]=\"row.properties[property.value]\" ></cts-date-viewer> -->\r\n </div>\r\n <div class=\"text\" *ngIf=\"property.type === 'boolean'\">\r\n {{ (row.properties[property.value] ? 'Yes':'No') | translate }}\r\n </div>\r\n <ng-container *ngIf=\"property.type === 'default'\">\r\n <div class=\"text\" *permission=\"{ name: 'internalIsEnabled', entity: row , user: nuxeoService.nuxeoClient.user}\">\r\n {{ row.properties[property.value] }}\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"property.type === 'custom'\">\r\n <div class=\"text\" *ngFor=\"let item of row.properties[property.value]\">\r\n {{ item | translate }} {{\", \" }}\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"tableMode === 'dynamicCard'\">\r\n <div class=\"cards-container\">\r\n <div class=\"single-card\" [ngClass]=\"{'selected-card': highlightSelectedCard && row?.isSelected}\" *ngFor=\"let row of rows\">\r\n <div *ngIf=\"columns.length > 1\">\r\n <div\r\n class=\"memo-body\"\r\n *ngFor=\"let property of columns\"\r\n (click)=\"cardSelected(row)\"\r\n >\r\n <div class=\"key\">{{ prefix + property.key | translate }}</div>\r\n <div class=\"value\">\r\n <div class=\"text\" *ngIf=\"property.type === 'text'\">\r\n {{ row.properties[property.value] }}\r\n </div>\r\n <div class=\"text\" *ngIf=\"property.type === 'date'\">\r\n {{ row.properties[property.value] | localizedDate: \"MMMM d, y\" }}\r\n <!-- <cts-date-viewer [withOutLabel]=\"true\" [value]=\"row.properties[property.value]\" ></cts-date-viewer> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"iner-card-container {{entityType}}\" (click)=\"cardSelected(row)\" *ngIf=\"columns.length === 1\">\r\n <cts-dynamic-column\r\n [id]=\"columns[0].template\"\r\n [column]=\"columns[0]\"\r\n [context]=\"row\"\r\n >\r\n </cts-dynamic-column>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: ["@charset \"UTF-8\";.bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.ngx-datatable{border:1px solid #eef1f5;border-radius:5px}.ngx-datatable .datatable-header{font-weight:bold;width:100%!important;height:50px!important;background-color:#eef1f5;color:#9aa4ac;font-size:14px}.ngx-datatable .datatable-header .datatable-header-inner{width:100%!important;height:100%;padding:0 20px}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center{width:100%!important;display:flex;justify-content:space-between;align-items:center}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .sort-btn{margin:5px 5px 0;width:16px;height:16px}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .sort-btn:before{content:\"\\f127\";display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:normal!important;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-icon-up.sort-btn:before{content:\"\\f57b\";color:#000;font-size:16px}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-icon-down.sort-btn:before{content:\"\\f574\";color:#000;font-size:16px}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-header-cell-template-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center;white-space:pre-wrap}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-header-cell-template-wrap .datatable-header-cell-wrapper{display:flex}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-header-cell-template-wrap .datatable-header-cell-wrapper .datatable-header-cell-label{text-align:center}.ngx-datatable .datatable-header .datatable-header-inner .datatable-row-center .datatable-header-cell .datatable-header-cell-template-wrap .checkbox-input{z-index:99}.ngx-datatable .datatable-body .empty-row{text-align:center}.ngx-datatable .datatable-body .datatable-scroll{width:100%!important}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper{height:50px;font-size:14px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row{width:100%!important;height:100%}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center{width:100%!important;display:flex;justify-content:space-between;padding:0 20px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell{min-height:50px;display:flex;align-items:center;overflow:hidden}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .datatable-body-cell-label{width:100%;display:flex;justify-content:center}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .datatable-body-cell-label .checkbox-input{z-index:99}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .datatable-body-cell-label .cell-text-wrapper{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 5px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .iner-status-wrapper{position:relative}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .iner-status-wrapper .fav-icon-indicator{font-size:12px;position:absolute;top:-5px;right:-10px;color:#ebb98e}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .value{display:flex;justify-content:center;align-items:center;border-radius:5px;width:100px;height:25px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .draft{background-color:#596973;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .inProgress{background-color:#3c3cf0;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .registered{background-color:#5a1496;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .archived{background-color:#fbb62c;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .closed{background-color:#00dca5;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .approved{background-color:#06a57e;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .assigned{background-color:#fd6670;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .sent{background-color:#3c3cf0;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .under_revision{background:#689be7;color:#e9f1fd}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper .rejected{background-color:#fd6670;color:#fff}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.Incoming{color:#00dca5;font-size:30px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.Outgoing{color:#fbb62c;font-size:30px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.Internal{color:#3c3cf0;font-size:30px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .status-wrapper.internal{color:#3c3cf0;font-size:30px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper{width:100%}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .bi{font-size:25px;cursor:pointer;color:#465573;margin:0 5px!important}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .actions-wrapper .bi:hover{color:#2e62df!important;font-size:26px}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .disabled-actions-wrapper{width:100%}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper .datatable-body-row .datatable-row-center .datatable-body-cell .disabled-actions-wrapper .bi{font-size:25px;cursor:not-allowed;color:#465573;margin:0 5px!important;opacity:.7}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper:nth-child(even){background-color:#f4f6f8}.ngx-datatable .datatable-body .datatable-scroll .datatable-row-wrapper:hover{background-color:#eef1f5}.cards-container{display:flex;flex-wrap:wrap;justify-content:center}.cards-container .single-card{padding:15px;border:1px solid rgba(180,186,198,.2);border-radius:3px;min-width:270px;width:24%;margin:0 5px 10px;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;cursor:pointer}.cards-container .single-card .memo-title{font-size:14px;font-weight:bold;color:#465573;border-bottom:1px solid lightgray;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}.cards-container .single-card .memo-title .action-wrap .action{margin:0 5px;cursor:pointer}.cards-container .single-card .memo-title .action-wrap .action i{font-size:16px}.cards-container .single-card .memo-title .action-wrap .action i:hover{color:#00f}.cards-container .single-card .memo-title .action-wrap .publish-state{font-size:12px;color:#00dca5;font-weight:bold}.cards-container .single-card .memo-title .action-wrap button{border:none;color:#465573;background-color:transparent}.cards-container .single-card .memo-title .action-wrap button i{font-size:16px}.cards-container .single-card .memo-title .action-wrap button i:hover{color:#00f}.cards-container .single-card .memo-body{display:flex;padding:0 10px}.cards-container .single-card .memo-body .key{width:50%;font-size:12px;color:#9aa4ac}.cards-container .single-card .memo-body .value{width:50%;font-size:12px}.cards-container .single-card .memo-body .value .text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cards-container .single-card:hover{background-color:#f6f7f8}.cards-container .single-card:focus{background-color:#f6f7f8}.cards-container .selected-card{background-color:#f6f7f8}.rtl .ngx-datatable .datatable-body .status-wrapper .fav-icon-indicator{left:-10px;top:15px!important;right:auto!important}\n"], components: [{ type: i4.DatatableComponent, selector: "ngx-datatable", inputs: ["selected", "scrollbarV", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "loadingIndicator", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "groupExpansionDefault", "selectAllRowsOnPage", "virtualization", "summaryRow", "summaryHeight", "summaryPosition", "rowIdentity", "rows", "groupedRows", "groupRowsBy", "columns", "limit", "count", "offset", "targetMarkerTemplate", "selectionType", "rowClass", "selectCheck", "displayCheck", "trackByProp", "treeFromRelation", "treeToRelation"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction"] }, { type: i5.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i6.DropdownViewerComponent, selector: "cts-dropdown-viewer", inputs: ["label", "value", "dropdownId", "vertical", "withOutLabel"] }, { type: i7.DepartmentViewerComponent, selector: "cts-department-viewer", inputs: ["label", "value", "dropdownId", "vertical", "withOutLabel", "noStyle"] }, { type: i8.DateViewerComponent, selector: "cts-date-viewer", inputs: ["label", "value", "vertical", "format", "hijri", "withOutLabel"] }, { type: i9.DynamicColumnComponent, selector: "cts-dynamic-column", inputs: ["id", "context", "column"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DataTableColumnDirective, selector: "ngx-datatable-column", inputs: ["name", "prop", "frozenLeft", "frozenRight", "flexGrow", "resizeable", "comparator", "pipe", "sortable", "draggable", "canAutoResize", "minWidth", "width", "maxWidth", "checkboxable", "headerCheckboxable", "headerClass", "cellClass", "isTreeColumn", "treeLevelIndent", "summaryFunc", "summaryTemplate", "cellTemplate", "headerTemplate", "treeToggleTemplate"] }, { type: i4.DataTableColumnHeaderDirective, selector: "[ngx-datatable-header-template]" }, { type: i4.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i12.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "translate": i13.TranslatePipe, "localizedDate": i14.LocalizedDatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
170
171
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: TableComponent, decorators: [{
|
|
171
172
|
type: Component,
|
|
172
173
|
args: [{
|
|
@@ -220,4 +221,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
220
221
|
}], multiSelectRows: [{
|
|
221
222
|
type: Input
|
|
222
223
|
}] } });
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFNdkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NHO0FBT0gsTUFBTSxPQUFPLGNBQWM7SUFxRHpCLFlBQW1CLFlBQTBCLEVBQVUsU0FBNEIsRUFBUyxXQUErQjtRQUF4RyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUFVLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBQVMsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBcEQzSCw4Q0FBOEM7UUFDcEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdDLDREQUE0RDtRQUNsRCx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2xELG1EQUFtRDtRQUN6QyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDOUMsbUVBQW1FO1FBQ3pELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzQyxzQ0FBc0M7UUFDNUIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkMsK0NBQStDO1FBQ3ZDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFP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LGNBQWM7a0JBTjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFdBQVcsRUFBRSx3QkFBd0I7b0JBQ3JDLFNBQVMsRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUNyQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7bUtBR1csYUFBYTtzQkFBdEIsTUFBTTtnQkFFRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBRUcsY0FBYztzQkFBdkIsTUFBTTtnQkFFRyxXQUFXO3NCQUFwQixNQUFNO2dCQUVHLFNBQVM7c0JBQWxCLE1BQU07Z0JBRUcsa0JBQWtCO3NCQUEzQixNQUFNO2dCQUVFLElBQUk7c0JBQVosS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb2x1bW5Nb2RlLCBTZWxlY3Rpb25UeXBlIH0gZnJvbSAnQHN3aW1sYW5lL25neC1kYXRhdGFibGUvcHVibGljLWFwaSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlndXJhdGlvbi9hcHAtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOdXhlb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9Db3JlL3NlcnZpY2VzL251eGVvL251eGVvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9Db3JlL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG4vKipcclxuICogdGhpcyBjb21wb25lbnQgaXMgYSBtdWx0aS1wdXJwb3NlIGR5bmFtaWNhbGx5IGdlbmVyYXRlZCBkdW1iIGRhdGEgdGFibGUgdGhhdCBjYW4gYmUgY29uZmlndXJlZCB0byBzaG93IGFueSBsaXN0IG9mIGRhdGEsXHJcbiAqIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGNvbmZpZ3VyaW5nIHRoZSB0YWJsZVxyXG4gKiBhbmQgdGhlIGpzb24gc3RydWN0dXJlIGZvciB0aGUgaW5wdXRzIHBsZWFzZSBjaGVjayBbQ29uZmlndXJhdGlvbiBGaWxlXXtAbGluayAuLi9hZGRpdGlvbmFsLWRvY3VtZW50YXRpb24vY29uZmlnLWZpbGUuaHRtbH1cclxuICogIVtTY3JlZW5zaG90LTFdKC4uL3NjcmVlbnNob3RzL2R5bmFtaWNUYWJsZS5wbmcpXHJcbiAqXHJcbiAqICMjIyByZWxhdGVkIExpbmtzOlxyXG4gKiAtIFtQYWdpbmF0aW9uIENvbXBvbmVudF17QGxpbmsgUGFnaW5hdGlvbkNvbXBvbmVudH1cclxuICogLSBbRHluYW1pYyBUYWJsZV17QGxpbmsgRHluYW1pY1RhYmxlQ29tcG9uZW50fVxyXG4gKiAtIFtDb25maWd1cmF0aW9uIEZpbGVde0BsaW5rIC4uL2FkZGl0aW9uYWwtZG9jdW1lbnRhdGlvbi9jb25maWctZmlsZS5odG1sfVxyXG4gKlxyXG4gKiBAdGl0bGVcclxuICogRGF0YSBUYWJsZVxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKlxyXG4gKiA8Y3RzLXRhYmxlXHJcbiAqICAgICBbcm93c109XCJyb3dzXCJcclxuICogICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxyXG4gKiAgICAgW3Jlc3BvbnNpdmVDb2x1bW5zXT1cInJlc3BvbnNpdmVDb2x1bW5zXCJcclxuICogICAgIFtyb3dDdXJzb3JdPVwicm93Q3Vyc29yXCJcclxuICogICAgIFtmdWxsV2lkdGhdPVwiZnVsbFdpZHRoXCJcclxuICogICAgIFtlbnRpdHlUeXBlXT1cImVudGl0eVR5cGVcIlxyXG4gKiAgICAgW3ByZWZpeF09XCJwcmVmaXhcIlxyXG4gKiAgICAgW3RvdGFsUmVjb3Jkc109XCJ0b3RhbFJlY29yZHNcIlxyXG4gKiAgICAgW3RhYmxlTW9kZV09XCJ0YWJsZU1vZGVcIlxyXG4gKiAgICAgW3RhYmxlQWN0aW9uc109XCJ0YWJsZUFjdGlvbnNcIlxyXG4gKiAgICAgKG9uUm93U2VsZWN0ZWQpPVwicm93RGV0YWlscygkZXZlbnQpXCJcclxuICogICAgIChhY3Rpb25PblJvdyk9XCJwZXJmb3JtQWN0aW9uKCRldmVudClcIlxyXG4gKiAgICAgKG9uU29ydGluZyk9XCJvblNvcnQoJGV2ZW50KVwiXHJcbiAqICA+PC9jdHMtdGFibGU+XHJcbiAqXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2N0cy10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLyoqIGV2ZW50IHRvIGVtaXQgd2hlbiBzZWxlY3Rpbmcgc2luZ2xlIHJvdyAqL1xyXG4gIEBPdXRwdXQoKSBvblJvd1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKiBldmVudCB0byBlbWl0IHdoZW4gc2VsZWN0aW5nIHNpbmdsZSByb3cgdG8gY2F0Y2ggaW5kZXgqL1xyXG4gIEBPdXRwdXQoKSBvblJvd0luZGV4U2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoqIGV2ZW50IHRvIGVtaXQgd2hlbiBzZWxlY3Rpbmcgc2luZ2xlIHJvdyBJY29uICovXHJcbiAgQE91dHB1dCgpIG9uSWNvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKiBldmVudCB0byBlbWl0IHdoZW4gcGVyZm9ybSBhY3Rpb24gb24gcm93IChkZWx0ZSwgZWRpdCwgLi4uICkgKi9cclxuICBAT3V0cHV0KCkgYWN0aW9uT25Sb3cgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoqIGV2ZW50IHQgZW1pdCB3aGVuIHNvcnRpbmcgdGFibGUgKi9cclxuICBAT3V0cHV0KCkgb25Tb3J0aW5nID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgLyoqIGV2ZW50IHQgZW1pdCB3aGVuIHNlbGVjdGluZyBtdWx0aXBsZSByb3cgKi9cclxuICBAT3V0cHV0KCkgb25NdWx0aVJvd1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKiBhcmF5IG9mIHJvd3MgcGFzc2VkIGZyb20gb3V0IHNpZGUgdGhlIGNvbXBvbmVudCAqL1xyXG4gIEBJbnB1dCgpIHJvd3M7XHJcbiAgLyoqIGFycmF5IG9mIGNvbHVtbnMgcGFhc2VkIGZyb20gb3V0IHNpZGUgdGhlIGNvbXBvbmVudCAqL1xyXG4gIEBJbnB1dCgpIGNvbHVtbnM7XHJcbiAgLyoqIGFycmF5IG9mIGNvbHVtbnMgcGFhc2VkIGZyb20gb3V0IHNpZGUgdGhlIGNvbXBvbmVudCBmb3Igc21hbGxlciBzY3JlZW5zICovXHJcbiAgQElucHV0KCkgcmVzcG9uc2l2ZUNvbHVtbnM7XHJcbiAgLyoqIHRvIGRlZmluZSB0aGUgcGFnZSBpbiB3aGljaCB0YWJsZSBpcyBiZWluZyB1c2VkICovXHJcbiAgQElucHV0KCkgZW50aXR5VHlwZTogc3RyaW5nID0gJyc7XHJcbiAgLyoqIHN0YXRpYyAgcGF0aCBmb3IgdHJhbnNsYXRpb24gcGFzc2VkIGZyb20gb3V0IHNpZGUgYWNjb3JkaW5nIHRvIGVhY2ggcGFnZSB0cmFuc2xhdGlvbiBwYXRoICovXHJcbiAgQElucHV0KCkgcHJlZml4ID0gJyc7XHJcbiAgLyoqIEBkZXByZWNhdGVkICovXHJcbiAgQElucHV0KCkgcGFnZUNvdW50O1xyXG4gIC8qKiBUb3RhbCBSZWNvcmRzY291bnQgKi9cclxuICBASW5wdXQoKSB0b3RhbFJlY29yZHM7XHJcbiAgLyoqIEBkZXByZWNhdGVkICovXHJcbiAgQElucHV0KCkgcm93Q3Vyc29yID0gZmFsc2U7XHJcbiAgLyoqIE1heCBmdWxsIHdpZHRoIGluIFBYIHwgYXV0byAqL1xyXG4gIEBJbnB1dCgpIGZ1bGxXaWR0aCA9ICdhdXRvJztcclxuICAvKiogVm9jYWJ1bGFyeSBUcmFuc2xhdGlvbiBwcmVmaXggKi9cclxuICBASW5wdXQoKSB2b2NJdGVtVHJhbnNsYXRpb25QcmVmaXg7XHJcbiAgLyoqIFRhYmxlIE1vZGU6IGxpc3QgfCBjYXJkICovXHJcbiAgQElucHV0KCkgdGFibGVNb2RlID0gJ2xpc3QnO1xyXG4gIC8qKiBhY3Rpb24gdG8gYmUgaW4gY2FyZCBtb2RlICovXHJcbiAgQElucHV0KCkgdGFibGVBY3Rpb25zO1xyXG4gIEBJbnB1dCgpIGZvcm1hdCA9IFwiRUVFRSwgTU1NTSBkLCB5XCI7XHJcbiAgQElucHV0KCkgZGVmdWx0U29ydCA9IG51bGw7XHJcbiAgbGFuZ1N1YnNjcmlwdGlvbiA6IFN1YnNjcmlwdGlvbjtcclxuICBASW5wdXQoKSBoaWdobGlnaHRTZWxlY3RlZENhcmQgPSBmYWxzZTtcclxuXHJcbiAgLyoqIGFsbG93IG11bHRpc2VsZWN0IHJvd3Mgd2l0aCBjaGVja2JveCAqL1xyXG4gIEBJbnB1dCgpIG11bHRpU2VsZWN0Um93cyA9IGZhbHNlO1xyXG5cclxuICAvKiogZmxhZ2UgdXNlZCB0byBkaXNhYmxlIGFjdGlvbnMgaWYgdGhlcmUgd2FzIG11bHRpIHNlbGVjdGVkIHJvd3MgKi9cclxuICBkaXNhYmxlZEFjdGlvbnMgPSBmYWxzZTtcclxuICBpc0FyYWJpYyA9IGZhbHNlO1xyXG4gIHRhYmxlV2lkdGggPSAnYXV0byc7XHJcbiAgdGFibGVDb2x1bW5zID0gW107XHJcbiAgY3VycmVudFJvdztcclxuICBzZWxlY3RlZCA9IFtdO1xyXG4gIHBhZ2VOdW1iZXIgPSAxO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBudXhlb1NlcnZpY2U6IE51eGVvU2VydmljZSwgcHJpdmF0ZSBhcHBDb25maWcgOiBBcHBDb25maWdTZXJ2aWNlLHByaXZhdGUgdHJhbnNsYXRpb246IFRyYW5zbGF0aW9uU2VydmljZSkge1xyXG4gICAgdGhpcy5mb3JtYXQgPSB0aGlzLmFwcENvbmZpZy5teUNvbmZpZ3VyYXRpb25bJ2RhdGVGb3JtYXRlJ107XHJcbiAgICB0aGlzLmxhbmdTdWJzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0aW9uLmlzQXJhYmljLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLmlzQXJhYmljID0gcmVzO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5vblJlc2l6ZSh3aW5kb3cuaW5uZXJXaWR0aCk7XHJcbiAgfVxyXG5cclxuICAvLyBmdW5jdGlvbiB0byBiZSBleGVjdXRlZCB3aGVuIGNsaWNraW5nIG9uIHNpbmdsZSByb3dcclxuICByb3dEZXRhaWxzKGV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQudHlwZSAhPT0gJ21vdXNlZW50ZXInKSB7XHJcbiAgICAgIGlmIChldmVudC50eXBlID09PSAnY2xpY2snICYmIGV2ZW50LmNvbHVtbi5wcm9wICE9PSAnJyApIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRSb3cgPSBldmVudC5yb3c7XHJcbiAgICAgICAgdGhpcy5vblJvd1NlbGVjdGVkLmVtaXQodGhpcy5jdXJyZW50Um93KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBpY29uU2VsZWN0ZWQoZXZlbnQ6IE1vdXNlRXZlbnQsIHJvdykge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLm9uSWNvblNlbGVjdGVkLmVtaXQocm93KTtcclxuICB9XHJcblxyXG4gIC8vZnVuY3Rpb24gdG8gaGFuZGxlIGFsbCBvcGVyYXRpb25zIG9uIHNpbmdsZSByb3cgKGRlbGV0ZSAsIGVkaXQgLCAuLi4pXHJcbiAgcGVyZm9ybUFjdGlvbihzaW5nbGVSb3csIGFjdGlvblR5cGUpIHtcclxuICAgIGlmKCF0aGlzLmRpc2FibGVkQWN0aW9ucylcclxuICAgIHRoaXMuYWN0aW9uT25Sb3cuZW1pdCh7XHJcbiAgICAgIHR5cGU6IGFjdGlvblR5cGUsXHJcbiAgICAgIHJvdzogc2luZ2xlUm93LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBoYW5kbGUgY2hlY2tib3ggaWYgdGFibGUgaGFzIG9uZXNcclxuICBvblNlbGVjdChldmVudCkge1xyXG4gICAgLy8gY29uc29sZS5sb2coJ29uIHNlbGVjdCByb3cgY2xpY2snKTtcclxuICAgIHRoaXMub25NdWx0aVJvd1NlbGVjdGVkLmVtaXQoZXZlbnQuc2VsZWN0ZWQpO1xyXG4gICAgaWYodGhpcy5tdWx0aVNlbGVjdFJvd3MgJiYgZXZlbnQuc2VsZWN0ZWQubGVuZ3RoID4gMCl7XHJcbiAgICAgIHRoaXMuZGlzYWJsZWRBY3Rpb25zID0gdHJ1ZTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmRpc2FibGVkQWN0aW9ucyA9IGZhbHNlXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBoYW5kbGUgc29ydGluZyBmdW5jdGlvbmFsaXR5IG9mIHRoZSB0YWJsZVxyXG4gIG9uU29ydChldmVudCkge1xyXG4gICAgbGV0IHNvcnQgPSB7XHJcbiAgICAgIHNvcnRCeTogZXZlbnQuY29sdW1uLmhlYWRlckNsYXNzLFxyXG4gICAgICBzb3J0T3JkZXI6IGV2ZW50Lm5ld1ZhbHVlLFxyXG4gICAgfTtcclxuICAgIHRoaXMub25Tb3J0aW5nLmVtaXQoc29ydCk7XHJcbiAgfVxyXG5cclxuICBhc3NpZ25UYWJsZUNvbHVtbnMoZXZlbnQpIHtcclxuICAgIHRoaXMub25SZXNpemUoZXZlbnQudGFyZ2V0LmlubmVyV2lkdGgpO1xyXG4gIH1cclxuXHJcbiAgb25SZXNpemUod2lkdGgpIHtcclxuICAgIGlmICh3aWR0aCA+IDE0MDApIHtcclxuICAgICAgdGhpcy50YWJsZVdpZHRoID0gJ2F1dG8nO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50YWJsZVdpZHRoID0gdGhpcy5mdWxsV2lkdGg7XHJcbiAgICB9XHJcbiAgICBpZiAod2lkdGggPCA3NjgpIHtcclxuICAgICAgdGhpcy50YWJsZUNvbHVtbnMgPSBbXTtcclxuICAgICAgdGhpcy50YWJsZUNvbHVtbnMgPSB0aGlzLnJlc3BvbnNpdmVDb2x1bW5zO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50YWJsZUNvbHVtbnMgPSBbXTtcclxuICAgICAgdGhpcy50YWJsZUNvbHVtbnMgPSB0aGlzLmNvbHVtbnM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjYXJkU2VsZWN0ZWQoY2FyZCkge1xyXG4gICAgaWYgKHRoaXMuaGlnaGxpZ2h0U2VsZWN0ZWRDYXJkKSB7XHJcbiAgICAgIHRoaXMucm93cy5tYXAocm93ID0+IHtcclxuICAgICAgICByb3dbJ2lzU2VsZWN0ZWQnXSA9IGZhbHNlO1xyXG4gICAgICB9KVxyXG4gICAgICBjYXJkWydpc1NlbGVjdGVkJ10gPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vblJvd1NlbGVjdGVkLmVtaXQoY2FyZCk7XHJcbiAgfVxyXG5cclxuICBjYXJkRm9jdXNlZChpbmRleCkge1xyXG4gICAgdGhpcy5vblJvd0luZGV4U2VsZWN0ZWQuZW1pdChpbmRleCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW3N0eWxlXT1cIid3aWR0aDonICsgdGFibGVXaWR0aFwiICpuZ0lmPVwidGFibGVNb2RlID09PSAnbGlzdCdcIj5cclxuICA8bmd4LWRhdGF0YWJsZVxyXG4gICAgY2xhc3M9XCJsYXJnZS10YWJsZVwiXHJcbiAgICBbcm93c109XCJyb3dzXCJcclxuICAgIFtjb2x1bW5Nb2RlXT1cIidmb3JjZSdcIlxyXG4gICAgW2V4dGVybmFsU29ydGluZ109XCJ0cnVlXCJcclxuICAgIChhY3RpdmF0ZSk9XCJyb3dEZXRhaWxzKCRldmVudClcIlxyXG4gICAgKHNlbGVjdCk9XCJvblNlbGVjdCgkZXZlbnQpXCJcclxuICAgIChzb3J0KT1cIm9uU29ydCgkZXZlbnQpXCJcclxuICAgICh3aW5kb3c6cmVzaXplKT1cImFzc2lnblRhYmxlQ29sdW1ucygkZXZlbnQpXCJcclxuICAgIFtyb3dIZWlnaHRdPVwiJ2F1dG8nXCJcclxuICAgIFtzZWxlY3RlZF09XCJzZWxlY3RlZFwiXHJcbiAgICBbc2VsZWN0aW9uVHlwZV09XCJtdWx0aVNlbGVjdFJvd3MgPyAnY2hlY2tib3gnIDogJ3NpbmdsZSdcIlxyXG4gICAgW3NvcnRzXT1cIlt7IHByb3A6IGRlZnVsdFNvcnQ/Lm5hbWUsIGRpcjogZGVmdWx0U29ydD8uZGlyIH1dXCJcclxuICA+XHJcblxyXG4gIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxyXG4gICpuZ0lmPVwibXVsdGlTZWxlY3RSb3dzXCJcclxuICBbd2lkdGhdPVwiMzBcIlxyXG4gIFtzb3J0YWJsZV09XCJmYWxzZVwiXHJcbiAgW3Byb3BdPVwiJydcIlxyXG4gIFtjYW5BdXRvUmVzaXplXT1cImZhbHNlXCJcclxuICBbZHJhZ2dhYmxlXT1cImZhbHNlXCJcclxuICBbcmVzaXplYWJsZV09XCJmYWxzZVwiXHJcbj5cclxuICA8bmctdGVtcGxhdGVcclxuICAgIG5neC1kYXRhdGFibGUtaGVhZGVyLXRlbXBsYXRlXHJcbiAgICBsZXQtdmFsdWU9XCJ2YWx1ZVwiXHJcbiAgICBsZXQtYWxsUm93c1NlbGVjdGVkPVwiYWxsUm93c1NlbGVjdGVkXCJcclxuICAgIGxldC1zZWxlY3RGbj1cInNlbGVjdEZuXCJcclxuICA+XHJcbiAgICA8aW5wdXQgY2xhc3M9XCJjaGVja2JveC1pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cImFsbFJvd3NTZWxlY3RlZFwiIChjaGFuZ2UpPVwic2VsZWN0Rm4oIWFsbFJvd3NTZWxlY3RlZClcIiAvPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPG5nLXRlbXBsYXRlXHJcbiAgICBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGVcclxuICAgIGxldC12YWx1ZT1cInZhbHVlXCJcclxuICAgIGxldC1pc1NlbGVjdGVkPVwiaXNTZWxlY3RlZFwiXHJcbiAgICBsZXQtb25DaGVja2JveENoYW5nZUZuPVwib25DaGVja2JveENoYW5nZUZuXCJcclxuICA+XHJcbiAgICA8aW5wdXQgY2xhc3M9XCJjaGVja2JveC1pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cImlzU2VsZWN0ZWRcIiAoY2hhbmdlKT1cIm9uQ2hlY2tib3hDaGFuZ2VGbigkZXZlbnQpXCIgLz5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG4gICAgPCEtLSB8IHRyYW5zbGF0ZSAtLT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiB0YWJsZUNvbHVtbnM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqcGVybWlzc2lvbj1cIntuYW1lOiBjb2x1bW4ucGVybWlzc2lvbn1cIj5cclxuICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgKm5nSWY9XCJjb2x1bW4uZGlzcGxheVwiXHJcbiAgICAgICAgW3NvcnRhYmxlXT1cImNvbHVtbi5zb3J0YWJsZVwiXHJcbiAgICAgICAgW25hbWVdPVwicHJlZml4ICsgY29sdW1uLm5hbWUgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIFtwcm9wXT1cImNvbHVtbi5wcm9wXCJcclxuICAgICAgICBbcmVzaXplYWJsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgW2RyYWdnYWJsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgW21heFdpZHRoXT1cImNvbHVtbi5zaXplXCJcclxuICAgICAgICBbaGVhZGVyQ2xhc3NdPVwiY29sdW1uLmhlYWRlckNsYXNzID8gY29sdW1uLmhlYWRlckNsYXNzIDogJydcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgICBsZXQtcm93PVwicm93XCJcclxuICAgICAgICAgIGxldC12YWx1ZT1cInZhbHVlXCJcclxuICAgICAgICAgIGxldC1pbmRleD1cImluZGV4XCJcclxuICAgICAgICAgIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udHlwZSA9PT0gJ3RleHQnXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsLXRleHQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIHt7IHZhbHVlID8gdmFsdWUgOiBcIi0tXCIgfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLnR5cGUgPT09ICd2b2NhYnVsYXJ5J1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbC10ZXh0LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8Y3RzLWRyb3Bkb3duLXZpZXdlclxyXG4gICAgICAgICAgICAgICAgW3dpdGhPdXRMYWJlbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICBbZHJvcGRvd25JZF09XCJjb2x1bW4udm9jYWJ1bGFyeUlkXCJcclxuICAgICAgICAgICAgICA+PC9jdHMtZHJvcGRvd24tdmlld2VyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udHlwZSA9PT0gJ1ZvY0NlbGwnXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsLXRleHQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIHt7ICh2YWx1ZSA/IGNvbHVtbi52b2NhYnVsYXJ5SWQgKyAnLicgKyB2YWx1ZSA6IFwiLS1cIikgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50eXBlID09PSAnVm9jSXRlbSdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGwtdGV4dC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAge3sgdm9jSXRlbVRyYW5zbGF0aW9uUHJlZml4ICsgdmFsdWUgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udHlwZSA9PT0gJ2RlcGFydG1lbnQnXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsLXRleHQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxjdHMtZGVwYXJ0bWVudC12aWV3ZXJcclxuICAgICAgICAgICAgICAgIFtub1N0eWxlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPC9jdHMtZGVwYXJ0bWVudC12aWV3ZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50eXBlID09PSAnc3RhdHVzJ1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlIHt7IHZhbHVlIH19XCI+e3tcclxuICAgICAgICAgICAgICAgIFwiU1RBVFMuXCIgKyB2YWx1ZSB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udHlwZSA9PT0gJ3JvbGUnXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsLXRleHQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIHt7IFwicm9sZS5cIiArICh2YWx1ZSA/IHZhbHVlIDogXCItLVwiKSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udHlwZSA9PT0gJ2RpcmVjdGlvbidcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJpY29uU2VsZWN0ZWQoJGV2ZW50LCByb3cpXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInN0YXR1cy13cmFwcGVyIHt7IHZhbHVlIH19IHt7IHJvdy5zdGF0ZSB9fVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImluZXItc3RhdHVzLXdyYXBwZXJcIiBtYXRUb29sdGlwPVwie3sgJ1NUQVRTLicgKyByb3cuc3RhdGUgfCB0cmFuc2xhdGUgfX1cIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBlcm1pc3Npb249XCJ7IG5hbWU6ICdpc0Zhdm9yaXRlJywgZW50aXR5OiByb3cgfVwiID5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYXYtaWNvbi1pbmRpY2F0b3IgYmkgYmktc3Rhci1maWxsXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImJpIGJpLWJveC1hcnJvdy1kb3duXCJcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJyb3cudHlwZSA9PT0gJ0luY29taW5nQ29ycmVzcG9uZGVuY2UnXCJcclxuICAgICAgICAgICAgICAgID48L2k+XHJcbiAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImJpIGJpLWJveC1hcnJvdy11cCBvdXRnb2luZ1wiXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwicm93LnR5cGUgPT09ICdPdXRnb2luZ0NvcnJlc3BvbmRlbmNlJ1wiXHJcbiAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiaSBiaS1ib3gtYXJyb3ctcmlnaHQgaW50ZXJuYWxcIlxyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cInJvdy50eXBlID09PSAnSW50ZXJuYWxDb3JyZXNwb25kZW5jZSdcIlxyXG4gICAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cInZhbHVlIHt7IHZhbHVlIH19XCI+e3sgXCJTVEFUUy5cIiArIHZhbHVlIHwgdHJhbnNsYXRlIH19PC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLnR5cGUgPT09ICdhY3Rpb25zJyAmJiByb3dzLmxlbmd0aCAhPT0gMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImRpc2FibGVkQWN0aW9ucyA/ICdkaXNhYmxlZC1hY3Rpb25zLXdyYXBwZXInIDogJ2FjdGlvbnMtd3JhcHBlcidcIj5cclxuICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwiYmkgYmktdHJhc2ggZGVsZXRlLWljb25cIiAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3cgLCAnZGVsZXRlJylcIj48L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJpIGJpLXBlbmNpbC1zcXVhcmUgZWRpdC1pY29uXCJcclxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eyAnVVBEQVRFJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3csICdlZGl0JylcIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJlbnRpdHlUeXBlID09PSAndm9jLXRhYmxlJ1wiXHJcbiAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJiaSBiaS10cmFzaFwiXHJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwie3sgJ2RlbGV0ZScgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInBlcmZvcm1BY3Rpb24ocm93LCAnZGVsZXRlJylcIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgICAgICAgICAgZW50aXR5VHlwZSA9PT0gJ3ZvYy10YWJsZScgfHwgZW50aXR5VHlwZSA9PT0gJ2RlcGFydG1lbnQnIHx8XHJcbiAgICAgICAgICAgICAgICAgIGVudGl0eVR5cGUgPT09ICdzaWduZXJzJ1xyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICA+PC9pPlxyXG5cclxuICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiYmkgYmktcGx1cy1zcXVhcmVcIlxyXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eyAnVVNFUl9NQU5HTUVOVC5hZGRUb0RlcGFydG1lbnQnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3csICdkZWxldGUnKVwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJlbnRpdHlUeXBlID09PSAndXNlcnMnICYmIHJvdy5pc0luaXRpYWxcIlxyXG4gICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGNvbHVtbi5hY3Rpb25zXCI+XHJcbiAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogYWN0aW9uLnBlcm1pc3Npb24sIGVudGl0eTogcm93ICwgdXNlcjogbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXJ9XCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ7eyBhY3Rpb24uaWNvbiB9fVwiXHJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eyBhY3Rpb24udG9vbHRpcCB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwZXJmb3JtQWN0aW9uKHJvdywgYWN0aW9uLmFjdGlvbk5hbWUpXCJcclxuICAgICAgICAgICAgICAgID48L2k+XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICA8IS0tIDxpXHJcbiAgICAgICAgICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogJ3JlZ2lzdGVyQ29ycmVzcG9uZGFuY2UnLCBlbnRpdHk6IHJvdyB9XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmkgYmktYm94LWFycm93LWluLXJpZ2h0XCJcclxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eyAnTElTVElORy5SRUdJU1RFUicgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInBlcmZvcm1BY3Rpb24ocm93LCAncmVnaXN0ZXInKVwiXHJcbiAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgKnBlcm1pc3Npb249XCJ7IG5hbWU6ICdzZW5kQ29ycmVzcG9uZGFuY2UnLCBlbnRpdHk6IHJvdyB9XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmkgYmktZW52ZWxvcGVcIlxyXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7ICdMSVNUSU5HLlNFTkQnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJwZXJmb3JtQWN0aW9uKHJvdywgJ3NlbmQnKVwiXHJcbiAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgKnBlcm1pc3Npb249XCJ7IG5hbWU6ICdjbG9zZUNvcnJlc3BvbmRhbmNlJywgZW50aXR5OiByb3cgfVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJpIGJpLXgtY2lyY2xlXCJcclxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eyAnTElTVElORy5DTE9TRScgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInBlcmZvcm1BY3Rpb24ocm93LCAnY2xvc2UnKVwiXHJcbiAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgKnBlcm1pc3Npb249XCJ7IG5hbWU6ICdhcmNoaXZlQ29ycmVzcG9uZGFuY2UnLCBlbnRpdHk6IHJvdyB9XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmkgYmktZm9sZGVyLXN5bWxpbmtcIlxyXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7ICdMSVNUSU5HLkFSQ0hJVkUnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJwZXJmb3JtQWN0aW9uKHJvdywgJ2FyY2hpdmUnKVwiXHJcbiAgICAgICAgICAgICAgPjwvaT4gLS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50eXBlID09PSAnZGF0ZSdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGwtdGV4dC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGN0cy1kYXRlLXZpZXdlclxyXG4gICAgICAgICAgICAgICAgW3dpdGhPdXRMYWJlbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgPjwvY3RzLWRhdGUtdmlld2VyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50eXBlID09PSAnY3VzdG9tJ1wiPlxyXG4gICAgICAgICAgICA8Y3RzLWR5bmFtaWMtY29sdW1uXHJcbiAgICAgICAgICAgIFtpZF09XCJjb2x1bW4udGVtcGxhdGVcIlxyXG4gICAgICAgICAgICBbY29sdW1uXT1cImNvbHVtblwiXHJcbiAgICAgICAgICAgIFtjb250ZXh0XT1cInJvd1wiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L2N0cy1keW5hbWljLWNvbHVtbj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25neC1kYXRhdGFibGU+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cInRhYmxlTW9kZSA9PT0gJ2NhcmQnXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmRzLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNpbmdsZS1jYXJkXCIgKm5nRm9yPVwibGV0IHJvdyBvZiByb3dzOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtZW1vLXRpdGxlXCI+XHJcbiAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICB7eyByb3cucHJvcGVydGllcy5yZWZlcmVuY2VOdW1iZXIgfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb24td3JhcFwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb25cIiAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIHRhYmxlQWN0aW9uc1wiPlxyXG4gICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICpwZXJtaXNzaW9uPVwieyBuYW1lOiBhY3Rpb24ucGVybWlzc2lvbiwgZW50aXR5OiByb3cgLCB1c2VyOiBudXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlcn1cIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwie3sgYWN0aW9uLmljb24gfX1cIlxyXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eyBhY3Rpb24udG9vbHRpcCB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInBlcmZvcm1BY3Rpb24ocm93LCBhY3Rpb24uYWN0aW9uTmFtZSlcIlxyXG4gICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogJ2RlbGV0ZU1lbW8nLCBlbnRpdHk6IHJvdyAsIHVzZXI6IG51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyfVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJwZXJmb3JtQWN0aW9uKHJvdywgJ2RlbGV0ZU1lbW8nKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJiaSBiaS10cmFzaFwiXHJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7ICdMSVNUSU5HLk9OTFlfREVMRVRFJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgID48L2k+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICpwZXJtaXNzaW9uPVwieyBuYW1lOiAndGVybWluYXRlRGVsZWdhdGlvbicsIGVudGl0eTogcm93ICwgdXNlcjogbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXJ9XCJcclxuICAgICAgICAgIChjbGljayk9XCJwZXJmb3JtQWN0aW9uKHJvdywgJ3Rlcm1pbmF0ZURlbGVnYXRpb24nKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGlcclxuICAgICAgICAgICAgY2xhc3M9XCJiaSBiaS10cmFzaFwiXHJcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eyAnTElTVElORy5DQU5DRUwnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgID48L2k+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzcz1cInB1Ymxpc2gtc3RhdGVcIlxyXG4gICAgICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogJ21lbW9QdWJsaXNoZWQnLCBlbnRpdHk6IHJvdyAsIHVzZXI6IG51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyfVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IFwiTUVNT1MuUFVCTElTSEVEXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicHVibGlzaC1zdGF0ZVwiXHJcbiAgICAgICAgICAgICpwZXJtaXNzaW9uPVwieyBuYW1lOiAnZGVsZWdhdGlvbkZpbmlzaGVkJywgZW50aXR5OiByb3cgLCB1c2VyOiBudXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlcn1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyBcImRlbGVnYXRpb25zLmZpbmlzaGVkXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicHVibGlzaC1zdGF0ZVwiXHJcbiAgICAgICAgICAgICpwZXJtaXNzaW9uPVwieyBuYW1lOiAnZGVsZWdhdGlvbkFjdGl2ZScsIGVudGl0eTogcm93ICwgdXNlcjogbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXJ9XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgXCJkZWxlZ2F0aW9ucy5hY3RpdmVcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cIm1lbW8tYm9keVwiXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IHByb3BlcnR5IG9mIGNvbHVtbnNcIlxyXG4gICAgICAgIChjbGljayk9XCJjYXJkU2VsZWN0ZWQocm93KTtjYXJkRm9jdXNlZChpKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwia2V5XCIgKm5nSWY9XCJwcm9wZXJ0eS50eXBlICE9PSAnZGVmYXVsdCdcIj57eyBwcmVmaXggKyBwcm9wZXJ0eS5rZXkgfCB0cmFuc2xhdGUgfX08L2Rpdj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJvcGVydHkudHlwZSA9PT0gJ2RlZmF1bHQnXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwia2V5XCIgKnBlcm1pc3Npb249XCJ7IG5hbWU6ICdpbnRlcm5hbElzRW5hYmxlZCcsIGVudGl0eTogcm93ICwgdXNlcjogbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXJ9XCI+XHJcbiAgICAgICAgICAgIHt7IHByZWZpeCArIHByb3BlcnR5LmtleSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiICpuZ0lmPVwicHJvcGVydHkudHlwZSA9PT0gJ3RleHQnXCI+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wcm9wZXJ0aWVzW3Byb3BlcnR5LnZhbHVlXSB9fVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiICpuZ0lmPVwicHJvcGVydHkudHlwZSA9PT0gJ3VzZXInXCI+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wcm9wZXJ0aWVzW3Byb3BlcnR5LnZhbHVlXS5mdWxsTmFtZSB9fVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiICpuZ0lmPVwicHJvcGVydHkudHlwZSA9PT0gJ2RhdGUnXCI+XHJcbiAgICAgICAgICAgIHt7cm93LnByb3BlcnRpZXNbcHJvcGVydHkudmFsdWVdIHwgbG9jYWxpemVkRGF0ZTpmb3JtYXQ6KGlzQXJhYmljPyAnYXItQVInIDogJ2VuLVVTJyl9fVxyXG4gICAgICAgICAgICA8IS0tIDxjdHMtZGF0ZS12aWV3ZXIgW3dpdGhPdXRMYWJlbF09XCJ0cnVlXCIgW3ZhbHVlXT1cInJvdy5wcm9wZXJ0aWVzW3Byb3BlcnR5LnZhbHVlXVwiID48L2N0cy1kYXRlLXZpZXdlcj4gLS0+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgKm5nSWY9XCJwcm9wZXJ0eS50eXBlID09PSAnYm9vbGVhbidcIj5cclxuICAgICAgICAgICAge3sgKHJvdy5wcm9wZXJ0aWVzW3Byb3BlcnR5LnZhbHVlXSA/ICdZZXMnOidObycpIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9wZXJ0eS50eXBlID09PSAnZGVmYXVsdCdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRcIiAqcGVybWlzc2lvbj1cInsgbmFtZTogJ2ludGVybmFsSXNFbmFibGVkJywgZW50aXR5OiByb3cgLCB1c2VyOiBudXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlcn1cIj5cclxuICAgICAgICAgICAgICB7eyByb3cucHJvcGVydGllc1twcm9wZXJ0eS52YWx1ZV0gfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9wZXJ0eS50eXBlID09PSAnY3VzdG9tJ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygcm93LnByb3BlcnRpZXNbcHJvcGVydHkudmFsdWVdXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBpdGVtIHwgdHJhbnNsYXRlIH19IHt7XCIsIFwiIH19XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwidGFibGVNb2RlID09PSAnZHluYW1pY0NhcmQnXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmRzLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNpbmdsZS1jYXJkXCIgW25nQ2xhc3NdPVwieydzZWxlY3RlZC1jYXJkJzogaGlnaGxpZ2h0U2VsZWN0ZWRDYXJkICYmIHJvdz8uaXNTZWxlY3RlZH1cIiAqbmdGb3I9XCJsZXQgcm93IG9mIHJvd3NcIj5cclxuICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbnMubGVuZ3RoID4gMVwiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwibWVtby1ib2R5XCJcclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBwcm9wZXJ0eSBvZiBjb2x1bW5zXCJcclxuICAgICAgICAgIChjbGljayk9XCJjYXJkU2VsZWN0ZWQocm93KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImtleVwiPnt7IHByZWZpeCArIHByb3BlcnR5LmtleSB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgKm5nSWY9XCJwcm9wZXJ0eS50eXBlID09PSAndGV4dCdcIj5cclxuICAgICAgICAgICAgICB7eyByb3cucHJvcGVydGllc1twcm9wZXJ0eS52YWx1ZV0gfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgKm5nSWY9XCJwcm9wZXJ0eS50eXBlID09PSAnZGF0ZSdcIj5cclxuICAgICAgICAgICAgICB7eyByb3cucHJvcGVydGllc1twcm9wZXJ0eS52YWx1ZV0gfCBsb2NhbGl6ZWREYXRlOiBcIk1NTU0gZCwgeVwiIH19XHJcbiAgICAgICAgICAgICAgPCEtLSA8Y3RzLWRhdGUtdmlld2VyIFt3aXRoT3V0TGFiZWxdPVwidHJ1ZVwiIFt2YWx1ZV09XCJyb3cucHJvcGVydGllc1twcm9wZXJ0eS52YWx1ZV1cIiA+PC9jdHMtZGF0ZS12aWV3ZXI+IC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImluZXItY2FyZC1jb250YWluZXIge3tlbnRpdHlUeXBlfX1cIiAgKGNsaWNrKT1cImNhcmRTZWxlY3RlZChyb3cpXCIgKm5nSWY9XCJjb2x1bW5zLmxlbmd0aCA9PT0gMVwiPlxyXG4gICAgICAgIDxjdHMtZHluYW1pYy1jb2x1bW5cclxuICAgICAgICBbaWRdPVwiY29sdW1uc1swXS50ZW1wbGF0ZVwiXHJcbiAgICAgICAgW2NvbHVtbl09XCJjb2x1bW5zWzBdXCJcclxuICAgICAgICBbY29udGV4dF09XCJyb3dcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvY3RzLWR5bmFtaWMtY29sdW1uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBTXZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdDRztBQU9ILE1BQU0sT0FBTyxjQUFjO0lBcUR6QixZQUFtQixZQUEwQixFQUFVLFNBQTRCLEVBQVMsV0FBK0I7UUFBeEcsaUJBQVksR0FBWixZQUFZLENBQWM7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQXBEM0gsOENBQThDO1FBQ3BDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM3Qyw0REFBNEQ7UUFDbEQsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsRCxtREFBbUQ7UUFDekMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzlDLG1FQUFtRTtRQUN6RCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0Msc0NBQXNDO1FBQzVCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3ZDLCtDQUErQztRQUN2Qyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FB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TyxjQUFjO2tCQU4xQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixXQUFXLEVBQUUsd0JBQXdCO29CQUNyQyxTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDckMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDO21LQUdXLGFBQWE7c0JBQXRCLE1BQU07Z0JBRUcsa0JBQWtCO3NCQUEzQixNQUFNO2dCQUVHLGNBQWM7c0JBQXZCLE1BQU07Z0JBRUcsV0FBVztzQkFBcEIsTUFBTTtnQkFFRyxTQUFTO3NCQUFsQixNQUFNO2dCQUVHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFFRSxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcscUJBQXFCO3NCQUE3QixLQUFLO2dCQUdHLGVBQWU7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29sdW1uTW9kZSwgU2VsZWN0aW9uVHlwZSB9IGZyb20gJ0Bzd2ltbGFuZS9uZ3gtZGF0YXRhYmxlL3B1YmxpYy1hcGknO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvbmZpZ3VyYXRpb24vYXBwLWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTnV4ZW9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy9udXhlby9udXhlby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuLyoqXHJcbiAqIHRoaXMgY29tcG9uZW50IGlzIGEgbXVsdGktcHVycG9zZSBkeW5hbWljYWxseSBnZW5lcmF0ZWQgZHVtYiBkYXRhIHRhYmxlIHRoYXQgY2FuIGJlIGNvbmZpZ3VyZWQgdG8gc2hvdyBhbnkgbGlzdCBvZiBkYXRhLFxyXG4gKiBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBjb25maWd1cmluZyB0aGUgdGFibGVcclxuICogYW5kIHRoZSBqc29uIHN0cnVjdHVyZSBmb3IgdGhlIGlucHV0cyBwbGVhc2UgY2hlY2sgW0NvbmZpZ3VyYXRpb24gRmlsZV17QGxpbmsgLi4vYWRkaXRpb25hbC1kb2N1bWVudGF0aW9uL2NvbmZpZy1maWxlLmh0bWx9XHJcbiAqICFbU2NyZWVuc2hvdC0xXSguLi9zY3JlZW5zaG90cy9keW5hbWljVGFibGUucG5nKVxyXG4gKlxyXG4gKiAjIyMgcmVsYXRlZCBMaW5rczpcclxuICogLSBbUGFnaW5hdGlvbiBDb21wb25lbnRde0BsaW5rIFBhZ2luYXRpb25Db21wb25lbnR9XHJcbiAqIC0gW0R5bmFtaWMgVGFibGVde0BsaW5rIER5bmFtaWNUYWJsZUNvbXBvbmVudH1cclxuICogLSBbQ29uZmlndXJhdGlvbiBGaWxlXXtAbGluayAuLi9hZGRpdGlvbmFsLWRvY3VtZW50YXRpb24vY29uZmlnLWZpbGUuaHRtbH1cclxuICpcclxuICogQHRpdGxlXHJcbiAqIERhdGEgVGFibGVcclxuICpcclxuICogQGV4YW1wbGVcclxuICpcclxuICogPGN0cy10YWJsZVxyXG4gKiAgICAgW3Jvd3NdPVwicm93c1wiXHJcbiAqICAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcclxuICogICAgIFtyZXNwb25zaXZlQ29sdW1uc109XCJyZXNwb25zaXZlQ29sdW1uc1wiXHJcbiAqICAgICBbcm93Q3Vyc29yXT1cInJvd0N1cnNvclwiXHJcbiAqICAgICBbZnVsbFdpZHRoXT1cImZ1bGxXaWR0aFwiXHJcbiAqICAgICBbZW50aXR5VHlwZV09XCJlbnRpdHlUeXBlXCJcclxuICogICAgIFtwcmVmaXhdPVwicHJlZml4XCJcclxuICogICAgIFt0b3RhbFJlY29yZHNdPVwidG90YWxSZWNvcmRzXCJcclxuICogICAgIFt0YWJsZU1vZGVdPVwidGFibGVNb2RlXCJcclxuICogICAgIFt0YWJsZUFjdGlvbnNdPVwidGFibGVBY3Rpb25zXCJcclxuICogICAgIChvblJvd1NlbGVjdGVkKT1cInJvd0RldGFpbHMoJGV2ZW50KVwiXHJcbiAqICAgICAoYWN0aW9uT25Sb3cpPVwicGVyZm9ybUFjdGlvbigkZXZlbnQpXCJcclxuICogICAgIChvblNvcnRpbmcpPVwib25Tb3J0KCRldmVudClcIlxyXG4gKiAgPjwvY3RzLXRhYmxlPlxyXG4gKlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjdHMtdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8qKiBldmVudCB0byBlbWl0IHdoZW4gc2VsZWN0aW5nIHNpbmdsZSByb3cgKi9cclxuICBAT3V0cHV0KCkgb25Sb3dTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvKiogZXZlbnQgdG8gZW1pdCB3aGVuIHNlbGVjdGluZyBzaW5nbGUgcm93IHRvIGNhdGNoIGluZGV4Ki9cclxuICBAT3V0cHV0KCkgb25Sb3dJbmRleFNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKiBldmVudCB0byBlbWl0IHdoZW4gc2VsZWN0aW5nIHNpbmdsZSByb3cgSWNvbiAqL1xyXG4gIEBPdXRwdXQoKSBvbkljb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvKiogZXZlbnQgdG8gZW1pdCB3aGVuIHBlcmZvcm0gYWN0aW9uIG9uIHJvdyAoZGVsdGUsIGVkaXQsIC4uLiApICovXHJcbiAgQE91dHB1dCgpIGFjdGlvbk9uUm93ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKiBldmVudCB0IGVtaXQgd2hlbiBzb3J0aW5nIHRhYmxlICovXHJcbiAgQE91dHB1dCgpIG9uU29ydGluZyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIC8qKiBldmVudCB0IGVtaXQgd2hlbiBzZWxlY3RpbmcgbXVsdGlwbGUgcm93ICovXHJcbiAgQE91dHB1dCgpIG9uTXVsdGlSb3dTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvKiogYXJheSBvZiByb3dzIHBhc3NlZCBmcm9tIG91dCBzaWRlIHRoZSBjb21wb25lbnQgKi9cclxuICBASW5wdXQoKSByb3dzO1xyXG4gIC8qKiBhcnJheSBvZiBjb2x1bW5zIHBhYXNlZCBmcm9tIG91dCBzaWRlIHRoZSBjb21wb25lbnQgKi9cclxuICBASW5wdXQoKSBjb2x1bW5zO1xyXG4gIC8qKiBhcnJheSBvZiBjb2x1bW5zIHBhYXNlZCBmcm9tIG91dCBzaWRlIHRoZSBjb21wb25lbnQgZm9yIHNtYWxsZXIgc2NyZWVucyAqL1xyXG4gIEBJbnB1dCgpIHJlc3BvbnNpdmVDb2x1bW5zO1xyXG4gIC8qKiB0byBkZWZpbmUgdGhlIHBhZ2UgaW4gd2hpY2ggdGFibGUgaXMgYmVpbmcgdXNlZCAqL1xyXG4gIEBJbnB1dCgpIGVudGl0eVR5cGU6IHN0cmluZyA9ICcnO1xyXG4gIC8qKiBzdGF0aWMgIHBhdGggZm9yIHRyYW5zbGF0aW9uIHBhc3NlZCBmcm9tIG91dCBzaWRlIGFjY29yZGluZyB0byBlYWNoIHBhZ2UgdHJhbnNsYXRpb24gcGF0aCAqL1xyXG4gIEBJbnB1dCgpIHByZWZpeCA9ICcnO1xyXG4gIC8qKiBAZGVwcmVjYXRlZCAqL1xyXG4gIEBJbnB1dCgpIHBhZ2VDb3VudDtcclxuICAvKiogVG90YWwgUmVjb3Jkc2NvdW50ICovXHJcbiAgQElucHV0KCkgdG90YWxSZWNvcmRzO1xyXG4gIC8qKiBAZGVwcmVjYXRlZCAqL1xyXG4gIEBJbnB1dCgpIHJvd0N1cnNvciA9IGZhbHNlO1xyXG4gIC8qKiBNYXggZnVsbCB3aWR0aCBpbiBQWCB8IGF1dG8gKi9cclxuICBASW5wdXQoKSBmdWxsV2lkdGggPSAnYXV0byc7XHJcbiAgLyoqIFZvY2FidWxhcnkgVHJhbnNsYXRpb24gcHJlZml4ICovXHJcbiAgQElucHV0KCkgdm9jSXRlbVRyYW5zbGF0aW9uUHJlZml4O1xyXG4gIC8qKiBUYWJsZSBNb2RlOiBsaXN0IHwgY2FyZCAqL1xyXG4gIEBJbnB1dCgpIHRhYmxlTW9kZSA9ICdsaXN0JztcclxuICAvKiogYWN0aW9uIHRvIGJlIGluIGNhcmQgbW9kZSAqL1xyXG4gIEBJbnB1dCgpIHRhYmxlQWN0aW9ucztcclxuICBASW5wdXQoKSBmb3JtYXQgPSBcIkVFRUUsIE1NTU0gZCwgeVwiO1xyXG4gIEBJbnB1dCgpIGRlZnVsdFNvcnQgPSBudWxsO1xyXG4gIGxhbmdTdWJzY3JpcHRpb24gOiBTdWJzY3JpcHRpb247XHJcbiAgQElucHV0KCkgaGlnaGxpZ2h0U2VsZWN0ZWRDYXJkID0gZmFsc2U7XHJcblxyXG4gIC8qKiBhbGxvdyBtdWx0aXNlbGVjdCByb3dzIHdpdGggY2hlY2tib3ggKi9cclxuICBASW5wdXQoKSBtdWx0aVNlbGVjdFJvd3MgPSBmYWxzZTtcclxuXHJcbiAgLyoqIGZsYWdlIHVzZWQgdG8gZGlzYWJsZSBhY3Rpb25zIGlmIHRoZXJlIHdhcyBtdWx0aSBzZWxlY3RlZCByb3dzICovXHJcbiAgZGlzYWJsZWRBY3Rpb25zID0gZmFsc2U7XHJcbiAgaXNBcmFiaWMgPSBmYWxzZTtcclxuICB0YWJsZVdpZHRoID0gJ2F1dG8nO1xyXG4gIHRhYmxlQ29sdW1ucyA9IFtdO1xyXG4gIGN1cnJlbnRSb3c7XHJcbiAgc2VsZWN0ZWQgPSBbXTtcclxuICBwYWdlTnVtYmVyID0gMTtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbnV4ZW9TZXJ2aWNlOiBOdXhlb1NlcnZpY2UsIHByaXZhdGUgYXBwQ29uZmlnIDogQXBwQ29uZmlnU2VydmljZSxwcml2YXRlIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvblNlcnZpY2UpIHtcclxuICAgIHRoaXMuZm9ybWF0ID0gdGhpcy5hcHBDb25maWcubXlDb25maWd1cmF0aW9uWydkYXRlRm9ybWF0ZSddO1xyXG4gICAgdGhpcy5sYW5nU3Vic2NyaXB0aW9uID0gdGhpcy50cmFuc2xhdGlvbi5pc0FyYWJpYy5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgdGhpcy5pc0FyYWJpYyA9IHJlcztcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMub25SZXNpemUod2luZG93LmlubmVyV2lkdGgpO1xyXG4gIH1cclxuXHJcbiAgLy8gZnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQgd2hlbiBjbGlja2luZyBvbiBzaW5nbGUgcm93XHJcbiAgcm93RGV0YWlscyhldmVudCkge1xyXG4gICAgaWYgKGV2ZW50LnR5cGUgIT09ICdtb3VzZWVudGVyJykge1xyXG4gICAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2NsaWNrJyAmJiBldmVudC5jb2x1bW4ucHJvcCAhPT0gJycgKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50Um93ID0gZXZlbnQucm93O1xyXG4gICAgICAgIHRoaXMub25Sb3dTZWxlY3RlZC5lbWl0KHRoaXMuY3VycmVudFJvdyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgaWNvblNlbGVjdGVkKGV2ZW50OiBNb3VzZUV2ZW50LCByb3cpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5vbkljb25TZWxlY3RlZC5lbWl0KHJvdyk7XHJcbiAgfVxyXG5cclxuICAvL2Z1bmN0aW9uIHRvIGhhbmRsZSBhbGwgb3BlcmF0aW9ucyBvbiBzaW5nbGUgcm93IChkZWxldGUgLCBlZGl0ICwgLi4uKVxyXG4gIHBlcmZvcm1BY3Rpb24oc2luZ2xlUm93LCBhY3Rpb25UeXBlKSB7XHJcbiAgICBpZighdGhpcy5kaXNhYmxlZEFjdGlvbnMpXHJcbiAgICB0aGlzLmFjdGlvbk9uUm93LmVtaXQoe1xyXG4gICAgICB0eXBlOiBhY3Rpb25UeXBlLFxyXG4gICAgICByb3c6IHNpbmdsZVJvdyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gaGFuZGxlIGNoZWNrYm94IGlmIHRhYmxlIGhhcyBvbmVzXHJcbiAgb25TZWxlY3QoZXZlbnQpIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKCdvbiBzZWxlY3Qgcm93IGNsaWNrJyk7XHJcbiAgICB0aGlzLm9uTXVsdGlSb3dTZWxlY3RlZC5lbWl0KGV2ZW50LnNlbGVjdGVkKTtcclxuICAgIGlmKHRoaXMubXVsdGlTZWxlY3RSb3dzICYmIGV2ZW50LnNlbGVjdGVkLmxlbmd0aCA+IDApe1xyXG4gICAgICB0aGlzLmRpc2FibGVkQWN0aW9ucyA9IHRydWU7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5kaXNhYmxlZEFjdGlvbnMgPSBmYWxzZVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gaGFuZGxlIHNvcnRpbmcgZnVuY3Rpb25hbGl0eSBvZiB0aGUgdGFibGVcclxuICBvblNvcnQoZXZlbnQpIHtcclxuICAgIGxldCBzb3J0ID0ge1xyXG4gICAgICBzb3J0Qnk6IGV2ZW50LmNvbHVtbi5oZWFkZXJDbGFzcyxcclxuICAgICAgc29ydE9yZGVyOiBldmVudC5uZXdWYWx1ZSxcclxuICAgIH07XHJcbiAgICB0aGlzLm9uU29ydGluZy5lbWl0KHNvcnQpO1xyXG4gIH1cclxuXHJcbiAgYXNzaWduVGFibGVDb2x1bW5zKGV2ZW50KSB7XHJcbiAgICB0aGlzLm9uUmVzaXplKGV2ZW50LnRhcmdldC5pbm5lcldpZHRoKTtcclxuICB9XHJcblxyXG4gIG9uUmVzaXplKHdpZHRoKSB7XHJcbiAgICBpZiAod2lkdGggPiAxNDAwKSB7XHJcbiAgICAgIHRoaXMudGFibGVXaWR0aCA9ICdhdXRvJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudGFibGVXaWR0aCA9IHRoaXMuZnVsbFdpZHRoO1xyXG4gICAgfVxyXG4gICAgaWYgKHdpZHRoIDwgNzY4KSB7XHJcbiAgICAgIHRoaXMudGFibGVDb2x1bW5zID0gW107XHJcbiAgICAgIHRoaXMudGFibGVDb2x1bW5zID0gdGhpcy5yZXNwb25zaXZlQ29sdW1ucztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudGFibGVDb2x1bW5zID0gW107XHJcbiAgICAgIHRoaXMudGFibGVDb2x1bW5zID0gdGhpcy5jb2x1bW5zO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2FyZFNlbGVjdGVkKGNhcmQpIHtcclxuICAgIGlmICh0aGlzLmhpZ2hsaWdodFNlbGVjdGVkQ2FyZCkge1xyXG4gICAgICB0aGlzLnJvd3MubWFwKHJvdyA9PiB7XHJcbiAgICAgICAgcm93Wydpc1NlbGVjdGVkJ10gPSBmYWxzZTtcclxuICAgICAgfSlcclxuICAgICAgY2FyZFsnaXNTZWxlY3RlZCddID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHRoaXMub25Sb3dTZWxlY3RlZC5lbWl0KGNhcmQpO1xyXG4gIH1cclxuXHJcbiAgY2FyZEZvY3VzZWQoaW5kZXgpIHtcclxuICAgIHRoaXMub25Sb3dJbmRleFNlbGVjdGVkLmVtaXQoaW5kZXgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtzdHlsZV09XCInd2lkdGg6JyArIHRhYmxlV2lkdGhcIiAqbmdJZj1cInRhYmxlTW9kZSA9PT0gJ2xpc3QnXCI+XHJcbiAgPG5neC1kYXRhdGFibGVcclxuICAgIGNsYXNzPVwibGFyZ2UtdGFibGVcIlxyXG4gICAgW3Jvd3NdPVwicm93c1wiXHJcbiAgICBbY29sdW1uTW9kZV09XCInZm9yY2UnXCJcclxuICAgIFtleHRlcm5hbFNvcnRpbmddPVwidHJ1ZVwiXHJcbiAgICAoYWN0aXZhdGUpPVwicm93RGV0YWlscygkZXZlbnQpXCJcclxuICAgIChzZWxlY3QpPVwib25TZWxlY3QoJGV2ZW50KVwiXHJcbiAgICAoc29ydCk9XCJvblNvcnQoJGV2ZW50KVwiXHJcbiAgICAod2luZG93OnJlc2l6ZSk9XCJhc3NpZ25UYWJsZUNvbHVtbnMoJGV2ZW50KVwiXHJcbiAgICBbcm93SGVpZ2h0XT1cIidhdXRvJ1wiXHJcbiAgICBbc2VsZWN0ZWRdPVwic2VsZWN0ZWRcIlxyXG4gICAgW3NlbGVjdGlvblR5cGVdPVwibXVsdGlTZWxlY3RSb3dzID8gJ2NoZWNrYm94JyA6ICdzaW5nbGUnXCJcclxuICAgIFtzb3J0c109XCJbeyBwcm9wOiBkZWZ1bHRTb3J0Py5uYW1lLCBkaXI6IGRlZnVsdFNvcnQ/LmRpciB9XVwiXHJcbiAgPlxyXG5cclxuICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cclxuICAqbmdJZj1cIm11bHRpU2VsZWN0Um93c1wiXHJcbiAgW3dpZHRoXT1cIjMwXCJcclxuICBbc29ydGFibGVdPVwiZmFsc2VcIlxyXG4gIFtwcm9wXT1cIicnXCJcclxuICBbY2FuQXV0b1Jlc2l6ZV09XCJmYWxzZVwiXHJcbiAgW2RyYWdnYWJsZV09XCJmYWxzZVwiXHJcbiAgW3Jlc2l6ZWFibGVdPVwiZmFsc2VcIlxyXG4+XHJcbiAgPG5nLXRlbXBsYXRlXHJcbiAgICBuZ3gtZGF0YXRhYmxlLWhlYWRlci10ZW1wbGF0ZVxyXG4gICAgbGV0LXZhbHVlPVwidmFsdWVcIlxyXG4gICAgbGV0LWFsbFJvd3NTZWxlY3RlZD1cImFsbFJvd3NTZWxlY3RlZFwiXHJcbiAgICBsZXQtc2VsZWN0Rm49XCJzZWxlY3RGblwiXHJcbiAgPlxyXG4gICAgPCEtLSA8aW5wdXQgY2xhc3M9XCJjaGVja2JveC1pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cImFsbFJvd3NTZWxlY3RlZFwiIChjaGFuZ2UpPVwic2VsZWN0Rm4oIWFsbFJvd3NTZWxlY3RlZClcIiAvPiAtLT5cclxuICAgIDxtYXQtY2hlY2tib3ggY29sb3I9XCJwcmltYXJ5XCIgW2NoZWNrZWRdPVwiYWxsUm93c1NlbGVjdGVkXCIgKGNoYW5nZSk9XCJzZWxlY3RGbighYWxsUm93c1NlbGVjdGVkKVwiPlxyXG4gIDwvbWF0LWNoZWNrYm94PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPG5nLXRlbXBsYXRlXHJcbiAgICBuZ3gtZGF0YXRhYmxlLWNlbGwtdGVtcGxhdGVcclxuICAgIGxldC12YWx1ZT1cInZhbHVlXCJcclxuICAgIGxldC1pc1NlbGVjdGVkPVwiaXNTZWxlY3RlZFwiXHJcbiAgICBsZXQtb25DaGVja2JveENoYW5nZUZuPVwib25DaGVja2JveENoYW5nZUZuXCJcclxuICA+XHJcbiAgICA8IS0tIDxpbnB1dCBjbGFzcz1cImNoZWNrYm94LWlucHV0XCIgdHlwZT1cImNoZWNrYm94XCIgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZFwiIChjaGFuZ2UpPVwib25DaGVja2JveENoYW5nZUZuKCRldmVudClcIiAvPiAtLT5cclxuICAgIDxtYXQtY2hlY2tib3ggY29sb3I9XCJwcmltYXJ5XCIgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZFwiIChjaGFuZ2UpPVwib25DaGVja2JveENoYW5nZUZuKCFhbGxSb3dzU2VsZWN0ZWQpXCI+XHJcbiAgICA8L21hdC1jaGVja2JveD5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG4gICAgPCEtLSB8IHRyYW5zbGF0ZSAtLT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiB0YWJsZUNvbHVtbnM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqcGVybWlzc2lvbj1cIntuYW1lOiBjb2x1bW4ucGVybWlzc2lvbn1cIj5cclxuICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgICAgICAgKm5nSWY9XCJjb2x1bW4uZGlzcGxheVwiXHJcbiAgICAgICAgW3NvcnRhYmxlXT1cImNvbHVtbi5zb3J0YWJsZVwiXHJcbiAgICAgICAgW25hbWVdPVwicHJlZml4ICsgY29sdW1uLm5hbWUgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIFtwcm9wXT1cImNvbHVtbi5wcm9wXCJcclxuICAgICAgICBbcmVzaXplYWJsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgW2RyYWdnYWJsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgW21heFdpZHRoXT1cImNvbHVtbi5zaXplXCJcclxuICAgICAgICBbaGVhZGVyQ2xhc3NdPVwiY29sdW1uLmhlYWRlckNsYXNzID8gY29sdW1uLmhlYWRlckNsYXNzIDogJydcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgICBsZXQtcm93PVwicm93XCJcclxuICAgICAgICAgIGxldC12YWx1ZT1cInZhbHVlXCJcclxuICAgICAgICAgIGxldC1pbmRleD1cImluZGV4XCJcclxuICAgICAgICAgIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udHlwZSA9PT0gJ3RleHQnXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsLXRleHQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIHt7IHZhbHVlID8gdmFsdWUgOiBcIi0tXCIgfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLnR5cGUgPT09ICd2b2NhYnVsYXJ5J1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbC10ZXh0LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8Y3RzLWRyb3Bkb3duLXZpZXdlclxyXG4gICAgICAgICAgICAgICAgW3dpdGhPdXRMYWJlbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICBbZHJvcGRvd25JZF09XCJjb2x1bW4udm9jYWJ1bGFyeUlkXCJcclxuICAgICAgICAgICAgICA+PC9jdHMtZHJvcGRvd24tdmlld2VyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udHlwZSA9PT0gJ1ZvY0NlbGwnXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsLXRleHQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIHt7ICh2YWx1ZSA/IGNvbHVtbi52b2NhYnVsYXJ5SWQgKyAnLicgKyB2YWx1ZSA6IFwiLS1cIikgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50eXBlID09PSAnVm9jSXRlbSdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGwtdGV4dC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAge3sgdm9jSXRlbVRyYW5zbGF0aW9uUHJlZml4ICsgdmFsdWUgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udHlwZSA9PT0gJ2RlcGFydG1lbnQnXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsLXRleHQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxjdHMtZGVwYXJ0bWVudC12aWV3ZXJcclxuICAgICAgICAgICAgICAgIFtub1N0eWxlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPC9jdHMtZGVwYXJ0bWVudC12aWV3ZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50eXBlID09PSAnc3RhdHVzJ1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlIHt7IHZhbHVlIH19XCI+e3tcclxuICAgICAgICAgICAgICAgIFwiU1RBVFMuXCIgKyB2YWx1ZSB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udHlwZSA9PT0gJ3JvbGUnXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsLXRleHQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIHt7IFwicm9sZS5cIiArICh2YWx1ZSA/IHZhbHVlIDogXCItLVwiKSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udHlwZSA9PT0gJ2RpcmVjdGlvbidcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJpY29uU2VsZWN0ZWQoJGV2ZW50LCByb3cpXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInN0YXR1cy13cmFwcGVyIHt7IHZhbHVlIH19IHt7IHJvdy5zdGF0ZSB9fVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImluZXItc3RhdHVzLXdyYXBwZXJcIiBtYXRUb29sdGlwPVwie3sgJ1NUQVRTLicgKyByb3cuc3RhdGUgfCB0cmFuc2xhdGUgfX1cIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBlcm1pc3Npb249XCJ7IG5hbWU6ICdpc0Zhdm9yaXRlJywgZW50aXR5OiByb3cgfVwiID5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYXYtaWNvbi1pbmRpY2F0b3IgYmkgYmktc3Rhci1maWxsXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImJpIGJpLWJveC1hcnJvdy1kb3duXCJcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJyb3cudHlwZSA9PT0gJ0luY29taW5nQ29ycmVzcG9uZGVuY2UnXCJcclxuICAgICAgICAgICAgICAgID48L2k+XHJcbiAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImJpIGJpLWJveC1hcnJvdy11cCBvdXRnb2luZ1wiXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwicm93LnR5cGUgPT09ICdPdXRnb2luZ0NvcnJlc3BvbmRlbmNlJ1wiXHJcbiAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiaSBiaS1ib3gtYXJyb3ctcmlnaHQgaW50ZXJuYWxcIlxyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cInJvdy50eXBlID09PSAnSW50ZXJuYWxDb3JyZXNwb25kZW5jZSdcIlxyXG4gICAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cInZhbHVlIHt7IHZhbHVlIH19XCI+e3sgXCJTVEFUUy5cIiArIHZhbHVlIHwgdHJhbnNsYXRlIH19PC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLnR5cGUgPT09ICdhY3Rpb25zJyAmJiByb3dzLmxlbmd0aCAhPT0gMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImRpc2FibGVkQWN0aW9ucyA/ICdkaXNhYmxlZC1hY3Rpb25zLXdyYXBwZXInIDogJ2FjdGlvbnMtd3JhcHBlcidcIj5cclxuICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwiYmkgYmktdHJhc2ggZGVsZXRlLWljb25cIiAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3cgLCAnZGVsZXRlJylcIj48L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJpIGJpLXBlbmNpbC1zcXVhcmUgZWRpdC1pY29uXCJcclxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eyAnVVBEQVRFJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3csICdlZGl0JylcIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJlbnRpdHlUeXBlID09PSAndm9jLXRhYmxlJ1wiXHJcbiAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJiaSBiaS10cmFzaFwiXHJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwie3sgJ2RlbGV0ZScgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInBlcmZvcm1BY3Rpb24ocm93LCAnZGVsZXRlJylcIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgICAgICAgICAgZW50aXR5VHlwZSA9PT0gJ3ZvYy10YWJsZScgfHwgZW50aXR5VHlwZSA9PT0gJ2RlcGFydG1lbnQnIHx8XHJcbiAgICAgICAgICAgICAgICAgIGVudGl0eVR5cGUgPT09ICdzaWduZXJzJ1xyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICA+PC9pPlxyXG5cclxuICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiYmkgYmktcGx1cy1zcXVhcmVcIlxyXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eyAnVVNFUl9NQU5HTUVOVC5hZGRUb0RlcGFydG1lbnQnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3csICdkZWxldGUnKVwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJlbnRpdHlUeXBlID09PSAndXNlcnMnICYmIHJvdy5pc0luaXRpYWxcIlxyXG4gICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGNvbHVtbi5hY3Rpb25zXCI+XHJcbiAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogYWN0aW9uLnBlcm1pc3Npb24sIGVudGl0eTogcm93ICwgdXNlcjogbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXJ9XCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ7eyBhY3Rpb24uaWNvbiB9fVwiXHJcbiAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eyBhY3Rpb24udG9vbHRpcCB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwZXJmb3JtQWN0aW9uKHJvdywgYWN0aW9uLmFjdGlvbk5hbWUpXCJcclxuICAgICAgICAgICAgICAgID48L2k+XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICA8IS0tIDxpXHJcbiAgICAgICAgICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogJ3JlZ2lzdGVyQ29ycmVzcG9uZGFuY2UnLCBlbnRpdHk6IHJvdyB9XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmkgYmktYm94LWFycm93LWluLXJpZ2h0XCJcclxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eyAnTElTVElORy5SRUdJU1RFUicgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInBlcmZvcm1BY3Rpb24ocm93LCAncmVnaXN0ZXInKVwiXHJcbiAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgKnBlcm1pc3Npb249XCJ7IG5hbWU6ICdzZW5kQ29ycmVzcG9uZGFuY2UnLCBlbnRpdHk6IHJvdyB9XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmkgYmktZW52ZWxvcGVcIlxyXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7ICdMSVNUSU5HLlNFTkQnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJwZXJmb3JtQWN0aW9uKHJvdywgJ3NlbmQnKVwiXHJcbiAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgKnBlcm1pc3Npb249XCJ7IG5hbWU6ICdjbG9zZUNvcnJlc3BvbmRhbmNlJywgZW50aXR5OiByb3cgfVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJpIGJpLXgtY2lyY2xlXCJcclxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eyAnTElTVElORy5DTE9TRScgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInBlcmZvcm1BY3Rpb24ocm93LCAnY2xvc2UnKVwiXHJcbiAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgKnBlcm1pc3Npb249XCJ7IG5hbWU6ICdhcmNoaXZlQ29ycmVzcG9uZGFuY2UnLCBlbnRpdHk6IHJvdyB9XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmkgYmktZm9sZGVyLXN5bWxpbmtcIlxyXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7ICdMSVNUSU5HLkFSQ0hJVkUnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJwZXJmb3JtQWN0aW9uKHJvdywgJ2FyY2hpdmUnKVwiXHJcbiAgICAgICAgICAgICAgPjwvaT4gLS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50eXBlID09PSAnZGF0ZSdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGwtdGV4dC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGN0cy1kYXRlLXZpZXdlclxyXG4gICAgICAgICAgICAgICAgW3dpdGhPdXRMYWJlbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgPjwvY3RzLWRhdGUtdmlld2VyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50eXBlID09PSAnY3VzdG9tJ1wiPlxyXG4gICAgICAgICAgICA8Y3RzLWR5bmFtaWMtY29sdW1uXHJcbiAgICAgICAgICAgIFtpZF09XCJjb2x1bW4udGVtcGxhdGVcIlxyXG4gICAgICAgICAgICBbY29sdW1uXT1cImNvbHVtblwiXHJcbiAgICAgICAgICAgIFtjb250ZXh0XT1cInJvd1wiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L2N0cy1keW5hbWljLWNvbHVtbj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25neC1kYXRhdGFibGU+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cInRhYmxlTW9kZSA9PT0gJ2NhcmQnXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmRzLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNpbmdsZS1jYXJkXCIgKm5nRm9yPVwibGV0IHJvdyBvZiByb3dzOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtZW1vLXRpdGxlXCI+XHJcbiAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICB7eyByb3cucHJvcGVydGllcy5yZWZlcmVuY2VOdW1iZXIgfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb24td3JhcFwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb25cIiAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIHRhYmxlQWN0aW9uc1wiPlxyXG4gICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICpwZXJtaXNzaW9uPVwieyBuYW1lOiBhY3Rpb24ucGVybWlzc2lvbiwgZW50aXR5OiByb3cgLCB1c2VyOiBudXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlcn1cIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwie3sgYWN0aW9uLmljb24gfX1cIlxyXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eyBhY3Rpb24udG9vbHRpcCB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInBlcmZvcm1BY3Rpb24ocm93LCBhY3Rpb24uYWN0aW9uTmFtZSlcIlxyXG4gICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogJ2RlbGV0ZU1lbW8nLCBlbnRpdHk6IHJvdyAsIHVzZXI6IG51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyfVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJwZXJmb3JtQWN0aW9uKHJvdywgJ2RlbGV0ZU1lbW8nKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJiaSBiaS10cmFzaFwiXHJcbiAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7ICdMSVNUSU5HLk9OTFlfREVMRVRFJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgID48L2k+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICpwZXJtaXNzaW9uPVwieyBuYW1lOiAndGVybWluYXRlRGVsZWdhdGlvbicsIGVudGl0eTogcm93ICwgdXNlcjogbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXJ9XCJcclxuICAgICAgICAgIChjbGljayk9XCJwZXJmb3JtQWN0aW9uKHJvdywgJ3Rlcm1pbmF0ZURlbGVnYXRpb24nKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGlcclxuICAgICAgICAgICAgY2xhc3M9XCJiaSBiaS10cmFzaFwiXHJcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eyAnTElTVElORy5DQU5DRUwnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgID48L2k+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzcz1cInB1Ymxpc2gtc3RhdGVcIlxyXG4gICAgICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogJ21lbW9QdWJsaXNoZWQnLCBlbnRpdHk6IHJvdyAsIHVzZXI6IG51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyfVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IFwiTUVNT1MuUFVCTElTSEVEXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicHVibGlzaC1zdGF0ZVwiXHJcbiAgICAgICAgICAgICpwZXJtaXNzaW9uPVwieyBuYW1lOiAnZGVsZWdhdGlvbkZpbmlzaGVkJywgZW50aXR5OiByb3cgLCB1c2VyOiBudXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlcn1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyBcImRlbGVnYXRpb25zLmZpbmlzaGVkXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicHVibGlzaC1zdGF0ZVwiXHJcbiAgICAgICAgICAgICpwZXJtaXNzaW9uPVwieyBuYW1lOiAnZGVsZWdhdGlvbkFjdGl2ZScsIGVudGl0eTogcm93ICwgdXNlcjogbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXJ9XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgXCJkZWxlZ2F0aW9ucy5hY3RpdmVcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cIm1lbW8tYm9keVwiXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IHByb3BlcnR5IG9mIGNvbHVtbnNcIlxyXG4gICAgICAgIChjbGljayk9XCJjYXJkU2VsZWN0ZWQocm93KTtjYXJkRm9jdXNlZChpKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwia2V5XCIgKm5nSWY9XCJwcm9wZXJ0eS50eXBlICE9PSAnZGVmYXVsdCdcIj57eyBwcmVmaXggKyBwcm9wZXJ0eS5rZXkgfCB0cmFuc2xhdGUgfX08L2Rpdj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJvcGVydHkudHlwZSA9PT0gJ2RlZmF1bHQnXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwia2V5XCIgKnBlcm1pc3Npb249XCJ7IG5hbWU6ICdpbnRlcm5hbElzRW5hYmxlZCcsIGVudGl0eTogcm93ICwgdXNlcjogbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXJ9XCI+XHJcbiAgICAgICAgICAgIHt7IHByZWZpeCArIHByb3BlcnR5LmtleSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiICpuZ0lmPVwicHJvcGVydHkudHlwZSA9PT0gJ3RleHQnXCI+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wcm9wZXJ0aWVzW3Byb3BlcnR5LnZhbHVlXSB9fVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiICpuZ0lmPVwicHJvcGVydHkudHlwZSA9PT0gJ3VzZXInXCI+XHJcbiAgICAgICAgICAgIHt7IHJvdy5wcm9wZXJ0aWVzW3Byb3BlcnR5LnZhbHVlXS5mdWxsTmFtZSB9fVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiICpuZ0lmPVwicHJvcGVydHkudHlwZSA9PT0gJ2RhdGUnXCI+XHJcbiAgICAgICAgICAgIHt7cm93LnByb3BlcnRpZXNbcHJvcGVydHkudmFsdWVdIHwgbG9jYWxpemVkRGF0ZTpmb3JtYXQ6KGlzQXJhYmljPyAnYXItQVInIDogJ2VuLVVTJyl9fVxyXG4gICAgICAgICAgICA8IS0tIDxjdHMtZGF0ZS12aWV3ZXIgW3dpdGhPdXRMYWJlbF09XCJ0cnVlXCIgW3ZhbHVlXT1cInJvdy5wcm9wZXJ0aWVzW3Byb3BlcnR5LnZhbHVlXVwiID48L2N0cy1kYXRlLXZpZXdlcj4gLS0+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgKm5nSWY9XCJwcm9wZXJ0eS50eXBlID09PSAnYm9vbGVhbidcIj5cclxuICAgICAgICAgICAge3sgKHJvdy5wcm9wZXJ0aWVzW3Byb3BlcnR5LnZhbHVlXSA/ICdZZXMnOidObycpIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9wZXJ0eS50eXBlID09PSAnZGVmYXVsdCdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRcIiAqcGVybWlzc2lvbj1cInsgbmFtZTogJ2ludGVybmFsSXNFbmFibGVkJywgZW50aXR5OiByb3cgLCB1c2VyOiBudXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlcn1cIj5cclxuICAgICAgICAgICAgICB7eyByb3cucHJvcGVydGllc1twcm9wZXJ0eS52YWx1ZV0gfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9wZXJ0eS50eXBlID09PSAnY3VzdG9tJ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygcm93LnByb3BlcnRpZXNbcHJvcGVydHkudmFsdWVdXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBpdGVtIHwgdHJhbnNsYXRlIH19IHt7XCIsIFwiIH19XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwidGFibGVNb2RlID09PSAnZHluYW1pY0NhcmQnXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmRzLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNpbmdsZS1jYXJkXCIgW25nQ2xhc3NdPVwieydzZWxlY3RlZC1jYXJkJzogaGlnaGxpZ2h0U2VsZWN0ZWRDYXJkICYmIHJvdz8uaXNTZWxlY3RlZH1cIiAqbmdGb3I9XCJsZXQgcm93IG9mIHJvd3NcIj5cclxuICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbnMubGVuZ3RoID4gMVwiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwibWVtby1ib2R5XCJcclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBwcm9wZXJ0eSBvZiBjb2x1bW5zXCJcclxuICAgICAgICAgIChjbGljayk9XCJjYXJkU2VsZWN0ZWQocm93KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImtleVwiPnt7IHByZWZpeCArIHByb3BlcnR5LmtleSB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgKm5nSWY9XCJwcm9wZXJ0eS50eXBlID09PSAndGV4dCdcIj5cclxuICAgICAgICAgICAgICB7eyByb3cucHJvcGVydGllc1twcm9wZXJ0eS52YWx1ZV0gfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgKm5nSWY9XCJwcm9wZXJ0eS50eXBlID09PSAnZGF0ZSdcIj5cclxuICAgICAgICAgICAgICB7eyByb3cucHJvcGVydGllc1twcm9wZXJ0eS52YWx1ZV0gfCBsb2NhbGl6ZWREYXRlOiBcIk1NTU0gZCwgeVwiIH19XHJcbiAgICAgICAgICAgICAgPCEtLSA8Y3RzLWRhdGUtdmlld2VyIFt3aXRoT3V0TGFiZWxdPVwidHJ1ZVwiIFt2YWx1ZV09XCJyb3cucHJvcGVydGllc1twcm9wZXJ0eS52YWx1ZV1cIiA+PC9jdHMtZGF0ZS12aWV3ZXI+IC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImluZXItY2FyZC1jb250YWluZXIge3tlbnRpdHlUeXBlfX1cIiAgKGNsaWNrKT1cImNhcmRTZWxlY3RlZChyb3cpXCIgKm5nSWY9XCJjb2x1bW5zLmxlbmd0aCA9PT0gMVwiPlxyXG4gICAgICAgIDxjdHMtZHluYW1pYy1jb2x1bW5cclxuICAgICAgICBbaWRdPVwiY29sdW1uc1swXS50ZW1wbGF0ZVwiXHJcbiAgICAgICAgW2NvbHVtbl09XCJjb2x1bW5zWzBdXCJcclxuICAgICAgICBbY29udGV4dF09XCJyb3dcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvY3RzLWR5bmFtaWMtY29sdW1uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -8,6 +8,7 @@ import { MatTooltipModule } from '@angular/material/tooltip';
|
|
|
8
8
|
import { DirectiveModule } from '../../directive/directive.module';
|
|
9
9
|
import { DynamicViewModule } from '../dynamic-view/dynamic-view.module';
|
|
10
10
|
import { DynamicColumnComponent } from './dynamic-column/dynamic-column.component';
|
|
11
|
+
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
/**
|
|
13
14
|
* @title
|
|
@@ -23,7 +24,7 @@ TableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
|
|
|
23
24
|
MatTooltipModule,
|
|
24
25
|
DirectiveModule,
|
|
25
26
|
DynamicViewModule,
|
|
26
|
-
|
|
27
|
+
MatCheckboxModule], exports: [TableComponent,
|
|
27
28
|
DynamicColumnComponent,
|
|
28
29
|
NgxDatatableModule] });
|
|
29
30
|
TableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: TableModule, imports: [[
|
|
@@ -34,7 +35,7 @@ TableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "1
|
|
|
34
35
|
MatTooltipModule,
|
|
35
36
|
DirectiveModule,
|
|
36
37
|
DynamicViewModule,
|
|
37
|
-
|
|
38
|
+
MatCheckboxModule
|
|
38
39
|
], NgxDatatableModule] });
|
|
39
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: TableModule, decorators: [{
|
|
40
41
|
type: NgModule,
|
|
@@ -48,7 +49,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
48
49
|
MatTooltipModule,
|
|
49
50
|
DirectiveModule,
|
|
50
51
|
DynamicViewModule,
|
|
51
|
-
|
|
52
|
+
MatCheckboxModule
|
|
52
53
|
],
|
|
53
54
|
exports: [
|
|
54
55
|
TableComponent,
|
|
@@ -57,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
57
58
|
]
|
|
58
59
|
}]
|
|
59
60
|
}] });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUUvRDs7O0dBR0c7QUFtQkgsTUFBTSxPQUFPLFdBQVc7O3dHQUFYLFdBQVc7eUdBQVgsV0FBVyxpQkFqQlAsY0FBYyxFQUFFLHNCQUFzQixhQUVuRCxZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLFdBQVc7UUFDWCxlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsaUJBQWlCLGFBR2pCLGNBQWM7UUFDZCxzQkFBc0I7UUFDdEIsa0JBQWtCO3lHQUdULFdBQVcsWUFoQmI7WUFDUCxZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLFdBQVc7WUFDWCxlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsaUJBQWlCO1NBQ2xCLEVBSUMsa0JBQWtCOzJGQUdULFdBQVc7a0JBbEJ2QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGNBQWMsRUFBRSxzQkFBc0IsQ0FBQztvQkFDdEQsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsaUJBQWlCO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUM7d0JBQ04sY0FBYzt3QkFDZCxzQkFBc0I7d0JBQ3RCLGtCQUFrQjtxQkFDbkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgTmd4RGF0YXRhYmxlTW9kdWxlIH0gZnJvbSAnQHN3aW1sYW5lL25neC1kYXRhdGFibGUnO1xyXG5pbXBvcnQgeyBQaXBlc01vZHVsZSB9IGZyb20gJy4uLy4uL3BpcGVzL3BpcGVzLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS90YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IERpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9kaXJlY3RpdmUubW9kdWxlJztcclxuaW1wb3J0IHsgRHluYW1pY1ZpZXdNb2R1bGUgfSBmcm9tICcuLi9keW5hbWljLXZpZXcvZHluYW1pYy12aWV3Lm1vZHVsZSc7XHJcbmltcG9ydCB7IER5bmFtaWNDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtY29sdW1uL2R5bmFtaWMtY29sdW1uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5cclxuLyoqXHJcbiAqIEB0aXRsZVxyXG4gKiBUYWJsZSBNb2R1bGVcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbVGFibGVDb21wb25lbnQsIER5bmFtaWNDb2x1bW5Db21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE5neERhdGF0YWJsZU1vZHVsZSxcclxuICAgIFBpcGVzTW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIERpcmVjdGl2ZU1vZHVsZSxcclxuICAgIER5bmFtaWNWaWV3TW9kdWxlLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6W1xyXG4gICAgVGFibGVDb21wb25lbnQsXHJcbiAgICBEeW5hbWljQ29sdW1uQ29tcG9uZW50LFxyXG4gICAgTmd4RGF0YXRhYmxlTW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -17,7 +17,7 @@ export class SpinnerComponent {
|
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
SpinnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
-
SpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: SpinnerComponent, selector: "cts-spinner", ngImport: i0, template: "<div class=\"spiner-container\">\r\n <mat-spinner\r\n [value]=\"90\"\r\n [strokeWidth]=\"3\"\r\n overlay=\"true\"\r\n [diameter]=\"25\"\r\n color=\"warn\"\r\n >\r\n </mat-spinner>\r\n</div>\r\n", styles: [".spiner-container{position:absolute;bottom:12px;width:100%;display:flex;justify-content:flex-start
|
|
20
|
+
SpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: SpinnerComponent, selector: "cts-spinner", ngImport: i0, template: "<div class=\"spiner-container\">\r\n <mat-spinner\r\n [value]=\"90\"\r\n [strokeWidth]=\"3\"\r\n overlay=\"true\"\r\n [diameter]=\"25\"\r\n color=\"warn\"\r\n >\r\n </mat-spinner>\r\n</div>\r\n", styles: [".spiner-container{position:absolute;bottom:12px;width:100%;display:flex;justify-content:flex-start}.spiner-container mat-spinner{position:relative}\n"], components: [{ type: i1.MatSpinner, selector: "mat-spinner", inputs: ["color"] }] });
|
|
21
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SpinnerComponent, decorators: [{
|
|
22
22
|
type: Component,
|
|
23
23
|
args: [{
|