nuxeo-development-framework 4.5.8 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (21) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +272 -161
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +2 -2
  4. package/esm2015/lib/components/dynamic-table/dynamic-table/dynamic-table.component.js +13 -11
  5. package/esm2015/lib/components/dynamic-table/dynamic-table.module.js +28 -4
  6. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/gregorian-datepicker/gregorian-datepicker.component.js +2 -2
  7. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-datepicker/hijri-datepicker.component.js +2 -2
  8. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-gregorian-datepicker.component.js +2 -2
  9. package/esm2015/lib/components/skeleton/index.js +3 -0
  10. package/esm2015/lib/components/skeleton/skeleton.component.js +66 -0
  11. package/esm2015/lib/components/skeleton/skeleton.module.js +18 -0
  12. package/esm2015/public-api.js +2 -1
  13. package/fesm2015/nuxeo-development-framework.js +245 -146
  14. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  15. package/lib/components/dynamic-table/dynamic-table/dynamic-table.component.d.ts +2 -2
  16. package/lib/components/dynamic-table/dynamic-table.module.d.ts +3 -1
  17. package/lib/components/skeleton/index.d.ts +2 -0
  18. package/lib/components/skeleton/skeleton.component.d.ts +22 -0
  19. package/lib/components/skeleton/skeleton.module.d.ts +8 -0
  20. package/package.json +1 -1
  21. package/public-api.d.ts +1 -0
@@ -5,12 +5,14 @@ import * as i0 from "@angular/core";
5
5
  import * as i1 from "../../../core/adapters/adapter.service";
6
6
  import * as i2 from "../../../core/services/callApi/call-api.service";
7
7
  import * as i3 from "../services/dynamic-table.service";
8
- import * as i4 from "../../table/table/table.component";
9
- import * as i5 from "../../../shared/components/spinner/spinner.component";
10
- import * as i6 from "../../pagination/pagination/pagination.component";
11
- import * as i7 from "../../table/page-sizes-list/page-sizes-list.component";
12
- import * as i8 from "@angular/common";
13
- import * as i9 from "@ngx-translate/core";
8
+ import * as i4 from "../../../shared/components/spinner/spinner.component";
9
+ import * as i5 from "../../pagination/pagination/pagination.component";
10
+ import * as i6 from "../../table/page-sizes-list/page-sizes-list.component";
11
+ import * as i7 from "../../table/table/table.component";
12
+ import * as i8 from "@angular/material/progress-spinner";
13
+ import * as i9 from "../../skeleton/skeleton.component";
14
+ import * as i10 from "@angular/common";
15
+ import * as i11 from "@ngx-translate/core";
14
16
  /**
15
17
  * this component is an additional layer that uses [Table Component]{@link TableComponent} internally,
16
18
  * you can use this component to configure a page provider listing out of the box easily,
@@ -61,7 +63,7 @@ export class DynamicTableComponent {
61
63
  this.onInitialize = new EventEmitter();
62
64
  /** Translations prefix */
63
65
  this.prefix = '';
64
- this.legacyLoading = true;
66
+ this.isLegacyMode = true;
65
67
  this.showTotalRecord = false;
66
68
  this._pageNumber = 1;
67
69
  /** Sorting column */
@@ -139,7 +141,7 @@ export class DynamicTableComponent {
139
141
  }
140
142
  : {})), { currentPageIndex: +this.pageNum - 1 }), (this.pageSize ? { pageSize: this.pageSize } : {})), { offset: 0 }), payload);
141
143
  // don't refresh all table in case of sorting only
142
- if (!this.sorting && this.legacyLoading) {
144
+ if (!this.sorting && this.isLegacyMode) {
143
145
  // used to not refreshing all table in case of sorting since table lose sorting state when refresh all table
144
146
  this.rows = []; // used to refresh table to feel changes in actions when perform action and need to refresh actions
145
147
  }
@@ -220,7 +222,7 @@ export class DynamicTableComponent {
220
222
  }
221
223
  }
222
224
  DynamicTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTableComponent, deps: [{ token: i1.AdapterService }, { token: i2.CallApiService }, { token: i3.DynamicTableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
223
- DynamicTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicTableComponent, selector: "cts-dynamic-table", inputs: { columns: "columns", responsiveColumns: "responsiveColumns", entityType: "entityType", prefix: "prefix", headers: "headers", fields: "fields", pageProvider: "pageProvider", pageSize: "pageSize", legacyLoading: "legacyLoading", showTotalRecord: "showTotalRecord", pageNumber: "pageNumber", sortingBy: "sortingBy", queryParam: "queryParam", customFilters: "customFilters", quickFilter: "quickFilter", report: "report", rowCursor: "rowCursor", fullWidth: "fullWidth", tableMode: "tableMode", componentName: "componentName", tableActions: "tableActions", defultSort: "defultSort", range: "range", isSearchPage: "isSearchPage", multiSelectRows: "multiSelectRows", customFirstRow: "customFirstRow", highlightSelectedCard: "highlightSelectedCard", showActionsAsMenu: "showActionsAsMenu", filterParams: "filterParams", skipAggregation: "skipAggregation", customUrl: "customUrl", format: "format", pageSizes: "pageSizes" }, outputs: { onRowSelected: "onRowSelected", onRowIndexSelected: "onRowIndexSelected", actionOnRow: "actionOnRow", onGettingData: "onGettingData", onMultiRowSelected: "onMultiRowSelected", onLoading: "onLoading", onPageChange: "onPageChange", onLoad: "onLoad", onInitialize: "onInitialize" }, host: { properties: { "class.loading-results": "loading", "class.no-data": "rows.length <= 0" } }, queries: [{ propertyName: "emptyTemplate", first: true, predicate: EMPTY_TEMPLATE, descendants: true, read: TemplateRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"wrapping table-wrapping \">\r\n\t<div class=\"table-reposition\">\r\n\t\t<cts-table\r\n\t\t\t*ngIf=\"!legacyLoading || (legacyLoading && rows.length)\"\r\n\t\t\t[rows]=\"rows\"\r\n\t\t\t[columns]=\"columns\"\r\n\t\t\t[responsiveColumns]=\"responsiveColumns\"\r\n\t\t\t[rowCursor]=\"rowCursor\"\r\n\t\t\t[fullWidth]=\"fullWidth\"\r\n\t\t\t[entityType]=\"entityType\"\r\n\t\t\t[prefix]=\"prefix\"\r\n\t\t\t[totalRecords]=\"totalRecords\"\r\n\t\t\t[tableMode]=\"tableMode\"\r\n\t\t\t[componentName]=\"componentName\"\r\n\t\t\t[multiSelectRows]=\"multiSelectRows\"\r\n\t\t\t[tableActions]=\"tableActions\"\r\n\t\t\t[showActionsAsMenu]=\"showActionsAsMenu\"\r\n\t\t\t[defultSort]=\"defultSort\"\r\n\t\t\t[format]=\"format\"\r\n\t\t\t[highlightSelectedCard]=\"highlightSelectedCard\"\r\n\t\t\t[customFirstRow]=\"customFirstRow\"\r\n\t\t\t(onRowSelected)=\"rowDetails($event)\"\r\n\t\t\t(onRowIndexSelected)=\"indexDetails($event)\"\r\n\t\t\t(onMultiRowSelected)=\"onMultiRowSelectValue($event)\"\r\n\t\t\t(actionOnRow)=\"performAction($event)\"\r\n\t\t\t(onSorting)=\"onSort($event)\"\r\n\t\t></cts-table>\r\n\t</div>\r\n\t<ng-container *ngIf=\"legacyLoading && loading\">\r\n\t\t<cts-spinner></cts-spinner>\r\n\t</ng-container>\r\n\t<div\r\n\t\tclass=\"pagination-iner-wraper d-flex justify-content-center align-items-center my-3\"\r\n\t\t[ngClass]=\"{ relative: pageSizes?.length }\"\r\n\t\t*ngIf=\"rows.length\"\r\n\t>\r\n\t\t<cts-pagination\r\n\t\t\t[page]=\"pageNum\"\r\n\t\t\t(change)=\"PaginationChange($event)\"\r\n\t\t\t[size]=\"pageSize\"\r\n\t\t\t[count]=\"totalRecords\"\r\n\t\t></cts-pagination>\r\n\t\t<div class=\"absolute ndfPageSizes flex gap-x-3 items-center\">\r\n\t\t\t<ndf-page-sizes-list\r\n\t\t\t\t*ngIf=\"pageSizes?.length\"\r\n\t\t\t\t[pageSizes]=\"pageSizes\"\r\n\t\t\t\t[selectedPageSize]=\"pageSize\"\r\n\t\t\t\t(onChangePageSize)=\"onChangePageSize($event)\"\r\n\t\t\t>\r\n\t\t\t</ndf-page-sizes-list>\r\n\r\n\t\t\t<span *ngIf=\"showTotalRecord\">{{ 'TABLE.totalRecords' | translate: { count: totalRecords } }}</span>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<ng-container\r\n\t\t[ngTemplateOutlet]=\"emptyTemplate || defaultEmptyState\"\r\n\t\t[ngTemplateOutletContext]=\"{ $implicit: loading, rows: rows }\"\r\n\t></ng-container>\r\n</div>\r\n\r\n<ng-template #defaultEmptyState>\r\n\t<div class=\"empty-state\" *ngIf=\"!loading && rows.length === 0\">\r\n\t\t<div class=\"text\">\r\n\t\t\t{{ (prefix ? prefix + 'noData' : 'noData') | translate }}\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"empty-state\" *ngIf=\"loading && rows.length === 0\">\r\n\t\t<div class=\"text\">\r\n\t\t\t{{ (prefix ? prefix + 'gettingData' : 'gettingData') | translate }}\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n", styles: [".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}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .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}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .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}.wrapping{position:relative}.wrapping .table-reposition{overflow-y:var(--table-reposition-overflow-y, hidden);scrollbar-color:#b4bac6 transparent!important;scrollbar-width:thin!important;overflow-x:auto}.empty-state{padding:200px;display:flex;justify-content:center;align-items:center;font-size:20px;font-weight:bold}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#b4bac6}.dark-scroll::-webkit-scrollbar-thumb{background:#8f98aa}.ndfPageSizes{right:0;left:unset}.rtl .ndfPageSizes{right:unset;left:0}\n"], components: [{ type: i4.TableComponent, selector: "cts-table", inputs: ["rows", "columns", "responsiveColumns", "entityType", "prefix", "pageCount", "totalRecords", "rowCursor", "fullWidth", "vocItemTranslationPrefix", "tableMode", "componentName", "tableActions", "format", "defultSort", "highlightSelectedCard", "multiSelectRows", "customFirstRow", "showActionsAsMenu", "messages"], outputs: ["onRowSelected", "onRowIndexSelected", "onIconSelected", "actionOnRow", "onSorting", "onMultiRowSelected"] }, { type: i5.SpinnerComponent, selector: "cts-spinner" }, { type: i6.PaginationComponent, selector: "cts-pagination", inputs: ["size", "count", "page"], outputs: ["change"] }, { type: i7.PageSizesListComponent, selector: "ndf-page-sizes-list", inputs: ["pageSizes", "selectedPageSize"], outputs: ["onChangePageSize"] }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "translate": i9.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
225
+ DynamicTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicTableComponent, selector: "cts-dynamic-table", inputs: { columns: "columns", responsiveColumns: "responsiveColumns", entityType: "entityType", prefix: "prefix", headers: "headers", fields: "fields", pageProvider: "pageProvider", pageSize: "pageSize", isLegacyMode: "isLegacyMode", showTotalRecord: "showTotalRecord", pageNumber: "pageNumber", sortingBy: "sortingBy", queryParam: "queryParam", customFilters: "customFilters", quickFilter: "quickFilter", report: "report", rowCursor: "rowCursor", fullWidth: "fullWidth", tableMode: "tableMode", componentName: "componentName", tableActions: "tableActions", defultSort: "defultSort", range: "range", isSearchPage: "isSearchPage", multiSelectRows: "multiSelectRows", customFirstRow: "customFirstRow", highlightSelectedCard: "highlightSelectedCard", showActionsAsMenu: "showActionsAsMenu", filterParams: "filterParams", skipAggregation: "skipAggregation", customUrl: "customUrl", format: "format", pageSizes: "pageSizes" }, outputs: { onRowSelected: "onRowSelected", onRowIndexSelected: "onRowIndexSelected", actionOnRow: "actionOnRow", onGettingData: "onGettingData", onMultiRowSelected: "onMultiRowSelected", onLoading: "onLoading", onPageChange: "onPageChange", onLoad: "onLoad", onInitialize: "onInitialize" }, host: { properties: { "class.loading-results": "loading", "class.no-data": "rows.length <= 0" } }, queries: [{ propertyName: "emptyTemplate", first: true, predicate: EMPTY_TEMPLATE, descendants: true, read: TemplateRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"wrapping table-wrapping\">\r\n\t<ng-container *ngIf=\"isLegacyMode\">\r\n\t\t<div class=\"table-reposition\">\r\n\t\t\t<ng-container *ngIf=\"rows.length\" [ngTemplateOutlet]=\"table\"></ng-container>\r\n\t\t</div>\r\n\t\t<ng-container *ngIf=\"loading\">\r\n\t\t\t<cts-spinner></cts-spinner>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n\r\n\t<div class=\"table-reposition\" *ngIf=\"!isLegacyMode\">\r\n\t\t<ng-container [ngTemplateOutlet]=\"table\"></ng-container>\r\n\t\t<ng-container\r\n\t\t\t*ngIf=\"!initialized\"\r\n\t\t\t[ngTemplateOutlet]=\"skeleton\"\r\n\t\t\t[ngTemplateOutletContext]=\"{ $implicit: 10 }\"\r\n\t\t></ng-container>\r\n\t</div>\r\n\r\n\t<div\r\n\t\tclass=\"pagination-iner-wraper d-flex justify-content-center align-items-center my-3\"\r\n\t\t[ngClass]=\"{ relative: pageSizes?.length }\"\r\n\t\t*ngIf=\"rows.length\"\r\n\t>\r\n\t\t<cts-pagination\r\n\t\t\t[page]=\"pageNum\"\r\n\t\t\t(change)=\"PaginationChange($event)\"\r\n\t\t\t[size]=\"pageSize\"\r\n\t\t\t[count]=\"totalRecords\"\r\n\t\t></cts-pagination>\r\n\t\t<div class=\"absolute ndfPageSizes flex gap-x-3 items-center mt-2\">\r\n\t\t\t<ndf-page-sizes-list\r\n\t\t\t\t*ngIf=\"pageSizes?.length\"\r\n\t\t\t\t[pageSizes]=\"pageSizes\"\r\n\t\t\t\t[selectedPageSize]=\"pageSize\"\r\n\t\t\t\t(onChangePageSize)=\"onChangePageSize($event)\"\r\n\t\t\t>\r\n\t\t\t</ndf-page-sizes-list>\r\n\r\n\t\t\t<span *ngIf=\"showTotalRecord\">{{ 'TABLE.totalRecords' | translate: { count: totalRecords } }}</span>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<ng-container\r\n\t\t*ngIf=\"isLegacyMode\"\r\n\t\t[ngTemplateOutlet]=\"emptyTemplate || legacyDefaultEmptyState\"\r\n\t\t[ngTemplateOutletContext]=\"{ $implicit: loading, rows: rows, initialized: initialized }\"\r\n\t></ng-container>\r\n\r\n\t<ng-container\r\n\t\t*ngIf=\"!isLegacyMode\"\r\n\t\t[ngTemplateOutlet]=\"emptyTemplate || defaultEmptyState\"\r\n\t\t[ngTemplateOutletContext]=\"{ $implicit: loading, rows: rows, initialized: initialized }\"\r\n\t></ng-container>\r\n</div>\r\n\r\n<ng-template #table>\r\n\t<cts-table\r\n\t\t[rows]=\"rows\"\r\n\t\t[columns]=\"columns\"\r\n\t\t[responsiveColumns]=\"responsiveColumns\"\r\n\t\t[rowCursor]=\"rowCursor\"\r\n\t\t[fullWidth]=\"fullWidth\"\r\n\t\t[entityType]=\"entityType\"\r\n\t\t[prefix]=\"prefix\"\r\n\t\t[totalRecords]=\"totalRecords\"\r\n\t\t[tableMode]=\"tableMode\"\r\n\t\t[componentName]=\"componentName\"\r\n\t\t[multiSelectRows]=\"multiSelectRows\"\r\n\t\t[tableActions]=\"tableActions\"\r\n\t\t[showActionsAsMenu]=\"showActionsAsMenu\"\r\n\t\t[defultSort]=\"defultSort\"\r\n\t\t[format]=\"format\"\r\n\t\t[highlightSelectedCard]=\"highlightSelectedCard\"\r\n\t\t[customFirstRow]=\"customFirstRow\"\r\n\t\t(onRowSelected)=\"rowDetails($event)\"\r\n\t\t(onRowIndexSelected)=\"indexDetails($event)\"\r\n\t\t(onMultiRowSelected)=\"onMultiRowSelectValue($event)\"\r\n\t\t(actionOnRow)=\"performAction($event)\"\r\n\t\t(onSorting)=\"onSort($event)\"\r\n\t></cts-table>\r\n</ng-template>\r\n\r\n<ng-template #legacyDefaultEmptyState>\r\n\t<div class=\"empty-state\" *ngIf=\"!loading && rows.length === 0\">\r\n\t\t<div class=\"text\">\r\n\t\t\t{{ (prefix ? prefix + 'noData' : 'noData') | translate }}\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"empty-state\" *ngIf=\"loading && rows.length === 0\">\r\n\t\t<div class=\"text\">\r\n\t\t\t{{ (prefix ? prefix + 'gettingData' : 'gettingData') | translate }}\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n\r\n<ng-template #defaultEmptyState>\r\n\t<div class=\"empty-state\" *ngIf=\"!loading && rows.length === 0\">\r\n\t\t<div class=\"text\">\r\n\t\t\t{{ (prefix ? prefix + 'noData' : 'noData') | translate }}\r\n\t\t</div>\r\n\t</div>\r\n\t<div *ngIf=\"loading && initialized\" class=\"loading-content\">\r\n\t\t<mat-spinner [diameter]=\"100\"></mat-spinner>\r\n\t</div>\r\n</ng-template>\r\n\r\n<ng-template #skeleton let-rows>\r\n\t<table class=\"w-full\">\r\n\t\t<thead *ngIf=\"false\">\r\n\t\t\t<tr class=\"border-b border-green-900\">\r\n\t\t\t\t<th *ngIf=\"multiSelectRows\" class=\"p-3 py-4\" style=\"width: 60px\">\r\n\t\t\t\t\t<app-skeleton width=\"60px\" height=\"1.3rem\"></app-skeleton>\r\n\t\t\t\t</th>\r\n\t\t\t\t<th *ngFor=\"let num of [].constructor(columns?.length || 4); let i = index\" class=\"px-3 py-4\">\r\n\t\t\t\t\t<app-skeleton [randomWidth]=\"true\" height=\"1.7rem\"></app-skeleton>\r\n\t\t\t\t</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t\t<tbody>\r\n\t\t\t<tr *ngFor=\"let row of [].constructor(rows || 10); let index = index\" class=\"border-b border-gray-200\">\r\n\t\t\t\t<td *ngIf=\"multiSelectRows\" class=\"p-3 py-4\" style=\"width: 50px\">\r\n\t\t\t\t\t<app-skeleton width=\"50px\" height=\"1.3rem\"></app-skeleton>\r\n\t\t\t\t</td>\r\n\t\t\t\t<td *ngFor=\"let col of [].constructor(columns?.length || 4); let i = index\" class=\"p-3 py-4\">\r\n\t\t\t\t\t<app-skeleton [randomWidth]=\"true\" height=\"1.3rem\"></app-skeleton>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</tbody>\r\n\t</table>\r\n</ng-template>\r\n", styles: [".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}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .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}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .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}.wrapping{position:relative}.wrapping .table-reposition{overflow-y:var(--table-reposition-overflow-y, hidden);scrollbar-color:#b4bac6 transparent!important;scrollbar-width:thin!important;overflow-x:auto}.empty-state{padding:200px;display:flex;justify-content:center;align-items:center;font-size:20px;font-weight:bold}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#b4bac6}.dark-scroll::-webkit-scrollbar-thumb{background:#8f98aa}.ndfPageSizes{right:0;left:unset}.rtl .ndfPageSizes{right:unset;left:0}.loading-content{position:absolute;inset:0;display:grid;place-items:center;background:var(--loading-content-background, rgba(255, 255, 255, .2));-webkit-backdrop-filter:var(--loading-content-backdrop-filter, blur(3px));backdrop-filter:var(--loading-content-backdrop-filter, blur(3px))}\n"], components: [{ type: i4.SpinnerComponent, selector: "cts-spinner" }, { type: i5.PaginationComponent, selector: "cts-pagination", inputs: ["size", "count", "page"], outputs: ["change"] }, { type: i6.PageSizesListComponent, selector: "ndf-page-sizes-list", inputs: ["pageSizes", "selectedPageSize"], outputs: ["onChangePageSize"] }, { type: i7.TableComponent, selector: "cts-table", inputs: ["rows", "columns", "responsiveColumns", "entityType", "prefix", "pageCount", "totalRecords", "rowCursor", "fullWidth", "vocItemTranslationPrefix", "tableMode", "componentName", "tableActions", "format", "defultSort", "highlightSelectedCard", "multiSelectRows", "customFirstRow", "showActionsAsMenu", "messages"], outputs: ["onRowSelected", "onRowIndexSelected", "onIconSelected", "actionOnRow", "onSorting", "onMultiRowSelected"] }, { type: i8.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i9.SkeletonComponent, selector: "app-skeleton", inputs: ["styleClass", "style", "shape", "animation", "radius", "size", "width", "height", "randomWidth"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i11.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
224
226
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTableComponent, decorators: [{
225
227
  type: Component,
226
228
  args: [{
@@ -267,7 +269,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
267
269
  type: Input
268
270
  }], pageSize: [{
269
271
  type: Input
270
- }], legacyLoading: [{
272
+ }], isLegacyMode: [{
271
273
  type: Input
272
274
  }], showTotalRecord: [{
273
275
  type: Input
@@ -321,4 +323,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
321
323
  }], pageSizes: [{
322
324
  type: Input
323
325
  }] } });
324
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVOLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sV0FBVyxFQUNYLGlCQUFpQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSWpELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7QUFFckU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJHO0FBV0gsTUFBTSxPQUFPLHFCQUFxQjtJQWtHakMsWUFDUyxPQUF1QixFQUN2QixPQUF1QixFQUN2QixtQkFBd0MsRUFDeEMsR0FBc0I7UUFIdEIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXJHL0IsK0NBQStDO1FBQ3JDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM3Qyw0REFBNEQ7UUFDbEQsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVB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RUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJcEQsVUFBVTtzQkFBdEIsS0FBSztnQkFTRyxTQUFTO3NCQUFqQixLQUFLO2dCQUlHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFTixZQUFZO3NCQURYLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFPRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuXHRDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRDb21wb25lbnQsXHJcblx0Q29udGVudENoaWxkLFxyXG5cdEV2ZW50RW1pdHRlcixcclxuXHRJbnB1dCxcclxuXHRPbkRlc3Ryb3ksXHJcblx0T25Jbml0LFxyXG5cdE91dHB1dCxcclxuXHRTaW1wbGVDaGFuZ2VzLFxyXG5cdFRlbXBsYXRlUmVmLFxyXG5cdFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9hZGFwdGVycy9hZGFwdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYWxsQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvY2FsbEFwaS9jYWxsLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRHluYW1pY1RhYmxlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2R5bmFtaWMtdGFibGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEVNUFRZX1RFTVBMQVRFIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9lbXB0eS1zdGF0ZS5kaXJlY3RpdmUnO1xyXG5cclxuLyoqXHJcbiAqIHRoaXMgY29tcG9uZW50IGlzIGFuIGFkZGl0aW9uYWwgbGF5ZXIgdGhhdCB1c2VzIFtUYWJsZSBDb21wb25lbnRde0BsaW5rIFRhYmxlQ29tcG9uZW50fSBpbnRlcm5hbGx5LFxyXG4gKiB5b3UgY2FuIHVzZSB0aGlzIGNvbXBvbmVudCB0byBjb25maWd1cmUgYSBwYWdlIHByb3ZpZGVyIGxpc3Rpbmcgb3V0IG9mIHRoZSBib3ggZWFzaWx5LFxyXG4gKiBhbmQgaXQgd2lsbCBoYW5kbGUgYWxsIG9mIHRoZSBiYXNpYyBmZWF0dXJlcyBzdWNoIGFzIGdldHRpbmcgZGF0YSBmcm9tIEFQSSwgTGlzdGluZywgUGFnaW5hdGlvbiwgc29ydGluZyBhbmQgZmlsdGVyaW5nXHJcbiAqICFbU2NyZWVuc2hvdC0xXSguLi9zY3JlZW5zaG90cy9keW5hbWljVGFibGUucG5nKVxyXG4gKiBAdGl0bGVcclxuICogRHluYW1pYyBUYWJsZVxyXG4gKiBAZXhhbXBsZVxyXG4gKlxyXG4gKiA8Y3RzLWR5bmFtaWMtdGFibGVcclxuICogICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAqICAgIFtyZXNwb25zaXZlQ29sdW1uc109XCJyZXNwb25zaXZlQ29sdW1uc1wiXHJcbiAqICAgIFtmdWxsV2lkdGhdPVwiZnVsbFdpZHRoXCJcclxuICogICAgW3BhZ2VTaXplXT1cIlBhZ2VTaXplXCJcclxuICogICAgW3BhZ2VQcm92aWRlcl09XCJwYWdlUHJvdmlkZXJcIlxyXG4gKiAgICBbcXVpY2tGaWx0ZXJdPVwiZmlsdGVyXCJcclxuICogICAgW3NvcnRpbmdCeV09XCJzb3J0aW5nQnlcIlxyXG4gKiAgICBbZW50aXR5VHlwZV09XCInYWxsJ1wiXHJcbiAqICAgIFtmaWVsZHNdPVwiZmllbGRzXCJcclxuICogICAgW3ByZWZpeF09XCJwcmVmaXhcIlxyXG4gKiAgICBbcm93Q3Vyc29yXT1cInRydWVcIlxyXG4gKiAgICBbcXVlcnlQYXJhbV09XCJxdWVyeVBhcmFtXCJcclxuICogICAgW2hlYWRlcnNdPVwiaGVhZGVyc1wiXHJcbiAqICAgIChvblJvd1NlbGVjdGVkKT1cIm9wZW5WaWV3ZXIoJGV2ZW50KVwiXHJcbiAqICAgIChhY3Rpb25PblJvdyk9XCJwZXJmb3JtQWN0aW9uKCRldmVudClcIj5cclxuICogPC9jdHMtZHluYW1pYy10YWJsZT5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnY3RzLWR5bmFtaWMtdGFibGUnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9keW5hbWljLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcblx0ZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuXHRob3N0OiB7XHJcblx0XHQnW2NsYXNzLmxvYWRpbmctcmVzdWx0c10nOiAnbG9hZGluZycsXHJcblx0XHQnW2NsYXNzLm5vLWRhdGFdJzogJ3Jvd3MubGVuZ3RoIDw9IDAnXHJcblx0fVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY1RhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cdC8qKiBldmVudCB0byBlbWl0IHdoZW4gc2VsZWN0aW5nIHNpbmdsZSByb3cgICovXHJcblx0QE91dHB1dCgpIG9uUm93U2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0LyoqIGV2ZW50IHRvIGVtaXQgd2hlbiBzZWxlY3Rpbmcgc2luZ2xlIHJvdyB0byBjYXRjaCBpbmRleCovXHJcblx0QE91dHB1dCgpIG9uUm93SW5kZXhTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHQvKiogZXZlbnQgdG8gZW1pdCB3aGVuIHBlcmZvcm0gYWN0aW9uIG9uIHJvdyAoZGVsdGUsIGVkaXQsIC4uLiApICovXHJcblx0QE91dHB1dCgpIGFjdGlvbk9uUm93ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdC8qKiBldmVudCB0byBlbWl0IHRvIHRoZSBoaWdoZXIgbGV2ZWwgIHdoZW4gZ2V0dGluZyBkYXRhIGZyb20gYXBpIGlzIGZpbmlzaGVkICovXHJcblx0QE91dHB1dCgpIG9uR2V0dGluZ0RhdGEgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0LyoqIGV2ZW50IHQgZW1pdCB3aGVuIHNlbGVjdGluZyBtdWx0aXBsZSByb3cgKi9cclxuXHRAT3V0cHV0KCkgb25NdWx0aVJvd1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdC8qKiBldmVudCB0IGVtaXQgd2hlbiBzdGFydCBnZXR0aW5nIGRhdGEgYW5kIHdoZW4gZmluaXNoICovXHJcblx0QE91dHB1dCgpIG9uTG9hZGluZyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAT3V0cHV0KCkgb25QYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuXHRAT3V0cHV0KCkgb25Mb2FkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdEBPdXRwdXQoKSBvbkluaXRpYWxpemUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0LyoqIEFycmF5IG9mIGNvbHVtbnMgKi9cclxuXHRASW5wdXQoKSBjb2x1bW5zO1xyXG5cdC8qKiBBcnJheSBvZiBjb2x1bW5zIG9uIHNtYWxsZXIgc2NyZWVucyAqL1xyXG5cdEBJbnB1dCgpIHJlc3BvbnNpdmVDb2x1bW5zPztcclxuXHQvKiogRGVmaW5lcyB0aGUgcGFnZSBpbiB3aGljaCB0YWJsZSBpcyBiZWluZyB1c2VkICovXHJcblx0QElucHV0KCkgZW50aXR5VHlwZTogc3RyaW5nO1xyXG5cdC8qKiBUcmFuc2xhdGlvbnMgcHJlZml4ICovXHJcblx0QElucHV0KCkgcHJlZml4ID0gJyc7XHJcblx0LyoqIEhlYWRlcnMgdG8gYmUgc2VudCB3aXRoIEFQSSBSZXF1ZXN0ICovXHJcblx0QElucHV0KCkgaGVhZGVycztcclxuXHQvKiogRmllbGRzIGtleW1hcCB0byBiZSBtYXBwZWQgaW4gdGhlIGFkYXB0ZXIgKi9cclxuXHRASW5wdXQoKSBmaWVsZHM7XHJcblx0LyoqIFBhZ2UgUHJvdmlkZXIgbmFtZSB0aGF0IHdpbGwgYmUgdXNlZCB0byByZXRyaWV2ZSBkYXRhICovXHJcblx0QElucHV0KCkgcGFnZVByb3ZpZGVyO1xyXG5cdC8qKiBDb250cm9scyBudW1iZXIgb2YgaXRlbXMgcGVyIHBhZ2UgaW4gdGFibGUgKi9cclxuXHRASW5wdXQoKSBwYWdlU2l6ZTtcclxuXHJcblx0QElucHV0KCkgbGVnYWN5TG9hZGluZyA9IHRydWU7XHJcblx0QElucHV0KCkgc2hvd1RvdGFsUmVjb3JkID0gZmFsc2U7XHJcblxyXG5cdEBDb250ZW50Q2hpbGQoRU1QVFlfVEVNUExBVEUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxyXG5cdGVtcHR5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XHJcblxyXG5cdHByaXZhdGUgX3BhZ2VOdW1iZXIgPSAxO1xyXG5cdEBJbnB1dCgpIHNldCBwYWdlTnVtYmVyKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcclxuXHRcdHRoaXMuX3BhZ2VOdW1iZXIgPSArdmFsdWU7XHJcblx0fVxyXG5cclxuXHRnZXQgcGFnZU51bSgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9wYWdlTnVtYmVyO1xyXG5cdH1cclxuXHJcblx0LyoqIFNvcnRpbmcgY29sdW1uICovXHJcblx0QElucHV0KCkgc29ydGluZ0J5OiB7XHJcblx0XHRzb3J0Qnk/OiBzdHJpbmc7XHJcblx0XHRzb3J0T3JkZXI/OiBzdHJpbmc7XHJcblx0fSA9IHt9O1xyXG5cdEBJbnB1dCgpIHF1ZXJ5UGFyYW0/ID0ge307XHJcblxyXG5cdEBJbnB1dCgpIGN1c3RvbUZpbHRlcnM6IHtcclxuXHRcdHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT47XHJcblx0XHRwYXlsb2FkPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxuXHR9ID0ge307XHJcblxyXG5cdEBJbnB1dCgpIHF1aWNrRmlsdGVyPztcclxuXHQvKiogQ29udHJvbHMgaWYgaXQgcmVwb3J0IHBhZ2UgKi9cclxuXHRASW5wdXQoKSByZXBvcnQ7XHJcblx0LyoqIHRvIG1ha2UgY3Vyc29yIHdoZW4gaG92ZXIgb24gcm93IG9yIG5vdCAqL1xyXG5cdEBJbnB1dCgpIHJvd0N1cnNvcj87XHJcblx0QElucHV0KCkgZnVsbFdpZHRoPyA9ICdhdXRvJztcclxuXHQvKiogJ2xpc3QnIGZvciBub3JhbWwgdGFibGUgJ2NhcmQnIGZvciBjYXJkcyBtb2RlIGxpa2UgaW4gbWVtb3MgKi9cclxuXHRASW5wdXQoKSB0YWJsZU1vZGUgPSAnbGlzdCc7XHJcblxyXG5cdEBJbnB1dCgpIGNvbXBvbmVudE5hbWU6IHN0cmluZztcclxuXHQvKiogYWN0aW9uIHRvIGJlIHVzZWQgaW4gY2FzZSBvZiBjYXJkIG1vZGUgKi9cclxuXHRASW5wdXQoKSB0YWJsZUFjdGlvbnM7XHJcblx0QElucHV0KCkgZGVmdWx0U29ydDogYW55ID0gW3sgcHJvcDogJ3Byb3BlcnRpZXMuY3JlYXRlZEF0JywgZGlyOiAnZGVzYycgfV07XHJcblx0QElucHV0KCkgcmFuZ2U7XHJcblx0QElucHV0KCkgaXNTZWFyY2hQYWdlID0gZmFsc2U7XHJcblx0LyoqIGFsbG93IG11bHRpc2VsZWN0IHJvd3Mgd2l0aCBjaGVja2JveCAqL1xyXG5cdEBJbnB1dCgpIG11bHRpU2VsZWN0Um93cyA9IGZhbHNlO1xyXG5cdC8qKiB0byBzaG93IDFzdCByb3cgd2l0aCBjdXN0b20gdGVtcGxhdGUgaW4gdGhlIHRhYmxlKi9cclxuXHRASW5wdXQoKSBjdXN0b21GaXJzdFJvdyA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIGhpZ2hsaWdodFNlbGVjdGVkQ2FyZCA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dBY3Rpb25zQXNNZW51ID0gZmFsc2U7IC8vIGZsYWdlIHRvIHNob3cgYWN0aW9uIGluIG1lbnUgb3Igc2lkZSBieSBzaWRlXHJcblx0QElucHV0KClcclxuXHRmaWx0ZXJQYXJhbXMgPSB7fTtcclxuXHJcblx0QElucHV0KCkgc2tpcEFnZ3JlZ2F0aW9uOiAnbmV2ZXInIHwgJ29uUGFnZUNoYW5nZScgPSAnb25QYWdlQ2hhbmdlJztcclxuXHRASW5wdXQoKSBjdXN0b21Vcmw6IHsgdXJsOiBzdHJpbmc7IG1ldGhvZDogJ1BPU1QnIHwgJ0dFVCcgfTtcclxuXHRASW5wdXQoKSBmb3JtYXQgPSAnTU1NTSBkLCB5JztcclxuXHJcblx0cm93cyA9IFtdO1xyXG5cdHRvdGFsUmVjb3JkcyA9IDA7XHJcblx0bXlEYXRhU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblx0bG9hZGluZztcclxuXHRzb3J0aW5nID0gZmFsc2U7XHJcblx0QElucHV0KCkgcGFnZVNpemVzOiBBcnJheTx7IGxhYmVsOiBzdHJpbmc7IHNpemU6IG51bWJlciB9PiA9IFtdO1xyXG5cclxuXHRpbml0aWFsaXplZCA9IGZhbHNlO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgYWRhcHRlcjogQWRhcHRlclNlcnZpY2UsXHJcblx0XHRwcml2YXRlIGNhbGxBcGk6IENhbGxBcGlTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBkeW5hbWljVGFibGVTZXJ2aWNlOiBEeW5hbWljVGFibGVTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXHJcblx0KSB7fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMubXlEYXRhU3Vic2NyaXB0aW9uID0gdGhpcy5keW5hbWljVGFibGVTZXJ2aWNlLnJlZnJlc2hEYXRhLnN1YnNjcmliZSgoZmlsdGVyRGF0YSkgPT4ge1xyXG5cdFx0XHRpZiAoZmlsdGVyRGF0YSkge1xyXG5cdFx0XHRcdHRoaXMuZmlsdGVyUGFyYW1zID0geyAuLi5maWx0ZXJEYXRhIH07XHJcblx0XHRcdFx0Ly8gcmVzZXQgcGFnZSBudW1iZXIgd2hlbiBzdGFydCBuZXcgZmlsdGVyaW5nXHJcblx0XHRcdFx0dGhpcy5fcmVzZXRQYWdlTnVtYmVyKCk7XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5nZXREYXRhKCk7XHJcblx0XHR9KTtcclxuXHRcdHRoaXMuZ2V0RGF0YSgpO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHR0aGlzLm15RGF0YVN1YnNjcmlwdGlvbiA/IHRoaXMubXlEYXRhU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkgOiAnJztcclxuXHR9XHJcblxyXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuXHRcdGNvbnN0IGlzRmlyc3RDaGFuZ2UgPSBPYmplY3QudmFsdWVzKGNoYW5nZXMpLnNvbWUoKGMpID0+IGMuaXNGaXJzdENoYW5nZSgpKTtcclxuXHRcdGlmIChpc0ZpcnN0Q2hhbmdlKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBoYXNDaGFuZ2VkID0gKGl0ZW1zOiBzdHJpbmdbXSkgPT5cclxuXHRcdFx0aXRlbXMuc29tZSgoa2V5KSA9PiBjaGFuZ2VzW2tleV0gJiYgY2hhbmdlc1trZXldLnByZXZpb3VzVmFsdWUgIT09IGNoYW5nZXNba2V5XS5jdXJyZW50VmFsdWUpO1xyXG5cclxuXHRcdGlmIChoYXNDaGFuZ2VkKFsncXVlcnlQYXJhbScsICdxdWlja0ZpbHRlcicsICdjdXN0b21GaWx0ZXJzJ10pKSB7XHJcblx0XHRcdGlmICh0aGlzLmluaXRpYWxpemVkKSB7XHJcblx0XHRcdFx0dGhpcy5fcmVzZXRQYWdlTnVtYmVyKCk7IC8vIFJlc2V0IHBhZ2UgbnVtYmVyIGJlZm9yZSByZWNhbGxpbmcgQVBJIHdpdGggZmlsdGVyc1xyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMuZ2V0RGF0YSgpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmIChoYXNDaGFuZ2VkKFsnc29ydGluZ0J5J10pKSB7XHJcblx0XHRcdHRoaXMuZ2V0RGF0YSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfcmVzZXRQYWdlTnVtYmVyKCkge1xyXG5cdFx0dGhpcy5fcGFnZU51bWJlciA9IDE7XHJcblx0XHR0aGlzLm9uUGFnZUNoYW5nZS5lbWl0KHRoaXMuX3BhZ2VOdW1iZXIpO1xyXG5cdH1cclxuXHJcblx0Z2V0RGF0YShwYXlsb2FkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30sIGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSkge1xyXG5cdFx0dGhpcy5sb2FkaW5nID0gdHJ1ZTsgLy8gaW50ZXJuYWwgbG9hZGluZ1xyXG5cdFx0dGhpcy5vbkxvYWRpbmcuZW1pdCh0cnVlKTsgLy8gZXh0ZXJuYWwgbG9hZGluZ1xyXG5cdFx0bGV0IHBhcmFtcyA9IHtcclxuXHRcdFx0Li4uKHRoaXMucmFuZ2UgPyB7IGR1YmxpbmNvcmVfY3JlYXRlZF9hZ2c6IHRoaXMucmFuZ2UgfSA6IHt9KSxcclxuXHRcdFx0Li4udGhpcy5maWx0ZXJQYXJhbXMsIC8vIHVzZWQgdG8gZ2V0IGZpbHRlciBkYXRhIGFuZCBzZXQgaXQgaW4gb3VyIHBhcmFtc1xyXG5cdFx0XHQuLi50aGlzLnF1ZXJ5UGFyYW0sIC8vIHVzZWQgdG8gZ2V0IHBhcmFtcyBmcm9tIG91ciBjb25maWdcclxuXHRcdFx0Li4udGhpcy5xdWlja0ZpbHRlcixcclxuXHRcdFx0Li4uKE9iamVjdC5rZXlzKHRoaXMuc29ydGluZ0J5IHx8IHt9KS5sZW5ndGhcclxuXHRcdFx0XHQ/IHtcclxuXHRcdFx0XHRcdFx0c29ydEJ5OiB0aGlzLnNvcnRpbmdCeT8uc29ydEJ5LFxyXG5cdFx0XHRcdFx0XHRzb3J0T3JkZXI6IHRoaXMuc29ydGluZ0J5Py5zb3J0T3JkZXJcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQ6IHt9KSxcclxuXHRcdFx0Y3VycmVudFBhZ2VJbmRleDogK3RoaXMucGFnZU51bSAtIDEsXHJcblx0XHRcdC4uLih0aGlzLnBhZ2VTaXplID8geyBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSB9IDoge30pLFxyXG5cdFx0XHRvZmZzZXQ6IDAsXHJcblx0XHRcdC4uLnBheWxvYWRcclxuXHRcdH07XHJcblxyXG5cdFx0Ly8gZG9uJ3QgcmVmcmVzaCBhbGwgdGFibGUgaW4gY2FzZSBvZiBzb3J0aW5nIG9ubHlcclxuXHRcdGlmICghdGhpcy5zb3J0aW5nICYmIHRoaXMubGVnYWN5TG9hZGluZykge1xyXG5cdFx0XHQvLyB1c2VkIHRvIG5vdCByZWZyZXNoaW5nIGFsbCB0YWJsZSBpbiBjYXNlIG9mIHNvcnRpbmcgc2luY2UgdGFibGUgbG9zZSBzb3J0aW5nIHN0YXRlIHdoZW4gcmVmcmVzaCBhbGwgdGFibGVcclxuXHRcdFx0dGhpcy5yb3dzID0gW107IC8vIHVzZWQgdG8gcmVmcmVzaCB0YWJsZSB0byBmZWVsIGNoYW5nZXMgaW4gYWN0aW9ucyB3aGVuIHBlcmZvcm0gYWN0aW9uIGFuZCBuZWVkIHRvIHJlZnJlc2ggYWN0aW9uc1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5zb3J0aW5nID0gZmFsc2U7IC8vIHJlc2V0IHNvcnRpbmcgc3RhdHVzIHRvIGZhbHNlIGFuZCBmb3IgbmV4dCBzb3J0aW5nIGZ1bmMgc29ydGluZyBzZXQgaXQgdG8gdHJ1ZSBhZ2FpblxyXG5cclxuXHRcdGNvbnN0IF9xdWVyeSA9IHtcclxuXHRcdFx0cGFnZVByb3ZpZGVyOiB0aGlzLnBhZ2VQcm92aWRlcixcclxuXHRcdFx0Li4ucGFyYW1zXHJcblx0XHR9O1xyXG5cdFx0Y29uc3QgX29wdGlvbnMgPSB7XHJcblx0XHRcdGhlYWRlcnM6IHtcclxuXHRcdFx0XHQuLi50aGlzLmhlYWRlcnMsXHJcblx0XHRcdFx0Li4uaGVhZGVyc1xyXG5cdFx0XHR9XHJcblx0XHR9O1xyXG5cclxuXHRcdGNvbnN0IHF1ZXJ5JCA9IHRoaXMuY3VzdG9tVXJsXHJcblx0XHRcdD8gdGhpcy5jYWxsQXBpLmN1c3RvbVF1ZXJ5KFxyXG5cdFx0XHRcdFx0dGhpcy5jdXN0b21VcmwsXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdC4uLnBhcmFtcyxcclxuXHRcdFx0XHRcdFx0Li4uKHRoaXMuY3VzdG9tRmlsdGVycz8ucGFyYW1zIHx8IHt9KVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdF9vcHRpb25zLmhlYWRlcnMsXHJcblx0XHRcdFx0XHR0aGlzLmN1c3RvbUZpbHRlcnM/LnBheWxvYWQgfHwge31cclxuXHRcdFx0XHQpXHJcblx0XHRcdDogdGhpcy5jYWxsQXBpLnF1ZXJ5KF9xdWVyeSwgX29wdGlvbnMpO1xyXG5cclxuXHRcdHF1ZXJ5JFxyXG5cdFx0XHQucGlwZShcclxuXHRcdFx0XHRtYXAoKGRhdGE6IGFueSkgPT4ge1xyXG5cdFx0XHRcdFx0ZGF0YS5lbnRyaWVzLm1hcCgoaXRlbSkgPT4gdGhpcy5hZGFwdGVyLmFkYXB0SW4oaXRlbSwgdGhpcy5maWVsZHMpKTtcclxuXHRcdFx0XHRcdHJldHVybiBkYXRhO1xyXG5cdFx0XHRcdH0pLFxyXG5cdFx0XHRcdGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG5cdFx0XHRcdFx0dGhyb3cgZXJyO1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdClcclxuXHRcdFx0LnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcblx0XHRcdFx0dGhpcy5vbkxvYWRpbmcuZW1pdChmYWxzZSk7XHJcblx0XHRcdFx0dGhpcy5vbkxvYWQuZW1pdChyZXMpO1xyXG5cdFx0XHRcdGlmICghdGhpcy5pbml0aWFsaXplZCkge1xyXG5cdFx0XHRcdFx0dGhpcy5vbkluaXRpYWxpemUuZW1pdChyZXMpO1xyXG5cdFx0XHRcdFx0dGhpcy5pbml0aWFsaXplZCA9IHRydWU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHJlcy5lbnRyaWVzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuXHRcdFx0XHRcdGlmIChlbGVtZW50LnByb3BlcnRpZXMgJiYgZWxlbWVudC5wcm9wZXJ0aWVzPy5jcmVhdG9yICYmIGVsZW1lbnQucHJvcGVydGllcy5jcmVhdG9yPy5wcm9wZXJ0aWVzKSB7XHJcblx0XHRcdFx0XHRcdGVsZW1lbnQucHJvcGVydGllc1snY3JlYXRvckZ1bGxPYmplY3QnXSA9IHsgLi4uZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3IgfTtcclxuXHRcdFx0XHRcdFx0ZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3IgPVxyXG5cdFx0XHRcdFx0XHRcdGVsZW1lbnQucHJvcGVydGllcy5jcmVhdG9yPy5wcm9wZXJ0aWVzPy5maXJzdE5hbWUgK1xyXG5cdFx0XHRcdFx0XHRcdCcgJyArXHJcblx0XHRcdFx0XHRcdFx0ZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3I/LnByb3BlcnRpZXM/Lmxhc3ROYW1lO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0aWYgKGVsZW1lbnQucHJvcGVydGllcyAmJiBlbGVtZW50LnByb3BlcnRpZXM/LmFzc2lnbmVlKSB7XHJcblx0XHRcdFx0XHRcdGVsZW1lbnQucHJvcGVydGllcy5hc3NpZ25lZSA9IGVsZW1lbnQucHJvcGVydGllcz8uYXNzaWduZWUuZnVsbE5hbWU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0dGhpcy50b3RhbFJlY29yZHMgPSByZXMucmVzdWx0c0NvdW50O1xyXG5cdFx0XHRcdHRoaXMucm93cyA9IHJlcy5lbnRyaWVzO1xyXG5cdFx0XHRcdHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuXHRcdFx0XHQvLyBlbWl0IGRhdGEgdG8gb3V0c2lkZSBpbiBjYXNlIG9mIHNlYXJjaCBwYWdlIGZvciB0aGUgZmlyc3QgdGltZSBvbmx5IHRvIHByZXZlbnQgcmVmcmVzaGluZyBhZ2dyZWdhdGlvbiB3aXRoIGV2ZXJ5IHBhZ2UgY2hhbmdlXHJcblx0XHRcdFx0Ly8gYW5kIGZvciBhbnkgb3RoZXIgcGFnZSB0eXBlIGVtaXQgZGF0YSBkaXJlY3RseSBpbiBhbGwgcGFnZSBudW1iZXJzXHJcblx0XHRcdFx0aWYgKCh0aGlzLmlzU2VhcmNoUGFnZSAmJiB0aGlzLnBhZ2VOdW0gPT09IDEpIHx8ICF0aGlzLmlzU2VhcmNoUGFnZSkgdGhpcy5vbkdldHRpbmdEYXRhLmVtaXQocmVzKTtcclxuXHRcdFx0fSk7XHJcblx0fVxyXG5cclxuXHQvLyBmdW5jdGlvbiB0byBiZSBleGVjdXRlZCB3aGVuIGNsaWNraW5nIG9uIHNpbmdsZSByb3dcclxuXHRyb3dEZXRhaWxzKGV2ZW50KSB7XHJcblx0XHR0aGlzLm9uUm93U2VsZWN0ZWQuZW1pdChldmVudCk7XHJcblx0fVxyXG5cclxuXHRpbmRleERldGFpbHMoZXZlbnQpIHtcclxuXHRcdHRoaXMub25Sb3dJbmRleFNlbGVjdGVkLmVtaXQoZXZlbnQpO1xyXG5cdH1cclxuXHJcblx0Ly9mdW5jdGlvbiB0byBoYW5kbGUgYWxsIG9wZXJhdGlvbnMgb24gc2luZ2xlIHJvdyAoZGVsZXRlICwgZWRpdCAsIC4uLilcclxuXHRwZXJmb3JtQWN0aW9uKGFjdGlvbikge1xyXG5cdFx0dGhpcy5hY3Rpb25PblJvdy5lbWl0KGFjdGlvbik7XHJcblx0fVxyXG5cclxuXHQvLyBoYW5kbGUgc29ydGluZyBmdW5jdGlvbmFsaXR5IG9mIHRoZSB0YWJsZVxyXG5cdG9uU29ydChzb3J0T2JqZWN0KSB7XHJcblx0XHR0aGlzLnNvcnRpbmdCeSA9IHNvcnRPYmplY3Q7XHJcblx0XHR0aGlzLnNvcnRpbmcgPSB0cnVlO1xyXG5cdFx0dGhpcy5nZXREYXRhKHt9LCB0aGlzLnNraXBBZ2dyZWdhdGlvbiA9PT0gJ29uUGFnZUNoYW5nZScgPyB7IHNraXBBZ2dyZWdhdGVzOiAndHJ1ZScgfSA6IHt9KTtcclxuXHR9XHJcblxyXG5cdG9uTXVsdGlSb3dTZWxlY3RWYWx1ZShldmVudCkge1xyXG5cdFx0dGhpcy5vbk11bHRpUm93U2VsZWN0ZWQuZW1pdChldmVudCk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgUGFnaW5hdGlvbkNoYW5nZShldmVudCkge1xyXG5cdFx0dGhpcy5fcGFnZU51bWJlciA9IGV2ZW50O1xyXG5cdFx0dGhpcy5vblBhZ2VDaGFuZ2UuZW1pdChldmVudCk7XHJcblx0XHR0aGlzLmdldERhdGEoe30sIHRoaXMuc2tpcEFnZ3JlZ2F0aW9uID09PSAnb25QYWdlQ2hhbmdlJyA/IHsgc2tpcEFnZ3JlZ2F0ZXM6ICd0cnVlJyB9IDoge30pO1xyXG5cdH1cclxuXHJcblx0b25DaGFuZ2VQYWdlU2l6ZShwYWdlU2l6ZTogbnVtYmVyKSB7XHJcblx0XHR0aGlzLl9yZXNldFBhZ2VOdW1iZXIoKTtcclxuXHRcdHRoaXMucGFnZVNpemUgPSBwYWdlU2l6ZTtcclxuXHRcdHRoaXMuZ2V0RGF0YSh7fSwgdGhpcy5za2lwQWdncmVnYXRpb24gPT09ICdvblBhZ2VDaGFuZ2UnID8geyBza2lwQWdncmVnYXRlczogJ3RydWUnIH0gOiB7fSk7XHJcblx0fVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ3cmFwcGluZyB0YWJsZS13cmFwcGluZyBcIj5cclxuXHQ8ZGl2IGNsYXNzPVwidGFibGUtcmVwb3NpdGlvblwiPlxyXG5cdFx0PGN0cy10YWJsZVxyXG5cdFx0XHQqbmdJZj1cIiFsZWdhY3lMb2FkaW5nIHx8IChsZWdhY3lMb2FkaW5nICYmIHJvd3MubGVuZ3RoKVwiXHJcblx0XHRcdFtyb3dzXT1cInJvd3NcIlxyXG5cdFx0XHRbY29sdW1uc109XCJjb2x1bW5zXCJcclxuXHRcdFx0W3Jlc3BvbnNpdmVDb2x1bW5zXT1cInJlc3BvbnNpdmVDb2x1bW5zXCJcclxuXHRcdFx0W3Jvd0N1cnNvcl09XCJyb3dDdXJzb3JcIlxyXG5cdFx0XHRbZnVsbFdpZHRoXT1cImZ1bGxXaWR0aFwiXHJcblx0XHRcdFtlbnRpdHlUeXBlXT1cImVudGl0eVR5cGVcIlxyXG5cdFx0XHRbcHJlZml4XT1cInByZWZpeFwiXHJcblx0XHRcdFt0b3RhbFJlY29yZHNdPVwidG90YWxSZWNvcmRzXCJcclxuXHRcdFx0W3RhYmxlTW9kZV09XCJ0YWJsZU1vZGVcIlxyXG5cdFx0XHRbY29tcG9uZW50TmFtZV09XCJjb21wb25lbnROYW1lXCJcclxuXHRcdFx0W211bHRpU2VsZWN0Um93c109XCJtdWx0aVNlbGVjdFJvd3NcIlxyXG5cdFx0XHRbdGFibGVBY3Rpb25zXT1cInRhYmxlQWN0aW9uc1wiXHJcblx0XHRcdFtzaG93QWN0aW9uc0FzTWVudV09XCJzaG93QWN0aW9uc0FzTWVudVwiXHJcblx0XHRcdFtkZWZ1bHRTb3J0XT1cImRlZnVsdFNvcnRcIlxyXG5cdFx0XHRbZm9ybWF0XT1cImZvcm1hdFwiXHJcblx0XHRcdFtoaWdobGlnaHRTZWxlY3RlZENhcmRdPVwiaGlnaGxpZ2h0U2VsZWN0ZWRDYXJkXCJcclxuXHRcdFx0W2N1c3RvbUZpcnN0Um93XT1cImN1c3RvbUZpcnN0Um93XCJcclxuXHRcdFx0KG9uUm93U2VsZWN0ZWQpPVwicm93RGV0YWlscygkZXZlbnQpXCJcclxuXHRcdFx0KG9uUm93SW5kZXhTZWxlY3RlZCk9XCJpbmRleERldGFpbHMoJGV2ZW50KVwiXHJcblx0XHRcdChvbk11bHRpUm93U2VsZWN0ZWQpPVwib25NdWx0aVJvd1NlbGVjdFZhbHVlKCRldmVudClcIlxyXG5cdFx0XHQoYWN0aW9uT25Sb3cpPVwicGVyZm9ybUFjdGlvbigkZXZlbnQpXCJcclxuXHRcdFx0KG9uU29ydGluZyk9XCJvblNvcnQoJGV2ZW50KVwiXHJcblx0XHQ+PC9jdHMtdGFibGU+XHJcblx0PC9kaXY+XHJcblx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImxlZ2FjeUxvYWRpbmcgJiYgbG9hZGluZ1wiPlxyXG5cdFx0PGN0cy1zcGlubmVyPjwvY3RzLXNwaW5uZXI+XHJcblx0PC9uZy1jb250YWluZXI+XHJcblx0PGRpdlxyXG5cdFx0Y2xhc3M9XCJwYWdpbmF0aW9uLWluZXItd3JhcGVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBteS0zXCJcclxuXHRcdFtuZ0NsYXNzXT1cInsgcmVsYXRpdmU6IHBhZ2VTaXplcz8ubGVuZ3RoIH1cIlxyXG5cdFx0Km5nSWY9XCJyb3dzLmxlbmd0aFwiXHJcblx0PlxyXG5cdFx0PGN0cy1wYWdpbmF0aW9uXHJcblx0XHRcdFtwYWdlXT1cInBhZ2VOdW1cIlxyXG5cdFx0XHQoY2hhbmdlKT1cIlBhZ2luYXRpb25DaGFuZ2UoJGV2ZW50KVwiXHJcblx0XHRcdFtzaXplXT1cInBhZ2VTaXplXCJcclxuXHRcdFx0W2NvdW50XT1cInRvdGFsUmVjb3Jkc1wiXHJcblx0XHQ+PC9jdHMtcGFnaW5hdGlvbj5cclxuXHRcdDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSBuZGZQYWdlU2l6ZXMgZmxleCBnYXAteC0zIGl0ZW1zLWNlbnRlclwiPlxyXG5cdFx0XHQ8bmRmLXBhZ2Utc2l6ZXMtbGlzdFxyXG5cdFx0XHRcdCpuZ0lmPVwicGFnZVNpemVzPy5sZW5ndGhcIlxyXG5cdFx0XHRcdFtwYWdlU2l6ZXNdPVwicGFnZVNpemVzXCJcclxuXHRcdFx0XHRbc2VsZWN0ZWRQYWdlU2l6ZV09XCJwYWdlU2l6ZVwiXHJcblx0XHRcdFx0KG9uQ2hhbmdlUGFnZVNpemUpPVwib25DaGFuZ2VQYWdlU2l6ZSgkZXZlbnQpXCJcclxuXHRcdFx0PlxyXG5cdFx0XHQ8L25kZi1wYWdlLXNpemVzLWxpc3Q+XHJcblxyXG5cdFx0XHQ8c3BhbiAqbmdJZj1cInNob3dUb3RhbFJlY29yZFwiPnt7ICdUQUJMRS50b3RhbFJlY29yZHMnIHwgdHJhbnNsYXRlOiB7IGNvdW50OiB0b3RhbFJlY29yZHMgfSB9fTwvc3Bhbj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG5cclxuXHQ8bmctY29udGFpbmVyXHJcblx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJlbXB0eVRlbXBsYXRlIHx8IGRlZmF1bHRFbXB0eVN0YXRlXCJcclxuXHRcdFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogbG9hZGluZywgcm93czogcm93cyB9XCJcclxuXHQ+PC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0RW1wdHlTdGF0ZT5cclxuXHQ8ZGl2IGNsYXNzPVwiZW1wdHktc3RhdGVcIiAqbmdJZj1cIiFsb2FkaW5nICYmIHJvd3MubGVuZ3RoID09PSAwXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwidGV4dFwiPlxyXG5cdFx0XHR7eyAocHJlZml4ID8gcHJlZml4ICsgJ25vRGF0YScgOiAnbm9EYXRhJykgfCB0cmFuc2xhdGUgfX1cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJlbXB0eS1zdGF0ZVwiICpuZ0lmPVwibG9hZGluZyAmJiByb3dzLmxlbmd0aCA9PT0gMFwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cInRleHRcIj5cclxuXHRcdFx0e3sgKHByZWZpeCA/IHByZWZpeCArICdnZXR0aW5nRGF0YScgOiAnZ2V0dGluZ0RhdGEnKSB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
326
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVOLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sV0FBVyxFQUNYLGlCQUFpQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSWpELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUVyRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQkc7QUFXSCxNQUFNLE9BQU8scUJBQXFCO0lBa0dqQyxZQUNTLE9BQXVCLEVBQ3ZCLE9BQXVCLEVBQ3ZCLG1CQUF3QyxFQUN4QyxHQUFzQjtRQUh0QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBckcvQiwrQ0FBK0M7UUFDckMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdDLDREQUE0RDtRQUNsRCx1QkFBa0IsR0FBRyxJQUFJLFlBQVks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YyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUlwRCxVQUFVO3NCQUF0QixLQUFLO2dCQVNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBSUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVOLFlBQVk7c0JBRFgsS0FBSztnQkFHRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQU9HLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG5cdENoYW5nZURldGVjdG9yUmVmLFxyXG5cdENvbXBvbmVudCxcclxuXHRDb250ZW50Q2hpbGQsXHJcblx0RXZlbnRFbWl0dGVyLFxyXG5cdElucHV0LFxyXG5cdE9uRGVzdHJveSxcclxuXHRPbkluaXQsXHJcblx0T3V0cHV0LFxyXG5cdFNpbXBsZUNoYW5nZXMsXHJcblx0VGVtcGxhdGVSZWYsXHJcblx0Vmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2FkYXB0ZXJzL2FkYXB0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IENhbGxBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9jYWxsQXBpL2NhbGwtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEeW5hbWljVGFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZHluYW1pYy10YWJsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRU1QVFlfVEVNUExBVEUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2VtcHR5LXN0YXRlLmRpcmVjdGl2ZSc7XHJcblxyXG4vKipcclxuICogdGhpcyBjb21wb25lbnQgaXMgYW4gYWRkaXRpb25hbCBsYXllciB0aGF0IHVzZXMgW1RhYmxlIENvbXBvbmVudF17QGxpbmsgVGFibGVDb21wb25lbnR9IGludGVybmFsbHksXHJcbiAqIHlvdSBjYW4gdXNlIHRoaXMgY29tcG9uZW50IHRvIGNvbmZpZ3VyZSBhIHBhZ2UgcHJvdmlkZXIgbGlzdGluZyBvdXQgb2YgdGhlIGJveCBlYXNpbHksXHJcbiAqIGFuZCBpdCB3aWxsIGhhbmRsZSBhbGwgb2YgdGhlIGJhc2ljIGZlYXR1cmVzIHN1Y2ggYXMgZ2V0dGluZyBkYXRhIGZyb20gQVBJLCBMaXN0aW5nLCBQYWdpbmF0aW9uLCBzb3J0aW5nIGFuZCBmaWx0ZXJpbmdcclxuICogIVtTY3JlZW5zaG90LTFdKC4uL3NjcmVlbnNob3RzL2R5bmFtaWNUYWJsZS5wbmcpXHJcbiAqIEB0aXRsZVxyXG4gKiBEeW5hbWljIFRhYmxlXHJcbiAqIEBleGFtcGxlXHJcbiAqXHJcbiAqIDxjdHMtZHluYW1pYy10YWJsZVxyXG4gKiAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcclxuICogICAgW3Jlc3BvbnNpdmVDb2x1bW5zXT1cInJlc3BvbnNpdmVDb2x1bW5zXCJcclxuICogICAgW2Z1bGxXaWR0aF09XCJmdWxsV2lkdGhcIlxyXG4gKiAgICBbcGFnZVNpemVdPVwiUGFnZVNpemVcIlxyXG4gKiAgICBbcGFnZVByb3ZpZGVyXT1cInBhZ2VQcm92aWRlclwiXHJcbiAqICAgIFtxdWlja0ZpbHRlcl09XCJmaWx0ZXJcIlxyXG4gKiAgICBbc29ydGluZ0J5XT1cInNvcnRpbmdCeVwiXHJcbiAqICAgIFtlbnRpdHlUeXBlXT1cIidhbGwnXCJcclxuICogICAgW2ZpZWxkc109XCJmaWVsZHNcIlxyXG4gKiAgICBbcHJlZml4XT1cInByZWZpeFwiXHJcbiAqICAgIFtyb3dDdXJzb3JdPVwidHJ1ZVwiXHJcbiAqICAgIFtxdWVyeVBhcmFtXT1cInF1ZXJ5UGFyYW1cIlxyXG4gKiAgICBbaGVhZGVyc109XCJoZWFkZXJzXCJcclxuICogICAgKG9uUm93U2VsZWN0ZWQpPVwib3BlblZpZXdlcigkZXZlbnQpXCJcclxuICogICAgKGFjdGlvbk9uUm93KT1cInBlcmZvcm1BY3Rpb24oJGV2ZW50KVwiPlxyXG4gKiA8L2N0cy1keW5hbWljLXRhYmxlPlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdjdHMtZHluYW1pYy10YWJsZScsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL2R5bmFtaWMtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcclxuXHRlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG5cdGhvc3Q6IHtcclxuXHRcdCdbY2xhc3MubG9hZGluZy1yZXN1bHRzXSc6ICdsb2FkaW5nJyxcclxuXHRcdCdbY2xhc3Mubm8tZGF0YV0nOiAncm93cy5sZW5ndGggPD0gMCdcclxuXHR9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblx0LyoqIGV2ZW50IHRvIGVtaXQgd2hlbiBzZWxlY3Rpbmcgc2luZ2xlIHJvdyAgKi9cclxuXHRAT3V0cHV0KCkgb25Sb3dTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHQvKiogZXZlbnQgdG8gZW1pdCB3aGVuIHNlbGVjdGluZyBzaW5nbGUgcm93IHRvIGNhdGNoIGluZGV4Ki9cclxuXHRAT3V0cHV0KCkgb25Sb3dJbmRleFNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdC8qKiBldmVudCB0byBlbWl0IHdoZW4gcGVyZm9ybSBhY3Rpb24gb24gcm93IChkZWx0ZSwgZWRpdCwgLi4uICkgKi9cclxuXHRAT3V0cHV0KCkgYWN0aW9uT25Sb3cgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0LyoqIGV2ZW50IHRvIGVtaXQgdG8gdGhlIGhpZ2hlciBsZXZlbCAgd2hlbiBnZXR0aW5nIGRhdGEgZnJvbSBhcGkgaXMgZmluaXNoZWQgKi9cclxuXHRAT3V0cHV0KCkgb25HZXR0aW5nRGF0YSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHQvKiogZXZlbnQgdCBlbWl0IHdoZW4gc2VsZWN0aW5nIG11bHRpcGxlIHJvdyAqL1xyXG5cdEBPdXRwdXQoKSBvbk11bHRpUm93U2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0LyoqIGV2ZW50IHQgZW1pdCB3aGVuIHN0YXJ0IGdldHRpbmcgZGF0YSBhbmQgd2hlbiBmaW5pc2ggKi9cclxuXHRAT3V0cHV0KCkgb25Mb2FkaW5nID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdEBPdXRwdXQoKSBvblBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cdEBPdXRwdXQoKSBvbkxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0QE91dHB1dCgpIG9uSW5pdGlhbGl6ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHQvKiogQXJyYXkgb2YgY29sdW1ucyAqL1xyXG5cdEBJbnB1dCgpIGNvbHVtbnM7XHJcblx0LyoqIEFycmF5IG9mIGNvbHVtbnMgb24gc21hbGxlciBzY3JlZW5zICovXHJcblx0QElucHV0KCkgcmVzcG9uc2l2ZUNvbHVtbnM/O1xyXG5cdC8qKiBEZWZpbmVzIHRoZSBwYWdlIGluIHdoaWNoIHRhYmxlIGlzIGJlaW5nIHVzZWQgKi9cclxuXHRASW5wdXQoKSBlbnRpdHlUeXBlOiBzdHJpbmc7XHJcblx0LyoqIFRyYW5zbGF0aW9ucyBwcmVmaXggKi9cclxuXHRASW5wdXQoKSBwcmVmaXggPSAnJztcclxuXHQvKiogSGVhZGVycyB0byBiZSBzZW50IHdpdGggQVBJIFJlcXVlc3QgKi9cclxuXHRASW5wdXQoKSBoZWFkZXJzO1xyXG5cdC8qKiBGaWVsZHMga2V5bWFwIHRvIGJlIG1hcHBlZCBpbiB0aGUgYWRhcHRlciAqL1xyXG5cdEBJbnB1dCgpIGZpZWxkcztcclxuXHQvKiogUGFnZSBQcm92aWRlciBuYW1lIHRoYXQgd2lsbCBiZSB1c2VkIHRvIHJldHJpZXZlIGRhdGEgKi9cclxuXHRASW5wdXQoKSBwYWdlUHJvdmlkZXI7XHJcblx0LyoqIENvbnRyb2xzIG51bWJlciBvZiBpdGVtcyBwZXIgcGFnZSBpbiB0YWJsZSAqL1xyXG5cdEBJbnB1dCgpIHBhZ2VTaXplO1xyXG5cclxuXHRASW5wdXQoKSBpc0xlZ2FjeU1vZGUgPSB0cnVlO1xyXG5cdEBJbnB1dCgpIHNob3dUb3RhbFJlY29yZCA9IGZhbHNlO1xyXG5cclxuXHRAQ29udGVudENoaWxkKEVNUFRZX1RFTVBMQVRFLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcclxuXHRlbXB0eVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xyXG5cclxuXHRwcml2YXRlIF9wYWdlTnVtYmVyID0gMTtcclxuXHRASW5wdXQoKSBzZXQgcGFnZU51bWJlcih2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XHJcblx0XHR0aGlzLl9wYWdlTnVtYmVyID0gK3ZhbHVlO1xyXG5cdH1cclxuXHJcblx0Z2V0IHBhZ2VOdW0oKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fcGFnZU51bWJlcjtcclxuXHR9XHJcblxyXG5cdC8qKiBTb3J0aW5nIGNvbHVtbiAqL1xyXG5cdEBJbnB1dCgpIHNvcnRpbmdCeToge1xyXG5cdFx0c29ydEJ5Pzogc3RyaW5nO1xyXG5cdFx0c29ydE9yZGVyPzogc3RyaW5nO1xyXG5cdH0gPSB7fTtcclxuXHRASW5wdXQoKSBxdWVyeVBhcmFtPyA9IHt9O1xyXG5cclxuXHRASW5wdXQoKSBjdXN0b21GaWx0ZXJzOiB7XHJcblx0XHRwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG5cdFx0cGF5bG9hZD86IFJlY29yZDxzdHJpbmcsIGFueT47XHJcblx0fSA9IHt9O1xyXG5cclxuXHRASW5wdXQoKSBxdWlja0ZpbHRlcj87XHJcblx0LyoqIENvbnRyb2xzIGlmIGl0IHJlcG9ydCBwYWdlICovXHJcblx0QElucHV0KCkgcmVwb3J0O1xyXG5cdC8qKiB0byBtYWtlIGN1cnNvciB3aGVuIGhvdmVyIG9uIHJvdyBvciBub3QgKi9cclxuXHRASW5wdXQoKSByb3dDdXJzb3I/O1xyXG5cdEBJbnB1dCgpIGZ1bGxXaWR0aD8gPSAnYXV0byc7XHJcblx0LyoqICdsaXN0JyBmb3Igbm9yYW1sIHRhYmxlICdjYXJkJyBmb3IgY2FyZHMgbW9kZSBsaWtlIGluIG1lbW9zICovXHJcblx0QElucHV0KCkgdGFibGVNb2RlID0gJ2xpc3QnO1xyXG5cclxuXHRASW5wdXQoKSBjb21wb25lbnROYW1lOiBzdHJpbmc7XHJcblx0LyoqIGFjdGlvbiB0byBiZSB1c2VkIGluIGNhc2Ugb2YgY2FyZCBtb2RlICovXHJcblx0QElucHV0KCkgdGFibGVBY3Rpb25zO1xyXG5cdEBJbnB1dCgpIGRlZnVsdFNvcnQ6IGFueSA9IFt7IHByb3A6ICdwcm9wZXJ0aWVzLmNyZWF0ZWRBdCcsIGRpcjogJ2Rlc2MnIH1dO1xyXG5cdEBJbnB1dCgpIHJhbmdlO1xyXG5cdEBJbnB1dCgpIGlzU2VhcmNoUGFnZSA9IGZhbHNlO1xyXG5cdC8qKiBhbGxvdyBtdWx0aXNlbGVjdCByb3dzIHdpdGggY2hlY2tib3ggKi9cclxuXHRASW5wdXQoKSBtdWx0aVNlbGVjdFJvd3MgPSBmYWxzZTtcclxuXHQvKiogdG8gc2hvdyAxc3Qgcm93IHdpdGggY3VzdG9tIHRlbXBsYXRlIGluIHRoZSB0YWJsZSovXHJcblx0QElucHV0KCkgY3VzdG9tRmlyc3RSb3cgPSBmYWxzZTtcclxuXHRASW5wdXQoKSBoaWdobGlnaHRTZWxlY3RlZENhcmQgPSBmYWxzZTtcclxuXHRASW5wdXQoKSBzaG93QWN0aW9uc0FzTWVudSA9IGZhbHNlOyAvLyBmbGFnZSB0byBzaG93IGFjdGlvbiBpbiBtZW51IG9yIHNpZGUgYnkgc2lkZVxyXG5cdEBJbnB1dCgpXHJcblx0ZmlsdGVyUGFyYW1zID0ge307XHJcblxyXG5cdEBJbnB1dCgpIHNraXBBZ2dyZWdhdGlvbjogJ25ldmVyJyB8ICdvblBhZ2VDaGFuZ2UnID0gJ29uUGFnZUNoYW5nZSc7XHJcblx0QElucHV0KCkgY3VzdG9tVXJsOiB7IHVybDogc3RyaW5nOyBtZXRob2Q6ICdQT1NUJyB8ICdHRVQnIH07XHJcblx0QElucHV0KCkgZm9ybWF0ID0gJ01NTU0gZCwgeSc7XHJcblxyXG5cdHJvd3MgPSBbXTtcclxuXHR0b3RhbFJlY29yZHMgPSAwO1xyXG5cdG15RGF0YVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cdGxvYWRpbmc7XHJcblx0c29ydGluZyA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHBhZ2VTaXplczogQXJyYXk8eyBsYWJlbDogc3RyaW5nOyBzaXplOiBudW1iZXIgfT4gPSBbXTtcclxuXHJcblx0aW5pdGlhbGl6ZWQgPSBmYWxzZTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIGFkYXB0ZXI6IEFkYXB0ZXJTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBjYWxsQXBpOiBDYWxsQXBpU2VydmljZSxcclxuXHRcdHByaXZhdGUgZHluYW1pY1RhYmxlU2VydmljZTogRHluYW1pY1RhYmxlU2VydmljZSxcclxuXHRcdHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG5cdCkge31cclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLm15RGF0YVN1YnNjcmlwdGlvbiA9IHRoaXMuZHluYW1pY1RhYmxlU2VydmljZS5yZWZyZXNoRGF0YS5zdWJzY3JpYmUoKGZpbHRlckRhdGEpID0+IHtcclxuXHRcdFx0aWYgKGZpbHRlckRhdGEpIHtcclxuXHRcdFx0XHR0aGlzLmZpbHRlclBhcmFtcyA9IHsgLi4uZmlsdGVyRGF0YSB9O1xyXG5cdFx0XHRcdC8vIHJlc2V0IHBhZ2UgbnVtYmVyIHdoZW4gc3RhcnQgbmV3IGZpbHRlcmluZ1xyXG5cdFx0XHRcdHRoaXMuX3Jlc2V0UGFnZU51bWJlcigpO1xyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMuZ2V0RGF0YSgpO1xyXG5cdFx0fSk7XHJcblx0XHR0aGlzLmdldERhdGEoKTtcclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCkge1xyXG5cdFx0dGhpcy5teURhdGFTdWJzY3JpcHRpb24gPyB0aGlzLm15RGF0YVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpIDogJyc7XHJcblx0fVxyXG5cclxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcblx0XHRjb25zdCBpc0ZpcnN0Q2hhbmdlID0gT2JqZWN0LnZhbHVlcyhjaGFuZ2VzKS5zb21lKChjKSA9PiBjLmlzRmlyc3RDaGFuZ2UoKSk7XHJcblx0XHRpZiAoaXNGaXJzdENoYW5nZSkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgaGFzQ2hhbmdlZCA9IChpdGVtczogc3RyaW5nW10pID0+XHJcblx0XHRcdGl0ZW1zLnNvbWUoKGtleSkgPT4gY2hhbmdlc1trZXldICYmIGNoYW5nZXNba2V5XS5wcmV2aW91c1ZhbHVlICE9PSBjaGFuZ2VzW2tleV0uY3VycmVudFZhbHVlKTtcclxuXHJcblx0XHRpZiAoaGFzQ2hhbmdlZChbJ3F1ZXJ5UGFyYW0nLCAncXVpY2tGaWx0ZXInLCAnY3VzdG9tRmlsdGVycyddKSkge1xyXG5cdFx0XHRpZiAodGhpcy5pbml0aWFsaXplZCkge1xyXG5cdFx0XHRcdHRoaXMuX3Jlc2V0UGFnZU51bWJlcigpOyAvLyBSZXNldCBwYWdlIG51bWJlciBiZWZvcmUgcmVjYWxsaW5nIEFQSSB3aXRoIGZpbHRlcnNcclxuXHRcdFx0fVxyXG5cdFx0XHR0aGlzLmdldERhdGEoKTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAoaGFzQ2hhbmdlZChbJ3NvcnRpbmdCeSddKSkge1xyXG5cdFx0XHR0aGlzLmdldERhdGEoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3Jlc2V0UGFnZU51bWJlcigpIHtcclxuXHRcdHRoaXMuX3BhZ2VOdW1iZXIgPSAxO1xyXG5cdFx0dGhpcy5vblBhZ2VDaGFuZ2UuZW1pdCh0aGlzLl9wYWdlTnVtYmVyKTtcclxuXHR9XHJcblxyXG5cdGdldERhdGEocGF5bG9hZDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9LCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30pIHtcclxuXHRcdHRoaXMubG9hZGluZyA9IHRydWU7IC8vIGludGVybmFsIGxvYWRpbmdcclxuXHRcdHRoaXMub25Mb2FkaW5nLmVtaXQodHJ1ZSk7IC8vIGV4dGVybmFsIGxvYWRpbmdcclxuXHRcdGxldCBwYXJhbXMgPSB7XHJcblx0XHRcdC4uLih0aGlzLnJhbmdlID8geyBkdWJsaW5jb3JlX2NyZWF0ZWRfYWdnOiB0aGlzLnJhbmdlIH0gOiB7fSksXHJcblx0XHRcdC4uLnRoaXMuZmlsdGVyUGFyYW1zLCAvLyB1c2VkIHRvIGdldCBmaWx0ZXIgZGF0YSBhbmQgc2V0IGl0IGluIG91ciBwYXJhbXNcclxuXHRcdFx0Li4udGhpcy5xdWVyeVBhcmFtLCAvLyB1c2VkIHRvIGdldCBwYXJhbXMgZnJvbSBvdXIgY29uZmlnXHJcblx0XHRcdC4uLnRoaXMucXVpY2tGaWx0ZXIsXHJcblx0XHRcdC4uLihPYmplY3Qua2V5cyh0aGlzLnNvcnRpbmdCeSB8fCB7fSkubGVuZ3RoXHJcblx0XHRcdFx0PyB7XHJcblx0XHRcdFx0XHRcdHNvcnRCeTogdGhpcy5zb3J0aW5nQnk/LnNvcnRCeSxcclxuXHRcdFx0XHRcdFx0c29ydE9yZGVyOiB0aGlzLnNvcnRpbmdCeT8uc29ydE9yZGVyXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0OiB7fSksXHJcblx0XHRcdGN1cnJlbnRQYWdlSW5kZXg6ICt0aGlzLnBhZ2VOdW0gLSAxLFxyXG5cdFx0XHQuLi4odGhpcy5wYWdlU2l6ZSA/IHsgcGFnZVNpemU6IHRoaXMucGFnZVNpemUgfSA6IHt9KSxcclxuXHRcdFx0b2Zmc2V0OiAwLFxyXG5cdFx0XHQuLi5wYXlsb2FkXHJcblx0XHR9O1xyXG5cclxuXHRcdC8vIGRvbid0IHJlZnJlc2ggYWxsIHRhYmxlIGluIGNhc2Ugb2Ygc29ydGluZyBvbmx5XHJcblx0XHRpZiAoIXRoaXMuc29ydGluZyAmJiB0aGlzLmlzTGVnYWN5TW9kZSkge1xyXG5cdFx0XHQvLyB1c2VkIHRvIG5vdCByZWZyZXNoaW5nIGFsbCB0YWJsZSBpbiBjYXNlIG9mIHNvcnRpbmcgc2luY2UgdGFibGUgbG9zZSBzb3J0aW5nIHN0YXRlIHdoZW4gcmVmcmVzaCBhbGwgdGFibGVcclxuXHRcdFx0dGhpcy5yb3dzID0gW107IC8vIHVzZWQgdG8gcmVmcmVzaCB0YWJsZSB0byBmZWVsIGNoYW5nZXMgaW4gYWN0aW9ucyB3aGVuIHBlcmZvcm0gYWN0aW9uIGFuZCBuZWVkIHRvIHJlZnJlc2ggYWN0aW9uc1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5zb3J0aW5nID0gZmFsc2U7IC8vIHJlc2V0IHNvcnRpbmcgc3RhdHVzIHRvIGZhbHNlIGFuZCBmb3IgbmV4dCBzb3J0aW5nIGZ1bmMgc29ydGluZyBzZXQgaXQgdG8gdHJ1ZSBhZ2FpblxyXG5cclxuXHRcdGNvbnN0IF9xdWVyeSA9IHtcclxuXHRcdFx0cGFnZVByb3ZpZGVyOiB0aGlzLnBhZ2VQcm92aWRlcixcclxuXHRcdFx0Li4ucGFyYW1zXHJcblx0XHR9O1xyXG5cdFx0Y29uc3QgX29wdGlvbnMgPSB7XHJcblx0XHRcdGhlYWRlcnM6IHtcclxuXHRcdFx0XHQuLi50aGlzLmhlYWRlcnMsXHJcblx0XHRcdFx0Li4uaGVhZGVyc1xyXG5cdFx0XHR9XHJcblx0XHR9O1xyXG5cclxuXHRcdGNvbnN0IHF1ZXJ5JCA9IHRoaXMuY3VzdG9tVXJsXHJcblx0XHRcdD8gdGhpcy5jYWxsQXBpLmN1c3RvbVF1ZXJ5KFxyXG5cdFx0XHRcdFx0dGhpcy5jdXN0b21VcmwsXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdC4uLnBhcmFtcyxcclxuXHRcdFx0XHRcdFx0Li4uKHRoaXMuY3VzdG9tRmlsdGVycz8ucGFyYW1zIHx8IHt9KVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdF9vcHRpb25zLmhlYWRlcnMsXHJcblx0XHRcdFx0XHR0aGlzLmN1c3RvbUZpbHRlcnM/LnBheWxvYWQgfHwge31cclxuXHRcdFx0XHQpXHJcblx0XHRcdDogdGhpcy5jYWxsQXBpLnF1ZXJ5KF9xdWVyeSwgX29wdGlvbnMpO1xyXG5cclxuXHRcdHF1ZXJ5JFxyXG5cdFx0XHQucGlwZShcclxuXHRcdFx0XHRtYXAoKGRhdGE6IGFueSkgPT4ge1xyXG5cdFx0XHRcdFx0ZGF0YS5lbnRyaWVzLm1hcCgoaXRlbSkgPT4gdGhpcy5hZGFwdGVyLmFkYXB0SW4oaXRlbSwgdGhpcy5maWVsZHMpKTtcclxuXHRcdFx0XHRcdHJldHVybiBkYXRhO1xyXG5cdFx0XHRcdH0pLFxyXG5cdFx0XHRcdGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG5cdFx0XHRcdFx0dGhyb3cgZXJyO1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdClcclxuXHRcdFx0LnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcblx0XHRcdFx0dGhpcy5vbkxvYWRpbmcuZW1pdChmYWxzZSk7XHJcblx0XHRcdFx0dGhpcy5vbkxvYWQuZW1pdChyZXMpO1xyXG5cdFx0XHRcdGlmICghdGhpcy5pbml0aWFsaXplZCkge1xyXG5cdFx0XHRcdFx0dGhpcy5vbkluaXRpYWxpemUuZW1pdChyZXMpO1xyXG5cdFx0XHRcdFx0dGhpcy5pbml0aWFsaXplZCA9IHRydWU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHJlcy5lbnRyaWVzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuXHRcdFx0XHRcdGlmIChlbGVtZW50LnByb3BlcnRpZXMgJiYgZWxlbWVudC5wcm9wZXJ0aWVzPy5jcmVhdG9yICYmIGVsZW1lbnQucHJvcGVydGllcy5jcmVhdG9yPy5wcm9wZXJ0aWVzKSB7XHJcblx0XHRcdFx0XHRcdGVsZW1lbnQucHJvcGVydGllc1snY3JlYXRvckZ1bGxPYmplY3QnXSA9IHsgLi4uZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3IgfTtcclxuXHRcdFx0XHRcdFx0ZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3IgPVxyXG5cdFx0XHRcdFx0XHRcdGVsZW1lbnQucHJvcGVydGllcy5jcmVhdG9yPy5wcm9wZXJ0aWVzPy5maXJzdE5hbWUgK1xyXG5cdFx0XHRcdFx0XHRcdCcgJyArXHJcblx0XHRcdFx0XHRcdFx0ZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3I/LnByb3BlcnRpZXM/Lmxhc3ROYW1lO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0aWYgKGVsZW1lbnQucHJvcGVydGllcyAmJiBlbGVtZW50LnByb3BlcnRpZXM/LmFzc2lnbmVlKSB7XHJcblx0XHRcdFx0XHRcdGVsZW1lbnQucHJvcGVydGllcy5hc3NpZ25lZSA9IGVsZW1lbnQucHJvcGVydGllcz8uYXNzaWduZWUuZnVsbE5hbWU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0dGhpcy50b3RhbFJlY29yZHMgPSByZXMucmVzdWx0c0NvdW50O1xyXG5cdFx0XHRcdHRoaXMucm93cyA9IHJlcy5lbnRyaWVzO1xyXG5cdFx0XHRcdHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuXHRcdFx0XHQvLyBlbWl0IGRhdGEgdG8gb3V0c2lkZSBpbiBjYXNlIG9mIHNlYXJjaCBwYWdlIGZvciB0aGUgZmlyc3QgdGltZSBvbmx5IHRvIHByZXZlbnQgcmVmcmVzaGluZyBhZ2dyZWdhdGlvbiB3aXRoIGV2ZXJ5IHBhZ2UgY2hhbmdlXHJcblx0XHRcdFx0Ly8gYW5kIGZvciBhbnkgb3RoZXIgcGFnZSB0eXBlIGVtaXQgZGF0YSBkaXJlY3RseSBpbiBhbGwgcGFnZSBudW1iZXJzXHJcblx0XHRcdFx0aWYgKCh0aGlzLmlzU2VhcmNoUGFnZSAmJiB0aGlzLnBhZ2VOdW0gPT09IDEpIHx8ICF0aGlzLmlzU2VhcmNoUGFnZSkgdGhpcy5vbkdldHRpbmdEYXRhLmVtaXQocmVzKTtcclxuXHRcdFx0fSk7XHJcblx0fVxyXG5cclxuXHQvLyBmdW5jdGlvbiB0byBiZSBleGVjdXRlZCB3aGVuIGNsaWNraW5nIG9uIHNpbmdsZSByb3dcclxuXHRyb3dEZXRhaWxzKGV2ZW50KSB7XHJcblx0XHR0aGlzLm9uUm93U2VsZWN0ZWQuZW1pdChldmVudCk7XHJcblx0fVxyXG5cclxuXHRpbmRleERldGFpbHMoZXZlbnQpIHtcclxuXHRcdHRoaXMub25Sb3dJbmRleFNlbGVjdGVkLmVtaXQoZXZlbnQpO1xyXG5cdH1cclxuXHJcblx0Ly9mdW5jdGlvbiB0byBoYW5kbGUgYWxsIG9wZXJhdGlvbnMgb24gc2luZ2xlIHJvdyAoZGVsZXRlICwgZWRpdCAsIC4uLilcclxuXHRwZXJmb3JtQWN0aW9uKGFjdGlvbikge1xyXG5cdFx0dGhpcy5hY3Rpb25PblJvdy5lbWl0KGFjdGlvbik7XHJcblx0fVxyXG5cclxuXHQvLyBoYW5kbGUgc29ydGluZyBmdW5jdGlvbmFsaXR5IG9mIHRoZSB0YWJsZVxyXG5cdG9uU29ydChzb3J0T2JqZWN0KSB7XHJcblx0XHR0aGlzLnNvcnRpbmdCeSA9IHNvcnRPYmplY3Q7XHJcblx0XHR0aGlzLnNvcnRpbmcgPSB0cnVlO1xyXG5cdFx0dGhpcy5nZXREYXRhKHt9LCB0aGlzLnNraXBBZ2dyZWdhdGlvbiA9PT0gJ29uUGFnZUNoYW5nZScgPyB7IHNraXBBZ2dyZWdhdGVzOiAndHJ1ZScgfSA6IHt9KTtcclxuXHR9XHJcblxyXG5cdG9uTXVsdGlSb3dTZWxlY3RWYWx1ZShldmVudCkge1xyXG5cdFx0dGhpcy5vbk11bHRpUm93U2VsZWN0ZWQuZW1pdChldmVudCk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgUGFnaW5hdGlvbkNoYW5nZShldmVudCkge1xyXG5cdFx0dGhpcy5fcGFnZU51bWJlciA9IGV2ZW50O1xyXG5cdFx0dGhpcy5vblBhZ2VDaGFuZ2UuZW1pdChldmVudCk7XHJcblx0XHR0aGlzLmdldERhdGEoe30sIHRoaXMuc2tpcEFnZ3JlZ2F0aW9uID09PSAnb25QYWdlQ2hhbmdlJyA/IHsgc2tpcEFnZ3JlZ2F0ZXM6ICd0cnVlJyB9IDoge30pO1xyXG5cdH1cclxuXHJcblx0b25DaGFuZ2VQYWdlU2l6ZShwYWdlU2l6ZTogbnVtYmVyKSB7XHJcblx0XHR0aGlzLl9yZXNldFBhZ2VOdW1iZXIoKTtcclxuXHRcdHRoaXMucGFnZVNpemUgPSBwYWdlU2l6ZTtcclxuXHRcdHRoaXMuZ2V0RGF0YSh7fSwgdGhpcy5za2lwQWdncmVnYXRpb24gPT09ICdvblBhZ2VDaGFuZ2UnID8geyBza2lwQWdncmVnYXRlczogJ3RydWUnIH0gOiB7fSk7XHJcblx0fVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ3cmFwcGluZyB0YWJsZS13cmFwcGluZ1wiPlxyXG5cdDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xlZ2FjeU1vZGVcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXBvc2l0aW9uXCI+XHJcblx0XHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3dzLmxlbmd0aFwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYmxlXCI+PC9uZy1jb250YWluZXI+XHJcblx0XHQ8L2Rpdj5cclxuXHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nXCI+XHJcblx0XHRcdDxjdHMtc3Bpbm5lcj48L2N0cy1zcGlubmVyPlxyXG5cdFx0PC9uZy1jb250YWluZXI+XHJcblx0PC9uZy1jb250YWluZXI+XHJcblxyXG5cdDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXBvc2l0aW9uXCIgKm5nSWY9XCIhaXNMZWdhY3lNb2RlXCI+XHJcblx0XHQ8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYmxlXCI+PC9uZy1jb250YWluZXI+XHJcblx0XHQ8bmctY29udGFpbmVyXHJcblx0XHRcdCpuZ0lmPVwiIWluaXRpYWxpemVkXCJcclxuXHRcdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwic2tlbGV0b25cIlxyXG5cdFx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IDEwIH1cIlxyXG5cdFx0PjwvbmctY29udGFpbmVyPlxyXG5cdDwvZGl2PlxyXG5cclxuXHQ8ZGl2XHJcblx0XHRjbGFzcz1cInBhZ2luYXRpb24taW5lci13cmFwZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIG15LTNcIlxyXG5cdFx0W25nQ2xhc3NdPVwieyByZWxhdGl2ZTogcGFnZVNpemVzPy5sZW5ndGggfVwiXHJcblx0XHQqbmdJZj1cInJvd3MubGVuZ3RoXCJcclxuXHQ+XHJcblx0XHQ8Y3RzLXBhZ2luYXRpb25cclxuXHRcdFx0W3BhZ2VdPVwicGFnZU51bVwiXHJcblx0XHRcdChjaGFuZ2UpPVwiUGFnaW5hdGlvbkNoYW5nZSgkZXZlbnQpXCJcclxuXHRcdFx0W3NpemVdPVwicGFnZVNpemVcIlxyXG5cdFx0XHRbY291bnRdPVwidG90YWxSZWNvcmRzXCJcclxuXHRcdD48L2N0cy1wYWdpbmF0aW9uPlxyXG5cdFx0PGRpdiBjbGFzcz1cImFic29sdXRlIG5kZlBhZ2VTaXplcyBmbGV4IGdhcC14LTMgaXRlbXMtY2VudGVyIG10LTJcIj5cclxuXHRcdFx0PG5kZi1wYWdlLXNpemVzLWxpc3RcclxuXHRcdFx0XHQqbmdJZj1cInBhZ2VTaXplcz8ubGVuZ3RoXCJcclxuXHRcdFx0XHRbcGFnZVNpemVzXT1cInBhZ2VTaXplc1wiXHJcblx0XHRcdFx0W3NlbGVjdGVkUGFnZVNpemVdPVwicGFnZVNpemVcIlxyXG5cdFx0XHRcdChvbkNoYW5nZVBhZ2VTaXplKT1cIm9uQ2hhbmdlUGFnZVNpemUoJGV2ZW50KVwiXHJcblx0XHRcdD5cclxuXHRcdFx0PC9uZGYtcGFnZS1zaXplcy1saXN0PlxyXG5cclxuXHRcdFx0PHNwYW4gKm5nSWY9XCJzaG93VG90YWxSZWNvcmRcIj57eyAnVEFCTEUudG90YWxSZWNvcmRzJyB8IHRyYW5zbGF0ZTogeyBjb3VudDogdG90YWxSZWNvcmRzIH0gfX08L3NwYW4+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuXHJcblx0PG5nLWNvbnRhaW5lclxyXG5cdFx0Km5nSWY9XCJpc0xlZ2FjeU1vZGVcIlxyXG5cdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwiZW1wdHlUZW1wbGF0ZSB8fCBsZWdhY3lEZWZhdWx0RW1wdHlTdGF0ZVwiXHJcblx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGxvYWRpbmcsIHJvd3M6IHJvd3MsIGluaXRpYWxpemVkOiBpbml0aWFsaXplZCB9XCJcclxuXHQ+PC9uZy1jb250YWluZXI+XHJcblxyXG5cdDxuZy1jb250YWluZXJcclxuXHRcdCpuZ0lmPVwiIWlzTGVnYWN5TW9kZVwiXHJcblx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJlbXB0eVRlbXBsYXRlIHx8IGRlZmF1bHRFbXB0eVN0YXRlXCJcclxuXHRcdFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogbG9hZGluZywgcm93czogcm93cywgaW5pdGlhbGl6ZWQ6IGluaXRpYWxpemVkIH1cIlxyXG5cdD48L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI3RhYmxlPlxyXG5cdDxjdHMtdGFibGVcclxuXHRcdFtyb3dzXT1cInJvd3NcIlxyXG5cdFx0W2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcblx0XHRbcmVzcG9uc2l2ZUNvbHVtbnNdPVwicmVzcG9uc2l2ZUNvbHVtbnNcIlxyXG5cdFx0W3Jvd0N1cnNvcl09XCJyb3dDdXJzb3JcIlxyXG5cdFx0W2Z1bGxXaWR0aF09XCJmdWxsV2lkdGhcIlxyXG5cdFx0W2VudGl0eVR5cGVdPVwiZW50aXR5VHlwZVwiXHJcblx0XHRbcHJlZml4XT1cInByZWZpeFwiXHJcblx0XHRbdG90YWxSZWNvcmRzXT1cInRvdGFsUmVjb3Jkc1wiXHJcblx0XHRbdGFibGVNb2RlXT1cInRhYmxlTW9kZVwiXHJcblx0XHRbY29tcG9uZW50TmFtZV09XCJjb21wb25lbnROYW1lXCJcclxuXHRcdFttdWx0aVNlbGVjdFJvd3NdPVwibXVsdGlTZWxlY3RSb3dzXCJcclxuXHRcdFt0YWJsZUFjdGlvbnNdPVwidGFibGVBY3Rpb25zXCJcclxuXHRcdFtzaG93QWN0aW9uc0FzTWVudV09XCJzaG93QWN0aW9uc0FzTWVudVwiXHJcblx0XHRbZGVmdWx0U29ydF09XCJkZWZ1bHRTb3J0XCJcclxuXHRcdFtmb3JtYXRdPVwiZm9ybWF0XCJcclxuXHRcdFtoaWdobGlnaHRTZWxlY3RlZENhcmRdPVwiaGlnaGxpZ2h0U2VsZWN0ZWRDYXJkXCJcclxuXHRcdFtjdXN0b21GaXJzdFJvd109XCJjdXN0b21GaXJzdFJvd1wiXHJcblx0XHQob25Sb3dTZWxlY3RlZCk9XCJyb3dEZXRhaWxzKCRldmVudClcIlxyXG5cdFx0KG9uUm93SW5kZXhTZWxlY3RlZCk9XCJpbmRleERldGFpbHMoJGV2ZW50KVwiXHJcblx0XHQob25NdWx0aVJvd1NlbGVjdGVkKT1cIm9uTXVsdGlSb3dTZWxlY3RWYWx1ZSgkZXZlbnQpXCJcclxuXHRcdChhY3Rpb25PblJvdyk9XCJwZXJmb3JtQWN0aW9uKCRldmVudClcIlxyXG5cdFx0KG9uU29ydGluZyk9XCJvblNvcnQoJGV2ZW50KVwiXHJcblx0PjwvY3RzLXRhYmxlPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNsZWdhY3lEZWZhdWx0RW1wdHlTdGF0ZT5cclxuXHQ8ZGl2IGNsYXNzPVwiZW1wdHktc3RhdGVcIiAqbmdJZj1cIiFsb2FkaW5nICYmIHJvd3MubGVuZ3RoID09PSAwXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwidGV4dFwiPlxyXG5cdFx0XHR7eyAocHJlZml4ID8gcHJlZml4ICsgJ25vRGF0YScgOiAnbm9EYXRhJykgfCB0cmFuc2xhdGUgfX1cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJlbXB0eS1zdGF0ZVwiICpuZ0lmPVwibG9hZGluZyAmJiByb3dzLmxlbmd0aCA9PT0gMFwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cInRleHRcIj5cclxuXHRcdFx0e3sgKHByZWZpeCA/IHByZWZpeCArICdnZXR0aW5nRGF0YScgOiAnZ2V0dGluZ0RhdGEnKSB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2RlZmF1bHRFbXB0eVN0YXRlPlxyXG5cdDxkaXYgY2xhc3M9XCJlbXB0eS1zdGF0ZVwiICpuZ0lmPVwiIWxvYWRpbmcgJiYgcm93cy5sZW5ndGggPT09IDBcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJ0ZXh0XCI+XHJcblx0XHRcdHt7IChwcmVmaXggPyBwcmVmaXggKyAnbm9EYXRhJyA6ICdub0RhdGEnKSB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblx0PGRpdiAqbmdJZj1cImxvYWRpbmcgJiYgaW5pdGlhbGl6ZWRcIiBjbGFzcz1cImxvYWRpbmctY29udGVudFwiPlxyXG5cdFx0PG1hdC1zcGlubmVyIFtkaWFtZXRlcl09XCIxMDBcIj48L21hdC1zcGlubmVyPlxyXG5cdDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNza2VsZXRvbiBsZXQtcm93cz5cclxuXHQ8dGFibGUgY2xhc3M9XCJ3LWZ1bGxcIj5cclxuXHRcdDx0aGVhZCAqbmdJZj1cImZhbHNlXCI+XHJcblx0XHRcdDx0ciBjbGFzcz1cImJvcmRlci1iIGJvcmRlci1ncmVlbi05MDBcIj5cclxuXHRcdFx0XHQ8dGggKm5nSWY9XCJtdWx0aVNlbGVjdFJvd3NcIiBjbGFzcz1cInAtMyBweS00XCIgc3R5bGU9XCJ3aWR0aDogNjBweFwiPlxyXG5cdFx0XHRcdFx0PGFwcC1za2VsZXRvbiB3aWR0aD1cIjYwcHhcIiBoZWlnaHQ9XCIxLjNyZW1cIj48L2FwcC1za2VsZXRvbj5cclxuXHRcdFx0XHQ8L3RoPlxyXG5cdFx0XHRcdDx0aCAqbmdGb3I9XCJsZXQgbnVtIG9mIFtdLmNvbnN0cnVjdG9yKGNvbHVtbnM/Lmxlbmd0aCB8fCA0KTsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwicHgtMyBweS00XCI+XHJcblx0XHRcdFx0XHQ8YXBwLXNrZWxldG9uIFtyYW5kb21XaWR0aF09XCJ0cnVlXCIgaGVpZ2h0PVwiMS43cmVtXCI+PC9hcHAtc2tlbGV0b24+XHJcblx0XHRcdFx0PC90aD5cclxuXHRcdFx0PC90cj5cclxuXHRcdDwvdGhlYWQ+XHJcblx0XHQ8dGJvZHk+XHJcblx0XHRcdDx0ciAqbmdGb3I9XCJsZXQgcm93IG9mIFtdLmNvbnN0cnVjdG9yKHJvd3MgfHwgMTApOyBsZXQgaW5kZXggPSBpbmRleFwiIGNsYXNzPVwiYm9yZGVyLWIgYm9yZGVyLWdyYXktMjAwXCI+XHJcblx0XHRcdFx0PHRkICpuZ0lmPVwibXVsdGlTZWxlY3RSb3dzXCIgY2xhc3M9XCJwLTMgcHktNFwiIHN0eWxlPVwid2lkdGg6IDUwcHhcIj5cclxuXHRcdFx0XHRcdDxhcHAtc2tlbGV0b24gd2lkdGg9XCI1MHB4XCIgaGVpZ2h0PVwiMS4zcmVtXCI+PC9hcHAtc2tlbGV0b24+XHJcblx0XHRcdFx0PC90ZD5cclxuXHRcdFx0XHQ8dGQgKm5nRm9yPVwibGV0IGNvbCBvZiBbXS5jb25zdHJ1Y3Rvcihjb2x1bW5zPy5sZW5ndGggfHwgNCk7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cInAtMyBweS00XCI+XHJcblx0XHRcdFx0XHQ8YXBwLXNrZWxldG9uIFtyYW5kb21XaWR0aF09XCJ0cnVlXCIgaGVpZ2h0PVwiMS4zcmVtXCI+PC9hcHAtc2tlbGV0b24+XHJcblx0XHRcdFx0PC90ZD5cclxuXHRcdFx0PC90cj5cclxuXHRcdDwvdGJvZHk+XHJcblx0PC90YWJsZT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -6,6 +6,8 @@ import { PaginationModule } from '../../components/pagination/pagination.module'
6
6
  import { LibrarySharedModule } from '../../shared/libraryShared.module';
7
7
  import { TranslateModule } from '@ngx-translate/core';
8
8
  import { EmptyTemplateDirective } from './directives/empty-state.directive';
9
+ import { SkeletonModule } from '../skeleton';
10
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
9
11
  import * as i0 from "@angular/core";
10
12
  /**
11
13
  * @title
@@ -14,14 +16,36 @@ import * as i0 from "@angular/core";
14
16
  export class DynamicTableModule {
15
17
  }
16
18
  DynamicTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
- DynamicTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTableModule, declarations: [DynamicTableComponent, EmptyTemplateDirective], imports: [CommonModule, TableModule, PaginationModule, LibrarySharedModule, TranslateModule], exports: [DynamicTableComponent, EmptyTemplateDirective] });
18
- DynamicTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTableModule, imports: [[CommonModule, TableModule, PaginationModule, LibrarySharedModule, TranslateModule]] });
19
+ DynamicTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTableModule, declarations: [DynamicTableComponent, EmptyTemplateDirective], imports: [CommonModule,
20
+ TableModule,
21
+ PaginationModule,
22
+ LibrarySharedModule,
23
+ TranslateModule,
24
+ SkeletonModule,
25
+ MatProgressSpinnerModule], exports: [DynamicTableComponent, EmptyTemplateDirective] });
26
+ DynamicTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTableModule, imports: [[
27
+ CommonModule,
28
+ TableModule,
29
+ PaginationModule,
30
+ LibrarySharedModule,
31
+ TranslateModule,
32
+ SkeletonModule,
33
+ MatProgressSpinnerModule
34
+ ]] });
19
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTableModule, decorators: [{
20
36
  type: NgModule,
21
37
  args: [{
22
38
  declarations: [DynamicTableComponent, EmptyTemplateDirective],
23
- imports: [CommonModule, TableModule, PaginationModule, LibrarySharedModule, TranslateModule],
39
+ imports: [
40
+ CommonModule,
41
+ TableModule,
42
+ PaginationModule,
43
+ LibrarySharedModule,
44
+ TranslateModule,
45
+ SkeletonModule,
46
+ MatProgressSpinnerModule
47
+ ],
24
48
  exports: [DynamicTableComponent, EmptyTemplateDirective]
25
49
  }]
26
50
  }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWJsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFFNUU7OztHQUdHO0FBTUgsTUFBTSxPQUFPLGtCQUFrQjs7Z0hBQWxCLGtCQUFrQjtpSEFBbEIsa0JBQWtCLGlCQUpmLHFCQUFxQixFQUFFLHNCQUFzQixhQUNsRCxZQUFZLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLGVBQWUsYUFDakYscUJBQXFCLEVBQUUsc0JBQXNCO2lIQUUzQyxrQkFBa0IsWUFIckIsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLGVBQWUsQ0FBQzs0RkFHaEYsa0JBQWtCO2tCQUw5QixRQUFRO21CQUFDO29CQUNULFlBQVksRUFBRSxDQUFDLHFCQUFxQixFQUFFLHNCQUFzQixDQUFDO29CQUM3RCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLGVBQWUsQ0FBQztvQkFDNUYsT0FBTyxFQUFFLENBQUMscUJBQXFCLEVBQUUsc0JBQXNCLENBQUM7aUJBQ3hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRHluYW1pY1RhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFibGVNb2R1bGUgfSBmcm9tICcuLi90YWJsZS90YWJsZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24ubW9kdWxlJztcclxuaW1wb3J0IHsgTGlicmFyeVNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9saWJyYXJ5U2hhcmVkLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBFbXB0eVRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2VtcHR5LXN0YXRlLmRpcmVjdGl2ZSc7XHJcblxyXG4vKipcclxuICogQHRpdGxlXHJcbiAqIER5bmFtaWMgVGFibGUgQVBJXHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG5cdGRlY2xhcmF0aW9uczogW0R5bmFtaWNUYWJsZUNvbXBvbmVudCwgRW1wdHlUZW1wbGF0ZURpcmVjdGl2ZV0sXHJcblx0aW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVGFibGVNb2R1bGUsIFBhZ2luYXRpb25Nb2R1bGUsIExpYnJhcnlTaGFyZWRNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZV0sXHJcblx0ZXhwb3J0czogW0R5bmFtaWNUYWJsZUNvbXBvbmVudCwgRW1wdHlUZW1wbGF0ZURpcmVjdGl2ZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNUYWJsZU1vZHVsZSB7fVxyXG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWJsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUU5RTs7O0dBR0c7QUFjSCxNQUFNLE9BQU8sa0JBQWtCOztnSEFBbEIsa0JBQWtCO2lIQUFsQixrQkFBa0IsaUJBWmYscUJBQXFCLEVBQUUsc0JBQXNCLGFBRTNELFlBQVk7UUFDWixXQUFXO1FBQ1gsZ0JBQWdCO1FBQ2hCLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsY0FBYztRQUNkLHdCQUF3QixhQUVmLHFCQUFxQixFQUFFLHNCQUFzQjtpSEFFM0Msa0JBQWtCLFlBWHJCO1lBQ1IsWUFBWTtZQUNaLFdBQVc7WUFDWCxnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixjQUFjO1lBQ2Qsd0JBQXdCO1NBQ3hCOzRGQUdXLGtCQUFrQjtrQkFiOUIsUUFBUTttQkFBQztvQkFDVCxZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxzQkFBc0IsQ0FBQztvQkFDN0QsT0FBTyxFQUFFO3dCQUNSLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLHdCQUF3QjtxQkFDeEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMscUJBQXFCLEVBQUUsc0JBQXNCLENBQUM7aUJBQ3hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRHluYW1pY1RhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFibGVNb2R1bGUgfSBmcm9tICcuLi90YWJsZS90YWJsZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24ubW9kdWxlJztcclxuaW1wb3J0IHsgTGlicmFyeVNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9saWJyYXJ5U2hhcmVkLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBFbXB0eVRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2VtcHR5LXN0YXRlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNrZWxldG9uTW9kdWxlIH0gZnJvbSAnLi4vc2tlbGV0b24nO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcclxuXHJcbi8qKlxyXG4gKiBAdGl0bGVcclxuICogRHluYW1pYyBUYWJsZSBBUElcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcblx0ZGVjbGFyYXRpb25zOiBbRHluYW1pY1RhYmxlQ29tcG9uZW50LCBFbXB0eVRlbXBsYXRlRGlyZWN0aXZlXSxcclxuXHRpbXBvcnRzOiBbXHJcblx0XHRDb21tb25Nb2R1bGUsXHJcblx0XHRUYWJsZU1vZHVsZSxcclxuXHRcdFBhZ2luYXRpb25Nb2R1bGUsXHJcblx0XHRMaWJyYXJ5U2hhcmVkTW9kdWxlLFxyXG5cdFx0VHJhbnNsYXRlTW9kdWxlLFxyXG5cdFx0U2tlbGV0b25Nb2R1bGUsXHJcblx0XHRNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGVcclxuXHRdLFxyXG5cdGV4cG9ydHM6IFtEeW5hbWljVGFibGVDb21wb25lbnQsIEVtcHR5VGVtcGxhdGVEaXJlY3RpdmVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljVGFibGVNb2R1bGUge31cclxuIl19
@@ -83,7 +83,7 @@ export class GregorianDatepickerComponent {
83
83
  }
84
84
  }
85
85
  GregorianDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GregorianDatepickerComponent, deps: [{ token: i1.NgbCalendar }, { token: i1.NgbDateParserFormatter }], target: i0.ɵɵFactoryTarget.Component });
86
- GregorianDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GregorianDatepickerComponent, selector: "gregorian-date-picker", inputs: { selectedDate: "selectedDate", readonly: "readonly", isRequired: "isRequired", disabled: "disabled", min: "min", max: "max", name: "name", range: "range", vertical: "vertical", placeHolder: "placeHolder" }, outputs: { selectedDateChange: "selectedDateChange" }, viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["d"], descendants: true }], ngImport: i0, template: "<div provideParentForm>\r\n <input class=\"form-control\" [ngClass]=\"{'hidden':range, 'input-filled' : selectedDate}\" [ngModel]=\"!range && selectedDate\"\r\n (ngModelChange)=\"!range && selectedDate=$event\"\r\n [placeholder]=\"placeHolder ?placeHolder : 'd/M/yyyy'\" ngbDatepicker (click)=\"d.toggle()\" (keyup.enter)=\"openDatePicker()\"\r\n (dateSelect)=\"onDateSelection($event)\" #d=\"ngbDatepicker\" firstDayOfWeek=\"7\" [readonly]=\"readonly\"\r\n [autoClose]=\"range ? 'outside' : true\" [minDate]=\"min\" [maxDate]=\"max\" [required]=\"isRequired\"\r\n [displayMonths]=\"range ? 2 : 1\" [name]=\"name\" [startDate]=\"range ? selectedDate.from! : selectedDate!\" [dayTemplate]=\"t\"\r\n (blur)=\"onBlur()\" [footerTemplate]=\"footerTemplate\" [disabled]=\"disabled\" />\r\n <ng-container *ngIf=\"range\">\r\n <div class=\"form-group ranger\" [ngClass]=\"{'vertical':vertical}\">\r\n <div class=\"input-group\">\r\n <input #dpFromDate class=\"form-control\" (click)=\"d.toggle()\" [placeholder]=\"placeHolder ?placeHolder : 'd/M/yyyy'\" name=\"dpFromDate\"\r\n [value]=\"formatter.format(selectedDate.from)\" (input)=\"fromDate = validateInput(selectedDate.from, dpFromDate.value)\">\r\n <div class=\"input-group-append\">\r\n <button class=\"btn btn-outline-secondary\" (click)=\"d.toggle()\" type=\"button\">\r\n <i class=\"bi bi-calendar-week icon\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group ranger\" [ngClass]=\"{'vertical':vertical}\">\r\n <div class=\"input-group\">\r\n <input #dpToDate class=\"form-control\" (click)=\"d.toggle()\" [placeholder]=\"placeHolder ?placeHolder : 'd/M/yyyy'\" name=\"dpToDate\"\r\n [value]=\"formatter.format(selectedDate.to)\" (input)=\"selectedDate.to = validateInput(selectedDate.to, dpToDate.value)\">\r\n <div class=\"input-group-append\">\r\n <button class=\"btn btn-outline-secondary\" (click)=\"d.toggle()\" type=\"button\">\r\n <i class=\"bi bi-calendar-week icon\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n<ng-template #t let-date let-focused=\"focused\">\r\n <span class=\"custom-day\" [class.focused]=\"focused || isToday(date)\" [class.range]=\"isRange(date) || isSelectedDate(date)\"\r\n [class.faded]=\"isHovered(date) || (isInside(date) && range)\" (mouseenter)=\"hoveredDate = date\"\r\n (mouseleave)=\"hoveredDate = null\">\r\n {{ date.day }}\r\n </span>\r\n</ng-template>\r\n\r\n\r\n<ng-template #footerTemplate>\r\n <hr class=\"my-0\">\r\n <button class=\"btn btn-secondary btn-sm m-2 float-right\" type=\"button\" (click)=\"d.close()\">{{ \"BUTTONS.CLOSE\" | translate }}</button>\r\n <button class=\"btn btn-primary btn-sm m-2 float-left\" type=\"button\" (click)=\"clear()\">{{ \"BUTTONS.CLEAR\" | translate }}</button>\r\n</ng-template>\r\n", styles: [".date-input-container{position:relative}.date-input-container .date-input-wrapper{position:absolute;width:100%;height:100%;z-index:999999}.hijriInput{border-top-left-radius:0;border-bottom-left-radius:0}.input-filled{border-color:#1a96c6!important}.ngb-dp-weekday{width:2.1rem!important}.custom-day{text-align:center;padding:.185rem .25rem;display:inline-block;height:2rem;width:2rem}.custom-day.focused{background-color:#e6e6e6}.custom-day.range,.custom-day:hover{background-color:#0275d8;color:#fff}.custom-day.faded{background-color:#0275d880}.ranger{width:calc(50% - 5px);margin:0 2px;float:left}.ranger.vertical{width:calc(100% - 5px);margin:8px 2px}.ranger.vertical:nth-child(2){margin-top:0}.ranger.vertical:last-child{margin-bottom:0}.rtl .custom-select{background:#ffffff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") left .75rem center/8px 10px no-repeat}.rtl .ngb-dp-arrow-btn{transform:rotate(180deg)}.rtl .ranger{float:right}\n"], directives: [{ type: i2.ProvideParentFormDirective, selector: "[provideParentForm]" }, { type: i1.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekdays", "showWeekNumbers", "startDate", "container", "positionTarget"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i5.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
86
+ GregorianDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GregorianDatepickerComponent, selector: "gregorian-date-picker", inputs: { selectedDate: "selectedDate", readonly: "readonly", isRequired: "isRequired", disabled: "disabled", min: "min", max: "max", name: "name", range: "range", vertical: "vertical", placeHolder: "placeHolder" }, outputs: { selectedDateChange: "selectedDateChange" }, viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["d"], descendants: true }], ngImport: i0, template: "<div provideParentForm>\r\n\t<input\r\n\t\tclass=\"form-control\"\r\n\t\t[ngClass]=\"{ hidden: range, 'input-filled': selectedDate }\"\r\n\t\t[ngModel]=\"!range && selectedDate\"\r\n\t\t(ngModelChange)=\"!range && (selectedDate = $event)\"\r\n\t\t[placeholder]=\"placeHolder ? placeHolder : 'd/M/yyyy'\"\r\n\t\tngbDatepicker\r\n\t\t(click)=\"d.toggle()\"\r\n\t\t(keyup.enter)=\"openDatePicker()\"\r\n\t\t(dateSelect)=\"onDateSelection($event)\"\r\n\t\t#d=\"ngbDatepicker\"\r\n\t\tfirstDayOfWeek=\"7\"\r\n\t\t[readonly]=\"readonly\"\r\n\t\t[autoClose]=\"range ? 'outside' : true\"\r\n\t\t[minDate]=\"min\"\r\n\t\t[maxDate]=\"max\"\r\n\t\t[required]=\"isRequired\"\r\n\t\t[displayMonths]=\"range ? 2 : 1\"\r\n\t\t[name]=\"name\"\r\n\t\t[startDate]=\"range ? selectedDate.from! : selectedDate!\"\r\n\t\t[dayTemplate]=\"t\"\r\n\t\t(blur)=\"onBlur()\"\r\n\t\t[footerTemplate]=\"footerTemplate\"\r\n\t\t[disabled]=\"disabled\"\r\n\t\tcontainer=\"body\"\r\n\t/>\r\n\t<ng-container *ngIf=\"range\">\r\n\t\t<div class=\"form-group ranger\" [ngClass]=\"{ vertical: vertical }\">\r\n\t\t\t<div class=\"input-group\">\r\n\t\t\t\t<input\r\n\t\t\t\t\t#dpFromDate\r\n\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t(click)=\"d.toggle()\"\r\n\t\t\t\t\t[placeholder]=\"placeHolder ? placeHolder : 'd/M/yyyy'\"\r\n\t\t\t\t\tname=\"dpFromDate\"\r\n\t\t\t\t\t[value]=\"formatter.format(selectedDate.from)\"\r\n\t\t\t\t\t(input)=\"fromDate = validateInput(selectedDate.from, dpFromDate.value)\"\r\n\t\t\t\t/>\r\n\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t<button class=\"btn btn-outline-secondary\" (click)=\"d.toggle()\" type=\"button\">\r\n\t\t\t\t\t\t<i class=\"bi bi-calendar-week icon\"></i>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"form-group ranger\" [ngClass]=\"{ vertical: vertical }\">\r\n\t\t\t<div class=\"input-group\">\r\n\t\t\t\t<input\r\n\t\t\t\t\t#dpToDate\r\n\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t(click)=\"d.toggle()\"\r\n\t\t\t\t\t[placeholder]=\"placeHolder ? placeHolder : 'd/M/yyyy'\"\r\n\t\t\t\t\tname=\"dpToDate\"\r\n\t\t\t\t\t[value]=\"formatter.format(selectedDate.to)\"\r\n\t\t\t\t\t(input)=\"selectedDate.to = validateInput(selectedDate.to, dpToDate.value)\"\r\n\t\t\t\t/>\r\n\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t<button class=\"btn btn-outline-secondary\" (click)=\"d.toggle()\" type=\"button\">\r\n\t\t\t\t\t\t<i class=\"bi bi-calendar-week icon\"></i>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-container>\r\n</div>\r\n<ng-template #t let-date let-focused=\"focused\">\r\n\t<span\r\n\t\tclass=\"custom-day\"\r\n\t\t[class.focused]=\"focused || isToday(date)\"\r\n\t\t[class.range]=\"isRange(date) || isSelectedDate(date)\"\r\n\t\t[class.faded]=\"isHovered(date) || (isInside(date) && range)\"\r\n\t\t(mouseenter)=\"hoveredDate = date\"\r\n\t\t(mouseleave)=\"hoveredDate = null\"\r\n\t>\r\n\t\t{{ date.day }}\r\n\t</span>\r\n</ng-template>\r\n\r\n<ng-template #footerTemplate>\r\n\t<hr class=\"my-0\" />\r\n\t<button class=\"btn btn-secondary btn-sm m-2 float-right\" type=\"button\" (click)=\"d.close()\">\r\n\t\t{{ 'BUTTONS.CLOSE' | translate }}\r\n\t</button>\r\n\t<button class=\"btn btn-primary btn-sm m-2 float-left\" type=\"button\" (click)=\"clear()\">\r\n\t\t{{ 'BUTTONS.CLEAR' | translate }}\r\n\t</button>\r\n</ng-template>\r\n", styles: [".date-input-container{position:relative}.date-input-container .date-input-wrapper{position:absolute;width:100%;height:100%;z-index:999999}.hijriInput{border-top-left-radius:0;border-bottom-left-radius:0}.input-filled{border-color:#1a96c6!important}.ngb-dp-weekday{width:2.1rem!important}.custom-day{text-align:center;padding:.185rem .25rem;display:inline-block;height:2rem;width:2rem}.custom-day.focused{background-color:#e6e6e6}.custom-day.range,.custom-day:hover{background-color:#0275d8;color:#fff}.custom-day.faded{background-color:#0275d880}.ranger{width:calc(50% - 5px);margin:0 2px;float:left}.ranger.vertical{width:calc(100% - 5px);margin:8px 2px}.ranger.vertical:nth-child(2){margin-top:0}.ranger.vertical:last-child{margin-bottom:0}.rtl .custom-select{background:#ffffff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") left .75rem center/8px 10px no-repeat}.rtl .ngb-dp-arrow-btn{transform:rotate(180deg)}.rtl .ranger{float:right}\n"], directives: [{ type: i2.ProvideParentFormDirective, selector: "[provideParentForm]" }, { type: i1.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekdays", "showWeekNumbers", "startDate", "container", "positionTarget"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i5.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
87
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GregorianDatepickerComponent, decorators: [{
88
88
  type: Component,
89
89
  args: [{
@@ -120,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
120
120
  }], placeHolder: [{
121
121
  type: Input
122
122
  }] } });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JlZ29yaWFuLWRhdGVwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9oaWpyaS1ncmVnb3JpYW4tZGF0ZXBpY2tlci9oaWpyaS1ncmVnb3JpYW4tZGF0ZXBpY2tlci9ncmVnb3JpYW4tZGF0ZXBpY2tlci9ncmVnb3JpYW4tZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2hpanJpLWdyZWdvcmlhbi1kYXRlcGlja2VyL2hpanJpLWdyZWdvcmlhbi1kYXRlcGlja2VyL2dyZWdvcmlhbi1kYXRlcGlja2VyL2dyZWdvcmlhbi1kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBZSxPQUFPLEVBQXlDLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7QUFVekcsTUFBTSxPQUFPLDRCQUE0QjtJQW9CdkMsWUFBbUIsUUFBcUIsRUFBUyxTQUFpQztRQUEvRCxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQVMsY0FBUyxHQUFULFNBQVMsQ0FBd0I7UUFmeEUsdUJBQWtCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFNUQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFJakIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNkLGFBQVEsR0FBRyxLQUFL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QUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFdBQVcsRUFBRSx1Q0FBdUM7b0JBQ3BELFNBQVMsRUFBRTt3QkFDVCx3Q0FBd0M7cUJBQ3pDO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzt1SUFHaUIsVUFBVTtzQkFBekIsU0FBUzt1QkFBQyxHQUFHO2dCQUVMLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksa0JBQWtCO3NCQUEzQixNQUFNO2dCQUVFLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JDYWxlbmRhciwgTmdiRGF0ZSwgTmdiRGF0ZVBhcnNlckZvcm1hdHRlciwgTmdiRGF0ZVN0cnVjdCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZ3JlZ29yaWFuLWRhdGUtcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZ3JlZ29yaWFuLWRhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogW1xyXG4gICAgJy4vZ3JlZ29yaWFuLWRhdGUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ1xyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgR3JlZ29yaWFuRGF0ZXBpY2tlckNvbXBvbmVudCB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2QnKSBkYXRlUGlja2VyOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIHNlbGVjdGVkRGF0ZTogYW55O1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZERhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzUmVxdWlyZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG1pbjogTmdiRGF0ZVN0cnVjdDtcclxuICBASW5wdXQoKSBtYXg6IE5nYkRhdGVTdHJ1Y3Q7XHJcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHJhbmdlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdmVydGljYWwgPSBmYWxzZTtcclxuICBob3ZlcmVkRGF0ZTogTmdiRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gIGZyb21EYXRlO1xyXG4gIHRvRGF0ZTtcclxuICBASW5wdXQoKSBwbGFjZUhvbGRlcjogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY2FsZW5kYXI6IE5nYkNhbGVuZGFyLCBwdWJsaWMgZm9ybWF0dGVyOiBOZ2JEYXRlUGFyc2VyRm9ybWF0dGVyKSB7XHJcbiAgICAvLyB0aGlzLnNlbGVjdGVkRGF0ZS5mcm9tID0gY2FsZW5kYXIuZ2V0VG9kYXkoKTtcclxuICB9XHJcblxyXG4gIGlzSG92ZXJlZChkYXRlOiBOZ2JEYXRlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGUgJiYgKHRoaXMuc2VsZWN0ZWREYXRlLmZyb20gJiYgIXRoaXMuc2VsZWN0ZWREYXRlLnRvICYmIHRoaXMuaG92ZXJlZERhdGUgJiYgZGF0ZS5hZnRlcih0aGlzLnNlbGVjdGVkRGF0ZS5mcm9tKSAmJiBkYXRlLmJlZm9yZSh0aGlzLmhvdmVyZWREYXRlKSk7XHJcbiAgfVxyXG5cclxuICBpc0luc2lkZShkYXRlOiBOZ2JEYXRlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGUgJiYgKHRoaXMuc2VsZWN0ZWREYXRlLnRvICYmIGRhdGUuYWZ0ZXIodGhpcy5zZWxlY3RlZERhdGUuZnJvbSkgJiYgZGF0ZS5iZWZvcmUodGhpcy5zZWxlY3RlZERhdGUudG8pKTtcclxuICB9XHJcblxyXG4gIGlzUmFuZ2UoZGF0ZTogTmdiRGF0ZSkge1xyXG4gICAgaWYgKHRoaXMucmFuZ2UpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWREYXRlICYmIChkYXRlLmVxdWFscyh0aGlzLnNlbGVjdGVkRGF0ZS5mcm9tKSB8fCAodGhpcy5zZWxlY3RlZERhdGUudG8gJiYgZGF0ZS5lcXVhbHModGhpcy5zZWxlY3RlZERhdGUudG8pKSB8fCB0aGlzLmlzSW5zaWRlKGRhdGUpIHx8IHRoaXMuaXNIb3ZlcmVkKGRhdGUpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbiAgaXNTZWxlY3RlZERhdGUoZGF0ZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWREYXRlICYmICF0aGlzLnJhbmdlICYmIGRhdGUuZXF1YWxzKHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuICB9XHJcbiAgaXNUb2RheShkYXRlKSB7XHJcbiAgICByZXR1cm4gZGF0ZS5lcXVhbHModGhpcy5jYWxlbmRhci5nZXRUb2RheSgpKTtcclxuICB9XHJcbiAgb25EYXRlU2VsZWN0aW9uKGRhdGUpIHtcclxuICAgIGlmICh0aGlzLnJhbmdlKSB7XHJcbiAgICAgIGlmICghdGhpcy5zZWxlY3RlZERhdGUuZnJvbSAmJiAhdGhpcy5zZWxlY3RlZERhdGUudG8pIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5mcm9tID0gZGF0ZTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkRGF0ZS5mcm9tICYmICF0aGlzLnNlbGVjdGVkRGF0ZS50byAmJiBkYXRlICYmIGRhdGUuYWZ0ZXIodGhpcy5zZWxlY3RlZERhdGUuZnJvbSkpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZS50byA9IGRhdGU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUudG8gPSBudWxsO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmZyb20gPSBkYXRlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkRGF0ZS5mcm9tICYmIHRoaXMuc2VsZWN0ZWREYXRlLnRvKSB7XHJcblxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZERhdGUpO1xyXG5cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGVDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHZhbGlkYXRlSW5wdXQoY3VycmVudFZhbHVlOiBOZ2JEYXRlIHwgbnVsbCwgaW5wdXQ6IHN0cmluZyk6IE5nYkRhdGUgfCBudWxsIHtcclxuICAgIGNvbnN0IHBhcnNlZCA9IHRoaXMuZm9ybWF0dGVyLnBhcnNlKGlucHV0KTtcclxuICAgIHJldHVybiBwYXJzZWQgJiYgdGhpcy5jYWxlbmRhci5pc1ZhbGlkKE5nYkRhdGUuZnJvbShwYXJzZWQpKSA/IE5nYkRhdGUuZnJvbShwYXJzZWQpIDogY3VycmVudFZhbHVlO1xyXG4gIH1cclxuICBvbkJsdXIoKSB7XHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWREYXRlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlQ2hhbmdlLmVtaXQobnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9wZW5EYXRlUGlja2VyKCl7XHJcbiAgICBpZih0aGlzLnNlbGVjdGVkRGF0ZT09bnVsbCB8fHRoaXMuc2VsZWN0ZWREYXRlPT11bmRlZmluZWQpe1xyXG4gICAgdGhpcy5kYXRlUGlja2VyLnRvZ2dsZSgpO1xyXG4gICAgfWVsc2V7XHJcbiAgICB0aGlzLmRhdGVQaWNrZXIuY2xvc2UoKTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG4gIGNsZWFyKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSB0aGlzLnJhbmdlID8geyBmcm9tOiB1bmRlZmluZWQsIHRvOiB1bmRlZmluZWQgfSA6IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuZGF0ZVBpY2tlci5jbG9zZSgpO1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGVDaGFuZ2UuZW1pdChudWxsKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgcHJvdmlkZVBhcmVudEZvcm0+XHJcbiAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW25nQ2xhc3NdPVwieydoaWRkZW4nOnJhbmdlLCAnaW5wdXQtZmlsbGVkJyA6IHNlbGVjdGVkRGF0ZX1cIiBbbmdNb2RlbF09XCIhcmFuZ2UgJiYgc2VsZWN0ZWREYXRlXCJcclxuICAobmdNb2RlbENoYW5nZSk9XCIhcmFuZ2UgJiYgc2VsZWN0ZWREYXRlPSRldmVudFwiXHJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXIgP3BsYWNlSG9sZGVyIDogJ2QvTS95eXl5J1wiIG5nYkRhdGVwaWNrZXIgKGNsaWNrKT1cImQudG9nZ2xlKClcIiAoa2V5dXAuZW50ZXIpPVwib3BlbkRhdGVQaWNrZXIoKVwiXHJcbiAgICAoZGF0ZVNlbGVjdCk9XCJvbkRhdGVTZWxlY3Rpb24oJGV2ZW50KVwiICNkPVwibmdiRGF0ZXBpY2tlclwiIGZpcnN0RGF5T2ZXZWVrPVwiN1wiIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICBbYXV0b0Nsb3NlXT1cInJhbmdlID8gJ291dHNpZGUnIDogdHJ1ZVwiIFttaW5EYXRlXT1cIm1pblwiIFttYXhEYXRlXT1cIm1heFwiIFtyZXF1aXJlZF09XCJpc1JlcXVpcmVkXCJcclxuICAgIFtkaXNwbGF5TW9udGhzXT1cInJhbmdlID8gMiA6IDFcIiBbbmFtZV09XCJuYW1lXCIgW3N0YXJ0RGF0ZV09XCJyYW5nZSA/IHNlbGVjdGVkRGF0ZS5mcm9tISA6IHNlbGVjdGVkRGF0ZSFcIiBbZGF5VGVtcGxhdGVdPVwidFwiXHJcbiAgICAoYmx1cik9XCJvbkJsdXIoKVwiIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIC8+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJhbmdlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByYW5nZXJcIiBbbmdDbGFzc109XCJ7J3ZlcnRpY2FsJzp2ZXJ0aWNhbH1cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XHJcbiAgICAgICAgPGlucHV0ICNkcEZyb21EYXRlIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgKGNsaWNrKT1cImQudG9nZ2xlKClcIiAgW3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyID9wbGFjZUhvbGRlciA6ICdkL00veXl5eSdcIiBuYW1lPVwiZHBGcm9tRGF0ZVwiXHJcbiAgICAgICAgICBbdmFsdWVdPVwiZm9ybWF0dGVyLmZvcm1hdChzZWxlY3RlZERhdGUuZnJvbSlcIiAoaW5wdXQpPVwiZnJvbURhdGUgPSB2YWxpZGF0ZUlucHV0KHNlbGVjdGVkRGF0ZS5mcm9tLCBkcEZyb21EYXRlLnZhbHVlKVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgKGNsaWNrKT1cImQudG9nZ2xlKClcIiB0eXBlPVwiYnV0dG9uXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktY2FsZW5kYXItd2VlayBpY29uXCI+PC9pPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByYW5nZXJcIiBbbmdDbGFzc109XCJ7J3ZlcnRpY2FsJzp2ZXJ0aWNhbH1cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XHJcbiAgICAgICAgPGlucHV0ICNkcFRvRGF0ZSBjbGFzcz1cImZvcm0tY29udHJvbFwiIChjbGljayk9XCJkLnRvZ2dsZSgpXCIgIFtwbGFjZWhvbGRlcl09XCJwbGFjZUhvbGRlciA/cGxhY2VIb2xkZXIgOiAnZC9NL3l5eXknXCIgbmFtZT1cImRwVG9EYXRlXCJcclxuICAgICAgICAgIFt2YWx1ZV09XCJmb3JtYXR0ZXIuZm9ybWF0KHNlbGVjdGVkRGF0ZS50bylcIiAoaW5wdXQpPVwic2VsZWN0ZWREYXRlLnRvID0gdmFsaWRhdGVJbnB1dChzZWxlY3RlZERhdGUudG8sIGRwVG9EYXRlLnZhbHVlKVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgKGNsaWNrKT1cImQudG9nZ2xlKClcIiB0eXBlPVwiYnV0dG9uXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktY2FsZW5kYXItd2VlayBpY29uXCI+PC9pPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG48bmctdGVtcGxhdGUgI3QgbGV0LWRhdGUgbGV0LWZvY3VzZWQ9XCJmb2N1c2VkXCI+XHJcbiAgPHNwYW4gY2xhc3M9XCJjdXN0b20tZGF5XCIgW2NsYXNzLmZvY3VzZWRdPVwiZm9jdXNlZCB8fCBpc1RvZGF5KGRhdGUpXCIgW2NsYXNzLnJhbmdlXT1cImlzUmFuZ2UoZGF0ZSkgfHwgaXNTZWxlY3RlZERhdGUoZGF0ZSlcIlxyXG4gICAgW2NsYXNzLmZhZGVkXT1cImlzSG92ZXJlZChkYXRlKSB8fCAoaXNJbnNpZGUoZGF0ZSkgJiYgcmFuZ2UpXCIgKG1vdXNlZW50ZXIpPVwiaG92ZXJlZERhdGUgPSBkYXRlXCJcclxuICAgIChtb3VzZWxlYXZlKT1cImhvdmVyZWREYXRlID0gbnVsbFwiPlxyXG4gICAge3sgZGF0ZS5kYXkgfX1cclxuICA8L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG5cclxuPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cclxuICA8aHIgY2xhc3M9XCJteS0wXCI+XHJcbiAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zbSBtLTIgZmxvYXQtcmlnaHRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImQuY2xvc2UoKVwiPnt7IFwiQlVUVE9OUy5DTE9TRVwiIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XHJcbiAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc20gbS0yIGZsb2F0LWxlZnRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNsZWFyKClcIj57eyBcIkJVVFRPTlMuQ0xFQVJcIiB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JlZ29yaWFuLWRhdGVwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9oaWpyaS1ncmVnb3JpYW4tZGF0ZXBpY2tlci9oaWpyaS1ncmVnb3JpYW4tZGF0ZXBpY2tlci9ncmVnb3JpYW4tZGF0ZXBpY2tlci9ncmVnb3JpYW4tZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2hpanJpLWdyZWdvcmlhbi1kYXRlcGlja2VyL2hpanJpLWdyZWdvcmlhbi1kYXRlcGlja2VyL2dyZWdvcmlhbi1kYXRlcGlja2VyL2dyZWdvcmlhbi1kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBZSxPQUFPLEVBQXlDLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7QUFVekcsTUFBTSxPQUFPLDRCQUE0QjtJQW9CdkMsWUFBbUIsUUFBcUIsRUFBUyxTQUFpQztRQUEvRCxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQVMsY0FBUyxHQUFULFNBQVMsQ0FBd0I7UUFmeEUsdUJBQWtCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFNUQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFJakIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNkLGFBQVEsR0FBRyxLQUFL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QUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFdBQVcsRUFBRSx1Q0FBdUM7b0JBQ3BELFNBQVMsRUFBRTt3QkFDVCx3Q0FBd0M7cUJBQ3pDO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzt1SUFHaUIsVUFBVTtzQkFBekIsU0FBUzt1QkFBQyxHQUFHO2dCQUVMLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksa0JBQWtCO3NCQUEzQixNQUFNO2dCQUVFLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JDYWxlbmRhciwgTmdiRGF0ZSwgTmdiRGF0ZVBhcnNlckZvcm1hdHRlciwgTmdiRGF0ZVN0cnVjdCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZ3JlZ29yaWFuLWRhdGUtcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZ3JlZ29yaWFuLWRhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogW1xyXG4gICAgJy4vZ3JlZ29yaWFuLWRhdGUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ1xyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgR3JlZ29yaWFuRGF0ZXBpY2tlckNvbXBvbmVudCB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2QnKSBkYXRlUGlja2VyOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIHNlbGVjdGVkRGF0ZTogYW55O1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZERhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzUmVxdWlyZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG1pbjogTmdiRGF0ZVN0cnVjdDtcclxuICBASW5wdXQoKSBtYXg6IE5nYkRhdGVTdHJ1Y3Q7XHJcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHJhbmdlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdmVydGljYWwgPSBmYWxzZTtcclxuICBob3ZlcmVkRGF0ZTogTmdiRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gIGZyb21EYXRlO1xyXG4gIHRvRGF0ZTtcclxuICBASW5wdXQoKSBwbGFjZUhvbGRlcjogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY2FsZW5kYXI6IE5nYkNhbGVuZGFyLCBwdWJsaWMgZm9ybWF0dGVyOiBOZ2JEYXRlUGFyc2VyRm9ybWF0dGVyKSB7XHJcbiAgICAvLyB0aGlzLnNlbGVjdGVkRGF0ZS5mcm9tID0gY2FsZW5kYXIuZ2V0VG9kYXkoKTtcclxuICB9XHJcblxyXG4gIGlzSG92ZXJlZChkYXRlOiBOZ2JEYXRlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGUgJiYgKHRoaXMuc2VsZWN0ZWREYXRlLmZyb20gJiYgIXRoaXMuc2VsZWN0ZWREYXRlLnRvICYmIHRoaXMuaG92ZXJlZERhdGUgJiYgZGF0ZS5hZnRlcih0aGlzLnNlbGVjdGVkRGF0ZS5mcm9tKSAmJiBkYXRlLmJlZm9yZSh0aGlzLmhvdmVyZWREYXRlKSk7XHJcbiAgfVxyXG5cclxuICBpc0luc2lkZShkYXRlOiBOZ2JEYXRlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGUgJiYgKHRoaXMuc2VsZWN0ZWREYXRlLnRvICYmIGRhdGUuYWZ0ZXIodGhpcy5zZWxlY3RlZERhdGUuZnJvbSkgJiYgZGF0ZS5iZWZvcmUodGhpcy5zZWxlY3RlZERhdGUudG8pKTtcclxuICB9XHJcblxyXG4gIGlzUmFuZ2UoZGF0ZTogTmdiRGF0ZSkge1xyXG4gICAgaWYgKHRoaXMucmFuZ2UpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWREYXRlICYmIChkYXRlLmVxdWFscyh0aGlzLnNlbGVjdGVkRGF0ZS5mcm9tKSB8fCAodGhpcy5zZWxlY3RlZERhdGUudG8gJiYgZGF0ZS5lcXVhbHModGhpcy5zZWxlY3RlZERhdGUudG8pKSB8fCB0aGlzLmlzSW5zaWRlKGRhdGUpIHx8IHRoaXMuaXNIb3ZlcmVkKGRhdGUpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbiAgaXNTZWxlY3RlZERhdGUoZGF0ZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWREYXRlICYmICF0aGlzLnJhbmdlICYmIGRhdGUuZXF1YWxzKHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuICB9XHJcbiAgaXNUb2RheShkYXRlKSB7XHJcbiAgICByZXR1cm4gZGF0ZS5lcXVhbHModGhpcy5jYWxlbmRhci5nZXRUb2RheSgpKTtcclxuICB9XHJcbiAgb25EYXRlU2VsZWN0aW9uKGRhdGUpIHtcclxuICAgIGlmICh0aGlzLnJhbmdlKSB7XHJcbiAgICAgIGlmICghdGhpcy5zZWxlY3RlZERhdGUuZnJvbSAmJiAhdGhpcy5zZWxlY3RlZERhdGUudG8pIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5mcm9tID0gZGF0ZTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkRGF0ZS5mcm9tICYmICF0aGlzLnNlbGVjdGVkRGF0ZS50byAmJiBkYXRlICYmIGRhdGUuYWZ0ZXIodGhpcy5zZWxlY3RlZERhdGUuZnJvbSkpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZS50byA9IGRhdGU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUudG8gPSBudWxsO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmZyb20gPSBkYXRlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkRGF0ZS5mcm9tICYmIHRoaXMuc2VsZWN0ZWREYXRlLnRvKSB7XHJcblxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZERhdGUpO1xyXG5cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGVDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHZhbGlkYXRlSW5wdXQoY3VycmVudFZhbHVlOiBOZ2JEYXRlIHwgbnVsbCwgaW5wdXQ6IHN0cmluZyk6IE5nYkRhdGUgfCBudWxsIHtcclxuICAgIGNvbnN0IHBhcnNlZCA9IHRoaXMuZm9ybWF0dGVyLnBhcnNlKGlucHV0KTtcclxuICAgIHJldHVybiBwYXJzZWQgJiYgdGhpcy5jYWxlbmRhci5pc1ZhbGlkKE5nYkRhdGUuZnJvbShwYXJzZWQpKSA/IE5nYkRhdGUuZnJvbShwYXJzZWQpIDogY3VycmVudFZhbHVlO1xyXG4gIH1cclxuICBvbkJsdXIoKSB7XHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWREYXRlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlQ2hhbmdlLmVtaXQobnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9wZW5EYXRlUGlja2VyKCl7XHJcbiAgICBpZih0aGlzLnNlbGVjdGVkRGF0ZT09bnVsbCB8fHRoaXMuc2VsZWN0ZWREYXRlPT11bmRlZmluZWQpe1xyXG4gICAgdGhpcy5kYXRlUGlja2VyLnRvZ2dsZSgpO1xyXG4gICAgfWVsc2V7XHJcbiAgICB0aGlzLmRhdGVQaWNrZXIuY2xvc2UoKTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG4gIGNsZWFyKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSB0aGlzLnJhbmdlID8geyBmcm9tOiB1bmRlZmluZWQsIHRvOiB1bmRlZmluZWQgfSA6IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuZGF0ZVBpY2tlci5jbG9zZSgpO1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGVDaGFuZ2UuZW1pdChudWxsKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgcHJvdmlkZVBhcmVudEZvcm0+XHJcblx0PGlucHV0XHJcblx0XHRjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcblx0XHRbbmdDbGFzc109XCJ7IGhpZGRlbjogcmFuZ2UsICdpbnB1dC1maWxsZWQnOiBzZWxlY3RlZERhdGUgfVwiXHJcblx0XHRbbmdNb2RlbF09XCIhcmFuZ2UgJiYgc2VsZWN0ZWREYXRlXCJcclxuXHRcdChuZ01vZGVsQ2hhbmdlKT1cIiFyYW5nZSAmJiAoc2VsZWN0ZWREYXRlID0gJGV2ZW50KVwiXHJcblx0XHRbcGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXIgPyBwbGFjZUhvbGRlciA6ICdkL00veXl5eSdcIlxyXG5cdFx0bmdiRGF0ZXBpY2tlclxyXG5cdFx0KGNsaWNrKT1cImQudG9nZ2xlKClcIlxyXG5cdFx0KGtleXVwLmVudGVyKT1cIm9wZW5EYXRlUGlja2VyKClcIlxyXG5cdFx0KGRhdGVTZWxlY3QpPVwib25EYXRlU2VsZWN0aW9uKCRldmVudClcIlxyXG5cdFx0I2Q9XCJuZ2JEYXRlcGlja2VyXCJcclxuXHRcdGZpcnN0RGF5T2ZXZWVrPVwiN1wiXHJcblx0XHRbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG5cdFx0W2F1dG9DbG9zZV09XCJyYW5nZSA/ICdvdXRzaWRlJyA6IHRydWVcIlxyXG5cdFx0W21pbkRhdGVdPVwibWluXCJcclxuXHRcdFttYXhEYXRlXT1cIm1heFwiXHJcblx0XHRbcmVxdWlyZWRdPVwiaXNSZXF1aXJlZFwiXHJcblx0XHRbZGlzcGxheU1vbnRoc109XCJyYW5nZSA/IDIgOiAxXCJcclxuXHRcdFtuYW1lXT1cIm5hbWVcIlxyXG5cdFx0W3N0YXJ0RGF0ZV09XCJyYW5nZSA/IHNlbGVjdGVkRGF0ZS5mcm9tISA6IHNlbGVjdGVkRGF0ZSFcIlxyXG5cdFx0W2RheVRlbXBsYXRlXT1cInRcIlxyXG5cdFx0KGJsdXIpPVwib25CbHVyKClcIlxyXG5cdFx0W2Zvb3RlclRlbXBsYXRlXT1cImZvb3RlclRlbXBsYXRlXCJcclxuXHRcdFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcblx0XHRjb250YWluZXI9XCJib2R5XCJcclxuXHQvPlxyXG5cdDxuZy1jb250YWluZXIgKm5nSWY9XCJyYW5nZVwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcmFuZ2VyXCIgW25nQ2xhc3NdPVwieyB2ZXJ0aWNhbDogdmVydGljYWwgfVwiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cclxuXHRcdFx0XHQ8aW5wdXRcclxuXHRcdFx0XHRcdCNkcEZyb21EYXRlXHJcblx0XHRcdFx0XHRjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcblx0XHRcdFx0XHQoY2xpY2spPVwiZC50b2dnbGUoKVwiXHJcblx0XHRcdFx0XHRbcGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXIgPyBwbGFjZUhvbGRlciA6ICdkL00veXl5eSdcIlxyXG5cdFx0XHRcdFx0bmFtZT1cImRwRnJvbURhdGVcIlxyXG5cdFx0XHRcdFx0W3ZhbHVlXT1cImZvcm1hdHRlci5mb3JtYXQoc2VsZWN0ZWREYXRlLmZyb20pXCJcclxuXHRcdFx0XHRcdChpbnB1dCk9XCJmcm9tRGF0ZSA9IHZhbGlkYXRlSW5wdXQoc2VsZWN0ZWREYXRlLmZyb20sIGRwRnJvbURhdGUudmFsdWUpXCJcclxuXHRcdFx0XHQvPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuXHRcdFx0XHRcdDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgKGNsaWNrKT1cImQudG9nZ2xlKClcIiB0eXBlPVwiYnV0dG9uXCI+XHJcblx0XHRcdFx0XHRcdDxpIGNsYXNzPVwiYmkgYmktY2FsZW5kYXItd2VlayBpY29uXCI+PC9pPlxyXG5cdFx0XHRcdFx0PC9idXR0b24+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByYW5nZXJcIiBbbmdDbGFzc109XCJ7IHZlcnRpY2FsOiB2ZXJ0aWNhbCB9XCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxyXG5cdFx0XHRcdDxpbnB1dFxyXG5cdFx0XHRcdFx0I2RwVG9EYXRlXHJcblx0XHRcdFx0XHRjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcblx0XHRcdFx0XHQoY2xpY2spPVwiZC50b2dnbGUoKVwiXHJcblx0XHRcdFx0XHRbcGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXIgPyBwbGFjZUhvbGRlciA6ICdkL00veXl5eSdcIlxyXG5cdFx0XHRcdFx0bmFtZT1cImRwVG9EYXRlXCJcclxuXHRcdFx0XHRcdFt2YWx1ZV09XCJmb3JtYXR0ZXIuZm9ybWF0KHNlbGVjdGVkRGF0ZS50bylcIlxyXG5cdFx0XHRcdFx0KGlucHV0KT1cInNlbGVjdGVkRGF0ZS50byA9IHZhbGlkYXRlSW5wdXQoc2VsZWN0ZWREYXRlLnRvLCBkcFRvRGF0ZS52YWx1ZSlcIlxyXG5cdFx0XHRcdC8+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG5cdFx0XHRcdFx0PGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnlcIiAoY2xpY2spPVwiZC50b2dnbGUoKVwiIHR5cGU9XCJidXR0b25cIj5cclxuXHRcdFx0XHRcdFx0PGkgY2xhc3M9XCJiaSBiaS1jYWxlbmRhci13ZWVrIGljb25cIj48L2k+XHJcblx0XHRcdFx0XHQ8L2J1dHRvbj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcbjxuZy10ZW1wbGF0ZSAjdCBsZXQtZGF0ZSBsZXQtZm9jdXNlZD1cImZvY3VzZWRcIj5cclxuXHQ8c3BhblxyXG5cdFx0Y2xhc3M9XCJjdXN0b20tZGF5XCJcclxuXHRcdFtjbGFzcy5mb2N1c2VkXT1cImZvY3VzZWQgfHwgaXNUb2RheShkYXRlKVwiXHJcblx0XHRbY2xhc3MucmFuZ2VdPVwiaXNSYW5nZShkYXRlKSB8fCBpc1NlbGVjdGVkRGF0ZShkYXRlKVwiXHJcblx0XHRbY2xhc3MuZmFkZWRdPVwiaXNIb3ZlcmVkKGRhdGUpIHx8IChpc0luc2lkZShkYXRlKSAmJiByYW5nZSlcIlxyXG5cdFx0KG1vdXNlZW50ZXIpPVwiaG92ZXJlZERhdGUgPSBkYXRlXCJcclxuXHRcdChtb3VzZWxlYXZlKT1cImhvdmVyZWREYXRlID0gbnVsbFwiXHJcblx0PlxyXG5cdFx0e3sgZGF0ZS5kYXkgfX1cclxuXHQ8L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxyXG5cdDxociBjbGFzcz1cIm15LTBcIiAvPlxyXG5cdDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBidG4tc20gbS0yIGZsb2F0LXJpZ2h0XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJkLmNsb3NlKClcIj5cclxuXHRcdHt7ICdCVVRUT05TLkNMT1NFJyB8IHRyYW5zbGF0ZSB9fVxyXG5cdDwvYnV0dG9uPlxyXG5cdDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtIG0tMiBmbG9hdC1sZWZ0XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjbGVhcigpXCI+XHJcblx0XHR7eyAnQlVUVE9OUy5DTEVBUicgfCB0cmFuc2xhdGUgfX1cclxuXHQ8L2J1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -82,7 +82,7 @@ HijriDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0",
82
82
  HijriDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: HijriDatepickerComponent, selector: "hijri-date-picker", inputs: { selectedDate: "selectedDate", readonly: "readonly", isRequired: "isRequired", disabled: "disabled", min: "min", max: "max", name: "name", range: "range", vertical: "vertical", placeHolder: "placeHolder" }, outputs: { selectedDateChange: "selectedDateChange" }, providers: [
83
83
  { provide: NgbCalendar, useClass: NgbCalendarIslamicUmalqura },
84
84
  { provide: NgbDatepickerI18n, useClass: IslamicI18n }
85
- ], viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["d"], descendants: true }], ngImport: i0, template: "<div provideParentForm>\r\n <input class=\"form-control\" [ngClass]=\"{'hidden':range, 'input-filled' : selectedDate}\" [ngModel]=\"!range && selectedDate\"\r\n (ngModelChange)=\"!range && selectedDate=$event\"\r\n [placeholder]=\"placeHolder ?placeHolder : 'd/M/yyyy'\" ngbDatepicker (click)=\"d.toggle()\" (keyup.enter)=\"openDatePicker()\"\r\n (dateSelect)=\"onDateSelection($event)\" #d=\"ngbDatepicker\" firstDayOfWeek=\"7\" [readonly]=\"readonly\"\r\n [autoClose]=\"range ? 'outside' : true\" [minDate]=\"min\" [maxDate]=\"max\" [required]=\"isRequired\"\r\n [displayMonths]=\"range ? 2 : 1\" [name]=\"name\" [startDate]=\"range ? selectedDate.from! : selectedDate!\" [dayTemplate]=\"t\"\r\n (blur)=\"onBlur()\" [footerTemplate]=\"footerTemplate\" [disabled]=\"disabled\" />\r\n <ng-container *ngIf=\"range\">\r\n <div class=\"form-group ranger\" [ngClass]=\"{'vertical':vertical}\">\r\n <div class=\"input-group\">\r\n <input #dpFromDate class=\"form-control\" (click)=\"d.toggle()\" [placeholder]=\"placeHolder ?placeHolder : 'd/M/yyyy'\" name=\"dpFromDate\"\r\n [value]=\"formatter.format(selectedDate.from)\" (input)=\"fromDate = validateInput(selectedDate.from, dpFromDate.value)\">\r\n <div class=\"input-group-append\">\r\n <button class=\"btn btn-outline-secondary\" (click)=\"d.toggle()\" type=\"button\">\r\n <i class=\"bi bi-calendar-week icon\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group ranger\" [ngClass]=\"{'vertical':vertical}\">\r\n <div class=\"input-group\">\r\n <input #dpToDate class=\"form-control\" (click)=\"d.toggle()\" [placeholder]=\"placeHolder ?placeHolder : 'd/M/yyyy'\" name=\"dpToDate\"\r\n [value]=\"formatter.format(selectedDate.to)\" (input)=\"selectedDate.to = validateInput(selectedDate.to, dpToDate.value)\">\r\n <div class=\"input-group-append\">\r\n <button class=\"btn btn-outline-secondary\" (click)=\"d.toggle()\" type=\"button\">\r\n <i class=\"bi bi-calendar-week icon\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n<ng-template #t let-date let-focused=\"focused\">\r\n <span class=\"custom-day\" [class.focused]=\"focused || isToday(date)\" [class.range]=\"isRange(date)|| isSelectedDate(date)\"\r\n [class.faded]=\"isHovered(date) || (isInside(date) && range)\" (mouseenter)=\"hoveredDate = date\"\r\n (mouseleave)=\"hoveredDate = null\">\r\n {{ date.day }}\r\n </span>\r\n</ng-template>\r\n\r\n\r\n<ng-template #footerTemplate>\r\n <hr class=\"my-0\">\r\n <button class=\"btn btn-secondary btn-sm m-2 float-right\" type=\"button\" (click)=\"d.close()\" >{{ \"BUTTONS.CLOSE\" | translate }}</button>\r\n <button class=\"btn btn-primary btn-sm m-2 float-left\" type=\"button\" (click)=\"clear()\">{{ \"BUTTONS.CLEAR\" | translate }}</button>\r\n</ng-template>\r\n", styles: [".date-input-container{position:relative}.date-input-container .date-input-wrapper{position:absolute;width:100%;height:100%;z-index:999999}.hijriInput{border-top-left-radius:0;border-bottom-left-radius:0}.input-filled{border-color:#1a96c6!important}.ngb-dp-weekday{width:2.1rem!important}.custom-day{text-align:center;padding:.185rem .25rem;display:inline-block;height:2rem;width:2rem}.custom-day.focused{background-color:#e6e6e6}.custom-day.range,.custom-day:hover{background-color:#0275d8;color:#fff}.custom-day.faded{background-color:#0275d880}.ranger{width:calc(50% - 5px);margin:0 2px;float:left}.ranger.vertical{width:calc(100% - 5px);margin:8px 2px}.ranger.vertical:nth-child(2){margin-top:0}.ranger.vertical:last-child{margin-bottom:0}.rtl .custom-select{background:#ffffff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") left .75rem center/8px 10px no-repeat}.rtl .ngb-dp-arrow-btn{transform:rotate(180deg)}.rtl .ranger{float:right}\n"], directives: [{ type: i2.ProvideParentFormDirective, selector: "[provideParentForm]" }, { type: i1.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekdays", "showWeekNumbers", "startDate", "container", "positionTarget"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i5.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
85
+ ], viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["d"], descendants: true }], ngImport: i0, template: "<div provideParentForm>\r\n\t<input\r\n\t\tclass=\"form-control\"\r\n\t\t[ngClass]=\"{ hidden: range, 'input-filled': selectedDate }\"\r\n\t\t[ngModel]=\"!range && selectedDate\"\r\n\t\t(ngModelChange)=\"!range && (selectedDate = $event)\"\r\n\t\t[placeholder]=\"placeHolder ? placeHolder : 'd/M/yyyy'\"\r\n\t\tngbDatepicker\r\n\t\t(click)=\"d.toggle()\"\r\n\t\t(keyup.enter)=\"openDatePicker()\"\r\n\t\t(dateSelect)=\"onDateSelection($event)\"\r\n\t\t#d=\"ngbDatepicker\"\r\n\t\tfirstDayOfWeek=\"7\"\r\n\t\t[readonly]=\"readonly\"\r\n\t\t[autoClose]=\"range ? 'outside' : true\"\r\n\t\t[minDate]=\"min\"\r\n\t\t[maxDate]=\"max\"\r\n\t\t[required]=\"isRequired\"\r\n\t\t[displayMonths]=\"range ? 2 : 1\"\r\n\t\t[name]=\"name\"\r\n\t\t[startDate]=\"range ? selectedDate.from! : selectedDate!\"\r\n\t\t[dayTemplate]=\"t\"\r\n\t\t(blur)=\"onBlur()\"\r\n\t\t[footerTemplate]=\"footerTemplate\"\r\n\t\t[disabled]=\"disabled\"\r\n\t\tcontainer=\"body\"\r\n\t/>\r\n\t<ng-container *ngIf=\"range\">\r\n\t\t<div class=\"form-group ranger\" [ngClass]=\"{ vertical: vertical }\">\r\n\t\t\t<div class=\"input-group\">\r\n\t\t\t\t<input\r\n\t\t\t\t\t#dpFromDate\r\n\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t(click)=\"d.toggle()\"\r\n\t\t\t\t\t[placeholder]=\"placeHolder ? placeHolder : 'd/M/yyyy'\"\r\n\t\t\t\t\tname=\"dpFromDate\"\r\n\t\t\t\t\t[value]=\"formatter.format(selectedDate.from)\"\r\n\t\t\t\t\t(input)=\"fromDate = validateInput(selectedDate.from, dpFromDate.value)\"\r\n\t\t\t\t/>\r\n\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t<button class=\"btn btn-outline-secondary\" (click)=\"d.toggle()\" type=\"button\">\r\n\t\t\t\t\t\t<i class=\"bi bi-calendar-week icon\"></i>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"form-group ranger\" [ngClass]=\"{ vertical: vertical }\">\r\n\t\t\t<div class=\"input-group\">\r\n\t\t\t\t<input\r\n\t\t\t\t\t#dpToDate\r\n\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t(click)=\"d.toggle()\"\r\n\t\t\t\t\t[placeholder]=\"placeHolder ? placeHolder : 'd/M/yyyy'\"\r\n\t\t\t\t\tname=\"dpToDate\"\r\n\t\t\t\t\t[value]=\"formatter.format(selectedDate.to)\"\r\n\t\t\t\t\t(input)=\"selectedDate.to = validateInput(selectedDate.to, dpToDate.value)\"\r\n\t\t\t\t/>\r\n\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t<button class=\"btn btn-outline-secondary\" (click)=\"d.toggle()\" type=\"button\">\r\n\t\t\t\t\t\t<i class=\"bi bi-calendar-week icon\"></i>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-container>\r\n</div>\r\n<ng-template #t let-date let-focused=\"focused\">\r\n\t<span\r\n\t\tclass=\"custom-day\"\r\n\t\t[class.focused]=\"focused || isToday(date)\"\r\n\t\t[class.range]=\"isRange(date) || isSelectedDate(date)\"\r\n\t\t[class.faded]=\"isHovered(date) || (isInside(date) && range)\"\r\n\t\t(mouseenter)=\"hoveredDate = date\"\r\n\t\t(mouseleave)=\"hoveredDate = null\"\r\n\t>\r\n\t\t{{ date.day }}\r\n\t</span>\r\n</ng-template>\r\n\r\n<ng-template #footerTemplate>\r\n\t<hr class=\"my-0\" />\r\n\t<button class=\"btn btn-secondary btn-sm m-2 float-right\" type=\"button\" (click)=\"d.close()\">\r\n\t\t{{ 'BUTTONS.CLOSE' | translate }}\r\n\t</button>\r\n\t<button class=\"btn btn-primary btn-sm m-2 float-left\" type=\"button\" (click)=\"clear()\">\r\n\t\t{{ 'BUTTONS.CLEAR' | translate }}\r\n\t</button>\r\n</ng-template>\r\n", styles: [".date-input-container{position:relative}.date-input-container .date-input-wrapper{position:absolute;width:100%;height:100%;z-index:999999}.hijriInput{border-top-left-radius:0;border-bottom-left-radius:0}.input-filled{border-color:#1a96c6!important}.ngb-dp-weekday{width:2.1rem!important}.custom-day{text-align:center;padding:.185rem .25rem;display:inline-block;height:2rem;width:2rem}.custom-day.focused{background-color:#e6e6e6}.custom-day.range,.custom-day:hover{background-color:#0275d8;color:#fff}.custom-day.faded{background-color:#0275d880}.ranger{width:calc(50% - 5px);margin:0 2px;float:left}.ranger.vertical{width:calc(100% - 5px);margin:8px 2px}.ranger.vertical:nth-child(2){margin-top:0}.ranger.vertical:last-child{margin-bottom:0}.rtl .custom-select{background:#ffffff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") left .75rem center/8px 10px no-repeat}.rtl .ngb-dp-arrow-btn{transform:rotate(180deg)}.rtl .ranger{float:right}\n"], directives: [{ type: i2.ProvideParentFormDirective, selector: "[provideParentForm]" }, { type: i1.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekdays", "showWeekNumbers", "startDate", "container", "positionTarget"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i5.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
86
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: HijriDatepickerComponent, decorators: [{
87
87
  type: Component,
88
88
  args: [{
@@ -123,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
123
123
  }], placeHolder: [{
124
124
  type: Input
125
125
  }] } });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlqcmktZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2hpanJpLWdyZWdvcmlhbi1kYXRlcGlja2VyL2hpanJpLWdyZWdvcmlhbi1kYXRlcGlja2VyL2hpanJpLWRhdGVwaWNrZXIvaGlqcmktZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2hpanJpLWdyZWdvcmlhbi1kYXRlcGlja2VyL2hpanJpLWdyZWdvcmlhbi1kYXRlcGlja2VyL2hpanJpLWRhdGVwaWNrZXIvaGlqcmktZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsV0FBVyxFQUFFLDBCQUEwQixFQUFFLE9BQU8sRUFBMEIsaUJBQWlCLEVBQWlCLE1BQU0sNEJBQTRCLENBQUM7QUFDeEosT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0FBY3RELE1BQU0sT0FBTyx3QkFBd0I7SUFxQm5DLFlBQW1CLFFBQXFCLEVBQVMsU0FBaUM7UUFBL0QsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUFTLGNBQVMsR0FBVCxTQUFTLENBQXdCO1FBZnhFLHVCQUFrQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTVELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixhQUFRLEdB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QUUsMEJBQTBCLEVBQUU7UUFDOUQsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRTtLQUN0RCwySENWSCxvNkZBK0NBOzRGRC9CYSx3QkFBd0I7a0JBWnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsV0FBVyxFQUFFLG1DQUFtQztvQkFDaEQsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsMEJBQTBCLEVBQUU7d0JBQzlELEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUU7cUJBQ3REO29CQUNELFNBQVMsRUFBRTt3QkFDVCxvQ0FBb0M7cUJBQ3JDO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzt1SUFJaUIsVUFBVTtzQkFBekIsU0FBUzt1QkFBQyxHQUFHO2dCQUVMLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksa0JBQWtCO3NCQUEzQixNQUFNO2dCQUVFLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JDYWxlbmRhciwgTmdiQ2FsZW5kYXJJc2xhbWljVW1hbHF1cmEsIE5nYkRhdGUsIE5nYkRhdGVQYXJzZXJGb3JtYXR0ZXIsIE5nYkRhdGVwaWNrZXJJMThuLCBOZ2JEYXRlU3RydWN0IH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBJc2xhbWljSTE4biB9IGZyb20gJy4uLy4uL3V0aWxzL0lzbGFtaWNJMThuJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaGlqcmktZGF0ZS1waWNrZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9oaWpyaS1kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHsgcHJvdmlkZTogTmdiQ2FsZW5kYXIsIHVzZUNsYXNzOiBOZ2JDYWxlbmRhcklzbGFtaWNVbWFscXVyYSB9LFxyXG4gICAgeyBwcm92aWRlOiBOZ2JEYXRlcGlja2VySTE4biwgdXNlQ2xhc3M6IElzbGFtaWNJMThuIH1cclxuICBdLFxyXG4gIHN0eWxlVXJsczogW1xyXG4gICAgJy4vaGlqcmktZGF0ZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIaWpyaURhdGVwaWNrZXJDb21wb25lbnQge1xyXG5cclxuXHJcbiAgQFZpZXdDaGlsZCgnZCcpIGRhdGVQaWNrZXI6IGFueTtcclxuXHJcbiAgQElucHV0KCkgc2VsZWN0ZWREYXRlO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZERhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzUmVxdWlyZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG1pbjogTmdiRGF0ZVN0cnVjdDtcclxuICBASW5wdXQoKSBtYXg6IE5nYkRhdGVTdHJ1Y3Q7XHJcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHJhbmdlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdmVydGljYWwgPSBmYWxzZTtcclxuICBob3ZlcmVkRGF0ZTogTmdiRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gIGZyb21EYXRlO1xyXG4gIHRvRGF0ZTtcclxuICBASW5wdXQoKSBwbGFjZUhvbGRlcjogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY2FsZW5kYXI6IE5nYkNhbGVuZGFyLCBwdWJsaWMgZm9ybWF0dGVyOiBOZ2JEYXRlUGFyc2VyRm9ybWF0dGVyKSB7XHJcbiAgICAvLyB0aGlzLmZyb21EYXRlID0gY2FsZW5kYXIuZ2V0VG9kYXkoKTtcclxuICB9XHJcblxyXG4gIGlzSG92ZXJlZChkYXRlOiBOZ2JEYXRlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGUgJiYgKHRoaXMuc2VsZWN0ZWREYXRlLmZyb20gJiYgIXRoaXMuc2VsZWN0ZWREYXRlLnRvICYmIHRoaXMuaG92ZXJlZERhdGUgJiYgZGF0ZS5hZnRlcih0aGlzLnNlbGVjdGVkRGF0ZS5mcm9tKSAmJiBkYXRlLmJlZm9yZSh0aGlzLmhvdmVyZWREYXRlKSk7XHJcbiAgfVxyXG5cclxuICBpc0luc2lkZShkYXRlOiBOZ2JEYXRlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGUgJiYgKHRoaXMuc2VsZWN0ZWREYXRlLnRvICYmIGRhdGUuYWZ0ZXIodGhpcy5zZWxlY3RlZERhdGUuZnJvbSkgJiYgZGF0ZS5iZWZvcmUodGhpcy5zZWxlY3RlZERhdGUudG8pKTtcclxuICB9XHJcblxyXG4gIGlzVG9kYXkoZGF0ZSkge1xyXG4gICAgcmV0dXJuIGRhdGUuZXF1YWxzKHRoaXMuY2FsZW5kYXIuZ2V0VG9kYXkoKSk7XHJcbiAgfVxyXG5cclxuICBpc1NlbGVjdGVkRGF0ZShkYXRlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGUgJiYgIXRoaXMucmFuZ2UgJiYgZGF0ZS5lcXVhbHModGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gIH1cclxuICBcclxuICBpc1JhbmdlKGRhdGU6IE5nYkRhdGUpIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkRGF0ZSAmJiAoZGF0ZS5lcXVhbHModGhpcy5zZWxlY3RlZERhdGUuZnJvbSkgfHwgKHRoaXMuc2VsZWN0ZWREYXRlLnRvICYmIGRhdGUuZXF1YWxzKHRoaXMuc2VsZWN0ZWREYXRlLnRvKSkgfHwgdGhpcy5pc0luc2lkZShkYXRlKSB8fCB0aGlzLmlzSG92ZXJlZChkYXRlKSk7XHJcbiAgfVxyXG4gIG9uRGF0ZVNlbGVjdGlvbihkYXRlKSB7XHJcbiAgICBpZiAodGhpcy5yYW5nZSkge1xyXG4gICAgICBpZiAoIXRoaXMuc2VsZWN0ZWREYXRlLmZyb20gJiYgIXRoaXMuc2VsZWN0ZWREYXRlLnRvKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZnJvbSA9IGRhdGU7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZERhdGUuZnJvbSAmJiAhdGhpcy5zZWxlY3RlZERhdGUudG8gJiYgZGF0ZSAmJiBkYXRlLmFmdGVyKHRoaXMuc2VsZWN0ZWREYXRlLmZyb20pKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUudG8gPSBkYXRlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLnRvID0gbnVsbDtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5mcm9tID0gZGF0ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZERhdGUuZnJvbSAmJiB0aGlzLnNlbGVjdGVkRGF0ZS50bykge1xyXG5cclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZUNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuXHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gICAgfVxyXG4gIH1cclxuICB2YWxpZGF0ZUlucHV0KGN1cnJlbnRWYWx1ZTogTmdiRGF0ZSB8IG51bGwsIGlucHV0OiBzdHJpbmcpOiBOZ2JEYXRlIHwgbnVsbCB7XHJcbiAgICBjb25zdCBwYXJzZWQgPSB0aGlzLmZvcm1hdHRlci5wYXJzZShpbnB1dCk7XHJcbiAgICByZXR1cm4gcGFyc2VkICYmIHRoaXMuY2FsZW5kYXIuaXNWYWxpZChOZ2JEYXRlLmZyb20ocGFyc2VkKSkgPyBOZ2JEYXRlLmZyb20ocGFyc2VkKSA6IGN1cnJlbnRWYWx1ZTtcclxuICB9XHJcbiAgb25CbHVyKCkge1xyXG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkRGF0ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZUNoYW5nZS5lbWl0KG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuICBvcGVuRGF0ZVBpY2tlcigpe1xyXG4gICAgaWYodGhpcy5zZWxlY3RlZERhdGUgPT1udWxsIHx8dGhpcy5zZWxlY3RlZERhdGU9PXVuZGVmaW5lZCl7XHJcbiAgICB0aGlzLmRhdGVQaWNrZXIudG9nZ2xlKCk7XHJcbiAgICB9ZWxzZXtcclxuICAgIHRoaXMuZGF0ZVBpY2tlci5jbG9zZSgpO1xyXG5cclxuICAgIH1cclxuICB9XHJcbiAgY2xlYXIoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHRoaXMucmFuZ2UgPyB7IGZyb206IHVuZGVmaW5lZCwgdG86IHVuZGVmaW5lZCB9IDogdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5kYXRlUGlja2VyLmNsb3NlKCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZUNoYW5nZS5lbWl0KG51bGwpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IHByb3ZpZGVQYXJlbnRGb3JtPlxyXG4gIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtuZ0NsYXNzXT1cInsnaGlkZGVuJzpyYW5nZSwgJ2lucHV0LWZpbGxlZCcgOiBzZWxlY3RlZERhdGV9XCIgW25nTW9kZWxdPVwiIXJhbmdlICYmIHNlbGVjdGVkRGF0ZVwiXHJcbiAgKG5nTW9kZWxDaGFuZ2UpPVwiIXJhbmdlICYmIHNlbGVjdGVkRGF0ZT0kZXZlbnRcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyID9wbGFjZUhvbGRlciA6ICdkL00veXl5eSdcIiBuZ2JEYXRlcGlja2VyIChjbGljayk9XCJkLnRvZ2dsZSgpXCIgKGtleXVwLmVudGVyKT1cIm9wZW5EYXRlUGlja2VyKClcIlxyXG4gICAgKGRhdGVTZWxlY3QpPVwib25EYXRlU2VsZWN0aW9uKCRldmVudClcIiAjZD1cIm5nYkRhdGVwaWNrZXJcIiBmaXJzdERheU9mV2Vlaz1cIjdcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgW2F1dG9DbG9zZV09XCJyYW5nZSA/ICdvdXRzaWRlJyA6IHRydWVcIiBbbWluRGF0ZV09XCJtaW5cIiBbbWF4RGF0ZV09XCJtYXhcIiBbcmVxdWlyZWRdPVwiaXNSZXF1aXJlZFwiXHJcbiAgICBbZGlzcGxheU1vbnRoc109XCJyYW5nZSA/IDIgOiAxXCIgW25hbWVdPVwibmFtZVwiIFtzdGFydERhdGVdPVwicmFuZ2UgPyBzZWxlY3RlZERhdGUuZnJvbSEgOiBzZWxlY3RlZERhdGUhXCIgW2RheVRlbXBsYXRlXT1cInRcIlxyXG4gICAgKGJsdXIpPVwib25CbHVyKClcIiBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAvPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJyYW5nZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcmFuZ2VyXCIgW25nQ2xhc3NdPVwieyd2ZXJ0aWNhbCc6dmVydGljYWx9XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxyXG4gICAgICAgIDxpbnB1dCAjZHBGcm9tRGF0ZSBjbGFzcz1cImZvcm0tY29udHJvbFwiIChjbGljayk9XCJkLnRvZ2dsZSgpXCIgIFtwbGFjZWhvbGRlcl09XCJwbGFjZUhvbGRlciA/cGxhY2VIb2xkZXIgOiAnZC9NL3l5eXknXCIgbmFtZT1cImRwRnJvbURhdGVcIlxyXG4gICAgICAgICAgW3ZhbHVlXT1cImZvcm1hdHRlci5mb3JtYXQoc2VsZWN0ZWREYXRlLmZyb20pXCIgKGlucHV0KT1cImZyb21EYXRlID0gdmFsaWRhdGVJbnB1dChzZWxlY3RlZERhdGUuZnJvbSwgZHBGcm9tRGF0ZS52YWx1ZSlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIChjbGljayk9XCJkLnRvZ2dsZSgpXCIgdHlwZT1cImJ1dHRvblwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLWNhbGVuZGFyLXdlZWsgaWNvblwiPjwvaT5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcmFuZ2VyXCIgW25nQ2xhc3NdPVwieyd2ZXJ0aWNhbCc6dmVydGljYWx9XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxyXG4gICAgICAgIDxpbnB1dCAjZHBUb0RhdGUgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiAoY2xpY2spPVwiZC50b2dnbGUoKVwiICBbcGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXIgP3BsYWNlSG9sZGVyIDogJ2QvTS95eXl5J1wiIG5hbWU9XCJkcFRvRGF0ZVwiXHJcbiAgICAgICAgICBbdmFsdWVdPVwiZm9ybWF0dGVyLmZvcm1hdChzZWxlY3RlZERhdGUudG8pXCIgKGlucHV0KT1cInNlbGVjdGVkRGF0ZS50byA9IHZhbGlkYXRlSW5wdXQoc2VsZWN0ZWREYXRlLnRvLCBkcFRvRGF0ZS52YWx1ZSlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIChjbGljayk9XCJkLnRvZ2dsZSgpXCIgdHlwZT1cImJ1dHRvblwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLWNhbGVuZGFyLXdlZWsgaWNvblwiPjwvaT5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuPG5nLXRlbXBsYXRlICN0IGxldC1kYXRlIGxldC1mb2N1c2VkPVwiZm9jdXNlZFwiPlxyXG4gIDxzcGFuIGNsYXNzPVwiY3VzdG9tLWRheVwiIFtjbGFzcy5mb2N1c2VkXT1cImZvY3VzZWQgIHx8IGlzVG9kYXkoZGF0ZSlcIiBbY2xhc3MucmFuZ2VdPVwiaXNSYW5nZShkYXRlKXx8IGlzU2VsZWN0ZWREYXRlKGRhdGUpXCJcclxuICAgIFtjbGFzcy5mYWRlZF09XCJpc0hvdmVyZWQoZGF0ZSkgfHwgKGlzSW5zaWRlKGRhdGUpICYmIHJhbmdlKVwiIChtb3VzZWVudGVyKT1cImhvdmVyZWREYXRlID0gZGF0ZVwiXHJcbiAgICAobW91c2VsZWF2ZSk9XCJob3ZlcmVkRGF0ZSA9IG51bGxcIj5cclxuICAgIHt7IGRhdGUuZGF5IH19XHJcbiAgPC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XHJcbiAgPGhyIGNsYXNzPVwibXktMFwiPlxyXG4gIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBidG4tc20gbS0yIGZsb2F0LXJpZ2h0XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJkLmNsb3NlKClcIiA+e3sgXCJCVVRUT05TLkNMT1NFXCIgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cclxuICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBtLTIgZmxvYXQtbGVmdFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2xlYXIoKVwiPnt7IFwiQlVUVE9OUy5DTEVBUlwiIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlqcmktZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2hpanJpLWdyZWdvcmlhbi1kYXRlcGlja2VyL2hpanJpLWdyZWdvcmlhbi1kYXRlcGlja2VyL2hpanJpLWRhdGVwaWNrZXIvaGlqcmktZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2hpanJpLWdyZWdvcmlhbi1kYXRlcGlja2VyL2hpanJpLWdyZWdvcmlhbi1kYXRlcGlja2VyL2hpanJpLWRhdGVwaWNrZXIvaGlqcmktZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsV0FBVyxFQUFFLDBCQUEwQixFQUFFLE9BQU8sRUFBMEIsaUJBQWlCLEVBQWlCLE1BQU0sNEJBQTRCLENBQUM7QUFDeEosT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0FBY3RELE1BQU0sT0FBTyx3QkFBd0I7SUFxQm5DLFlBQW1CLFFBQXFCLEVBQVMsU0FBaUM7UUFBL0QsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUFTLGNBQVMsR0FBVCxTQUFTLENBQXdCO1FBZnhFLHVCQUFrQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTVELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBSWpCLFVBQUssR0FBRyxLQUFLLENBQUM7UUFDZCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQzFCLGdCQUFXLEdBQW1CLElBQUksQ0FBQztRQU1qQyx1Q0FBdUM7SUFDekMsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFhO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUMzSyxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hJLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBSTtRQUNWLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFJO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFhO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2xMLENBQUM7SUFDRCxlQUFlLENBQUMsSUFBSTtRQUNsQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRTtnQkFDcEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2FBQy9CO2lCQUFNLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN4RyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUM7YUFDN0I7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDO2dCQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7YUFDL0I7WUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFO2dCQUVsRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUVqRDtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNqRDtJQUNILENBQUM7SUFDRCxhQUFhLENBQUMsWUFBNEIsRUFBRSxLQUFhO1FBQ3ZELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLE9BQU8sTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQ3JHLENBQUM7SUFDRCxNQUFNO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNwQztJQUNILENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBRyxJQUFJLENBQUMsWUFBWSxJQUFHLElBQUksSUFBRyxJQUFJLENBQUMsWUFBWSxJQUFFLFNBQVMsRUFBQztZQUMzRCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3hCO2FBQUk7WUFDTCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBRXZCO0lBQ0gsQ0FBQztJQUNELEtBQUs7UUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNoRixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQzs7c0hBcEZVLHdCQUF3QjswR0FBeEIsd0JBQXdCLDJUQVR4QjtRQUNULEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsMEJBQTBCLEVBQUU7UUFDOUQsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRTtLQUN0RCwySENWSCxnekdBd0ZBOzRGRHhFYSx3QkFBd0I7a0JBWnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsV0FBVyxFQUFFLG1DQUFtQztvQkFDaEQsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsMEJBQTBCLEVBQUU7d0JBQzlELEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUU7cUJBQ3REO29CQUNELFNBQVMsRUFBRTt3QkFDVCxvQ0FBb0M7cUJBQ3JDO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzt1SUFJaUIsVUFBVTtzQkFBekIsU0FBUzt1QkFBQyxHQUFHO2dCQUVMLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksa0JBQWtCO3NCQUEzQixNQUFNO2dCQUVFLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JDYWxlbmRhciwgTmdiQ2FsZW5kYXJJc2xhbWljVW1hbHF1cmEsIE5nYkRhdGUsIE5nYkRhdGVQYXJzZXJGb3JtYXR0ZXIsIE5nYkRhdGVwaWNrZXJJMThuLCBOZ2JEYXRlU3RydWN0IH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBJc2xhbWljSTE4biB9IGZyb20gJy4uLy4uL3V0aWxzL0lzbGFtaWNJMThuJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaGlqcmktZGF0ZS1waWNrZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9oaWpyaS1kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHsgcHJvdmlkZTogTmdiQ2FsZW5kYXIsIHVzZUNsYXNzOiBOZ2JDYWxlbmRhcklzbGFtaWNVbWFscXVyYSB9LFxyXG4gICAgeyBwcm92aWRlOiBOZ2JEYXRlcGlja2VySTE4biwgdXNlQ2xhc3M6IElzbGFtaWNJMThuIH1cclxuICBdLFxyXG4gIHN0eWxlVXJsczogW1xyXG4gICAgJy4vaGlqcmktZGF0ZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIaWpyaURhdGVwaWNrZXJDb21wb25lbnQge1xyXG5cclxuXHJcbiAgQFZpZXdDaGlsZCgnZCcpIGRhdGVQaWNrZXI6IGFueTtcclxuXHJcbiAgQElucHV0KCkgc2VsZWN0ZWREYXRlO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZERhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzUmVxdWlyZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG1pbjogTmdiRGF0ZVN0cnVjdDtcclxuICBASW5wdXQoKSBtYXg6IE5nYkRhdGVTdHJ1Y3Q7XHJcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHJhbmdlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdmVydGljYWwgPSBmYWxzZTtcclxuICBob3ZlcmVkRGF0ZTogTmdiRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gIGZyb21EYXRlO1xyXG4gIHRvRGF0ZTtcclxuICBASW5wdXQoKSBwbGFjZUhvbGRlcjogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY2FsZW5kYXI6IE5nYkNhbGVuZGFyLCBwdWJsaWMgZm9ybWF0dGVyOiBOZ2JEYXRlUGFyc2VyRm9ybWF0dGVyKSB7XHJcbiAgICAvLyB0aGlzLmZyb21EYXRlID0gY2FsZW5kYXIuZ2V0VG9kYXkoKTtcclxuICB9XHJcblxyXG4gIGlzSG92ZXJlZChkYXRlOiBOZ2JEYXRlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGUgJiYgKHRoaXMuc2VsZWN0ZWREYXRlLmZyb20gJiYgIXRoaXMuc2VsZWN0ZWREYXRlLnRvICYmIHRoaXMuaG92ZXJlZERhdGUgJiYgZGF0ZS5hZnRlcih0aGlzLnNlbGVjdGVkRGF0ZS5mcm9tKSAmJiBkYXRlLmJlZm9yZSh0aGlzLmhvdmVyZWREYXRlKSk7XHJcbiAgfVxyXG5cclxuICBpc0luc2lkZShkYXRlOiBOZ2JEYXRlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGUgJiYgKHRoaXMuc2VsZWN0ZWREYXRlLnRvICYmIGRhdGUuYWZ0ZXIodGhpcy5zZWxlY3RlZERhdGUuZnJvbSkgJiYgZGF0ZS5iZWZvcmUodGhpcy5zZWxlY3RlZERhdGUudG8pKTtcclxuICB9XHJcblxyXG4gIGlzVG9kYXkoZGF0ZSkge1xyXG4gICAgcmV0dXJuIGRhdGUuZXF1YWxzKHRoaXMuY2FsZW5kYXIuZ2V0VG9kYXkoKSk7XHJcbiAgfVxyXG5cclxuICBpc1NlbGVjdGVkRGF0ZShkYXRlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGUgJiYgIXRoaXMucmFuZ2UgJiYgZGF0ZS5lcXVhbHModGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gIH1cclxuICBcclxuICBpc1JhbmdlKGRhdGU6IE5nYkRhdGUpIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkRGF0ZSAmJiAoZGF0ZS5lcXVhbHModGhpcy5zZWxlY3RlZERhdGUuZnJvbSkgfHwgKHRoaXMuc2VsZWN0ZWREYXRlLnRvICYmIGRhdGUuZXF1YWxzKHRoaXMuc2VsZWN0ZWREYXRlLnRvKSkgfHwgdGhpcy5pc0luc2lkZShkYXRlKSB8fCB0aGlzLmlzSG92ZXJlZChkYXRlKSk7XHJcbiAgfVxyXG4gIG9uRGF0ZVNlbGVjdGlvbihkYXRlKSB7XHJcbiAgICBpZiAodGhpcy5yYW5nZSkge1xyXG4gICAgICBpZiAoIXRoaXMuc2VsZWN0ZWREYXRlLmZyb20gJiYgIXRoaXMuc2VsZWN0ZWREYXRlLnRvKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZnJvbSA9IGRhdGU7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZERhdGUuZnJvbSAmJiAhdGhpcy5zZWxlY3RlZERhdGUudG8gJiYgZGF0ZSAmJiBkYXRlLmFmdGVyKHRoaXMuc2VsZWN0ZWREYXRlLmZyb20pKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUudG8gPSBkYXRlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLnRvID0gbnVsbDtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5mcm9tID0gZGF0ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZERhdGUuZnJvbSAmJiB0aGlzLnNlbGVjdGVkRGF0ZS50bykge1xyXG5cclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZUNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuXHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gICAgfVxyXG4gIH1cclxuICB2YWxpZGF0ZUlucHV0KGN1cnJlbnRWYWx1ZTogTmdiRGF0ZSB8IG51bGwsIGlucHV0OiBzdHJpbmcpOiBOZ2JEYXRlIHwgbnVsbCB7XHJcbiAgICBjb25zdCBwYXJzZWQgPSB0aGlzLmZvcm1hdHRlci5wYXJzZShpbnB1dCk7XHJcbiAgICByZXR1cm4gcGFyc2VkICYmIHRoaXMuY2FsZW5kYXIuaXNWYWxpZChOZ2JEYXRlLmZyb20ocGFyc2VkKSkgPyBOZ2JEYXRlLmZyb20ocGFyc2VkKSA6IGN1cnJlbnRWYWx1ZTtcclxuICB9XHJcbiAgb25CbHVyKCkge1xyXG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkRGF0ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZUNoYW5nZS5lbWl0KG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuICBvcGVuRGF0ZVBpY2tlcigpe1xyXG4gICAgaWYodGhpcy5zZWxlY3RlZERhdGUgPT1udWxsIHx8dGhpcy5zZWxlY3RlZERhdGU9PXVuZGVmaW5lZCl7XHJcbiAgICB0aGlzLmRhdGVQaWNrZXIudG9nZ2xlKCk7XHJcbiAgICB9ZWxzZXtcclxuICAgIHRoaXMuZGF0ZVBpY2tlci5jbG9zZSgpO1xyXG5cclxuICAgIH1cclxuICB9XHJcbiAgY2xlYXIoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHRoaXMucmFuZ2UgPyB7IGZyb206IHVuZGVmaW5lZCwgdG86IHVuZGVmaW5lZCB9IDogdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5kYXRlUGlja2VyLmNsb3NlKCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZUNoYW5nZS5lbWl0KG51bGwpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IHByb3ZpZGVQYXJlbnRGb3JtPlxyXG5cdDxpbnB1dFxyXG5cdFx0Y2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG5cdFx0W25nQ2xhc3NdPVwieyBoaWRkZW46IHJhbmdlLCAnaW5wdXQtZmlsbGVkJzogc2VsZWN0ZWREYXRlIH1cIlxyXG5cdFx0W25nTW9kZWxdPVwiIXJhbmdlICYmIHNlbGVjdGVkRGF0ZVwiXHJcblx0XHQobmdNb2RlbENoYW5nZSk9XCIhcmFuZ2UgJiYgKHNlbGVjdGVkRGF0ZSA9ICRldmVudClcIlxyXG5cdFx0W3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyID8gcGxhY2VIb2xkZXIgOiAnZC9NL3l5eXknXCJcclxuXHRcdG5nYkRhdGVwaWNrZXJcclxuXHRcdChjbGljayk9XCJkLnRvZ2dsZSgpXCJcclxuXHRcdChrZXl1cC5lbnRlcik9XCJvcGVuRGF0ZVBpY2tlcigpXCJcclxuXHRcdChkYXRlU2VsZWN0KT1cIm9uRGF0ZVNlbGVjdGlvbigkZXZlbnQpXCJcclxuXHRcdCNkPVwibmdiRGF0ZXBpY2tlclwiXHJcblx0XHRmaXJzdERheU9mV2Vlaz1cIjdcIlxyXG5cdFx0W3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuXHRcdFthdXRvQ2xvc2VdPVwicmFuZ2UgPyAnb3V0c2lkZScgOiB0cnVlXCJcclxuXHRcdFttaW5EYXRlXT1cIm1pblwiXHJcblx0XHRbbWF4RGF0ZV09XCJtYXhcIlxyXG5cdFx0W3JlcXVpcmVkXT1cImlzUmVxdWlyZWRcIlxyXG5cdFx0W2Rpc3BsYXlNb250aHNdPVwicmFuZ2UgPyAyIDogMVwiXHJcblx0XHRbbmFtZV09XCJuYW1lXCJcclxuXHRcdFtzdGFydERhdGVdPVwicmFuZ2UgPyBzZWxlY3RlZERhdGUuZnJvbSEgOiBzZWxlY3RlZERhdGUhXCJcclxuXHRcdFtkYXlUZW1wbGF0ZV09XCJ0XCJcclxuXHRcdChibHVyKT1cIm9uQmx1cigpXCJcclxuXHRcdFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiXHJcblx0XHRbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG5cdFx0Y29udGFpbmVyPVwiYm9keVwiXHJcblx0Lz5cclxuXHQ8bmctY29udGFpbmVyICpuZ0lmPVwicmFuZ2VcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJhbmdlclwiIFtuZ0NsYXNzXT1cInsgdmVydGljYWw6IHZlcnRpY2FsIH1cIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XHJcblx0XHRcdFx0PGlucHV0XHJcblx0XHRcdFx0XHQjZHBGcm9tRGF0ZVxyXG5cdFx0XHRcdFx0Y2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG5cdFx0XHRcdFx0KGNsaWNrKT1cImQudG9nZ2xlKClcIlxyXG5cdFx0XHRcdFx0W3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyID8gcGxhY2VIb2xkZXIgOiAnZC9NL3l5eXknXCJcclxuXHRcdFx0XHRcdG5hbWU9XCJkcEZyb21EYXRlXCJcclxuXHRcdFx0XHRcdFt2YWx1ZV09XCJmb3JtYXR0ZXIuZm9ybWF0KHNlbGVjdGVkRGF0ZS5mcm9tKVwiXHJcblx0XHRcdFx0XHQoaW5wdXQpPVwiZnJvbURhdGUgPSB2YWxpZGF0ZUlucHV0KHNlbGVjdGVkRGF0ZS5mcm9tLCBkcEZyb21EYXRlLnZhbHVlKVwiXHJcblx0XHRcdFx0Lz5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XHJcblx0XHRcdFx0XHQ8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIChjbGljayk9XCJkLnRvZ2dsZSgpXCIgdHlwZT1cImJ1dHRvblwiPlxyXG5cdFx0XHRcdFx0XHQ8aSBjbGFzcz1cImJpIGJpLWNhbGVuZGFyLXdlZWsgaWNvblwiPjwvaT5cclxuXHRcdFx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcmFuZ2VyXCIgW25nQ2xhc3NdPVwieyB2ZXJ0aWNhbDogdmVydGljYWwgfVwiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cclxuXHRcdFx0XHQ8aW5wdXRcclxuXHRcdFx0XHRcdCNkcFRvRGF0ZVxyXG5cdFx0XHRcdFx0Y2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG5cdFx0XHRcdFx0KGNsaWNrKT1cImQudG9nZ2xlKClcIlxyXG5cdFx0XHRcdFx0W3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyID8gcGxhY2VIb2xkZXIgOiAnZC9NL3l5eXknXCJcclxuXHRcdFx0XHRcdG5hbWU9XCJkcFRvRGF0ZVwiXHJcblx0XHRcdFx0XHRbdmFsdWVdPVwiZm9ybWF0dGVyLmZvcm1hdChzZWxlY3RlZERhdGUudG8pXCJcclxuXHRcdFx0XHRcdChpbnB1dCk9XCJzZWxlY3RlZERhdGUudG8gPSB2YWxpZGF0ZUlucHV0KHNlbGVjdGVkRGF0ZS50bywgZHBUb0RhdGUudmFsdWUpXCJcclxuXHRcdFx0XHQvPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuXHRcdFx0XHRcdDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgKGNsaWNrKT1cImQudG9nZ2xlKClcIiB0eXBlPVwiYnV0dG9uXCI+XHJcblx0XHRcdFx0XHRcdDxpIGNsYXNzPVwiYmkgYmktY2FsZW5kYXItd2VlayBpY29uXCI+PC9pPlxyXG5cdFx0XHRcdFx0PC9idXR0b24+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9kaXY+XHJcblx0PC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG48bmctdGVtcGxhdGUgI3QgbGV0LWRhdGUgbGV0LWZvY3VzZWQ9XCJmb2N1c2VkXCI+XHJcblx0PHNwYW5cclxuXHRcdGNsYXNzPVwiY3VzdG9tLWRheVwiXHJcblx0XHRbY2xhc3MuZm9jdXNlZF09XCJmb2N1c2VkIHx8IGlzVG9kYXkoZGF0ZSlcIlxyXG5cdFx0W2NsYXNzLnJhbmdlXT1cImlzUmFuZ2UoZGF0ZSkgfHwgaXNTZWxlY3RlZERhdGUoZGF0ZSlcIlxyXG5cdFx0W2NsYXNzLmZhZGVkXT1cImlzSG92ZXJlZChkYXRlKSB8fCAoaXNJbnNpZGUoZGF0ZSkgJiYgcmFuZ2UpXCJcclxuXHRcdChtb3VzZWVudGVyKT1cImhvdmVyZWREYXRlID0gZGF0ZVwiXHJcblx0XHQobW91c2VsZWF2ZSk9XCJob3ZlcmVkRGF0ZSA9IG51bGxcIlxyXG5cdD5cclxuXHRcdHt7IGRhdGUuZGF5IH19XHJcblx0PC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cclxuXHQ8aHIgY2xhc3M9XCJteS0wXCIgLz5cclxuXHQ8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIG0tMiBmbG9hdC1yaWdodFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiZC5jbG9zZSgpXCI+XHJcblx0XHR7eyAnQlVUVE9OUy5DTE9TRScgfCB0cmFuc2xhdGUgfX1cclxuXHQ8L2J1dHRvbj5cclxuXHQ8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBtLTIgZmxvYXQtbGVmdFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2xlYXIoKVwiPlxyXG5cdFx0e3sgJ0JVVFRPTlMuQ0xFQVInIHwgdHJhbnNsYXRlIH19XHJcblx0PC9idXR0b24+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==